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-2018 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
11
// EDM includes
12
#include "
xAODEgamma/ElectronContainer.h
"
13
#include "
xAODJet/JetContainer.h
"
14
#include "
ColumnarEgamma/EgammaDef.h
"
15
#include "
ColumnarJet/JetDef.h
"
16
17
// Local includes
18
#include "
AssociationUtils/IOverlapTool.h
"
19
#include "
AssociationUtils/BaseOverlapTool.h
"
20
#include "
AssociationUtils/DeltaRMatcher.h
"
21
22
namespace
ORUtils
23
{
24
39
class
EleJetOverlapTool
:
public
virtual
IOverlapTool
,
40
public
BaseOverlapTool
41
{
42
44
ASG_TOOL_CLASS
(
EleJetOverlapTool
,
IOverlapTool
)
45
46
public
:
47
49
EleJetOverlapTool
(
const
std::string& name);
50
56
virtual
StatusCode
57
findOverlaps
(
columnar::Particle1Range
cont1,
58
columnar::Particle2Range
cont2,
59
columnar::EventContextId
eventContext)
const override
;
60
63
virtual
StatusCode
64
internalFindOverlaps
(
columnar::Particle1Range
electrons,
65
columnar::Particle2Range
jets)
const
;
66
67
protected
:
68
70
virtual
StatusCode
initializeDerived
()
override
;
71
72
private
:
73
76
78
std::string
m_bJetLabel
;
79
81
double
m_maxElePtForBJetAwareOR
;
82
84
bool
m_applyPtRatio
;
86
double
m_eleJetPtRatio
;
87
89
float
m_innerDR
;
91
float
m_outerDR
;
92
94
bool
m_useSlidingDR
;
96
double
m_slidingDRC1
;
98
double
m_slidingDRC2
;
100
double
m_slidingDRMaxCone
;
101
103
bool
m_useRapidity
;
104
106
struct
Accessors
final :
columnar::ColumnarTool
<>
107
{
108
columnar::Particle1Accessor<float>
m_elePtAcc
{*
this
,
"pt"
};
109
columnar::Particle2Accessor<float>
m_jetPtAcc
{*
this
,
"pt"
};
111
columnar::Particle2Accessor<char>
m_bJetAcc
;
112
using
ColumnarTool::ColumnarTool;
113
};
114
std::unique_ptr<Accessors>
m_accessors
{std::make_unique<Accessors> (
this
)};
115
117
120
122
std::unique_ptr<IParticleAssociator>
m_dRMatchCone1
;
124
std::unique_ptr<IParticleAssociator>
m_dRMatchCone2
;
125
127
128
};
// class EleJetOverlapTool
129
130
}
// namespace ORUtils
131
132
#endif
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition
AsgToolMacros.h:68
AsgTool.h
BaseOverlapTool.h
DeltaRMatcher.h
EgammaDef.h
ElectronContainer.h
IOverlapTool.h
JetContainer.h
JetDef.h
ORUtils::BaseOverlapTool::BaseOverlapTool
BaseOverlapTool(const std::string &name)
Create proper constructor for Athena.
Definition
BaseOverlapTool.cxx:14
ORUtils::EleJetOverlapTool::m_applyPtRatio
bool m_applyPtRatio
Toggle PT ratio criteria.
Definition
EleJetOverlapTool.h:84
ORUtils::EleJetOverlapTool::m_dRMatchCone1
std::unique_ptr< IParticleAssociator > m_dRMatchCone1
Delta-R matcher for the inner cone.
Definition
EleJetOverlapTool.h:122
ORUtils::EleJetOverlapTool::m_dRMatchCone2
std::unique_ptr< IParticleAssociator > m_dRMatchCone2
Delta-R matcher for the outer cone.
Definition
EleJetOverlapTool.h:124
ORUtils::EleJetOverlapTool::m_outerDR
float m_outerDR
Outer dR cone within which electrons get removed.
Definition
EleJetOverlapTool.h:91
ORUtils::EleJetOverlapTool::m_useSlidingDR
bool m_useSlidingDR
Activate sliding dR for the cone which removes electrons.
Definition
EleJetOverlapTool.h:94
ORUtils::EleJetOverlapTool::m_slidingDRMaxCone
double m_slidingDRMaxCone
Sliding cone max size.
Definition
EleJetOverlapTool.h:100
ORUtils::EleJetOverlapTool::initializeDerived
virtual StatusCode initializeDerived() override
Initialize the tool.
Definition
EleJetOverlapTool.cxx:56
ORUtils::EleJetOverlapTool::m_slidingDRC2
double m_slidingDRC2
Sliding cone C2.
Definition
EleJetOverlapTool.h:98
ORUtils::EleJetOverlapTool::m_slidingDRC1
double m_slidingDRC1
Sliding cone C1.
Definition
EleJetOverlapTool.h:96
ORUtils::EleJetOverlapTool::m_eleJetPtRatio
double m_eleJetPtRatio
Minimum e/jet pt ratio to remove a jet.
Definition
EleJetOverlapTool.h:86
ORUtils::EleJetOverlapTool::m_useRapidity
bool m_useRapidity
Calculate deltaR using rapidity.
Definition
EleJetOverlapTool.h:103
ORUtils::EleJetOverlapTool::internalFindOverlaps
virtual StatusCode internalFindOverlaps(columnar::Particle1Range electrons, columnar::Particle2Range jets) const
Identify overlapping electrons and jets.
Definition
EleJetOverlapTool.cxx:122
ORUtils::EleJetOverlapTool::m_innerDR
float m_innerDR
Inner dR cone within which jets get removed.
Definition
EleJetOverlapTool.h:89
ORUtils::EleJetOverlapTool::m_accessors
std::unique_ptr< Accessors > m_accessors
Definition
EleJetOverlapTool.h:114
ORUtils::EleJetOverlapTool::findOverlaps
virtual StatusCode findOverlaps(columnar::Particle1Range cont1, columnar::Particle2Range cont2, columnar::EventContextId eventContext) const override
Identify overlapping electrons and jets.
Definition
EleJetOverlapTool.cxx:106
ORUtils::EleJetOverlapTool::m_maxElePtForBJetAwareOR
double m_maxElePtForBJetAwareOR
Max electron PT for b-tag aware OR.
Definition
EleJetOverlapTool.h:81
ORUtils::EleJetOverlapTool::m_bJetLabel
std::string m_bJetLabel
Input jet decoration which labels a bjet.
Definition
EleJetOverlapTool.h:78
ORUtils::EleJetOverlapTool::EleJetOverlapTool
EleJetOverlapTool(const std::string &name)
Create proper constructor for Athena.
Definition
EleJetOverlapTool.cxx:26
ORUtils::IOverlapTool
Interface class for overlap removal tools.
Definition
IOverlapTool.h:31
columnar::ColumnarTool
the base class for all columnar components
Definition
ColumnAccessorDataArray.h:17
ORUtils
Definition
AltMuJetOverlapTool.h:30
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
ORUtils::EleJetOverlapTool::Accessors
Columnar accessors.
Definition
EleJetOverlapTool.h:107
ORUtils::EleJetOverlapTool::Accessors::m_jetPtAcc
columnar::Particle2Accessor< float > m_jetPtAcc
Definition
EleJetOverlapTool.h:109
ORUtils::EleJetOverlapTool::Accessors::m_elePtAcc
columnar::Particle1Accessor< float > m_elePtAcc
Definition
EleJetOverlapTool.h:108
ORUtils::EleJetOverlapTool::Accessors::m_bJetAcc
columnar::Particle2Accessor< char > m_bJetAcc
BJet helper.
Definition
EleJetOverlapTool.h:111
Generated on
for ATLAS Offline Software by
1.17.0