ATLAS Offline Software
Loading...
Searching...
No Matches
TauAntiTauJetOverlapTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ASSOCIATIONUTILS_TAU_ANTITAU_JET_OVERLAPTOOL_H
6#define ASSOCIATIONUTILS_TAU_ANTITAU_JET_OVERLAPTOOL_H
7
8// Framework includes
9#include "AsgTools/AsgTool.h"
11
12// EDM includes
17
18// Columnar includes
22#include "ColumnarJet/JetDef.h"
23
24// Local includes
28
29namespace ORUtils
30{
31
60 class TauAntiTauJetOverlapTool : public virtual IOverlapTool,
61 public BaseOverlapTool
62 {
63
66
67 public:
68
70 TauAntiTauJetOverlapTool(const std::string& name);
71
73 virtual StatusCode
76 columnar::EventContextId eventContext) const override;
77
80 virtual StatusCode
83 columnar::EventContextId eventContext) const;
84
85 protected:
88
89 protected:
90
92 virtual StatusCode initializeDerived() override;
93
97
101
105
106 private:
109
111 std::string m_bJetLabel;
112
114 std::string m_tauLabel;
115
117 std::string m_antiTauLabel;
118
120 float m_dR;
123
125
126 private:
129
144 std::unique_ptr<Accessors> m_accessors {std::make_unique<Accessors> (this)};
145
147 std::unique_ptr<IParticleAssociator> m_dRMatcher;
148
150 std::unique_ptr<OverlapDecorationHelper<columnar::ContainerId::particle2>> m_tauDecHelper;
151
153 std::unique_ptr<OverlapDecorationHelper<columnar::ContainerId::particle2>> m_antiTauDecHelper;
154
156
157 Gaudi::Property<std::string> m_evtKeyName{this, "EventInfoKey", "EventInfo", "xAOD::EventInfo ReadHandleKey"};
158
160
161 }; // class TauAntiTauJetOverlapTool
162
163} // namespace ORUtils
164
165#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Property holding a SG store/key/clid from which a ReadHandle is made.
static Double_t taus
BaseOverlapTool(const std::string &name)
Create proper constructor for Athena.
Interface class for overlap removal tools.
float m_dR
Flat delta-R cone for matching objects.
bool m_useRapidity
Calculate deltaR using rapidity.
Gaudi::Property< std::string > m_evtKeyName
std::string m_tauLabel
Decoration labelling an IDed tau.
virtual StatusCode initializeDerived() override
Initialize the tool.
std::unique_ptr< Accessors > m_accessors
std::unique_ptr< IParticleAssociator > m_dRMatcher
Delta-R matcher.
bool isSurvivingAntiTau(columnar::Particle2Id tau) const
Is this an anti-tau?
TauAntiTauJetOverlapTool(const std::string &name)
Create proper constructor for Athena.
std::unique_ptr< OverlapDecorationHelper< columnar::ContainerId::particle2 > > m_antiTauDecHelper
Decoration helper for the anti-taus.
std::unique_ptr< OverlapDecorationHelper< columnar::ContainerId::particle2 > > m_tauDecHelper
Decoration helper for the IDed taus.
bool isBJet(columnar::Particle1Id jet) const
Is this jet a b-jet?
std::string m_bJetLabel
Input jet decoration which labels a bjet.
std::string m_antiTauLabel
Decoration labelling an anti-tau.
virtual StatusCode findOverlaps(columnar::Particle1Range cont1, columnar::Particle2Range cont2, columnar::EventContextId eventContext) const override
Identify overlapping taus and jets.
virtual StatusCode internalFindOverlaps(columnar::Particle1Range jets, columnar::Particle2Range taus, columnar::EventContextId eventContext) const
Identify overlapping taus and jets.
bool isSurvivingTau(columnar::Particle2Id tau) const
Is this an ID tau?
the base class for all columnar components
ObjectId< ContainerId::particle1 > Particle1Id
Definition ParticleDef.h:48
ObjectId< ContainerId::particle2 > Particle2Id
Definition ParticleDef.h:54
AccessorTemplate< ContainerId::eventInfo, CT, ColumnAccessMode::input, CM > EventInfoAccessor
AccessorTemplate< ContainerId::particle2, CT, ColumnAccessMode::input, CM > Particle2Accessor
Definition ParticleDef.h:56
ObjectId< ContainerId::eventContext > EventContextId
ObjectRange< ContainerId::particle2 > Particle2Range
Definition ParticleDef.h:53
ObjectRange< ContainerId::particle1 > Particle1Range
Definition ParticleDef.h:47
AccessorTemplate< ContainerId::particle1, CT, ColumnAccessMode::input, CM > Particle1Accessor
Definition ParticleDef.h:50
columnar::Particle1Accessor< char > m_bJetAcc
BJet helper.
columnar::EventInfoAccessor< std::uint64_t > m_eventNumberAcc
columnar::EventInfoAccessor< columnar::ObjectColumn > m_evtAcc
Columnar accessors.