Overview
Before an EpixHR camera becomes available in hardware form, an emulator in SRCF is to be set up to develop and test the operation of all the components involved in the DAQ for this device. This set-up would consist of:
- 10 or 20 DRP nodes configured with the DrpTDet KCU firmware
- The goal is to have each DRP handle 1 or 2 tiles/panels of the camera
The tdetsim
sim_length
parameter configured to produce a similar data volume as the real camera- Substituting real EpixHR2x2 data for the tdetsim data in the DRP's
event()
method - A DrpPython script to compress event data into 'FEX' contributions, while retaining a prescaled amount of the original 'raw' data
Method
For the initial step, the DRP code was modified to support an epixhremu
detector. This detector requires the TDetSim firmware in the KCU. We plan for 1 or 2 camera tiles/panels to be supported on 1 or 2 lanes for the segment level DRP. An EpixHRemu C++ class was created to dummy up the serial number and data for the detector.
Serial number
The serial number is of the form epixhremu_00cafe0000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000
, where the 4 zeros after 'cafe
' are replaced with the segment number, i.e. ...00cafe0000...
through ...00cafe0013...
.
Data
The data passed downstream is provided by an XTC file of existing data. This file is specified on the DRP command line through an xtcfile
keyword argument. In case the file contains some junk events, an l1aOffset
kwarg can be used to skip past the first N events in the file. The substitute data is further indexed by the segment number, multiplied by the number of lanes in use, to avoid passing the same data for each panel.
The data files we currently (9/1/23) have available were recorded during the EpixHR2x2 testing. This detector had only one panel sort-of working, which was handled by ASIC 0. A file that had some somewhat varying data in it was rixx1003721-r0106-s010-c000.xtc2. For the emulated data (which is either 4 or 8 panels, depending on the lane mask), each panel is given ASIC 0 data from a different event. Thus all emulated events have identical data.