ATLAS Offline Software
TauLooseEleOverlapTool.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_TAULOOSEELEOVERLAPTOOL_H
6 #define ASSOCIATIONUTILS_TAULOOSEELEOVERLAPTOOL_H
7 
8 // Framework includes
9 #include "AsgTools/AsgTool.h"
10 
11 // EDM includes
14 
15 // Local includes
19 
20 namespace ORUtils
21 {
22 
33  class TauLooseEleOverlapTool : public virtual IOverlapTool,
34  public BaseOverlapTool
35  {
36 
39 
40  public:
41 
43  TauLooseEleOverlapTool(const std::string& name);
44 
47  virtual StatusCode
49  const xAOD::IParticleContainer& cont2) const override;
50 
53  virtual StatusCode
55  const xAOD::ElectronContainer& electrons) const;
56 
57  protected:
58 
60  virtual StatusCode initializeDerived() override;
61 
62  protected:
63 
64  StatusCode checkElectronID(const xAOD::Electron& electron, bool& pass) const;
65 
66  private:
67 
68  //
69  // Configurable properties
70  //
71 
73  float m_maxDR;
76 
78  std::string m_eleID;
79 
82  std::string m_altEleID;
83 
84  //
85  // Utilities
86  //
87 
89  std::unique_ptr<DeltaRMatcher> m_dRMatcher;
90 
91  }; // class TauLooseEleOverlapTool
92 
93 } // namespace ORUtils
94 
95 #endif
ORUtils::TauLooseEleOverlapTool
A tool implementing the recommended tau-electron overlap removal.
Definition: TauLooseEleOverlapTool.h:35
ORUtils::TauLooseEleOverlapTool::m_dRMatcher
std::unique_ptr< DeltaRMatcher > m_dRMatcher
Delta-R matcher.
Definition: TauLooseEleOverlapTool.h:89
ORUtils::TauLooseEleOverlapTool::m_maxDR
float m_maxDR
Maximum dR for objects flagged as overlap.
Definition: TauLooseEleOverlapTool.h:73
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::TauLooseEleOverlapTool::initializeDerived
virtual StatusCode initializeDerived() override
Initialize the tool.
Definition: TauLooseEleOverlapTool.cxx:36
ORUtils::TauLooseEleOverlapTool::findOverlaps
virtual StatusCode findOverlaps(const xAOD::IParticleContainer &cont1, const xAOD::IParticleContainer &cont2) const override
Identify overlapping taus and loose electrons.
Definition: TauLooseEleOverlapTool.cxx:48
ORUtils::TauLooseEleOverlapTool::m_useRapidity
bool m_useRapidity
Calculate delta-R using rapidity.
Definition: TauLooseEleOverlapTool.h:75
TauJetContainer.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
DeltaRMatcher.h
xAOD::Electron_v1
Definition: Electron_v1.h:34
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
ORUtils::TauLooseEleOverlapTool::TauLooseEleOverlapTool
TauLooseEleOverlapTool(const std::string &name)
Create proper constructor for Athena.
Definition: TauLooseEleOverlapTool.cxx:20
xAOD::EgammaParameters::electron
@ electron
Definition: EgammaEnums.h:18
BaseOverlapTool.h
ORUtils::TauLooseEleOverlapTool::checkElectronID
StatusCode checkElectronID(const xAOD::Electron &electron, bool &pass) const
Definition: TauLooseEleOverlapTool.cxx:107
AsgTool.h
ORUtils::TauLooseEleOverlapTool::m_altEleID
std::string m_altEleID
Alternate fallback loose ID string; mainly convenient for testing.
Definition: TauLooseEleOverlapTool.h:82
ORUtils::IOverlapTool
Interface class for overlap removal tools.
Definition: IOverlapTool.h:27
ORUtils::TauLooseEleOverlapTool::m_eleID
std::string m_eleID
Loose electron selection criteria string (e.g. Loose)
Definition: TauLooseEleOverlapTool.h:78
InDetDD::electrons
@ electrons
Definition: InDetDD_Defs.h:17
IOverlapTool.h