Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:07:57

0001 #ifndef DQM_L1TMONITORCLIENT_L1TEMTFEventInfoClient_H
0002 #define DQM_L1TMONITORCLIENT_L1TEMTFEventInfoClient_H
0003 
0004 /**
0005  * \class L1TEMTFEventInfoClient
0006  *
0007  *
0008  * Description: fill L1 report summary for trigger L1T and emulator L1TEMU DQM.
0009  *
0010  * Implementation:
0011  *    <TODO: enter implementation details>
0012  *
0013  * \author: Vasile Mihai Ghete   - HEPHY Vienna
0014  *
0015  *    Re-designed and fully rewritten class.
0016  *    Original version and authors: see CVS history
0017  *
0018  *
0019  */
0020 
0021 // user include files
0022 #include "FWCore/Framework/interface/MakerMacros.h"
0023 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0024 #include "DQMServices/Core/interface/DQMStore.h"
0025 
0026 // forward declarations
0027 
0028 // class declaration
0029 class L1TEMTFEventInfoClient : public DQMEDHarvester {
0030 public:
0031   /// Constructor
0032   L1TEMTFEventInfoClient(const edm::ParameterSet &);
0033 
0034   /// Destructor
0035   ~L1TEMTFEventInfoClient() override;
0036 
0037 protected:
0038   void dqmEndLuminosityBlock(DQMStore::IBooker &ibooker,
0039                              DQMStore::IGetter &igetter,
0040                              const edm::LuminosityBlock &,
0041                              const edm::EventSetup &) override;
0042 
0043   /// end job
0044   void dqmEndJob(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter) override;
0045 
0046 private:
0047   /// input parameters
0048 
0049   bool m_verbose;
0050   std::string m_monitorDir;
0051   std::string m_histDir;
0052 
0053   bool m_runInEventLoop;
0054   bool m_runInEndLumi;
0055   bool m_runInEndRun;
0056   bool m_runInEndJob;
0057 
0058   std::vector<edm::ParameterSet> m_trackObjects;
0059   std::vector<edm::ParameterSet> m_hitObjects;
0060   std::vector<std::string> m_disableTrackObjects;
0061   std::vector<std::string> m_disableHitObjects;
0062 
0063   std::vector<edm::ParameterSet> m_noisyStrip;
0064   std::vector<edm::ParameterSet> m_deadStrip;
0065   std::vector<std::string> m_disableNoisyStrip;
0066   std::vector<std::string> m_disableDeadStrip;
0067 
0068   /// private methods
0069 
0070   /// initialize properly all elements
0071   void initialize();
0072 
0073   /// dump the content of the monitoring elements defined in this module
0074   void dumpContentMonitorElements(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter);
0075 
0076   /// book histograms
0077   void book(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter);
0078 
0079   /// read quality test results
0080   void readQtResults(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter);
0081 
0082   /// number of L1 trigger systems
0083   size_t m_nrTrackObjects;
0084 
0085   /// number of L1 trigger objects
0086   size_t m_nrHitObjects;
0087 
0088   /// number of L1 trigger noisy strips
0089   size_t m_nrNoisyStrip;
0090 
0091   /// number of L1 trigger dead strips
0092   size_t m_nrDeadStrip;
0093 
0094   /// total number of quality tests enabled for summary report for L1 trigger systems
0095   /// and L1 trigger objects
0096   size_t m_totalNrQtSummaryEnabled;
0097 
0098   std::vector<std::string> m_trackLabel;
0099   std::vector<std::string> m_trackLabelExt;
0100   std::vector<int> m_trackDisable;
0101 
0102   std::vector<std::vector<std::string> > m_trackQualityTestName;
0103   std::vector<std::vector<std::string> > m_trackQualityTestHist;
0104   std::vector<std::vector<unsigned int> > m_trackQtSummaryEnabled;
0105 
0106   std::vector<int> m_hitDisable;
0107   std::vector<std::string> m_hitLabel;
0108   std::vector<std::string> m_hitFolder;
0109 
0110   std::vector<std::vector<std::string> > m_hitQualityTestName;
0111   std::vector<std::vector<std::string> > m_hitQualityTestHist;
0112   std::vector<std::vector<unsigned int> > m_hitQtSummaryEnabled;
0113 
0114   std::vector<int> m_noisyDisable;
0115   std::vector<std::string> m_noisyLabel;
0116   std::vector<std::string> m_noisyFolder;
0117 
0118   std::vector<std::vector<std::string> > m_noisyQualityTestName;
0119   std::vector<std::vector<std::string> > m_noisyQualityTestHist;
0120   std::vector<std::vector<unsigned int> > m_noisyQtSummaryEnabled;
0121 
0122   std::vector<int> m_deadDisable;
0123   std::vector<std::string> m_deadLabel;
0124   std::vector<std::string> m_deadFolder;
0125 
0126   std::vector<std::vector<std::string> > m_deadQualityTestName;
0127   std::vector<std::vector<std::string> > m_deadQualityTestHist;
0128   std::vector<std::vector<unsigned int> > m_deadQtSummaryEnabled;
0129 
0130   /// summary report
0131 
0132   Float_t m_reportSummary;
0133   Float_t m_summarySum;
0134   std::vector<int> m_summaryContent;
0135 
0136   /// a summary report
0137   MonitorElement *m_meReportSummary;
0138 
0139   /// monitor elements to report content for all quality tests
0140   std::vector<MonitorElement *> m_meReportSummaryContent;
0141 
0142   /// report summary map
0143   MonitorElement *m_meReportSummaryMap;
0144   MonitorElement *m_meReportSummaryMap_chamberStrip;
0145 };
0146 
0147 #endif