Artdaq Work List¶
This list was compiled on Jan 31, 2012. Please update the list as elements are finished, or as work items are changed.
We imagine several phases of development, but have only written about Phase 1.
- DS50 reading and writing library. This is code to be used by both the
DS50EventReaderand by the "detector" code. It should include reading of DS50 data files, writing of DS50 data files, and random generation of properly-formatted DS50 data, and could include a variety of configurable data distributions.
RawEventneeds to be modified to hold onto
unique_ptr, to avoid copying bytes. The bytes must be copied out of the buffers managed by
RHandles, but further copying should be avoided.
RawInputclass needs to adapt to the new
RawEventinterface. The first version will have to copy the bytes out of the
unique_ptr<Fragment>, because the
Eventinterface is expecting an
- The Huffman compression module needs to be written, using the existing algorithm implementation.
- An analyzer that calculates and appropriately records the size of the input
Fragmentobjects along with the size of the resulting
CompressedFragmentobjects is needed. The output can be as simple as a text file to be analyzed with R.
- The RLE module needs to be written.
- The management of algorithm table files need to be improved. Specifying the name of the file in the FHiCL configuration, and expecting the file to be in the current working directory, seems sufficient for now.
Fragmentshould be changed from a typedef for
vector<some-integer-type>to a class which contains such a vector, and which makes sure the resulting
Fragmentsatisfies the require invariants (e.g. embedded run and event and board numbers)
- The compression test programs currently do not work on first run; a second run succeeds.
- We need a test that runs the DS50 "driver" program and makes sure the output is as expected.
- Untested elements in the system need to be identified and tested.
- Analysis scripts are needed to extract performance results from the output data:
- review what is already in place
- determine what plots we want to show and what statistics and figures of merit to report
- perform a preliminary analysis to determine how long it takes the system to achieve steady-state performance conditions