Class TrigMatcher

Inheritance Relationships

Base Type

Class Documentation

class TrigMatcher : public xAH::Algorithm

A wrapper of the trigger matching tool in the ASG TriggerMatchingTool package.

The idea behind this algorithm is to decorate inputs from upstream xAODAnaHelpers algorithms based on user’s configuration, handling also the case where systematics on the input physics objects are taken into account. The list of trigger chains that contain a trigger object matched to a reconstructed object are saved in the trigMatched decoration as :cpp:any:`std::vector<std::string>.

Here follows a usage example for photon matching.

Assuming the typical xAODAnaHelpers analysis configuration through xAH_config, the analysis workflow could look like the following:

c = xAH_config()
# ...
c.algorithm("PhotonSelector", PhotonSelectorDict)
# ...
c.algorithm("TrigMatcher", TrigMatcherDict)
# ...

where each algorithm has the following I/O systematics configuration (via python dictionaries):

 PhotonSelectorDict = {
     # ...
     "m_inputAlgo" : "PhotonCalibrator_Syst",
 "m_outContainerName" : "PhotonSelector_Out",
     "m_outputAlgo" : "PhotonSelector_Syst",
     # ...
}

TrigMatcherDict = {
     # ...
 "m_inContainerName" : "PhotonSelector_Out",
 "m_systNames" : "PhotonSelector_Syst",  # leave empty when not considering systematics
 "m_trigChains" : "HLT_g120_loose,HLT_g140_loose"
     # ...
}

In this way the trigger matching algorithm will be able to correctly work out all the combinatorics, assigning decoration to input objects in each input systematics combination to be subsequently used downstream according to the user’s needs.

Public Functions

TrigMatcher()

/* contains all the HLT trigger chains tokens extracted from m_trigChains */

~TrigMatcher()
virtual EL::StatusCode setupJob(EL::Job &job)
virtual EL::StatusCode initialize()
virtual EL::StatusCode execute()
EL::StatusCode executeMatching(const xAOD::IParticleContainer *inParticles)

Public Members

std::string m_inContainerName = ""

Input container name.

std::string m_systNames = ""

Input systematics list container name.

std::string m_trigChains = ""

Comma-separated list of trigger chains.

A comma-separated string w/ all the HLT trigger chains for which you want to perform the matching. If left empty (as it is by default), no trigger matching will be attempted at all