Go to the documentation of this file.00001 #ifndef DQM_L1TMONITORCLIENT_L1TEventInfoClient_H
00002 #define DQM_L1TMONITORCLIENT_L1TEventInfoClient_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/DQMStore.h"
00009 #include "DQMServices/Core/interface/MonitorElement.h"
00010
00011 #include <memory>
00012 #include <iostream>
00013 #include <fstream>
00014 #include <string>
00015 #include <vector>
00016 #include <map>
00017 #include <TH1F.h>
00018 #include <TH2F.h>
00019 #include <TProfile2D.h>
00020
00021 class L1TEventInfoClient: public edm::EDAnalyzer {
00022
00023 public:
00024
00026 L1TEventInfoClient(const edm::ParameterSet& ps);
00027
00029 virtual ~L1TEventInfoClient();
00030
00031 protected:
00032
00034 void beginJob(void);
00035
00037 void beginRun(const edm::Run& r, const edm::EventSetup& c);
00038
00040 void analyze(const edm::Event& e, const edm::EventSetup& c) ;
00041
00042 void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
00043 const edm::EventSetup& context) ;
00044
00046 void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
00047 const edm::EventSetup& c);
00048
00050 void endRun(const edm::Run& r, const edm::EventSetup& c);
00051
00053 void endJob();
00054
00055 private:
00056
00057 void initialize();
00058 TH1F * get1DHisto(std::string meName, DQMStore * dbi);
00059 TH2F * get2DHisto(std::string meName, DQMStore * dbi);
00060 TProfile2D * get2DProfile(std::string meName, DQMStore * dbi);
00061 TProfile * get1DProfile(std::string meName, DQMStore * dbi);
00062 edm::ParameterSet parameters_;
00063 std::string StringToUpper(std::string strToConvert);
00064
00065 DQMStore* dbe_;
00066 std::string monitorDir_;
00067 bool verbose_;
00068 int counterLS_;
00069 int counterEvt_;
00070 int prescaleLS_;
00071 int thresholdLS_;
00072 int prescaleEvt_;
00073 int nChannels;
00074
00075 double GCT_NonIsoEm_threshold_;
00076 double GCT_IsoEm_threshold_;
00077 double GCT_TauJets_threshold_;
00078 double GCT_AllJets_threshold_;
00079 double GMT_Muons_threshold_;
00080
00081 enum DataValue { data_empty, data_all, data_gt, data_muons,
00082 data_jets, data_taujets, data_isoem,
00083 data_nonisoem, data_met };
00084 enum EmulValue { emul_empty, emul_all, emul_gt, emul_dtf,
00085 emul_dtp, emul_ctf, emul_ctp, emul_rpc,
00086 emul_gmt, emul_etp, emul_htp, emul_rct,
00087 emul_gct, emul_glt };
00088
00089 std::map<std::string, DataValue> s_mapDataValues;
00090 std::map<std::string, EmulValue> s_mapEmulValues;
00091
00092 static const int nsys_=18;
00093
00094 Float_t reportSummary;
00095 Float_t summarySum;
00096 Float_t summaryContent[20];
00097 std::vector<std::string> dataMask;
00098 std::vector<std::string> emulMask;
00099
00100
00101
00102 MonitorElement * reportSummary_;
00103 MonitorElement * reportSummaryContent_[20];
00104 MonitorElement * reportSummaryMap_;
00105
00106
00107 };
00108
00109 #endif