WIP: Add ability to run over HLT2 lines

Ross John Hunter requested to merge rjhunter-hlt2 into master

This MR adds the ability for the HltEfficiencyChecker to run over HLT2 lines, principally by using a --level argument. This then selects one of hlt1_runtrigger_maketuple.py and hlt2_runtrigger_maketuple.py which have the corresponding configurations for Moore. The two analysis scripts for calculating rates and efficiencies have been renamed:

hlt1_calculate_rates.py -> hlt_calculate_rates.py

hlt1_line_efficiencies.py -> hlt_line_efficiencies.py

And updated to handle HLT1 and HLT2 lines.

The main problem to solve is the large number of lines and signal samples people will want to use. On the former, simply asking for all HLT2 lines would be inefficient and would give too many results to the user. On the latter point, we can't just use the testfile database anymore.


  • Add ability to select a group of lines at the user interface.
  • Figure out how users can effectively configure Moore for their input files.
  • Move around the logic a bit so that a line author can get rates and efficiencies with one call - currently you'd have to call the tool twice to do this (one with the --rates flag, one without).
  • Need a way for the tool to behind-the-scenes work out what the parents, children are, as keeping a dictionary of them for each decay is now untenable with so many possible signals. Might be time to move to Loki functors (#7 (closed))...
  • ...

Requires Analysis!618 (merged)

Closes #1 (closed)

FYI @rmatev @sstahl @mvesteri @apearce

Edited by Ross John Hunter

Merge request reports