00001 #ifndef FastSimulation_Muons_FastL3MuonProducer__H 00002 #define FastSimulation_Muons_FastL3MuonProducer_H 00003 00017 #include "FWCore/Framework/interface/EDProducer.h" 00018 #include "FWCore/Utilities/interface/InputTag.h" 00019 00020 namespace edm {class ParameterSet; class Event; class EventSetup;} 00021 00022 class MuonServiceProxy; 00023 class MuonTrackFinder; 00024 // class FastL3MuonTrajectoryBuilder; 00025 class L3MuonTrajectoryBuilder; 00026 00027 class FastL3MuonProducer : public edm::EDProducer { 00028 00029 public: 00030 00032 FastL3MuonProducer(const edm::ParameterSet&); 00033 00035 virtual ~FastL3MuonProducer(); 00036 00038 virtual void produce(edm::Event&, const edm::EventSetup&); 00039 00040 00041 private: 00042 00044 edm::InputTag theL2CollectionLabel; 00045 00047 edm::InputTag theTrackerTrackCollectionLabel; 00048 00050 std::string theL2SeededTkLabel; 00051 00052 // The muon track finder (from STA and tracks) 00053 MuonTrackFinder* theTrackFinder; 00054 // FastL3MuonTrajectoryBuilder* l3mtb; 00055 L3MuonTrajectoryBuilder* l3mtb; 00056 00057 bool theL2TrajectoryFlag; 00058 bool updatedAtVtx; 00059 00061 MuonServiceProxy *theService; 00062 00063 }; 00064 00065 #endif