00001 #ifndef GUARD_HcalBeamClient_H 00002 #define GUARD_HcalBeamClient_H 00003 00004 #include "DQM/HcalMonitorClient/interface/HcalBaseClient.h" 00005 #include "FWCore/Framework/interface/ESHandle.h" 00006 #include "DQMServices/Core/interface/DQMStore.h" 00007 00008 #include "DQM/HcalMonitorClient/interface/HcalClientUtils.h" 00009 #include "DQM/HcalMonitorClient/interface/HcalHistoUtils.h" 00010 00011 00012 class HcalBeamClient : public HcalBaseClient { 00013 00014 public: 00015 00017 HcalBeamClient(); 00019 ~HcalBeamClient(); 00020 00021 void init(const edm::ParameterSet& ps, DQMStore* dbe, string clientName); 00022 00024 void analyze(void); 00025 00027 //void beginJob(const EventSetup& c); 00028 void beginJob(); 00029 00031 void endJob(void); 00032 00034 void beginRun(void); 00035 00037 void endRun(void); 00038 00040 void setup(void); 00041 00043 void cleanup(void); 00044 00046 void htmlOutput(int run, string htmlDir, string htmlName); 00047 void htmlExpertOutput(int run, string htmlDir, string htmlName); 00048 void getHistograms(); 00049 void loadHistograms(TFile* f); 00050 00052 void report(); 00053 00054 void resetAllME(); 00055 void createTests(); 00056 00057 private: 00058 00059 vector <std::string> subdets_; 00060 00061 double minErrorFlag_; // minimum error rate which causes problem cells to be dumped in client 00062 bool beamclient_makeDiagnostics_; 00063 00064 int beamclient_checkNevents_; 00065 00066 // Histograms 00067 TH2F* ProblemBeamCells; 00068 TH2F* ProblemBeamCellsByDepth[6]; 00069 TH1F* HB_CenterOfEnergyRadius[83]; 00070 TH1F* HE_CenterOfEnergyRadius[83]; 00071 TH1F* HF_CenterOfEnergyRadius[83]; 00072 TH1F* HO_CenterOfEnergyRadius[83]; 00073 TH1F* CenterOfEnergyRadius; 00074 TH2F* CenterOfEnergy; 00075 TProfile* COEradiusVSeta; 00076 00077 TH1F* HBCenterOfEnergyRadius; 00078 TH2F* HBCenterOfEnergy; 00079 TH1F* HECenterOfEnergyRadius; 00080 TH2F* HECenterOfEnergy; 00081 TH1F* HOCenterOfEnergyRadius; 00082 TH2F* HOCenterOfEnergy; 00083 TH1F* HFCenterOfEnergyRadius; 00084 TH2F* HFCenterOfEnergy; 00085 00086 TProfile* Etsum_eta_L; 00087 TProfile* Etsum_eta_S; 00088 TProfile* Etsum_phi_L; 00089 TProfile* Etsum_phi_S; 00090 TH1F* Etsum_ratio_p; 00091 TH1F* Etsum_ratio_m; 00092 TH2F* Etsum_map_L; 00093 TH2F* Etsum_map_S; 00094 TH2F* Etsum_ratio_map; 00095 TH2F* Etsum_rphi_L; 00096 TH2F* Etsum_rphi_S; 00097 TH1F* Energy_Occ; 00098 00099 TH2F* Occ_rphi_L; 00100 TH2F* Occ_rphi_S; 00101 TProfile* Occ_eta_L; 00102 TProfile* Occ_eta_S; 00103 TProfile* Occ_phi_L; 00104 TProfile* Occ_phi_S; 00105 TH2F* Occ_map_L; 00106 TH2F* Occ_map_S; 00107 00108 TH1F* HFlumi_ETsum_perwedge; 00109 TH1F* HFlumi_Occupancy_above_thr_r1; 00110 TH1F* HFlumi_Occupancy_between_thrs_r1; 00111 TH1F* HFlumi_Occupancy_below_thr_r1; 00112 TH1F* HFlumi_Occupancy_above_thr_r2; 00113 TH1F* HFlumi_Occupancy_between_thrs_r2; 00114 TH1F* HFlumi_Occupancy_below_thr_r2; 00115 00116 }; // class HcalBeamClient 00117 00118 #endif