Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DQM_L1TMONITORCLIENT_L1EmulatorErrorFlagClient_H
0002 #define DQM_L1TMONITORCLIENT_L1EmulatorErrorFlagClient_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 L1EmulatorErrorFlagClient : public DQMEDHarvester {
0018 public:
0019   /// Constructor
0020   L1EmulatorErrorFlagClient(const edm::ParameterSet &);
0021 
0022   /// Destructor
0023   ~L1EmulatorErrorFlagClient() override;
0024 
0025 protected:
0026   void dqmEndLuminosityBlock(DQMStore::IBooker &,
0027                              DQMStore::IGetter &,
0028                              edm::LuminosityBlock const &,
0029                              edm::EventSetup const &) override;       //performed in the endLumi
0030   void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override;  //performed in the endJob
0031 
0032 private:
0033   /// input parameters
0034 
0035   bool m_verbose;
0036   std::vector<edm::ParameterSet> m_l1Systems;
0037   std::vector<std::string> m_maskL1Systems;
0038 
0039   bool m_runInEventLoop;
0040   bool m_runInEndLumi;
0041   bool m_runInEndRun;
0042   bool m_runInEndJob;
0043 
0044   /// private methods
0045 
0046   void initialize();
0047 
0048   Float_t setSummary(DQMStore::IGetter &igetter, const unsigned int &) const;
0049 
0050   /// number of L1 trigger systems
0051   size_t m_nrL1Systems;
0052 
0053   std::vector<std::string> m_systemLabel;
0054   std::vector<std::string> m_systemLabelExt;
0055   std::vector<int> m_systemMask;
0056   std::vector<std::string> m_systemFolder;
0057 
0058   std::vector<std::string> m_systemErrorFlag;
0059 
0060   /// summary report
0061 
0062   std::vector<Float_t> m_summaryContent;
0063   MonitorElement *m_meSummaryErrorFlagMap;
0064 };
0065 
0066 #endif