ATLAS Offline Software
EleMuSharedTrkOverlapTool.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_SHAREDTRKOVERLAPTOOL_H
6 #define ASSOCIATIONUTILS_SHAREDTRKOVERLAPTOOL_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 
38  class EleMuSharedTrkOverlapTool : public virtual IOverlapTool,
39  public BaseOverlapTool
40  {
41 
44 
45  public:
46 
48  EleMuSharedTrkOverlapTool(const std::string& name);
49 
52  virtual StatusCode
54  const xAOD::IParticleContainer& cont2) const override;
55 
59  const xAOD::MuonContainer& muons) const;
60 
61  protected:
62 
64  virtual StatusCode initializeDerived() override;
65 
66  private:
67 
68  //
69  // Configurable properties
70  //
71 
74 
78  float m_maxDR;
81 
82  //
83  // Utilities
84  //
85 
87  std::unique_ptr<DeltaRMatcher> m_dRMatcher;
88 
89  }; // class EleMuSharedTrkOverlapTool
90 
91 } // namespace ORUtils
92 
93 #endif
ORUtils::EleMuSharedTrkOverlapTool::m_removeCaloMuons
bool m_removeCaloMuons
Flag to remove calo-muons overlapping with electrons.
Definition: EleMuSharedTrkOverlapTool.h:73
ORUtils::EleMuSharedTrkOverlapTool::findOverlaps
virtual StatusCode findOverlaps(const xAOD::IParticleContainer &cont1, const xAOD::IParticleContainer &cont2) const override
Identify overlaps via shared ID track.
Definition: EleMuSharedTrkOverlapTool.cxx:58
ORUtils::EleMuSharedTrkOverlapTool
Tool for removing overlaps between electrons and muons that share a track or are DR matched.
Definition: EleMuSharedTrkOverlapTool.h:40
ORUtils
Definition: AltMuJetOverlapTool.h:20
ElectronContainer.h
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::EleMuSharedTrkOverlapTool::EleMuSharedTrkOverlapTool
EleMuSharedTrkOverlapTool(const std::string &name)
Create proper constructor for Athena.
Definition: EleMuSharedTrkOverlapTool.cxx:23
ORUtils::EleMuSharedTrkOverlapTool::initializeDerived
virtual StatusCode initializeDerived() override
Initialize the tool.
Definition: EleMuSharedTrkOverlapTool.cxx:39
ORUtils::EleMuSharedTrkOverlapTool::m_maxDR
float m_maxDR
Maximum dR between electrons and muons if m_useDRMatching is used.
Definition: EleMuSharedTrkOverlapTool.h:78
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
DeltaRMatcher.h
MuonContainer.h
ORUtils::EleMuSharedTrkOverlapTool::m_useDRMatching
bool m_useDRMatching
Flag to remove electrons in a dR cone of muons (default: false)
Definition: EleMuSharedTrkOverlapTool.h:76
ORUtils::EleMuSharedTrkOverlapTool::m_dRMatcher
std::unique_ptr< DeltaRMatcher > m_dRMatcher
Delta-R matcher.
Definition: EleMuSharedTrkOverlapTool.h:87
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
BaseOverlapTool.h
AsgTool.h
ORUtils::IOverlapTool
Interface class for overlap removal tools.
Definition: IOverlapTool.h:27
InDetDD::electrons
@ electrons
Definition: InDetDD_Defs.h:17
ORUtils::EleMuSharedTrkOverlapTool::m_useRapidity
bool m_useRapidity
Calculate delta-R using rapidity.
Definition: EleMuSharedTrkOverlapTool.h:80
IOverlapTool.h