00001 #ifndef PNIntegrityTask_H 00002 #define PNIntegrityTask_H 00003 00004 #include "DQM/EcalCommon/interface/DQWorkerTask.h" 00005 00006 #include "DataFormats/EcalDetId/interface/EcalDetIdCollections.h" 00007 00008 namespace ecaldqm { 00009 00010 class PNIntegrityTask : public DQWorkerTask { 00011 public: 00012 PNIntegrityTask(const edm::ParameterSet &, const edm::ParameterSet &); 00013 ~PNIntegrityTask(); 00014 00015 void analyze(const void*, Collections); 00016 00017 void runOnErrors(const EcalElectronicsIdCollection &, Collections); 00018 00019 enum MESets { 00020 kMEMChId, 00021 kMEMGain, 00022 kMEMBlockSize, 00023 kMEMTowerId, 00024 nMESets 00025 }; 00026 00027 static void setMEData(std::vector<MEData>&); 00028 }; 00029 00030 inline void PNIntegrityTask::analyze(const void* _p, Collections _collection){ 00031 switch(_collection){ 00032 case kMEMTowerIdErrors: 00033 case kMEMBlockSizeErrors: 00034 case kMEMChIdErrors: 00035 case kMEMGainErrors: 00036 runOnErrors(*static_cast<const EcalElectronicsIdCollection*>(_p), _collection); 00037 break; 00038 default: 00039 break; 00040 } 00041 } 00042 00043 } 00044 00045 #endif 00046