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 ADD_CMODE(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
50 findOverlaps(columnar::Particle1Range cont1,
52 columnar::EventContextId eventContext) const override;
53
56 virtual StatusCode
57 internalFindOverlaps(columnar::Particle1Range taus,
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;
78 bool m_useRapidity;
79
81 std::string m_eleID;
82
85 std::string m_altEleID;
86
87 //
88 // Utilities
89 //
90
92 struct Accessors final : columnar::ColumnarTool<>
93 {
96 using ColumnarTool::ColumnarTool;
97 };
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 ADD_CMODE(ORUtils)
106
107#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
static Double_t taus
the base class for all columnar components
ObjectId< EventContextDef > EventContextId
AccessorTemplate< Particle2Def, CT, ColumnAccessMode::input, CM > Particle2Accessor
Definition ParticleDef.h:53
ObjectRange< Particle2Def > Particle2Range
Definition ParticleDef.h:50
ObjectRange< Particle1Def > Particle1Range
Definition ParticleDef.h:44
ObjectId< Particle2Def > Particle2Id
Definition ParticleDef.h:51