00001 #ifndef ESIntegrityClient_H 00002 #define ESIntegrityClient_H 00003 00004 #include <vector> 00005 #include <string> 00006 00007 #include "TROOT.h" 00008 #include "TProfile2D.h" 00009 #include "TH1F.h" 00010 00011 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00012 00013 #include "DQM/EcalPreshowerMonitorClient/interface/ESClient.h" 00014 00015 class MonitorElement; 00016 class DQMStore; 00017 00018 class ESIntegrityClient : public ESClient { 00019 00020 friend class ESSummaryClient; 00021 00022 public: 00023 00025 ESIntegrityClient(const edm::ParameterSet& ps); 00026 00028 virtual ~ESIntegrityClient(); 00029 00031 void analyze(void); 00032 00034 void beginJob(DQMStore* dqmStore); 00035 00037 void endJob(void); 00038 00040 void beginRun(void); 00041 00043 void endRun(void); 00044 00046 void setup(void); 00047 00049 void cleanup(void); 00050 00052 void softReset(bool flag); 00053 00055 inline int getEvtPerJob() { return ievt_; } 00056 inline int getEvtPerRun() { return jevt_; } 00057 00059 void endLumiAnalyze(void) {} 00060 00061 private: 00062 00063 int ievt_; 00064 int jevt_; 00065 int fed_[2][2][40][40]; 00066 int kchip_[2][2][40][40]; 00067 int fiber_[2][2][40][40]; 00068 int fedStatus_[56]; 00069 int fiberStatus_[56][36]; 00070 int syncStatus_[56]; 00071 int slinkCRCStatus_[56]; 00072 00073 bool cloneME_; 00074 bool verbose_; 00075 bool debug_; 00076 bool enableCleanup_; 00077 00078 std::string prefixME_; 00079 00080 edm::FileInPath lookup_; 00081 00082 DQMStore* dqmStore_; 00083 00084 MonitorElement* meFED_[2][2]; 00085 MonitorElement* meKCHIP_[2][2]; 00086 00087 TH1F *hFED_; 00088 TH2F *hFiberOff_; 00089 TH2F *hFiberBadStatus_; 00090 TH2F *hKF1_; 00091 TH2F *hKF2_; 00092 TH1F *hKBC_; 00093 TH1F *hKEC_; 00094 TH1F *hL1ADiff_; 00095 TH1F *hBXDiff_; 00096 TH1F *hOrbitNumberDiff_; 00097 TH1F *hSLinkCRCErr_; 00098 00099 }; 00100 00101 #endif