7#ifndef TRIGGER_ANALYSIS_ALGORITHMS__TRIG_GLOBAL_EFFICIENCY_ALG_H
8#define TRIGGER_ANALYSIS_ALGORITHMS__TRIG_GLOBAL_EFFICIENCY_ALG_H
44 virtual StatusCode
initialize()
final override;
45 virtual StatusCode
execute()
final override;
46 virtual StatusCode
finalize()
final override;
52 Gaudi::Property<bool>
m_isRun3Geo {
this,
"isRun3Geo",
false,
"use Run 3 settings for efficiency correction tools?"};
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"};
71 Gaudi::Property<bool>
m_noFilter {
this,
"noFilter",
false,
"whether to not apply an event filter"};
76 Gaudi::Property<bool>
m_doMatchingOnly {
this,
"doMatchingOnly",
false,
"whether to disable efficiency SFs and apply matching only"};
79 Gaudi::Property<std::vector<std::string>>
m_separateMatchingTriggers {
this,
"separateMatchingTriggers", {},
"triggers to store individual trigger matching flags for"};
84 Gaudi::Property<std::string>
m_separateMatchingDecorSuffix {
this,
"separateMatchingDecorationSuffix",
"",
"suffix for the separate chain matching decorators"};
88 this,
"scaleFactorDecoration",
"",
"the decoration for the global trigger efficiency scale factor"
93 this,
"matchingDecoration",
"",
"the decoration for the global trigger matching decision"
98 this,
"electrons",
"",
"the electron container to use"
103 this,
"electronSelection",
"",
"the selection on the input electrons"
108 this,
"muons",
"",
"the muon container to use"
113 this,
"muonSelection",
"",
"the selection on the input muons"
118 this,
"photons",
"",
"the photon container to use"
123 this,
"photonSelection",
"",
"the selection on the input photons"
128 this,
"eventInfoContainer",
"EventInfo",
"the EventInfo container to decorate to"
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"};
150 Gaudi::Property<int>
m_numToys {
this,
"numberOfToys", 0,
"number of toy experiments"};
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
SysListHandle m_systematicsList
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
Select isolated Photons, Electrons and Muons.