ATLAS Offline Software
Loading...
Searching...
No Matches
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
10
11// Local includes
15
16namespace ORUtils
17{
18
26 class DeltaROverlapTool : public virtual IOverlapTool,
27 public BaseOverlapTool
28 {
29
32
33 public:
34
36 DeltaROverlapTool(const std::string& name);
37
41 virtual StatusCode
44 columnar::EventContextId eventContext) const override;
46
47 protected:
48
50 virtual StatusCode initializeDerived() override;
51
52 private:
53
56
58 float m_dR;
61
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>
86
87 }; // class DeltaROverlapTool
88
89} // namespace ORUtils
90
91#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
BaseOverlapTool(const std::string &name)
Create proper constructor for Athena.
virtual StatusCode findOverlaps(columnar::Particle1Range cont1, columnar::Particle2Range cont2, columnar::EventContextId eventContext) const override
Identify overlaps with simple dR check.
bool m_useRapidity
Calculate delta-R using rapidity.
bool m_swapContainerPrecedence
In default configuration, the first container is the one that gets tested for object rejection.
std::unique_ptr< DeltaRMatcher > m_dRMatcher
Delta-R matcher.
virtual StatusCode initializeDerived() override
Initialize the tool.
Gaudi::Property< unsigned > m_objectType2
float m_dR
Delta-R cone for flagging objects as overlap.
StatusCode internalFindOverlaps(columnar::ObjectRange< CI1, CM > testCont, columnar::ObjectRange< CI2, CM > refCont) const
DeltaROverlapTool(const std::string &name)
Create proper constructor for Athena.
Gaudi::Property< unsigned > m_objectType1
Interface class for overlap removal tools.
virtual StatusCode findOverlaps(columnar::Particle1Range cont1, columnar::Particle2Range cont2, columnar::EventContextId eventContext) const =0
Declare the interface.
a class representing a continuous sequence of objects (a.k.a. a container)
ObjectId< ContainerId::eventContext > EventContextId
ObjectRange< ContainerId::particle2 > Particle2Range
Definition ParticleDef.h:53
ObjectRange< ContainerId::particle1 > Particle1Range
Definition ParticleDef.h:47