Go to the documentation of this file.00001 #ifndef DQM_L1TMONITORCLIENT_L1TEMUEventInfoClient_H
00002 #define DQM_L1TMONITORCLIENT_L1TEMUEventInfoClient_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 #include <TH1F.h>
00017 #include <TH2F.h>
00018 #include <TProfile2D.h>
00019
00020 class DQMStore;
00021
00022 class L1TEMUEventInfoClient: public edm::EDAnalyzer {
00023
00024 public:
00025
00027 L1TEMUEventInfoClient(const edm::ParameterSet& ps);
00028
00030 virtual ~L1TEMUEventInfoClient();
00031
00032 protected:
00033
00035 void beginJob(void);
00036
00038 void beginRun(const edm::Run& r, const edm::EventSetup& c);
00039
00041 void analyze(const edm::Event& e, const edm::EventSetup& c) ;
00042
00043 void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
00044 const edm::EventSetup& context) ;
00045
00047 void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
00048 const edm::EventSetup& c);
00049
00051 void endRun(const edm::Run& r, const edm::EventSetup& c);
00052
00054 void endJob();
00055
00056 private:
00057
00058 void initialize();
00059 TH1F * get1DHisto(std::string meName, DQMStore * dbi);
00060 TH2F * get2DHisto(std::string meName, DQMStore * dbi);
00061 TProfile2D * get2DProfile(std::string meName, DQMStore * dbi);
00062 TProfile * get1DProfile(std::string meName, DQMStore * dbi);
00063 edm::ParameterSet parameters_;
00064 std::string StringToUpper(std::string strToConvert);
00065
00066 DQMStore* dbe_;
00067 std::string monitorDir_;
00068 bool verbose_;
00069 int counterLS_;
00070 int counterEvt_;
00071 int prescaleLS_;
00072 int prescaleEvt_;
00073 int nChannels;
00074
00075 enum DataValue { data_empty, data_all, data_gt, data_muons,
00076 data_jets, data_taujets, data_isoem,
00077 data_nonisoem, data_met };
00078 enum EmulValue { emul_empty, emul_all, emul_gt, emul_dtf,
00079 emul_dtp, emul_ctf, emul_ctp, emul_rpc,
00080 emul_gmt, emul_etp, emul_htp, emul_rct,
00081 emul_gct, emul_glt };
00082
00083 std::map<std::string, DataValue> s_mapDataValues;
00084 std::map<std::string, EmulValue> s_mapEmulValues;
00085 std::map<int, int> emulatorMap;
00086
00087 Float_t setSummary(MonitorElement*);
00088 static const int nsys_=18;
00089 static const int nsysmon_=11;
00090
00091 Float_t reportSummary;
00092 Float_t summarySum;
00093 Float_t summaryContent[nsys_];
00094 std::vector<std::string> dataMask;
00095 std::vector<std::string> emulMask;
00096 std::string syslabel_ [nsysmon_];
00097 std::string syslabelext_[nsysmon_];
00098 bool sysmask_[nsysmon_];
00099
00100
00101
00102 MonitorElement * reportSummary_;
00103 MonitorElement * reportSummaryContent_[nsys_];
00104 MonitorElement * reportSummaryMap_;
00105
00106
00107 };
00108
00109 #endif