ATLAS Offline Software
EleEleOverlapTool.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_ELEELEOVERLAPTOOL_H
6 #define ASSOCIATIONUTILS_ELEELEOVERLAPTOOL_H
7 
8 // EDM includes
10 
11 // Local includes
14 
15 namespace ORUtils
16 {
17 
34  class EleEleOverlapTool : public virtual IOverlapTool,
35  public BaseOverlapTool
36  {
37 
40 
41  public:
42 
44  EleEleOverlapTool(const std::string& name);
45 
48  virtual StatusCode
50  const xAOD::IParticleContainer& cont2) const override;
51 
54  virtual StatusCode
56 
57  protected:
58 
60  virtual StatusCode initializeDerived() override;
61 
62  private:
63 
65  bool electronsMatch(const xAOD::Electron& el1, const xAOD::Electron& el2) const;
66 
68  bool rejectFirst(const xAOD::Electron& el1, const xAOD::Electron& el2) const;
69 
72 
75 
78 
81 
84 
86 
87  }; // class EleEleOverlapTool
88 
89 } // namespace ORUtils
90 
91 #endif
ORUtils::EleEleOverlapTool::m_clusterDeltaEta
double m_clusterDeltaEta
Cluster-matching dEta.
Definition: EleEleOverlapTool.h:80
ORUtils::EleEleOverlapTool::m_clusterDeltaPhi
double m_clusterDeltaPhi
Cluster-matching dPhi.
Definition: EleEleOverlapTool.h:83
ORUtils::EleEleOverlapTool::initializeDerived
virtual StatusCode initializeDerived() override
Initialize the tool.
Definition: EleEleOverlapTool.cxx:63
ORUtils::EleEleOverlapTool::rejectFirst
bool rejectFirst(const xAOD::Electron &el1, const xAOD::Electron &el2) const
Helper method to decide which electron to reject.
Definition: EleEleOverlapTool.cxx:189
ORUtils::EleEleOverlapTool
A tool implementing the recommended ele-ele overlap removal.
Definition: EleEleOverlapTool.h:36
ORUtils::EleEleOverlapTool::EleEleOverlapTool
EleEleOverlapTool(const std::string &name)
Create proper constructor for Athena.
Definition: EleEleOverlapTool.cxx:43
ORUtils
Definition: AltMuJetOverlapTool.h:20
ORUtils::EleEleOverlapTool::m_useTrackMatch
bool m_useTrackMatch
Match electrons by shared track (on by default)
Definition: EleEleOverlapTool.h:74
ElectronContainer.h
ORUtils::EleEleOverlapTool::electronsMatch
bool electronsMatch(const xAOD::Electron &el1, const xAOD::Electron &el2) const
Helper method for matching electrons.
Definition: EleEleOverlapTool.cxx:146
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
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
xAOD::Electron_v1
Definition: Electron_v1.h:34
ORUtils::EleEleOverlapTool::m_useClusterMatch
bool m_useClusterMatch
Match electrons by cluster distance (off by default)
Definition: EleEleOverlapTool.h:77
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
BaseOverlapTool.h
ORUtils::IOverlapTool
Interface class for overlap removal tools.
Definition: IOverlapTool.h:27
InDetDD::electrons
@ electrons
Definition: InDetDD_Defs.h:17
ORUtils::EleEleOverlapTool::findOverlaps
virtual StatusCode findOverlaps(const xAOD::IParticleContainer &cont1, const xAOD::IParticleContainer &cont2) const override
Identify overlapping electrons.
Definition: EleEleOverlapTool.cxx:83
IOverlapTool.h