CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/DQM/EcalBarrelMonitorTasks/interface/PNIntegrityTask.h

Go to the documentation of this file.
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