ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
AnalysisCommon
AssociationUtils
AssociationUtils
EleJetOverlapTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ASSOCIATIONUTILS_ELEJETOVERLAPTOOL_H
6
#define ASSOCIATIONUTILS_ELEJETOVERLAPTOOL_H
7
8
// Framework includes
9
#include "
AsgTools/AsgTool.h
"
10
#include "
AsgDataHandles/ReadHandleKey.h
"
11
12
// EDM includes
13
#include "
xAODEgamma/ElectronContainer.h
"
14
#include "
xAODJet/JetContainer.h
"
15
#include "
ColumnarEgamma/EgammaDef.h
"
16
#include "
ColumnarJet/JetDef.h
"
17
18
// Local includes
19
#include "
AssociationUtils/IOverlapTool.h
"
20
#include "
AssociationUtils/BaseOverlapTool.h
"
21
#include "
AssociationUtils/DeltaRMatcher.h
"
22
#include "
AssociationUtils/FEMatcher.h
"
23
24
namespace
ADD_CMODE(ORUtils)
25
{
26
41
class
EleJetOverlapTool
:
public
virtual
IOverlapTool
,
42
public
BaseOverlapTool
43
{
44
46
ASG_TOOL_CLASS
(
EleJetOverlapTool
,
IOverlapTool
)
47
48
public
:
49
51
EleJetOverlapTool
(
const
std::string& name);
52
58
virtual
StatusCode
59
findOverlaps(
columnar::Particle1Range
cont1,
60
columnar::Particle2Range
cont2,
61
columnar::EventContextId
eventContext)
const override
;
62
65
virtual
StatusCode
66
internalFindOverlaps(
columnar::Particle1Range
electrons,
67
columnar::Particle2Range
jets)
const
;
68
69
protected
:
70
72
virtual
StatusCode initializeDerived()
override
;
73
74
private
:
75
78
80
std::string m_bJetLabel;
81
83
double
m_maxElePtForBJetAwareOR;
84
86
bool
m_applyPtRatio;
88
double
m_eleJetPtRatio;
89
91
float
m_innerDR;
93
float
m_outerDR;
94
96
bool
m_useSlidingDR;
98
double
m_slidingDRC1;
100
double
m_slidingDRC2;
102
double
m_slidingDRMaxCone;
103
105
bool
m_useRapidity;
106
108
bool
m_useFEOR;
109
111
struct
Accessors final :
columnar::ColumnarTool
<>
112
{
113
columnar::Particle1Accessor<float>
m_elePtAcc {*
this
,
"pt"
};
114
columnar::Particle2Accessor<float>
m_jetPtAcc {*
this
,
"pt"
};
116
columnar::Particle2Accessor<char>
m_bJetAcc;
117
using
ColumnarTool::ColumnarTool;
118
};
119
std::unique_ptr<Accessors> m_accessors {std::make_unique<Accessors> (
this
)};
120
121
SG::ReadHandleKey<xAOD::MissingETAssociationMap>
m_feMapKey{
122
this
,
"FEAssociationMap"
,
"FEAssociationMap"
,
"Flow element association map"
123
};
124
126
129
131
std::unique_ptr<IParticleAssociator> m_dRMatchCone1;
133
std::unique_ptr<IParticleAssociator> m_dRMatchCone2;
134
// Flow element matcher
135
std::unique_ptr<FEMatcher> m_FEMatcher;
136
138
139
};
// class EleJetOverlapTool
140
141
}
// namespace ADD_CMODE(ORUtils)
142
143
#endif
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.
BaseOverlapTool.h
DeltaRMatcher.h
EgammaDef.h
ElectronContainer.h
FEMatcher.h
IOverlapTool.h
JetContainer.h
JetDef.h
BaseOverlapTool
Definition
BaseOverlapTool.h:28
EleJetOverlapTool
Definition
EleJetOverlapTool.h:24
IOverlapTool
Definition
IOverlapTool.h:19
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
columnar::ColumnarTool
the base class for all columnar components
Definition
ColumnAccessorDataArray.h:17
columnar::Particle1Accessor
AccessorTemplate< Particle1Def, CT, ColumnAccessMode::input, CM > Particle1Accessor
Definition
ParticleDef.h:47
columnar::EventContextId
ObjectId< EventContextDef > EventContextId
Definition
ContainerId.h:212
columnar::Particle2Accessor
AccessorTemplate< Particle2Def, CT, ColumnAccessMode::input, CM > Particle2Accessor
Definition
ParticleDef.h:53
columnar::Particle2Range
ObjectRange< Particle2Def > Particle2Range
Definition
ParticleDef.h:50
columnar::Particle1Range
ObjectRange< Particle1Def > Particle1Range
Definition
ParticleDef.h:44
Generated on
for ATLAS Offline Software by
1.17.0