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