00001 #ifndef GUARD_HcalRecHitClient_H 00002 #define GUARD_HcalRecHitClient_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 HcalRecHitClient : public HcalBaseClient { 00013 00014 public: 00015 00017 HcalRecHitClient(); 00019 ~HcalRecHitClient(); 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 rechitclient_makeDiagnostics_; 00063 00064 int rechitclient_checkNevents_; 00065 00066 // Histograms 00067 TH2F* ProblemRecHits; 00068 TH2F* ProblemRecHitsByDepth[6]; 00069 TH2F* OccupancyByDepth[6]; 00070 TH2F* OccupancyThreshByDepth[6]; 00071 TH2F* EnergyByDepth[6]; 00072 TH2F* EnergyThreshByDepth[6]; 00073 TH2F* TimeByDepth[6]; 00074 TH2F* TimeThreshByDepth[6]; 00075 00076 // diagnostic histograms 00077 TH1F* d_HBEnergy; 00078 TH1F* d_HBTotalEnergy; 00079 TH1F* d_HBTime; 00080 TH1F* d_HBOccupancy; 00081 TH1F* d_HBThreshEnergy; 00082 TH1F* d_HBThreshTotalEnergy; 00083 TH1F* d_HBThreshTime; 00084 TH1F* d_HBThreshOccupancy; 00085 00086 TH1F* d_HEEnergy; 00087 TH1F* d_HETotalEnergy; 00088 TH1F* d_HETime; 00089 TH1F* d_HEOccupancy; 00090 TH1F* d_HEThreshEnergy; 00091 TH1F* d_HEThreshTotalEnergy; 00092 TH1F* d_HEThreshTime; 00093 TH1F* d_HEThreshOccupancy; 00094 00095 TH1F* d_HOEnergy; 00096 TH1F* d_HOTotalEnergy; 00097 TH1F* d_HOTime; 00098 TH1F* d_HOOccupancy; 00099 TH1F* d_HOThreshEnergy; 00100 TH1F* d_HOThreshTotalEnergy; 00101 TH1F* d_HOThreshTime; 00102 TH1F* d_HOThreshOccupancy; 00103 00104 TH1F* d_HFEnergy; 00105 TH1F* d_HFTotalEnergy; 00106 TH1F* d_HFTime; 00107 TH1F* d_HFOccupancy; 00108 TH1F* d_HFThreshEnergy; 00109 TH1F* d_HFThreshTotalEnergy; 00110 TH1F* d_HFThreshTime; 00111 TH1F* d_HFThreshOccupancy; 00112 }; 00113 00114 #endif