00001 #ifndef EBOccupancyTask_H 00002 #define EBOccupancyTask_H 00003 00004 /* 00005 * \file EBOccupancyTask.h 00006 * 00007 * $Date: 2012/04/27 13:46:00 $ 00008 * $Revision: 1.28 $ 00009 * \author G. Della Ricca 00010 * 00011 */ 00012 00013 #include "FWCore/Framework/interface/EDAnalyzer.h" 00014 #include "FWCore/Framework/interface/Event.h" 00015 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00016 00017 class MonitorElement; 00018 class DQMStore; 00019 00020 class EBOccupancyTask: public edm::EDAnalyzer{ 00021 00022 public: 00023 00025 EBOccupancyTask(const edm::ParameterSet& ps); 00026 00028 virtual ~EBOccupancyTask(); 00029 00030 protected: 00031 00033 void analyze(const edm::Event& e, const edm::EventSetup& c); 00034 00036 void beginJob(void); 00037 00039 void endJob(void); 00040 00042 void beginRun(const edm::Run & r, const edm::EventSetup & c); 00043 00045 void endRun(const edm::Run & r, const edm::EventSetup & c); 00046 00048 void reset(void); 00049 00051 void setup(void); 00052 00054 void cleanup(void); 00055 00056 private: 00057 00058 int ievt_; 00059 00060 DQMStore* dqmStore_; 00061 00062 std::string prefixME_; 00063 00064 std::string subfolder_; 00065 00066 bool enableCleanup_; 00067 00068 bool mergeRuns_; 00069 00070 edm::InputTag EcalRawDataCollection_; 00071 edm::InputTag EBDigiCollection_; 00072 edm::InputTag EcalPnDiodeDigiCollection_; 00073 edm::InputTag EcalRecHitCollection_; 00074 edm::InputTag EcalTrigPrimDigiCollection_; 00075 00076 enum runClassification { notdata, physics, testpulse, laser, pedestal }; 00077 00078 MonitorElement* meEvent_[36]; 00079 MonitorElement* meOccupancy_[36]; 00080 MonitorElement* meOccupancyMem_[36]; 00081 MonitorElement* meEBRecHitEnergy_[36]; 00082 MonitorElement* meSpectrum_[36]; 00083 00084 MonitorElement* meEBRecHitSpectrum_; 00085 MonitorElement* meEBDigiOccupancy_; 00086 MonitorElement* meEBDigiOccupancyProjEta_; 00087 MonitorElement* meEBDigiOccupancyProjPhi_; 00088 MonitorElement* meEBRecHitOccupancy_; 00089 MonitorElement* meEBRecHitOccupancyProjEta_; 00090 MonitorElement* meEBRecHitOccupancyProjPhi_; 00091 MonitorElement* meEBRecHitOccupancyThr_; 00092 MonitorElement* meEBRecHitOccupancyProjEtaThr_; 00093 MonitorElement* meEBRecHitOccupancyProjPhiThr_; 00094 MonitorElement* meEBTrigPrimDigiOccupancy_; 00095 MonitorElement* meEBTrigPrimDigiOccupancyProjEta_; 00096 MonitorElement* meEBTrigPrimDigiOccupancyProjPhi_; 00097 MonitorElement* meEBTrigPrimDigiOccupancyThr_; 00098 MonitorElement* meEBTrigPrimDigiOccupancyProjEtaThr_; 00099 MonitorElement* meEBTrigPrimDigiOccupancyProjPhiThr_; 00100 MonitorElement* meEBTestPulseDigiOccupancy_; 00101 MonitorElement* meEBLaserDigiOccupancy_; 00102 MonitorElement* meEBPedestalDigiOccupancy_; 00103 00104 float recHitEnergyMin_; 00105 float trigPrimEtMin_; 00106 00107 bool init_; 00108 00109 }; 00110 00111 #endif