Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:55:32

0001 #ifndef DQM_L1TMONITORCLIENT_L1TGCTCLIENT_H
0002 #define DQM_L1TMONITORCLIENT_L1TGCTCLIENT_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 
0017 class L1TGCTClient : public DQMEDHarvester {
0018 public:
0019   /// Constructor

0020   L1TGCTClient(const edm::ParameterSet &ps);
0021 
0022   /// Destructor

0023   ~L1TGCTClient() override;
0024 
0025 protected:
0026   void dqmEndJob(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter) override;
0027   void dqmEndLuminosityBlock(DQMStore::IBooker &ibooker,
0028                              DQMStore::IGetter &igetter,
0029                              const edm::LuminosityBlock &lumiSeg,
0030                              const edm::EventSetup &c) override;
0031 
0032 private:
0033   void book(DQMStore::IBooker &ibooker);
0034   void processHistograms(DQMStore::IGetter &igetter);
0035 
0036   void makeXProjection(TH2F *input, MonitorElement *output);
0037   void makeYProjection(TH2F *input, MonitorElement *output);
0038 
0039   std::string monitorDir_;
0040   int counterLS_;    ///counter

0041   int counterEvt_;   ///counter

0042   int prescaleLS_;   ///units of lumi sections

0043   int prescaleEvt_;  ///prescale on number of events

0044 
0045   bool m_runInEventLoop;
0046   bool m_runInEndLumi;
0047   bool m_runInEndRun;
0048   bool m_runInEndJob;
0049   bool m_stage1_layer2_;
0050 
0051   std::string InputDir;
0052 
0053   MonitorElement *l1GctIsoEmOccEta_;
0054   MonitorElement *l1GctIsoEmOccPhi_;
0055   MonitorElement *l1GctNonIsoEmOccEta_;
0056   MonitorElement *l1GctNonIsoEmOccPhi_;
0057   MonitorElement *l1GctAllJetsOccEta_;
0058   MonitorElement *l1GctAllJetsOccPhi_;
0059   MonitorElement *l1GctCenJetsOccEta_;
0060   MonitorElement *l1GctCenJetsOccPhi_;
0061   MonitorElement *l1GctForJetsOccEta_;
0062   MonitorElement *l1GctForJetsOccPhi_;
0063   MonitorElement *l1GctTauJetsOccEta_;
0064   MonitorElement *l1GctTauJetsOccPhi_;
0065   MonitorElement *l1GctIsoTauJetsOccEta_;
0066   MonitorElement *l1GctIsoTauJetsOccPhi_;
0067 };
0068 
0069 #endif