ATLAS Offline Software
Loading...
Searching...
No Matches
EleJetOverlapTool.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_ELEJETOVERLAPTOOL_H
6#define ASSOCIATIONUTILS_ELEJETOVERLAPTOOL_H
7
8// Framework includes
9#include "AsgTools/AsgTool.h"
10
11// EDM includes
15#include "ColumnarJet/JetDef.h"
16
17// Local includes
21
22namespace ORUtils
23{
24
39 class EleJetOverlapTool : public virtual IOverlapTool,
40 public BaseOverlapTool
41 {
42
45
46 public:
47
49 EleJetOverlapTool(const std::string& name);
50
56 virtual StatusCode
59 columnar::EventContextId eventContext) const override;
60
63 virtual StatusCode
65 columnar::Particle2Range jets) const;
66
67 protected:
68
70 virtual StatusCode initializeDerived() override;
71
72 private:
73
76
78 std::string m_bJetLabel;
79
82
87
89 float m_innerDR;
91 float m_outerDR;
92
101
104
114 std::unique_ptr<Accessors> m_accessors {std::make_unique<Accessors> (this)};
115
117
120
122 std::unique_ptr<IParticleAssociator> m_dRMatchCone1;
124 std::unique_ptr<IParticleAssociator> m_dRMatchCone2;
125
127
128 }; // class EleJetOverlapTool
129
130} // namespace ORUtils
131
132#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
BaseOverlapTool(const std::string &name)
Create proper constructor for Athena.
bool m_applyPtRatio
Toggle PT ratio criteria.
std::unique_ptr< IParticleAssociator > m_dRMatchCone1
Delta-R matcher for the inner cone.
std::unique_ptr< IParticleAssociator > m_dRMatchCone2
Delta-R matcher for the outer cone.
float m_outerDR
Outer dR cone within which electrons get removed.
bool m_useSlidingDR
Activate sliding dR for the cone which removes electrons.
double m_slidingDRMaxCone
Sliding cone max size.
virtual StatusCode initializeDerived() override
Initialize the tool.
double m_slidingDRC2
Sliding cone C2.
double m_slidingDRC1
Sliding cone C1.
double m_eleJetPtRatio
Minimum e/jet pt ratio to remove a jet.
bool m_useRapidity
Calculate deltaR using rapidity.
virtual StatusCode internalFindOverlaps(columnar::Particle1Range electrons, columnar::Particle2Range jets) const
Identify overlapping electrons and jets.
float m_innerDR
Inner dR cone within which jets get removed.
std::unique_ptr< Accessors > m_accessors
virtual StatusCode findOverlaps(columnar::Particle1Range cont1, columnar::Particle2Range cont2, columnar::EventContextId eventContext) const override
Identify overlapping electrons and jets.
double m_maxElePtForBJetAwareOR
Max electron PT for b-tag aware OR.
std::string m_bJetLabel
Input jet decoration which labels a bjet.
EleJetOverlapTool(const std::string &name)
Create proper constructor for Athena.
Interface class for overlap removal tools.
the base class for all columnar components
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
AccessorTemplate< ContainerId::particle1, CT, ColumnAccessMode::input, CM > Particle1Accessor
Definition ParticleDef.h:50
columnar::Particle2Accessor< float > m_jetPtAcc
columnar::Particle1Accessor< float > m_elePtAcc
columnar::Particle2Accessor< char > m_bJetAcc
BJet helper.