ATLAS Offline Software
Loading...
Searching...
No Matches
AltMuJetOverlapTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ASSOCIATIONUTILS_ALTMUJETOVERLAPTOOL_H
6#define ASSOCIATIONUTILS_ALTMUJETOVERLAPTOOL_H
7
8// Framework includes
10
11// EDM includes
15
16// Columnar includes
21#include "ColumnarJet/JetDef.h"
23
24// Local includes
28
29namespace ORUtils
30{
31
55 class AltMuJetOverlapTool : public virtual IOverlapTool,
56 public BaseOverlapTool
57 {
58
61
62 public:
63
65 AltMuJetOverlapTool(const std::string& name);
66
71 virtual StatusCode
74 columnar::EventContextId eventContext) const override;
75
78 virtual StatusCode
81 columnar::EventContextId eventContext) const;
82
83 protected:
84
86 virtual StatusCode initializeDerived() override;
87
90 int getPrimVtxIndex(columnar::EventContextId eventContext) const;
91
96
97 private:
98
99 //
100 // Configurable properties
101 //
102
104 std::string m_bJetLabel;
105
110
122 std::string m_PVContName;
123
138 std::unique_ptr<Accessors> m_accessors {std::make_unique<Accessors> (this)};
139
140 //
141 // Utilities
142 //
143
145 std::unique_ptr<IParticleAssociator> m_dRMatchCone1;
147 std::unique_ptr<IParticleAssociator> m_dRMatchCone2;
148
149 }; // class AltMuJetOverlapTool
150
151} // namespace ORUtils
152
153#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Property holding a SG store/key/clid from which a ReadHandle is made.
virtual StatusCode initializeDerived() override
Initialize the tool.
virtual StatusCode internalFindOverlaps(columnar::Particle1Range muons, columnar::Particle2Range jets, columnar::EventContextId eventContext) const
Identify overlapping muons and jets.
double m_slidingDRC1
Outer cone C1, the constant offset in sliding dR.
float m_muJetPtRatio
Maximum ratio of mu/jet PT to keep an overlapping jet.
double m_slidingDRC2
Outer cone C2, the inverse pt factor in sliding dR.
std::unique_ptr< IParticleAssociator > m_dRMatchCone2
Delta-R matcher for the outer cone.
AltMuJetOverlapTool(const std::string &name)
Create proper constructor for Athena.
std::string m_bJetLabel
Input jet decoration which labels a bjet.
int m_numJetTrk
Minimum number of tracks to keep an overlapping jet.
virtual StatusCode findOverlaps(columnar::Particle1Range cont1, columnar::Particle2Range cont2, columnar::EventContextId eventContext) const override
Identify overlapping muons and jets.
float m_innerDR
Inner dR cone within which jets get removed.
int getPrimVtxIndex(columnar::EventContextId eventContext) const
Retrieve the primary vertex used to count jet tracks.
double m_slidingDRMaxCone
MaxCone, the upper limit of the sliding cone.
std::unique_ptr< IParticleAssociator > m_dRMatchCone1
Delta-R matcher for the inner cone.
bool m_useRapidity
Calculate deltaR using rapidity.
int getNumTracks(columnar::Particle2Id jet, columnar::EventContextId eventContext) const
Helper method to get the number of tracks in a jet w.r.t.
std::string m_PVContName
PV Container to use.
std::unique_ptr< Accessors > m_accessors
BaseOverlapTool(const std::string &name)
Create proper constructor for Athena.
Interface class for overlap removal tools.
the base class for all columnar components
ObjectId< ContainerId::particle2 > Particle2Id
Definition ParticleDef.h:54
AccessorTemplate< ContainerId::track0, CT, ColumnAccessMode::input, CM > Track0Accessor
Definition TrackDef.h:52
AccessorTemplate< ContainerId::particle2, CT, ColumnAccessMode::input, CM > Particle2Accessor
Definition ParticleDef.h:56
ObjectId< ContainerId::eventContext > EventContextId
ObjectRange< ContainerId::particle2 > Particle2Range
Definition ParticleDef.h:53
AccessorTemplate< ContainerId::vertex, CT, ColumnAccessMode::input, CM > VertexAccessor
Definition TrackDef.h:69
ObjectRange< ContainerId::particle1 > Particle1Range
Definition ParticleDef.h:47
AccessorTemplate< ContainerId::particle1, CT, ColumnAccessMode::input, CM > Particle1Accessor
Definition ParticleDef.h:50
AccessorTemplate< ContainerId::track1, CT, ColumnAccessMode::input, CM > Track1Accessor
Definition TrackDef.h:56
columnar::Track1Accessor< columnar::ObjectColumn > m_track1Acc
columnar::VertexAccessor< columnar::RetypeColumn< xAOD::VxType::VertexType, short > > m_vertexTypeAcc
columnar::VertexAccessor< columnar::ObjectColumn > m_vtxContainerAcc
columnar::Particle2Accessor< std::vector< int > > m_numTrkPt500Acc
columnar::Particle1Accessor< float > m_muonPtAcc
columnar::Particle2Accessor< float > m_jetPtAcc
columnar::Particle2Accessor< char > m_bJetAcc
BJet helper.
columnar::Track0Accessor< columnar::ObjectColumn > m_track0Acc