WIP functional sel reports
the first iteration of a MT/functional SelReportsMaker.
The main difference is that with this implementation, one needs one SelReportsMaker
per container of stuff to write down.
For reference, i've also adjusted the HltSelReportsMaker to work (single threaded), which can take an arbitrary amount of arbitrary input, but IMHO its uglier than having one maker per output and then merge the (type erased) selreports in a later stage. We can undo these changes if wanted, i do not have a preference.
supporting LHCb::Track and LHCb::RecVertex. Templated, so to add a new type, one mainly needs to provide another entry in the rank
function and write another overload for the infoToSave
and store_
function.
This code was produced by stripping down the HltSelReportsMaker
and removing non re-entrant behaviour (making it functional).
I leave the task of optimization to the interested developer, but it does not seem to take excessively long even in this very unoptimized version.
I have attached a timing plot where the twotrack and onetrack mva are run together with the decreports and selreports makers.
other than that, there are some things that were not compiling with current master, so i needed to change/remove them, mainly AlgContext locks
depends on LHCb!2088 (merged) and Rec!1672 (merged)