![]() |
![]() |
00001 #ifndef DQM_L1TMONITORCLIENT_L1TEventInfoClient_H 00002 #define DQM_L1TMONITORCLIENT_L1TEventInfoClient_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 L1TEventInfoClient: public edm::EDAnalyzer { 00043 00044 public: 00045 00047 L1TEventInfoClient(const edm::ParameterSet&); 00048 00050 virtual ~L1TEventInfoClient(); 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_disableL1Systems; 00092 std::vector<std::string> m_disableL1Objects; 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_systemDisable; 00121 00122 std::vector<std::vector<std::string> > m_systemQualityTestName; 00123 std::vector<std::vector<std::string> > m_systemQualityTestHist; 00124 std::vector<std::vector<unsigned int> > m_systemQtSummaryEnabled; 00125 00126 std::vector<int> m_objectDisable; 00127 std::vector<std::string> m_objectLabel; 00128 std::vector<std::string> m_objectFolder; 00129 00130 std::vector<std::vector<std::string> > m_objectQualityTestName; 00131 std::vector<std::vector<std::string> > m_objectQualityTestHist; 00132 std::vector<std::vector<unsigned int> > m_objectQtSummaryEnabled; 00133 00135 00136 Float_t m_reportSummary; 00137 Float_t m_summarySum; 00138 std::vector<int> m_summaryContent; 00139 00140 00142 MonitorElement* m_meReportSummary; 00143 00145 std::vector<MonitorElement*> m_meReportSummaryContent; 00146 00148 MonitorElement* m_meReportSummaryMap; 00149 00150 // 00151 00152 DQMStore* m_dbe; 00153 00154 00155 }; 00156 00157 #endif