00001 #ifndef SiPixelRawToDigi_H 00002 #define SiPixelRawToDigi_H 00003 00009 #include "FWCore/Framework/interface/ESWatcher.h" 00010 #include "FWCore/Framework/interface/EDProducer.h" 00011 #include "FWCore/Framework/interface/EventSetup.h" 00012 #include "FWCore/Framework/interface/Event.h" 00013 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00014 #include "CondFormats/DataRecord/interface/SiPixelFedCablingMapRcd.h" 00015 #include "CondFormats/DataRecord/interface/SiPixelQualityRcd.h" 00016 00017 class SiPixelFedCabling; 00018 class SiPixelQuality; 00019 class TH1D; 00020 class R2DTimerObserver; 00021 00022 00023 class SiPixelRawToDigi : public edm::EDProducer { 00024 public: 00025 00027 explicit SiPixelRawToDigi( const edm::ParameterSet& ); 00028 00030 virtual ~SiPixelRawToDigi(); 00031 00032 00034 virtual void endJob() {} 00035 00037 virtual void produce( edm::Event&, const edm::EventSetup& ); 00038 00039 private: 00040 00041 edm::ParameterSet config_; 00042 const SiPixelFedCabling* cabling_; 00043 const SiPixelQuality* badPixelInfo_; 00044 bool useCablingTree_; 00045 TH1D *hCPU, *hDigi; 00046 R2DTimerObserver * theTimer; 00047 bool includeErrors; 00048 bool useQuality; 00049 bool debug; 00050 std::vector<int> errorList; 00051 std::vector<unsigned int> fedIds; 00052 edm::ESWatcher<SiPixelFedCablingMapRcd> recordWatcher; 00053 edm::ESWatcher<SiPixelQualityRcd> qualityWatcher; 00054 edm::InputTag label; 00055 int ndigis; 00056 int nwords; 00057 00058 }; 00059 #endif