The issue is that HLT2 currently doesn't (and may not need to long-term) make
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
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. <- solution was to declare all the data dependencies at the initialisation step a la
ConfigurableDummy.cpp. Many thanks @nnolte and @sstahl.
This MR is needed if we are to show TOS efficiencies for HLT2 in the upgrade detector construction paper.
Goes with MooreAnalysis!46 (merged)