00001 #ifndef RecoMuon_CosmicMuonProducer_CosmicMuonLinksProducer_H 00002 #define RecoMuon_CosmicMuonProducer_CosmicMuonLinksProducer_H 00003 00011 #include "FWCore/Framework/interface/EDProducer.h" 00012 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00013 #include "DataFormats/TrackReco/interface/TrackToTrackMap.h" 00014 00015 class MuonServiceProxy; 00016 00017 class CosmicMuonLinksProducer : public edm::EDProducer { 00018 public: 00019 explicit CosmicMuonLinksProducer(const edm::ParameterSet&); 00020 00021 ~CosmicMuonLinksProducer(); 00022 00023 virtual void produce(edm::Event&, const edm::EventSetup&); 00024 00025 private: 00026 00027 reco::TrackToTrackMap mapTracks(const edm::Handle<reco::TrackCollection>&, const edm::Handle<reco::TrackCollection>&) const; 00028 00029 int sharedHits(const reco::Track& track1, const reco::Track& track2) const; 00030 00031 MuonServiceProxy* theService; 00032 00033 std::vector<std::pair<edm::InputTag, edm::InputTag> > theTrackLinks; 00034 00035 std::string category_; 00036 00037 }; 00038 00039 #endif