Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef RecoMuon_CosmicMuonProducer_GlobalCosmicMuonProducer_H
0002 #define RecoMuon_CosmicMuonProducer_GlobalCosmicMuonProducer_H
0003 
0004 /** \file CosmicMuonProducer
0005  *
0006  *  reconstruct muons using dt,csc,rpc and tracker starting from cosmic muon 
0007  *  tracks
0008  *
0009  *  \author Chang Liu  -  Purdue University <Chang.Liu@cern.ch>
0010  */
0011 
0012 #include "FWCore/Framework/interface/stream/EDProducer.h"
0013 #include "FWCore/Utilities/interface/InputTag.h"
0014 #include "DataFormats/TrackReco/interface/Track.h"
0015 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0016 #include <memory>
0017 
0018 class MuonTrackFinder;
0019 class MuonServiceProxy;
0020 
0021 class GlobalCosmicMuonProducer : public edm::stream::EDProducer<> {
0022 public:
0023   explicit GlobalCosmicMuonProducer(const edm::ParameterSet&);
0024 
0025   ~GlobalCosmicMuonProducer() override;
0026 
0027   void produce(edm::Event&, const edm::EventSetup&) override;
0028 
0029 private:
0030   edm::EDGetTokenT<reco::TrackCollection> theTrackCollectionToken;
0031   std::unique_ptr<MuonTrackFinder> theTrackFinder;
0032 
0033   /// the event setup proxy, it takes care the services update
0034   std::unique_ptr<MuonServiceProxy> theService;
0035 };
0036 
0037 #endif