%CERTIFY%
Trigger Handler for PhotonAnalysisUtils (PAU)
Introduction
This short twiki describes the trigger tools added to the PhotonAnalysisUtils package. The basic functionality of the tool is to perform a match between offline photons and Trigger Objects at each level. Full functionality includes:
- Trigger Decision: for every event, the trigger decision is retrieved for all the signatures given in the joboptions and is stored in a variable.
- Reco/Trigger Matching : every reconstructed photon is matched to a Trigger object at each level. Discrimination between those matching an Active Trigger Element (RoI that pass the hypos) and those matching a Non-Active Element is also done. The matching is done using Trigger/TrigAnalysis/TrigObjectMatching package.
- Shower shapes at all trigger levels are included (i.e. hypos can be re-run)
Configuration details
- Release 15.3.0.1 + head version of PhotonAnalyisUtils
- Configuration inside the joboptions:
CBNT_AthenaAware.PAUanalysis.OnlyTriggerDecision= False #default is False - Set to truth if only the TriggerDecision is retrieved (No reco/Trigger Matching)
CBNT_AthenaAware.PAUanalysis.TriggerSignatures = ["2g10",2g20","g20","g20i","g105"] #default configuration
Meaning of the Variables
* ph_Y_X : Shower shapes at Y level
* ph_TriggersRun : vector of string .Store the trigger signatures exactly as they were defined in the joboptions.
*
PassL1/L2/EF : Vector of int (associated to the ph_TrigSignaturesAll). Has a 1 or 0 in the ith-position corresponding to the result of the TriggerDecision of the ith trigger signature (determined by the ith-position of the ph_TrigSignaturesAll).
* ph_L1/L2/EF_matchPass: Unsigned int. For every successful reco/trig matching an integer of x-bits is stored where each bit represent each of the trigger signatures (i.e. x = number of signatures/size of ph_TrigSignaturesAll). The x-bit is set to 1 if the trigger object failed the pass the hypos associated to the x-trigger signature at the given level.
By default the following signatures are included : ["2g10",2g20","g20","g20i","g105"]. So to see which trigger signatures were passed by a particular reconstructed photon , the procedure is:
//Define as many as trigger signatures were runned
#define t1 16 // 2^0, bit 0 - 2g10 signature
#define t2 8 // 2^1, bit 1 - 2g20 signature
#define t3 4 // 2^2, bit 2 - g20 signature
#define t4 2 // 2^3, bit 3 - g20i signature
#define t5 1 // 2^4, bit 4 - g105 signature
(tree->ph_matchPassEF->at(j) &t3)==0){ cout << "J-th Reco Photon pass the g20-EF_Hypos "<<endl;}
Note that if a double object signature is included this matching makes no sense. However, a bit is reserved, so it should be defined.
Major updates:
-- XabierAnduaga - 27 Jul 2009
%RESPONSIBLE% XabierAnduaga
%REVIEW%