Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-01-09 23:33:51

0001 #ifndef RecoMuon_CosmicMuonProducer_CosmicMuonLinksProducer_H
0002 #define RecoMuon_CosmicMuonProducer_CosmicMuonLinksProducer_H
0003 
0004 /** \file CosmicMuonLinksProducer
0005  *
0006  *  \author Chang Liu - Purdue University <chang.liu@cern.ch>
0007  */
0008 
0009 #include "FWCore/Framework/interface/stream/EDProducer.h"
0010 #include "FWCore/Utilities/interface/InputTag.h"
0011 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0012 #include "DataFormats/TrackReco/interface/TrackToTrackMap.h"
0013 
0014 class MuonServiceProxy;
0015 
0016 class CosmicMuonLinksProducer : public edm::stream::EDProducer<> {
0017 public:
0018   explicit CosmicMuonLinksProducer(const edm::ParameterSet&);
0019 
0020   ~CosmicMuonLinksProducer() override;
0021 
0022   void produce(edm::Event&, const edm::EventSetup&) override;
0023 
0024 private:
0025   reco::TrackToTrackMap mapTracks(const edm::Handle<reco::TrackCollection>&,
0026                                   const edm::Handle<reco::TrackCollection>&) const;
0027 
0028   int sharedHits(const reco::Track& track1, const reco::Track& track2) const;
0029 
0030   MuonServiceProxy* theService;
0031 
0032   std::vector<std::pair<edm::EDGetTokenT<reco::TrackCollection>, edm::EDGetTokenT<reco::TrackCollection> > >
0033       theTrackLinks;
0034   std::vector<std::pair<std::string, std::string> > theTrackLinkNames;
0035 
0036   std::string category_;
0037 };
0038 
0039 #endif