ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
AnalysisCommon
AssociationUtils
AssociationUtils
TauLooseMuOverlapTool.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_TAULOOSEMUOVERLAPTOOL_H
6
#define ASSOCIATIONUTILS_TAULOOSEMUOVERLAPTOOL_H
7
8
// Framework includes
9
#include "
AsgTools/AsgTool.h
"
10
11
// EDM includes
12
#include "
xAODTau/TauJetContainer.h
"
13
#include "
xAODMuon/MuonContainer.h
"
14
#include "
ColumnarMuon/MuonDef.h
"
15
#include "
ColumnarTau/TauJetDef.h
"
16
17
// Local includes
18
#include "
AssociationUtils/IOverlapTool.h
"
19
#include "
AssociationUtils/BaseOverlapTool.h
"
20
#include "
AssociationUtils/DeltaRMatcher.h
"
21
22
namespace
ADD_CMODE(ORUtils)
23
{
24
35
class
TauLooseMuOverlapTool
:
public
virtual
IOverlapTool
,
36
public
BaseOverlapTool
37
{
38
40
ASG_TOOL_CLASS
(
TauLooseMuOverlapTool
,
IOverlapTool
)
41
42
public
:
43
45
TauLooseMuOverlapTool
(
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
muons)
const
;
59
60
protected
:
61
63
virtual
StatusCode initializeDerived()
override
;
64
65
private
:
66
67
//
68
// Configurable properties
69
//
70
72
float
m_maxDR;
74
bool
m_useRapidity;
75
77
float
m_minMuPt;
79
float
m_minTauPtMuComb;
80
82
struct
Accessors final :
columnar::ColumnarTool
<>
83
{
84
columnar::Particle1Accessor<float>
m_tauPtAcc {*
this
,
"pt"
};
85
columnar::Particle2Accessor<float>
m_muPtAcc {*
this
,
"pt"
};
86
columnar::Particle2Accessor<columnar::RetypeColumn<xAOD::Muon::MuonType,std::uint16_t>
> m_muonTypeAcc {*
this
,
"muonType"
};
87
using
ColumnarTool::ColumnarTool;
88
};
89
std::unique_ptr<Accessors> m_accessors {std::make_unique<Accessors> (
this
)};
90
91
//
92
// Utilities
93
//
94
96
std::unique_ptr<DeltaRMatcher> m_dRMatcher;
97
98
};
// class TauLooseMuOverlapTool
99
100
}
// namespace ADD_CMODE(ORUtils)
101
102
#endif
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition
AsgToolMacros.h:68
AsgTool.h
BaseOverlapTool.h
DeltaRMatcher.h
IOverlapTool.h
taus
static Double_t taus
Definition
LArPhysWaveHECTool.cxx:37
MuonContainer.h
MuonDef.h
TauJetContainer.h
TauJetDef.h
BaseOverlapTool
Definition
BaseOverlapTool.h:28
IOverlapTool
Definition
IOverlapTool.h:19
TauLooseMuOverlapTool
Definition
TauLooseMuOverlapTool.h:22
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