ATLAS Offline Software
Loading...
Searching...
No Matches
EleMuSharedTrkOverlapTool.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_SHAREDTRKOVERLAPTOOL_H
6#define ASSOCIATIONUTILS_SHAREDTRKOVERLAPTOOL_H
7
8// Framework includes
9#include "AsgTools/AsgTool.h"
10
11// EDM includes
16
17// Columnar includes
22
23// Local includes
27
28namespace ORUtils
29{
30
47 public BaseOverlapTool
48 {
49
52
53 public:
54
56 EleMuSharedTrkOverlapTool(const std::string& name);
57
60 virtual StatusCode
63 columnar::EventContextId eventContext) const override;
64
66 StatusCode
68 columnar::Particle2Range muons) const;
69
70 protected:
71
73 virtual StatusCode initializeDerived() override;
74
75 private:
76
77 //
78 // Configurable properties
79 //
80
83
87 float m_maxDR;
90
91 //
92 // Utilities
93 //
94
97
110 std::unique_ptr<Accessors> m_accessors {std::make_unique<Accessors> (this)};
111
113
115 std::unique_ptr<DeltaRMatcher> m_dRMatcher;
116
117 }; // class EleMuSharedTrkOverlapTool
118
119} // namespace ORUtils
120
121#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
BaseOverlapTool(const std::string &name)
Create proper constructor for Athena.
columnar::VariantContainerId< columnar::ContainerId::track0, columnar::ContainerId::track0, columnar::ContainerId::track1 > MyTrackDef
IDTrack type.
StatusCode internalFindOverlaps(columnar::Particle1Range electrons, columnar::Particle2Range muons) const
Alternate method taking actual container types.
bool m_useDRMatching
Flag to remove electrons in a dR cone of muons (default: false)
EleMuSharedTrkOverlapTool(const std::string &name)
Create proper constructor for Athena.
std::unique_ptr< DeltaRMatcher > m_dRMatcher
Delta-R matcher.
virtual StatusCode findOverlaps(columnar::Particle1Range cont1, columnar::Particle2Range cont2, columnar::EventContextId eventContext) const override
Identify overlaps via shared ID track.
bool m_useRapidity
Calculate delta-R using rapidity.
virtual StatusCode initializeDerived() override
Initialize the tool.
float m_maxDR
Maximum dR between electrons and muons if m_useDRMatching is used.
columnar::ObjectLink< MyTrackDef > getOriginalTrackParticle(columnar::Particle1Id electron) const
bool m_removeCaloMuons
Flag to remove calo-muons overlapping with electrons.
Interface class for overlap removal tools.
the base class for all columnar components
ObjectId< ContainerId::particle1 > Particle1Id
Definition ParticleDef.h:48
AccessorTemplate< ContainerId::track0, CT, ColumnAccessMode::input, CM > Track0Accessor
Definition TrackDef.h:52
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::track2, CT, ColumnAccessMode::input, CM > Track2Accessor
Definition TrackDef.h:60
AccessorTemplate< ContainerId::particle1, CT, ColumnAccessMode::input, CM > Particle1Accessor
Definition ParticleDef.h:50
AccessorTemplate< ContainerId::track1, CT, ColumnAccessMode::input, CM > Track1Accessor
Definition TrackDef.h:56
columnar::Particle1Accessor< std::vector< columnar::OptTrack2Id > > m_eleTrackAcc
columnar::Track1Accessor< columnar::ObjectColumn > m_track1Acc
columnar::Track2Accessor< columnar::ObjectColumn > m_track2Acc
columnar::Track0Accessor< columnar::ObjectColumn > m_track0Acc
columnar::Particle2Accessor< columnar::RetypeColumn< xAOD::Muon::MuonType, std::uint16_t > > m_muonTypeAcc
columnar::Track2Accessor< columnar::ObjectLink< MyTrackDef > > m_gsfOriginalTrackAcc
columnar::Particle2Accessor< columnar::ObjectLink< MyTrackDef > > m_muonTrkAcc
a "variant" ContainerId
Definition VariantDef.h:98