File indexing completed on 2024-04-06 12:29:39
0001 #ifndef SimDataFormats_Associations_MuonToTrackingParticleAssociatorBaseImpl_h
0002 #define SimDataFormats_Associations_MuonToTrackingParticleAssociatorBaseImpl_h
0003
0004 #include "DataFormats/Common/interface/Handle.h"
0005 #include "DataFormats/Common/interface/Ref.h"
0006 #include "DataFormats/MuonReco/interface/Muon.h"
0007 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
0008 #include "SimDataFormats/Associations/interface/MuonTrackType.h"
0009 #include "SimDataFormats/TrackingAnalysis/interface/TrackingParticle.h"
0010
0011 namespace reco {
0012 class MuonToTrackingParticleAssociatorBaseImpl {
0013 public:
0014 MuonToTrackingParticleAssociatorBaseImpl();
0015 virtual ~MuonToTrackingParticleAssociatorBaseImpl();
0016
0017 virtual void associateMuons(MuonToSimCollection &recoToSim,
0018 SimToMuonCollection &simToReco,
0019 const edm::RefToBaseVector<reco::Muon> &muons,
0020 MuonTrackType type,
0021 const edm::RefVector<TrackingParticleCollection> &tpColl) const = 0;
0022
0023 virtual void associateMuons(MuonToSimCollection &recoToSim,
0024 SimToMuonCollection &simToReco,
0025 const edm::Handle<edm::View<reco::Muon>> &muons,
0026 MuonTrackType type,
0027 const edm::Handle<TrackingParticleCollection> &tpColl) const = 0;
0028 };
0029 }
0030
0031 #endif