CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/src/DQM/EcalBarrelMonitorTasks/interface/EnergyTask.h

Go to the documentation of this file.
00001 #ifndef EnergyTask_H
00002 #define EnergyTask_H
00003 
00004 #include "DQM/EcalCommon/interface/DQWorkerTask.h"
00005 
00006 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00007 
00008 class CaloTopology;
00009 
00010 namespace ecaldqm {
00011 
00012   class EnergyTask : public DQWorkerTask {
00013   public:
00014     EnergyTask(const edm::ParameterSet &, const edm::ParameterSet&);
00015     ~EnergyTask();
00016 
00017     bool filterRunType(const std::vector<short>&);
00018 
00019     void beginRun(const edm::Run &, const edm::EventSetup &);
00020 
00021     void analyze(const void*, Collections);
00022 
00023     void runOnRecHits(const EcalRecHitCollection &);
00024 
00025     enum MESets {
00026       kHitMap, // profile2d
00027       kHitMapAll,
00028       //      k3x3Map, // profile2d 
00029       kHit, // h1f
00030       kHitAll,
00031       kMiniCluster, // h1f
00032       nMESets
00033     };
00034 
00035     static void setMEData(std::vector<MEData>&);
00036 
00037   private:
00038     const CaloTopology *topology_;
00039     bool isPhysicsRun_;
00040     float threshS9_;
00041   };
00042 
00043   inline void EnergyTask::analyze(const void* _p, Collections _collection){
00044     switch(_collection){
00045     case kEBRecHit:
00046     case kEERecHit:
00047       runOnRecHits(*static_cast<const EcalRecHitCollection*>(_p));
00048       break;
00049     default:
00050       break;
00051     }
00052   }
00053 
00054 }
00055 
00056 #endif
00057