ATLAS Offline Software
MuJetOverlapTool.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_MUJETOVERLAPTOOL_H
6 #define ASSOCIATIONUTILS_MUJETOVERLAPTOOL_H
7 
8 // Framework includes
9 #include "AsgTools/AsgTool.h"
10 
11 // EDM includes
12 #include "xAODMuon/MuonContainer.h"
13 #include "xAODJet/JetContainer.h"
15 
16 // Local includes
21 
22 namespace ORUtils
23 {
24 
61  class MuJetOverlapTool : public virtual IOverlapTool,
62  public BaseOverlapTool
63  {
64 
67 
68  public:
69 
71  MuJetOverlapTool(const std::string& name);
72 
77  virtual StatusCode
79  const xAOD::IParticleContainer& cont2) const override;
80 
83  virtual StatusCode
84  findOverlaps(const xAOD::MuonContainer& muons,
85  const xAOD::JetContainer& jets) const;
86 
87  protected:
88 
90  virtual StatusCode initializeDerived() override;
91 
92  protected:
93 
95  const xAOD::Vertex* getPrimVtx() const;
96 
98  int getNumTracks(const xAOD::Jet& jet, size_t vtxIdx) const;
99 
101  float getSumTrackPt(const xAOD::Jet& jet, size_t vtxIdx) const;
102 
103  private:
104 
107 
109  std::string m_bJetLabel;
110 
120 
122  std::string m_jetNumTrkDec;
124  std::string m_jetSumTrkPtDec;
125 
128 
130  float m_innerDR;
133  float m_outerDR;
134 
143 
146 
148 
151 
153  std::unique_ptr<BJetHelper> m_bJetHelper;
154 
156  std::unique_ptr<IParticleAssociator> m_dRMatchCone1;
158  std::unique_ptr<IParticleAssociator> m_dRMatchCone2;
159 
161 
162  }; // class MuJetOverlapTool
163 
164 } // namespace ORUtils
165 
166 #endif
ORUtils::MuJetOverlapTool::getPrimVtx
const xAOD::Vertex * getPrimVtx() const
Retrieve the primary vertex used to count jet tracks.
Definition: MuJetOverlapTool.cxx:213
ORUtils::MuJetOverlapTool
A tool implementing the recommended mu-jet overlap removal.
Definition: MuJetOverlapTool.h:63
ORUtils::MuJetOverlapTool::m_jetNumTrkDec
std::string m_jetNumTrkDec
Optional user decoration for jet numTrack of type 'int'.
Definition: MuJetOverlapTool.h:122
BJetHelper.h
ORUtils::MuJetOverlapTool::getSumTrackPt
float getSumTrackPt(const xAOD::Jet &jet, size_t vtxIdx) const
Get the sum trk pt in a jet w.r.t. requested vertex.
Definition: MuJetOverlapTool.cxx:248
ORUtils::MuJetOverlapTool::m_bJetLabel
std::string m_bJetLabel
Input jet decoration which labels a bjet.
Definition: MuJetOverlapTool.h:109
ORUtils::MuJetOverlapTool::m_slidingDRC1
double m_slidingDRC1
C1, the constant offset in sliding dR.
Definition: MuJetOverlapTool.h:138
ORUtils::MuJetOverlapTool::getNumTracks
int getNumTracks(const xAOD::Jet &jet, size_t vtxIdx) const
Get the number of tracks in a jet w.r.t. requested vertex.
Definition: MuJetOverlapTool.cxx:234
ORUtils::MuJetOverlapTool::m_innerDR
float m_innerDR
Inner dR cone within which jets get removed.
Definition: MuJetOverlapTool.h:130
IObjectAssociator.h
ORUtils
Definition: AltMuJetOverlapTool.h:20
ORUtils::MuJetOverlapTool::m_numJetTrk
int m_numJetTrk
Minimum number of jet tracks to prioritize the jet.
Definition: MuJetOverlapTool.h:112
ORUtils::MuJetOverlapTool::m_useGhostAssociation
bool m_useGhostAssociation
Use ghost association in matching to remove jets.
Definition: MuJetOverlapTool.h:127
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
ORUtils::MuJetOverlapTool::m_muJetPtRatio
float m_muJetPtRatio
PT ratio threshold for vetoing the jet.
Definition: MuJetOverlapTool.h:117
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
ORUtils::MuJetOverlapTool::m_muJetTrkPtRatio
float m_muJetTrkPtRatio
PT ratio threshold for vetoing the jet. Uses sum of jet track PT.
Definition: MuJetOverlapTool.h:119
ORUtils::MuJetOverlapTool::m_slidingDRMaxCone
double m_slidingDRMaxCone
MaxCone, the upper limit of the sliding cone.
Definition: MuJetOverlapTool.h:142
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
ORUtils::MuJetOverlapTool::m_dRMatchCone1
std::unique_ptr< IParticleAssociator > m_dRMatchCone1
Delta-R matcher for the inner cone.
Definition: MuJetOverlapTool.h:156
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ORUtils::MuJetOverlapTool::m_slidingDRC2
double m_slidingDRC2
C1, the inverse pt factor in sliding dR.
Definition: MuJetOverlapTool.h:140
ORUtils::MuJetOverlapTool::MuJetOverlapTool
MuJetOverlapTool(const std::string &name)
Create proper constructor for Athena.
Definition: MuJetOverlapTool.cxx:29
ORUtils::MuJetOverlapTool::m_bJetHelper
std::unique_ptr< BJetHelper > m_bJetHelper
BJet helper.
Definition: MuJetOverlapTool.h:153
ORUtils::MuJetOverlapTool::m_useSlidingDR
bool m_useSlidingDR
Toggle sliding dR overlap removal for removing muons.
Definition: MuJetOverlapTool.h:136
ORUtils::MuJetOverlapTool::m_applyRelPt
bool m_applyRelPt
Toggle PT ratio criteria TODO: rename to m_applyPtRatio.
Definition: MuJetOverlapTool.h:115
MuonContainer.h
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
VertexContainer.h
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
JetContainer.h
ORUtils::MuJetOverlapTool::initializeDerived
virtual StatusCode initializeDerived() override
Initialize the tool.
Definition: MuJetOverlapTool.cxx:67
ORUtils::MuJetOverlapTool::m_outerDR
float m_outerDR
Outer dR cone within which muons get removed.
Definition: MuJetOverlapTool.h:133
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
defineDB.jets
list jets
Definition: JetTagCalibration/share/defineDB.py:24
BaseOverlapTool.h
ORUtils::MuJetOverlapTool::m_useRapidity
bool m_useRapidity
Calculate deltaR using rapidity.
Definition: MuJetOverlapTool.h:145
ORUtils::MuJetOverlapTool::m_dRMatchCone2
std::unique_ptr< IParticleAssociator > m_dRMatchCone2
Delta-R matcher for the outer cone.
Definition: MuJetOverlapTool.h:158
AsgTool.h
ORUtils::MuJetOverlapTool::findOverlaps
virtual StatusCode findOverlaps(const xAOD::IParticleContainer &cont1, const xAOD::IParticleContainer &cont2) const override
Identify overlapping muons and jets.
Definition: MuJetOverlapTool.cxx:119
ORUtils::IOverlapTool
Interface class for overlap removal tools.
Definition: IOverlapTool.h:27
ORUtils::MuJetOverlapTool::m_jetSumTrkPtDec
std::string m_jetSumTrkPtDec
Optional user decoration for jet sumTrackPT of type 'float'.
Definition: MuJetOverlapTool.h:124
IOverlapTool.h