Skip to content

WIP: Put `MCTupleToolTOS` into the HltEfficiencyChecker control flow to give TOS efficiencies

Ross John Hunter requested to merge rjhunter-add-TOS-tool into master

FYI @rmatev @sstahl @mvesteri

In Analysis!604 (merged) I've been building (for some time!) a new MCTupleTool which emulates TOS-like matching by checking that the trigger candidate shares sufficient LHCbIDs with the true MCParticle. The tool is described more thoroughly there.

Here we add the ability to work out TOS efficiencies in HltEfficiencyChecker, using the TOS variables written to the tuple by that tool. For now you can access this via the --lines arg of hlt_line_efficiencies.py (e.g. --lines=Jpsi_Hlt1TwoTrackMVALineDecisionTOS). In the future we should think a bit about how users of the tool might like to see TOS efficiencies and add more options, and then of course add this to the documentation.

Note that this might require you to ask for branches in the annotated decay descriptor that you didn't ask for before. E.g. in B_s \rightarrow J/\psi \phi you previously just needed to put in a name for the parent particle and the final state particles in order to define denominators. This used to look like:

decay = ("[${B_s0}B_s0 => "
         "( J/psi(1S) => ${muplus}mu+ ${muminus}mu- ) "
         "( phi(1020) => ${Kplus}K+ ${Kminus}K- )]CC")

which still works fine. However, if you wanted to get the Jpsi_Hlt1TwoTrackMVALineDecisionTOS efficiency (same for the phi), you'd need branches for these particles, e.g.

decay = ("[${B_s0}B_s0 => "
         "${Jpsi}( J/psi(1S) => ${muplus}mu+ ${muminus}mu- ) "
         "${phi}( phi(1020) => ${Kplus}K+ ${Kminus}K- )]CC")

TODO:

  • Make sure I didn't break any tests
  • Make sure this works for Hlt2, and Allen's Hlt1.
  • Tidy up (this is an old branch!)

Requires Analysis!604 (merged).

Edited by Ross John Hunter

Merge request reports