00001 #ifndef DQM_L1TMONITORCLIENT_L1EmulatorErrorFlagClient_H 00002 #define DQM_L1TMONITORCLIENT_L1EmulatorErrorFlagClient_H 00003 00004 #include "FWCore/Framework/interface/Frameworkfwd.h" 00005 #include "FWCore/Framework/interface/Event.h" 00006 #include "FWCore/Framework/interface/MakerMacros.h" 00007 #include <FWCore/Framework/interface/EDAnalyzer.h> 00008 #include "DQMServices/Core/interface/MonitorElement.h" 00009 00010 #include <memory> 00011 #include <iostream> 00012 #include <fstream> 00013 #include <string> 00014 #include <vector> 00015 #include <map> 00016 00017 class DQMStore; 00018 00019 class L1EmulatorErrorFlagClient: public edm::EDAnalyzer { 00020 00021 public: 00022 00024 L1EmulatorErrorFlagClient(const edm::ParameterSet&); 00025 00027 virtual ~L1EmulatorErrorFlagClient(); 00028 00029 private: 00030 00032 void beginJob(); 00033 00035 void beginRun(const edm::Run&, const edm::EventSetup&); 00036 00038 void analyze(const edm::Event&, const edm::EventSetup&); 00039 00040 void beginLuminosityBlock(const edm::LuminosityBlock&, 00041 const edm::EventSetup&); 00042 00044 void 00045 endLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&); 00046 00048 void endRun(const edm::Run&, const edm::EventSetup&); 00049 00051 void endJob(); 00052 00053 private: 00054 00056 00057 bool m_verbose; 00058 std::vector<edm::ParameterSet> m_l1Systems; 00059 std::vector<std::string> m_maskL1Systems; 00060 00061 bool m_runInEventLoop; 00062 bool m_runInEndLumi; 00063 bool m_runInEndRun; 00064 bool m_runInEndJob; 00065 00066 00067 00069 00070 void initialize(); 00071 00072 Float_t setSummary(const unsigned int&) const; 00073 00075 size_t m_nrL1Systems; 00076 00077 std::vector<std::string> m_systemLabel; 00078 std::vector<std::string> m_systemLabelExt; 00079 std::vector<int> m_systemMask; 00080 std::vector<std::string> m_systemFolder; 00081 00082 std::vector<std::string> m_systemErrorFlag; 00083 00085 00086 std::vector<Float_t> m_summaryContent; 00087 MonitorElement* m_meSummaryErrorFlagMap; 00088 00089 // 00090 00091 DQMStore* m_dbe; 00092 00093 }; 00094 00095 #endif