00001 #ifndef RecoMuon_GlobalMuonProducer_TevMuonProducer_H 00002 #define RecoMuon_GlobalMuonProducer_TevMuonProducer_H 00003 00018 #include "FWCore/Framework/interface/EDProducer.h" 00019 #include "RecoMuon/GlobalTrackingTools/interface/GlobalMuonRefitter.h" 00020 #include "RecoMuon/TrackingTools/interface/MuonTrackLoader.h" 00021 00022 namespace edm {class ParameterSet; class Event; class EventSetup;} 00023 00024 class MuonTrackFinder; 00025 class MuonServiceProxy; 00026 00027 class TevMuonProducer : public edm::EDProducer { 00028 00029 public: 00030 00032 TevMuonProducer(const edm::ParameterSet&); 00033 00035 virtual ~TevMuonProducer(); 00036 00038 virtual void produce(edm::Event&, const edm::EventSetup&); 00039 00040 private: 00041 00043 edm::InputTag theGLBCollectionLabel; 00044 00046 MuonServiceProxy* theService; 00047 00048 GlobalMuonRefitter* theRefitter; 00049 00050 MuonTrackLoader* theTrackLoader; 00051 00052 std::string theAlias; 00053 std::vector<std::string> theRefits; 00054 std::vector<int> theRefitIndex; 00055 00056 void setAlias( std::string alias ){ 00057 alias.erase( alias.size() - 1, alias.size() ); 00058 theAlias=alias; 00059 } 00060 00061 }; 00062 00063 #endif