ATLAS Offline Software
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"
10 
11 // EDM includes
15 #include "xAODJet/JetContainer.h"
16 
17 // Local includes
22 
23 namespace ORUtils
24 {
25 
54  class TauAntiTauJetOverlapTool : public virtual IOverlapTool,
55  public BaseOverlapTool
56  {
57 
60 
61  public:
62 
64  TauAntiTauJetOverlapTool(const std::string& name);
65 
67  virtual StatusCode
69  const xAOD::IParticleContainer& cont2) const override;
70 
73  virtual StatusCode
75  const xAOD::TauJetContainer& taus) const;
76 
77  protected:
80 
81  protected:
82 
84  virtual StatusCode initializeDerived() override;
85 
88  bool isBJet(const xAOD::Jet& jet) const;
89 
92  bool isSurvivingTau(const xAOD::TauJet& tau) const;
93 
96  bool isSurvivingAntiTau(const xAOD::TauJet& tau) const;
97 
98  private:
101 
103  std::string m_bJetLabel;
104 
106  std::string m_tauLabel;
107 
109  std::string m_antiTauLabel;
110 
112  float m_dR;
115 
117 
118  private:
121 
123  std::unique_ptr<BJetHelper> m_bJetHelper;
124 
126  std::unique_ptr<IParticleAssociator> m_dRMatcher;
127 
129  std::unique_ptr<OverlapDecorationHelper> m_tauDecHelper;
130 
132  std::unique_ptr<OverlapDecorationHelper> m_antiTauDecHelper;
133 
135  SG::ReadHandleKey<xAOD::EventInfo> m_evtKey{this, "EventInfoKey", "EventInfo", "xAOD::EventInfo ReadHandleKey"};
136 
138 
139  }; // class TauAntiTauJetOverlapTool
140 
141 } // namespace ORUtils
142 
143 #endif
ORUtils::TauAntiTauJetOverlapTool::initializeDerived
virtual StatusCode initializeDerived() override
Initialize the tool.
Definition: TauAntiTauJetOverlapTool.cxx:50
BJetHelper.h
ORUtils::TauAntiTauJetOverlapTool::findOverlaps
virtual StatusCode findOverlaps(const xAOD::IParticleContainer &cont1, const xAOD::IParticleContainer &cont2) const override
Identify overlapping taus and jets.
Definition: TauAntiTauJetOverlapTool.cxx:84
ORUtils::TauAntiTauJetOverlapTool::isSurvivingAntiTau
bool isSurvivingAntiTau(const xAOD::TauJet &tau) const
Is this an anti-tau? Returns false if anti-tau ID not configured.
Definition: TauAntiTauJetOverlapTool.cxx:226
ORUtils::TauAntiTauJetOverlapTool::m_tauDecHelper
std::unique_ptr< OverlapDecorationHelper > m_tauDecHelper
Decoration helper for the IDed taus.
Definition: TauAntiTauJetOverlapTool.h:129
IObjectAssociator.h
ORUtils::TauAntiTauJetOverlapTool::m_useRapidity
bool m_useRapidity
Calculate deltaR using rapidity.
Definition: TauAntiTauJetOverlapTool.h:114
SG::ReadHandleKey< xAOD::EventInfo >
ORUtils
Definition: AltMuJetOverlapTool.h:20
ORUtils::TauAntiTauJetOverlapTool::m_tauLabel
std::string m_tauLabel
Decoration labelling an IDed tau.
Definition: TauAntiTauJetOverlapTool.h:106
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
ORUtils::BaseOverlapTool
Common base class tool for overlap tools.
Definition: BaseOverlapTool.h:38
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
ORUtils::TauAntiTauJetOverlapTool::m_bJetLabel
std::string m_bJetLabel
Input jet decoration which labels a bjet.
Definition: TauAntiTauJetOverlapTool.h:103
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
ORUtils::TauAntiTauJetOverlapTool::m_dRMatcher
std::unique_ptr< IParticleAssociator > m_dRMatcher
Delta-R matcher.
Definition: TauAntiTauJetOverlapTool.h:126
ORUtils::TauAntiTauJetOverlapTool::m_bJetHelper
std::unique_ptr< BJetHelper > m_bJetHelper
BJet helper.
Definition: TauAntiTauJetOverlapTool.h:123
TauJetContainer.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
ORUtils::TauAntiTauJetOverlapTool::m_evtKey
SG::ReadHandleKey< xAOD::EventInfo > m_evtKey
Definition: TauAntiTauJetOverlapTool.h:135
ORUtils::TauAntiTauJetOverlapTool::isSurvivingTau
bool isSurvivingTau(const xAOD::TauJet &tau) const
Is this an ID tau? Returns false if tau ID not configured.
Definition: TauAntiTauJetOverlapTool.cxx:217
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
EventInfo.h
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
ORUtils::TauAntiTauJetOverlapTool::isBJet
bool isBJet(const xAOD::Jet &jet) const
Is this jet a b-jet? Returns false if bjet ID not configured.
Definition: TauAntiTauJetOverlapTool.cxx:208
ORUtils::TauAntiTauJetOverlapTool::m_antiTauLabel
std::string m_antiTauLabel
Decoration labelling an anti-tau.
Definition: TauAntiTauJetOverlapTool.h:109
JetContainer.h
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
defineDB.jets
list jets
Definition: JetTagCalibration/share/defineDB.py:24
ORUtils::TauAntiTauJetOverlapTool::TauAntiTauJetOverlapTool
TauAntiTauJetOverlapTool(const std::string &name)
Create proper constructor for Athena.
Definition: TauAntiTauJetOverlapTool.cxx:23
BaseOverlapTool.h
ORUtils::TauAntiTauJetOverlapTool
A tool implementing a specialized tau-jet overlap removal.
Definition: TauAntiTauJetOverlapTool.h:56
AsgTool.h
ORUtils::TauAntiTauJetOverlapTool::m_antiTauDecHelper
std::unique_ptr< OverlapDecorationHelper > m_antiTauDecHelper
Decoration helper for the anti-taus.
Definition: TauAntiTauJetOverlapTool.h:132
ORUtils::IOverlapTool
Interface class for overlap removal tools.
Definition: IOverlapTool.h:27
ORUtils::TauAntiTauJetOverlapTool::m_dR
float m_dR
Flat delta-R cone for matching objects.
Definition: TauAntiTauJetOverlapTool.h:112
IOverlapTool.h
ORUtils::TauAntiTauJetOverlapTool::m_antiTauEventCategoryDecorName
std::string m_antiTauEventCategoryDecorName
Definition: TauAntiTauJetOverlapTool.h:134