ATLAS Offline Software
MetMakerAlg.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 
8 
9 #ifndef MET_ANALYSIS_ALGORITHMS__MET_MAKER_ALG_H
10 #define MET_ANALYSIS_ALGORITHMS__MET_MAKER_ALG_H
11 
17 #include <METInterface/IMETMaker.h>
23 
24 namespace CP
25 {
35 
36  class MetMakerAlg final : public EL::AnaAlgorithm
37  {
39  public:
41  StatusCode initialize () override;
42  StatusCode execute () override;
43 
44 
45 
47  private:
48  ToolHandle<IMETMaker> m_makerTool {this, "makerTool", "METMaker", "the METMaker tool we apply"};
49 
51  private:
52  ToolHandle<IMETSystematicsTool> m_systematicsTool {this, "systematicsTool", "", "the systematics tool we apply"};
53 
55  private:
56  Gaudi::Property<std::string> m_metCoreName {this, "metCore", "", "the name of the core MissingETContainer"};
57 
59  private:
60  Gaudi::Property<std::string> m_metAssociationName {this, "metAssociation", "", "the name of the core MissingETContainer"};
61 
63  private:
65 
67  private:
69  this, "electrons", "", "the electron container to use" };
70 
72  private:
74  this, "electronsSelection", "", "the selection on the input electrons" };
75 
77  private:
78  Gaudi::Property<std::string> m_electronsKey {this, "electronsKey", "RefEle", "the key for the electrons"};
79 
81  private:
83  this, "photons", "", "the photon container to use" };
84 
86  private:
88  this, "photonsSelection", "", "the selection on the input photons" };
89 
91  private:
92  Gaudi::Property<std::string> m_photonsKey {this, "photonsKey", "RefGamma", "the key for the photons"};
93 
95  private:
97  this, "muons", "", "the muon container to use" };
98 
100  private:
102  this, "muonsSelection", "", "the selection on the input muons" };
103 
105  private:
106  Gaudi::Property<std::string> m_muonsKey {this, "muonsKey", "Muons", "the key for the muons"};
107 
109  private:
111  this, "taus", "", "the tau container to use" };
112 
114  private:
116  this, "tausSelection", "", "the selection on the input taus" };
117 
119  private:
120  Gaudi::Property<std::string> m_tausKey {this, "tausKey", "RefTau", "the key for the taus"};
121 
123  private:
125  this, "jets", "", "the jet collection we use"};
126 
127  private:
129  this, "invisible", "", "Any particles to treat as invisible."};
130 
132  private:
133  Gaudi::Property<std::string> m_jetsKey {this, "jetsKey", "RefJet", "the key for the jets"};
134 
136  private:
137  Gaudi::Property<std::string> m_softTermKey {this, "softTermKey", "PVSoftTrk", "the soft term key"};
138 
140  private:
141  Gaudi::Property<bool> m_doTrackMet {this, "doTrackMet", false, "whether to use track-met instead of jet-met"};
142 
144  private:
145  Gaudi::Property<bool> m_doJetJVT {this, "doJetJVT", true, "whether to do jet JVT"};
146 
148  private:
150  this, "met", "MissingET_%SYS%", "the met collection we produce"};
151  };
152 }
153 
154 #endif
CP::MetMakerAlg
an algorithm for calling IMETMaker
Definition: MetMakerAlg.h:37
PropertyWrapper.h
CP::MetMakerAlg::m_tausHandle
SysReadHandle< xAOD::IParticleContainer > m_tausHandle
the electron container to use
Definition: MetMakerAlg.h:110
CP::SysListHandle
a class managing the property to configure the list of systematics to process
Definition: SysListHandle.h:33
CP::MetMakerAlg::m_photonsSelection
SysReadSelectionHandle m_photonsSelection
the selection on the input photons
Definition: MetMakerAlg.h:87
CP::SysWriteHandle
a data handle for writing systematics varied input data
Definition: SysWriteHandle.h:31
SysListHandle.h
CP::MetMakerAlg::m_softTermKey
Gaudi::Property< std::string > m_softTermKey
the soft term key
Definition: MetMakerAlg.h:137
CP::MetMakerAlg::m_muonsHandle
SysReadHandle< xAOD::IParticleContainer > m_muonsHandle
the muon container to use
Definition: MetMakerAlg.h:96
CP::MetMakerAlg::m_electronsHandle
SysReadHandle< xAOD::IParticleContainer > m_electronsHandle
the electron container to use
Definition: MetMakerAlg.h:68
IMETMaker.h
CP::MetMakerAlg::m_systematicsList
SysListHandle m_systematicsList
the systematics list we run
Definition: MetMakerAlg.h:64
IMETSystematicsTool.h
CP::SysReadHandle
a data handle for reading systematics varied input data
Definition: SysReadHandle.h:32
CP::MetMakerAlg::m_electronsSelection
SysReadSelectionHandle m_electronsSelection
the selection on the input electrons
Definition: MetMakerAlg.h:73
CP::MetMakerAlg::m_jetsKey
Gaudi::Property< std::string > m_jetsKey
the key for m_jetsHandle
Definition: MetMakerAlg.h:133
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
EL::AnaAlgorithm::AnaAlgorithm
AnaAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Definition: AnaAlgorithm.cxx:40
CP::MetMakerAlg::m_invisHandle
SysReadHandle< xAOD::IParticleContainer > m_invisHandle
Definition: MetMakerAlg.h:128
SysReadHandle.h
CP::MetMakerAlg::m_metAssociationName
Gaudi::Property< std::string > m_metAssociationName
the name of the MissingETAssociationMap
Definition: MetMakerAlg.h:60
SysWriteHandle.h
AnaAlgorithm.h
EL::AnaAlgorithm
the (new) base class for EventLoop algorithms
Definition: AnaAlgorithm.h:73
CP::MetMakerAlg::m_systematicsTool
ToolHandle< IMETSystematicsTool > m_systematicsTool
the systematics tool
Definition: MetMakerAlg.h:52
CP::MetMakerAlg::m_metCoreName
Gaudi::Property< std::string > m_metCoreName
the name of the core MissingETContainer
Definition: MetMakerAlg.h:56
CP::MetMakerAlg::m_photonsHandle
SysReadHandle< xAOD::IParticleContainer > m_photonsHandle
the photon container to use
Definition: MetMakerAlg.h:82
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IParticleContainer.h
MissingETAuxContainer.h
CP::MetMakerAlg::initialize
StatusCode initialize() override
Definition: MetMakerAlg.cxx:28
CP::MetMakerAlg::m_jetsHandle
SysReadHandle< xAOD::JetContainer > m_jetsHandle
the input jet collection we run on
Definition: MetMakerAlg.h:124
CP::MetMakerAlg::m_metHandle
SysWriteHandle< xAOD::MissingETContainer, xAOD::MissingETAuxContainer > m_metHandle
the met collection we run on
Definition: MetMakerAlg.h:149
CP::MetMakerAlg::m_doTrackMet
Gaudi::Property< bool > m_doTrackMet
whether to use track-met instead of jet-met
Definition: MetMakerAlg.h:141
CP::MetMakerAlg::m_tausSelection
SysReadSelectionHandle m_tausSelection
the selection on the input taus
Definition: MetMakerAlg.h:115
CP::MetMakerAlg::m_muonsSelection
SysReadSelectionHandle m_muonsSelection
the selection on the input muons
Definition: MetMakerAlg.h:101
SysReadSelectionHandle.h
CP::MetMakerAlg::m_electronsKey
Gaudi::Property< std::string > m_electronsKey
the key for m_electronsHandle
Definition: MetMakerAlg.h:78
CP::MetMakerAlg::m_muonsKey
Gaudi::Property< std::string > m_muonsKey
the key for m_muonsHandle
Definition: MetMakerAlg.h:106
CP::MetMakerAlg::m_doJetJVT
Gaudi::Property< bool > m_doJetJVT
whether to do jet JVT
Definition: MetMakerAlg.h:145
CP::SysReadSelectionHandle
a data handle for reading systematically varied selection properties from objects
Definition: SysReadSelectionHandle.h:32
CP::MetMakerAlg::execute
StatusCode execute() override
Definition: MetMakerAlg.cxx:57
MissingETContainer.h
CP::MetMakerAlg::m_makerTool
ToolHandle< IMETMaker > m_makerTool
the maker tool
Definition: MetMakerAlg.h:48
CP::MetMakerAlg::m_tausKey
Gaudi::Property< std::string > m_tausKey
the key for m_tausHandle
Definition: MetMakerAlg.h:120
CP::MetMakerAlg::m_photonsKey
Gaudi::Property< std::string > m_photonsKey
the key for m_photonsHandle
Definition: MetMakerAlg.h:92