Draft: Event loader for Proteus-format data files
Event loader for Proteus-format ROOT trees, allowing data files for telescopes or detectors set up with an older analysis chain to be used in Corryvreckan relatively painlessly.
This module is very heavily based on EventLoaderEUDAQ
due to similarities in the formats, and comes with similar limitations:
- Event definition is done by
EventLoaderProteus
, which as I understand it will collide with the normal use ofMetronome
or similar. - How to best implement detectors without timing information is a bit unclear to me - in our setup we have a "local time" for each plane (i.e. time offset to trigger pulse) that we would like to use, but no global timekeeping in the TLU. This has led me to implement a
fake_timing
config option that allows events to be spaced by 1us (could be made configurable) to allow timing cuts to be made. At the moment the event window is also a magic number (motivated for us by the MALTA frame length)- On this note, I assume something using trigger tags in
Metronome
would be the recommended solution? I'd be happy for a bit more guidance on how to do this more properly.
- On this note, I assume something using trigger tags in
The Proteus tree structure is encoded in a header-only file: Structures.h
. In previous/similar projects, such structures have been exposed as a public interface for other projects to include (without requiring linking, hence header-only) to allow easy use of the tree definitions - would this also be desirable in Corry, and if so, how do I best set this up in the CMake setup?
Once we've figured out some of the above points, I will have another look over the code and try to improve code quality, remove commented lines, fix inconsistencies, etc. before this is ready to merge.