Skip to content

Modernize MCDecayTreeTuple, TupleToolTrigger and TupleToolEventInfo

Ross John Hunter requested to merge tuple-tool-data-handles into master

FYI @rmatev @sstahl @mvesteri

For the HltEfficiencyChecker tool (prints out/plots some efficiencies for the new HLT, see 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 and TupleToolEventInfo now use data handles to declare their data dependencies. Drop L0 code. They also look for trigger dec reports with strings ending in Line rather than Decision, as they are written these days.
  • MCTupleToolKinematic also adds the eta variable to tuples - this is useful so you can ask for an efficiency if all the children of a decay fall within the eta acceptance of LHCb.
  • MCDecayTreeTuple declares its tools in the initialise 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 the initializeStufferTools method of Phys/DecayTreeTupleBase/DecayTreeTupleBase/DecayTreeTupleBaseTemplates.icpp and could possibly be improved.


  • The fact that the dec reports have the Line suffix rather than the Decision as in Run 2 probably shouldn't happen, and so perhaps this should instead be fixed in Moore, 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 Depends on LHCb!2319 (merged), LHCb!2373 (merged), Phys!662 (merged)

Edited by Rosen Matev

Merge request reports