89 while (!
infile.eof() && nModsInFile < nTOTmodules) {
96 LogInfo(
"PixelDQM") <<
"SiPixelDigiSource::SiPixelDigiSource: Got DQM BackEnd interface" << endl;
102 LogInfo(
"PixelDQM") <<
"SiPixelDigiSource::~SiPixelDigiSource: Destructor" << endl;
107 unsigned int currentLS =
lumi.id().luminosityBlock();
108 bool resetCounters = (currentLS % 10 == 0) ?
true :
false;
109 return std::make_shared<bool>(resetCounters);
114 const bool resetCounters = luminosityBlockCache(lb.
index());
120 for (
int i = 0;
i != 40;
i++) {
121 float averageOcc = 0.;
123 if (averageBPIXFed > 0.)
126 if (averageFPIXFed > 0.)
136 if (thisls % 10 == 0)
149 if (
modOn && thisls % 10 == 0) {
151 int(thisls / 10), averageBPIXFed);
153 int(thisls / 10), averageFPIXFed);
162 for (
int i = 0;
i != 40;
i++)
169 for (
int i = 0;
i != 40;
i++)
173 if (
modOn && resetCounters) {
176 for (
int i = 0;
i < 2;
i++)
178 for (
int i = 0;
i < 2;
i++)
217 LogInfo(
"PixelDQM") <<
" SiPixelDigiSource::beginJob - Initialisation ... " << std::endl;
220 LogInfo(
"PixelDQM") <<
"2DIM IS " <<
twoDimOn <<
" and set to high resolution? " <<
hiRes <<
"\n";
226 for (
int i = 0;
i != 40;
i++)
228 for (
int i = 0;
i != 4;
i++)
309 for (
int i = 0;
i < 2;
i++)
311 for (
int i = 0;
i < 2;
i++)
335 if (!
input.isValid())
340 int lumiSection = (
int)
iEvent.luminosityBlock();
342 int nActiveModules = 0;
344 std::map<uint32_t, SiPixelDigiModule*>::iterator struct_iter;
345 for (
int i = 0;
i != 192;
i++)
347 for (
int i = 0;
i != 1152;
i++)
349 for (
int i = 0;
i != 4;
i++)
353 int numberOfDigisMod = (*struct_iter)
354 .second->fill(*
input,
378 if (numberOfDigisMod > 0) {
379 nEventDigis = nEventDigis + numberOfDigisMod;
426 for (
int i = 0;
i != nBPiXmodules; ++
i) {
427 if ((*struct_iter).first ==
I_detId[
i]) {
439 i = (nBPiXmodules - 1);
488 }
else if (panel == 2) {
496 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
497 iter =
i + 2 * (blade - 1) + (panel - 1);
498 }
else if (disk == 2) {
509 }
else if (panel == 2) {
517 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
518 iter =
i + 2 * (blade - 1) + (panel - 1);
532 }
else if (panel == 2) {
540 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
541 iter =
i + 2 * (blade - 1) + (panel - 1);
542 }
else if (disk == 2) {
553 }
else if (panel == 2) {
561 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
562 iter =
i + 2 * (blade - 1) + (panel - 1);
576 }
else if (panel == 2) {
584 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
585 iter =
i + 2 * (blade - 1) + (panel - 1);
586 }
else if (disk == 2) {
597 }
else if (panel == 2) {
605 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
606 iter =
i + 2 * (blade - 1) + (panel - 1);
620 }
else if (panel == 2) {
628 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
629 iter =
i + 2 * (blade - 1) + (panel - 1);
630 }
else if (disk == 2) {
641 }
else if (panel == 2) {
649 if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
650 iter =
i + 2 * (blade - 1) + (panel - 1);
655 for (
int i = nBPiXmodules;
i != nTOTmodules;
i++) {
656 if ((*struct_iter).first ==
I_detId[
i]) {
679 }
else if (panel == 2) {
683 if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
684 iter =
i + 2 * (blade - 1) + (panel - 1);
685 }
else if (disk == 2) {
690 }
else if (panel == 2) {
694 if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
695 iter =
i + 2 * (blade - 1) + (panel - 1);
696 }
else if (disk == 3) {
701 }
else if (panel == 2) {
705 if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
706 iter =
i + 2 * (blade - 1) + (panel - 1);
714 }
else if (panel == 2) {
718 if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
719 iter =
i + 2 * (blade - 1) + (panel - 1);
720 }
else if (disk == 2) {
725 }
else if (panel == 2) {
729 if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
730 iter =
i + 2 * (blade - 1) + (panel - 1);
731 }
else if (disk == 3) {
736 }
else if (panel == 2) {
740 if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
741 iter =
i + 2 * (blade - 1) + (panel - 1);
749 }
else if (panel == 2) {
753 if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
754 iter =
i + 2 * (blade - 1) + (panel - 1);
755 }
else if (disk == 2) {
760 }
else if (panel == 2) {
764 if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
765 iter =
i + 2 * (blade - 1) + (panel - 1);
766 }
else if (disk == 3) {
771 }
else if (panel == 2) {
775 if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
776 iter =
i + 2 * (blade - 1) + (panel - 1);
784 }
else if (panel == 2) {
788 if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
789 iter =
i + 2 * (blade - 1) + (panel - 1);
790 }
else if (disk == 2) {
795 }
else if (panel == 2) {
799 if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
800 iter =
i + 2 * (blade - 1) + (panel - 1);
801 }
else if (disk == 3) {
806 }
else if (panel == 2) {
810 if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
811 iter =
i + 2 * (blade - 1) + (panel - 1);
815 for (
int i = nBPiXmodules;
i != nTOTmodules;
i++) {
816 if ((*struct_iter).first ==
I_detId[
i]) {
826 for (
int i = 0;
i < 2; ++
i)
842 for (
int j = 0;
j != 192;
j++)
847 for (
int j = 0;
j != 72;
j++)
852 for (
int j = 24;
j != 96;
j++)
857 for (
int j = 96;
j != 168;
j++)
862 for (
int j = 120;
j != 192;
j++)
868 for (
int j = 0;
j != 336;
j++)
873 for (
int j = 0;
j != 100;
j++)
878 for (
int j = 22;
j != 134;
j++)
883 for (
int j = 44;
j != 168;
j++)
888 for (
int j = 168;
j != 268;
j++)
893 for (
int j = 190;
j != 302;
j++)
898 for (
int j = 212;
j != 336;
j++)
905 for (
int i = 0;
i != 32;
i++)
910 for (
int i = 0;
i != 32;
i++)
915 for (
int i = 0;
i != 32;
i++)
920 for (
int i = 0;
i != 32;
i++)
925 for (
int i = 0;
i != 32;
i++)
930 for (
int i = 0;
i != 32;
i++)
935 for (
int i = 0;
i != 32;
i++)
940 for (
int i = 0;
i != 32;
i++)
945 for (
int i = 0;
i != 32;
i++)
950 for (
int i = 0;
i != 32;
i++)
955 for (
int i = 0;
i != 32;
i++)
960 for (
int i = 0;
i != 32;
i++)
965 for (
int i = 0;
i != 32;
i++)
970 for (
int i = 0;
i != 32;
i++)
975 for (
int i = 0;
i != 32;
i++)
980 for (
int i = 0;
i != 32;
i++)
985 for (
int i = 0;
i != 32;
i++)
990 for (
int i = 0;
i != 32;
i++)
995 for (
int i = 0;
i != 32;
i++)
1000 for (
int i = 0;
i != 32;
i++)
1005 for (
int i = 0;
i != 32;
i++)
1010 for (
int i = 0;
i != 32;
i++)
1015 for (
int i = 0;
i != 32;
i++)
1020 for (
int i = 0;
i != 32;
i++)
1025 for (
int i = 0;
i != 32;
i++)
1030 for (
int i = 0;
i != 32;
i++)
1035 for (
int i = 0;
i != 32;
i++)
1040 for (
int i = 0;
i != 32;
i++)
1045 for (
int i = 0;
i != 32;
i++)
1050 for (
int i = 0;
i != 32;
i++)
1055 for (
int i = 0;
i != 32;
i++)
1060 for (
int i = 0;
i != 32;
i++)
1065 for (
int i = 0;
i != 32;
i++)
1070 for (
int i = 0;
i != 32;
i++)
1075 for (
int i = 0;
i != 32;
i++)
1080 for (
int i = 0;
i != 32;
i++)
1092 if (nActiveModules >= 4) {
1110 LogInfo(
"PixelDQM") <<
" SiPixelDigiSource::buildStructure";
1113 LogVerbatim(
"PixelDQM") <<
" *** Geometry node for TrackerGeom is " << &(*pDD) << std::endl;
1114 LogVerbatim(
"PixelDQM") <<
" *** I have " << pDD->
dets().size() <<
" detectors" << std::endl;
1115 LogVerbatim(
"PixelDQM") <<
" *** I have " << pDD->
detTypes().size() <<
" types" << std::endl;
1117 for (TrackerGeometry::DetContainer::const_iterator it = pDD->
dets().begin(); it != pDD->
dets().end(); it++) {
1118 if (dynamic_cast<PixelGeomDetUnit const*>((*it)) !=
nullptr) {
1119 DetId detId = (*it)->geographicalId();
1121 const PixelGeomDetUnit* pixDet = dynamic_cast<const PixelGeomDetUnit*>(geoUnit);
1128 LogDebug(
"PixelDQM") <<
" ---> Adding Barrel Module " << detId.
rawId() << endl;
1129 uint32_t
id = detId();
1137 LogDebug(
"PixelDQM") <<
" ---> Adding Endcap Module " << detId.
rawId() << endl;
1138 uint32_t
id = detId();
1150 sprintf(sside,
"HalfCylinder_%i", side);
1152 sprintf(sdisk,
"Disk_%i", disk);
1154 sprintf(sblade,
"Blade_%02i", blade);
1156 sprintf(spanel,
"Panel_%i", panel);
1158 sprintf(smodule,
"Module_%i",
module);
1161 bool mask = side_str.find(
"HalfCylinder_1") != string::npos ||
1162 side_str.find(
"HalfCylinder_2") != string::npos ||
1163 side_str.find(
"HalfCylinder_4") != string::npos || disk_str.find(
"Disk_2") != string::npos;
1171 LogDebug(
"PixelDQM") <<
" ---> Adding Endcap Module " << detId.
rawId() << endl;
1172 uint32_t
id = detId();
1184 sprintf(sside,
"HalfCylinder_%i", side);
1186 sprintf(sdisk,
"Disk_%i", disk);
1188 sprintf(sblade,
"Blade_%02i", blade);
1190 sprintf(spanel,
"Panel_%i", panel);
1192 sprintf(smodule,
"Module_%i",
module);
1195 bool mask = side_str.find(
"HalfCylinder_1") != string::npos ||
1196 side_str.find(
"HalfCylinder_2") != string::npos ||
1197 side_str.find(
"HalfCylinder_4") != string::npos || disk_str.find(
"Disk_2") != string::npos;
1216 sprintf(
title,
"Rate of events with >%i digis;LumiSection;Rate [Hz]",
bigEventSize);
1219 sprintf(title1,
"Pixel events vs. BX;BX;# events");
1222 sprintf(title2,
"Rate of Pixel events;LumiSection;Rate [Hz]");
1225 sprintf(title3,
"Number of Zero-Occupancy Barrel ROCs;LumiSection;N_{ZERO-OCCUPANCY} Barrel ROCs");
1228 sprintf(title4,
"Number of Low-Efficiency Barrel ROCs;LumiSection;N_{LO EFF} Barrel ROCs");
1231 sprintf(title5,
"Number of Zero-Occupancy Endcap ROCs;LumiSection;N_{ZERO-OCCUPANCY} Endcap ROCs");
1234 sprintf(title6,
"Number of Low-Efficiency Endcap ROCs;LumiSection;N_{LO EFF} Endcap ROCs");
1237 sprintf(title7,
"Average digi occupancy per FED;FED;NDigis/<NDigis>");
1239 sprintf(title8,
"FED Digi Occupancy (NDigis/<NDigis>) vs LumiSections;Lumi Section;FED");
1247 "avgBarrelFedOccvsLumi",
1248 "Average Barrel FED digi occupancy (<NDigis>) vs LumiSections;Lumi Section;Average digi occupancy per FED",
1253 "avgEndcapFedOccvsLumi",
1254 "Average Endcap FED digi occupancy (<NDigis>) vs LumiSections;Lumi Section;Average digi occupancy per FED",
1261 "averageDigiOccupancy", title7, 40, -0.5, 39.5);
1264 std::map<uint32_t, SiPixelDigiModule*>::iterator struct_iter;
1278 throw cms::Exception(
"LogicError") <<
"[SiPixelDigiSource::bookMEs] Creation of DQM folder failed";
1285 LogDebug(
"PixelDQM") <<
"PROBLEM WITH LADDER-FOLDER\n";
1292 LogDebug(
"PixelDQM") <<
"PROBLEM WITH LAYER-FOLDER\n";
1300 LogDebug(
"PixelDQM") <<
"PROBLEM WITH PHI-FOLDER\n";
1307 LogDebug(
"PixelDQM") <<
"PROBLEM WITH BLADE-FOLDER\n";
1314 LogDebug(
"PixelDQM") <<
"PROBLEM WITH DISK-FOLDER\n";
1321 LogDebug(
"PixelDQM") <<
"PROBLEM WITH RING-FOLDER\n";
1330 std::stringstream ss1, ss2;
1333 ss1 <<
"ALLMODS_ndigisCHAN_BarrelL" <<
i;
1335 ss2 <<
"Number of Digis L" <<
i;
1418 ss1 <<
"ALLMODS_ndigisCHAN_EndcapDp" <<
i;
1420 ss2 <<
"Number of Digis Disk p" <<
i;
1426 ss1 <<
"ALLMODS_ndigisCHAN_EndcapDm" <<
i;
1428 ss2 <<
"Number of Digis Disk m" <<
i;
1436 std::pair<int, int> tempPair =
mod->getZeroLoEffROCs();