CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch2/src/DQM/EcalEndcapMonitorTasks/interface/EEOccupancyTask.h

Go to the documentation of this file.
00001 #ifndef EEOccupancyTask_H
00002 #define EEOccupancyTask_H
00003 
00004 /*
00005  * \file EEOccupancyTask.h
00006  *
00007  * $Date: 2012/04/27 13:46:13 $
00008  * $Revision: 1.31 $
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 #include "FWCore/Framework/interface/ESHandle.h"
00018 #include "Geometry/Records/interface/CaloGeometryRecord.h"
00019 
00020 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00021 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
00022 
00023 #include "DataFormats/EcalDetId/interface/EEDetId.h"
00024 
00025 class MonitorElement;
00026 class DQMStore;
00027 
00028 class EEOccupancyTask: public edm::EDAnalyzer{
00029 
00030 public:
00031 
00033 EEOccupancyTask(const edm::ParameterSet& ps);
00034 
00036 virtual ~EEOccupancyTask();
00037 
00038 protected:
00039 
00041 void analyze(const edm::Event& e, const edm::EventSetup& c);
00042 
00044 void beginJob(void);
00045 
00047 void endJob(void);
00048 
00050 void beginRun(const edm::Run & r, const edm::EventSetup & c);
00051 
00053 void endRun(const edm::Run & r, const edm::EventSetup & c);
00054 
00056 void reset(void);
00057 
00059 void setup(void);
00060 
00062 void cleanup(void);
00063 
00064 private:
00065 
00066 int ievt_;
00067 
00068 DQMStore* dqmStore_;
00069 
00070 std::string prefixME_;
00071 
00072  std::string subfolder_;
00073 
00074 bool enableCleanup_;
00075 
00076 bool mergeRuns_;
00077 
00078 edm::InputTag EcalRawDataCollection_;
00079 edm::InputTag EEDigiCollection_;
00080 edm::InputTag EcalPnDiodeDigiCollection_;
00081 edm::InputTag EcalRecHitCollection_;
00082 edm::InputTag EcalTrigPrimDigiCollection_;
00083 
00084 enum runClassification { notdata, physics, testpulse, laser, led, pedestal };
00085 
00086 MonitorElement* meEvent_[18];
00087 MonitorElement* meOccupancy_[18];
00088 MonitorElement* meOccupancyMem_[18];
00089 MonitorElement* meEERecHitEnergy_[18];
00090 MonitorElement* meSpectrum_[18];
00091 
00092 MonitorElement* meEERecHitSpectrum_[2];
00093 MonitorElement* meEEDigiOccupancy_[2];
00094 MonitorElement* meEEDigiOccupancyProEta_[2];
00095 MonitorElement* meEEDigiOccupancyProPhi_[2];
00096 MonitorElement* meEERecHitOccupancy_[2];
00097 MonitorElement* meEERecHitOccupancyProEta_[2];
00098 MonitorElement* meEERecHitOccupancyProPhi_[2];
00099 MonitorElement* meEERecHitOccupancyThr_[2];
00100 MonitorElement* meEERecHitOccupancyProEtaThr_[2];
00101 MonitorElement* meEERecHitOccupancyProPhiThr_[2];
00102 MonitorElement* meEETrigPrimDigiOccupancy_[2];
00103 MonitorElement* meEETrigPrimDigiOccupancyProEta_[2];
00104 MonitorElement* meEETrigPrimDigiOccupancyProPhi_[2];
00105 MonitorElement* meEETrigPrimDigiOccupancyThr_[2];
00106 MonitorElement* meEETrigPrimDigiOccupancyProEtaThr_[2];
00107 MonitorElement* meEETrigPrimDigiOccupancyProPhiThr_[2];
00108 MonitorElement* meEETestPulseDigiOccupancy_[2];
00109 MonitorElement* meEELaserDigiOccupancy_[2];
00110 MonitorElement* meEELedDigiOccupancy_[2];
00111 MonitorElement* meEEPedestalDigiOccupancy_[2];
00112 
00113 float recHitEnergyMin_;
00114 float trigPrimEtMin_;
00115 
00116 edm::ESHandle<CaloGeometry> pGeometry_;
00117 
00118 float geometryEE[EEDetId::kSizeForDenseIndexing][2];
00119 
00120 bool init_;
00121 bool initCaloGeometry_;
00122 
00123 };
00124 
00125 #endif