Skip to content

functional SelReports

Niklas Stefan Nolte requested to merge NN_selreps into master

moved from Hlt, see Hlt!626 (closed), description copied below


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.

screenshot

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)

Moore#55 (closed)

Edited by Niklas Stefan Nolte

Merge request reports