ATLAS Offline Software
Loading...
Searching...
No Matches
MetMakerAlg.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
8
9#ifndef MET_ANALYSIS_ALGORITHMS__MET_MAKER_ALG_H
10#define MET_ANALYSIS_ALGORITHMS__MET_MAKER_ALG_H
11
26
27namespace CP
28{
38
39 class MetMakerAlg final : public EL::AnaAlgorithm
40 {
42 public:
44 StatusCode initialize () override;
45 StatusCode execute (const EventContext& ctx) override;
46
47
48
50 private:
51 ToolHandle<IMETMaker> m_makerTool {this, "makerTool", "METMaker", "the METMaker tool we apply"};
52
54 private:
55 ToolHandle<IMETSystematicsTool> m_systematicsTool {this, "systematicsTool", "", "the systematics tool we apply"};
56
58 private:
59 SG::ReadHandleKey<xAOD::MissingETContainer> m_metCoreKey {this, "metCore", "", "the name of the core MissingETContainer"};
60
62 private:
63 SG::ReadHandleKey<xAOD::MissingETAssociationMap> m_metAssociationKey {this, "metAssociation", "", "the name of the MissingETAssociationMap"};
64
66 private:
68
70 private:
72 this, "electrons", "", "the electron container to use" };
73
75 private:
77 this, "electronsSelection", "", "the selection on the input electrons" };
78
80 private:
81 Gaudi::Property<std::string> m_electronsKey {this, "electronsKey", "RefEle", "the key for the electrons"};
82
84 private:
86 this, "photons", "", "the photon container to use" };
87
89 private:
91 this, "photonsSelection", "", "the selection on the input photons" };
92
94 private:
95 Gaudi::Property<std::string> m_photonsKey {this, "photonsKey", "RefGamma", "the key for the photons"};
96
98 private:
100 this, "muons", "", "the muon container to use" };
101
103 private:
105 this, "muonsSelection", "", "the selection on the input muons" };
106
108 private:
109 Gaudi::Property<std::string> m_muonsKey {this, "muonsKey", "Muons", "the key for the muons"};
110
112 private:
114 this, "taus", "", "the tau container to use" };
115
117 private:
119 this, "tausSelection", "", "the selection on the input taus" };
120
122 private:
123 Gaudi::Property<std::string> m_tausKey {this, "tausKey", "RefTau", "the key for the taus"};
124
126 private:
128 this, "jets", "", "the jet collection we use"};
129
131 private:
133 this, "invisible", {}, "Any particles to treat as invisible."};
134
136 private:
137 Gaudi::Property<std::vector<std::string>> m_invisSelectionKeys {
138 this, "invisibleSelection", {}, "the selection on the particles to be treated as invisible." };
139 private:
140 std::vector<SysReadSelectionHandle> m_invisSelections;
141
143 private:
144 Gaudi::Property<std::string> m_jetsKey {this, "jetsKey", "RefJet", "the key for the jets"};
145
147 private:
148 Gaudi::Property<std::string> m_softTermKey {this, "softTermKey", "PVSoftTrk", "the soft term key"};
149
151 private:
152 Gaudi::Property<bool> m_doTrackMet {this, "doTrackMet", false, "whether to use track-met instead of jet-met"};
153
155 private:
156 Gaudi::Property<bool> m_doJetJVT {this, "doJetJVT", true, "whether to do jet JVT"};
157
159 private:
161 this, "met", "MissingET_%SYS%", "the met collection we produce"};
162
164 private:
165 Gaudi::Property<bool> m_switchTauMuonOrder {this, "switchTauMu", false, "whether to switch order of taus and muons"};
166
168 private:
169 Gaudi::Property<bool> m_evaluateNNMET {this, "evaluateNNMET", false,
170 "run NN MET inference after rebuildJetMET; requires a maker tool that "
171 "overrides evaluateNNMET (e.g. met::METNet). Skips the need for MetBuilderAlg."};
172
174 private:
175 Gaudi::Property<std::string> m_finalKey {this, "finalKey", "Final",
176 "name of the total MET term written by evaluateNNMET"};
177 };
178}
179
180#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
an algorithm for calling IMETMaker
Definition MetMakerAlg.h:40
Gaudi::Property< bool > m_doTrackMet
whether to use track-met instead of jet-met
SysReadSelectionHandle m_muonsSelection
the selection on the input muons
SysReadHandle< xAOD::IParticleContainer > m_tausHandle
the tau container to use
SysWriteHandle< xAOD::MissingETContainer, xAOD::MissingETAuxContainer > m_metHandle
the met collection we run on
SysReadHandle< xAOD::IParticleContainer > m_electronsHandle
the electron container to use
Definition MetMakerAlg.h:71
SG::ReadHandleKey< xAOD::MissingETAssociationMap > m_metAssociationKey
the name of the MissingETAssociationMap
Definition MetMakerAlg.h:63
Gaudi::Property< std::vector< std::string > > m_invisSelectionKeys
the selection on the invisible container
Gaudi::Property< std::string > m_electronsKey
the key for m_electronsHandle
Definition MetMakerAlg.h:81
Gaudi::Property< std::string > m_photonsKey
the key for m_photonsHandle
Definition MetMakerAlg.h:95
ToolHandle< IMETSystematicsTool > m_systematicsTool
the systematics tool
Definition MetMakerAlg.h:55
Gaudi::Property< std::string > m_softTermKey
the soft term key
SysReadSelectionHandle m_photonsSelection
the selection on the input photons
Definition MetMakerAlg.h:90
std::vector< SysReadSelectionHandle > m_invisSelections
ToolHandle< IMETMaker > m_makerTool
the maker tool
Definition MetMakerAlg.h:51
SysHandleArray< SysReadHandle< xAOD::IParticleContainer > > m_invisHandles
the container to be marked as invisible particles
Gaudi::Property< std::string > m_tausKey
the key for m_tausHandle
Gaudi::Property< std::string > m_finalKey
the name of the total MET term written by evaluateNNMET
Gaudi::Property< std::string > m_jetsKey
the key for m_jetsHandle
SysReadHandle< xAOD::IParticleContainer > m_photonsHandle
the photon container to use
Definition MetMakerAlg.h:85
Gaudi::Property< bool > m_doJetJVT
whether to do jet JVT
SysReadHandle< xAOD::IParticleContainer > m_muonsHandle
the muon container to use
Definition MetMakerAlg.h:99
SysReadSelectionHandle m_tausSelection
the selection on the input taus
Gaudi::Property< bool > m_switchTauMuonOrder
whether to switch order of taus and muons
SG::ReadHandleKey< xAOD::MissingETContainer > m_metCoreKey
the name of the core MissingETContainer
Definition MetMakerAlg.h:59
Gaudi::Property< bool > m_evaluateNNMET
whether to run NN-based MET inference (evaluateNNMET) after rebuildJetMET
StatusCode initialize() override
SysReadSelectionHandle m_electronsSelection
the selection on the input electrons
Definition MetMakerAlg.h:76
SysReadHandle< xAOD::JetContainer > m_jetsHandle
the input jet collection we run on
Gaudi::Property< std::string > m_muonsKey
the key for m_muonsHandle
SysListHandle m_systematicsList
the systematics list we run
Definition MetMakerAlg.h:67
Vector-like class for systematic handles which interact with decorations.
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 writing systematics varied input data
the (new) base class for EventLoop algorithms
AnaAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
virtual::StatusCode execute()
execute this algorithm
Property holding a SG store/key/clid from which a ReadHandle is made.
Select isolated Photons, Electrons and Muons.