00001 #ifndef SiPixelDigiToRaw_H 00002 #define SiPixelDigiToRaw_H 00003 00007 #include "FWCore/Framework/interface/ESWatcher.h" 00008 #include "FWCore/Framework/interface/EDProducer.h" 00009 #include "FWCore/Framework/interface/EventSetup.h" 00010 #include "FWCore/Framework/interface/Event.h" 00011 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00012 #include "FWCore/Utilities/interface/InputTag.h" 00013 #include "CondFormats/DataRecord/interface/SiPixelFedCablingMapRcd.h" 00014 #include "CondFormats/SiPixelObjects/interface/SiPixelFrameReverter.h" 00015 00016 class SiPixelFedCablingTree; 00017 class SiPixelFrameReverter; 00018 class TH1D; 00019 class R2DTimerObserver; 00020 00021 class SiPixelDigiToRaw : public edm::EDProducer { 00022 public: 00023 00025 explicit SiPixelDigiToRaw( const edm::ParameterSet& ); 00026 00028 virtual ~SiPixelDigiToRaw(); 00029 00030 00032 virtual void endJob() {} 00033 00035 virtual void produce( edm::Event&, const edm::EventSetup& ); 00036 00037 private: 00038 00039 SiPixelFedCablingTree * cablingTree_; 00040 SiPixelFrameReverter* frameReverter_; 00041 edm::ParameterSet config_; 00042 TH1D *hCPU, *hDigi; 00043 R2DTimerObserver * theTimer; 00044 unsigned long eventCounter; 00045 edm::InputTag label; //label of input digi data 00046 int allDigiCounter; 00047 int allWordCounter; 00048 std::vector<unsigned int> fedIds; 00049 edm::ESWatcher<SiPixelFedCablingMapRcd> recordWatcher; 00050 bool debug; 00051 00052 }; 00053 #endif