Migrate HltEfficiencyChecker tupling to FunTuple

Merged Ross John Hunter requested to merge hltefficiencychecker-funtuple into master

Goes with Rec!3415 (merged), Analysis!985 (merged) and Moore!2326 (merged).

HltEfficiencyChecker writes tuples in order to evaluate efficiencies and rates, which it currently does with legacy TupleTools and {MC}DecayTreeTuple. This MR migrates that tupling to use FunTuple.

Most of the functionality was already available with the existing FunTuple + functor framework. The two MCTupleToolTrueSimEffHLT{1,2} tuple tools that I wrote especially for HltEfficiencyChecker needed porting to algorithms, which is done in the Rec and Analysis MRs. I couldn't yet get the HLT1 version of this working (see #41), but I left the skeleton algorithm and functor there and will follow it up. I thought better to get the core HLT1 HltEfficiencyChecker functionality fixed sharpish, and fix the more niche case of HLT1 TrueSim effs later.

This MR importantly also fixes recent overestimation of HLT1 rates and efficiencies by restoring the control flow to NONLAZY_AND, at the expense of no Hlt1 True Sim efficiencies. This is being followed up in #41.

I've verified that HLT2 rates and efficiencies are unchanged under this migration, as they should be.

Will clear the way to the end of {MC}DecayTreeTuple.


  • Docs update (Moore MR)
  • Verify results don't change on a few test cases.
  • Finish off necessary refactor of analysis scripts to adapt to branch naming changes,
  • Check can run happily with NONLAZY
  • (here or follow-up) true-sim matching tools -> algorithms? (Rec & Analysis MRs)
  • Check on status of #36 when ready to merge. Doesn't fix that one unfortunately.


  • Smarter tests to ensure recent breaks dont occur again,
  • Refactor the analysis scripts to break up into smaller functions,
  • Retire MCDecayTreeTuple and TupleTools in MooreAnalysis...
  • ...after above; move HltEfficiencyChecker to DaVinci and obviate MooreAnalysis?

Closes #19 (closed) #7 (closed)

Edited by Ross John Hunter

Merge request reports