ATLAS Offline Software
Loading...
Searching...
No Matches
TrigGlobalEfficiencyAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 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
25#include <AsgTools/AsgTool.h>
26#include <AsgTools/ToolHandle.h>
29
30// Trigger includes
37
38namespace CP
39{
41 public:
42 TrigGlobalEfficiencyAlg(const std::string& name, ISvcLocator* pSvcLocator = nullptr);
43
44 virtual StatusCode initialize() final override;
45 virtual StatusCode execute() final override;
46 virtual StatusCode finalize() final override;
47
48 private:
50
52 Gaudi::Property<bool> m_isRun3Geo {this, "isRun3Geo", false, "use Run 3 settings for efficiency correction tools?"};
53
55 ToolHandle<Trig::IMatchingTool> m_trigMatchingTool;
56
59
61 Gaudi::Property<std::vector<std::string>> m_trigList_2015 {this, "triggers_2015", {}, "2015 trigger selection list"};
62 Gaudi::Property<std::vector<std::string>> m_trigList_2016 {this, "triggers_2016", {}, "2016 trigger selection list"};
63 Gaudi::Property<std::vector<std::string>> m_trigList_2017 {this, "triggers_2017", {}, "2017 trigger selection list"};
64 Gaudi::Property<std::vector<std::string>> m_trigList_2018 {this, "triggers_2018", {}, "2018 trigger selection list"};
65 Gaudi::Property<std::vector<std::string>> m_trigList_2022 {this, "triggers_2022", {}, "2022 trigger selection list"};
66 Gaudi::Property<std::vector<std::string>> m_trigList_2023 {this, "triggers_2023", {}, "2023 trigger selection list"};
67 Gaudi::Property<std::vector<std::string>> m_trigList_2024 {this, "triggers_2024", {}, "2024 trigger selection list"};
68 Gaudi::Property<std::vector<std::string>> m_trigList_2025 {this, "triggers_2025", {}, "2025 trigger selection list"};
69
71 Gaudi::Property<bool> m_noFilter {this, "noFilter", false, "whether to not apply an event filter"};
73 SysFilterReporterParams m_filterParams {this, "global trigger matching"};
74
76 Gaudi::Property<bool> m_doMatchingOnly {this, "doMatchingOnly", false, "whether to disable efficiency SFs and apply matching only"};
77
79 Gaudi::Property<std::vector<std::string>> m_separateMatchingTriggers {this, "separateMatchingTriggers", {}, "triggers to store individual trigger matching flags for"};
80 std::unordered_map<std::string, SysWriteDecorHandle<bool>> m_separateMatchingDecorators;
81 std::unordered_map<std::string, bool> m_separateMatchingFlags;
82
84 Gaudi::Property<std::string> m_separateMatchingDecorSuffix {this, "separateMatchingDecorationSuffix", "", "suffix for the separate chain matching decorators"};
85
88 this, "scaleFactorDecoration", "", "the decoration for the global trigger efficiency scale factor"
89 };
90
93 this, "matchingDecoration", "", "the decoration for the global trigger matching decision"
94 };
95
98 this, "electrons", "", "the electron container to use"
99 };
100
103 this, "electronSelection", "", "the selection on the input electrons"
104 };
105
108 this, "muons", "", "the muon container to use"
109 };
110
113 this, "muonSelection", "", "the selection on the input muons"
114 };
115
118 this, "photons", "", "the photon container to use"
119 };
120
123 this, "photonSelection", "", "the selection on the input photons"
124 };
125
128 this, "eventInfoContainer", "EventInfo", "the EventInfo container to decorate to"
129 };
130
131
135 std::vector<asg::AnaToolHandle<IAsgElectronEfficiencyCorrectionTool> > m_electronToolsFactory;
137 std::vector<asg::AnaToolHandle<IAsgPhotonEfficiencyCorrectionTool> > m_photonToolsFactory;
138
140 Gaudi::Property<std::string> m_electronID {this, "electronID", "", "electron ID WP"};
142 Gaudi::Property<std::string> m_electronIsol {this, "electronIsol", "", "electron Isolation WP"};
144 Gaudi::Property<std::string> m_photonIsol {this, "photonIsol", "", "photon Isolation WP"};
146 Gaudi::Property<std::string> m_muonID {this, "muonID", "", "muon ID/Quality WP"};
147
150 Gaudi::Property<int> m_numToys {this, "numberOfToys", 0, "number of toy experiments"};
151
152 }; // class TrigGlobalEfficiencyAlg
153} // namespace CP
154
155#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
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.