Go to the documentation of this file.00001 #ifndef HcalSummaryClient_GUARD_H
00002 #define HcalSummaryClient_GUARD_H
00003
00004 #include "DQM/HcalMonitorClient/interface/HcalBaseDQClient.h"
00005 #include "FWCore/Framework/interface/MakerMacros.h"
00006 #include "FWCore/ServiceRegistry/interface/Service.h"
00007
00008 class EtaPhiHists;
00009 class MonitorElement;
00010 class HcalBaseDQClient;
00011
00012 class HcalSummaryClient : public HcalBaseDQClient {
00013
00014 public:
00015
00017 HcalSummaryClient(){name_="";};
00018 HcalSummaryClient(std::string myname);
00019 HcalSummaryClient(std::string myname, const edm::ParameterSet& ps);
00020
00021 void analyze(int LS=-1);
00022 void updateChannelStatus(std::map<HcalDetId, unsigned int>& myqual);
00023 void beginJob(void);
00024 void endJob(void);
00025 void beginRun(void);
00026 void endRun(void);
00027 void setup(void);
00028 void cleanup(void);
00029
00030 void fillReportSummary(int LS);
00031 void fillReportSummaryLSbyLS(int LS);
00032
00033 bool hasErrors_Temp(void);
00034 bool hasWarnings_Temp(void);
00035 bool hasOther_Temp(void);
00036 bool test_enabled(void);
00037
00038 void getFriends(std::vector<HcalBaseDQClient*> clients){clients_=clients;};
00039
00041 ~HcalSummaryClient();
00042
00043 private:
00044 int nevts_;
00045 EtaPhiHists* SummaryMapByDepth;
00046 MonitorElement* StatusVsLS_;
00047 MonitorElement* EnoughEvents_;
00048 MonitorElement* MinEvents_;
00049 MonitorElement* MinErrorRate_;
00050 MonitorElement* reportMapShift_;
00051 MonitorElement* reportMap_;
00052 MonitorElement* certificationMap_;
00053
00054 double status_global_, status_HB_, status_HE_, status_HO_, status_HF_;
00055 double status_HO0_, status_HO12_, status_HFlumi_;
00056 int NLumiBlocks_;
00057 bool UseBadChannelStatusInSummary_;
00058
00059 std::vector<HcalBaseDQClient*> clients_;
00060 std::map<std::string, int> subdetCells_;
00061 int HBpresent_, HEpresent_, HOpresent_, HFpresent_;
00062 };
00063
00064 #endif