88 while (!
infile.eof() && nModsInFile < nTOTmodules) {
95 LogInfo(
"PixelDQM") <<
"SiPixelDigiSource::SiPixelDigiSource: Got DQM BackEnd interface" << endl;
101 LogInfo(
"PixelDQM") <<
"SiPixelDigiSource::~SiPixelDigiSource: Destructor" << endl;
106 unsigned int currentLS =
lumi.id().luminosityBlock();
107 bool resetCounters = (currentLS % 10 == 0) ?
true :
false;
108 return std::make_shared<bool>(resetCounters);
113 const bool resetCounters = luminosityBlockCache(lb.
index());
119 for (
int i = 0;
i != 40;
i++) {
120 float averageOcc = 0.;
122 if (averageBPIXFed > 0.)
125 if (averageFPIXFed > 0.)
135 if (thisls % 10 == 0)
147 if (
modOn && thisls % 10 == 0) {
149 int(thisls / 10), averageBPIXFed);
151 int(thisls / 10), averageFPIXFed);
160 for (
int i = 0;
i != 40;
i++)
167 for (
int i = 0;
i != 40;
i++)
171 if (
modOn && resetCounters) {
174 for (
int i = 0;
i < 2;
i++)
176 for (
int i = 0;
i < 2;
i++)
215 LogInfo(
"PixelDQM") <<
" SiPixelDigiSource::beginJob - Initialisation ... " << std::endl;
218 LogInfo(
"PixelDQM") <<
"2DIM IS " <<
twoDimOn <<
" and set to high resolution? " <<
hiRes <<
"\n";
224 for (
int i = 0;
i != 40;
i++)
226 for (
int i = 0;
i != 4;
i++)
307 for (
int i = 0;
i < 2;
i++)
309 for (
int i = 0;
i < 2;
i++)
333 if (!
input.isValid())
338 int lumiSection = (
int)
iEvent.luminosityBlock();
340 int nActiveModules = 0;
342 std::map<uint32_t, SiPixelDigiModule*>::iterator struct_iter;
343 for (
int i = 0;
i != 192;
i++)
345 for (
int i = 0;
i != 1152;
i++)
347 for (
int i = 0;
i != 4;
i++)
351 int numberOfDigisMod = (*struct_iter)
352 .second->fill(*
input,
376 if (numberOfDigisMod > 0) {
377 nEventDigis = nEventDigis + numberOfDigisMod;
424 for (
int i = 0;
i != nBPiXmodules; ++
i) {
425 if ((*struct_iter).first ==
I_detId[
i]) {
437 i = (nBPiXmodules - 1);
480 else if (module == 2)
482 else if (module == 3)
484 else if (module == 4)
486 }
else if (panel == 2) {
489 else if (module == 2)
491 else if (module == 3)
494 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
495 iter =
i + 2 * (blade - 1) + (panel - 1);
496 }
else if (disk == 2) {
501 else if (module == 2)
503 else if (module == 3)
505 else if (module == 4)
507 }
else if (panel == 2) {
510 else if (module == 2)
512 else if (module == 3)
515 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
516 iter =
i + 2 * (blade - 1) + (panel - 1);
524 else if (module == 2)
526 else if (module == 3)
528 else if (module == 4)
530 }
else if (panel == 2) {
533 else if (module == 2)
535 else if (module == 3)
538 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
539 iter =
i + 2 * (blade - 1) + (panel - 1);
540 }
else if (disk == 2) {
545 else if (module == 2)
547 else if (module == 3)
549 else if (module == 4)
551 }
else if (panel == 2) {
554 else if (module == 2)
556 else if (module == 3)
559 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
560 iter =
i + 2 * (blade - 1) + (panel - 1);
568 else if (module == 2)
570 else if (module == 3)
572 else if (module == 4)
574 }
else if (panel == 2) {
577 else if (module == 2)
579 else if (module == 3)
582 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
583 iter =
i + 2 * (blade - 1) + (panel - 1);
584 }
else if (disk == 2) {
589 else if (module == 2)
591 else if (module == 3)
593 else if (module == 4)
595 }
else if (panel == 2) {
598 else if (module == 2)
600 else if (module == 3)
603 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
604 iter =
i + 2 * (blade - 1) + (panel - 1);
612 else if (module == 2)
614 else if (module == 3)
616 else if (module == 4)
618 }
else if (panel == 2) {
621 else if (module == 2)
623 else if (module == 3)
626 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
627 iter =
i + 2 * (blade - 1) + (panel - 1);
628 }
else if (disk == 2) {
633 else if (module == 2)
635 else if (module == 3)
637 else if (module == 4)
639 }
else if (panel == 2) {
642 else if (module == 2)
644 else if (module == 3)
647 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
648 iter =
i + 2 * (blade - 1) + (panel - 1);
653 for (
int i = nBPiXmodules;
i != nTOTmodules;
i++) {
654 if ((*struct_iter).first ==
I_detId[
i]) {
677 }
else if (panel == 2) {
681 if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
682 iter =
i + 2 * (blade - 1) + (panel - 1);
683 }
else if (disk == 2) {
688 }
else if (panel == 2) {
692 if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
693 iter =
i + 2 * (blade - 1) + (panel - 1);
694 }
else if (disk == 3) {
699 }
else if (panel == 2) {
703 if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
704 iter =
i + 2 * (blade - 1) + (panel - 1);
712 }
else if (panel == 2) {
716 if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
717 iter =
i + 2 * (blade - 1) + (panel - 1);
718 }
else if (disk == 2) {
723 }
else if (panel == 2) {
727 if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
728 iter =
i + 2 * (blade - 1) + (panel - 1);
729 }
else if (disk == 3) {
734 }
else if (panel == 2) {
738 if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
739 iter =
i + 2 * (blade - 1) + (panel - 1);
747 }
else if (panel == 2) {
751 if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
752 iter =
i + 2 * (blade - 1) + (panel - 1);
753 }
else if (disk == 2) {
758 }
else if (panel == 2) {
762 if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
763 iter =
i + 2 * (blade - 1) + (panel - 1);
764 }
else if (disk == 3) {
769 }
else if (panel == 2) {
773 if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
774 iter =
i + 2 * (blade - 1) + (panel - 1);
782 }
else if (panel == 2) {
786 if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
787 iter =
i + 2 * (blade - 1) + (panel - 1);
788 }
else if (disk == 2) {
793 }
else if (panel == 2) {
797 if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
798 iter =
i + 2 * (blade - 1) + (panel - 1);
799 }
else if (disk == 3) {
804 }
else if (panel == 2) {
808 if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
809 iter =
i + 2 * (blade - 1) + (panel - 1);
813 for (
int i = nBPiXmodules;
i != nTOTmodules;
i++) {
814 if ((*struct_iter).first ==
I_detId[
i]) {
824 for (
int i = 0;
i < 2; ++
i)
840 for (
int j = 0;
j != 192;
j++)
845 for (
int j = 0;
j != 72;
j++)
850 for (
int j = 24;
j != 96;
j++)
855 for (
int j = 96;
j != 168;
j++)
860 for (
int j = 120;
j != 192;
j++)
866 for (
int j = 0;
j != 336;
j++)
871 for (
int j = 0;
j != 100;
j++)
876 for (
int j = 22;
j != 134;
j++)
881 for (
int j = 44;
j != 168;
j++)
886 for (
int j = 168;
j != 268;
j++)
891 for (
int j = 190;
j != 302;
j++)
896 for (
int j = 212;
j != 336;
j++)
903 for (
int i = 0;
i != 32;
i++)
908 for (
int i = 0;
i != 32;
i++)
913 for (
int i = 0;
i != 32;
i++)
918 for (
int i = 0;
i != 32;
i++)
923 for (
int i = 0;
i != 32;
i++)
928 for (
int i = 0;
i != 32;
i++)
933 for (
int i = 0;
i != 32;
i++)
938 for (
int i = 0;
i != 32;
i++)
943 for (
int i = 0;
i != 32;
i++)
948 for (
int i = 0;
i != 32;
i++)
953 for (
int i = 0;
i != 32;
i++)
958 for (
int i = 0;
i != 32;
i++)
963 for (
int i = 0;
i != 32;
i++)
968 for (
int i = 0;
i != 32;
i++)
973 for (
int i = 0;
i != 32;
i++)
978 for (
int i = 0;
i != 32;
i++)
983 for (
int i = 0;
i != 32;
i++)
988 for (
int i = 0;
i != 32;
i++)
993 for (
int i = 0;
i != 32;
i++)
998 for (
int i = 0;
i != 32;
i++)
1003 for (
int i = 0;
i != 32;
i++)
1008 for (
int i = 0;
i != 32;
i++)
1013 for (
int i = 0;
i != 32;
i++)
1018 for (
int i = 0;
i != 32;
i++)
1023 for (
int i = 0;
i != 32;
i++)
1028 for (
int i = 0;
i != 32;
i++)
1033 for (
int i = 0;
i != 32;
i++)
1038 for (
int i = 0;
i != 32;
i++)
1043 for (
int i = 0;
i != 32;
i++)
1048 for (
int i = 0;
i != 32;
i++)
1053 for (
int i = 0;
i != 32;
i++)
1058 for (
int i = 0;
i != 32;
i++)
1063 for (
int i = 0;
i != 32;
i++)
1068 for (
int i = 0;
i != 32;
i++)
1073 for (
int i = 0;
i != 32;
i++)
1078 for (
int i = 0;
i != 32;
i++)
1090 if (nActiveModules >= 4) {
1108 LogInfo(
"PixelDQM") <<
" SiPixelDigiSource::buildStructure";
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;
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();
1119 const PixelGeomDetUnit* pixDet = dynamic_cast<const PixelGeomDetUnit*>(geoUnit);
1126 LogDebug(
"PixelDQM") <<
" ---> Adding Barrel Module " << detId.
rawId() << endl;
1127 uint32_t
id = detId();
1135 LogDebug(
"PixelDQM") <<
" ---> Adding Endcap Module " << detId.
rawId() << endl;
1136 uint32_t
id = detId();
1148 sprintf(sside,
"HalfCylinder_%i", side);
1150 sprintf(sdisk,
"Disk_%i", disk);
1152 sprintf(sblade,
"Blade_%02i", blade);
1154 sprintf(spanel,
"Panel_%i", panel);
1156 sprintf(smodule,
"Module_%i", module);
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;
1169 LogDebug(
"PixelDQM") <<
" ---> Adding Endcap Module " << detId.
rawId() << endl;
1170 uint32_t
id = detId();
1182 sprintf(sside,
"HalfCylinder_%i", side);
1184 sprintf(sdisk,
"Disk_%i", disk);
1186 sprintf(sblade,
"Blade_%02i", blade);
1188 sprintf(spanel,
"Panel_%i", panel);
1190 sprintf(smodule,
"Module_%i", module);
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;
1214 sprintf(
title,
"Rate of events with >%i digis;LumiSection;Rate [Hz]",
bigEventSize);
1217 sprintf(title1,
"Pixel events vs. BX;BX;# events");
1220 sprintf(title2,
"Rate of Pixel events;LumiSection;Rate [Hz]");
1223 sprintf(title3,
"Number of Zero-Occupancy Barrel ROCs;LumiSection;N_{ZERO-OCCUPANCY} Barrel ROCs");
1226 sprintf(title4,
"Number of Low-Efficiency Barrel ROCs;LumiSection;N_{LO EFF} Barrel ROCs");
1229 sprintf(title5,
"Number of Zero-Occupancy Endcap ROCs;LumiSection;N_{ZERO-OCCUPANCY} Endcap ROCs");
1232 sprintf(title6,
"Number of Low-Efficiency Endcap ROCs;LumiSection;N_{LO EFF} Endcap ROCs");
1235 sprintf(title7,
"Average digi occupancy per FED;FED;NDigis/<NDigis>");
1237 sprintf(title8,
"FED Digi Occupancy (NDigis/<NDigis>) vs LumiSections;Lumi Section;FED");
1245 "avgBarrelFedOccvsLumi",
1246 "Average Barrel FED digi occupancy (<NDigis>) vs LumiSections;Lumi Section;Average digi occupancy per FED",
1251 "avgEndcapFedOccvsLumi",
1252 "Average Endcap FED digi occupancy (<NDigis>) vs LumiSections;Lumi Section;Average digi occupancy per FED",
1259 "averageDigiOccupancy", title7, 40, -0.5, 39.5);
1262 std::map<uint32_t, SiPixelDigiModule*>::iterator struct_iter;
1276 throw cms::Exception(
"LogicError") <<
"[SiPixelDigiSource::bookMEs] Creation of DQM folder failed";
1283 LogDebug(
"PixelDQM") <<
"PROBLEM WITH LADDER-FOLDER\n";
1290 LogDebug(
"PixelDQM") <<
"PROBLEM WITH LAYER-FOLDER\n";
1298 LogDebug(
"PixelDQM") <<
"PROBLEM WITH PHI-FOLDER\n";
1305 LogDebug(
"PixelDQM") <<
"PROBLEM WITH BLADE-FOLDER\n";
1312 LogDebug(
"PixelDQM") <<
"PROBLEM WITH DISK-FOLDER\n";
1319 LogDebug(
"PixelDQM") <<
"PROBLEM WITH RING-FOLDER\n";
1328 std::stringstream ss1, ss2;
1331 ss1 <<
"ALLMODS_ndigisCHAN_BarrelL" <<
i;
1333 ss2 <<
"Number of Digis L" <<
i;
1416 ss1 <<
"ALLMODS_ndigisCHAN_EndcapDp" <<
i;
1418 ss2 <<
"Number of Digis Disk p" <<
i;
1424 ss1 <<
"ALLMODS_ndigisCHAN_EndcapDm" <<
i;
1426 ss2 <<
"Number of Digis Disk m" <<
i;
1434 std::pair<int, int> tempPair =
mod->getZeroLoEffROCs();