ATLAS Offline Software
Loading...
Searching...
No Matches
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
16
17// Local includes
21
22namespace ORUtils
23{
24
35 class TauLooseEleOverlapTool : public virtual IOverlapTool,
36 public BaseOverlapTool
37 {
38
41
42 public:
43
45 TauLooseEleOverlapTool(const std::string& name);
46
49 virtual StatusCode
52 columnar::EventContextId eventContext) const override;
53
56 virtual StatusCode
58 columnar::Particle2Range electrons) const;
59
60 protected:
61
63 virtual StatusCode initializeDerived() override;
64
65 protected:
66
67 StatusCode checkElectronID(columnar::Particle2Id electron, bool& pass) const;
68
69 private:
70
71 //
72 // Configurable properties
73 //
74
76 float m_maxDR;
79
81 std::string m_eleID;
82
85 std::string m_altEleID;
86
87 //
88 // Utilities
89 //
90
98 std::unique_ptr<Accessors> m_accessors {std::make_unique<Accessors> (this)};
99
101 std::unique_ptr<DeltaRMatcher> m_dRMatcher;
102
103 }; // class TauLooseEleOverlapTool
104
105} // namespace ORUtils
106
107#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
static Double_t taus
BaseOverlapTool(const std::string &name)
Create proper constructor for Athena.
Interface class for overlap removal tools.
TauLooseEleOverlapTool(const std::string &name)
Create proper constructor for Athena.
bool m_useRapidity
Calculate delta-R using rapidity.
std::unique_ptr< Accessors > m_accessors
virtual StatusCode initializeDerived() override
Initialize the tool.
StatusCode checkElectronID(columnar::Particle2Id electron, bool &pass) const
float m_maxDR
Maximum dR for objects flagged as overlap.
virtual StatusCode findOverlaps(columnar::Particle1Range cont1, columnar::Particle2Range cont2, columnar::EventContextId eventContext) const override
Identify overlapping taus and loose electrons.
std::string m_eleID
Loose electron selection criteria string (e.g. Loose)
std::string m_altEleID
Alternate fallback loose ID string; mainly convenient for testing.
std::unique_ptr< DeltaRMatcher > m_dRMatcher
Delta-R matcher.
virtual StatusCode internalFindOverlaps(columnar::Particle1Range taus, columnar::Particle2Range electrons) const
Identify overlapping taus and loose electrons.
the base class for all columnar components
ObjectId< ContainerId::particle2 > Particle2Id
Definition ParticleDef.h:54
AccessorTemplate< ContainerId::particle2, CT, ColumnAccessMode::input, CM > Particle2Accessor
Definition ParticleDef.h:56
ObjectId< ContainerId::eventContext > EventContextId
ObjectRange< ContainerId::particle2 > Particle2Range
Definition ParticleDef.h:53
ObjectRange< ContainerId::particle1 > Particle1Range
Definition ParticleDef.h:47
columnar::Particle2Accessor< char > m_eleIDAcc
columnar::Particle2Accessor< char > m_altEleIDAcc