How jeffersonlab/japan-moller works
jaPAN is a C++ parity-analysis application for CODA experiment data, with detector/beam monitoring, ROOT output, and online feedback and plotting tools. The documented batch workflow is to generate mock data and then run qwparity to analyze it and produce a ROOT file. The graph captures that workflow and the major subsystems indicated by the tree; most runtime wiring is not shown in the sampled source, so uncertain call relationships are omitted.
Main entry points: QwParity.cc Parity analyzer · QwDataHandlerArray.cc Data handlers · VEventDecoder.cc Event decoders · THaCodaFile.h CODA input
Components 23
Event analysis
- CODA input
evio/include/THaCodaFile.h - ET online input
evio/include/THaEtClient.h - Event decoders
Analysis/src/VEventDecoder.cc - Event buffer
Analysis/src/QwEventBuffer.cc - Detector subsystems
Analysis/src/QwSubsystemArray.cc - Hardware channels
Analysis/src/VQwHardwareChannel.cc
Parity processing
- Mock generator
Parity/main/QwMockDataGenerator.cc - Parity analyzer
Parity/main/QwParity.cc - Helicity decoding
Parity/src/QwHelicityDecoder.cc - Parity detectors
Parity/src/QwDetectorArray.cc - Data handlers
Parity/src/QwDataHandlerArray.cc
Results and monitoring
- ROOT output
Analysis/src/QwRootFile.cc - Parity database
Parity/src/QwParityDB.cc - Prompt summary
Analysis/src/QwPromptSummary.cc - Alarm monitoring
Parity/src/QwAlarmHandler.cc
Online tools
- Helicity feedback
Feedback/src/QwHelicityCorrelatedFeedback.cc - EPICS control
Feedback/src/QwEPICSControl.cc - Online plotting
panguin/panguin.cc - Analysis macros
panguin/macros/BeamMod/realtimeBmodAna.C
Other components
- Analyst
- Mock data
- ROOT data
- CODA / ET system
Connections 22
- Analyst → Mock generator: runs
- Mock generator → Mock data: writes
- Analyst → Parity analyzer: runs
- Mock data → Parity analyzer: analyzes
- Parity analyzer → ROOT data: produces
- CODA / ET system → CODA input: supplies events
- CODA / ET system → ET online input: supplies events
- CODA input → Event decoders: provides events
- ET online input → Event decoders: provides events
- Event decoders → Event buffer: decodes into
- Event buffer → Detector subsystems: feeds events
- Detector subsystems → Hardware channels: uses channels
- Parity analyzer → Helicity decoding: analyzes helicity
- Parity analyzer → Parity detectors: processes detectors
- Parity analyzer → Data handlers: manages handlers
- Data handlers → ROOT output: fills trees
- Data handlers → Parity database: fills database
- Data handlers → Prompt summary: writes summary
- Data handlers → Alarm monitoring: provides monitored data
- Helicity feedback → EPICS control: controls via
- Online plotting → Analysis macros: runs plots
- Analysis macros → ROOT data: plots data