CMS 3D CMS Logo

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

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