Modernize MCDecayTreeTuple, TupleToolTrigger and TupleToolEventInfo
For the HltEfficiencyChecker
tool (prints out/plots some efficiencies for the new HLT, see https://gitlab.cern.ch/lhcb/mooreanalysis/merge_requests/1) I use some tuple tools to write trigger decisions and basic kinematic information to a tuple. To make these work with the new scheduler so they can be added to the control flow following Moore
, some modernisation/addition is needed:
-
TupleToolTrigger
andTupleToolEventInfo
now use data handles to declare their data dependencies. Drop L0 code.They also look for trigger dec reports with strings ending inLine
rather thanDecision
, as they are written these days. -
MCTupleToolKinematic
also adds theeta
variable to tuples - this is useful so you can ask for an efficiency if all the children of a decay fall within theeta
acceptance of LHCb. -
MCDecayTreeTuple
declares its tools in theinitialise
method, so their data dependencies are made explicit. Beforehand tools were only instantiated when they are first asked for. This code is pretty much copied from theinitializeStufferTools
method ofPhys/DecayTreeTupleBase/DecayTreeTupleBase/DecayTreeTupleBaseTemplates.icpp
and could possibly be improved.
TODO:
-
The fact that the dec reports have the Line
suffix rather than theDecision
as in Run 2 probably shouldn't happen, and so perhaps this should instead be fixed inMoore
, rather than changing what the tuple tool looks for here. -
Fix formatting? -
Update the treatment of HLT2 as well as HLT1 in TupleToolTrigger
, and remove L0? POSTPONE HLT2 TO EXTENSION OF TOOL TO HLT2 -
Improve the initialisation of the tools in MCDecayTreeTuple
?
A dependency of https://gitlab.cern.ch/lhcb/mooreanalysis/merge_requests/1. Depends on LHCb!2319 (merged), LHCb!2373 (merged), Phys!662 (merged)
Edited by Rosen Matev