ATLAS Offline Software
Loading...
Searching...
No Matches
METMaker.h File Reference
Include dependency graph for METMaker.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

namespace ADD_CMODE (met)

Function Documentation

◆ ADD_CMODE()

namespace ADD_CMODE ( met )

Constructor with parameters:

Destructor:

Default constructor:

Definition at line 1 of file METMaker.h.

36 {
37
38 // typedefs
40
41 class METMaker
42 : public asg::AsgTool,
43 virtual public IMETMaker
44
45 {
46 // This macro defines the constructor with the interface declaration
47 ASG_TOOL_CLASS(METMaker, IMETMaker)
48
49
50 // Public methods:
52 public:
53
54 // Copy constructor:
55
57 METMaker(const std::string& name);
58
60 virtual ~METMaker();
61
62 // Athena algtool's Hooks
63 virtual StatusCode initialize() override final;
64
65 virtual StatusCode rebuildMET(
66 const std::string& metKey,
67 xAOD::Type::ObjectType metType,
68 xAOD::MissingETContainer* metCont,
69 const xAOD::IParticleContainer* collection,
70 xAOD::MissingETAssociationHelper& helper,
71 MissingETBase::UsageHandler::Policy objScale) const override final;
72 //
73 virtual StatusCode rebuildMET(
74 xAOD::MissingET* met,
75 const xAOD::IParticleContainer* collection,
76 xAOD::MissingETAssociationHelper& helper,
77 MissingETBase::UsageHandler::Policy objScale) const override final;
78 //
79 virtual StatusCode rebuildMET(
80 xAOD::MissingET* met,
81 const xAOD::IParticleContainer* collection,
82 xAOD::MissingETAssociationHelper& helper,
83 MissingETBase::UsageHandler::Policy p,
84 bool removeOverlap,
85 MissingETBase::UsageHandler::Policy objScale) const override final;
86
87 virtual StatusCode rebuildJetMET(
88 const std::string& metJetKey,
89 const std::string& softClusKey,
90 const std::string& softTrkKey,
91 xAOD::MissingETContainer* metCont,
92 const xAOD::JetContainer* jets,
93 const xAOD::MissingETContainer* metCoreCont,
94 xAOD::MissingETAssociationHelper& helper,
95 bool doJetJVT) const override final;
96
97 virtual StatusCode rebuildJetMET(
98 const std::string& metJetKey,
99 const std::string& metSoftKey,
100 xAOD::MissingETContainer* metCont,
101 const xAOD::JetContainer* jets,
102 const xAOD::MissingETContainer* metCoreCont,
103 xAOD::MissingETAssociationHelper& helper,
104 bool doJetJVT) const override final;
105
106 virtual StatusCode rebuildJetMET(
107 xAOD::MissingET* metJet,
108 const xAOD::JetContainer* jets,
109 xAOD::MissingETAssociationHelper& helper,
110 xAOD::MissingET* metSoftClus,
111 const xAOD::MissingET* coreSoftClus,
112 xAOD::MissingET* metSoftTrk,
113 const xAOD::MissingET* coreSoftTrk,
114 bool doJetJVT,
115 bool tracksForHardJets = false,
116 std::vector<const xAOD::IParticle*>* softConst = 0) const override final;
117
118 virtual StatusCode rebuildTrackMET(
119 const std::string& metJetKey,
120 const std::string& softTrkKey,
121 xAOD::MissingETContainer* metCont,
122 const xAOD::JetContainer* jets,
123 const xAOD::MissingETContainer* metCoreCont,
124 xAOD::MissingETAssociationHelper& helper,
125 bool doJetJVT) const override final;
126
127 virtual StatusCode rebuildTrackMET(xAOD::MissingET* metJet,
128 const xAOD::JetContainer* jets,
129 xAOD::MissingETAssociationHelper& helper,
130 xAOD::MissingET* metSoftTrk,
131 const xAOD::MissingET* coreSoftTrk,
132 bool doJetJVT) const override final;
133
134 virtual StatusCode markInvisible(
135 const xAOD::IParticleContainer* collection,
136 xAOD::MissingETAssociationHelper& helper,
137 xAOD::MissingETContainer* metCont) const override final;
138
140 // Private data:
142 private:
143
144 bool acceptTrack(const xAOD::TrackParticle* trk, const xAOD::Vertex* vx) const;
145 const xAOD::Vertex* getPV() const;
146
147
148 SG::ReadHandleKey<xAOD::VertexContainer> m_PVkey;
149
150 // configurable accessors
151 std::unique_ptr<SG::ConstAccessor<char > > m_acc_jetRejectionDec;
152
153 // pT threshold for suppressing warnings of objects missing in association map
154 float m_missObjWarningPtThreshold;
155
156 bool m_jetCorrectPhi{};
157 double m_jetMinEfrac{};
158 double m_jetMinWeightedPt{};
159 std::string m_jetConstitScaleMom;
160 std::string m_jetRejectionDec;
161
162 double m_CenJetPtCut{}, m_FwdJetPtCut{} ; // jet pt cut for central/forward jets
163 double m_JvtCut{}, m_JvtPtMax{}; // JVT cut and pt region of jets to apply a JVT selection
164 double m_JetEtaMax{};
165 double m_JetEtaForw{};
166
167 std::string m_jetSelection;
168 std::string m_JvtWP;
169
170 // Extra configurables for custom WP
171 double m_customCenJetPtCut{},m_customFwdJetPtCut{};
172 double m_customJvtPtMax{};
173 std::string m_customJvtWP;
174
175 bool m_doPFlow{};
176 bool m_doSoftTruth{};
177 bool m_doConstJet{};
178
179 bool m_useGhostMuons{};
180 bool m_doRemoveMuonJets{};
181 bool m_doRemoveElecTrks{};
182 bool m_doRemoveElecTrksEM{};
183 bool m_doSetMuonJetEMScale{};
184 bool m_skipSystematicJetSelection{};
185
186 bool m_muEloss{};
187 bool m_orCaloTaggedMuon{};
188 bool m_greedyPhotons{};
189 bool m_veryGreedyPhotons{};
190
191 // muon overlap variables
192 int m_jetTrkNMuOlap{};
193 double m_jetWidthMuOlap{};
194 double m_jetPsEMuOlap{};
195 double m_jetEmfMuOlap{};
196 double m_jetTrkPtMuPt{};
197 double m_muIDPTJetPtRatioMuOlap{};
198
199 ToolHandle<InDet::IInDetTrackSelectionTool> m_trkseltool;
200 ToolHandle<IAsgSelectionTool> m_JvtTool;
201
202 SG::ReadHandleKey<xAOD::JetContainer> m_jetContainer{this, "JetContainer", "", "Name of input jet container (required if JVT decisions computed by internal tool)"};
203
205 METMaker();
206
207 };
208
209} //> end namespace ADD_CMODE(met)
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
ObjectType
Definition BaseObject.h:11
boost::graph_traits< boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS > >::vertex_descriptor Vertex
JetContainer_v1 JetContainer
Definition of the current "jet container version".
MissingETContainer_v1 MissingETContainer
DataVector< IParticle > IParticleContainer
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
RootType Type
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
virtual StatusCode initialize()
Dummy implementation of the initialisation function.
Definition AsgTool.h:133
::StatusCode StatusCode
StatusCode definition for legacy code.
#define private
Definition testRead.cxx:27