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
0020 L1EmulatorErrorFlagClient(const edm::ParameterSet &);
0021
0022
0023 ~L1EmulatorErrorFlagClient() override;
0024
0025 protected:
0026 void dqmEndLuminosityBlock(DQMStore::IBooker &,
0027 DQMStore::IGetter &,
0028 edm::LuminosityBlock const &,
0029 edm::EventSetup const &) override;
0030 void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override;
0031
0032 private:
0033
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
0045
0046 void initialize();
0047
0048 Float_t setSummary(DQMStore::IGetter &igetter, const unsigned int &) const;
0049
0050
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
0061
0062 std::vector<Float_t> m_summaryContent;
0063 MonitorElement *m_meSummaryErrorFlagMap;
0064 };
0065
0066 #endif