00001 #ifndef EBSummaryClient_H 00002 #define EBSummaryClient_H 00003 00004 /* 00005 * \file EBSummaryClient.h 00006 * 00007 * $Date: 2008/12/04 13:54:25 $ 00008 * $Revision: 1.40 $ 00009 * \author G. Della Ricca 00010 * 00011 */ 00012 00013 #include <vector> 00014 #include <string> 00015 #include <fstream> 00016 00017 #include "TROOT.h" 00018 00019 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00020 00021 #include "DQM/EcalBarrelMonitorClient/interface/EBClient.h" 00022 00023 class MonitorElement; 00024 class DQMStore; 00025 class EcalCondDBInterface; 00026 class RunIOV; 00027 class MonRunIOV; 00028 00029 class EBSummaryClient : public EBClient { 00030 00031 public: 00032 00034 EBSummaryClient(const edm::ParameterSet& ps); 00035 00037 virtual ~EBSummaryClient(); 00038 00040 void analyze(void); 00041 00043 void beginJob(DQMStore* dqmStore); 00044 00046 void endJob(void); 00047 00049 void beginRun(void); 00050 00052 void endRun(void); 00053 00055 void setup(void); 00056 00058 void cleanup(void); 00059 00061 void softReset(bool flag); 00062 00064 void htmlOutput(int run, std::string& htmlDir, std::string& htmlName); 00065 00067 bool writeDb(EcalCondDBInterface* econn, RunIOV* runiov, MonRunIOV* moniov, bool& status, bool flag); 00068 00070 inline int getEvtPerJob() { return ievt_; } 00071 inline int getEvtPerRun() { return jevt_; } 00072 00074 inline void setFriends(std::vector<EBClient*> clients) { clients_ = clients; } 00075 00076 private: 00077 00078 void writeMap( std::ofstream& hf, const char* mapname ); 00079 00080 int ievt_; 00081 int jevt_; 00082 00083 bool cloneME_; 00084 00085 bool verbose_; 00086 bool debug_; 00087 00088 std::string prefixME_; 00089 00090 bool enableCleanup_; 00091 00092 std::vector<int> superModules_; 00093 00094 std::vector<EBClient*> clients_; 00095 00096 DQMStore* dqmStore_; 00097 00098 MonitorElement* meIntegrity_; 00099 MonitorElement* meIntegrityErr_; 00100 MonitorElement* meStatusFlags_; 00101 MonitorElement* meStatusFlagsErr_; 00102 MonitorElement* meOccupancy_; 00103 MonitorElement* meOccupancy1D_; 00104 MonitorElement* mePedestalOnline_; 00105 MonitorElement* mePedestalOnlineErr_; 00106 MonitorElement* meLaserL1_; 00107 MonitorElement* meLaserL1Err_; 00108 MonitorElement* meLaserL1PN_; 00109 MonitorElement* meLaserL1PNErr_; 00110 MonitorElement* mePedestal_; 00111 MonitorElement* mePedestalErr_; 00112 MonitorElement* mePedestalPN_; 00113 MonitorElement* mePedestalPNErr_; 00114 MonitorElement* meTestPulse_; 00115 MonitorElement* meTestPulseErr_; 00116 MonitorElement* meTestPulsePN_; 00117 MonitorElement* meTestPulsePNErr_; 00118 00119 MonitorElement* meCosmic_; 00120 MonitorElement* meTiming_; 00121 MonitorElement* meTriggerTowerEt_; 00122 MonitorElement* meTriggerTowerEmulError_; 00123 MonitorElement* meTriggerTowerTiming_; 00124 00125 MonitorElement* meGlobalSummary_; 00126 00127 }; 00128 00129 #endif