CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/DQM/L1TMonitorClient/interface/L1EmulatorErrorFlagClient.h

Go to the documentation of this file.
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