CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/DQM/EcalBarrelMonitorTasks/interface/PNPresampleTask.h

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