ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
MET
METUtilities
METUtilities
METMaker.h
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// METMaker.h
8
// Header file for class METMaker
9
// Author: T.J.Khoo<khoo@cern.ch>
11
#ifndef METUTILITIES_MET_METMAKER_H
12
#define METUTILITIES_MET_METMAKER_H 1
13
14
// STL includes
15
#include <string>
16
17
// FrameWork includes
18
#include "
AsgDataHandles/ReadHandleKey.h
"
19
#include "
AsgTools/ToolHandle.h
"
20
#include "
AsgTools/AsgTool.h
"
21
#include "
ColumnarMode/ColumnarMode.h
"
22
23
// METInterface includes
24
#include "
METInterface/IMETMaker.h
"
25
26
// EDM includes
27
#include "
xAODJet/JetContainer.h
"
28
#include "
xAODPFlow/PFOContainer.h
"
29
30
// Tracking Tool
31
#include "
InDetTrackSelectionTool/IInDetTrackSelectionTool.h
"
32
33
34
// Forward declaration
35
36
namespace
ADD_CMODE(met) {
37
38
// typedefs
39
typedef
ElementLink<xAOD::IParticleContainer>
obj_link_t;
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)
210
#endif
//> !METUTILITIES_MET_METMAKER_H
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition
AsgToolMacros.h:68
AsgTool.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
ColumnarMode.h
IInDetTrackSelectionTool.h
IMETMaker.h
JetContainer.h
PFOContainer.h
ToolHandle.h
ElementLink
ElementLink implementation for ROOT usage.
Definition
A/AthLinks/ElementLink.h:40
IMETMaker
Definition
IMETMaker.h:28
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition
AsgTool.h:47
xAOD::MissingETAssociationHelper
Definition
MissingETAssociationHelper.h:22
MissingETBase::UsageHandler::Policy
Policy
Policies on usage checks.
Definition
MissingETCompositionBase.h:182
met
Definition
IMETSignificance.h:24
xAODType::ObjectType
ObjectType
Type of objects that have a representation in the xAOD EDM.
Definition
ObjectType.h:32
xAOD::MissingET
MissingET_v1 MissingET
Version control by type defintion.
Definition
MissingET.h:15
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition
Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
xAOD::MissingETContainer
MissingETContainer_v1 MissingETContainer
Definition
MissingETContainer.h:16
xAOD::JetContainer
JetContainer_v1 JetContainer
Definition of the current "jet container version".
Definition
JetContainer.h:17
xAOD::IParticleContainer
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.
Definition
xAOD/xAODBase/xAODBase/IParticleContainer.h:32
initialize
void initialize()
Definition
run_EoverP.cxx:894
Generated on
for ATLAS Offline Software by
1.17.0