00001 00002 #ifndef DQMMESSAGELOGGERCLIENT_H 00003 #define DQMMESSAGELOGGERCLIENT_H 00004 00005 00006 #include "FWCore/Framework/interface/EDAnalyzer.h" 00007 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00008 #include "DQMServices/Core/interface/DQMStore.h" 00009 #include "DQMServices/Core/interface/MonitorElement.h" 00010 #include <vector> 00011 #include <string> 00012 #include <map> 00013 00014 class DQMMessageLoggerClient : public edm::EDAnalyzer { 00015 public: 00016 // Constructor 00017 DQMMessageLoggerClient(const edm::ParameterSet&); 00018 // Destructor 00019 virtual ~DQMMessageLoggerClient(); 00020 00021 protected: 00022 00023 void beginJob(); 00024 //void beginRun(const edm::Run&, const edm::EventSetup&); 00025 00026 void beginRun(const edm::Run&, const edm::EventSetup&); 00027 00028 00029 // Get the analysis 00030 void analyze(const edm::Event&, const edm::EventSetup&); 00031 void beginLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&); 00032 00033 void endLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup&); 00034 00035 // Save the histos 00036 void endRun(const edm::Run&, const edm::EventSetup&); 00037 void endJob(); 00038 00039 private: 00040 00041 void fillHistograms(); 00042 00043 // ----------member data --------------------------- 00044 00045 DQMStore* theDbe; 00046 edm::ParameterSet parameters; 00047 std::string directoryName; 00048 00049 std::vector<std::string> binLabel; 00050 std::vector<Double_t> binContent; 00051 00052 int nBinsErrors; 00053 int nBinsWarnings; 00054 00055 MonitorElement *modulesErrorsFound; 00056 MonitorElement *modulesWarningsFound; 00057 MonitorElement *categoriesErrorsFound; 00058 MonitorElement *categoriesWarningsFound; 00059 00060 }; 00061 #endif 00062 00063