CMS 3D CMS Logo

SiStripQualityChecker.h
Go to the documentation of this file.
1 #ifndef _SiStripQualityChecker_h_
2 #define _SiStripQualityChecker_h_
3 
8 
9 #include <iostream>
10 #include <fstream>
11 #include <sstream>
12 #include <map>
13 #include <vector>
14 #include <string>
15 
16 class TkDetMap;
17 class SiStripDetCabling;
18 
20 public:
23 
26 
27  void bookStatus(DQMStore& dqm_store);
28  void resetStatus();
29  void fillDummyStatus();
30  void fillStatus(DQMStore& dqm_store, const edm::ESHandle<SiStripDetCabling>& cabling, const edm::EventSetup& eSetup);
31  void fillStatusAtLumi(DQMStore& dqm_store);
32  void printStatusReport();
33  void fillFaultyModuleStatus(DQMStore& dqm_store, const edm::EventSetup& eSetup);
34 
35 private:
36  struct SubDetMEs {
37  MonitorElement* DetFraction;
38  MonitorElement* SToNFlag;
39  MonitorElement* SummaryFlag;
41  };
42 
43  void fillDetectorStatus(DQMStore& dqm_store, const edm::ESHandle<SiStripDetCabling>& cabling);
44  void fillSubDetStatus(DQMStore& dqm_store,
45  const edm::ESHandle<SiStripDetCabling>& cabling,
46  SubDetMEs& mes,
47  unsigned int xbin,
48  float& gflag);
49  void getModuleStatus(DQMStore& dqm_store,
50  std::vector<MonitorElement*>& layer_mes,
51  int& errdet,
52  int& errdet_hasBadChan,
53  int& errdet_hasTooManyDigis,
54  int& errdet_hasTooManyClu,
55  int& errdet_hasExclFed,
56  int& errdet_hasDcsErr);
57 
58  void fillStatusHistogram(MonitorElement const*, int xbin, int ybin, float val);
60 
61  void fillDetectorStatusAtLumi(DQMStore& dqm_store);
62 
63  std::map<std::string, SubDetMEs> SubDetMEsMap;
64  std::map<std::string, std::string> SubDetFolderMap;
65 
66  MonitorElement* DetFractionReportMap{nullptr};
67  MonitorElement* DetFractionReportMap_hasBadChan{nullptr};
68  MonitorElement* DetFractionReportMap_hasTooManyDigis{nullptr};
69  MonitorElement* DetFractionReportMap_hasTooManyClu{nullptr};
70  MonitorElement* DetFractionReportMap_hasExclFed{nullptr};
71  MonitorElement* DetFractionReportMap_hasDcsErr{nullptr};
72  MonitorElement* SToNReportMap{nullptr};
73  MonitorElement* SummaryReportMap{nullptr};
74  MonitorElement* SummaryReportGlobal{nullptr};
75  MonitorElement* TrackSummaryReportMap{nullptr};
76  MonitorElement* TrackSummaryReportGlobal{nullptr};
77 
78  std::map<uint32_t, uint16_t> badModuleList;
79 
81 
82  bool bookedStripStatus_{false};
83 
85 };
86 #endif
std::map< std::string, std::string > SubDetFolderMap
MonitorElement * DetFractionReportMap_hasTooManyDigis
SiStripQualityChecker(edm::ParameterSet const &ps)
std::map< std::string, SubDetMEs > SubDetMEsMap
void fillFaultyModuleStatus(DQMStore &dqm_store, const edm::EventSetup &eSetup)
void fillSubDetStatus(DQMStore &dqm_store, const edm::ESHandle< SiStripDetCabling > &cabling, SubDetMEs &mes, unsigned int xbin, float &gflag)
void fillStatusHistogram(MonitorElement const *, int xbin, int ybin, float val)
void fillDetectorStatusAtLumi(DQMStore &dqm_store)
void bookStatus(DQMStore &dqm_store)
void fillStatusAtLumi(DQMStore &dqm_store)
MonitorElement * DetFractionReportMap
MonitorElement * DetFractionReportMap_hasTooManyClu
void fillStatus(DQMStore &dqm_store, const edm::ESHandle< SiStripDetCabling > &cabling, const edm::EventSetup &eSetup)
MonitorElement * DetFractionReportMap_hasBadChan
MonitorElement * TrackSummaryReportGlobal
MonitorElement * SummaryReportMap
std::map< uint32_t, uint16_t > badModuleList
MonitorElement * SummaryReportGlobal
MonitorElement * SToNReportMap
MonitorElement * DetFractionReportMap_hasExclFed
MonitorElement * TrackSummaryReportMap
dqm::harvesting::MonitorElement MonitorElement
void getModuleStatus(DQMStore &dqm_store, std::vector< MonitorElement * > &layer_mes, int &errdet, int &errdet_hasBadChan, int &errdet_hasTooManyDigis, int &errdet_hasTooManyClu, int &errdet_hasExclFed, int &errdet_hasDcsErr)
void fillDetectorStatus(DQMStore &dqm_store, const edm::ESHandle< SiStripDetCabling > &cabling)
edm::ParameterSet const pSet_
MonitorElement * DetFractionReportMap_hasDcsErr
dqm::harvesting::DQMStore DQMStore