Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-11-01 03:29:35

0001 #ifndef DQM_L1TMONITORCLIENT_L1TdeCSCTPGCLIENT_H
0002 #define DQM_L1TMONITORCLIENT_L1TdeCSCTPGCLIENT_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 <string>
0011 
0012 class L1TdeCSCTPGClient : public DQMEDHarvester {
0013 public:
0014   /// Constructor
0015   L1TdeCSCTPGClient(const edm::ParameterSet &ps);
0016 
0017   /// Destructor
0018   ~L1TdeCSCTPGClient() override;
0019 
0020 protected:
0021   void dqmEndLuminosityBlock(DQMStore::IBooker &,
0022                              DQMStore::IGetter &,
0023                              edm::LuminosityBlock const &,
0024                              edm::EventSetup const &) override;
0025   void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override;
0026 
0027 private:
0028   void book(DQMStore::IBooker &ibooker);
0029   void processHistograms(DQMStore::IGetter &);
0030 
0031   std::string monitorDir_;
0032 
0033   // ME1/1 combines trigger data from ME1/a and ME1/b
0034   std::vector<std::string> chambers_;
0035 
0036   std::vector<std::string> alctVars_;
0037   std::vector<std::string> clctVars_;
0038   std::vector<std::string> lctVars_;
0039 
0040   std::vector<unsigned> alctNBin_;
0041   std::vector<unsigned> clctNBin_;
0042   std::vector<unsigned> lctNBin_;
0043   std::vector<double> alctMinBin_;
0044   std::vector<double> clctMinBin_;
0045   std::vector<double> lctMinBin_;
0046   std::vector<double> alctMaxBin_;
0047   std::vector<double> clctMaxBin_;
0048   std::vector<double> lctMaxBin_;
0049 
0050   /*
0051     When set to True, we assume that the data comes from
0052     the Building 904 CSC test-stand. This test-stand is a single
0053     ME1/1 chamber, ME2/1, or ME4/2 chamber.
0054   */
0055   bool useB904_;
0056   bool useB904ME11_;
0057   bool useB904ME21_;
0058   bool useB904ME234s2_;
0059 
0060   bool isRun3_;
0061   bool make1DPlots_;
0062 
0063   // first key is the chamber number
0064   // second key is the variable
0065   std::map<uint32_t, std::map<std::string, MonitorElement *> > chamberHistos_;
0066 
0067   MonitorElement *lctDataSummary_eff_;
0068   MonitorElement *alctDataSummary_eff_;
0069   MonitorElement *clctDataSummary_eff_;
0070   MonitorElement *lctEmulSummary_eff_;
0071   MonitorElement *alctEmulSummary_eff_;
0072   MonitorElement *clctEmulSummary_eff_;
0073 };
0074 
0075 #endif