00001 #ifndef DQM_L1TMONITORCLIENT_L1TDTTPG_H
00002 #define DQM_L1TMONITORCLIENT_L1TDTTPG_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 using namespace std;
00022
00023 class L1TDTTPGClient: public edm::EDAnalyzer {
00024
00025 public:
00026
00028 L1TDTTPGClient(const edm::ParameterSet& ps);
00029
00031 virtual ~L1TDTTPGClient();
00032
00033 protected:
00034
00036 void beginJob(const edm::EventSetup& c);
00037
00039 void beginRun(const edm::Run& r, const edm::EventSetup& c);
00040
00042 void analyze(const edm::Event& e, const edm::EventSetup& c) ;
00043
00044 void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
00045 const edm::EventSetup& context) ;
00046
00048 void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
00049 const edm::EventSetup& c);
00050
00052 void endRun(const edm::Run& r, const edm::EventSetup& c);
00053
00055 void endJob();
00056
00057 private:
00058
00059 void initialize();
00060 void makeRatioHisto(MonitorElement *ratioME, string &nName, string &dName);
00061 void setMapPhLabel(MonitorElement *me);
00062 void setMapThLabel(MonitorElement *me);
00063 TH1F * get1DHisto(string meName, DQMStore * dbi);
00064 TH2F * get2DHisto(string meName, DQMStore * dbi);
00065 TProfile2D * get2DProfile(string meName, DQMStore * dbi);
00066 TProfile * get1DProfile(string meName, DQMStore * dbi);
00067
00068 edm::ParameterSet parameters_;
00069 DQMStore* dbe_;
00070 std::string monitorName_;
00071 std::string input_dir_;
00072 std::string output_dir_;
00073 int counterLS_;
00074 int counterEvt_;
00075 int prescaleLS_;
00076 int prescaleEvt_;
00077
00078
00079
00080 MonitorElement *dttpgphmapcorrf;
00081 MonitorElement *dttpgphmap2ndf;
00082 MonitorElement *dttpgphmapbxf[3];
00083 MonitorElement *dttpgthmaphf;
00084 MonitorElement *dttpgthmapbxf[3];
00085
00086 };
00087
00088 #endif