CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DTBlockedROChannelsTest.h
Go to the documentation of this file.
1 #ifndef DTMonitorModule_DTBlockedROChannelsTest_H
2 #define DTMonitorModule_DTBlockedROChannelsTest_H
3 
21 
22 class DTReadOutMapping;
24 
26 public:
29 
31  ~DTBlockedROChannelsTest() override;
32 
33 protected:
35  void beginRun(const edm::Run&, const edm::EventSetup&) override;
36 
37  void fillChamberMap(DQMStore::IGetter& igetter, const edm::EventSetup& c);
38 
41 
45  edm::LuminosityBlock const&,
46  edm::EventSetup const&) override;
48 
49 private:
50  int readOutToGeometry(int dduId, int rosNumber, int robNumber, int& wheel, int& station, int& sector);
51 
52  int theDDU(int crate, int slot, int link, bool tenDDU);
53  int theROS(int slot, int link);
54  int theROB(int slot, int link);
55 
56  //Number of onUpdates
57  int nupdates;
58 
59  // prescale on the # of LS to update the test
62  bool checkUros;
63  int nevents;
65  unsigned int nLumiSegs;
66  unsigned int prevNLumiSegs;
67  double prevTotalPerc;
68 
69  int run;
70 
73 
74  // Monitor Elements
75  std::map<int, MonitorElement*> wheelHistos;
77 
78  std::map<int, double> resultsPerLumi;
80 
81  class DTRobBinsMap {
82  public:
83  DTRobBinsMap(DQMStore::IGetter& igetter, const int fed, const int ros);
84 
85  DTRobBinsMap();
86 
87  ~DTRobBinsMap();
88 
89  // add a rob to the set of robs
90  void addRobBin(int robBin);
91  void init(bool v) { init_ = v; }
92 
93  bool robChanged(int robBin);
94 
96 
97  void readNewValues(DQMStore::IGetter& igetter);
98 
99  private:
100  int getValueRobBin(int robBin) const;
101  int getValueRos() const;
102 
103  int rosBin;
104  bool init_;
105 
106  std::map<int, int> robsAndValues;
107  int rosValue;
108 
111 
114  };
115 
116  std::map<DTChamberId, DTRobBinsMap> chamberMap;
117 
118  // For uROS starting in Year 2018
120  public:
121  DTLinkBinsMap(DQMStore::IGetter& igetter, const int fed, const int mapSlot);
122 
123  DTLinkBinsMap();
124 
125  ~DTLinkBinsMap();
126 
127  // add a rob to the set of robs
128  void addLinkBin(int linkBin);
129  void init(bool v) { init_ = v; }
130 
131  bool linkChanged(int linkBin);
132 
134 
135  void readNewValues(DQMStore::IGetter& igetter);
136 
137  private:
138  int getValueLinkBin(int linkBin) const;
139 
140  bool init_;
141 
142  std::map<int, int> linksAndValues;
143 
145 
147  };
148 
149  std::map<DTChamberId, DTLinkBinsMap> chamberMapUros;
150 };
151 
152 #endif
int theROB(int slot, int link)
const edm::EventSetup & c
DTTimeEvolutionHisto * hSystFractionVsLS
std::map< DTChamberId, DTLinkBinsMap > chamberMapUros
std::map< int, MonitorElement * > wheelHistos
void performClientDiagnostic(DQMStore::IGetter &igetter)
DQM Client operations.
void dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
DQM Client Diagnostic in online mode.
std::map< DTChamberId, DTRobBinsMap > chamberMap
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
std::map< int, double > resultsPerLumi
int theROS(int slot, int link)
void fillChamberMap(DQMStore::IGetter &igetter, const edm::EventSetup &c)
edm::ESGetToken< DTReadOutMapping, DTReadOutMappingRcd > mappingToken_
DTBlockedROChannelsTest(const edm::ParameterSet &ps)
Constructor.
void readNewValues(DQMStore::IGetter &igetter)
const DTReadOutMapping * mapping
void readNewValues(DQMStore::IGetter &igetter)
int theDDU(int crate, int slot, int link, bool tenDDU)
int readOutToGeometry(int dduId, int rosNumber, int robNumber, int &wheel, int &station, int &sector)
double getChamberPercentage(DQMStore::IGetter &)
void beginRun(const edm::Run &, const edm::EventSetup &) override
BeginRun.
~DTBlockedROChannelsTest() override
Destructor.
double getChamberPercentage(DQMStore::IGetter &)
Definition: Run.h:45