00001 #ifndef RecoTracker_MeasurementDet_MeasurementTrackerSiStripRefGetterProducer_H 00002 #define RecoTracker_MeasurementDet_MeasurementTrackerSiStripRefGetterProducer_H 00003 00004 00018 #include "FWCore/Framework/interface/EDProducer.h" 00019 #include "FWCore/Framework/interface/Event.h" 00020 #include "FWCore/Framework/interface/Run.h" 00021 #include "FWCore/Framework/interface/EventSetup.h" 00022 #include "FWCore/Framework/interface/ESHandle.h" 00023 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00024 00025 #include "DataFormats/Common/interface/RefGetter.h" 00026 #include "DataFormats/SiStripCluster/interface/SiStripCluster.h" 00027 00028 #include "CalibFormats/SiStripObjects/interface/SiStripRegionCabling.h" 00029 00030 #include <string> 00031 #include <memory> 00032 #include "boost/bind.hpp" 00033 00034 class MeasurementTrackerSiStripRefGetterProducer : public edm::EDProducer { 00035 00036 public: 00037 00038 typedef edm::LazyGetter<SiStripCluster> LazyGetter; 00039 typedef edm::RefGetter<SiStripCluster> RefGetter; 00040 00041 MeasurementTrackerSiStripRefGetterProducer( const edm::ParameterSet& ); 00042 ~MeasurementTrackerSiStripRefGetterProducer(); 00043 00044 virtual void beginRun( edm::Run &, const edm::EventSetup& ); 00045 virtual void endRun( edm::Run &, const edm::EventSetup& ); 00046 virtual void produce( edm::Event&, const edm::EventSetup& ); 00047 00048 private: 00049 00051 edm::InputTag inputModuleLabel_; 00052 00054 edm::ESHandle<SiStripRegionCabling> cabling_; 00055 00057 std::string measurementTrackerName_; 00058 }; 00059 00060 #endif 00061