File indexing completed on 2024-04-06 12:07:57
0001 #ifndef DQM_L1TMONITORCLIENT_L1TDTTPG_H
0002 #define DQM_L1TMONITORCLIENT_L1TDTTPG_H
0003
0004 #include "FWCore/Framework/interface/Frameworkfwd.h"
0005 #include "FWCore/Framework/interface/Event.h"
0006 #include "FWCore/Framework/interface/MakerMacros.h"
0007 #include "DQMServices/Core/interface/DQMStore.h"
0008 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0009
0010 #include <memory>
0011 #include <iostream>
0012 #include <fstream>
0013 #include <string>
0014 #include <vector>
0015 #include <map>
0016 #include <TH1F.h>
0017 #include <TH2F.h>
0018 #include <TProfile2D.h>
0019
0020 class L1TDTTPGClient : public DQMEDHarvester {
0021 public:
0022
0023 L1TDTTPGClient(const edm::ParameterSet &ps);
0024
0025
0026 ~L1TDTTPGClient() override;
0027
0028 protected:
0029 void dqmEndJob(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter) override;
0030
0031 private:
0032 void initialize();
0033 void makeRatioHisto(DQMStore::IGetter &igetter, MonitorElement *ratioME, std::string &nName, std::string &dName);
0034 void setMapPhLabel(MonitorElement *me);
0035 void setMapThLabel(MonitorElement *me);
0036 TH1F *get1DHisto(std::string meName, DQMStore::IGetter &igetter);
0037 TH2F *get2DHisto(std::string meName, DQMStore::IGetter &igetter);
0038 TProfile2D *get2DProfile(std::string meName, DQMStore::IGetter &igetter);
0039 TProfile *get1DProfile(std::string meName, DQMStore::IGetter &igetter);
0040
0041 edm::ParameterSet parameters_;
0042 std::string monitorName_;
0043 std::string input_dir_;
0044 std::string output_dir_;
0045 int counterLS_;
0046 int counterEvt_;
0047 int prescaleLS_;
0048 int prescaleEvt_;
0049
0050
0051
0052 MonitorElement *dttpgphmapcorrf;
0053 MonitorElement *dttpgphmap2ndf;
0054 MonitorElement *dttpgphmapbxf[3];
0055 MonitorElement *dttpgthmaphf;
0056 MonitorElement *dttpgthmapbxf[3];
0057 };
0058
0059 #endif