Add luminosity counter summary algorithms
This adds two algorithms for creating LHCb::HltLumiSummary
objects (and a test that checks they work):
-
LumiCounterFromContainer<T>
: Takes a single container (typeT
) as input and creates a summary object filled with thesize()
of its input. -
LumiCounterMerger
: Takes a vector of summaries as input and outputs a single, merged summary object.
These replace most of the functionality of the old LumiCount*
family of algorithms (found under Hlt/Luminosity
in the Hlt project), which ran one after another, mutating the same initial summary object.
Used in Moore!281 (merged).
Discussion points
The implementation is fairly straightforward. Comments are welcome but I don't think we need to optimise too much (these run in HLT1, but in one event per thousand). A couple of points:
- Whether the summary object is useful as-is. It's basically a wrapper around a map, and we don't really need the wrapper layer anymore, but we anyhow persist this in more efficient way. Not high priority IMO.
- What other quantities we might want to measure, and what implementations we'll need to do that. One example is the number of hits in a given subdetector (RICH, ECAL). This MR can proceed in parallel, though.
Edited by Alex Pearce