CMS 3D CMS Logo

DTBlockedROChannelsTest.cc
Go to the documentation of this file.
1 /*
2  * \file DTBlockedROChannelsTest.cc
3  *
4  * \author G. Cerminara - University and INFN Torino
5  *
6  */
7 
9 
10 //Framework
18 #include <iostream>
19 #include <string>
20 
21 using namespace std;
22 using namespace edm;
23 
25  : nevents(0), neventsPrev(0), prevNLumiSegs(0), prevTotalPerc(0), hSystFractionVsLS(nullptr) {
26  LogTrace("DTDQM|DTRawToDigi|DTMonitorClient|DTBlockedROChannelsTest") << "[DTBlockedROChannelsTest]: Constructor";
27 
28  // prescale on the # of LS to update the test
29  prescaleFactor = ps.getUntrackedParameter<int>("diagnosticPrescale", 1);
30 
31  offlineMode = ps.getUntrackedParameter<bool>("offlineMode", true);
32 
33  checkUros = ps.getUntrackedParameter<bool>("checkUros", true);
34 }
35 
37  LogTrace("DTDQM|DTRawToDigi|DTMonitorClient|DTBlockedROChannelsTest")
38  << "DataIntegrityTest: analyzed " << nupdates << " updates";
39 }
40 
42  nupdates = 0;
43  return;
44 }
45 
47  // get the RO mapping
48  context.get<DTReadOutMappingRcd>().get(mapping);
49  int dummy = 0;
50  bool tenDDU = !mapping->readOutToGeometry(779, 7, 1, 1, 1, dummy, dummy, dummy, dummy, dummy, dummy);
51 
52  if (checkUros) {
53  for (int crate = FEDNumbering::MINDTUROSFEDID; crate <= FEDNumbering::MAXDTUROSFEDID; ++crate) { //loop over FEDs
54  for (int mapSlot = 1; mapSlot != 13; ++mapSlot) { //loop over mapSlot
55  for (int link = 0; link != 72; ++link) { //loop over links
56  //skip non existing links
57  if (mapSlot == 6)
58  continue;
59  if (crate == 1370 && mapSlot > 5)
60  continue;
61  if ((mapSlot == 5 || mapSlot == 11) && link > 11)
62  continue;
63 
64  int wheel = 0;
65  int station = 0;
66  int sector = 0;
67 
68  int dduId = theDDU(crate, mapSlot, link, tenDDU);
69  int ros = theROS(mapSlot, link);
70  int rob = theROB(mapSlot, link);
71 
72  // mapping->readOutToGeometry(dduId,ros,rob,2,2,wheel,station,sector,dummy,dummy,dummy);
73  readOutToGeometry(dduId, ros, rob, wheel, station, sector);
74  if (station > 0) {
75  //std::cout<<" FED "<<crate<<" mapSlot "<< mapSlot<<" Link "<<link<<" Wh "<<wheel<<" station "<<station<<" sector "<<sector <<endl;
76  DTChamberId chId(wheel, station, sector);
77  if (chamberMapUros.find(chId) == chamberMapUros.end()) {
78  chamberMapUros[chId] = DTLinkBinsMap(igetter, dduId, ros);
79  chamberMapUros[chId].addLinkBin(link % 24);
80  }
81  chamberMapUros[chId].addLinkBin(link % 24);
82  } else {
83  LogTrace("DTDQM|DTRawToDigi|DTMonitorClient|DTBlockedROChannelsTest")
84  << "[DTLinkBinsMap] FED: " << crate << "mapSlot: " << mapSlot << " Link: " << link
85  << " not in the mapping!" << endl;
86  }
87  } //loop on links
88  } //loop on mapSlots
89  } //loop on crates
90  } //checkUros
91  else {
92  // fill the map of the robs per chamber
93  // //FIXME: monitoring only real used FEDs
94  for (int dduId = FEDNumbering::MINDTFEDID; dduId <= FEDNumbering::MAXDTFEDID; ++dduId) { //loop over DDUs
95  for (int ros = 1; ros != 13; ++ros) { // loop over ROSs
96  for (int rob = 1; rob != 26; ++rob) { // loop over ROBs
97  int wheel = 0;
98  int station = 0;
99  int sector = 0;
100  if (!mapping->readOutToGeometry(dduId, ros, rob - 1, 0, 2, wheel, station, sector, dummy, dummy, dummy) ||
101  !mapping->readOutToGeometry(dduId, ros, rob - 1, 0, 16, wheel, station, sector, dummy, dummy, dummy)) {
102  DTChamberId chId(wheel, station, sector);
103  if (chamberMap.find(chId) == chamberMap.end()) {
104  chamberMap[chId] = DTRobBinsMap(igetter, dduId, ros);
105  chamberMap[chId].addRobBin(rob);
106  }
107  chamberMap[chId].addRobBin(rob);
108  } else {
109  LogTrace("DTDQM|DTRawToDigi|DTMonitorClient|DTBlockedROChannelsTest")
110  << "[DTRobBinsMap] FED: " << dduId << " ROS " << ros << " ROB: " << rob - 1 << " not in the mapping!"
111  << endl;
112  }
113  }
114  }
115  }
116  // loop over all chambers and remove the init flag
117  for (map<DTChamberId, DTRobBinsMap>::iterator chAndRobs = chamberMap.begin(); chAndRobs != chamberMap.end();
118  ++chAndRobs) {
119  chAndRobs->second.init(false);
120  }
121  } //Legacy
122 }
123 
125  DQMStore::IGetter& igetter,
126  edm::LuminosityBlock const& lumiSeg,
127  edm::EventSetup const& context) {
128  //FR moved the following from beginJob!
129 
130  // book the summary histogram
131 
132  if (wheelHistos.empty()) { // this is an attempt to make these bookings only once!
133 
134  ibooker.setCurrentFolder("DT/00-ROChannels");
135  summaryHisto = ibooker.book2D("ROChannelSummary", "Summary Blocked RO Channels", 12, 1, 13, 5, -2, 3);
136  summaryHisto->setAxisTitle("Sector", 1);
137  summaryHisto->setAxisTitle("Wheel", 2);
138 
139  for (int wheel = -2; wheel != 3; ++wheel) {
140  stringstream namestream;
141  namestream << "ROChannelSummary_W" << wheel;
142  stringstream titlestream;
143  titlestream << "Blocked RO Channels (Wh " << wheel << ")";
144  wheelHistos[wheel] = ibooker.book2D(namestream.str().c_str(), titlestream.str().c_str(), 12, 1, 13, 4, 1, 5);
145  wheelHistos[wheel]->setAxisTitle("Sector", 1);
146  wheelHistos[wheel]->setBinLabel(1, "MB1", 2);
147  wheelHistos[wheel]->setBinLabel(2, "MB2", 2);
148  wheelHistos[wheel]->setBinLabel(3, "MB3", 2);
149  wheelHistos[wheel]->setBinLabel(4, "MB4", 2);
150  }
151 
152  if (!offlineMode) {
153  hSystFractionVsLS = new DTTimeEvolutionHisto(ibooker, "EnabledROChannelsVsLS", "% RO channels", 500, 5, true, 3);
154  }
155  } // end attempt to make these bookings only once!
156 
157  //FR moved here from beginRun
158 
159  if (checkUros) {
160  if (chamberMapUros.empty())
161  fillChamberMap(igetter, context);
162  } else {
163  if (chamberMap.empty())
164  fillChamberMap(igetter, context);
165  }
166 
167  //FR moved here from beginLuminosityBlock
168  run = lumiSeg.run();
169 
170  //FR moved here from endLuminosityBlock
171  // counts number of lumiSegs
172  nLumiSegs = lumiSeg.id().luminosityBlock();
173 
174  // prescale factor
175  if (nLumiSegs % prescaleFactor != 0 || offlineMode)
176  return;
177 
178  LogTrace("DTDQM|DTRawToDigi|DTMonitorClient|DTBlockedROChannelsTest")
179  << "[DTBlockedROChannelsTest]: End of LS " << nLumiSegs
180  << ". Client called in online mode, performing client operations";
181 
182  performClientDiagnostic(igetter);
183 
184  // counts number of updats
185  nupdates++;
186 }
187 
189  if (offlineMode) {
190  LogTrace("DTDQM|DTRawToDigi|DTMonitorClient|DTBlockedROChannelsTest")
191  << "[DTBlockedROChannelsTest] endRun called. Client called in offline mode, performing operations.";
192  performClientDiagnostic(igetter);
193  }
194 }
195 
197  //FR: I've commented the if below. Either in online mode or in offline mode, when the diagnostic is called
198  // compute first the number of events. It will be: event/lumisection in the online case, it will be: total number
199  // of events (neventsPrev=0) in the offline case, when the diagnostic is called only once from the dqmEndJob
200 
201  //if(nevents == 0) { // hack to work also in offline DQM
202  MonitorElement* procEvt = igetter.get("DT/EventInfo/processedEvents");
203  if (procEvt != nullptr) {
204  int procEvents = procEvt->getIntValue();
205  nevents = procEvents - neventsPrev;
206  neventsPrev = procEvents;
207  }
208  //}
209 
210  double totalPerc = prevTotalPerc;
211  // check again!
212  if (nevents != 0) { // skip the computation if no events in the last LS
213 
214  // reset the histos
215  summaryHisto->Reset();
216  for (int wheel = -2; wheel != 3; ++wheel) {
217  wheelHistos[wheel]->Reset();
218  }
219 
220  totalPerc = 0.;
221 
222  if (checkUros) {
223  // loop over all chambers and fill the wheel plots
224  for (map<DTChamberId, DTLinkBinsMap>::iterator chAndLinks = chamberMapUros.begin();
225  chAndLinks != chamberMapUros.end();
226  ++chAndLinks) {
227  DTChamberId chId = (*chAndLinks).first;
228  double scale = 1.;
229  int sectorForPlot = chId.sector();
230  if (sectorForPlot == 13 || (sectorForPlot == 4 && chId.station() == 4)) {
231  sectorForPlot = 4;
232  scale = 0.5;
233  } else if (sectorForPlot == 14 || (sectorForPlot == 10 && chId.station() == 4)) {
234  sectorForPlot = 10;
235  scale = 0.5;
236  }
237 
238  // NOTE: can be called only ONCE per event per each chamber
239  double chPercent = (*chAndLinks).second.getChamberPercentage(igetter);
240  wheelHistos[chId.wheel()]->Fill(sectorForPlot, chId.station(), scale * chPercent);
241  totalPerc += chPercent * scale * 1. /
242  240.; // CB has to be 240 as double stations are taken into account by scale factor
243 
244  // Fill the summary
245  summaryHisto->Fill(sectorForPlot, chId.wheel(), 0.25 * scale * chPercent);
246  }
247  } //Uros case
248  else { //Legacy case
249  // loop over all chambers and fill the wheel plots
250  for (map<DTChamberId, DTRobBinsMap>::iterator chAndRobs = chamberMap.begin(); chAndRobs != chamberMap.end();
251  ++chAndRobs) {
252  DTChamberId chId = (*chAndRobs).first;
253  double scale = 1.;
254  int sectorForPlot = chId.sector();
255  if (sectorForPlot == 13 || (sectorForPlot == 4 && chId.station() == 4)) {
256  sectorForPlot = 4;
257  scale = 0.5;
258  } else if (sectorForPlot == 14 || (sectorForPlot == 10 && chId.station() == 4)) {
259  sectorForPlot = 10;
260  scale = 0.5;
261  }
262 
263  // NOTE: can be called only ONCE per event per each chamber
264  double chPercent = (*chAndRobs).second.getChamberPercentage(igetter);
265  wheelHistos[chId.wheel()]->Fill(sectorForPlot, chId.station(), scale * chPercent);
266  totalPerc += chPercent * scale * 1. /
267  240.; // CB has to be 240 as double stations are taken into account by scale factor
268 
269  // Fill the summary
270  summaryHisto->Fill(sectorForPlot, chId.wheel(), 0.25 * scale * chPercent);
271  }
272  } //Legacy case
273  } //nevents != 0
274 
275  if (!offlineMode) { // fill trend histo only in online
278  prevTotalPerc = totalPerc;
279  }
280 }
281 
282 int DTBlockedROChannelsTest::readOutToGeometry(int dduId, int ros, int rob, int& wheel, int& station, int& sector) {
283  int dummy = 0;
284  return mapping->readOutToGeometry(dduId, ros, rob, 2, 2, wheel, station, sector, dummy, dummy, dummy);
285 }
286 
288  : rosBin(ros), init_(true), rosValue(0) {
289  // get the pointer to the corresondig histo
290  // Legacy
291  stringstream mename;
292  mename << "DT/00-DataIntegrity/FED" << fed << "/ROS" << ros << "/FED" << fed << "_ROS" << ros << "_ROSError";
293  rosHName = mename.str();
294 
295  stringstream whname;
296  whname << "DT/00-DataIntegrity/FED" << fed << "/FED" << fed << "_ROSStatus";
297  dduHName = whname.str();
298 
299  meROS = igetter.get(rosHName);
300  meDDU = igetter.get(dduHName);
301 }
302 
303 DTBlockedROChannelsTest::DTRobBinsMap::DTRobBinsMap() : init_(true), meROS(nullptr), meDDU(nullptr) {}
304 
306 
307 // add a rob to the set of robs
308 void DTBlockedROChannelsTest::DTRobBinsMap::addRobBin(int robBin) { robsAndValues[robBin] = getValueRobBin(robBin); }
309 
311  if (init_)
312  return 0;
313  int value = 0;
314  if (meROS) {
315  value += (int)meROS->getBinContent(9, robBin);
316  value += (int)meROS->getBinContent(11, robBin);
317  }
318  return value;
319 }
320 
322  int value = 0;
323  if (meDDU) {
324  value += (int)meDDU->getBinContent(2, rosBin);
325  value += (int)meDDU->getBinContent(10, rosBin);
326  }
327  return value;
328 }
329 
331  // check that this is a valid ROB for this map (= it has been added!)
332  if (robsAndValues.find(robBin) == robsAndValues.end()) {
333  LogWarning("DTDQM|DTRawToDigi|DTMonitorClient|DTBlockedROChannelsTest")
334  << "[DTRobBinsMap]***Error: ROB: " << robBin << " is not valid" << endl;
335  return false;
336  }
337 
338  int newValue = getValueRobBin(robBin);
339  if (newValue > robsAndValues[robBin]) {
340  robsAndValues[robBin] = newValue;
341  return true;
342  }
343  return false;
344 }
345 
347  meROS = igetter.get(rosHName);
348  meDDU = igetter.get(dduHName);
349  int nChangedROBs = 0;
350 
351  // check if ros status has changed
352  int newValue = getValueRos();
353  if (newValue > rosValue) {
354  rosValue = newValue;
355  return 0.;
356  }
357 
358  for (map<int, int>::const_iterator robAndValue = robsAndValues.begin(); robAndValue != robsAndValues.end();
359  ++robAndValue) {
360  if (robChanged((*robAndValue).first))
361  nChangedROBs++;
362  }
363  return 1. - ((double)nChangedROBs / (double)robsAndValues.size());
364 }
365 
367  meROS = igetter.get(rosHName);
368  meDDU = igetter.get(dduHName);
369 
370  rosValue = getValueRos();
371  for (map<int, int>::const_iterator robAndValue = robsAndValues.begin(); robAndValue != robsAndValues.end();
372  ++robAndValue) {
373  robChanged((*robAndValue).first);
374  }
375 }
376 
377 // uROS starting on 2018
379  : init_(true) {
380  int wheel = (ddu - 770) % 5 - 2;
381 
382  // get the pointer to the corresondig histo
383  urosHName = "DT/00-DataIntegrity/Wheel" + to_string(wheel) + "/ROS" + to_string(ros) + "/W" + to_string(wheel) +
384  "_ROS" + to_string(ros) + "_ROSError";
385  meuROS = igetter.get(urosHName);
386 }
387 
389 
391 
393  linksAndValues[linkBin] = getValueLinkBin(linkBin);
394 }
395 
397  if (!init_)
398  return 0;
399  int value = 0;
400  if (meuROS) {
401  value += (int)meuROS->getBinContent(5, linkBin); //ONLY NotOKFlag
402  }
403  return value;
404 }
405 
407  // check that this is a valid Link for this map (= it has been added!)
408  if (linksAndValues.find(linkBin) == linksAndValues.end()) {
409  LogWarning("DTDQM|DTRawToDigi|DTMonitorClient|DTBlockedROChannelsTest")
410  << "[DTLinkBinsMap]***Error: Link: " << linkBin << " is not valid" << endl;
411  return false;
412  }
413 
414  int newValue = getValueLinkBin(linkBin);
415  if (newValue > linksAndValues[linkBin]) {
416  linksAndValues[linkBin] = newValue;
417  return true;
418  }
419  return false;
420 }
421 
423  meuROS = igetter.get(urosHName);
424  int nChangedLinks = 0;
425 
426  for (map<int, int>::const_iterator linkAndValue = linksAndValues.begin(); linkAndValue != linksAndValues.end();
427  ++linkAndValue) {
428  if (linkChanged((*linkAndValue).first))
429  nChangedLinks++;
430  }
431  return 1. - ((double)nChangedLinks / (double)linksAndValues.size());
432 }
433 
435  meuROS = igetter.get(urosHName);
436 
437  for (map<int, int>::const_iterator linkAndValue = linksAndValues.begin(); linkAndValue != linksAndValues.end();
438  ++linkAndValue) {
439  linkChanged((*linkAndValue).first);
440  }
441 }
442 
443 // Conversions
444 int DTBlockedROChannelsTest::theDDU(int crate, int slot, int link, bool tenDDU) {
445  int ros = theROS(slot, link);
446 
447  int ddu = 772;
448  //if (crate == 1368) { ddu = 775; }
449  //Needed just in case this FED should be used due to fibers lenght
450 
451  if (crate == FEDNumbering::MINDTUROSFEDID) {
452  if (slot < 7)
453  ddu = 770;
454  else
455  ddu = 771;
456  }
457 
458  if (crate == (FEDNumbering::MINDTUROSFEDID + 1)) {
459  ddu = 772;
460  }
461 
462  if (crate == FEDNumbering::MAXDTUROSFEDID) {
463  if (slot < 7)
464  ddu = 773;
465  else
466  ddu = 774;
467  }
468 
469  if (ros > 6 && tenDDU && ddu < 775)
470  ddu += 5;
471 
472  return ddu;
473 }
474 
476  if (slot % 6 == 5)
477  return link + 1;
478 
479  int ros = (link / 24) + 3 * (slot % 6) - 2;
480  return ros;
481 }
482 
484  if (slot % 6 == 5)
485  return 23;
486 
487  int rob = link % 24;
488  if (rob < 15)
489  return rob;
490  if (rob == 15)
491  return 24;
492  return rob - 1;
493 }
494 
495 // FIXME: move to SealModule
cmsHarvester.nevents
nevents
Definition: cmsHarvester.py:3177
DTBlockedROChannelsTest::theROB
int theROB(int slot, int link)
Definition: DTBlockedROChannelsTest.cc:483
FEDNumbering.h
DTBlockedROChannelsTest::nLumiSegs
unsigned int nLumiSegs
Definition: DTBlockedROChannelsTest.h:64
DTBlockedROChannelsTest::DTLinkBinsMap::~DTLinkBinsMap
~DTLinkBinsMap()
Definition: DTBlockedROChannelsTest.cc:390
MessageLogger.h
funct::false
false
Definition: Factorize.h:29
DTBlockedROChannelsTest::dqmEndJob
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
Definition: DTBlockedROChannelsTest.cc:188
DTBlockedROChannelsTest::summaryHisto
MonitorElement * summaryHisto
Definition: DTBlockedROChannelsTest.h:74
MainPageGenerator.link
link
Definition: MainPageGenerator.py:271
DTBlockedROChannelsTest::dqmEndLuminosityBlock
void dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
DQM Client Diagnostic in online mode.
Definition: DTBlockedROChannelsTest.cc:124
DTBlockedROChannelsTest::DTLinkBinsMap::linkChanged
bool linkChanged(int linkBin)
Definition: DTBlockedROChannelsTest.cc:406
DTBlockedROChannelsTest::hSystFractionVsLS
DTTimeEvolutionHisto * hSystFractionVsLS
Definition: DTBlockedROChannelsTest.h:77
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
DTBlockedROChannelsTest::~DTBlockedROChannelsTest
~DTBlockedROChannelsTest() override
Destructor.
Definition: DTBlockedROChannelsTest.cc:36
edm::Run
Definition: Run.h:45
HLT_FULL_cff.scale
scale
Definition: HLT_FULL_cff.py:6637
relativeConstraints.station
station
Definition: relativeConstraints.py:67
DTReadOutMappingRcd
Definition: DTReadOutMappingRcd.h:5
edm
HLT enums.
Definition: AlignableModifier.h:19
DTBlockedROChannelsTest.h
DTBlockedROChannelsTest::DTRobBinsMap::addRobBin
void addRobBin(int robBin)
Definition: DTBlockedROChannelsTest.cc:308
DTBlockedROChannelsTest::DTRobBinsMap::meDDU
const MonitorElement * meDDU
Definition: DTBlockedROChannelsTest.h:108
DTBlockedROChannelsTest::chamberMapUros
std::map< DTChamberId, DTLinkBinsMap > chamberMapUros
Definition: DTBlockedROChannelsTest.h:147
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
DQMStore.h
dqm::legacy::MonitorElement
Definition: MonitorElement.h:461
DTBlockedROChannelsTest::DTLinkBinsMap::meuROS
const MonitorElement * meuROS
Definition: DTBlockedROChannelsTest.h:142
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
DTBlockedROChannelsTest::DTLinkBinsMap::addLinkBin
void addLinkBin(int linkBin)
Definition: DTBlockedROChannelsTest.cc:392
edm::LuminosityBlockBase::run
RunNumber_t run() const
Definition: LuminosityBlockBase.h:42
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
FEDNumbering::MINDTUROSFEDID
Definition: FEDNumbering.h:111
DTBlockedROChannelsTest::DTRobBinsMap::~DTRobBinsMap
~DTRobBinsMap()
Definition: DTBlockedROChannelsTest.cc:305
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
DTBlockedROChannelsTest::performClientDiagnostic
void performClientDiagnostic(DQMStore::IGetter &igetter)
DQM Client operations.
Definition: DTBlockedROChannelsTest.cc:196
DTBlockedROChannelsTest::DTRobBinsMap::robChanged
bool robChanged(int robBin)
Definition: DTBlockedROChannelsTest.cc:330
DTBlockedROChannelsTest::chamberMap
std::map< DTChamberId, DTRobBinsMap > chamberMap
Definition: DTBlockedROChannelsTest.h:114
DTBlockedROChannelsTest::DTRobBinsMap::getValueRos
int getValueRos() const
Definition: DTBlockedROChannelsTest.cc:321
MakerMacros.h
DTTimeEvolutionHisto::updateTimeSlot
void updateTimeSlot(int ls, int nEventsInLS)
Definition: DTTimeEvolutionHisto.cc:108
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
DTBlockedROChannelsTest::theROS
int theROS(int slot, int link)
Definition: DTBlockedROChannelsTest.cc:475
Service.h
DTBlockedROChannelsTest::prescaleFactor
int prescaleFactor
Definition: DTBlockedROChannelsTest.h:59
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
DTTimeEvolutionHisto::accumulateValueTimeSlot
void accumulateValueTimeSlot(float value)
Definition: DTTimeEvolutionHisto.cc:106
DTBlockedROChannelsTest::DTRobBinsMap::rosHName
std::string rosHName
Definition: DTBlockedROChannelsTest.h:110
dqm::impl::MonitorElement::Reset
virtual void Reset()
Remove all data from the ME, keept the empty histogram with all its settings.
Definition: MonitorElement.cc:354
DTBlockedROChannelsTest::mapping
edm::ESHandle< DTReadOutMapping > mapping
Definition: DTBlockedROChannelsTest.h:70
DTBlockedROChannelsTest::DTLinkBinsMap
Definition: DTBlockedROChannelsTest.h:117
DTBlockedROChannelsTest::fillChamberMap
void fillChamberMap(DQMStore::IGetter &igetter, const edm::EventSetup &c)
Definition: DTBlockedROChannelsTest.cc:46
FEDNumbering::MAXDTFEDID
Definition: FEDNumbering.h:56
DTTimeEvolutionHisto.h
DTBlockedROChannelsTest::checkUros
bool checkUros
Definition: DTBlockedROChannelsTest.h:61
funct::true
true
Definition: Factorize.h:173
DTReadOutMappingRcd.h
DTBlockedROChannelsTest::DTLinkBinsMap::getValueLinkBin
int getValueLinkBin(int linkBin) const
Definition: DTBlockedROChannelsTest.cc:396
edm::ParameterSet
Definition: ParameterSet.h:47
DTBlockedROChannelsTest::DTRobBinsMap::getValueRobBin
int getValueRobBin(int robBin) const
Definition: DTBlockedROChannelsTest.cc:310
DTBlockedROChannelsTest::run
int run
Definition: DTBlockedROChannelsTest.h:68
DTBlockedROChannelsTest::DTRobBinsMap::DTRobBinsMap
DTRobBinsMap()
Definition: DTBlockedROChannelsTest.cc:303
makeMuonMisalignmentScenario.wheel
wheel
Definition: makeMuonMisalignmentScenario.py:319
createfilelist.int
int
Definition: createfilelist.py:10
DTReadOutMapping::readOutToGeometry
int readOutToGeometry(int dduId, int rosId, int robId, int tdcId, int channelId, DTWireId &wireId) const
transform identifiers
Definition: DTReadOutMapping.cc:69
edm::LuminosityBlockID::luminosityBlock
LuminosityBlockNumber_t luminosityBlock() const
Definition: LuminosityBlockID.h:42
edm::LuminosityBlockBase::id
LuminosityBlockID id() const
Definition: LuminosityBlockBase.h:44
value
Definition: value.py:1
DTBlockedROChannelsTest::nevents
int nevents
Definition: DTBlockedROChannelsTest.h:62
DTBlockedROChannelsTest::DTRobBinsMap::meROS
const MonitorElement * meROS
Definition: DTBlockedROChannelsTest.h:107
edm::EventSetup
Definition: EventSetup.h:57
FEDNumbering::MINDTFEDID
Definition: FEDNumbering.h:55
DTBlockedROChannelsTest::theDDU
int theDDU(int crate, int slot, int link, bool tenDDU)
Definition: DTBlockedROChannelsTest.cc:444
DTBlockedROChannelsTest::neventsPrev
int neventsPrev
Definition: DTBlockedROChannelsTest.h:63
get
#define get
DTBlockedROChannelsTest::DTRobBinsMap::dduHName
std::string dduHName
Definition: DTBlockedROChannelsTest.h:111
DTBlockedROChannelsTest::DTBlockedROChannelsTest
DTBlockedROChannelsTest(const edm::ParameterSet &ps)
Constructor.
Definition: DTBlockedROChannelsTest.cc:24
DTBlockedROChannelsTest::nupdates
int nupdates
Definition: DTBlockedROChannelsTest.h:56
DTBlockedROChannelsTest
Definition: DTBlockedROChannelsTest.h:24
DTChamberId::sector
int sector() const
Definition: DTChamberId.h:49
std
Definition: JetResolutionObject.h:76
writedatasetfile.run
run
Definition: writedatasetfile.py:27
DTBlockedROChannelsTest::DTLinkBinsMap::readNewValues
void readNewValues(DQMStore::IGetter &igetter)
Definition: DTBlockedROChannelsTest.cc:434
DTBlockedROChannelsTest::DTLinkBinsMap::urosHName
std::string urosHName
Definition: DTBlockedROChannelsTest.h:144
DTBlockedROChannelsTest::DTLinkBinsMap::DTLinkBinsMap
DTLinkBinsMap()
Definition: DTBlockedROChannelsTest.cc:388
DTBlockedROChannelsTest::readOutToGeometry
int readOutToGeometry(int dduId, int rosNumber, int robNumber, int &wheel, int &station, int &sector)
Definition: DTBlockedROChannelsTest.cc:282
dqm::implementation::IGetter
Definition: DQMStore.h:484
DTTimeEvolutionHisto
Definition: DTTimeEvolutionHisto.h:15
DTBlockedROChannelsTest::DTRobBinsMap
Definition: DTBlockedROChannelsTest.h:79
relativeConstraints.value
value
Definition: relativeConstraints.py:53
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
DTBlockedROChannelsTest::beginRun
void beginRun(const edm::Run &, const edm::EventSetup &) override
BeginRun.
Definition: DTBlockedROChannelsTest.cc:41
dqm::implementation::IGetter::get
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:651
dqm::implementation::IBooker
Definition: DQMStore.h:43
DTBlockedROChannelsTest::DTLinkBinsMap::getChamberPercentage
double getChamberPercentage(DQMStore::IGetter &)
Definition: DTBlockedROChannelsTest.cc:422
DTBlockedROChannelsTest::DTRobBinsMap::getChamberPercentage
double getChamberPercentage(DQMStore::IGetter &)
Definition: DTBlockedROChannelsTest.cc:346
DTBlockedROChannelsTest::offlineMode
bool offlineMode
Definition: DTBlockedROChannelsTest.h:60
DTChamberId
Definition: DTChamberId.h:14
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
DTBlockedROChannelsTest::DTRobBinsMap::readNewValues
void readNewValues(DQMStore::IGetter &igetter)
Definition: DTBlockedROChannelsTest.cc:366
dummy
Definition: DummySelector.h:38
FEDNumbering::MAXDTUROSFEDID
Definition: FEDNumbering.h:112
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
DTChamberId::wheel
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:39
dqm::impl::MonitorElement::getIntValue
virtual int64_t getIntValue() const
Definition: MonitorElement.cc:912
DTReadOutMapping.h
DTChamberId::station
int station() const
Return the station number.
Definition: DTChamberId.h:42
DTBlockedROChannelsTest::prevTotalPerc
double prevTotalPerc
Definition: DTBlockedROChannelsTest.h:66
DTBlockedROChannelsTest::wheelHistos
std::map< int, MonitorElement * > wheelHistos
Definition: DTBlockedROChannelsTest.h:73