ATLAS Offline Software
Loading...
Searching...
No Matches
EleJetOverlapTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 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"
11
12// EDM includes
16#include "ColumnarJet/JetDef.h"
17
18// Local includes
23
24namespace ADD_CMODE(ORUtils)
25{
26
41 class EleJetOverlapTool : public virtual IOverlapTool,
42 public BaseOverlapTool
43 {
44
47
48 public:
49
51 EleJetOverlapTool(const std::string& name);
52
58 virtual StatusCode
59 findOverlaps(columnar::Particle1Range cont1,
61 columnar::EventContextId eventContext) const override;
62
65 virtual StatusCode
66 internalFindOverlaps(columnar::Particle1Range electrons,
67 columnar::Particle2Range jets) const;
68
69 protected:
70
72 virtual StatusCode initializeDerived() override;
73
74 private:
75
78
80 std::string m_bJetLabel;
81
83 double m_maxElePtForBJetAwareOR;
84
86 bool m_applyPtRatio;
88 double m_eleJetPtRatio;
89
91 float m_innerDR;
93 float m_outerDR;
94
96 bool m_useSlidingDR;
98 double m_slidingDRC1;
100 double m_slidingDRC2;
102 double m_slidingDRMaxCone;
103
105 bool m_useRapidity;
106
108 bool m_useFEOR;
109
111 struct Accessors final : columnar::ColumnarTool<>
112 {
113 columnar::Particle1Accessor<float> m_elePtAcc {*this, "pt"};
114 columnar::Particle2Accessor<float> m_jetPtAcc {*this, "pt"};
117 using ColumnarTool::ColumnarTool;
118 };
119 std::unique_ptr<Accessors> m_accessors {std::make_unique<Accessors> (this)};
120
122 this, "FEAssociationMap", "FEAssociationMap", "Flow element association map"
123 };
124
126
129
131 std::unique_ptr<IParticleAssociator> m_dRMatchCone1;
133 std::unique_ptr<IParticleAssociator> m_dRMatchCone2;
134 // Flow element matcher
135 std::unique_ptr<FEMatcher> m_FEMatcher;
136
138
139 }; // class EleJetOverlapTool
140
141} // namespace ADD_CMODE(ORUtils)
142
143#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
the base class for all columnar components
AccessorTemplate< Particle1Def, CT, ColumnAccessMode::input, CM > Particle1Accessor
Definition ParticleDef.h:47
ObjectId< EventContextDef > EventContextId
AccessorTemplate< Particle2Def, CT, ColumnAccessMode::input, CM > Particle2Accessor
Definition ParticleDef.h:53
ObjectRange< Particle2Def > Particle2Range
Definition ParticleDef.h:50
ObjectRange< Particle1Def > Particle1Range
Definition ParticleDef.h:44