EventLoaderEUDAQ2 repeating work
If I missed this as part of another issue, feel free to delete:
In EventLoaderEUDAQ2, much of the time analyzing data (in my case for ATLAS ITk Strips, but should be the same everywhere) seems to be spent in repeated filereading and stdEvent conversion - Each EventLoaderEUDAQ2 instance does this for all subevent types, so effort is repeated a number of times, equivalent to the number of subevent types in the raw file loaded. There should be a way for the first EventLoaderEUDAQ2 to generate a FileReader Object on the clipboard (per raw file that is required, std::map from full path to FileReader object?) and to store (e.g.) a std::deque of full StdEvents on the clipboard (again with a map?). At this point, every EventLoader Instance can check for existence of the corresponding deque and the filereader. Where not enough events are in the queue (find the right plane type), any EventLoaderEUDAQ2 instance on that raw file could use the common filereader object to read more data in and convert to StdEvent Format to the be added to the queue on the clipboard.
Does that sound like a sensible approach? Other suggestions? For my case I currently spend most of the time (when analysing) in this module, and that could be reduced by about a factor NDevices loaded from EUDAQ2 format (10-ish in my case). Splitting files is an approach, but makes config files more obscure.
Even more efficient: There should be a way to check for generated plane IDs without actually generating them - however, that would need an update to the way RawEvents work in eudaq me thinks.