ATLAS Offline Software
Loading...
Searching...
No Matches
TrigGlobalEfficiencyAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7#ifndef TRIGGER_ANALYSIS_ALGORITHMS__TRIG_GLOBAL_EFFICIENCY_ALG_H
8#define TRIGGER_ANALYSIS_ALGORITHMS__TRIG_GLOBAL_EFFICIENCY_ALG_H
9
10// Algorithm includes
18
19// Framework includes
24#include <AsgTools/AsgTool.h>
25#include <AsgTools/ToolHandle.h>
28
29// Trigger includes
36
37namespace CP
38{
40 public:
41 TrigGlobalEfficiencyAlg(const std::string& name, ISvcLocator* pSvcLocator = nullptr);
42
43 virtual StatusCode initialize() final override;
44 virtual StatusCode execute() final override;
45 virtual StatusCode finalize() final override;
46
47 private:
49
51 Gaudi::Property<bool> m_isRun3Geo {this, "isRun3Geo", false, "use Run 3 settings for efficiency correction tools?"};
52
54 ToolHandle<Trig::IMatchingTool> m_trigMatchingTool;
55
58
60 Gaudi::Property<std::vector<std::string>> m_trigList_2015 {this, "triggers_2015", {}, "2015 trigger selection list"};
61 Gaudi::Property<std::vector<std::string>> m_trigList_2016 {this, "triggers_2016", {}, "2016 trigger selection list"};
62 Gaudi::Property<std::vector<std::string>> m_trigList_2017 {this, "triggers_2017", {}, "2017 trigger selection list"};
63 Gaudi::Property<std::vector<std::string>> m_trigList_2018 {this, "triggers_2018", {}, "2018 trigger selection list"};
64 Gaudi::Property<std::vector<std::string>> m_trigList_2022 {this, "triggers_2022", {}, "2022 trigger selection list"};
65 Gaudi::Property<std::vector<std::string>> m_trigList_2023 {this, "triggers_2023", {}, "2023 trigger selection list"};
66 Gaudi::Property<std::vector<std::string>> m_trigList_2024 {this, "triggers_2024", {}, "2024 trigger selection list"};
67 Gaudi::Property<std::vector<std::string>> m_trigList_2025 {this, "triggers_2025", {}, "2025 trigger selection list"};
68
70 Gaudi::Property<bool> m_noFilter {this, "noFilter", false, "whether to not apply an event filter"};
72 SysFilterReporterParams m_filterParams {this, "global trigger matching"};
73
75 Gaudi::Property<bool> m_doMatchingOnly {this, "doMatchingOnly", false, "whether to disable efficiency SFs and apply matching only"};
76
78 Gaudi::Property<std::vector<std::string>> m_separateMatchingTriggers {this, "separateMatchingTriggers", {}, "triggers to store individual trigger matching flags for"};
79 std::unordered_map<std::string, SysWriteDecorHandle<bool>> m_separateMatchingDecorators;
80 std::unordered_map<std::string, bool> m_separateMatchingFlags;
81
83 Gaudi::Property<std::string> m_separateMatchingDecorSuffix {this, "separateMatchingDecorationSuffix", "", "suffix for the separate chain matching decorators"};
84
87 this, "scaleFactorDecoration", "", "the decoration for the global trigger efficiency scale factor"
88 };
89
92 this, "matchingDecoration", "", "the decoration for the global trigger matching decision"
93 };
94
97 this, "electrons", "", "the electron container to use"
98 };
99
102 this, "electronSelection", "", "the selection on the input electrons"
103 };
104
107 this, "muons", "", "the muon container to use"
108 };
109
112 this, "muonSelection", "", "the selection on the input muons"
113 };
114
117 this, "photons", "", "the photon container to use"
118 };
119
122 this, "photonSelection", "", "the selection on the input photons"
123 };
124
127 this, "eventInfoContainer", "EventInfo", "the EventInfo container to decorate to"
128 };
129
130
134 std::vector<asg::AnaToolHandle<IAsgElectronEfficiencyCorrectionTool> > m_electronToolsFactory;
136 std::vector<asg::AnaToolHandle<IAsgPhotonEfficiencyCorrectionTool> > m_photonToolsFactory;
137
139 Gaudi::Property<std::string> m_campaign {this, "campaign", "", "the MC campaign to get the scale factors for"};
141 Gaudi::Property<std::string> m_electronID {this, "electronID", "", "electron ID WP"};
143 Gaudi::Property<std::string> m_electronIsol {this, "electronIsol", "", "electron Isolation WP"};
145 Gaudi::Property<std::string> m_photonIsol {this, "photonIsol", "", "photon Isolation WP"};
147 Gaudi::Property<std::string> m_muonID {this, "muonID", "", "muon ID/Quality WP"};
148
151 Gaudi::Property<int> m_numToys {this, "numberOfToys", 0, "number of toy experiments"};
152
153 }; // class TrigGlobalEfficiencyAlg
154} // namespace CP
155
156#endif /* TRIGGER_ANALYSIS_ALGORITHMS__TRIG_GLOBAL_EFFICIENCY_ALG_H */
the properties and persistent data for systematics aware filter reporters
a class managing the property to configure the list of systematics to process
a data handle for reading systematics varied input data
a data handle for reading systematically varied selection properties from objects
a data handle for reading systematics varied input data
asg::AnaToolHandle< ITrigGlobalEfficiencyCorrectionTool > m_tgecTool
Trigger Global Efficiency Correction Tool handle.
Gaudi::Property< std::vector< std::string > > m_trigList_2024
Gaudi::Property< std::string > m_campaign
MC campaign.
SysReadHandle< xAOD::EventInfo > m_eventInfoHandle
EventInfo to decorate.
Gaudi::Property< std::vector< std::string > > m_trigList_2018
virtual StatusCode finalize() final override
Gaudi::Property< std::string > m_electronIsol
electron Isolation
Gaudi::Property< std::vector< std::string > > m_trigList_2023
Gaudi::Property< std::string > m_separateMatchingDecorSuffix
separate chain matching decorator suffix
std::unordered_map< std::string, SysWriteDecorHandle< bool > > m_separateMatchingDecorators
Gaudi::Property< std::vector< std::string > > m_separateMatchingTriggers
store separate trigger matching flags for each trigger
Gaudi::Property< std::string > m_electronID
electron ID
ToolHandle< Trig::IMatchingTool > m_trigMatchingTool
trigger matching tool
Gaudi::Property< std::string > m_photonIsol
photon Isolation
std::vector< asg::AnaToolHandle< IAsgPhotonEfficiencyCorrectionTool > > m_photonToolsFactory
RAII on-the-fly tool creation for photons.
SysWriteDecorHandle< char > m_matchingDecoration
decoration of the global trigger matching flag
SysReadSelectionHandle m_muonSelection
input muon selection
Gaudi::Property< std::vector< std::string > > m_trigList_2017
Gaudi::Property< bool > m_noFilter
whether to not apply an event filter
Gaudi::Property< std::string > m_muonID
muon quality
std::vector< asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > > m_electronToolsFactory
RAII on-the-fly tool creation for electrons.
Gaudi::Property< int > m_numToys
number of toy experiments to run to estimate the trigger combination efficiency, instead of using an ...
SysReadSelectionHandle m_electronSelection
input electron selection
Gaudi::Property< std::vector< std::string > > m_trigList_2015
list of triggers or trigger chains
Gaudi::Property< bool > m_doMatchingOnly
whether to only run the global trigger matching, and not compute efficiency SFs
SysWriteDecorHandle< float > m_scaleFactorDecoration
decoration of the global trigger SF
TrigGlobalEfficiencyAlg(const std::string &name, ISvcLocator *pSvcLocator=nullptr)
Gaudi::Property< std::vector< std::string > > m_trigList_2022
virtual StatusCode initialize() final override
asg::AnaToolHandle< IMuonTriggerScaleFactors > m_muonTool
the muon trigger SF handle
SysReadSelectionHandle m_photonSelection
input photon selection
Gaudi::Property< std::vector< std::string > > m_trigList_2016
Gaudi::Property< std::vector< std::string > > m_trigList_2025
std::unordered_map< std::string, bool > m_separateMatchingFlags
SysReadHandle< xAOD::PhotonContainer > m_photonsHandle
input photon collection
virtual StatusCode execute() final override
SysReadHandle< xAOD::ElectronContainer > m_electronsHandle
input electron collection
SysFilterReporterParams m_filterParams
the filter reporter params
Gaudi::Property< bool > m_isRun3Geo
whether to use Run 3 settings
SysReadHandle< xAOD::MuonContainer > m_muonsHandle
input muon collection
the (new) base class for EventLoop algorithms
a modified tool handle that allows its owner to configure new tools from the C++ side
Select isolated Photons, Electrons and Muons.