ATLAS Offline Software
Loading...
Searching...
No Matches
MuJetGhostDRMatcher.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_MUJETGHOSTMATCHER_H
6#define ASSOCIATIONUTILS_MUJETGHOSTMATCHER_H
7
8// System includes
9#include <memory>
10
11// Infrastructure includes
13
14// Columnar includes
20
21// Local includes
23
24namespace ORUtils
25{
26
39 {
40
41 public:
42
44 MuJetGhostDRMatcher(double dR, bool useRapidity=true);
45
47 virtual StatusCode setObjectTypes (xAODType::ObjectType type1,
48 xAODType::ObjectType type2) override;
49
51 virtual bool objectsMatch
52 (columnar::Particle1Id mu, columnar::Particle2Id jet, bool swapArgs = false) const override;
53
54 private:
55
57 std::unique_ptr<IParticleAssociator> m_drMatcher;
58
61
63
64 // Ghost track list accessor
66
67 }; // class MuJetGhostDRMatcher
68
69} // namespace ORUtils
70
71#endif
Interface for a class which checks for a match between IParticles.
columnar::VariantContainerId< columnar::ContainerId::track0, columnar::ContainerId::track0, columnar::ContainerId::track1 > MyTrackDef
IDTrack type.
MuJetGhostDRMatcher(double dR, bool useRapidity=true)
Constructor takes same arguments as the DeltaRMatcher.
virtual StatusCode setObjectTypes(xAODType::ObjectType type1, xAODType::ObjectType type2) override
Set the object types to be used in the association.
columnar::Particle2Accessor< std::vector< columnar::LinkCastColumn< MyTrackDef, xAOD::IParticleContainer > > > m_ghostAcc
virtual bool objectsMatch(columnar::Particle1Id mu, columnar::Particle2Id jet, bool swapArgs=false) const override
Check for a match via ghost association or delta-R.
columnar::Particle1Accessor< columnar::ObjectLink< MyTrackDef > > m_muonTrkAcc
std::unique_ptr< IParticleAssociator > m_drMatcher
The delta-R matcher.
Class mimicking the AthMessaging class from the offline software.
ObjectId< ContainerId::particle1 > Particle1Id
Definition ParticleDef.h:48
ObjectId< ContainerId::particle2 > Particle2Id
Definition ParticleDef.h:54
AccessorTemplate< ContainerId::particle2, CT, ColumnAccessMode::input, CM > Particle2Accessor
Definition ParticleDef.h:56
AccessorTemplate< ContainerId::particle1, CT, ColumnAccessMode::input, CM > Particle1Accessor
Definition ParticleDef.h:50
ObjectType
Type of objects that have a representation in the xAOD EDM.
Definition ObjectType.h:32
a "variant" ContainerId
Definition VariantDef.h:98