![]() |
![]() |
00001 #ifndef RecoMuon_GlobalTrackingTools_GlobalMuonRefitter_H 00002 #define RecoMuon_GlobalTrackingTools_GlobalMuonRefitter_H 00003 00004 #include "DataFormats/Common/interface/Handle.h" 00005 00006 #include "FWCore/Framework/interface/ESHandle.h" 00007 #include "FWCore/ParameterSet/interface/InputTag.h" 00008 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00009 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00010 00011 #include "DataFormats/DTRecHit/interface/DTRecSegment2D.h" 00012 #include "DataFormats/DTRecHit/interface/DTRecSegment4D.h" 00013 #include "DataFormats/CSCRecHit/interface/CSCSegment.h" 00014 00015 #include "DataFormats/MuonReco/interface/Muon.h" 00016 00017 namespace edm {class Event; class EventSetup;} 00018 namespace reco {class TransientTrack;} 00019 00020 class MuonServiceProxy; 00021 00022 class MuonSegmentMatcher { 00023 00024 public: 00025 00027 MuonSegmentMatcher(const edm::ParameterSet&, MuonServiceProxy*); 00028 00030 virtual ~MuonSegmentMatcher(); 00031 00033 std::vector<const DTRecSegment4D*> matchDT (const reco::Track& muon, const edm::Event& event); 00034 00035 std::vector<const CSCSegment*> matchCSC(const reco::Track& muon, const edm::Event& event); 00036 00037 protected: 00038 00039 private: 00040 const MuonServiceProxy* theService; 00041 const edm::Event* theEvent; 00042 00043 edm::InputTag TKtrackTags_; 00044 edm::InputTag trackTags_; //used to select what tracks to read from configuration file 00045 edm::InputTag DTSegmentTags_; 00046 edm::InputTag CSCSegmentTags_; 00047 00048 bool dtTightMatch; 00049 bool cscTightMatch; 00050 00051 }; 00052 #endif