EPICS PVAccess server for the CAEN DT5202 SiPM DAQ.
The server watches an input directory for CAEN run-list files (for example RunXXX_list.txt), parses and accumulates trigger data, publishes PVs, and then moves processed files to an output directory.
- File-system watcher for incoming run-list files
- Per-run waveform statistics for board 0 channels:
b0LGMean,b0LGRMS,b0LGP2Pb0HGMean,b0HGRMS,b0HGP2P
- Run metadata PVs:
runrunStartTime
- Optional plugin support (default:
beamloss) for custom PVs and processing
Python 3.10+, epicsdev>=3.0.1, numpy, watchdog
Install from source in editable mode:
pip install -e .After installation, use the console script:
epicsdev_caen_dt5202 01Equivalent module form:
python -m epicsdev_caen_dt5202 01For instance=01, the default naming becomes:
- Input directory:
dataIn_01 - Output directory:
dataOut_01 - PV prefix:
dt5202_01:
-a, --accumulate Events to accumulate per run (default: 1e6)
-i, --inDir Input directory base name (suffix _<instance> is added)
-o, --outDir Output directory base name (suffix _<instance> is added)
-p, --plugin Plugin module name (default: beamloss)
-v, --verbose Increase verbosity (-vv for more)
instance Required instance id, e.g. 01
Example:
epicsdev_caen_dt5202 -i /data/janus/in -o /data/janus/out -p beamloss -vv 01This watches /data/janus/in_01, moves processed files to /data/janus/out_01, and publishes PVs with prefix dt5202_01:.
The default plugin epicsdev_caen_dt5202/beamloss.py computes additional beam-loss-related PVs from sensor groups (J3/J4/J5 layouts), including shuffled sensor arrays and polar projection data used by OPI views.
OPI files and scripts are in the opi/ directory.
Examples for Tandem Diagnostic Box plane J3:

