ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
AnalysisCommon
AssociationUtils
AssociationUtils
DeltaROverlapTool.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_OVERLAPTOOLDR_H
6
#define ASSOCIATIONUTILS_OVERLAPTOOLDR_H
7
8
// Framework includes
9
#include "
AsgTools/PropertyWrapper.h
"
10
11
// Local includes
12
#include "
AssociationUtils/IOverlapTool.h
"
13
#include "
AssociationUtils/BaseOverlapTool.h
"
14
#include "
AssociationUtils/DeltaRMatcher.h
"
15
16
namespace
ORUtils
17
{
18
26
class
DeltaROverlapTool
:
public
virtual
IOverlapTool
,
27
public
BaseOverlapTool
28
{
29
31
ASG_TOOL_CLASS
(
DeltaROverlapTool
,
IOverlapTool
)
32
33
public
:
34
36
DeltaROverlapTool
(
const
std::string& name);
37
41
virtual
StatusCode
42
findOverlaps
(
columnar::Particle1Range
cont1,
43
columnar::Particle2Range
cont2,
44
columnar::EventContextId
eventContext)
const override
;
45
using
IOverlapTool::findOverlaps
;
46
47
protected
:
48
50
virtual
StatusCode
initializeDerived
()
override
;
51
52
private
:
53
56
58
float
m_dR
;
60
bool
m_useRapidity
;
61
67
bool
m_swapContainerPrecedence
;
68
69
Gaudi::Property<unsigned>
m_objectType1
{
this
,
"ObjectType1"
, 0,
70
"The xAOD::Type::ObjectType enum value for the first particle type"
};
71
Gaudi::Property<unsigned>
m_objectType2
{
this
,
"ObjectType2"
, 0,
72
"The xAOD::Type::ObjectType enum value for the second particle type"
};
73
75
78
80
std::unique_ptr<DeltaRMatcher>
m_dRMatcher
;
81
83
84
template
<columnar::ContainerIdConcept CI1,columnar::RegularContainerIdConcept CI2,
typename
CM>
85
StatusCode
internalFindOverlaps
(
columnar::ObjectRange<CI1,CM>
testCont,
columnar::ObjectRange<CI2,CM>
refCont)
const
;
86
87
};
// class DeltaROverlapTool
88
89
}
// namespace ORUtils
90
91
#endif
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition
AsgToolMacros.h:68
BaseOverlapTool.h
DeltaRMatcher.h
IOverlapTool.h
PropertyWrapper.h
ORUtils::BaseOverlapTool::BaseOverlapTool
BaseOverlapTool(const std::string &name)
Create proper constructor for Athena.
Definition
BaseOverlapTool.cxx:14
ORUtils::DeltaROverlapTool::findOverlaps
virtual StatusCode findOverlaps(columnar::Particle1Range cont1, columnar::Particle2Range cont2, columnar::EventContextId eventContext) const override
Identify overlaps with simple dR check.
Definition
DeltaROverlapTool.cxx:71
ORUtils::DeltaROverlapTool::m_useRapidity
bool m_useRapidity
Calculate delta-R using rapidity.
Definition
DeltaROverlapTool.h:60
ORUtils::DeltaROverlapTool::m_swapContainerPrecedence
bool m_swapContainerPrecedence
In default configuration, the first container is the one that gets tested for object rejection.
Definition
DeltaROverlapTool.h:67
ORUtils::DeltaROverlapTool::m_dRMatcher
std::unique_ptr< DeltaRMatcher > m_dRMatcher
Delta-R matcher.
Definition
DeltaROverlapTool.h:80
ORUtils::DeltaROverlapTool::initializeDerived
virtual StatusCode initializeDerived() override
Initialize the tool.
Definition
DeltaROverlapTool.cxx:27
ORUtils::DeltaROverlapTool::m_objectType2
Gaudi::Property< unsigned > m_objectType2
Definition
DeltaROverlapTool.h:71
ORUtils::DeltaROverlapTool::m_dR
float m_dR
Delta-R cone for flagging objects as overlap.
Definition
DeltaROverlapTool.h:58
ORUtils::DeltaROverlapTool::internalFindOverlaps
StatusCode internalFindOverlaps(columnar::ObjectRange< CI1, CM > testCont, columnar::ObjectRange< CI2, CM > refCont) const
Definition
DeltaROverlapTool.cxx:48
ORUtils::DeltaROverlapTool::DeltaROverlapTool
DeltaROverlapTool(const std::string &name)
Create proper constructor for Athena.
Definition
DeltaROverlapTool.cxx:14
ORUtils::DeltaROverlapTool::m_objectType1
Gaudi::Property< unsigned > m_objectType1
Definition
DeltaROverlapTool.h:69
ORUtils::IOverlapTool
Interface class for overlap removal tools.
Definition
IOverlapTool.h:31
ORUtils::IOverlapTool::findOverlaps
virtual StatusCode findOverlaps(columnar::Particle1Range cont1, columnar::Particle2Range cont2, columnar::EventContextId eventContext) const =0
Declare the interface.
columnar::ObjectRange
a class representing a continuous sequence of objects (a.k.a. a container)
Definition
ContainerId.h:204
ORUtils
Definition
AltMuJetOverlapTool.h:30
columnar::EventContextId
ObjectId< EventContextDef > EventContextId
Definition
ContainerId.h:212
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