CMS 3D CMS Logo

MuonToSimAssociatorBase.h
Go to the documentation of this file.
1 #ifndef MuonToSimAssociatorBase_h
2 #define MuonToSimAssociatorBase_h
3 
12 
13 class TrackerTopology;
14 
16 public:
18  virtual ~MuonToSimAssociatorBase();
19 
21 
22  struct RefToBaseSort {
23  template <typename T>
24  bool operator()(const edm::RefToBase<T> &r1, const edm::RefToBase<T> &r2) const {
25  return (r1.id() == r2.id() ? r1.key() < r2.key() : r1.id() < r2.id());
26  }
27  };
28  typedef std::map<edm::RefToBase<reco::Muon>, std::vector<std::pair<TrackingParticleRef, double>>, RefToBaseSort>
30  typedef std::map<TrackingParticleRef, std::vector<std::pair<edm::RefToBase<reco::Muon>, double>>> SimToMuonCollection;
31 
32  virtual void associateMuons(MuonToSimCollection &recoToSim,
33  SimToMuonCollection &simToReco,
37  const edm::Event *event = nullptr,
38  const edm::EventSetup *setup = nullptr) const = 0;
39 
40  virtual void associateMuons(MuonToSimCollection &recoToSim,
41  SimToMuonCollection &simToReco,
45  const edm::Event *event = nullptr,
46  const edm::EventSetup *setup = nullptr) const = 0;
47 };
48 
49 #endif
Handle.h
MuonToSimAssociatorBase::RefToBaseSort::operator()
bool operator()(const edm::RefToBase< T > &r1, const edm::RefToBase< T > &r2) const
Definition: MuonToSimAssociatorBase.h:24
Muon.h
MuonToSimAssociatorBase::RefToBaseSort
Definition: MuonToSimAssociatorBase.h:22
MuonToSimAssociatorBase::GlobalTk
Definition: MuonToSimAssociatorBase.h:20
TrackerTopology
Definition: TrackerTopology.h:16
MuonToSimAssociatorBase::MuonToSimAssociatorBase
MuonToSimAssociatorBase()
Definition: MuonToSimAssociatorBase.cc:30
MuonToSimAssociatorBase::SimToMuonCollection
std::map< TrackingParticleRef, std::vector< std::pair< edm::RefToBase< reco::Muon >, double > > > SimToMuonCollection
Definition: MuonToSimAssociatorBase.h:30
MuonToSimAssociatorBase::~MuonToSimAssociatorBase
virtual ~MuonToSimAssociatorBase()
Definition: MuonToSimAssociatorBase.cc:32
MuonToSimAssociatorBase::MuonTrackType
MuonTrackType
Definition: MuonToSimAssociatorBase.h:20
edm::RefVector< TrackingParticleCollection >
MuonToSimAssociatorBase::Segments
Definition: MuonToSimAssociatorBase.h:20
edm::Handle
Definition: AssociativeIterator.h:50
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
MuonToSimAssociatorBase::MuonToSimCollection
std::map< edm::RefToBase< reco::Muon >, std::vector< std::pair< TrackingParticleRef, double > >, RefToBaseSort > MuonToSimCollection
Definition: MuonToSimAssociatorBase.h:29
TrackingRecHit.h
MuonToSimAssociatorBase
Definition: MuonToSimAssociatorBase.h:15
edm::View
Definition: CaloClusterFwd.h:14
Event.h
diffTwoXMLs.r2
r2
Definition: diffTwoXMLs.py:73
edm::EventSetup
Definition: EventSetup.h:58
edm::RefToBaseVector
Definition: EDProductfwd.h:29
TrackingParticle.h
MuonToSimAssociatorBase::associateMuons
virtual void associateMuons(MuonToSimCollection &recoToSim, SimToMuonCollection &simToReco, const edm::RefToBaseVector< reco::Muon > &, MuonTrackType, const edm::RefVector< TrackingParticleCollection > &, const edm::Event *event=nullptr, const edm::EventSetup *setup=nullptr) const =0
Ref.h
Frameworkfwd.h
diffTwoXMLs.r1
r1
Definition: diffTwoXMLs.py:53
EventSetup.h
edm::RefToBase
Definition: AssociativeIterator.h:54
MuonToSimAssociatorBase::InnerTk
Definition: MuonToSimAssociatorBase.h:20
MuonToSimAssociatorBase::OuterTk
Definition: MuonToSimAssociatorBase.h:20
event
Definition: event.py:1
edm::Event
Definition: Event.h:73