00001 #ifndef DQM_HCALMONITORTASKS_HCALCALOTOWERMONITOR_H 00002 #define DQM_HCALMONITORTASKS_HCALCALOTOWERMONITOR_H 00003 00004 #include "DQM/HcalMonitorTasks/interface/HcalBaseMonitor.h" 00005 #include "DQMServices/Core/interface/DQMStore.h" 00006 #include "DQMServices/Core/interface/MonitorElement.h" 00007 00008 #include "DataFormats/CaloTowers/interface/CaloTowerCollection.h" 00009 #include <map> 00010 00019 class HcalCaloTowerMonitor: public HcalBaseMonitor { 00020 public: 00021 HcalCaloTowerMonitor(); 00022 ~HcalCaloTowerMonitor(); 00023 00024 void setup(const edm::ParameterSet& ps, DQMStore* dbe); 00025 void processEvent(const CaloTowerCollection& calotower); 00026 void reset(); 00027 int getIeta(double eta); // get ieta index, given physical coordinate eta 00028 private: 00029 00030 bool debug_; 00031 double etaMax_, etaMin_, phiMax_, phiMin_; 00032 int etaBins_, phiBins_; 00033 int ievt_; 00034 00035 // calotower histograms 00036 MonitorElement* caloTowerOccMap; 00037 MonitorElement* caloTowerEnergyMap; 00038 MonitorElement* caloTowerTime; 00039 MonitorElement* caloTowerEnergy; 00040 MonitorElement* caloTowerMeanEnergyEta; 00041 00042 // hcal histograms 00043 MonitorElement* hcalOccMap; 00044 MonitorElement* hcalEnergyMap; 00045 MonitorElement* hcalTime; 00046 MonitorElement* hcalEnergy; 00047 MonitorElement* hcalMeanEnergyEta; 00048 00049 // ecal histograms 00050 MonitorElement* ecalOccMap; 00051 MonitorElement* ecalEnergyMap; 00052 MonitorElement* ecalTime; 00053 MonitorElement* ecalEnergy; 00054 MonitorElement* ecalMeanEnergyEta; 00055 00056 // comparison plots 00057 MonitorElement* time_HcalvsEcal; 00058 MonitorElement* time_CaloTowervsEcal; 00059 MonitorElement* time_CaloTowervsHcal; 00060 MonitorElement* energy_HcalvsEcal; 00061 MonitorElement* energy_CaloTowervsEcal; 00062 MonitorElement* energy_CaloTowervsHcal; 00063 00064 MonitorElement* meEVT_; 00065 00066 00067 }; 00068 00069 #endif