00001 #ifndef DQM_L1TMONITORCLIENT_L1TEMUEventInfoClient_H 00002 #define DQM_L1TMONITORCLIENT_L1TEMUEventInfoClient_H 00003 00023 // system include files 00024 #include <memory> 00025 #include <iostream> 00026 #include <fstream> 00027 #include <string> 00028 #include <vector> 00029 00030 // user include files 00031 00032 #include "FWCore/Framework/interface/Frameworkfwd.h" 00033 #include "FWCore/Framework/interface/Event.h" 00034 #include "FWCore/Framework/interface/MakerMacros.h" 00035 #include <FWCore/Framework/interface/EDAnalyzer.h> 00036 #include "DQMServices/Core/interface/MonitorElement.h" 00037 00038 // forward declarations 00039 class DQMStore; 00040 00041 // class declaration 00042 class L1TEMUEventInfoClient: public edm::EDAnalyzer { 00043 00044 public: 00045 00047 L1TEMUEventInfoClient(const edm::ParameterSet&); 00048 00050 virtual ~L1TEMUEventInfoClient(); 00051 00052 private: 00053 00055 void beginJob(); 00056 00058 void beginRun(const edm::Run&, const edm::EventSetup&); 00059 00061 void beginLuminosityBlock(const edm::LuminosityBlock&, 00062 const edm::EventSetup&); 00063 00065 void analyze(const edm::Event&, const edm::EventSetup&); 00066 00068 void 00069 endLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&); 00070 00072 void endRun(const edm::Run&, const edm::EventSetup&); 00073 00075 void endJob(); 00076 00077 private: 00078 00080 00081 bool m_verbose; 00082 std::string m_monitorDir; 00083 00084 bool m_runInEventLoop; 00085 bool m_runInEndLumi; 00086 bool m_runInEndRun; 00087 bool m_runInEndJob; 00088 00089 std::vector<edm::ParameterSet> m_l1Systems; 00090 std::vector<edm::ParameterSet> m_l1Objects; 00091 std::vector<std::string> m_maskL1Systems; 00092 std::vector<std::string> m_maskL1Objects; 00093 00095 00097 void initialize(); 00098 00100 void dumpContentMonitorElements(); 00101 00103 void bookHistograms(); 00104 00106 void readQtResults(); 00107 00109 size_t m_nrL1Systems; 00110 00112 size_t m_nrL1Objects; 00113 00116 size_t m_totalNrQtSummaryEnabled; 00117 00118 std::vector<std::string> m_systemLabel; 00119 std::vector<std::string> m_systemLabelExt; 00120 std::vector<int> m_systemMask; 00121 std::vector<std::string> m_systemFolder; 00122 00123 std::vector<std::vector<std::string> > m_systemQualityTestName; 00124 std::vector<std::vector<std::string> > m_systemQualityTestHist; 00125 std::vector<std::vector<unsigned int> > m_systemQtSummaryEnabled; 00126 00127 std::vector<int> m_objectMask; 00128 std::vector<std::string> m_objectLabel; 00129 std::vector<std::string> m_objectFolder; 00130 00131 std::vector<std::vector<std::string> > m_objectQualityTestName; 00132 std::vector<std::vector<std::string> > m_objectQualityTestHist; 00133 std::vector<std::vector<unsigned int> > m_objectQtSummaryEnabled; 00134 00136 00137 Float_t m_reportSummary; 00138 Float_t m_summarySum; 00139 std::vector<int> m_summaryContent; 00140 00141 00143 MonitorElement* m_meReportSummary; 00144 00146 std::vector<MonitorElement*> m_meReportSummaryContent; 00147 00149 MonitorElement* m_meReportSummaryMap; 00150 00151 // 00152 00153 DQMStore* m_dbe; 00154 00155 00156 }; 00157 00158 #endif