CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/DQM/EcalBarrelMonitorTasks/interface/OccupancyTask.h

Go to the documentation of this file.
00001 #ifndef OccupancyTask_H
00002 #define OccupancyTask_H
00003 
00004 #include "DQM/EcalCommon/interface/DQWorkerTask.h"
00005 
00006 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
00007 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00008 
00009 namespace ecaldqm {
00010 
00011   class OccupancyTask : public DQWorkerTask {
00012   public:
00013     OccupancyTask(const edm::ParameterSet &, const edm::ParameterSet&);
00014     ~OccupancyTask();
00015 
00016     bool filterRunType(const std::vector<short>&);
00017 
00018     void analyze(const void*, Collections);
00019 
00020     void runOnDigis(const EcalDigiCollection &);
00021     void runOnTPDigis(const EcalTrigPrimDigiCollection &);
00022     void runOnRecHits(const EcalRecHitCollection &, Collections);
00023 
00024     enum MESets {
00025       kDigi, // h2f
00026       kDigiProjEta, // h1f
00027       kDigiProjPhi, // h1f
00028       kDigiAll,
00029       kDigiDCC,
00030       //      kRecHit, // h2f
00031       //      kRecHitProjEta, // h1f
00032       //      kRecHitProjPhi, // h1f
00033       kRecHit1D,
00034       kRecHitThr, // h2f
00035       kRecHitThrProjEta, // h1f
00036       kRecHitThrProjPhi, // h1f
00037       kRecHitThrAll, // h1f
00038       kTPDigi, // h2f
00039       kTPDigiProjEta, // h1f
00040       kTPDigiProjPhi, // h1f
00041       kTPDigiThr, // h2f
00042       kTPDigiThrProjEta, // h1f
00043       kTPDigiThrProjPhi, // h1f
00044       kTPDigiThrAll,
00045       nMESets
00046     };
00047 
00048     static void setMEData(std::vector<MEData>&);
00049 
00050   private:
00051     float recHitThreshold_;
00052     float tpThreshold_;
00053 
00054   };
00055 
00056   inline void OccupancyTask::analyze(const void* _p, Collections _collection){
00057     switch(_collection){
00058     case kEBDigi:
00059     case kEEDigi:
00060       runOnDigis(*static_cast<const EcalDigiCollection*>(_p));
00061       break;
00062     case kTrigPrimDigi:
00063       runOnTPDigis(*static_cast<const EcalTrigPrimDigiCollection*>(_p));
00064       break;
00065     case kEBRecHit:
00066     case kEERecHit:
00067       runOnRecHits(*static_cast<const EcalRecHitCollection*>(_p), _collection);
00068       break;
00069     default:
00070       break;
00071     }
00072   }
00073 
00074 }
00075 
00076 #endif
00077