ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
AnalysisCommon
AssociationUtils
AssociationUtils
TauLooseEleOverlapTool.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_TAULOOSEELEOVERLAPTOOL_H
6
#define ASSOCIATIONUTILS_TAULOOSEELEOVERLAPTOOL_H
7
8
// Framework includes
9
#include "
AsgTools/AsgTool.h
"
10
11
// EDM includes
12
#include "
xAODTau/TauJetContainer.h
"
13
#include "
xAODEgamma/ElectronContainer.h
"
14
#include "
ColumnarTau/TauJetDef.h
"
15
#include "
ColumnarEgamma/EgammaDef.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
35
class
TauLooseEleOverlapTool
:
public
virtual
IOverlapTool
,
36
public
BaseOverlapTool
37
{
38
40
ASG_TOOL_CLASS
(
TauLooseEleOverlapTool
,
IOverlapTool
)
41
42
public
:
43
45
TauLooseEleOverlapTool
(
const
std::string& name);
46
49
virtual
StatusCode
50
findOverlaps
(
columnar::Particle1Range
cont1,
51
columnar::Particle2Range
cont2,
52
columnar::EventContextId
eventContext)
const override
;
53
56
virtual
StatusCode
57
internalFindOverlaps
(
columnar::Particle1Range
taus
,
58
columnar::Particle2Range
electrons)
const
;
59
60
protected
:
61
63
virtual
StatusCode
initializeDerived
()
override
;
64
65
protected
:
66
67
StatusCode
checkElectronID
(
columnar::Particle2Id
electron,
bool
& pass)
const
;
68
69
private
:
70
71
//
72
// Configurable properties
73
//
74
76
float
m_maxDR
;
78
bool
m_useRapidity
;
79
81
std::string
m_eleID
;
82
85
std::string
m_altEleID
;
86
87
//
88
// Utilities
89
//
90
92
struct
Accessors
final :
columnar::ColumnarTool
<>
93
{
94
columnar::Particle2Accessor<char>
m_eleIDAcc
;
95
columnar::Particle2Accessor<char>
m_altEleIDAcc
;
96
using
ColumnarTool::ColumnarTool;
97
};
98
std::unique_ptr<Accessors>
m_accessors
{std::make_unique<Accessors> (
this
)};
99
101
std::unique_ptr<DeltaRMatcher>
m_dRMatcher
;
102
103
};
// class TauLooseEleOverlapTool
104
105
}
// namespace ORUtils
106
107
#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
taus
static Double_t taus
Definition
LArPhysWaveHECTool.cxx:37
TauJetContainer.h
TauJetDef.h
ORUtils::BaseOverlapTool::BaseOverlapTool
BaseOverlapTool(const std::string &name)
Create proper constructor for Athena.
Definition
BaseOverlapTool.cxx:14
ORUtils::IOverlapTool
Interface class for overlap removal tools.
Definition
IOverlapTool.h:31
ORUtils::TauLooseEleOverlapTool::TauLooseEleOverlapTool
TauLooseEleOverlapTool(const std::string &name)
Create proper constructor for Athena.
Definition
TauLooseEleOverlapTool.cxx:20
ORUtils::TauLooseEleOverlapTool::m_useRapidity
bool m_useRapidity
Calculate delta-R using rapidity.
Definition
TauLooseEleOverlapTool.h:78
ORUtils::TauLooseEleOverlapTool::m_accessors
std::unique_ptr< Accessors > m_accessors
Definition
TauLooseEleOverlapTool.h:98
ORUtils::TauLooseEleOverlapTool::initializeDerived
virtual StatusCode initializeDerived() override
Initialize the tool.
Definition
TauLooseEleOverlapTool.cxx:36
ORUtils::TauLooseEleOverlapTool::checkElectronID
StatusCode checkElectronID(columnar::Particle2Id electron, bool &pass) const
Definition
TauLooseEleOverlapTool.cxx:106
ORUtils::TauLooseEleOverlapTool::m_maxDR
float m_maxDR
Maximum dR for objects flagged as overlap.
Definition
TauLooseEleOverlapTool.h:76
ORUtils::TauLooseEleOverlapTool::findOverlaps
virtual StatusCode findOverlaps(columnar::Particle1Range cont1, columnar::Particle2Range cont2, columnar::EventContextId eventContext) const override
Identify overlapping taus and loose electrons.
Definition
TauLooseEleOverlapTool.cxx:54
ORUtils::TauLooseEleOverlapTool::m_eleID
std::string m_eleID
Loose electron selection criteria string (e.g. Loose).
Definition
TauLooseEleOverlapTool.h:81
ORUtils::TauLooseEleOverlapTool::m_altEleID
std::string m_altEleID
Alternate fallback loose ID string; mainly convenient for testing.
Definition
TauLooseEleOverlapTool.h:85
ORUtils::TauLooseEleOverlapTool::m_dRMatcher
std::unique_ptr< DeltaRMatcher > m_dRMatcher
Delta-R matcher.
Definition
TauLooseEleOverlapTool.h:101
ORUtils::TauLooseEleOverlapTool::internalFindOverlaps
virtual StatusCode internalFindOverlaps(columnar::Particle1Range taus, columnar::Particle2Range electrons) const
Identify overlapping taus and loose electrons.
Definition
TauLooseEleOverlapTool.cxx:70
columnar::ColumnarTool
the base class for all columnar components
Definition
ColumnAccessorDataArray.h:17
ORUtils
Definition
AltMuJetOverlapTool.h:30
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
columnar::Particle2Id
ObjectId< Particle2Def > Particle2Id
Definition
ParticleDef.h:51
ORUtils::TauLooseEleOverlapTool::Accessors
Columnar accessors.
Definition
TauLooseEleOverlapTool.h:93
ORUtils::TauLooseEleOverlapTool::Accessors::m_eleIDAcc
columnar::Particle2Accessor< char > m_eleIDAcc
Definition
TauLooseEleOverlapTool.h:94
ORUtils::TauLooseEleOverlapTool::Accessors::m_altEleIDAcc
columnar::Particle2Accessor< char > m_altEleIDAcc
Definition
TauLooseEleOverlapTool.h:95
Generated on
for ATLAS Offline Software by
1.17.0