CMS 3D CMS Logo

DTResolutionTest.cc
Go to the documentation of this file.
1 
2 
3 /*
4  * See header file for a description of this class.
5  *
6  * \author G. Mila - INFN Torino
7  *
8  * threadsafe version (//-) oct/nov 2014 - WATWanAbdullah -ncpp-um-my
9  *
10  */
11 
13 
14 // Framework
20 
21 // Geometry
25 
28 
29 #include <iostream>
30 #include <cstdio>
31 #include <string>
32 #include <sstream>
33 #include <cmath>
34 #include "TF1.h"
35 
36 using namespace edm;
37 using namespace std;
38 
40  edm::LogVerbatim("resolution") << "[DTResolutionTest]: Constructor";
41  parameters = ps;
42 
43  //FR: no idea if this input file needs to be used! comment it for now
44  //- if(ps.getUntrackedParameter<bool>("readFile", false))
45  //- dbe->open(ps.getUntrackedParameter<string>("inputFile", "residuals.root"));
46 
47  prescaleFactor = parameters.getUntrackedParameter<int>("diagnosticPrescale", 1);
48 
49  percentual = parameters.getUntrackedParameter<int>("BadSLpercentual", 10);
50 
51  nevents = 0;
52 
53  bookingdone = false;
54 }
55 
57  edm::LogVerbatim("resolution") << "DTResolutionTest: analyzed " << nevents << " events";
58 }
59 
61  DQMStore::IGetter& igetter,
62  edm::LuminosityBlock const& lumiSeg,
63  edm::EventSetup const& context) {
64  // counts number of updates (online mode) or number of events (standalone mode)
65  //nevents++;
66  // if running in standalone perform diagnostic only after a reasonalbe amount of events
67  //if ( parameters.getUntrackedParameter<bool>("runningStandalone", false) &&
68  // nevents%parameters.getUntrackedParameter<int>("diagnosticPrescale", 1000) != 0 ) return;
69  //edm::LogVerbatim ("resolution") << "[DTResolutionTest]: "<<nevents<<" updates";
70 
71  if (!bookingdone) {
72  // Get the geometry
73  context.get<MuonGeometryRecord>().get(muonGeom);
74 
75  // book the histos
76  for (int wheel = -2; wheel < 3; wheel++) {
77  bookHistos(ibooker, wheel);
78  }
79  vector<const DTChamber*> chambers = muonGeom->chambers();
80  for (vector<const DTChamber*>::const_iterator chamber = chambers.begin(); chamber != chambers.end(); ++chamber) {
81  bookHistos(ibooker, (*chamber)->id());
82  }
83  }
84  bookingdone = true;
85 
86  edm::LogVerbatim("resolution") << "[DTResolutionTest]: End of LS transition, performing the DQM client operation";
87 
88  // counts number of lumiSegs
89  nLumiSegs = lumiSeg.id().luminosityBlock();
90 
91  // prescale factor
92  if (nLumiSegs % prescaleFactor != 0)
93  return;
94 
95  for (map<int, MonitorElement*>::const_iterator histo = wheelMeanHistos.begin(); histo != wheelMeanHistos.end();
96  histo++) {
97  (*histo).second->Reset();
98  }
99  if (parameters.getUntrackedParameter<bool>("sigmaTest")) {
100  for (map<int, MonitorElement*>::const_iterator histo = wheelSigmaHistos.begin(); histo != wheelSigmaHistos.end();
101  histo++) {
102  (*histo).second->Reset();
103  }
104  }
105  if (parameters.getUntrackedParameter<bool>("slopeTest")) {
106  for (map<int, MonitorElement*>::const_iterator histo = wheelSlopeHistos.begin(); histo != wheelSlopeHistos.end();
107  histo++) {
108  (*histo).second->Reset();
109  }
110  }
111 
112  cmsMeanHistos.clear();
113  for (int i = -2; i < 3; i++) {
114  for (int j = 1; j < 15; j++) {
115  MeanFilled[make_pair(i, j)] = false;
116  }
117  }
118  if (parameters.getUntrackedParameter<bool>("sigmaTest")) {
119  cmsSigmaHistos.clear();
120  for (int i = -2; i < 3; i++) {
121  for (int j = 1; j < 15; j++) {
122  SigmaFilled[make_pair(i, j)] = false;
123  }
124  }
125  }
126  if (parameters.getUntrackedParameter<bool>("slopeTest")) {
127  cmsSlopeHistos.clear();
128  for (int i = -2; i < 3; i++) {
129  for (int j = 1; j < 15; j++) {
130  SlopeFilled[make_pair(i, j)] = false;
131  }
132  }
133  }
134 
135  // summary histos initialization
136  for (int wh = -2; wh <= 3; wh++) {
137  if (wh != 3) {
138  for (int xBin = 0; xBin < 14; xBin++) {
139  for (int yBin = 0; yBin < 11; yBin++) {
140  wheelMeanHistos[wh]->setBinContent(xBin, yBin, 0);
141  if (parameters.getUntrackedParameter<bool>("sigmaTest"))
142  wheelSigmaHistos[wh]->setBinContent(xBin, yBin, 0);
143  if (parameters.getUntrackedParameter<bool>("slopeTest"))
144  wheelSlopeHistos[wh]->setBinContent(xBin, yBin, 0);
145  }
146  }
147  } else {
148  for (int xBin = 0; xBin < 14; xBin++) {
149  for (int yBin = -2; yBin < 3; yBin++) {
150  wheelMeanHistos[wh]->setBinContent(xBin, yBin, 0);
151  if (parameters.getUntrackedParameter<bool>("sigmaTest"))
152  wheelSigmaHistos[wh]->setBinContent(xBin, yBin, 0);
153  if (parameters.getUntrackedParameter<bool>("slopeTest"))
154  wheelSlopeHistos[wh]->setBinContent(xBin, yBin, 0);
155  }
156  }
157  }
158  }
159 
160  edm::LogVerbatim("resolution") << "[DTResolutionTest]: " << nLumiSegs << " updates";
161 
162  vector<const DTChamber*>::const_iterator ch_it = muonGeom->chambers().begin();
163  vector<const DTChamber*>::const_iterator ch_end = muonGeom->chambers().end();
164 
165  edm::LogVerbatim("resolution") << "[DTResolutionTest]: Residual Distribution tests results";
166 
167  for (; ch_it != ch_end; ++ch_it) {
168  DTChamberId chID = (*ch_it)->id();
169 
170  // Fill the test histos
171  int entry = -1;
172  if (chID.station() == 1)
173  entry = 0;
174  if (chID.station() == 2)
175  entry = 3;
176  if (chID.station() == 3)
177  entry = 6;
178  if (chID.station() == 4)
179  entry = 9;
180 
181  vector<const DTSuperLayer*>::const_iterator sl_it = (*ch_it)->superLayers().begin();
182  vector<const DTSuperLayer*>::const_iterator sl_end = (*ch_it)->superLayers().end();
183 
184  for (; sl_it != sl_end; ++sl_it) {
185  DTSuperLayerId slID = (*sl_it)->id();
186 
187  edm::LogVerbatim("resolution") << "[DTResolutionTest]: Superlayer: " << slID;
188 
189  stringstream wheel;
190  wheel << slID.wheel();
191  stringstream station;
192  station << slID.station();
193  stringstream sector;
194  sector << slID.sector();
195  stringstream superLayer;
196  superLayer << slID.superlayer();
197 
198  string HistoName = "W" + wheel.str() + "_Sec" + sector.str();
199  string supLayer = "W" + wheel.str() + "_St" + station.str() + "_Sec" + sector.str() + "_SL" + superLayer.str();
200 
201  MonitorElement* res_histo = igetter.get(getMEName(slID));
202  if (res_histo) {
203  // gaussian test
204  string GaussianCriterionName =
205  parameters.getUntrackedParameter<string>("resDistributionTestName", "ResidualsDistributionGaussianTest");
206  const QReport* GaussianReport = res_histo->getQReport(GaussianCriterionName);
207  if (GaussianReport) {
208  // FIXE ME: if the quality test fails this cout returns a null pointer
209  //edm::LogWarning ("resolution") << "-------- SuperLayer : "<<supLayer<<" "
210  // <<GaussianReport->getMessage()<<" ------- "<<GaussianReport->getStatus();
211  }
212  int BinNumber = entry + slID.superLayer();
213  if (BinNumber == 12)
214  BinNumber = 11;
215  float mean = (*res_histo).getMean(1);
216  float sigma = (*res_histo).getRMS(1);
217  MeanHistos.find(make_pair(slID.wheel(), slID.sector()))->second->setBinContent(BinNumber, mean);
218  if (parameters.getUntrackedParameter<bool>("sigmaTest"))
219  SigmaHistos.find(make_pair(slID.wheel(), slID.sector()))->second->setBinContent(BinNumber, sigma);
220  }
221 
222  if (parameters.getUntrackedParameter<bool>("slopeTest")) {
223  MonitorElement* res_histo_2D = igetter.get(getMEName2D(slID));
224  if (res_histo_2D) {
225  TH2F* res_histo_2D_root = res_histo_2D->getTH2F();
226  int BinNumber = entry + slID.superLayer();
227  if (BinNumber == 12)
228  BinNumber = 11;
229  TProfile* prof = res_histo_2D_root->ProfileX();
230  prof->GetXaxis()->SetRangeUser(0, 2);
231  //prof->Fit("pol1","Q0");
232  //need our own copy to avoid threading problems
233  TF1 fitting("mypol1", "pol1");
234  try {
235  prof->Fit(&fitting, "Q0");
236  } catch (cms::Exception& iException) {
237  edm::LogError("resolution") << "[DTResolutionTest]: Exception when fitting..."
238  << "SuperLayer : " << slID << "\n"
239  << " STEP : "
240  << parameters.getUntrackedParameter<string>("STEP", "STEP3") << "\n"
241  << "Filling slope histogram with standard value -99. for bin " << BinNumber;
242  SlopeHistos.find(make_pair(slID.wheel(), slID.sector()))->second->setBinContent(BinNumber, -99.);
243  continue;
244  }
245  double slope = fitting.GetParameter(1);
246  SlopeHistos.find(make_pair(slID.wheel(), slID.sector()))->second->setBinContent(BinNumber, slope);
247  }
248  }
249  }
250  }
251 
252  // Mean test
253  string MeanCriterionName = parameters.getUntrackedParameter<string>("meanTestName", "ResidualsMeanInRange");
254  for (map<pair<int, int>, MonitorElement*>::const_iterator hMean = MeanHistos.begin(); hMean != MeanHistos.end();
255  hMean++) {
256  const QReport* theMeanQReport = (*hMean).second->getQReport(MeanCriterionName);
257  stringstream wheel;
258  wheel << (*hMean).first.first;
259  stringstream sector;
260  sector << (*hMean).first.second;
261  // Report the channels failing the test on the mean
262  if (theMeanQReport) {
263  vector<dqm::me_util::Channel> badChannels = theMeanQReport->getBadChannels();
264  for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin(); channel != badChannels.end();
265  channel++) {
266  edm::LogError("resolution") << "Bad mean channel: wh: " << wheel.str()
267  << " st: " << stationFromBin((*channel).getBin()) << " sect: " << sector.str()
268  << " sl: " << slFromBin((*channel).getBin())
269  << " mean (cm): " << (*channel).getContents();
270  string HistoName = "W" + wheel.str() + "_Sec" + sector.str();
271  if (parameters.getUntrackedParameter<bool>("meanWrongHisto")) {
272  MeanHistosSetRange.find(HistoName)->second->Fill((*channel).getBin());
273  MeanHistosSetRange2D.find(HistoName)->second->Fill((*channel).getBin(), (*channel).getContents());
274  }
275  // fill the wheel summary histos if the SL has not passed the test
276  if (abs((*channel).getContents()) < parameters.getUntrackedParameter<double>("meanMaxLimit"))
277  wheelMeanHistos[(*hMean).first.first]->Fill(((*hMean).first.second) - 1, (*channel).getBin() - 1, 1);
278  else
279  wheelMeanHistos[(*hMean).first.first]->Fill(((*hMean).first.second) - 1, (*channel).getBin() - 1, 2);
280  // fill the cms summary histo if the percentual of SL which have not passed the test
281  // is more than a predefined treshold
282  if (abs((*channel).getContents()) > parameters.getUntrackedParameter<double>("meanMaxLimit")) {
283  cmsMeanHistos[make_pair((*hMean).first.first, (*hMean).first.second)]++;
284  if (((*hMean).first.second < 13 &&
285  double(cmsMeanHistos[make_pair((*hMean).first.first, (*hMean).first.second)]) / 11 >
286  double(percentual) / 100 &&
287  MeanFilled[make_pair((*hMean).first.first, (*hMean).first.second)] == false) ||
288  ((*hMean).first.first >= 13 &&
289  double(cmsMeanHistos[make_pair((*hMean).first.first, (*hMean).first.second)]) / 2 >
290  double(percentual) / 100 &&
291  MeanFilled[make_pair((*hMean).first.first, (*hMean).first.second)] == false)) {
292  MeanFilled[make_pair((*hMean).first.first, (*hMean).first.second)] = true;
293  wheelMeanHistos[3]->Fill(((*hMean).first.second) - 1, (*hMean).first.first);
294  }
295  }
296  }
297  }
298  }
299 
300  // Sigma test
301  if (parameters.getUntrackedParameter<bool>("sigmaTest")) {
302  string SigmaCriterionName = parameters.getUntrackedParameter<string>("sigmaTestName", "ResidualsSigmaInRange");
303  for (map<pair<int, int>, MonitorElement*>::const_iterator hSigma = SigmaHistos.begin(); hSigma != SigmaHistos.end();
304  hSigma++) {
305  const QReport* theSigmaQReport = (*hSigma).second->getQReport(SigmaCriterionName);
306  stringstream wheel;
307  wheel << (*hSigma).first.first;
308  stringstream sector;
309  sector << (*hSigma).first.second;
310  if (theSigmaQReport) {
311  vector<dqm::me_util::Channel> badChannels = theSigmaQReport->getBadChannels();
312  for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin(); channel != badChannels.end();
313  channel++) {
314  edm::LogError("resolution") << "Bad sigma: wh: " << wheel.str()
315  << " st: " << stationFromBin((*channel).getBin()) << " sect: " << sector.str()
316  << " sl: " << slFromBin((*channel).getBin())
317  << " sigma (cm): " << (*channel).getContents();
318  string HistoName = "W" + wheel.str() + "_Sec" + sector.str();
319  SigmaHistosSetRange.find(HistoName)->second->Fill((*channel).getBin());
320  SigmaHistosSetRange2D.find(HistoName)->second->Fill((*channel).getBin(), (*channel).getContents());
321  // fill the wheel summary histos if the SL has not passed the test
322  wheelSigmaHistos[(*hSigma).first.first]->Fill(((*hSigma).first.second) - 1, (*channel).getBin() - 1);
323  // fill the cms summary histo if the percentual of SL which have not passed the test
324  // is more than a predefined treshold
325  cmsSigmaHistos[make_pair((*hSigma).first.first, (*hSigma).first.second)]++;
326  if (((*hSigma).first.second < 13 &&
327  double(cmsSigmaHistos[make_pair((*hSigma).first.first, (*hSigma).first.second)]) / 11 >
328  double(percentual) / 100 &&
329  SigmaFilled[make_pair((*hSigma).first.first, (*hSigma).first.second)] == false) ||
330  ((*hSigma).first.first >= 13 &&
331  double(cmsSigmaHistos[make_pair((*hSigma).first.first, (*hSigma).first.second)]) / 2 >
332  double(percentual) / 100 &&
333  SigmaFilled[make_pair((*hSigma).first.first, (*hSigma).first.second)] == false)) {
334  SigmaFilled[make_pair((*hSigma).first.first, (*hSigma).first.second)] = true;
335  wheelSigmaHistos[3]->Fill((*hSigma).first.second - 1, (*hSigma).first.first);
336  }
337  }
338  }
339  }
340  }
341 
342  // Slope test
343  if (parameters.getUntrackedParameter<bool>("slopeTest")) {
344  string SlopeCriterionName = parameters.getUntrackedParameter<string>("slopeTestName", "ResidualsSlopeInRange");
345  for (map<pair<int, int>, MonitorElement*>::const_iterator hSlope = SlopeHistos.begin(); hSlope != SlopeHistos.end();
346  hSlope++) {
347  const QReport* theSlopeQReport = (*hSlope).second->getQReport(SlopeCriterionName);
348  stringstream wheel;
349  wheel << (*hSlope).first.first;
350  stringstream sector;
351  sector << (*hSlope).first.second;
352  if (theSlopeQReport) {
353  vector<dqm::me_util::Channel> badChannels = theSlopeQReport->getBadChannels();
354  for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin(); channel != badChannels.end();
355  channel++) {
356  edm::LogError("resolution") << "Bad slope: wh: " << wheel.str()
357  << " st: " << stationFromBin((*channel).getBin()) << " sect: " << sector.str()
358  << " sl: " << slFromBin((*channel).getBin())
359  << " slope: " << (*channel).getContents();
360  string HistoName = "W" + wheel.str() + "_Sec" + sector.str();
361  SlopeHistosSetRange.find(HistoName)->second->Fill((*channel).getBin());
362  SlopeHistosSetRange2D.find(HistoName)->second->Fill((*channel).getBin(), (*channel).getContents());
363  // fill the wheel summary histos if the SL has not passed the test
364  wheelSlopeHistos[(*hSlope).first.first]->Fill(((*hSlope).first.second) - 1, (*channel).getBin() - 1);
365  // fill the cms summary histo if the percentual of SL which have not passed the test
366  // is more than a predefined treshold
367  cmsSlopeHistos[make_pair((*hSlope).first.first, (*hSlope).first.second)]++;
368  if (((*hSlope).first.second < 13 &&
369  double(cmsSlopeHistos[make_pair((*hSlope).first.first, (*hSlope).first.second)]) / 11 >
370  double(percentual) / 100 &&
371  SlopeFilled[make_pair((*hSlope).first.first, (*hSlope).first.second)] == false) ||
372  ((*hSlope).first.first >= 13 &&
373  double(cmsSlopeHistos[make_pair((*hSlope).first.first, (*hSlope).first.second)]) / 2 >
374  double(percentual) / 100 &&
375  SlopeFilled[make_pair((*hSlope).first.first, (*hSlope).first.second)] == false)) {
376  SlopeFilled[make_pair((*hSlope).first.first, (*hSlope).first.second)] = true;
377  wheelSlopeHistos[3]->Fill((*hSlope).first.second - 1, (*hSlope).first.first);
378  }
379  }
380  }
381  }
382  }
383 }
384 
386  edm::LogVerbatim("resolution") << "[DTResolutionTest] endjob called!";
387 
388  //FR: no idea if this output file needs to be written!! comment it for now
389  //bool outputMEsInRootFile = parameters.getParameter<bool>("OutputMEsInRootFile");
390  //if(outputMEsInRootFile){
391  // std::string outputFileName = parameters.getParameter<std::string>("OutputFileName");
392  // dbe->save(outputFileName,"DT/CalibrationSummary");
393  //}
394 }
395 
397  stringstream wheel;
398  wheel << slID.wheel();
399  stringstream station;
400  station << slID.station();
401  stringstream sector;
402  sector << slID.sector();
403  stringstream superLayer;
404  superLayer << slID.superlayer();
405 
406  string folderRoot = parameters.getUntrackedParameter<string>("folderRoot", "Collector/FU0/");
407  string folderName;
408 
409  if (parameters.getUntrackedParameter<bool>("calibModule", false)) {
410  folderName = folderRoot + "DT/DTCalibValidation/Wheel" + wheel.str() + "/Station" + station.str() + "/Sector" +
411  sector.str() + "/";
412  } else {
413  folderName = folderRoot + "DT/DTResolutionAnalysisTask/Wheel" + wheel.str() + "/Station" + station.str() +
414  "/Sector" + sector.str() + "/";
415  }
416 
417  string histoTag = parameters.getUntrackedParameter<string>("histoTag", "hResDist");
418 
419  string histoname = folderName + histoTag + "_W" + wheel.str() + "_St" + station.str() + "_Sec" + sector.str() +
420  "_SL" + superLayer.str();
421 
422  return histoname;
423 }
424 
426  stringstream wheel;
427  wheel << slID.wheel();
428  stringstream station;
429  station << slID.station();
430  stringstream sector;
431  sector << slID.sector();
432  stringstream superLayer;
433  superLayer << slID.superlayer();
434 
435  string folderRoot = parameters.getUntrackedParameter<string>("folderRoot", "Collector/FU0/");
436  string folderName;
437 
438  if (parameters.getUntrackedParameter<bool>("calibModule", false)) {
439  folderName = folderRoot + "DT/DTCalibValidation/Wheel" + wheel.str() + "/Station" + station.str() + "/Sector" +
440  sector.str() + "/";
441  } else {
442  folderName = folderRoot + "DT/DTResolutionAnalysisTask/Wheel" + wheel.str() + "/Station" + station.str() +
443  "/Sector" + sector.str() + "/";
444  }
445 
446  string histoTag2D = parameters.getUntrackedParameter<string>("histoTag2D", "hResDistVsDist");
447 
448  string histoname = folderName + histoTag2D + "_W" + wheel.str() + "_St" + station.str() + "_Sec" + sector.str() +
449  "_SL" + superLayer.str();
450 
451  return histoname;
452 }
453 
455  stringstream wheel;
456  wheel << ch.wheel();
457  stringstream sector;
458  sector << ch.sector();
459 
460  string MeanHistoName = "MeanTest_" + parameters.getUntrackedParameter<string>("STEP", "STEP3") + "_W" + wheel.str() +
461  "_Sec" + sector.str();
462  string SigmaHistoName = "SigmaTest_" + parameters.getUntrackedParameter<string>("STEP", "STEP3") + "_W" +
463  wheel.str() + "_Sec" + sector.str();
464  string SlopeHistoName = "SlopeTest_" + parameters.getUntrackedParameter<string>("STEP", "STEP3") + "_W" +
465  wheel.str() + "_Sec" + sector.str();
466 
467  ibooker.setCurrentFolder("DT/Tests/DTResolution");
468 
469  // Book the histo for the mean value and set the axis labels
470 
471  MeanHistos[make_pair(ch.wheel(), ch.sector())] =
472  ibooker.book1D(MeanHistoName.c_str(), MeanHistoName.c_str(), 11, 0, 11);
473  (MeanHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(1, "MB1_SL1", 1);
474  (MeanHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(2, "MB1_SL2", 1);
475  (MeanHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(3, "MB1_SL3", 1);
476  (MeanHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(4, "MB2_SL1", 1);
477  (MeanHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(5, "MB2_SL2", 1);
478  (MeanHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(6, "MB2_SL3", 1);
479  (MeanHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(7, "MB3_SL1", 1);
480  (MeanHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(8, "MB3_SL2", 1);
481  (MeanHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(9, "MB3_SL3", 1);
482  (MeanHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(10, "MB4_SL1", 1);
483  (MeanHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(11, "MB4_SL3", 1);
484 
485  // Book the histo for the sigma value and set the axis labels
486  if (parameters.getUntrackedParameter<bool>("sigmaTest")) {
487  SigmaHistos[make_pair(ch.wheel(), ch.sector())] =
488  ibooker.book1D(SigmaHistoName.c_str(), SigmaHistoName.c_str(), 11, 0, 11);
489  (SigmaHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(1, "MB1_SL1", 1);
490  (SigmaHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(2, "MB1_SL2", 1);
491  (SigmaHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(3, "MB1_SL3", 1);
492  (SigmaHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(4, "MB2_SL1", 1);
493  (SigmaHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(5, "MB2_SL2", 1);
494  (SigmaHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(6, "MB2_SL3", 1);
495  (SigmaHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(7, "MB3_SL1", 1);
496  (SigmaHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(8, "MB3_SL2", 1);
497  (SigmaHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(9, "MB3_SL3", 1);
498  (SigmaHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(10, "MB4_SL1", 1);
499  (SigmaHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(11, "MB4_SL3", 1);
500  }
501 
502  // Book the histo for the slope value and set the axis labels
503  if (parameters.getUntrackedParameter<bool>("slopeTest")) {
504  SlopeHistos[make_pair(ch.wheel(), ch.sector())] =
505  ibooker.book1D(SlopeHistoName.c_str(), SlopeHistoName.c_str(), 11, 0, 11);
506  (SlopeHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(1, "MB1_SL1", 1);
507  (SlopeHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(2, "MB1_SL2", 1);
508  (SlopeHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(3, "MB1_SL3", 1);
509  (SlopeHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(4, "MB2_SL1", 1);
510  (SlopeHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(5, "MB2_SL2", 1);
511  (SlopeHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(6, "MB2_SL3", 1);
512  (SlopeHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(7, "MB3_SL1", 1);
513  (SlopeHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(8, "MB3_SL2", 1);
514  (SlopeHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(9, "MB3_SL3", 1);
515  (SlopeHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(10, "MB4_SL1", 1);
516  (SlopeHistos[make_pair(ch.wheel(), ch.sector())])->setBinLabel(11, "MB4_SL3", 1);
517  }
518 
519  string HistoName = "W" + wheel.str() + "_Sec" + sector.str();
520 
521  if (parameters.getUntrackedParameter<bool>("meanWrongHisto")) {
522  string MeanHistoNameSetRange = "MeanWrong_" + parameters.getUntrackedParameter<string>("STEP", "STEP3") + "_W" +
523  wheel.str() + "_Sec" + sector.str() + "_SetRange";
524 
525  MeanHistosSetRange[HistoName] =
526  ibooker.book1D(MeanHistoNameSetRange.c_str(), MeanHistoNameSetRange.c_str(), 11, 0.5, 11.5);
527  string MeanHistoNameSetRange2D = "MeanWrong_" + parameters.getUntrackedParameter<string>("STEP", "STEP3") + "_W" +
528  wheel.str() + "_Sec" + sector.str() + "_SetRange" + "_2D";
529  MeanHistosSetRange2D[HistoName] = ibooker.book2D(
530  MeanHistoNameSetRange2D.c_str(), MeanHistoNameSetRange2D.c_str(), 11, 0.5, 11.5, 100, -0.05, 0.05);
531  }
532 
533  if (parameters.getUntrackedParameter<bool>("sigmaTest")) {
534  string SigmaHistoNameSetRange = "SigmaWrong_" + parameters.getUntrackedParameter<string>("STEP", "STEP3") + "_W" +
535  wheel.str() + "_Sec" + sector.str() + "_SetRange";
536 
537  SigmaHistosSetRange[HistoName] =
538  ibooker.book1D(SigmaHistoNameSetRange.c_str(), SigmaHistoNameSetRange.c_str(), 11, 0.5, 11.5);
539  string SigmaHistoNameSetRange2D = "SigmaWrong_" + parameters.getUntrackedParameter<string>("STEP", "STEP3") + "_W" +
540  wheel.str() + "_Sec" + sector.str() + "_SetRange" + "_2D";
541 
542  SigmaHistosSetRange2D[HistoName] =
543  ibooker.book2D(SigmaHistoNameSetRange2D.c_str(), SigmaHistoNameSetRange2D.c_str(), 11, 0.5, 11.5, 500, 0, 0.5);
544  }
545 
546  if (parameters.getUntrackedParameter<bool>("slopeTest")) {
547  string SlopeHistoNameSetRange = "SlopeWrong_" + parameters.getUntrackedParameter<string>("STEP", "STEP3") + "_W" +
548  wheel.str() + "_Sec" + sector.str() + "_SetRange";
549 
550  SlopeHistosSetRange[HistoName] =
551  ibooker.book1D(SlopeHistoNameSetRange.c_str(), SlopeHistoNameSetRange.c_str(), 11, 0.5, 11.5);
552  string SlopeHistoNameSetRange2D = "SlopeWrong_" + parameters.getUntrackedParameter<string>("STEP", "STEP3") + "_W" +
553  wheel.str() + "_Sec" + sector.str() + "_SetRange" + "_2D";
554 
555  SlopeHistosSetRange2D[HistoName] = ibooker.book2D(
556  SlopeHistoNameSetRange2D.c_str(), SlopeHistoNameSetRange2D.c_str(), 11, 0.5, 11.5, 200, -0.1, 0.1);
557  }
558 }
559 
561  ibooker.setCurrentFolder("DT/CalibrationSummary");
562 
563  if (wheelMeanHistos.find(3) == wheelMeanHistos.end()) {
564  string histoName =
565  "MeanSummaryRes_testFailedByAtLeastBadSL_" + parameters.getUntrackedParameter<string>("STEP", "STEP3");
566 
567  wheelMeanHistos[3] = ibooker.book2D(histoName.c_str(), histoName.c_str(), 14, 0, 14, 5, -2, 3);
568  wheelMeanHistos[3]->setBinLabel(1, "Sector1", 1);
569  wheelMeanHistos[3]->setBinLabel(1, "Sector1", 1);
570  wheelMeanHistos[3]->setBinLabel(2, "Sector2", 1);
571  wheelMeanHistos[3]->setBinLabel(3, "Sector3", 1);
572  wheelMeanHistos[3]->setBinLabel(4, "Sector4", 1);
573  wheelMeanHistos[3]->setBinLabel(5, "Sector5", 1);
574  wheelMeanHistos[3]->setBinLabel(6, "Sector6", 1);
575  wheelMeanHistos[3]->setBinLabel(7, "Sector7", 1);
576  wheelMeanHistos[3]->setBinLabel(8, "Sector8", 1);
577  wheelMeanHistos[3]->setBinLabel(9, "Sector9", 1);
578  wheelMeanHistos[3]->setBinLabel(10, "Sector10", 1);
579  wheelMeanHistos[3]->setBinLabel(11, "Sector11", 1);
580  wheelMeanHistos[3]->setBinLabel(12, "Sector12", 1);
581  wheelMeanHistos[3]->setBinLabel(13, "Sector13", 1);
582  wheelMeanHistos[3]->setBinLabel(14, "Sector14", 1);
583  wheelMeanHistos[3]->setBinLabel(1, "Wheel-2", 2);
584  wheelMeanHistos[3]->setBinLabel(2, "Wheel-1", 2);
585  wheelMeanHistos[3]->setBinLabel(3, "Wheel0", 2);
586  wheelMeanHistos[3]->setBinLabel(4, "Wheel+1", 2);
587  wheelMeanHistos[3]->setBinLabel(5, "Wheel+2", 2);
588  }
589 
590  if (parameters.getUntrackedParameter<bool>("sigmaTest")) {
591  if (wheelSigmaHistos.find(3) == wheelSigmaHistos.end()) {
592  string histoName =
593  "SigmaSummaryRes_testFailedByAtLeastBadSL_" + parameters.getUntrackedParameter<string>("STEP", "STEP3");
594 
595  wheelSigmaHistos[3] = ibooker.book2D(histoName.c_str(), histoName.c_str(), 14, 0, 14, 5, -2, 3);
596  wheelSigmaHistos[3]->setBinLabel(1, "Sector1", 1);
597  wheelSigmaHistos[3]->setBinLabel(1, "Sector1", 1);
598  wheelSigmaHistos[3]->setBinLabel(2, "Sector2", 1);
599  wheelSigmaHistos[3]->setBinLabel(3, "Sector3", 1);
600  wheelSigmaHistos[3]->setBinLabel(4, "Sector4", 1);
601  wheelSigmaHistos[3]->setBinLabel(5, "Sector5", 1);
602  wheelSigmaHistos[3]->setBinLabel(6, "Sector6", 1);
603  wheelSigmaHistos[3]->setBinLabel(7, "Sector7", 1);
604  wheelSigmaHistos[3]->setBinLabel(8, "Sector8", 1);
605  wheelSigmaHistos[3]->setBinLabel(9, "Sector9", 1);
606  wheelSigmaHistos[3]->setBinLabel(10, "Sector10", 1);
607  wheelSigmaHistos[3]->setBinLabel(11, "Sector11", 1);
608  wheelSigmaHistos[3]->setBinLabel(12, "Sector12", 1);
609  wheelSigmaHistos[3]->setBinLabel(13, "Sector13", 1);
610  wheelSigmaHistos[3]->setBinLabel(14, "Sector14", 1);
611  wheelSigmaHistos[3]->setBinLabel(1, "Wheel-2", 2);
612  wheelSigmaHistos[3]->setBinLabel(2, "Wheel-1", 2);
613  wheelSigmaHistos[3]->setBinLabel(3, "Wheel0", 2);
614  wheelSigmaHistos[3]->setBinLabel(4, "Wheel+1", 2);
615  wheelSigmaHistos[3]->setBinLabel(5, "Wheel+2", 2);
616  }
617  }
618 
619  if (parameters.getUntrackedParameter<bool>("slopeTest")) {
620  if (wheelSlopeHistos.find(3) == wheelSlopeHistos.end()) {
621  string histoName =
622  "SlopeSummaryRes_testFailedByAtLeastBadSL_" + parameters.getUntrackedParameter<string>("STEP", "STEP3");
623 
624  wheelSlopeHistos[3] = ibooker.book2D(histoName.c_str(), histoName.c_str(), 14, 0, 14, 5, -2, 3);
625  wheelSlopeHistos[3]->setBinLabel(1, "Sector1", 1);
626  wheelSlopeHistos[3]->setBinLabel(1, "Sector1", 1);
627  wheelSlopeHistos[3]->setBinLabel(2, "Sector2", 1);
628  wheelSlopeHistos[3]->setBinLabel(3, "Sector3", 1);
629  wheelSlopeHistos[3]->setBinLabel(4, "Sector4", 1);
630  wheelSlopeHistos[3]->setBinLabel(5, "Sector5", 1);
631  wheelSlopeHistos[3]->setBinLabel(6, "Sector6", 1);
632  wheelSlopeHistos[3]->setBinLabel(7, "Sector7", 1);
633  wheelSlopeHistos[3]->setBinLabel(8, "Sector8", 1);
634  wheelSlopeHistos[3]->setBinLabel(9, "Sector9", 1);
635  wheelSlopeHistos[3]->setBinLabel(10, "Sector10", 1);
636  wheelSlopeHistos[3]->setBinLabel(11, "Sector11", 1);
637  wheelSlopeHistos[3]->setBinLabel(12, "Sector12", 1);
638  wheelSlopeHistos[3]->setBinLabel(13, "Sector13", 1);
639  wheelSlopeHistos[3]->setBinLabel(14, "Sector14", 1);
640  wheelSlopeHistos[3]->setBinLabel(1, "Wheel-2", 2);
641  wheelSlopeHistos[3]->setBinLabel(2, "Wheel-1", 2);
642  wheelSlopeHistos[3]->setBinLabel(3, "Wheel0", 2);
643  wheelSlopeHistos[3]->setBinLabel(4, "Wheel+1", 2);
644  wheelSlopeHistos[3]->setBinLabel(5, "Wheel+2", 2);
645  }
646  }
647 
648  stringstream wheel;
649  wheel << wh;
650 
651  if (wheelMeanHistos.find(wh) == wheelMeanHistos.end()) {
652  string histoName =
653  "MeanSummaryRes_testFailed_" + parameters.getUntrackedParameter<string>("STEP", "STEP3") + "_W" + wheel.str();
654 
655  wheelMeanHistos[wh] = ibooker.book2D(histoName.c_str(), histoName.c_str(), 14, 0, 14, 11, 0, 11);
656  wheelMeanHistos[wh]->setBinLabel(1, "Sector1", 1);
657  wheelMeanHistos[wh]->setBinLabel(2, "Sector2", 1);
658  wheelMeanHistos[wh]->setBinLabel(3, "Sector3", 1);
659  wheelMeanHistos[wh]->setBinLabel(4, "Sector4", 1);
660  wheelMeanHistos[wh]->setBinLabel(5, "Sector5", 1);
661  wheelMeanHistos[wh]->setBinLabel(6, "Sector6", 1);
662  wheelMeanHistos[wh]->setBinLabel(7, "Sector7", 1);
663  wheelMeanHistos[wh]->setBinLabel(8, "Sector8", 1);
664  wheelMeanHistos[wh]->setBinLabel(9, "Sector9", 1);
665  wheelMeanHistos[wh]->setBinLabel(10, "Sector10", 1);
666  wheelMeanHistos[wh]->setBinLabel(11, "Sector11", 1);
667  wheelMeanHistos[wh]->setBinLabel(12, "Sector12", 1);
668  wheelMeanHistos[wh]->setBinLabel(13, "Sector13", 1);
669  wheelMeanHistos[wh]->setBinLabel(14, "Sector14", 1);
670  wheelMeanHistos[wh]->setBinLabel(1, "MB1_SL1", 2);
671  wheelMeanHistos[wh]->setBinLabel(2, "MB1_SL2", 2);
672  wheelMeanHistos[wh]->setBinLabel(3, "MB1_SL3", 2);
673  wheelMeanHistos[wh]->setBinLabel(4, "MB2_SL1", 2);
674  wheelMeanHistos[wh]->setBinLabel(5, "MB2_SL2", 2);
675  wheelMeanHistos[wh]->setBinLabel(6, "MB2_SL3", 2);
676  wheelMeanHistos[wh]->setBinLabel(7, "MB3_SL1", 2);
677  wheelMeanHistos[wh]->setBinLabel(8, "MB3_SL2", 2);
678  wheelMeanHistos[wh]->setBinLabel(9, "MB3_SL3", 2);
679  wheelMeanHistos[wh]->setBinLabel(10, "MB4_SL1", 2);
680  wheelMeanHistos[wh]->setBinLabel(11, "MB4_SL3", 2);
681  }
682 
683  if (parameters.getUntrackedParameter<bool>("sigmaTest")) {
684  if (wheelSigmaHistos.find(wh) == wheelSigmaHistos.end()) {
685  string histoName = "SigmaSummaryRes_testFailed_" + parameters.getUntrackedParameter<string>("STEP", "STEP3") +
686  "_W" + wheel.str();
687 
688  wheelSigmaHistos[wh] = ibooker.book2D(histoName.c_str(), histoName.c_str(), 14, 0, 14, 11, 0, 11);
689  wheelSigmaHistos[wh]->setBinLabel(1, "Sector1", 1);
690  wheelSigmaHistos[wh]->setBinLabel(2, "Sector2", 1);
691  wheelSigmaHistos[wh]->setBinLabel(3, "Sector3", 1);
692  wheelSigmaHistos[wh]->setBinLabel(4, "Sector4", 1);
693  wheelSigmaHistos[wh]->setBinLabel(5, "Sector5", 1);
694  wheelSigmaHistos[wh]->setBinLabel(6, "Sector6", 1);
695  wheelSigmaHistos[wh]->setBinLabel(7, "Sector7", 1);
696  wheelSigmaHistos[wh]->setBinLabel(8, "Sector8", 1);
697  wheelSigmaHistos[wh]->setBinLabel(9, "Sector9", 1);
698  wheelSigmaHistos[wh]->setBinLabel(10, "Sector10", 1);
699  wheelSigmaHistos[wh]->setBinLabel(11, "Sector11", 1);
700  wheelSigmaHistos[wh]->setBinLabel(12, "Sector12", 1);
701  wheelSigmaHistos[wh]->setBinLabel(13, "Sector13", 1);
702  wheelSigmaHistos[wh]->setBinLabel(14, "Sector14", 1);
703  wheelSigmaHistos[wh]->setBinLabel(1, "MB1_SL1", 2);
704  wheelSigmaHistos[wh]->setBinLabel(2, "MB1_SL2", 2);
705  wheelSigmaHistos[wh]->setBinLabel(3, "MB1_SL3", 2);
706  wheelSigmaHistos[wh]->setBinLabel(4, "MB2_SL1", 2);
707  wheelSigmaHistos[wh]->setBinLabel(5, "MB2_SL2", 2);
708  wheelSigmaHistos[wh]->setBinLabel(6, "MB2_SL3", 2);
709  wheelSigmaHistos[wh]->setBinLabel(7, "MB3_SL1", 2);
710  wheelSigmaHistos[wh]->setBinLabel(8, "MB3_SL2", 2);
711  wheelSigmaHistos[wh]->setBinLabel(9, "MB3_SL3", 2);
712  wheelSigmaHistos[wh]->setBinLabel(10, "MB4_SL1", 2);
713  wheelSigmaHistos[wh]->setBinLabel(11, "MB4_SL3", 2);
714  }
715  }
716 
717  if (parameters.getUntrackedParameter<bool>("slopeTest")) {
718  if (wheelSlopeHistos.find(wh) == wheelSlopeHistos.end()) {
719  string histoName = "SlopeSummaryRes_testFailed_" + parameters.getUntrackedParameter<string>("STEP", "STEP3") +
720  "_W" + wheel.str();
721 
722  wheelSlopeHistos[wh] = ibooker.book2D(histoName.c_str(), histoName.c_str(), 14, 0, 14, 11, 0, 11);
723  wheelSlopeHistos[wh]->setBinLabel(1, "Sector1", 1);
724  wheelSlopeHistos[wh]->setBinLabel(2, "Sector2", 1);
725  wheelSlopeHistos[wh]->setBinLabel(3, "Sector3", 1);
726  wheelSlopeHistos[wh]->setBinLabel(4, "Sector4", 1);
727  wheelSlopeHistos[wh]->setBinLabel(5, "Sector5", 1);
728  wheelSlopeHistos[wh]->setBinLabel(6, "Sector6", 1);
729  wheelSlopeHistos[wh]->setBinLabel(7, "Sector7", 1);
730  wheelSlopeHistos[wh]->setBinLabel(8, "Sector8", 1);
731  wheelSlopeHistos[wh]->setBinLabel(9, "Sector9", 1);
732  wheelSlopeHistos[wh]->setBinLabel(10, "Sector10", 1);
733  wheelSlopeHistos[wh]->setBinLabel(11, "Sector11", 1);
734  wheelSlopeHistos[wh]->setBinLabel(12, "Sector12", 1);
735  wheelSlopeHistos[wh]->setBinLabel(13, "Sector13", 1);
736  wheelSlopeHistos[wh]->setBinLabel(14, "Sector14", 1);
737  wheelSlopeHistos[wh]->setBinLabel(1, "MB1_SL1", 2);
738  wheelSlopeHistos[wh]->setBinLabel(2, "MB1_SL2", 2);
739  wheelSlopeHistos[wh]->setBinLabel(3, "MB1_SL3", 2);
740  wheelSlopeHistos[wh]->setBinLabel(4, "MB2_SL1", 2);
741  wheelSlopeHistos[wh]->setBinLabel(5, "MB2_SL2", 2);
742  wheelSlopeHistos[wh]->setBinLabel(6, "MB2_SL3", 2);
743  wheelSlopeHistos[wh]->setBinLabel(7, "MB3_SL1", 2);
744  wheelSlopeHistos[wh]->setBinLabel(8, "MB3_SL2", 2);
745  wheelSlopeHistos[wh]->setBinLabel(9, "MB3_SL3", 2);
746  wheelSlopeHistos[wh]->setBinLabel(10, "MB4_SL1", 2);
747  wheelSlopeHistos[wh]->setBinLabel(11, "MB4_SL3", 2);
748  }
749  }
750 }
751 
752 int DTResolutionTest::stationFromBin(int bin) const { return (int)(bin / 3.1) + 1; }
753 
755  int ret = bin % 3;
756  if (ret == 0 || bin == 11)
757  ret = 3;
758 
759  return ret;
760 }
cmsHarvester.nevents
nevents
Definition: cmsHarvester.py:3177
runTheMatrix.ret
ret
prodAgent to be discontinued
Definition: runTheMatrix.py:542
DTResolutionTest::bookHistos
void bookHistos(DQMStore::IBooker &, const DTChamberId &ch)
book the new ME
Definition: DTResolutionTest.cc:454
DTSuperLayerId
Definition: DTSuperLayerId.h:12
BeamSpotPI::parameters
parameters
Definition: BeamSpotPayloadInspectorHelper.h:30
Handle.h
mps_fire.i
i
Definition: mps_fire.py:428
DTResolutionTest::getMEName2D
std::string getMEName2D(const DTSuperLayerId &slID)
Definition: DTResolutionTest.cc:425
MessageLogger.h
SiStripPI::mean
Definition: SiStripPayloadInspectorHelper.h:169
DTResolutionTest.h
photonAnalyzer_cfi.xBin
xBin
Definition: photonAnalyzer_cfi.py:81
ESHandle.h
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
relativeConstraints.station
station
Definition: relativeConstraints.py:67
edm
HLT enums.
Definition: AlignableModifier.h:19
mps_splice.entry
entry
Definition: mps_splice.py:68
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
timingPdfMaker.histo
histo
Definition: timingPdfMaker.py:279
DQMStore.h
dqm::legacy::MonitorElement
Definition: MonitorElement.h:462
photonAnalyzer_cfi.yBin
yBin
Definition: photonAnalyzer_cfi.py:85
DTSuperLayerId::superlayer
int superlayer() const
Return the superlayer number (deprecated method name)
Definition: DTSuperLayerId.h:42
DTResolutionTest::dqmEndLuminosityBlock
void dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
DQM Client Diagnostic.
Definition: DTResolutionTest.cc:60
DTSuperLayerId::superLayer
int superLayer() const
Return the superlayer number.
Definition: DTSuperLayerId.h:39
edm::EventSetup::get
T get() const
Definition: EventSetup.h:87
bookHistos
void bookHistos()
Definition: Histogram.h:33
DTResolutionTest::DTResolutionTest
DTResolutionTest(const edm::ParameterSet &ps)
Constructor.
Definition: DTResolutionTest.cc:39
MonitorElementData::QReport::getBadChannels
const std::vector< DQMChannel > & getBadChannels() const
Definition: MonitorElementCollection.h:116
DTGeometry.h
dqm::impl::MonitorElement::getQReport
const MonitorElementData::QReport * getQReport(const std::string &qtname) const
get QReport corresponding to <qtname> (null pointer if QReport does not exist)
Definition: MonitorElement.cc:481
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
DTResolutionTest::~DTResolutionTest
~DTResolutionTest() override
Destructor.
Definition: DTResolutionTest.cc:56
dtResolutionTest_cfi.histoTag2D
histoTag2D
Definition: dtResolutionTest_cfi.py:20
dtResolutionTest_cfi.histoTag
histoTag
Definition: dtResolutionTest_cfi.py:21
edm::get
T const & get(Event const &event, InputTag const &tag) noexcept(false)
Definition: Event.h:675
MonitorElementData::QReport
Definition: MonitorElementCollection.h:55
makeMuonMisalignmentScenario.wheel
wheel
Definition: makeMuonMisalignmentScenario.py:319
Skims_PDWG_cff.prescaleFactor
prescaleFactor
Definition: Skims_PDWG_cff.py:25
edm::LuminosityBlockID::luminosityBlock
LuminosityBlockNumber_t luminosityBlock() const
Definition: LuminosityBlockID.h:42
edm::LuminosityBlockBase::id
LuminosityBlockID id() const
Definition: LuminosityBlockBase.h:44
dqm::impl::MonitorElement::setBinLabel
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:771
cscdqm::HistoName
std::string HistoName
Definition: CSCDQM_HistoDef.h:32
chambers
static char chambers[264][20]
Definition: ReadPGInfo.cc:243
edm::EventSetup
Definition: EventSetup.h:58
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
ALCARECODTCalibSynchCosmicsDQM_cff.folderName
folderName
Definition: ALCARECODTCalibSynchCosmicsDQM_cff.py:9
newFWLiteAna.bin
bin
Definition: newFWLiteAna.py:161
DTChamberId::sector
int sector() const
Definition: DTChamberId.h:49
std
Definition: JetResolutionObject.h:76
DTResolutionTest::getMEName
std::string getMEName(const DTSuperLayerId &slID)
Get the ME name.
Definition: DTResolutionTest.cc:396
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
dqm::implementation::IGetter
Definition: DQMStore.h:484
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
DTResolutionTest::dqmEndJob
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
Endjob.
Definition: DTResolutionTest.cc:385
dqm::implementation::IGetter::get
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:651
relativeConstraints.chamber
chamber
Definition: relativeConstraints.py:53
HltBtagPostValidation_cff.histoName
histoName
Definition: HltBtagPostValidation_cff.py:17
EventSetup.h
DTResolutionTest::stationFromBin
int stationFromBin(int bin) const
Definition: DTResolutionTest.cc:752
dqm::implementation::IBooker
Definition: DQMStore.h:43
dtChamberEfficiencyTest_cfi.folderRoot
folderRoot
Definition: dtChamberEfficiencyTest_cfi.py:9
DTChamber.h
cms::Exception
Definition: Exception.h:70
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
genParticles_cff.map
map
Definition: genParticles_cff.py:11
DTChamberId
Definition: DTChamberId.h:14
ParameterSet.h
MuonGeometryRecord.h
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
slope
static const double slope[3]
Definition: CastorTimeSlew.cc:6
MuonGeometryRecord
Definition: MuonGeometryRecord.h:34
DTChamberId::wheel
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:39
DTChamberId::station
int station() const
Return the station number.
Definition: DTChamberId.h:42
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
DTResolutionTest::slFromBin
int slFromBin(int bin) const
Definition: DTResolutionTest.cc:754
dqm::legacy::MonitorElement::getTH2F
virtual TH2F * getTH2F() const
Definition: MonitorElement.h:491