00001 #ifndef PNPresampleTask_H 00002 #define PNPresampleTask_H 00003 00004 #include "DQM/EcalCommon/interface/DQWorkerTask.h" 00005 00006 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h" 00007 00008 namespace ecaldqm { 00009 00010 class PNPresampleTask : public DQWorkerTask { 00011 public: 00012 PNPresampleTask(const edm::ParameterSet &, const edm::ParameterSet &); 00013 ~PNPresampleTask(); 00014 00015 bool filterRunType(const std::vector<short>&); 00016 00017 void beginRun(const edm::Run &, const edm::EventSetup &); 00018 void endEvent(const edm::Event &, const edm::EventSetup &); 00019 00020 void analyze(const void*, Collections); 00021 00022 void runOnPnDigis(const EcalPnDiodeDigiCollection&); 00023 00024 enum MESets { 00025 kPedestal, 00026 nMESets 00027 }; 00028 00029 static void setMEData(std::vector<MEData>&); 00030 00031 protected: 00032 bool enable_[BinService::nDCC]; 00033 }; 00034 00035 inline void PNPresampleTask::analyze(const void* _p, Collections _collection){ 00036 switch(_collection){ 00037 case kPnDiodeDigi: 00038 runOnPnDigis(*static_cast<const EcalPnDiodeDigiCollection*>(_p)); 00039 break; 00040 default: 00041 break; 00042 } 00043 } 00044 00045 } 00046 00047 #endif