Back to home page

Project CMSSW displayed by LXR

 
 

    


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   /// Constructor
0023   L1TDTTPGClient(const edm::ParameterSet &ps);
0024 
0025   /// Destructor
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_;    ///counter
0046   int counterEvt_;   ///counter
0047   int prescaleLS_;   ///units of lumi sections
0048   int prescaleEvt_;  ///prescale on number of events
0049 
0050   // -------- member data --------
0051   //  MonitorElement * clientHisto;
0052   MonitorElement *dttpgphmapcorrf;
0053   MonitorElement *dttpgphmap2ndf;
0054   MonitorElement *dttpgphmapbxf[3];
0055   MonitorElement *dttpgthmaphf;
0056   MonitorElement *dttpgthmapbxf[3];
0057 };
0058 
0059 #endif