CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
SiPixelDigiSource.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: SiPixelMonitorDigi
4 // Class: SiPixelDigiSource
5 //
13 //
14 // Original Author: Vincenzo Chiochia
15 // Created:
16 //
17 //
19 // Framework
25 // DQM Framework
28 // Geometry
30 // DataFormats
37 //
38 #include <string>
39 #include <cstdlib>
40 #include <iostream>
41 #include <fstream>
42 
43 using namespace std;
44 using namespace edm;
45 
47  : conf_(iConfig),
48  src_(conf_.getParameter<edm::InputTag>("src")),
49  saveFile(conf_.getUntrackedParameter<bool>("saveFile", false)),
50  isPIB(conf_.getUntrackedParameter<bool>("isPIB", false)),
51  slowDown(conf_.getUntrackedParameter<bool>("slowDown", false)),
52  modOn(conf_.getUntrackedParameter<bool>("modOn", true)),
53  twoDimOn(conf_.getUntrackedParameter<bool>("twoDimOn", true)),
54  twoDimModOn(conf_.getUntrackedParameter<bool>("twoDimModOn", true)),
55  twoDimOnlyLayDisk(conf_.getUntrackedParameter<bool>("twoDimOnlyLayDisk", false)),
56  hiRes(conf_.getUntrackedParameter<bool>("hiRes", false)),
57  reducedSet(conf_.getUntrackedParameter<bool>("reducedSet", false)),
58  ladOn(conf_.getUntrackedParameter<bool>("ladOn", false)),
59  layOn(conf_.getUntrackedParameter<bool>("layOn", false)),
60  phiOn(conf_.getUntrackedParameter<bool>("phiOn", false)),
61  ringOn(conf_.getUntrackedParameter<bool>("ringOn", false)),
62  bladeOn(conf_.getUntrackedParameter<bool>("bladeOn", false)),
63  diskOn(conf_.getUntrackedParameter<bool>("diskOn", false)),
64  bigEventSize(conf_.getUntrackedParameter<int>("bigEventSize", 1000)),
65  isUpgrade(conf_.getUntrackedParameter<bool>("isUpgrade", false)),
66  noOfLayers(0),
67  noOfDisks(0) {
68  //set Token(-s)
69  srcToken_ = consumes<edm::DetSetVector<PixelDigi> >(conf_.getParameter<edm::InputTag>("src"));
70 
71  trackerTopoToken_ = esConsumes<TrackerTopology, TrackerTopologyRcd>();
72  trackerTopoTokenBeginRun_ = esConsumes<TrackerTopology, TrackerTopologyRcd, edm::Transition::BeginRun>();
73  trackerGeomTokenBeginRun_ = esConsumes<TrackerGeometry, TrackerDigiGeometryRecord, edm::Transition::BeginRun>();
74 
75  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
76 
77  firstRun = true;
78  // find a FED# for the current detId:
79  ifstream infile(edm::FileInPath("DQM/SiPixelMonitorClient/test/detId.dat").fullPath().c_str(), ios::in);
80  int nModsInFile = 0;
81  assert(!infile.fail());
82  int nTOTmodules;
83  if (isUpgrade) {
84  nTOTmodules = 1856;
85  } else {
86  nTOTmodules = 1440;
87  }
88  while (!infile.eof() && nModsInFile < nTOTmodules) {
89  infile >> I_name[nModsInFile] >> I_detId[nModsInFile] >> I_fedId[nModsInFile] >> I_linkId1[nModsInFile] >>
90  I_linkId2[nModsInFile];
91  nModsInFile++;
92  }
93  infile.close();
94 
95  LogInfo("PixelDQM") << "SiPixelDigiSource::SiPixelDigiSource: Got DQM BackEnd interface" << endl;
96 }
97 
99  // do anything here that needs to be done at desctruction time
100  // (e.g. close files, deallocate resources etc.)
101  LogInfo("PixelDQM") << "SiPixelDigiSource::~SiPixelDigiSource: Destructor" << endl;
102 }
103 
105  const edm::EventSetup& iSetup) const {
106  unsigned int currentLS = lumi.id().luminosityBlock();
107  bool resetCounters = (currentLS % 10 == 0) ? true : false;
108  return std::make_shared<bool>(resetCounters);
109 }
110 
112  int thisls = lb.id().luminosityBlock();
113  const bool resetCounters = luminosityBlockCache(lb.index());
114 
115  float averageBPIXFed = float(nBPIXDigis) / 32.;
116  float averageFPIXFed = float(nFPIXDigis) / 8.;
117 
118  if (averageDigiOccupancy) {
119  for (int i = 0; i != 40; i++) {
120  float averageOcc = 0.;
121  if (i < 32) {
122  if (averageBPIXFed > 0.)
123  averageOcc = nDigisPerFed[i] / averageBPIXFed;
124  } else {
125  if (averageFPIXFed > 0.)
126  averageOcc = nDigisPerFed[i] / averageFPIXFed;
127  }
128  if (!modOn) {
130  i,
131  nDigisPerFed[i]); //In offline we fill all digis and normalise at the end of the run for thread safe behaviour.
132  avgfedDigiOccvsLumi->setBinContent(thisls, i + 1, nDigisPerFed[i]); //Same plot vs lumi section
133  }
134  if (modOn) {
135  if (thisls % 10 == 0)
137  i,
138  averageOcc); // "modOn" basically mean Online DQM, in this case fill histos with actual value of digi fraction per fed for each ten lumisections
139  if (avgfedDigiOccvsLumi && thisls % 5 == 0)
141  int(thisls / 5),
142  i + 1,
143  averageOcc); //fill with the mean over 5 lumisections, previous code was filling this histo only with last event of each 10th lumisection
144  }
145  }
146 
147  if (modOn && thisls % 10 == 0) {
149  int(thisls / 10), averageBPIXFed); //<NDigis> vs lumisection for barrel, filled every 10 lumi sections
151  int(thisls / 10), averageFPIXFed); //<NDigis> vs lumisection for endcap, filled every 10 lumi sections
152  }
153  }
154 
155  //reset counters
156 
157  if (modOn && resetCounters && averageDigiOccupancy) {
158  nBPIXDigis = 0;
159  nFPIXDigis = 0;
160  for (int i = 0; i != 40; i++)
161  nDigisPerFed[i] = 0;
162  }
163 
164  if (!modOn && averageDigiOccupancy) {
165  nBPIXDigis = 0;
166  nFPIXDigis = 0;
167  for (int i = 0; i != 40; i++)
168  nDigisPerFed[i] = 0;
169  }
170 
171  if (modOn && resetCounters) {
172  ROCMapToReset = true; //the ROC map is reset each 10 lumisections
173 
174  for (int i = 0; i < 2; i++)
175  NzeroROCs[i] = 0;
176  for (int i = 0; i < 2; i++)
177  NloEffROCs[i] = 0; //resetting also Zero and low eff. ROC counters
178 
179  NzeroROCs[1] = -672;
180  NloEffROCs[1] =
181  -672; //this magic number derives by the way the endcap occupancy is filled, there are always 672 empty bins by construction
182 
183  //these bools are needed to count zero occupancy plots in the substructure only once each 10 LS
184  DoZeroRocsBMO1 = true;
185  DoZeroRocsBMO2 = true;
186  DoZeroRocsBMO3 = true;
187 
188  DoZeroRocsBMI1 = true;
189  DoZeroRocsBMI2 = true;
190  DoZeroRocsBMI3 = true;
191 
192  DoZeroRocsBPO1 = true;
193  DoZeroRocsBPO2 = true;
194  DoZeroRocsBPO3 = true;
195 
196  DoZeroRocsBPI1 = true;
197  DoZeroRocsBPI2 = true;
198  DoZeroRocsBPI3 = true;
199 
200  DoZeroRocsFPO1 = true;
201  DoZeroRocsFPO2 = true;
202 
203  DoZeroRocsFMO1 = true;
204  DoZeroRocsFMO2 = true;
205 
206  DoZeroRocsFPI1 = true;
207  DoZeroRocsFPI2 = true;
208 
209  DoZeroRocsFMI1 = true;
210  DoZeroRocsFMI2 = true;
211  }
212 }
213 
215  LogInfo("PixelDQM") << " SiPixelDigiSource::beginJob - Initialisation ... " << std::endl;
216  LogInfo("PixelDQM") << "Mod/Lad/Lay/Phi " << modOn << "/" << ladOn << "/" << layOn << "/" << phiOn << std::endl;
217  LogInfo("PixelDQM") << "Blade/Disk/Ring" << bladeOn << "/" << diskOn << "/" << ringOn << std::endl;
218  LogInfo("PixelDQM") << "2DIM IS " << twoDimOn << " and set to high resolution? " << hiRes << "\n";
219 
220  if (firstRun) {
221  nBigEvents = 0;
222  nBPIXDigis = 0;
223  nFPIXDigis = 0;
224  for (int i = 0; i != 40; i++)
225  nDigisPerFed[i] = 0;
226  for (int i = 0; i != 4; i++)
227  nDigisPerDisk[i] = 0;
228  nDP1P1M1 = 0;
229  nDP1P1M2 = 0;
230  nDP1P1M3 = 0;
231  nDP1P1M4 = 0;
232  nDP1P2M1 = 0;
233  nDP1P2M2 = 0;
234  nDP1P2M3 = 0;
235  nDP2P1M1 = 0;
236  nDP2P1M2 = 0;
237  nDP2P1M3 = 0;
238  nDP2P1M4 = 0;
239  nDP2P2M1 = 0;
240  nDP2P2M2 = 0;
241  nDP2P2M3 = 0;
242  nDP3P1M1 = 0;
243  nDP3P2M1 = 0;
244  nDM1P1M1 = 0;
245  nDM1P1M2 = 0;
246  nDM1P1M3 = 0;
247  nDM1P1M4 = 0;
248  nDM1P2M1 = 0;
249  nDM1P2M2 = 0;
250  nDM1P2M3 = 0;
251  nDM2P1M1 = 0;
252  nDM2P1M2 = 0;
253  nDM2P1M3 = 0;
254  nDM2P1M4 = 0;
255  nDM2P2M1 = 0;
256  nDM2P2M2 = 0;
257  nDM2P2M3 = 0;
258  nDM3P1M1 = 0;
259  nDM3P2M1 = 0;
260  nL1M1 = 0;
261  nL1M2 = 0;
262  nL1M3 = 0;
263  nL1M4 = 0;
264  nL2M1 = 0;
265  nL2M2 = 0;
266  nL2M3 = 0;
267  nL2M4 = 0;
268  nL3M1 = 0;
269  nL3M2 = 0;
270  nL3M3 = 0;
271  nL3M4 = 0;
272  nL4M1 = 0;
273  nL4M2 = 0;
274  nL4M3 = 0;
275  nL4M4 = 0;
276 
277  ROCMapToReset = false;
278 
279  DoZeroRocsBMO1 = false;
280  DoZeroRocsBMO2 = false;
281  DoZeroRocsBMO3 = false;
282 
283  DoZeroRocsBMI1 = false;
284  DoZeroRocsBMI2 = false;
285  DoZeroRocsBMI3 = false;
286 
287  DoZeroRocsBPO1 = false;
288  DoZeroRocsBPO2 = false;
289  DoZeroRocsBPO3 = false;
290 
291  DoZeroRocsBPI1 = false;
292  DoZeroRocsBPI2 = false;
293  DoZeroRocsBPI3 = false;
294 
295  DoZeroRocsFPO1 = false;
296  DoZeroRocsFPO2 = false;
297 
298  DoZeroRocsFMO1 = false;
299  DoZeroRocsFMO2 = false;
300 
301  DoZeroRocsFPI1 = false;
302  DoZeroRocsFPI2 = false;
303 
304  DoZeroRocsFMI1 = false;
305  DoZeroRocsFMI2 = false;
306 
307  for (int i = 0; i < 2; i++)
308  NzeroROCs[i] = 0;
309  for (int i = 0; i < 2; i++)
310  NloEffROCs[i] = 0;
311 
312  // Build map
313  buildStructure(iSetup);
314  // Book Monitoring Elements
315  firstRun = false;
316  }
317 }
318 
320  bookMEs(iBooker, iSetup);
321 }
322 
323 //------------------------------------------------------------------
324 // Method called for every event
325 //------------------------------------------------------------------
328  const TrackerTopology* pTT = tTopoHandle.product();
329 
330  // get input data
332  iEvent.getByToken(srcToken_, input);
333  if (!input.isValid())
334  return;
335 
336  int bx = iEvent.bunchCrossing();
337 
338  int lumiSection = (int)iEvent.luminosityBlock();
339  int nEventDigis = 0;
340  int nActiveModules = 0;
341 
342  std::map<uint32_t, SiPixelDigiModule*>::iterator struct_iter;
343  for (int i = 0; i != 192; i++)
344  numberOfDigis[i] = 0;
345  for (int i = 0; i != 1152; i++)
346  nDigisPerChan[i] = 0;
347  for (int i = 0; i != 4; i++)
348  nDigisPerDisk[i] = 0;
349 
350  for (struct_iter = thePixelStructure.begin(); struct_iter != thePixelStructure.end(); struct_iter++) {
351  int numberOfDigisMod = (*struct_iter)
352  .second->fill(*input,
353  pTT,
358  modOn,
359  ladOn,
360  layOn,
361  phiOn,
362  bladeOn,
363  diskOn,
364  ringOn,
365  twoDimOn,
366  reducedSet,
367  twoDimModOn,
369  nDigisA,
370  nDigisB,
371  isUpgrade);
372 
373  bool barrel = DetId((*struct_iter).first).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
374  bool endcap = DetId((*struct_iter).first).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
375 
376  if (numberOfDigisMod > 0) {
377  nEventDigis = nEventDigis + numberOfDigisMod;
378  nActiveModules++;
379  int nBPiXmodules;
380  int nTOTmodules;
381  if (isUpgrade) {
382  nBPiXmodules = 1184;
383  nTOTmodules = 1856;
384  } else {
385  nBPiXmodules = 768;
386  nTOTmodules = 1440;
387  }
388  if (barrel) { // Barrel
389  int layer = PixelBarrelName(DetId((*struct_iter).first), pTT, isUpgrade).layerName();
390  PixelBarrelName::Shell shell = PixelBarrelName(DetId((*struct_iter).first), pTT, isUpgrade).shell();
391 
392  //Count Zero Occ Rocs in Barrel in the first event after each 10 Ls
394  if (DoZeroRocsBMO1 && layer == 1)
395  CountZeroROCsInSubstructure(barrel, DoZeroRocsBMO1, (*struct_iter).second);
396  if (DoZeroRocsBMO2 && layer == 2)
397  CountZeroROCsInSubstructure(barrel, DoZeroRocsBMO2, (*struct_iter).second);
398  if (DoZeroRocsBMO3 && layer == 3)
399  CountZeroROCsInSubstructure(barrel, DoZeroRocsBMO3, (*struct_iter).second);
401  if (DoZeroRocsBMI1 && layer == 1)
402  CountZeroROCsInSubstructure(barrel, DoZeroRocsBMI1, (*struct_iter).second);
403  if (DoZeroRocsBMI2 && layer == 2)
404  CountZeroROCsInSubstructure(barrel, DoZeroRocsBMI2, (*struct_iter).second);
405  if (DoZeroRocsBMI3 && layer == 3)
406  CountZeroROCsInSubstructure(barrel, DoZeroRocsBMI3, (*struct_iter).second);
408  if (DoZeroRocsBPO1 && layer == 1)
409  CountZeroROCsInSubstructure(barrel, DoZeroRocsBPO1, (*struct_iter).second);
410  if (DoZeroRocsBPO2 && layer == 2)
411  CountZeroROCsInSubstructure(barrel, DoZeroRocsBPO2, (*struct_iter).second);
412  if (DoZeroRocsBPO3 && layer == 3)
413  CountZeroROCsInSubstructure(barrel, DoZeroRocsBPO3, (*struct_iter).second);
415  if (DoZeroRocsBPI1 && layer == 1)
416  CountZeroROCsInSubstructure(barrel, DoZeroRocsBPI1, (*struct_iter).second);
417  if (DoZeroRocsBPI2 && layer == 2)
418  CountZeroROCsInSubstructure(barrel, DoZeroRocsBPI2, (*struct_iter).second);
419  if (DoZeroRocsBPI3 && layer == 3)
420  CountZeroROCsInSubstructure(barrel, DoZeroRocsBPI3, (*struct_iter).second);
421  }
422 
423  nBPIXDigis = nBPIXDigis + numberOfDigisMod;
424  for (int i = 0; i != nBPiXmodules; ++i) {
425  if ((*struct_iter).first == I_detId[i]) {
426  nDigisPerFed[I_fedId[i]] = nDigisPerFed[I_fedId[i]] + numberOfDigisMod;
427  int index1 = 0;
428  int index2 = 0;
429  if (I_linkId1[i] > 0)
430  index1 = I_fedId[i] * 36 + (I_linkId1[i] - 1);
431  if (I_linkId2[i] > 0)
432  index2 = I_fedId[i] * 36 + (I_linkId2[i] - 1);
433  if (nDigisA > 0 && I_linkId1[i] > 0)
434  nDigisPerChan[index1] = nDigisPerChan[index1] + nDigisA;
435  if (nDigisB > 0 && I_linkId2[i] > 0)
436  nDigisPerChan[index2] = nDigisPerChan[index2] + nDigisB;
437  i = (nBPiXmodules - 1);
438  }
439  }
440  } else if (endcap && !isUpgrade) { // Endcap
441  nFPIXDigis = nFPIXDigis + numberOfDigisMod;
443  PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).halfCylinder();
444  int disk = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).diskName();
445  int blade = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).bladeName();
446  int panel = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).pannelName();
447  int module = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).plaquetteName();
448  int iter = 0;
449  int i = 0;
450 
451  //count Zero Occupancy ROCs in Endcap in the first event after each 10 Ls
453  if (DoZeroRocsFMO1 && disk == 1)
454  CountZeroROCsInSubstructure(barrel, DoZeroRocsFMO1, (*struct_iter).second);
455  if (DoZeroRocsFMO2 && disk == 2)
456  CountZeroROCsInSubstructure(barrel, DoZeroRocsFMO2, (*struct_iter).second);
457  } else if (ROCMapToReset && side == PixelEndcapName::mI && twoDimOnlyLayDisk) {
458  if (DoZeroRocsFMI1 && disk == 1)
459  CountZeroROCsInSubstructure(barrel, DoZeroRocsFMI1, (*struct_iter).second);
460  if (DoZeroRocsFMI2 && disk == 2)
461  CountZeroROCsInSubstructure(barrel, DoZeroRocsFMI2, (*struct_iter).second);
462  } else if (ROCMapToReset && side == PixelEndcapName::pO && twoDimOnlyLayDisk) {
463  if (DoZeroRocsFPO1 && disk == 1)
464  CountZeroROCsInSubstructure(barrel, DoZeroRocsFPO1, (*struct_iter).second);
465  if (DoZeroRocsFPO2 && disk == 2)
466  CountZeroROCsInSubstructure(barrel, DoZeroRocsFPO2, (*struct_iter).second);
467  } else if (ROCMapToReset && side == PixelEndcapName::pI && twoDimOnlyLayDisk) {
468  if (DoZeroRocsFPI1 && disk == 1)
469  CountZeroROCsInSubstructure(barrel, DoZeroRocsFPI1, (*struct_iter).second);
470  if (DoZeroRocsFPI2 && disk == 2)
471  CountZeroROCsInSubstructure(barrel, DoZeroRocsFPI2, (*struct_iter).second);
472  }
473 
474  if (side == PixelEndcapName::mI) {
475  if (disk == 1) {
476  i = 0;
477  if (panel == 1) {
478  if (module == 1)
479  nDM1P1M1 += numberOfDigisMod;
480  else if (module == 2)
481  nDM1P1M2 += numberOfDigisMod;
482  else if (module == 3)
483  nDM1P1M3 += numberOfDigisMod;
484  else if (module == 4)
485  nDM1P1M4 += numberOfDigisMod;
486  } else if (panel == 2) {
487  if (module == 1)
488  nDM1P2M1 += numberOfDigisMod;
489  else if (module == 2)
490  nDM1P2M2 += numberOfDigisMod;
491  else if (module == 3)
492  nDM1P2M3 += numberOfDigisMod;
493  }
494  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
495  iter = i + 2 * (blade - 1) + (panel - 1);
496  } else if (disk == 2) {
497  i = 24;
498  if (panel == 1) {
499  if (module == 1)
500  nDM2P1M1 += numberOfDigisMod;
501  else if (module == 2)
502  nDM2P1M2 += numberOfDigisMod;
503  else if (module == 3)
504  nDM2P1M3 += numberOfDigisMod;
505  else if (module == 4)
506  nDM2P1M4 += numberOfDigisMod;
507  } else if (panel == 2) {
508  if (module == 1)
509  nDM2P2M1 += numberOfDigisMod;
510  else if (module == 2)
511  nDM2P2M2 += numberOfDigisMod;
512  else if (module == 3)
513  nDM2P2M3 += numberOfDigisMod;
514  }
515  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
516  iter = i + 2 * (blade - 1) + (panel - 1);
517  }
518  } else if (side == PixelEndcapName::mO) {
519  if (disk == 1) {
520  i = 48;
521  if (panel == 1) {
522  if (module == 1)
523  nDM1P1M1 += numberOfDigisMod;
524  else if (module == 2)
525  nDM1P1M2 += numberOfDigisMod;
526  else if (module == 3)
527  nDM1P1M3 += numberOfDigisMod;
528  else if (module == 4)
529  nDM1P1M4 += numberOfDigisMod;
530  } else if (panel == 2) {
531  if (module == 1)
532  nDM1P2M1 += numberOfDigisMod;
533  else if (module == 2)
534  nDM1P2M2 += numberOfDigisMod;
535  else if (module == 3)
536  nDM1P2M3 += numberOfDigisMod;
537  }
538  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
539  iter = i + 2 * (blade - 1) + (panel - 1);
540  } else if (disk == 2) {
541  i = 72;
542  if (panel == 1) {
543  if (module == 1)
544  nDM2P1M1 += numberOfDigisMod;
545  else if (module == 2)
546  nDM2P1M2 += numberOfDigisMod;
547  else if (module == 3)
548  nDM2P1M3 += numberOfDigisMod;
549  else if (module == 4)
550  nDM2P1M4 += numberOfDigisMod;
551  } else if (panel == 2) {
552  if (module == 1)
553  nDM2P2M1 += numberOfDigisMod;
554  else if (module == 2)
555  nDM2P2M2 += numberOfDigisMod;
556  else if (module == 3)
557  nDM2P2M3 += numberOfDigisMod;
558  }
559  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
560  iter = i + 2 * (blade - 1) + (panel - 1);
561  }
562  } else if (side == PixelEndcapName::pI) {
563  if (disk == 1) {
564  i = 96;
565  if (panel == 1) {
566  if (module == 1)
567  nDP1P1M1 += numberOfDigisMod;
568  else if (module == 2)
569  nDP1P1M2 += numberOfDigisMod;
570  else if (module == 3)
571  nDP1P1M3 += numberOfDigisMod;
572  else if (module == 4)
573  nDP1P1M4 += numberOfDigisMod;
574  } else if (panel == 2) {
575  if (module == 1)
576  nDP1P2M1 += numberOfDigisMod;
577  else if (module == 2)
578  nDP1P2M2 += numberOfDigisMod;
579  else if (module == 3)
580  nDP1P2M3 += numberOfDigisMod;
581  }
582  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
583  iter = i + 2 * (blade - 1) + (panel - 1);
584  } else if (disk == 2) {
585  i = 120;
586  if (panel == 1) {
587  if (module == 1)
588  nDP2P1M1 += numberOfDigisMod;
589  else if (module == 2)
590  nDP2P1M2 += numberOfDigisMod;
591  else if (module == 3)
592  nDP2P1M3 += numberOfDigisMod;
593  else if (module == 4)
594  nDP2P1M4 += numberOfDigisMod;
595  } else if (panel == 2) {
596  if (module == 1)
597  nDP2P2M1 += numberOfDigisMod;
598  else if (module == 2)
599  nDP2P2M2 += numberOfDigisMod;
600  else if (module == 3)
601  nDP2P2M3 += numberOfDigisMod;
602  }
603  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
604  iter = i + 2 * (blade - 1) + (panel - 1);
605  }
606  } else if (side == PixelEndcapName::pO) {
607  if (disk == 1) {
608  i = 144;
609  if (panel == 1) {
610  if (module == 1)
611  nDP1P1M1 += numberOfDigisMod;
612  else if (module == 2)
613  nDP1P1M2 += numberOfDigisMod;
614  else if (module == 3)
615  nDP1P1M3 += numberOfDigisMod;
616  else if (module == 4)
617  nDP1P1M4 += numberOfDigisMod;
618  } else if (panel == 2) {
619  if (module == 1)
620  nDP1P2M1 += numberOfDigisMod;
621  else if (module == 2)
622  nDP1P2M2 += numberOfDigisMod;
623  else if (module == 3)
624  nDP1P2M3 += numberOfDigisMod;
625  }
626  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
627  iter = i + 2 * (blade - 1) + (panel - 1);
628  } else if (disk == 2) {
629  i = 168;
630  if (panel == 1) {
631  if (module == 1)
632  nDP2P1M1 += numberOfDigisMod;
633  else if (module == 2)
634  nDP2P1M2 += numberOfDigisMod;
635  else if (module == 3)
636  nDP2P1M3 += numberOfDigisMod;
637  else if (module == 4)
638  nDP2P1M4 += numberOfDigisMod;
639  } else if (panel == 2) {
640  if (module == 1)
641  nDP2P2M1 += numberOfDigisMod;
642  else if (module == 2)
643  nDP2P2M2 += numberOfDigisMod;
644  else if (module == 3)
645  nDP2P2M3 += numberOfDigisMod;
646  }
647  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
648  iter = i + 2 * (blade - 1) + (panel - 1);
649  }
650  }
651  numberOfDigis[iter] = numberOfDigis[iter] + numberOfDigisMod;
652 
653  for (int i = nBPiXmodules; i != nTOTmodules; i++) {
654  if ((*struct_iter).first == I_detId[i]) {
655  nDigisPerFed[I_fedId[i]] = nDigisPerFed[I_fedId[i]] + numberOfDigisMod;
656  i = nTOTmodules - 1;
657  }
658  }
659  } //endif Barrel/(Endcap && !isUpgrade)
660  else if (endcap && isUpgrade) {
661  nFPIXDigis = nFPIXDigis + numberOfDigisMod;
663  PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).halfCylinder();
664  int disk = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).diskName();
665  int blade = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).bladeName();
666  int panel = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).pannelName();
667  int module = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).plaquetteName();
668 
669  int iter = 0;
670  int i = 0;
671  if (side == PixelEndcapName::mI) {
672  if (disk == 1) {
673  i = 0;
674  if (panel == 1) {
675  if (module == 1)
676  nDM1P1M1 += numberOfDigisMod;
677  } else if (panel == 2) {
678  if (module == 1)
679  nDM1P2M1 += numberOfDigisMod;
680  }
681  if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
682  iter = i + 2 * (blade - 1) + (panel - 1);
683  } else if (disk == 2) {
684  i = 22;
685  if (panel == 1) {
686  if (module == 1)
687  nDM2P1M1 += numberOfDigisMod;
688  } else if (panel == 2) {
689  if (module == 1)
690  nDM2P2M1 += numberOfDigisMod;
691  }
692  if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
693  iter = i + 2 * (blade - 1) + (panel - 1);
694  } else if (disk == 3) {
695  i = 44;
696  if (panel == 1) {
697  if (module == 1)
698  nDM3P1M1 += numberOfDigisMod;
699  } else if (panel == 2) {
700  if (module == 1)
701  nDM3P2M1 += numberOfDigisMod;
702  }
703  if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
704  iter = i + 2 * (blade - 1) + (panel - 1);
705  }
706  } else if (side == PixelEndcapName::mO) {
707  if (disk == 1) {
708  i = 66;
709  if (panel == 1) {
710  if (module == 1)
711  nDM1P1M1 += numberOfDigisMod;
712  } else if (panel == 2) {
713  if (module == 1)
714  nDM1P2M1 += numberOfDigisMod;
715  }
716  if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
717  iter = i + 2 * (blade - 1) + (panel - 1);
718  } else if (disk == 2) {
719  i = 100;
720  if (panel == 1) {
721  if (module == 1)
722  nDM2P1M1 += numberOfDigisMod;
723  } else if (panel == 2) {
724  if (module == 1)
725  nDM2P2M1 += numberOfDigisMod;
726  }
727  if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
728  iter = i + 2 * (blade - 1) + (panel - 1);
729  } else if (disk == 3) {
730  i = 134;
731  if (panel == 1) {
732  if (module == 1)
733  nDM3P1M1 += numberOfDigisMod;
734  } else if (panel == 2) {
735  if (module == 1)
736  nDM3P2M1 += numberOfDigisMod;
737  }
738  if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
739  iter = i + 2 * (blade - 1) + (panel - 1);
740  }
741  } else if (side == PixelEndcapName::pI) {
742  if (disk == 1) {
743  i = 168;
744  if (panel == 1) {
745  if (module == 1)
746  nDP1P1M1 += numberOfDigisMod;
747  } else if (panel == 2) {
748  if (module == 1)
749  nDP1P2M1 += numberOfDigisMod;
750  }
751  if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
752  iter = i + 2 * (blade - 1) + (panel - 1);
753  } else if (disk == 2) {
754  i = 190;
755  if (panel == 1) {
756  if (module == 1)
757  nDP2P1M1 += numberOfDigisMod;
758  } else if (panel == 2) {
759  if (module == 1)
760  nDP2P2M1 += numberOfDigisMod;
761  }
762  if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
763  iter = i + 2 * (blade - 1) + (panel - 1);
764  } else if (disk == 3) {
765  i = 212;
766  if (panel == 1) {
767  if (module == 1)
768  nDP3P1M1 += numberOfDigisMod;
769  } else if (panel == 2) {
770  if (module == 1)
771  nDP3P2M1 += numberOfDigisMod;
772  }
773  if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
774  iter = i + 2 * (blade - 1) + (panel - 1);
775  }
776  } else if (side == PixelEndcapName::pO) {
777  if (disk == 1) {
778  i = 234;
779  if (panel == 1) {
780  if (module == 1)
781  nDP1P1M1 += numberOfDigisMod;
782  } else if (panel == 2) {
783  if (module == 1)
784  nDP1P2M1 += numberOfDigisMod;
785  }
786  if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
787  iter = i + 2 * (blade - 1) + (panel - 1);
788  } else if (disk == 2) {
789  i = 268;
790  if (panel == 1) {
791  if (module == 1)
792  nDP2P1M1 += numberOfDigisMod;
793  } else if (panel == 2) {
794  if (module == 1)
795  nDP2P2M1 += numberOfDigisMod;
796  }
797  if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
798  iter = i + 2 * (blade - 1) + (panel - 1);
799  } else if (disk == 3) {
800  i = 302;
801  if (panel == 1) {
802  if (module == 1)
803  nDP3P1M1 += numberOfDigisMod;
804  } else if (panel == 2) {
805  if (module == 1)
806  nDP3P2M1 += numberOfDigisMod;
807  }
808  if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
809  iter = i + 2 * (blade - 1) + (panel - 1);
810  }
811  }
812  numberOfDigis[iter] = numberOfDigis[iter] + numberOfDigisMod;
813  for (int i = nBPiXmodules; i != nTOTmodules; i++) {
814  if ((*struct_iter).first == I_detId[i]) {
815  nDigisPerFed[I_fedId[i]] = nDigisPerFed[I_fedId[i]] + numberOfDigisMod;
816  i = nTOTmodules - 1;
817  }
818  }
819  } //endif(Endcap && isUpgrade)
820  } // endif any digis in this module
821  } // endfor loop over all modules
822 
823  if (lumiSection % 10 == 0 && ROCMapToReset) {
824  for (int i = 0; i < 2; ++i)
826  if (noOccROCsBarrel)
827  noOccROCsBarrel->setBinContent(lumiSection / 10, NzeroROCs[0]);
828  if (loOccROCsBarrel)
829  loOccROCsBarrel->setBinContent(lumiSection / 10, NloEffROCs[0]);
830  if (noOccROCsEndcap)
831  noOccROCsEndcap->setBinContent(lumiSection / 10, NzeroROCs[1]);
832  if (loOccROCsEndcap)
833  loOccROCsEndcap->setBinContent(lumiSection / 10, NloEffROCs[1]);
834  ROCMapToReset =
835  false; // in this way the ROC maps are reset for one event only (the first event in LS multiple of 10
836  }
837 
838  if (noOfDisks == 2) { // if (!isUpgrade)
839  if (meNDigisCHANEndcap_) {
840  for (int j = 0; j != 192; j++)
841  if (numberOfDigis[j] > 0)
843  }
844  if (meNDigisCHANEndcapDms_.at(0)) {
845  for (int j = 0; j != 72; j++)
846  if ((j < 24 || j > 47) && numberOfDigis[j] > 0)
847  meNDigisCHANEndcapDms_.at(0)->Fill((float)numberOfDigis[j]);
848  }
849  if (meNDigisCHANEndcapDms_.at(1)) {
850  for (int j = 24; j != 96; j++)
851  if ((j < 48 || j > 71) && numberOfDigis[j] > 0)
852  meNDigisCHANEndcapDms_.at(1)->Fill((float)numberOfDigis[j]);
853  }
854  if (meNDigisCHANEndcapDps_.at(0)) {
855  for (int j = 96; j != 168; j++)
856  if ((j < 120 || j > 143) && numberOfDigis[j] > 0)
857  meNDigisCHANEndcapDps_.at(0)->Fill((float)numberOfDigis[j]);
858  }
859  if (meNDigisCHANEndcapDps_.at(1)) {
860  for (int j = 120; j != 192; j++)
861  if ((j < 144 || j > 167) && numberOfDigis[j] > 0)
862  meNDigisCHANEndcapDps_.at(1)->Fill((float)numberOfDigis[j]);
863  }
864  } else if (noOfDisks == 3) { // else if (isUpgrade)
865  if (meNDigisCHANEndcap_) {
866  for (int j = 0; j != 336; j++)
867  if (numberOfDigis[j] > 0)
869  }
870  if (meNDigisCHANEndcapDms_.at(0)) {
871  for (int j = 0; j != 100; j++)
872  if ((j < 22 || j > 65) && numberOfDigis[j] > 0)
873  meNDigisCHANEndcapDms_.at(0)->Fill((float)numberOfDigis[j]);
874  }
875  if (meNDigisCHANEndcapDms_.at(1)) {
876  for (int j = 22; j != 134; j++)
877  if ((j < 44 || j > 99) && numberOfDigis[j] > 0)
878  meNDigisCHANEndcapDms_.at(1)->Fill((float)numberOfDigis[j]);
879  }
880  if (meNDigisCHANEndcapDms_.at(2)) {
881  for (int j = 44; j != 168; j++)
882  if ((j < 66 || j > 133) && numberOfDigis[j] > 0)
883  meNDigisCHANEndcapDms_.at(2)->Fill((float)numberOfDigis[j]);
884  }
885  if (meNDigisCHANEndcapDps_.at(0)) {
886  for (int j = 168; j != 268; j++)
887  if ((j < 190 || j > 233) && numberOfDigis[j] > 0)
888  meNDigisCHANEndcapDps_.at(0)->Fill((float)numberOfDigis[j]);
889  }
890  if (meNDigisCHANEndcapDps_.at(1)) {
891  for (int j = 190; j != 302; j++)
892  if ((j < 212 || j > 267) && numberOfDigis[j] > 0)
893  meNDigisCHANEndcapDps_.at(1)->Fill((float)numberOfDigis[j]);
894  }
895  if (meNDigisCHANEndcapDps_.at(2)) {
896  for (int j = 212; j != 336; j++)
897  if ((j < 234 || j > 301) && numberOfDigis[j] > 0)
898  meNDigisCHANEndcapDps_.at(2)->Fill((float)numberOfDigis[j]);
899  }
900  }
901 
903  for (int i = 0; i != 32; i++)
904  if (nDigisPerChan[i * 36 + 0] > 0)
905  meNDigisCHANBarrelCh1_->Fill((float)nDigisPerChan[i * 36 + 0]);
906  }
908  for (int i = 0; i != 32; i++)
909  if (nDigisPerChan[i * 36 + 1] > 0)
910  meNDigisCHANBarrelCh2_->Fill((float)nDigisPerChan[i * 36 + 1]);
911  }
913  for (int i = 0; i != 32; i++)
914  if (nDigisPerChan[i * 36 + 2] > 0)
915  meNDigisCHANBarrelCh3_->Fill((float)nDigisPerChan[i * 36 + 2]);
916  }
918  for (int i = 0; i != 32; i++)
919  if (nDigisPerChan[i * 36 + 3] > 0)
920  meNDigisCHANBarrelCh4_->Fill((float)nDigisPerChan[i * 36 + 3]);
921  }
923  for (int i = 0; i != 32; i++)
924  if (nDigisPerChan[i * 36 + 4] > 0)
925  meNDigisCHANBarrelCh5_->Fill((float)nDigisPerChan[i * 36 + 4]);
926  }
928  for (int i = 0; i != 32; i++)
929  if (nDigisPerChan[i * 36 + 5] > 0)
930  meNDigisCHANBarrelCh6_->Fill((float)nDigisPerChan[i * 36 + 5]);
931  }
933  for (int i = 0; i != 32; i++)
934  if (nDigisPerChan[i * 36 + 6] > 0)
935  meNDigisCHANBarrelCh7_->Fill((float)nDigisPerChan[i * 36 + 6]);
936  }
938  for (int i = 0; i != 32; i++)
939  if (nDigisPerChan[i * 36 + 7] > 0)
940  meNDigisCHANBarrelCh8_->Fill((float)nDigisPerChan[i * 36 + 7]);
941  }
943  for (int i = 0; i != 32; i++)
944  if (nDigisPerChan[i * 36 + 8] > 0)
945  meNDigisCHANBarrelCh9_->Fill((float)nDigisPerChan[i * 36 + 8]);
946  }
948  for (int i = 0; i != 32; i++)
949  if (nDigisPerChan[i * 36 + 9] > 0)
950  meNDigisCHANBarrelCh10_->Fill((float)nDigisPerChan[i * 36 + 9]);
951  }
953  for (int i = 0; i != 32; i++)
954  if (nDigisPerChan[i * 36 + 10] > 0)
955  meNDigisCHANBarrelCh11_->Fill((float)nDigisPerChan[i * 36 + 10]);
956  }
958  for (int i = 0; i != 32; i++)
959  if (nDigisPerChan[i * 36 + 11] > 0)
960  meNDigisCHANBarrelCh12_->Fill((float)nDigisPerChan[i * 36 + 11]);
961  }
963  for (int i = 0; i != 32; i++)
964  if (nDigisPerChan[i * 36 + 12] > 0)
965  meNDigisCHANBarrelCh13_->Fill((float)nDigisPerChan[i * 36 + 12]);
966  }
968  for (int i = 0; i != 32; i++)
969  if (nDigisPerChan[i * 36 + 13] > 0)
970  meNDigisCHANBarrelCh14_->Fill((float)nDigisPerChan[i * 36 + 13]);
971  }
973  for (int i = 0; i != 32; i++)
974  if (nDigisPerChan[i * 36 + 14] > 0)
975  meNDigisCHANBarrelCh15_->Fill((float)nDigisPerChan[i * 36 + 14]);
976  }
978  for (int i = 0; i != 32; i++)
979  if (nDigisPerChan[i * 36 + 15] > 0)
980  meNDigisCHANBarrelCh16_->Fill((float)nDigisPerChan[i * 36 + 15]);
981  }
983  for (int i = 0; i != 32; i++)
984  if (nDigisPerChan[i * 36 + 16] > 0)
985  meNDigisCHANBarrelCh17_->Fill((float)nDigisPerChan[i * 36 + 16]);
986  }
988  for (int i = 0; i != 32; i++)
989  if (nDigisPerChan[i * 36 + 17] > 0)
990  meNDigisCHANBarrelCh18_->Fill((float)nDigisPerChan[i * 36 + 17]);
991  }
993  for (int i = 0; i != 32; i++)
994  if (nDigisPerChan[i * 36 + 18] > 0)
995  meNDigisCHANBarrelCh19_->Fill((float)nDigisPerChan[i * 36 + 18]);
996  }
998  for (int i = 0; i != 32; i++)
999  if (nDigisPerChan[i * 36 + 19] > 0)
1000  meNDigisCHANBarrelCh20_->Fill((float)nDigisPerChan[i * 36 + 19]);
1001  }
1003  for (int i = 0; i != 32; i++)
1004  if (nDigisPerChan[i * 36 + 20] > 0)
1005  meNDigisCHANBarrelCh21_->Fill((float)nDigisPerChan[i * 36 + 20]);
1006  }
1008  for (int i = 0; i != 32; i++)
1009  if (nDigisPerChan[i * 36 + 21] > 0)
1010  meNDigisCHANBarrelCh22_->Fill((float)nDigisPerChan[i * 36 + 21]);
1011  }
1013  for (int i = 0; i != 32; i++)
1014  if (nDigisPerChan[i * 36 + 22] > 0)
1015  meNDigisCHANBarrelCh23_->Fill((float)nDigisPerChan[i * 36 + 22]);
1016  }
1018  for (int i = 0; i != 32; i++)
1019  if (nDigisPerChan[i * 36 + 23] > 0)
1020  meNDigisCHANBarrelCh24_->Fill((float)nDigisPerChan[i * 36 + 23]);
1021  }
1023  for (int i = 0; i != 32; i++)
1024  if (nDigisPerChan[i * 36 + 24] > 0)
1025  meNDigisCHANBarrelCh25_->Fill((float)nDigisPerChan[i * 36 + 24]);
1026  }
1028  for (int i = 0; i != 32; i++)
1029  if (nDigisPerChan[i * 36 + 25] > 0)
1030  meNDigisCHANBarrelCh26_->Fill((float)nDigisPerChan[i * 36 + 25]);
1031  }
1033  for (int i = 0; i != 32; i++)
1034  if (nDigisPerChan[i * 36 + 26] > 0)
1035  meNDigisCHANBarrelCh27_->Fill((float)nDigisPerChan[i * 36 + 26]);
1036  }
1038  for (int i = 0; i != 32; i++)
1039  if (nDigisPerChan[i * 36 + 27] > 0)
1040  meNDigisCHANBarrelCh28_->Fill((float)nDigisPerChan[i * 36 + 27]);
1041  }
1043  for (int i = 0; i != 32; i++)
1044  if (nDigisPerChan[i * 36 + 28] > 0)
1045  meNDigisCHANBarrelCh29_->Fill((float)nDigisPerChan[i * 36 + 28]);
1046  }
1048  for (int i = 0; i != 32; i++)
1049  if (nDigisPerChan[i * 36 + 29] > 0)
1050  meNDigisCHANBarrelCh30_->Fill((float)nDigisPerChan[i * 36 + 29]);
1051  }
1053  for (int i = 0; i != 32; i++)
1054  if (nDigisPerChan[i * 36 + 30] > 0)
1055  meNDigisCHANBarrelCh31_->Fill((float)nDigisPerChan[i * 36 + 30]);
1056  }
1058  for (int i = 0; i != 32; i++)
1059  if (nDigisPerChan[i * 36 + 31] > 0)
1060  meNDigisCHANBarrelCh32_->Fill((float)nDigisPerChan[i * 36 + 31]);
1061  }
1063  for (int i = 0; i != 32; i++)
1064  if (nDigisPerChan[i * 36 + 32] > 0)
1065  meNDigisCHANBarrelCh33_->Fill((float)nDigisPerChan[i * 36 + 32]);
1066  }
1068  for (int i = 0; i != 32; i++)
1069  if (nDigisPerChan[i * 36 + 33] > 0)
1070  meNDigisCHANBarrelCh34_->Fill((float)nDigisPerChan[i * 36 + 33]);
1071  }
1073  for (int i = 0; i != 32; i++)
1074  if (nDigisPerChan[i * 36 + 34] > 0)
1075  meNDigisCHANBarrelCh35_->Fill((float)nDigisPerChan[i * 36 + 34]);
1076  }
1078  for (int i = 0; i != 32; i++)
1079  if (nDigisPerChan[i * 36 + 35] > 0)
1080  meNDigisCHANBarrelCh36_->Fill((float)nDigisPerChan[i * 36 + 35]);
1081  }
1082 
1083  // Rate of events with >N digis:
1084  if (nEventDigis > bigEventSize) {
1085  if (bigEventRate)
1086  bigEventRate->Fill(lumiSection, 1. / 23.);
1087  }
1088 
1089  // Rate of pixel events and total number of pixel events per BX:
1090  if (nActiveModules >= 4) {
1091  if (pixEvtsPerBX)
1092  pixEvtsPerBX->Fill(float(bx));
1093  if (pixEventRate)
1094  pixEventRate->Fill(lumiSection, 1. / 23.);
1095  }
1096 
1097  if (slowDown)
1098  usleep(10000);
1099 }
1100 
1101 //------------------------------------------------------------------
1102 // Build data structure
1103 //------------------------------------------------------------------
1106  const TrackerTopology* pTT = tTopoHandle.product();
1107 
1108  LogInfo("PixelDQM") << " SiPixelDigiSource::buildStructure";
1110 
1111  LogVerbatim("PixelDQM") << " *** Geometry node for TrackerGeom is " << &(*pDD) << std::endl;
1112  LogVerbatim("PixelDQM") << " *** I have " << pDD->dets().size() << " detectors" << std::endl;
1113  LogVerbatim("PixelDQM") << " *** I have " << pDD->detTypes().size() << " types" << std::endl;
1114 
1115  for (TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); it++) {
1116  if (dynamic_cast<PixelGeomDetUnit const*>((*it)) != nullptr) {
1117  DetId detId = (*it)->geographicalId();
1118  const GeomDetUnit* geoUnit = pDD->idToDetUnit(detId);
1119  const PixelGeomDetUnit* pixDet = dynamic_cast<const PixelGeomDetUnit*>(geoUnit);
1120  int nrows = (pixDet->specificTopology()).nrows();
1121  int ncols = (pixDet->specificTopology()).ncolumns();
1122 
1123  if (detId.subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel)) {
1124  if (isPIB)
1125  continue;
1126  LogDebug("PixelDQM") << " ---> Adding Barrel Module " << detId.rawId() << endl;
1127  uint32_t id = detId();
1128  int layer = PixelBarrelName(DetId(id), pTT, isUpgrade).layerName();
1129  if (layer > noOfLayers)
1130  noOfLayers = layer;
1131  SiPixelDigiModule* theModule = new SiPixelDigiModule(id, ncols, nrows);
1132  thePixelStructure.insert(pair<uint32_t, SiPixelDigiModule*>(id, theModule));
1133 
1134  } else if ((detId.subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap)) && (!isUpgrade)) {
1135  LogDebug("PixelDQM") << " ---> Adding Endcap Module " << detId.rawId() << endl;
1136  uint32_t id = detId();
1137  SiPixelDigiModule* theModule = new SiPixelDigiModule(id, ncols, nrows);
1138 
1140  int disk = PixelEndcapName(DetId(id), pTT, isUpgrade).diskName();
1141  if (disk > noOfDisks)
1142  noOfDisks = disk;
1143  int blade = PixelEndcapName(DetId(id), pTT, isUpgrade).bladeName();
1144  int panel = PixelEndcapName(DetId(id), pTT, isUpgrade).pannelName();
1145  int module = PixelEndcapName(DetId(id), pTT, isUpgrade).plaquetteName();
1146 
1147  char sside[80];
1148  sprintf(sside, "HalfCylinder_%i", side);
1149  char sdisk[80];
1150  sprintf(sdisk, "Disk_%i", disk);
1151  char sblade[80];
1152  sprintf(sblade, "Blade_%02i", blade);
1153  char spanel[80];
1154  sprintf(spanel, "Panel_%i", panel);
1155  char smodule[80];
1156  sprintf(smodule, "Module_%i", module);
1157  std::string side_str = sside;
1158  std::string disk_str = sdisk;
1159  bool mask = side_str.find("HalfCylinder_1") != string::npos ||
1160  side_str.find("HalfCylinder_2") != string::npos ||
1161  side_str.find("HalfCylinder_4") != string::npos || disk_str.find("Disk_2") != string::npos;
1162  // clutch to take all of FPIX, but no BPIX:
1163  mask = false;
1164  if (isPIB && mask)
1165  continue;
1166 
1167  thePixelStructure.insert(pair<uint32_t, SiPixelDigiModule*>(id, theModule));
1168  } else if ((detId.subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap)) && (isUpgrade)) {
1169  LogDebug("PixelDQM") << " ---> Adding Endcap Module " << detId.rawId() << endl;
1170  uint32_t id = detId();
1171  SiPixelDigiModule* theModule = new SiPixelDigiModule(id, ncols, nrows);
1172 
1174  int disk = PixelEndcapName(DetId(id), pTT, isUpgrade).diskName();
1175  if (disk > noOfDisks)
1176  noOfDisks = disk;
1177  int blade = PixelEndcapName(DetId(id), pTT, isUpgrade).bladeName();
1178  int panel = PixelEndcapName(DetId(id), pTT, isUpgrade).pannelName();
1179  int module = PixelEndcapName(DetId(id), pTT, isUpgrade).plaquetteName();
1180 
1181  char sside[80];
1182  sprintf(sside, "HalfCylinder_%i", side);
1183  char sdisk[80];
1184  sprintf(sdisk, "Disk_%i", disk);
1185  char sblade[80];
1186  sprintf(sblade, "Blade_%02i", blade);
1187  char spanel[80];
1188  sprintf(spanel, "Panel_%i", panel);
1189  char smodule[80];
1190  sprintf(smodule, "Module_%i", module);
1191  std::string side_str = sside;
1192  std::string disk_str = sdisk;
1193  bool mask = side_str.find("HalfCylinder_1") != string::npos ||
1194  side_str.find("HalfCylinder_2") != string::npos ||
1195  side_str.find("HalfCylinder_4") != string::npos || disk_str.find("Disk_2") != string::npos;
1196  // clutch to take all of FPIX, but no BPIX:
1197  mask = false;
1198  if (isPIB && mask)
1199  continue;
1200 
1201  thePixelStructure.insert(pair<uint32_t, SiPixelDigiModule*>(id, theModule));
1202  } //end_elseif(isUpgrade)
1203  }
1204  }
1205  LogInfo("PixelDQM") << " *** Pixel Structure Size " << thePixelStructure.size() << endl;
1206 }
1207 //------------------------------------------------------------------
1208 // Book MEs
1209 //------------------------------------------------------------------
1211  // Get DQM interface
1213  char title[80];
1214  sprintf(title, "Rate of events with >%i digis;LumiSection;Rate [Hz]", bigEventSize);
1215  bigEventRate = iBooker.book1D("bigEventRate", title, 5000, 0., 5000.);
1216  char title1[80];
1217  sprintf(title1, "Pixel events vs. BX;BX;# events");
1218  pixEvtsPerBX = iBooker.book1D("pixEvtsPerBX", title1, 3565, 0., 3565.);
1219  char title2[80];
1220  sprintf(title2, "Rate of Pixel events;LumiSection;Rate [Hz]");
1221  pixEventRate = iBooker.book1D("pixEventRate", title2, 5000, 0., 5000.);
1222  char title3[80];
1223  sprintf(title3, "Number of Zero-Occupancy Barrel ROCs;LumiSection;N_{ZERO-OCCUPANCY} Barrel ROCs");
1224  noOccROCsBarrel = iBooker.book1D("noOccROCsBarrel", title3, 500, 0., 5000.);
1225  char title4[80];
1226  sprintf(title4, "Number of Low-Efficiency Barrel ROCs;LumiSection;N_{LO EFF} Barrel ROCs");
1227  loOccROCsBarrel = iBooker.book1D("loOccROCsBarrel", title4, 500, 0., 5000.);
1228  char title5[80];
1229  sprintf(title5, "Number of Zero-Occupancy Endcap ROCs;LumiSection;N_{ZERO-OCCUPANCY} Endcap ROCs");
1230  noOccROCsEndcap = iBooker.book1D("noOccROCsEndcap", title5, 500, 0., 5000.);
1231  char title6[80];
1232  sprintf(title6, "Number of Low-Efficiency Endcap ROCs;LumiSection;N_{LO EFF} Endcap ROCs");
1233  loOccROCsEndcap = iBooker.book1D("loOccROCsEndcap", title6, 500, 0., 5000.);
1234  char title7[80];
1235  sprintf(title7, "Average digi occupancy per FED;FED;NDigis/<NDigis>");
1236  char title8[80];
1237  sprintf(title8, "FED Digi Occupancy (NDigis/<NDigis>) vs LumiSections;Lumi Section;FED");
1238  if (modOn) {
1239  {
1240  auto scope = DQMStore::IBooker::UseLumiScope(iBooker);
1241  averageDigiOccupancy = iBooker.bookProfile("averageDigiOccupancy", title7, 40, -0.5, 39.5, 0., 3.);
1242  }
1243  avgfedDigiOccvsLumi = iBooker.book2D("avgfedDigiOccvsLumi", title8, 640, 0., 3200., 40, -0.5, 39.5);
1244  avgBarrelFedOccvsLumi = iBooker.book1D(
1245  "avgBarrelFedOccvsLumi",
1246  "Average Barrel FED digi occupancy (<NDigis>) vs LumiSections;Lumi Section;Average digi occupancy per FED",
1247  320,
1248  0.,
1249  3200.);
1250  avgEndcapFedOccvsLumi = iBooker.book1D(
1251  "avgEndcapFedOccvsLumi",
1252  "Average Endcap FED digi occupancy (<NDigis>) vs LumiSections;Lumi Section;Average digi occupancy per FED",
1253  320,
1254  0.,
1255  3200.);
1256  }
1257  if (!modOn) {
1258  averageDigiOccupancy = iBooker.book1D(
1259  "averageDigiOccupancy", title7, 40, -0.5, 39.5); //Book as TH1 for offline to ensure thread-safe behaviour
1260  avgfedDigiOccvsLumi = iBooker.book2D("avgfedDigiOccvsLumi", title8, 3200, 0., 3200., 40, -0.5, 39.5);
1261  }
1262  std::map<uint32_t, SiPixelDigiModule*>::iterator struct_iter;
1263 
1264  SiPixelFolderOrganizer theSiPixelFolder(false);
1265 
1267  const TrackerTopology* pTT = tTopoHandle.product();
1268 
1269  for (struct_iter = thePixelStructure.begin(); struct_iter != thePixelStructure.end(); struct_iter++) {
1271  if (modOn) {
1272  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 0, isUpgrade)) {
1273  (*struct_iter).second->book(conf_, pTT, iBooker, 0, twoDimOn, hiRes, reducedSet, twoDimModOn, isUpgrade);
1274  } else {
1275  if (!isPIB)
1276  throw cms::Exception("LogicError") << "[SiPixelDigiSource::bookMEs] Creation of DQM folder failed";
1277  }
1278  }
1279  if (ladOn) {
1280  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 1, isUpgrade)) {
1281  (*struct_iter).second->book(conf_, pTT, iBooker, 1, twoDimOn, hiRes, reducedSet, isUpgrade);
1282  } else {
1283  LogDebug("PixelDQM") << "PROBLEM WITH LADDER-FOLDER\n";
1284  }
1285  }
1286  if (layOn || twoDimOnlyLayDisk) {
1287  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 2, isUpgrade)) {
1288  (*struct_iter).second->book(conf_, pTT, iBooker, 2, twoDimOn, hiRes, reducedSet, twoDimOnlyLayDisk, isUpgrade);
1289  } else {
1290  LogDebug("PixelDQM") << "PROBLEM WITH LAYER-FOLDER\n";
1291  }
1292  }
1293 
1294  if (phiOn) {
1295  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 3, isUpgrade)) {
1296  (*struct_iter).second->book(conf_, pTT, iBooker, 3, twoDimOn, hiRes, reducedSet, isUpgrade);
1297  } else {
1298  LogDebug("PixelDQM") << "PROBLEM WITH PHI-FOLDER\n";
1299  }
1300  }
1301  if (bladeOn) {
1302  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 4, isUpgrade)) {
1303  (*struct_iter).second->book(conf_, pTT, iBooker, 4, twoDimOn, hiRes, reducedSet, isUpgrade);
1304  } else {
1305  LogDebug("PixelDQM") << "PROBLEM WITH BLADE-FOLDER\n";
1306  }
1307  }
1308  if (diskOn || twoDimOnlyLayDisk) {
1309  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 5, isUpgrade)) {
1310  (*struct_iter).second->book(conf_, pTT, iBooker, 5, twoDimOn, hiRes, reducedSet, twoDimOnlyLayDisk, isUpgrade);
1311  } else {
1312  LogDebug("PixelDQM") << "PROBLEM WITH DISK-FOLDER\n";
1313  }
1314  }
1315  if (ringOn) {
1316  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 6, isUpgrade)) {
1317  (*struct_iter).second->book(conf_, pTT, iBooker, 6, twoDimOn, hiRes, reducedSet, isUpgrade);
1318  } else {
1319  LogDebug("PixelDQM") << "PROBLEM WITH RING-FOLDER\n";
1320  }
1321  }
1322  }
1323  iBooker.cd(topFolderName_ + "/Barrel");
1324  meNDigisCOMBBarrel_ = iBooker.book1D("ALLMODS_ndigisCOMB_Barrel", "Number of Digis", 200, 0., 400.);
1325  meNDigisCOMBBarrel_->setAxisTitle("Number of digis per module per event", 1);
1326  meNDigisCHANBarrel_ = iBooker.book1D("ALLMODS_ndigisCHAN_Barrel", "Number of Digis", 100, 0., 1000.);
1327  meNDigisCHANBarrel_->setAxisTitle("Number of digis per FED channel per event", 1);
1328  std::stringstream ss1, ss2;
1329  for (int i = 1; i <= noOfLayers; i++) {
1330  ss1.str(std::string());
1331  ss1 << "ALLMODS_ndigisCHAN_BarrelL" << i;
1332  ss2.str(std::string());
1333  ss2 << "Number of Digis L" << i;
1334  meNDigisCHANBarrelLs_.push_back(iBooker.book1D(ss1.str(), ss2.str(), 100, 0., 1000.));
1335  meNDigisCHANBarrelLs_.at(i - 1)->setAxisTitle("Number of digis per FED channel per event", 1);
1336  }
1337  meNDigisCHANBarrelCh1_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh1", "Number of Digis Ch1", 100, 0., 1000.);
1338  meNDigisCHANBarrelCh1_->setAxisTitle("Number of digis per FED channel per event", 1);
1339  meNDigisCHANBarrelCh2_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh2", "Number of Digis Ch2", 100, 0., 1000.);
1340  meNDigisCHANBarrelCh2_->setAxisTitle("Number of digis per FED channel per event", 1);
1341  meNDigisCHANBarrelCh3_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh3", "Number of Digis Ch3", 100, 0., 1000.);
1342  meNDigisCHANBarrelCh3_->setAxisTitle("Number of digis per FED channel per event", 1);
1343  meNDigisCHANBarrelCh4_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh4", "Number of Digis Ch4", 100, 0., 1000.);
1344  meNDigisCHANBarrelCh4_->setAxisTitle("Number of digis per FED channel per event", 1);
1345  meNDigisCHANBarrelCh5_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh5", "Number of Digis Ch5", 100, 0., 1000.);
1346  meNDigisCHANBarrelCh5_->setAxisTitle("Number of digis per FED channel per event", 1);
1347  meNDigisCHANBarrelCh6_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh6", "Number of Digis Ch6", 100, 0., 1000.);
1348  meNDigisCHANBarrelCh6_->setAxisTitle("Number of digis per FED channel per event", 1);
1349  meNDigisCHANBarrelCh7_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh7", "Number of Digis Ch7", 100, 0., 1000.);
1350  meNDigisCHANBarrelCh7_->setAxisTitle("Number of digis per FED channel per event", 1);
1351  meNDigisCHANBarrelCh8_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh8", "Number of Digis Ch8", 100, 0., 1000.);
1352  meNDigisCHANBarrelCh8_->setAxisTitle("Number of digis per FED channel per event", 1);
1353  meNDigisCHANBarrelCh9_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh9", "Number of Digis Ch9", 100, 0., 1000.);
1354  meNDigisCHANBarrelCh9_->setAxisTitle("Number of digis per FED channel per event", 1);
1355  meNDigisCHANBarrelCh10_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh10", "Number of Digis Ch10", 100, 0., 1000.);
1356  meNDigisCHANBarrelCh10_->setAxisTitle("Number of digis per FED channel per event", 1);
1357  meNDigisCHANBarrelCh11_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh11", "Number of Digis Ch11", 100, 0., 1000.);
1358  meNDigisCHANBarrelCh11_->setAxisTitle("Number of digis per FED channel per event", 1);
1359  meNDigisCHANBarrelCh12_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh12", "Number of Digis Ch12", 100, 0., 1000.);
1360  meNDigisCHANBarrelCh12_->setAxisTitle("Number of digis per FED channel per event", 1);
1361  meNDigisCHANBarrelCh13_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh13", "Number of Digis Ch13", 100, 0., 1000.);
1362  meNDigisCHANBarrelCh13_->setAxisTitle("Number of digis per FED channel per event", 1);
1363  meNDigisCHANBarrelCh14_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh14", "Number of Digis Ch14", 100, 0., 1000.);
1364  meNDigisCHANBarrelCh14_->setAxisTitle("Number of digis per FED channel per event", 1);
1365  meNDigisCHANBarrelCh15_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh15", "Number of Digis Ch15", 100, 0., 1000.);
1366  meNDigisCHANBarrelCh15_->setAxisTitle("Number of digis per FED channel per event", 1);
1367  meNDigisCHANBarrelCh16_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh16", "Number of Digis Ch16", 100, 0., 1000.);
1368  meNDigisCHANBarrelCh16_->setAxisTitle("Number of digis per FED channel per event", 1);
1369  meNDigisCHANBarrelCh17_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh17", "Number of Digis Ch17", 100, 0., 1000.);
1370  meNDigisCHANBarrelCh17_->setAxisTitle("Number of digis per FED channel per event", 1);
1371  meNDigisCHANBarrelCh18_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh18", "Number of Digis Ch18", 100, 0., 1000.);
1372  meNDigisCHANBarrelCh18_->setAxisTitle("Number of digis per FED channel per event", 1);
1373  meNDigisCHANBarrelCh19_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh19", "Number of Digis Ch19", 100, 0., 1000.);
1374  meNDigisCHANBarrelCh19_->setAxisTitle("Number of digis per FED channel per event", 1);
1375  meNDigisCHANBarrelCh20_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh20", "Number of Digis Ch20", 100, 0., 1000.);
1376  meNDigisCHANBarrelCh20_->setAxisTitle("Number of digis per FED channel per event", 1);
1377  meNDigisCHANBarrelCh21_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh21", "Number of Digis Ch21", 100, 0., 1000.);
1378  meNDigisCHANBarrelCh21_->setAxisTitle("Number of digis per FED channel per event", 1);
1379  meNDigisCHANBarrelCh22_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh22", "Number of Digis Ch22", 100, 0., 1000.);
1380  meNDigisCHANBarrelCh22_->setAxisTitle("Number of digis per FED channel per event", 1);
1381  meNDigisCHANBarrelCh23_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh23", "Number of Digis Ch23", 100, 0., 1000.);
1382  meNDigisCHANBarrelCh23_->setAxisTitle("Number of digis per FED channel per event", 1);
1383  meNDigisCHANBarrelCh24_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh24", "Number of Digis Ch24", 100, 0., 1000.);
1384  meNDigisCHANBarrelCh24_->setAxisTitle("Number of digis per FED channel per event", 1);
1385  meNDigisCHANBarrelCh25_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh25", "Number of Digis Ch25", 100, 0., 1000.);
1386  meNDigisCHANBarrelCh25_->setAxisTitle("Number of digis per FED channel per event", 1);
1387  meNDigisCHANBarrelCh26_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh26", "Number of Digis Ch26", 100, 0., 1000.);
1388  meNDigisCHANBarrelCh26_->setAxisTitle("Number of digis per FED channel per event", 1);
1389  meNDigisCHANBarrelCh27_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh27", "Number of Digis Ch27", 100, 0., 1000.);
1390  meNDigisCHANBarrelCh27_->setAxisTitle("Number of digis per FED channel per event", 1);
1391  meNDigisCHANBarrelCh28_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh28", "Number of Digis Ch28", 100, 0., 1000.);
1392  meNDigisCHANBarrelCh28_->setAxisTitle("Number of digis per FED channel per event", 1);
1393  meNDigisCHANBarrelCh29_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh29", "Number of Digis Ch29", 100, 0., 1000.);
1394  meNDigisCHANBarrelCh29_->setAxisTitle("Number of digis per FED channel per event", 1);
1395  meNDigisCHANBarrelCh30_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh30", "Number of Digis Ch30", 100, 0., 1000.);
1396  meNDigisCHANBarrelCh30_->setAxisTitle("Number of digis per FED channel per event", 1);
1397  meNDigisCHANBarrelCh31_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh31", "Number of Digis Ch31", 100, 0., 1000.);
1398  meNDigisCHANBarrelCh31_->setAxisTitle("Number of digis per FED channel per event", 1);
1399  meNDigisCHANBarrelCh32_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh32", "Number of Digis Ch32", 100, 0., 1000.);
1400  meNDigisCHANBarrelCh32_->setAxisTitle("Number of digis per FED channel per event", 1);
1401  meNDigisCHANBarrelCh33_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh33", "Number of Digis Ch33", 100, 0., 1000.);
1402  meNDigisCHANBarrelCh33_->setAxisTitle("Number of digis per FED channel per event", 1);
1403  meNDigisCHANBarrelCh34_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh34", "Number of Digis Ch34", 100, 0., 1000.);
1404  meNDigisCHANBarrelCh34_->setAxisTitle("Number of digis per FED channel per event", 1);
1405  meNDigisCHANBarrelCh35_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh35", "Number of Digis Ch35", 100, 0., 1000.);
1406  meNDigisCHANBarrelCh35_->setAxisTitle("Number of digis per FED channel per event", 1);
1407  meNDigisCHANBarrelCh36_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh36", "Number of Digis Ch36", 100, 0., 1000.);
1408  meNDigisCHANBarrelCh36_->setAxisTitle("Number of digis per FED channel per event", 1);
1409  iBooker.cd(topFolderName_ + "/Endcap");
1410  meNDigisCOMBEndcap_ = iBooker.book1D("ALLMODS_ndigisCOMB_Endcap", "Number of Digis", 200, 0., 400.);
1411  meNDigisCOMBEndcap_->setAxisTitle("Number of digis per module per event", 1);
1412  meNDigisCHANEndcap_ = iBooker.book1D("ALLMODS_ndigisCHAN_Endcap", "Number of Digis", 100, 0., 1000.);
1413  meNDigisCHANEndcap_->setAxisTitle("Number of digis per FED channel per event", 1);
1414  for (int i = 1; i <= noOfDisks; i++) {
1415  ss1.str(std::string());
1416  ss1 << "ALLMODS_ndigisCHAN_EndcapDp" << i;
1417  ss2.str(std::string());
1418  ss2 << "Number of Digis Disk p" << i;
1419  meNDigisCHANEndcapDps_.push_back(iBooker.book1D(ss1.str(), ss2.str(), 100, 0., 1000.));
1420  meNDigisCHANEndcapDps_.at(i - 1)->setAxisTitle("Number of digis per FED channel per event", 1);
1421  }
1422  for (int i = 1; i <= noOfDisks; i++) {
1423  ss1.str(std::string());
1424  ss1 << "ALLMODS_ndigisCHAN_EndcapDm" << i;
1425  ss2.str(std::string());
1426  ss2 << "Number of Digis Disk m" << i;
1427  meNDigisCHANEndcapDms_.push_back(iBooker.book1D(ss1.str(), ss2.str(), 100, 0., 1000.));
1428  meNDigisCHANEndcapDms_.at(i - 1)->setAxisTitle("Number of digis per FED channel per event", 1);
1429  }
1430  iBooker.cd(topFolderName_);
1431 }
1432 
1434  std::pair<int, int> tempPair = mod->getZeroLoEffROCs();
1435 
1436  if (barrel) {
1437  NzeroROCs[0] += tempPair.first;
1438  NloEffROCs[0] += tempPair.second;
1439  } else {
1440  NzeroROCs[1] += tempPair.first;
1441  NloEffROCs[1] += tempPair.second;
1442  }
1443 
1444  DoZeroRocs = false;
1445  mod->resetRocMap(); //once got the number of ZeroOccupancy Rocs, reset the ROC map of the corresponding Pixel substructure
1446 }
1447 
1448 //define this as a plug-in
SiPixelDigiSource::nDP1P1M3
int nDP1P1M3
Definition: SiPixelDigiSource.h:73
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
SiPixelDigiSource::meNDigisCHANBarrelCh4_
MonitorElement * meNDigisCHANBarrelCh4_
Definition: SiPixelDigiSource.h:140
SiPixelDigiSource::nL3M2
int nL3M2
Definition: SiPixelDigiSource.h:112
PixelEndcapName::mO
Definition: PixelEndcapName.h:18
SiPixelDigiSource::twoDimOn
bool twoDimOn
Definition: SiPixelDigiSource.h:60
SiPixelDigiSource::trackerTopoToken_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoToken_
Definition: SiPixelDigiSource.h:229
hgcalPlots.ncols
ncols
Definition: hgcalPlots.py:105
SiPixelDigiSource::nDP1P1M2
int nDP1P1M2
Definition: SiPixelDigiSource.h:72
SiPixelDigiSource::DoZeroRocsBPI3
bool DoZeroRocsBPI3
Definition: SiPixelDigiSource.h:197
runGCPTkAlMap.title
string title
Definition: runGCPTkAlMap.py:94
electrons_cff.bool
bool
Definition: electrons_cff.py:366
SiPixelDigiSource::noOfLayers
int noOfLayers
Definition: SiPixelDigiSource.h:232
mps_fire.i
i
Definition: mps_fire.py:428
PixelBarrelName::pO
Definition: PixelBarrelName.h:18
PixelSubdetector.h
input
static const std::string input
Definition: EdmProvDump.cc:48
PixelBarrelName.h
Reference_intrackfit_cff.barrel
list barrel
Definition: Reference_intrackfit_cff.py:37
MessageLogger.h
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
SiPixelDigiSource::nDP1P2M2
int nDP1P2M2
Definition: SiPixelDigiSource.h:76
SiPixelDigiSource::noOccROCsEndcap
MonitorElement * noOccROCsEndcap
Definition: SiPixelDigiSource.h:127
SiPixelDigiSource::nDM1P2M1
int nDM1P2M1
Definition: SiPixelDigiSource.h:91
funct::false
false
Definition: Factorize.h:29
PixelSubdetector::PixelEndcap
Definition: PixelSubdetector.h:11
GeomDet
Definition: GeomDet.h:27
PixelBarrelName::pI
Definition: PixelBarrelName.h:18
SiPixelDigiSource::nDigisPerFed
int nDigisPerFed[40]
Definition: SiPixelDigiSource.h:220
PixelSubdetector::PixelBarrel
Definition: PixelSubdetector.h:11
SiPixelDigiSource::meNDigisCHANBarrelCh27_
MonitorElement * meNDigisCHANBarrelCh27_
Definition: SiPixelDigiSource.h:163
SiPixelDigiSource::nBigEvents
int nBigEvents
Definition: SiPixelDigiSource.h:119
SiPixelDigiSource::globalEndLuminosityBlock
void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
Definition: SiPixelDigiSource.cc:111
SiPixelDigiSource::nL3M3
int nL3M3
Definition: SiPixelDigiSource.h:113
SiPixelDigiSource::bookMEs
virtual void bookMEs(DQMStore::IBooker &, const edm::EventSetup &iSetup)
Definition: SiPixelDigiSource.cc:1210
SiPixelDigiSource::nL1M4
int nL1M4
Definition: SiPixelDigiSource.h:106
SiPixelDigiSource::pixEventRate
MonitorElement * pixEventRate
Definition: SiPixelDigiSource.h:124
SiPixelDigiSource::loOccROCsBarrel
MonitorElement * loOccROCsBarrel
Definition: SiPixelDigiSource.h:126
SiPixelFolderOrganizer::setModuleFolder
bool setModuleFolder(const uint32_t &rawdetid=0, int type=0, bool isUpgrade=false)
Set folder name for a module or plaquette.
Definition: SiPixelFolderOrganizer.cc:27
SiPixelDigiSource::nDM3P2M1
int nDM3P2M1
Definition: SiPixelDigiSource.h:102
SiPixelDigiSource::noOccROCsBarrel
MonitorElement * noOccROCsBarrel
Definition: SiPixelDigiSource.h:125
SiPixelOfflineDQM_source_cff.reducedSet
reducedSet
Definition: SiPixelOfflineDQM_source_cff.py:8
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
SiPixelDigiSource::nDM2P1M1
int nDM2P1M1
Definition: SiPixelDigiSource.h:94
SiPixelDigiSource::pixEvtsPerBX
MonitorElement * pixEvtsPerBX
Definition: SiPixelDigiSource.h:123
edm::Run
Definition: Run.h:45
SiPixelDigiSource::dqmBeginRun
void dqmBeginRun(const edm::Run &, edm::EventSetup const &) override
Definition: SiPixelDigiSource.cc:214
SiPixelDigiSource::twoDimModOn
bool twoDimModOn
Definition: SiPixelDigiSource.h:61
contentValuesFiles.fullPath
fullPath
Definition: contentValuesFiles.py:64
LuminosityBlock.h
edm::LuminosityBlock::index
LuminosityBlockIndex index() const
Definition: LuminosityBlock.cc:28
SiPixelDigiSource::~SiPixelDigiSource
~SiPixelDigiSource() override
Definition: SiPixelDigiSource.cc:98
edm
HLT enums.
Definition: AlignableModifier.h:19
SiPixelDigiSource::nDP1P1M4
int nDP1P1M4
Definition: SiPixelDigiSource.h:74
TrackerTopology
Definition: TrackerTopology.h:16
SiPixelDigiSource::nL3M1
int nL3M1
Definition: SiPixelDigiSource.h:111
SiPixelDigiSource::meNDigisCHANBarrelCh18_
MonitorElement * meNDigisCHANBarrelCh18_
Definition: SiPixelDigiSource.h:154
mod
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
SiPixelDigiSource::DoZeroRocsFPI1
bool DoZeroRocsFPI1
Definition: SiPixelDigiSource.h:205
SiPixelDigiSource::meNDigisCHANBarrelLs_
std::vector< MonitorElement * > meNDigisCHANBarrelLs_
Definition: SiPixelDigiSource.h:136
SiPixelDigiSource::bladeOn
bool bladeOn
Definition: SiPixelDigiSource.h:68
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
PixelBarrelName
Definition: PixelBarrelName.h:16
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
SiPixelDigiSource::nDM1P1M3
int nDM1P1M3
Definition: SiPixelDigiSource.h:89
SiPixelDigiSource::meNDigisCHANBarrelCh15_
MonitorElement * meNDigisCHANBarrelCh15_
Definition: SiPixelDigiSource.h:151
SiPixelDigiSource::avgBarrelFedOccvsLumi
MonitorElement * avgBarrelFedOccvsLumi
Definition: SiPixelDigiSource.h:130
SiPixelDigiSource::meNDigisCHANBarrelCh14_
MonitorElement * meNDigisCHANBarrelCh14_
Definition: SiPixelDigiSource.h:150
SiPixelDigiSource::meNDigisCHANBarrelCh32_
MonitorElement * meNDigisCHANBarrelCh32_
Definition: SiPixelDigiSource.h:168
cms::cuda::assert
assert(be >=bs)
SiPixelDigiSource::ROCMapToReset
bool ROCMapToReset
Definition: SiPixelDigiSource.h:180
SiPixelDigiSource::nDP1P2M1
int nDP1P2M1
Definition: SiPixelDigiSource.h:75
SiPixelDigiSource::meNDigisCHANBarrelCh19_
MonitorElement * meNDigisCHANBarrelCh19_
Definition: SiPixelDigiSource.h:155
DQMStore.h
TrackerGeometry::detTypes
const DetTypeContainer & detTypes() const override
Return a vector of all det types.
Definition: TrackerGeometry.h:60
PixelBarrelName::mI
Definition: PixelBarrelName.h:18
SiPixelDigiSource::meNDigisCHANEndcapDps_
std::vector< MonitorElement * > meNDigisCHANEndcapDps_
Definition: SiPixelDigiSource.h:174
PixelEndcapName::halfCylinder
HalfCylinder halfCylinder() const
Definition: PixelEndcapName.h:42
SiPixelDigiSource::isUpgrade
bool isUpgrade
Definition: SiPixelDigiSource.h:212
SiPixelDigiSource::meNDigisCOMBBarrel_
MonitorElement * meNDigisCOMBBarrel_
Definition: SiPixelDigiSource.h:133
SiPixelDigiSource::DoZeroRocsFPO1
bool DoZeroRocsFPO1
Definition: SiPixelDigiSource.h:199
fed_dqm_sourceclient-live_cfg.saveFile
saveFile
Definition: fed_dqm_sourceclient-live_cfg.py:54
SiPixelDigiSource::nDM1P1M1
int nDM1P1M1
Definition: SiPixelDigiSource.h:87
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
SiPixelDigiSource::meNDigisCHANBarrelCh13_
MonitorElement * meNDigisCHANBarrelCh13_
Definition: SiPixelDigiSource.h:149
SiPixelDigiSource::meNDigisCHANBarrelCh17_
MonitorElement * meNDigisCHANBarrelCh17_
Definition: SiPixelDigiSource.h:153
makeMuonMisalignmentScenario.endcap
endcap
Definition: makeMuonMisalignmentScenario.py:320
SiPixelDigiSource::nDM1P2M3
int nDM1P2M3
Definition: SiPixelDigiSource.h:93
SiPixelDigiSource::ladOn
bool ladOn
Definition: SiPixelDigiSource.h:66
PixelBarrelName::layerName
int layerName() const
layer id
Definition: PixelBarrelName.h:43
SiPixelDigiSource::DoZeroRocsFMO2
bool DoZeroRocsFMO2
Definition: SiPixelDigiSource.h:203
SiPixelDigiSource::meNDigisCHANBarrelCh16_
MonitorElement * meNDigisCHANBarrelCh16_
Definition: SiPixelDigiSource.h:152
PixelEndcapName::pannelName
int pannelName() const
pannel id
Definition: PixelEndcapName.h:51
edm::Handle
Definition: AssociativeIterator.h:50
PixelBarrelName::mO
Definition: PixelBarrelName.h:18
SiPixelDigiSource::DoZeroRocsBPO3
bool DoZeroRocsBPO3
Definition: SiPixelDigiSource.h:193
SiPixelOfflineDQM_source_cff.phiOn
phiOn
Definition: SiPixelOfflineDQM_source_cff.py:48
SiPixelDigiSource::DoZeroRocsBPO2
bool DoZeroRocsBPO2
Definition: SiPixelDigiSource.h:192
PixelEndcapName::bladeName
int bladeName() const
blade id
Definition: PixelEndcapName.h:48
SiPixelDigiSource::trackerTopoTokenBeginRun_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoTokenBeginRun_
Definition: SiPixelDigiSource.h:230
SiPixelDigiSource::meNDigisCHANBarrel_
MonitorElement * meNDigisCHANBarrel_
Definition: SiPixelDigiSource.h:135
SiPixelDigiSource::meNDigisCHANBarrelCh3_
MonitorElement * meNDigisCHANBarrelCh3_
Definition: SiPixelDigiSource.h:139
SiPixelDigiSource::I_detId
unsigned int I_detId[1856]
Definition: SiPixelDigiSource.h:216
SiPixelDigiSource::nDP2P1M3
int nDP2P1M3
Definition: SiPixelDigiSource.h:80
SiPixelDigiModule
Definition: SiPixelDigiModule.h:30
TrackerGeometry::idToDetUnit
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
Definition: TrackerGeometry.cc:183
SiPixelDigiSource::DoZeroRocsBMI2
bool DoZeroRocsBMI2
Definition: SiPixelDigiSource.h:188
SiPixelDigiSource::meNDigisCHANBarrelCh33_
MonitorElement * meNDigisCHANBarrelCh33_
Definition: SiPixelDigiSource.h:169
SiPixelOfflineDQM_source_cff.ladOn
ladOn
Definition: SiPixelOfflineDQM_source_cff.py:37
SiPixelDigiSource::diskOn
bool diskOn
Definition: SiPixelDigiSource.h:68
SiPixelDigiSource::meNDigisCHANBarrelCh23_
MonitorElement * meNDigisCHANBarrelCh23_
Definition: SiPixelDigiSource.h:159
SiPixelDigiSource::nL3M4
int nL3M4
Definition: SiPixelDigiSource.h:114
DetId
Definition: DetId.h:17
edm::FileInPath
Definition: FileInPath.h:64
MakerMacros.h
SiPixelDigiSource::DoZeroRocsFPO2
bool DoZeroRocsFPO2
Definition: SiPixelDigiSource.h:200
SiPixelDigiSource::hiRes
bool hiRes
Definition: SiPixelDigiSource.h:63
SiPixelDigiSource::nDigisB
int nDigisB
Definition: SiPixelDigiSource.h:225
SiPixelDigiSource::firstRun
bool firstRun
Definition: SiPixelDigiSource.h:213
SiPixelDigiSource::meNDigisCHANEndcapDms_
std::vector< MonitorElement * > meNDigisCHANEndcapDms_
Definition: SiPixelDigiSource.h:175
SiPixelDigiSource::trackerGeomTokenBeginRun_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomTokenBeginRun_
Definition: SiPixelDigiSource.h:231
PixelEndcapName
Definition: PixelEndcapName.h:16
SiPixelDigiSource::nDM1P2M2
int nDM1P2M2
Definition: SiPixelDigiSource.h:92
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
SiPixelDigiSource::nDP3P1M1
int nDP3P1M1
Definition: SiPixelDigiSource.h:85
SiPixelDigiSource::avgEndcapFedOccvsLumi
MonitorElement * avgEndcapFedOccvsLumi
Definition: SiPixelDigiSource.h:131
SiPixelOfflineDQM_source_cff.bladeOn
bladeOn
Definition: SiPixelOfflineDQM_source_cff.py:38
SiPixelDigiSource::nL2M3
int nL2M3
Definition: SiPixelDigiSource.h:109
SiPixelDigiSource::meNDigisCHANBarrelCh35_
MonitorElement * meNDigisCHANBarrelCh35_
Definition: SiPixelDigiSource.h:171
Service.h
SiPixelDigiSource::nDM1P1M2
int nDM1P1M2
Definition: SiPixelDigiSource.h:88
SiPixelDigiSource::meNDigisCHANBarrelCh26_
MonitorElement * meNDigisCHANBarrelCh26_
Definition: SiPixelDigiSource.h:162
PixelGeomDetUnit
Definition: PixelGeomDetUnit.h:15
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
SiPixelOfflineDQM_source_cff.ringOn
ringOn
Definition: SiPixelOfflineDQM_source_cff.py:51
SiPixelDigiSource::meNDigisCHANBarrelCh34_
MonitorElement * meNDigisCHANBarrelCh34_
Definition: SiPixelDigiSource.h:170
SiPixelDigiSource::meNDigisCHANBarrelCh24_
MonitorElement * meNDigisCHANBarrelCh24_
Definition: SiPixelDigiSource.h:160
edm::ESHandle< TrackerTopology >
dqm::implementation::NavigatorBase::cd
virtual void cd()
Definition: DQMStore.cc:29
dqm::implementation::IBooker::bookProfile
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:322
SiPixelDigiSource::meNDigisCHANBarrelCh28_
MonitorElement * meNDigisCHANBarrelCh28_
Definition: SiPixelDigiSource.h:164
SiPixelDigiSource::meNDigisCHANBarrelCh21_
MonitorElement * meNDigisCHANBarrelCh21_
Definition: SiPixelDigiSource.h:157
SiPixelDigiSource::nDM1P1M4
int nDM1P1M4
Definition: SiPixelDigiSource.h:90
SiPixelDigiSource::nBPIXDigis
int nBPIXDigis
Definition: SiPixelDigiSource.h:120
SiPixelOfflineDQM_source_cff.modOn
modOn
online/offline RawDataErrors
Definition: SiPixelOfflineDQM_source_cff.py:36
SiPixelDigiSource::nDP2P2M2
int nDP2P2M2
Definition: SiPixelDigiSource.h:83
SiPixelDigiSource::buildStructure
virtual void buildStructure(edm::EventSetup const &)
Definition: SiPixelDigiSource.cc:1104
SiPixelDigiSource::nDM2P2M2
int nDM2P2M2
Definition: SiPixelDigiSource.h:99
SiPixelDigiSource::nDP2P1M4
int nDP2P1M4
Definition: SiPixelDigiSource.h:81
SiPixelDigiSource::DoZeroRocsBMO3
bool DoZeroRocsBMO3
Definition: SiPixelDigiSource.h:185
SiPixelDigiSource::nDP2P2M3
int nDP2P2M3
Definition: SiPixelDigiSource.h:84
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
SiPixelDigiSource::nDigisPerDisk
int nDigisPerDisk[6]
Definition: SiPixelDigiSource.h:222
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
PixelEndcapName::mI
Definition: PixelEndcapName.h:18
SiPixelDigiSource::meNDigisCHANBarrelCh20_
MonitorElement * meNDigisCHANBarrelCh20_
Definition: SiPixelDigiSource.h:156
funct::true
true
Definition: Factorize.h:173
SiPixelDigiSource::meNDigisCHANBarrelCh5_
MonitorElement * meNDigisCHANBarrelCh5_
Definition: SiPixelDigiSource.h:141
SiPixelOfflineDQM_source_cff.twoDimOn
twoDimOn
Definition: SiPixelOfflineDQM_source_cff.py:41
SiPixelDigiSource::bigEventRate
MonitorElement * bigEventRate
Definition: SiPixelDigiSource.h:122
SiPixelDigiSource::reducedSet
bool reducedSet
Definition: SiPixelDigiSource.h:64
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
edm::ParameterSet
Definition: ParameterSet.h:47
SiPixelDigiSource::topFolderName_
std::string topFolderName_
Definition: SiPixelDigiSource.h:51
SiPixelDigiSource::meNDigisCHANBarrelCh30_
MonitorElement * meNDigisCHANBarrelCh30_
Definition: SiPixelDigiSource.h:166
SiPixelDigiSource::meNDigisCHANBarrelCh22_
MonitorElement * meNDigisCHANBarrelCh22_
Definition: SiPixelDigiSource.h:158
PixelBarrelName::shell
Shell shell() const
Definition: PixelBarrelName.h:40
SiPixelDigiSource::nDM2P1M4
int nDM2P1M4
Definition: SiPixelDigiSource.h:97
PixelGeomDetUnit::specificTopology
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
Definition: PixelGeomDetUnit.cc:17
SiPixelDigiSource::DoZeroRocsFMI2
bool DoZeroRocsFMI2
Definition: SiPixelDigiSource.h:209
recoMuon::in
Definition: RecoMuonEnumerators.h:6
SiPixelDigiSource::nL4M2
int nL4M2
Definition: SiPixelDigiSource.h:116
SiPixelDigiSource::DoZeroRocsBMI1
bool DoZeroRocsBMI1
Definition: SiPixelDigiSource.h:187
SiPixelDigiSource::twoDimOnlyLayDisk
bool twoDimOnlyLayDisk
Definition: SiPixelDigiSource.h:62
SiPixelDigiSource::I_name
std::string I_name[1856]
Definition: SiPixelDigiSource.h:215
createfilelist.int
int
Definition: createfilelist.py:10
SiPixelDigiSource::nL4M1
int nL4M1
Definition: SiPixelDigiSource.h:115
iEvent
int iEvent
Definition: GenABIO.cc:224
SiPixelDigiSource::meNDigisCOMBEndcap_
MonitorElement * meNDigisCOMBEndcap_
Definition: SiPixelDigiSource.h:134
SiPixelDigiSource::DoZeroRocsBPO1
bool DoZeroRocsBPO1
Definition: SiPixelDigiSource.h:191
edm::LuminosityBlockID::luminosityBlock
LuminosityBlockNumber_t luminosityBlock() const
Definition: LuminosityBlockID.h:42
edm::LuminosityBlockBase::id
LuminosityBlockID id() const
Definition: LuminosityBlockBase.h:44
SiPixelOfflineDQM_source_cff.hiRes
hiRes
Definition: SiPixelOfflineDQM_source_cff.py:43
SiPixelDigiSource::nDP2P1M2
int nDP2P1M2
Definition: SiPixelDigiSource.h:79
SiPixelDigiSource::SiPixelDigiSource
SiPixelDigiSource(const edm::ParameterSet &conf)
Definition: SiPixelDigiSource.cc:46
SiPixelDigiSource::slowDown
bool slowDown
Definition: SiPixelDigiSource.h:58
edm::EventSetup::getHandle
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:155
SiPixelOfflineDQM_source_cff.isPIB
isPIB
Definition: SiPixelOfflineDQM_source_cff.py:6
SiPixelDigiSource::DoZeroRocsBPI2
bool DoZeroRocsBPI2
Definition: SiPixelDigiSource.h:196
SiPixelDigiSource::nL1M2
int nL1M2
Definition: SiPixelDigiSource.h:104
dqm::implementation::IBooker::UseLumiScope
UseScope< MonitorElementData::Scope::LUMI > UseLumiScope
Definition: DQMStore.h:463
edm::EventSetup
Definition: EventSetup.h:58
PixelBarrelName::Shell
Shell
Definition: PixelBarrelName.h:18
SiPixelDigiSource::isPIB
bool isPIB
Definition: SiPixelDigiSource.h:57
SiPixelDigiSource::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: SiPixelDigiSource.cc:319
TrackerGeometry::dets
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
Definition: TrackerGeometry.h:62
SiPixelDigiSource::globalBeginLuminosityBlock
std::shared_ptr< bool > globalBeginLuminosityBlock(const edm::LuminosityBlock &lumi, const edm::EventSetup &iSetup) const override
Definition: SiPixelDigiSource.cc:104
SiPixelDigiSource::nL2M4
int nL2M4
Definition: SiPixelDigiSource.h:110
SiPixelDigiSource::nDigisPerChan
int nDigisPerChan[1152]
Definition: SiPixelDigiSource.h:221
SiPixelDigiSource::nL1M3
int nL1M3
Definition: SiPixelDigiSource.h:105
SiPixelDigiSource::CountZeroROCsInSubstructure
virtual void CountZeroROCsInSubstructure(bool, bool &, SiPixelDigiModule *)
Definition: SiPixelDigiSource.cc:1433
SiPixelDigiSource::nDM2P1M3
int nDM2P1M3
Definition: SiPixelDigiSource.h:96
SiPixelDigiSource::ringOn
bool ringOn
Definition: SiPixelDigiSource.h:68
SiPixelDigiSource::nDM2P1M2
int nDM2P1M2
Definition: SiPixelDigiSource.h:95
SiPixelOfflineDQM_source_cff.layOn
layOn
Definition: SiPixelOfflineDQM_source_cff.py:47
SiPixelDigiSource::meNDigisCHANBarrelCh36_
MonitorElement * meNDigisCHANBarrelCh36_
Definition: SiPixelDigiSource.h:172
shell
Definition: shell.py:1
alignCSCRings.r
r
Definition: alignCSCRings.py:93
SiPixelDigiSource::nDigisA
int nDigisA
Definition: SiPixelDigiSource.h:224
PixelEndcapName::pO
Definition: PixelEndcapName.h:18
SiPixelDigiSource::I_fedId
int I_fedId[1856]
Definition: SiPixelDigiSource.h:217
SiPixelDigiSource::meNDigisCHANBarrelCh12_
MonitorElement * meNDigisCHANBarrelCh12_
Definition: SiPixelDigiSource.h:148
SiPixelDigiSource::DoZeroRocsBPI1
bool DoZeroRocsBPI1
Definition: SiPixelDigiSource.h:195
SiPixelDigiSource.h
SiPixelDigiSource::meNDigisCHANBarrelCh31_
MonitorElement * meNDigisCHANBarrelCh31_
Definition: SiPixelDigiSource.h:167
SiPixelDigiSource::nDM2P2M1
int nDM2P2M1
Definition: SiPixelDigiSource.h:98
fed_dqm_sourceclient-live_cfg.slowDown
slowDown
Definition: fed_dqm_sourceclient-live_cfg.py:55
SiPixelDigiSource::NzeroROCs
int NzeroROCs[2]
Definition: SiPixelDigiSource.h:177
SiPixelDigiSource::conf_
edm::ParameterSet conf_
Definition: SiPixelDigiSource.h:54
SiPixelDigiSource::nL4M3
int nL4M3
Definition: SiPixelDigiSource.h:117
SiPixelDigiSource::nDP3P2M1
int nDP3P2M1
Definition: SiPixelDigiSource.h:86
dqm::impl::MonitorElement::setBinContent
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
Definition: MonitorElement.cc:691
SiPixelDigiSource::meNDigisCHANBarrelCh11_
MonitorElement * meNDigisCHANBarrelCh11_
Definition: SiPixelDigiSource.h:147
std
Definition: JetResolutionObject.h:76
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
PixelEndcapName::HalfCylinder
HalfCylinder
Definition: PixelEndcapName.h:18
SiPixelDigiSource::loOccROCsEndcap
MonitorElement * loOccROCsEndcap
Definition: SiPixelDigiSource.h:128
SiPixelDigiSource::phiOn
bool phiOn
Definition: SiPixelDigiSource.h:66
PixelEndcapName::diskName
int diskName() const
disk id
Definition: PixelEndcapName.h:45
SiPixelDigiSource::srcToken_
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > srcToken_
Definition: SiPixelDigiSource.h:228
DetId.h
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
SiPixelDigiSource::DoZeroRocsBMO1
bool DoZeroRocsBMO1
Definition: SiPixelDigiSource.h:183
SiPixelDigiSource::numberOfDigis
int numberOfDigis[336]
Definition: SiPixelDigiSource.h:223
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
SiPixelDigiSource::nL2M2
int nL2M2
Definition: SiPixelDigiSource.h:108
SiPixelDigiSource::meNDigisCHANBarrelCh25_
MonitorElement * meNDigisCHANBarrelCh25_
Definition: SiPixelDigiSource.h:161
Exception
Definition: hltDiff.cc:245
SiPixelDigiSource::nL4M4
int nL4M4
Definition: SiPixelDigiSource.h:118
SiPixelFolderOrganizer
Definition: SiPixelFolderOrganizer.h:26
SiPixelDigiSource::thePixelStructure
std::map< uint32_t, SiPixelDigiModule * > thePixelStructure
Definition: SiPixelDigiSource.h:69
SiPixelDigiSource::layOn
bool layOn
Definition: SiPixelDigiSource.h:66
PixelGeomDetUnit.h
SiPixelDigiSource::I_linkId1
int I_linkId1[1856]
Definition: SiPixelDigiSource.h:218
SiPixelDigiSource::modOn
bool modOn
Definition: SiPixelDigiSource.h:59
SiPixelDigiSource::nFPIXDigis
int nFPIXDigis
Definition: SiPixelDigiSource.h:121
SiPixelDigiSource::noOfDisks
int noOfDisks
Definition: SiPixelDigiSource.h:233
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
SiPixelDigiSource::bigEventSize
int bigEventSize
Definition: SiPixelDigiSource.h:211
PixelEndcapNameUpgrade.h
dqm::implementation::IBooker
Definition: DQMStore.h:43
timingPdfMaker.infile
infile
Definition: timingPdfMaker.py:350
SiPixelDigiSource::meNDigisCHANBarrelCh9_
MonitorElement * meNDigisCHANBarrelCh9_
Definition: SiPixelDigiSource.h:145
SiPixelOfflineDQM_source_cff.diskOn
diskOn
Definition: SiPixelOfflineDQM_source_cff.py:50
SiPixelDigiSource::nDP2P1M1
int nDP2P1M1
Definition: SiPixelDigiSource.h:78
SiPixelDigiSource::meNDigisCHANBarrelCh10_
MonitorElement * meNDigisCHANBarrelCh10_
Definition: SiPixelDigiSource.h:146
SiPixelDigiSource::nL2M1
int nL2M1
Definition: SiPixelDigiSource.h:107
SiPixelFolderOrganizer.h
SiPixelDigiSource::nDM2P2M3
int nDM2P2M3
Definition: SiPixelDigiSource.h:100
PixelEndcapName::plaquetteName
int plaquetteName() const
plaquetteId (in pannel)
Definition: PixelEndcapName.h:54
SiPixelDigiSource::nL1M1
int nL1M1
Definition: SiPixelDigiSource.h:103
SiPixelDigiSource::NloEffROCs
int NloEffROCs[2]
Definition: SiPixelDigiSource.h:178
SiPixelDigiSource::meNDigisCHANBarrelCh1_
MonitorElement * meNDigisCHANBarrelCh1_
Definition: SiPixelDigiSource.h:137
ParameterSet.h
SiPixelOfflineDQM_client_cff.isUpgrade
isUpgrade
Definition: SiPixelOfflineDQM_client_cff.py:19
SiPixelDigiSource::meNDigisCHANEndcap_
MonitorElement * meNDigisCHANEndcap_
Definition: SiPixelDigiSource.h:173
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
SiPixelOfflineDQM_source_cff.bigEventSize
bigEventSize
Definition: SiPixelOfflineDQM_source_cff.py:52
PixelBarrelNameUpgrade.h
SiPixelDigiSource::meNDigisCHANBarrelCh2_
MonitorElement * meNDigisCHANBarrelCh2_
Definition: SiPixelDigiSource.h:138
SiPixelDigiSource::nDM3P1M1
int nDM3P1M1
Definition: SiPixelDigiSource.h:101
PixelEndcapName::pI
Definition: PixelEndcapName.h:18
SiPixelDigiSource::DoZeroRocsFPI2
bool DoZeroRocsFPI2
Definition: SiPixelDigiSource.h:206
edm::Event
Definition: Event.h:73
SiPixelDigiSource::meNDigisCHANBarrelCh29_
MonitorElement * meNDigisCHANBarrelCh29_
Definition: SiPixelDigiSource.h:165
SiPixelOfflineDQM_source_cff.twoDimModOn
twoDimModOn
Definition: SiPixelOfflineDQM_source_cff.py:44
lumi
Definition: LumiSectionData.h:20
SiPixelDigiSource::I_linkId2
int I_linkId2[1856]
Definition: SiPixelDigiSource.h:219
SiPixelDigiSource::meNDigisCHANBarrelCh7_
MonitorElement * meNDigisCHANBarrelCh7_
Definition: SiPixelDigiSource.h:143
SiPixelDigiSource::nDP1P1M1
int nDP1P1M1
Definition: SiPixelDigiSource.h:71
SiPixelDigiSource::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: SiPixelDigiSource.cc:326
SiPixelDigiSource::DoZeroRocsFMI1
bool DoZeroRocsFMI1
Definition: SiPixelDigiSource.h:208
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
SiPixelDigiSource::DoZeroRocsFMO1
bool DoZeroRocsFMO1
Definition: SiPixelDigiSource.h:202
edm::InputTag
Definition: InputTag.h:15
SiPixelDigiSource::nDP1P2M3
int nDP1P2M3
Definition: SiPixelDigiSource.h:77
SiPixelDigiSource::DoZeroRocsBMO2
bool DoZeroRocsBMO2
Definition: SiPixelDigiSource.h:184
SiPixelDigiSource::meNDigisCHANBarrelCh6_
MonitorElement * meNDigisCHANBarrelCh6_
Definition: SiPixelDigiSource.h:142
SiPixelDigiSource::averageDigiOccupancy
MonitorElement * averageDigiOccupancy
Definition: SiPixelDigiSource.h:129
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
SiPixelDigiSource::DoZeroRocsBMI3
bool DoZeroRocsBMI3
Definition: SiPixelDigiSource.h:189
SiPixelDigiSource::avgfedDigiOccvsLumi
MonitorElement * avgfedDigiOccvsLumi
Definition: SiPixelDigiSource.h:132
SiPixelDigiSource::meNDigisCHANBarrelCh8_
MonitorElement * meNDigisCHANBarrelCh8_
Definition: SiPixelDigiSource.h:144
SiPixelDigiSource
Definition: SiPixelDigiSource.h:32
SiPixelOfflineDQM_source_cff.twoDimOnlyLayDisk
twoDimOnlyLayDisk
Definition: SiPixelOfflineDQM_source_cff.py:45
PixelEndcapName.h
SiPixelDigiSource::nDP2P2M1
int nDP2P2M1
Definition: SiPixelDigiSource.h:82