Make MCTupleToolTOS compatible with HLT2

Ross John Hunter requested to merge rjhunter-TOS-for-HLT2 into master

FYI @rmatev @sstahl @mvesteri

The issue is that HLT2 currently doesn't (and may not need to long-term) make SelReports, which MCTupleToolTOS needs in order to extract the LHCbIDs of the reconstructed candidate and then match them to the true candidate.

So for HLT2 we instead read LHCbIDs from persisted candidates directly rather than SelReports. Since this is a different data dependency to HLT1, this requires splitting the tool into a MCTupleToolTOSHLT1 and MCTupleToolTOSHLT2 for the differing dependencies. A lot of the code for each is inherited from the parent MCTupleToolTOSBase class to save code duplication.


  • Actually need an explicit data dependency for each trigger line's persisted candidates, but seemingly can't pass around a vector of DataObjectReadHandles. <- solution was to declare all the data dependencies at the initialisation step a la ConfigurableDummy.cpp. Many thanks @nnolte and @sstahl.


  • Cleanup

This MR is needed if we are to show TOS efficiencies for HLT2 in the upgrade detector construction paper.

Goes with MooreAnalysis!46 (merged)

Edited by Ross John Hunter

Merge request reports