00001 #ifndef DQM_HCALMONITORTASKS_HCALMTCCMONITOR_H 00002 #define DQM_HCALMONITORTASKS_HCALMTCCMONITOR_H 00003 00004 #include "DQM/HcalMonitorTasks/interface/HcalBaseMonitor.h" 00005 #include "DataFormats/LTCDigi/interface/LTCDigi.h" 00006 #include "DQMServices/Core/interface/DQMStore.h" 00007 #include "DQMServices/Core/interface/MonitorElement.h" 00008 00009 00016 class HcalMTCCMonitor: public HcalBaseMonitor { 00017 public: 00018 HcalMTCCMonitor(); 00019 ~HcalMTCCMonitor(); 00020 00021 void setup(const edm::ParameterSet& ps, DQMStore* dbe); 00022 00023 void processEvent(const HBHEDigiCollection& hbhe, 00024 const HODigiCollection& ho, 00025 const LTCDigiCollection& ltc, 00026 const HcalDbService& cond); 00027 00028 void clearME(); 00029 void reset(); 00030 00031 private: 00032 00033 void dumpDigi(const HBHEDigiCollection& hbhe, const HODigiCollection& ho, const HcalDbService& cond); 00034 00035 int ievt_; 00036 double occThresh_; 00037 double etaMax_, etaMin_, phiMax_, phiMin_; 00038 int etaBins_, phiBins_; 00039 const HcalQIEShape* shape_; 00040 HcalCalibrations calibs_; 00041 00042 double dumpThresh_; 00043 int dumpEtaLo_, dumpEtaHi_; 00044 int dumpPhiLo_, dumpPhiHi_; 00045 00046 private: 00047 00048 MonitorElement* meEVT_; 00049 MonitorElement* meTrig_; 00050 00051 struct{ 00052 MonitorElement* DT; 00053 MonitorElement* CSC; 00054 MonitorElement* RBC1; 00055 MonitorElement* RBC2; 00056 MonitorElement* RBCTB; 00057 MonitorElement* NA; 00058 MonitorElement* GLTRIG; 00059 MonitorElement* OCC; 00060 MonitorElement* E; 00061 MonitorElement* PEDS; 00062 } hbC, heC, hoP1, hoM1, hoP2, hoM2, hoC; 00063 00064 }; 00065 00066 #endif