CMS 3D CMS Logo

SiStripDcsInfo.h
Go to the documentation of this file.
1 #ifndef SiStripMonitorClient_SiStripDcsInfo_h
2 #define SiStripMonitorClient_SiStripDcsInfo_h
3 // -*- C++ -*-
4 //
5 // Package: SiStripMonitorClient
6 // Class : SiStripDcsInfo
7 //
17 //
18 // Author: Suchandra Dutta
19 // Created: Mon Feb 16 19:00:00 CET 2009
20 //
21 
22 #include <string>
23 
31 
38 
39 #include <iostream>
40 #include <fstream>
41 #include <string>
42 #include <vector>
43 #include <map>
44 #include <unordered_map>
45 
46 class SiStripDetVOff;
47 class SiStripDetCabling;
48 class RunInfo;
49 
51 public:
54 
56 
57 private:
58  void beginJob() override;
59  void beginRun(edm::Run const& run, edm::EventSetup const& eSetup) override;
60  void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& eSetup) override;
61  void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& iSetup) override;
62  void endRun(edm::Run const& run, edm::EventSetup const& eSetup) override;
63  void analyze(edm::Event const&, edm::EventSetup const&) override;
64 
65  void bookStatus(DQMStore& dqm_store);
66  void readStatus(edm::EventSetup const&, int transition);
67  void readCabling(edm::EventSetup const&);
68  void addBadModules(DQMStore& dqm_store);
69  void fillStatus(DQMStore& dqm_store);
70  void fillDummyStatus(DQMStore& dqm_store);
71 
73 
74  struct SubDetMEs {
78  std::vector<uint32_t> FaultyDetectors;
79  std::unordered_map<uint32_t, uint16_t> NLumiDetectorIsFaulty;
80  };
81 
82  std::map<std::string, SubDetMEs> SubDetMEsMap{};
83  unsigned long long m_cacheIDDcs_{};
84  bool bookedStatus_{false};
85 
87 
89 
90  bool IsLumiGoodDcs_{false};
92  static constexpr float MinAcceptableDcsDetFrac_{0.90};
93  static constexpr float MaxAcceptableBadDcsLumi_{2};
94 
101 };
102 #endif
void endLuminosityBlock(edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &iSetup) override
void bookStatus(DQMStore &dqm_store)
const SiStripDetCabling * detCabling_
edm::ESGetToken< SiStripDetVOff, SiStripDetVOffRcd > detVOffToken2_
SiStripDcsInfo(const edm::ParameterSet &ps)
edm::ESGetToken< SiStripDetVOff, SiStripDetVOffRcd > detVOffToken0_
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > detCablingToken_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken2_
void beginLuminosityBlock(edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &eSetup) override
edm::ESGetToken< RunInfo, RunInfoRcd > runInfoToken_
void fillStatus(DQMStore &dqm_store)
std::map< std::string, SubDetMEs > SubDetMEsMap
edm::ESWatcher< SiStripFedCablingRcd > fedCablingWatcher_
MonitorElement * DcsFractionME
static constexpr float MaxAcceptableBadDcsLumi_
void readCabling(edm::EventSetup const &)
void readStatus(edm::EventSetup const &, int transition)
unsigned long long m_cacheIDDcs_
void beginRun(edm::Run const &run, edm::EventSetup const &eSetup) override
MonitorElement * DcsFraction_
void beginJob() override
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken3_
void endRun(edm::Run const &run, edm::EventSetup const &eSetup) override
void analyze(edm::Event const &, edm::EventSetup const &) override
std::unordered_map< uint32_t, uint16_t > NLumiDetectorIsFaulty
edm::ESGetToken< SiStripDetVOff, SiStripDetVOffRcd > detVOffToken1_
std::vector< uint32_t > FaultyDetectors
void addBadModules(DQMStore &dqm_store)
dqm::harvesting::MonitorElement MonitorElement
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken1_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken0_
static constexpr float MinAcceptableDcsDetFrac_
Definition: Run.h:45
void fillDummyStatus(DQMStore &dqm_store)
dqm::harvesting::DQMStore DQMStore