File indexing completed on 2024-04-06 12:29:39
0001 #ifndef SimDataFormats_Associations_MuonTrackType_h
0002 #define SimDataFormats_Associations_MuonTrackType_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #include "DataFormats/Common/interface/RefToBase.h"
0023 #include "DataFormats/MuonReco/interface/Muon.h"
0024 #include "SimDataFormats/TrackingAnalysis/interface/TrackingParticle.h"
0025 #include <vector>
0026
0027 namespace reco {
0028 enum MuonTrackType { InnerTk, OuterTk, GlobalTk, Segments, GlbOrTrk };
0029
0030 struct RefToBaseSort {
0031 template <typename T>
0032 bool operator()(const edm::RefToBase<T> &r1, const edm::RefToBase<T> &r2) const {
0033 return (r1.id() == r2.id() ? r1.key() < r2.key() : r1.id() < r2.id());
0034 }
0035 };
0036 typedef std::map<edm::RefToBase<reco::Muon>, std::vector<std::pair<TrackingParticleRef, double>>, RefToBaseSort>
0037 MuonToSimCollection;
0038 typedef std::map<TrackingParticleRef, std::vector<std::pair<edm::RefToBase<reco::Muon>, double>>> SimToMuonCollection;
0039
0040 }
0041
0042 #endif