ATLAS Offline Software
TauLooseMuOverlapTool.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_TAULOOSEMUOVERLAPTOOL_H
6 #define ASSOCIATIONUTILS_TAULOOSEMUOVERLAPTOOL_H
7 
8 // Framework includes
9 #include "AsgTools/AsgTool.h"
10 
11 // EDM includes
13 #include "xAODMuon/MuonContainer.h"
14 
15 // Local includes
19 
20 namespace ORUtils
21 {
22 
33  class TauLooseMuOverlapTool : public virtual IOverlapTool,
34  public BaseOverlapTool
35  {
36 
39 
40  public:
41 
43  TauLooseMuOverlapTool(const std::string& name);
44 
47  virtual StatusCode
49  const xAOD::IParticleContainer& cont2) const override;
50 
53  virtual StatusCode
55  const xAOD::MuonContainer& muons) const;
56 
57  protected:
58 
60  virtual StatusCode initializeDerived() override;
61 
62  private:
63 
64  //
65  // Configurable properties
66  //
67 
69  float m_maxDR;
72 
74  float m_minMuPt;
77 
78  //
79  // Utilities
80  //
81 
83  std::unique_ptr<DeltaRMatcher> m_dRMatcher;
84 
85  }; // class TauLooseMuOverlapTool
86 
87 } // namespace ORUtils
88 
89 #endif
ORUtils::TauLooseMuOverlapTool::m_minTauPtMuComb
float m_minTauPtMuComb
Tau PT threshold to compare to combined muons only.
Definition: TauLooseMuOverlapTool.h:76
ORUtils::TauLooseMuOverlapTool::m_maxDR
float m_maxDR
Maximum dR for objects flagged as overlap.
Definition: TauLooseMuOverlapTool.h:69
ORUtils::TauLooseMuOverlapTool::findOverlaps
virtual StatusCode findOverlaps(const xAOD::IParticleContainer &cont1, const xAOD::IParticleContainer &cont2) const override
Identify overlapping taus and loose muons.
Definition: TauLooseMuOverlapTool.cxx:55
ORUtils::TauLooseMuOverlapTool::initializeDerived
virtual StatusCode initializeDerived() override
Initialize the tool.
Definition: TauLooseMuOverlapTool.cxx:42
ORUtils::TauLooseMuOverlapTool::m_dRMatcher
std::unique_ptr< DeltaRMatcher > m_dRMatcher
Delta-R matcher.
Definition: TauLooseMuOverlapTool.h:83
ORUtils
Definition: AltMuJetOverlapTool.h:20
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
TauJetContainer.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
ORUtils::TauLooseMuOverlapTool::m_minMuPt
float m_minMuPt
Minimum muon PT to reject a tau.
Definition: TauLooseMuOverlapTool.h:74
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
DeltaRMatcher.h
MuonContainer.h
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
BaseOverlapTool.h
ORUtils::TauLooseMuOverlapTool
A tool implementing the recommended tau-muon overlap removal.
Definition: TauLooseMuOverlapTool.h:35
ORUtils::TauLooseMuOverlapTool::m_useRapidity
bool m_useRapidity
Calculate delta-R using rapidity.
Definition: TauLooseMuOverlapTool.h:71
AsgTool.h
ORUtils::TauLooseMuOverlapTool::TauLooseMuOverlapTool
TauLooseMuOverlapTool(const std::string &name)
Create proper constructor for Athena.
Definition: TauLooseMuOverlapTool.cxx:26
ORUtils::IOverlapTool
Interface class for overlap removal tools.
Definition: IOverlapTool.h:27
IOverlapTool.h