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) )
70 LogInfo (
"PixelDQM") <<
"SiPixelDigiSource::SiPixelDigiSource: Got DQM BackEnd interface"<<endl;
78 LogInfo (
"PixelDQM") <<
"SiPixelDigiSource::~SiPixelDigiSource: Destructor"<<endl;
87 assert(!infile.fail());
88 while(!infile.eof()&&nModsInFile<1440) {
97 LogInfo (
"PixelDQM") <<
" SiPixelDigiSource::beginJob - Initialisation ... " << std::endl;
103 LogInfo (
"PixelDQM") <<
"2DIM IS " <<
twoDimOn <<
" and set to high resolution? " <<
hiRes <<
"\n";
168 LogInfo (
"PixelDQM") <<
" SiPixelDigiSource::endJob - Saving Root File " << std::endl;
194 int nEventDigis = 0;
int nActiveModules = 0;
200 if(meReset && lumiSection%8==0){
206 if (lumiSection%10==0){
208 std::string baseDirs[2] = {
"Pixel/Barrel",
"Pixel/Endcap"};
209 for (
int i = 0;
i < 2; ++
i){
210 theDMBE->
cd(baseDirs[
i]);
211 vector<string> shellDirs = theDMBE->
getSubdirs();
212 for (vector<string>::const_iterator it = shellDirs.begin(); it != shellDirs.end(); it++) {
214 vector<string> layDirs = theDMBE->
getSubdirs();
215 for (vector<string>::const_iterator itt = layDirs.begin(); itt != layDirs.end(); itt++) {
218 for (vector<string>::const_iterator im = contents.begin(); im != contents.end(); im++) {
219 if ((*im).find(
"rocmap") == string::npos)
continue;
221 if(me) me->
Reset();}}}}
226 if(meReset && lumiSection%1==0){
234 std::map<uint32_t,SiPixelDigiModule*>::iterator struct_iter;
239 int numberOfDigisMod = (*struct_iter).second->fill(*input,
modOn,
244 if(numberOfDigisMod>0){
247 nEventDigis = nEventDigis + numberOfDigisMod;
256 for(
int i=0;
i!=768; ++
i){
258 if((*struct_iter).first ==
I_detId[
i]){
262 int index1 = 0;
int index2 = 0;
287 if(panel==1){
if(module==1)
nDM1P1M1+=numberOfDigisMod;
288 else if(module==2)
nDM1P1M2+=numberOfDigisMod;
289 else if(module==3)
nDM1P1M3+=numberOfDigisMod;
290 else if(module==4)
nDM1P1M4+=numberOfDigisMod;}
291 else if(panel==2){
if(module==1)
nDM1P2M1+=numberOfDigisMod;
292 else if(module==2)
nDM1P2M2+=numberOfDigisMod;
293 else if(module==3)
nDM1P2M3+=numberOfDigisMod; }
294 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
295 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
296 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
297 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
298 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
299 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
300 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
301 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
302 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
303 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
304 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
305 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
308 if(panel==1){
if(module==1)
nDM2P1M1+=numberOfDigisMod;
309 else if(module==2)
nDM2P1M2+=numberOfDigisMod;
310 else if(module==3)
nDM2P1M3+=numberOfDigisMod;
311 else if(module==4)
nDM2P1M4+=numberOfDigisMod;}
312 else if(panel==2){
if(module==1)
nDM2P2M1+=numberOfDigisMod;
313 else if(module==2)
nDM2P2M2+=numberOfDigisMod;
314 else if(module==3)
nDM2P2M3+=numberOfDigisMod; }
315 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
316 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
317 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
318 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
319 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
320 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
321 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
322 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
323 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
324 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
325 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
326 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
331 if(panel==1){
if(module==1)
nDM1P1M1+=numberOfDigisMod;
332 else if(module==2)
nDM1P1M2+=numberOfDigisMod;
333 else if(module==3)
nDM1P1M3+=numberOfDigisMod;
334 else if(module==4)
nDM1P1M4+=numberOfDigisMod;}
335 else if(panel==2){
if(module==1)
nDM1P2M1+=numberOfDigisMod;
336 else if(module==2)
nDM1P2M2+=numberOfDigisMod;
337 else if(module==3)
nDM1P2M3+=numberOfDigisMod; }
338 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
339 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
340 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
341 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
342 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
343 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
344 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
345 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
346 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
347 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
348 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
349 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
352 if(panel==1){
if(module==1)
nDM2P1M1+=numberOfDigisMod;
353 else if(module==2)
nDM2P1M2+=numberOfDigisMod;
354 else if(module==3)
nDM2P1M3+=numberOfDigisMod;
355 else if(module==4)
nDM2P1M4+=numberOfDigisMod;}
356 else if(panel==2){
if(module==1)
nDM2P2M1+=numberOfDigisMod;
357 else if(module==2)
nDM2P2M2+=numberOfDigisMod;
358 else if(module==3)
nDM2P2M3+=numberOfDigisMod; }
359 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
360 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
361 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
362 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
363 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
364 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
365 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
366 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
367 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
368 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
369 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
370 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
375 if(panel==1){
if(module==1)
nDP1P1M1+=numberOfDigisMod;
376 else if(module==2)
nDP1P1M2+=numberOfDigisMod;
377 else if(module==3)
nDP1P1M3+=numberOfDigisMod;
378 else if(module==4)
nDP1P1M4+=numberOfDigisMod;}
379 else if(panel==2){
if(module==1)
nDP1P2M1+=numberOfDigisMod;
380 else if(module==2)
nDP1P2M2+=numberOfDigisMod;
381 else if(module==3)
nDP1P2M3+=numberOfDigisMod; }
382 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
383 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
384 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
385 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
386 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
387 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
388 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
389 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
390 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
391 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
392 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
393 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
396 if(panel==1){
if(module==1)
nDP2P1M1+=numberOfDigisMod;
397 else if(module==2)
nDP2P1M2+=numberOfDigisMod;
398 else if(module==3)
nDP2P1M3+=numberOfDigisMod;
399 else if(module==4)
nDP2P1M4+=numberOfDigisMod;}
400 else if(panel==2){
if(module==1)
nDP2P2M1+=numberOfDigisMod;
401 else if(module==2)
nDP2P2M2+=numberOfDigisMod;
402 else if(module==3)
nDP2P2M3+=numberOfDigisMod; }
403 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
404 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
405 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
406 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
407 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
408 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
409 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
410 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
411 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
412 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
413 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
414 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
419 if(panel==1){
if(module==1)
nDP1P1M1+=numberOfDigisMod;
420 else if(module==2)
nDP1P1M2+=numberOfDigisMod;
421 else if(module==3)
nDP1P1M3+=numberOfDigisMod;
422 else if(module==4)
nDP1P1M4+=numberOfDigisMod;}
423 else if(panel==2){
if(module==1)
nDP1P2M1+=numberOfDigisMod;
424 else if(module==2)
nDP1P2M2+=numberOfDigisMod;
425 else if(module==3)
nDP1P2M3+=numberOfDigisMod; }
426 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
427 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
428 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
429 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
430 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
431 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
432 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
433 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
434 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
435 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
436 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
437 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
440 if(panel==1){
if(module==1)
nDP2P1M1+=numberOfDigisMod;
441 else if(module==2)
nDP2P1M2+=numberOfDigisMod;
442 else if(module==3)
nDP2P1M3+=numberOfDigisMod;
443 else if(module==4)
nDP2P1M4+=numberOfDigisMod;}
444 else if(panel==2){
if(module==1)
nDP2P2M1+=numberOfDigisMod;
445 else if(module==2)
nDP2P2M2+=numberOfDigisMod;
446 else if(module==3)
nDP2P2M3+=numberOfDigisMod; }
447 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
448 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
449 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
450 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
451 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
452 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
453 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
454 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
455 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
456 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
457 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
458 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
466 for(
int i=768; i!=1440; i++){
468 if((*struct_iter).first ==
I_detId[i]){
483 int NzeroROCs[2] = {0,-672};
484 int NloEffROCs[2] = {0,-672};
485 std::string baseDirs[2] = {
"Pixel/Barrel",
"Pixel/Endcap"};
486 if (lumiSection%10> 2){
487 for (
int i = 0;
i < 2; ++
i){
488 theDMBE->
cd(baseDirs[
i]);
489 vector<string> shellDirs = theDMBE->
getSubdirs();
490 for (vector<string>::const_iterator it = shellDirs.begin(); it != shellDirs.end(); it++) {
492 vector<string> layDirs = theDMBE->
getSubdirs();
493 for (vector<string>::const_iterator itt = layDirs.begin(); itt != layDirs.end(); itt++) {
496 for (vector<string>::const_iterator im = contents.begin(); im != contents.end(); im++) {
497 if ((*im).find(
"rocmap") == string::npos)
continue;
501 me2 = theDMBE->
get((*itt)+
"/zeroOccROC_map");
505 float localX = float(
ii)-0.5;
506 float localY = float(
jj)/2.0 + 1.25;
507 if (i ==1) localY = float(
jj)/2.0 + 0.75;
514 for (
int i =0;
i < 2; ++
i) NloEffROCs[
i] = NloEffROCs[
i] - NzeroROCs[
i];
517 if(menoOcc) menoOcc->
setBinContent(1+lumiSection/10, NzeroROCs[0]);
518 if(meloOcc) meloOcc->
setBinContent(1+lumiSection/10, NloEffROCs[0]);
521 if(menoOcc1) menoOcc1->
setBinContent(1+lumiSection/10, NzeroROCs[1]);
522 if(meloOcc1) meloOcc1->
setBinContent(1+lumiSection/10, NloEffROCs[1]);
530 meE=theDMBE->
get(
"Pixel/Endcap/ALLMODS_ndigisCHAN_Endcap");
532 meE1=theDMBE->
get(
"Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDm1");
534 meE2=theDMBE->
get(
"Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDm2");
536 meE3=theDMBE->
get(
"Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDp1");
538 meE4=theDMBE->
get(
"Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDp2");
548 me1=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh1");
550 me2=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh2");
552 me3=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh3");
554 me4=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh4");
556 me5=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh5");
558 me6=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh6");
560 me7=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh7");
562 me8=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh8");
564 me9=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh9");
566 me10=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh10");
568 me11=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh11");
570 me12=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh12");
572 me13=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh13");
574 me14=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh14");
576 me15=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh15");
578 me16=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh16");
580 me17=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh17");
582 me18=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh18");
584 me19=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh19");
586 me20=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh20");
588 me21=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh21");
590 me22=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh22");
592 me23=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh23");
594 me24=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh24");
596 me25=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh25");
598 me26=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh26");
600 me27=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh27");
602 me28=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh28");
604 me29=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh29");
606 me30=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh30");
608 me31=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh31");
610 me32=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh32");
612 me33=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh33");
614 me34=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh34");
616 me35=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh35");
618 me36=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh36");
624 meX1 = theDMBE->
get(
"Pixel/bigEventRate");
625 if(meX1) meX1->
Fill(lumiSection,1./23.);
631 if(nActiveModules>=4){
632 meX2 = theDMBE->
get(
"Pixel/pixEvtsPerBX");
633 if(meX2) meX2->
Fill(
float(bx));
634 meX3 = theDMBE->
get(
"Pixel/pixEventRate");
635 if(meX3) meX3->
Fill(lumiSection, 1./23.);
640 meX4 = theDMBE->
get(
"Pixel/averageDigiOccupancy");
641 meX5 = theDMBE->
get(
"Pixel/avgfedDigiOccvsLumi");
644 for(
int i=0;
i!=32;
i++){
647 for(
int i=0;
i!=40;
i++){
648 float averageOcc = 0.;
650 float averageBPIXFed = float(
nBPIXDigis-maxfed)/31.;
651 if(averageBPIXFed>0.) averageOcc =
nDigisPerFed[
i]/averageBPIXFed;
655 if(averageFPIXFed>0.) averageOcc =
nDigisPerFed[
i]/averageFPIXFed;
659 int lumiSections8 = int(lumiSection/8);
678 LogInfo (
"PixelDQM") <<
" SiPixelDigiSource::buildStructure" ;
682 LogVerbatim (
"PixelDQM") <<
" *** Geometry node for TrackerGeom is "<<&(*pDD)<<std::endl;
683 LogVerbatim (
"PixelDQM") <<
" *** I have " << pDD->dets().size() <<
" detectors"<<std::endl;
684 LogVerbatim (
"PixelDQM") <<
" *** I have " << pDD->detTypes().size() <<
" types"<<std::endl;
686 for(TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); it++){
688 if(dynamic_cast<PixelGeomDetUnit*>((*it))!=0){
690 DetId detId = (*it)->geographicalId();
691 const GeomDetUnit * geoUnit = pDD->idToDetUnit( detId );
698 LogDebug (
"PixelDQM") <<
" ---> Adding Barrel Module " << detId.
rawId() << endl;
699 uint32_t
id = detId();
704 LogDebug (
"PixelDQM") <<
" ---> Adding Endcap Module " << detId.
rawId() << endl;
705 uint32_t
id = detId();
714 char sside[80]; sprintf(sside,
"HalfCylinder_%i",side);
715 char sdisk[80]; sprintf(sdisk,
"Disk_%i",disk);
716 char sblade[80]; sprintf(sblade,
"Blade_%02i",blade);
717 char spanel[80]; sprintf(spanel,
"Panel_%i",panel);
718 char smodule[80];sprintf(smodule,
"Module_%i",module);
721 bool mask = side_str.find(
"HalfCylinder_1")!=string::npos||
722 side_str.find(
"HalfCylinder_2")!=string::npos||
723 side_str.find(
"HalfCylinder_4")!=string::npos||
724 disk_str.find(
"Disk_2")!=string::npos;
727 if(
isPIB && mask)
continue;
744 char title[80]; sprintf(title,
"Rate of events with >%i digis;LumiSection;Rate [Hz]",
bigEventSize);
746 char title1[80]; sprintf(title1,
"Pixel events vs. BX;BX;# events");
748 char title2[80]; sprintf(title2,
"Rate of Pixel events;LumiSection;Rate [Hz]");
750 char title3[80]; sprintf(title3,
"Number of Zero-Occupancy Barrel ROCs;LumiSection;N_{ZERO-OCCUPANCY} Barrel ROCs");
752 char title4[80]; sprintf(title4,
"Number of Low-Efficiency Barrel ROCs;LumiSection;N_{LO EFF} Barrel ROCs");
754 char title5[80]; sprintf(title5,
"Number of Zero-Occupancy Endcap ROCs;LumiSection;N_{ZERO-OCCUPANCY} Endcap ROCs");
756 char title6[80]; sprintf(title6,
"Number of Low-Efficiency Endcap ROCs;LumiSection;N_{LO EFF} Endcap ROCs");
758 char title7[80]; sprintf(title7,
"Average digi occupancy per FED;FED;NDigis/<NDigis>");
762 char title4[80]; sprintf(title4,
"FED Digi Occupancy (NDigis/<NDigis>) vs LumiSections;Lumi Section;FED");
765 std::map<uint32_t,SiPixelDigiModule*>::iterator struct_iter;
777 <<
"[SiPixelDigiSource::bookMEs] Creation of DQM folder failed";
784 LogDebug (
"PixelDQM") <<
"PROBLEM WITH LADDER-FOLDER\n";
792 LogDebug (
"PixelDQM") <<
"PROBLEM WITH LAYER-FOLDER\n";
800 LogDebug (
"PixelDQM") <<
"PROBLEM WITH PHI-FOLDER\n";
807 LogDebug (
"PixelDQM") <<
"PROBLEM WITH BLADE-FOLDER\n";
814 LogDebug (
"PixelDQM") <<
"PROBLEM WITH DISK-FOLDER\n";
821 LogDebug (
"PixelDQM") <<
"PROBLEM WITH RING-FOLDER\n";
826 theDMBE->
cd(
"Pixel/Barrel");
909 theDMBE->
cd(
"Pixel/Endcap");
922 theDMBE->
cd(currDir);
int plaquetteName() const
plaquetteId (in pannel)
T getParameter(std::string const &) const
MonitorElement * meNDigisCHANBarrelCh19_
MonitorElement * meNDigisCHANBarrelCh35_
MonitorElement * meNDigisCHANBarrelCh2_
MonitorElement * meNDigisCHANBarrelCh30_
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * meNDigisCHANEndcapDp1_
MonitorElement * meNDigisCHANBarrelCh31_
std::vector< std::string > getSubdirs(void) const
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
MonitorElement * meNDigisCHANBarrelCh8_
MonitorElement * meNDigisCHANBarrelCh36_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void cd(void)
go to top directory (ie. root)
#define DEFINE_FWK_MODULE(type)
MonitorElement * loOccROCsEndcap
MonitorElement * meNDigisCHANBarrelCh17_
MonitorElement * meNDigisCHANBarrelCh25_
MonitorElement * meNDigisCHANBarrelCh6_
MonitorElement * meNDigisCOMBBarrel_
int bunchCrossing() const
MonitorElement * meNDigisCHANEndcapDm1_
edm::LuminosityBlockNumber_t luminosityBlock() const
MonitorElement * meNDigisCOMBEndcap_
MonitorElement * meNDigisCHANBarrelCh14_
MonitorElement * meNDigisCHANBarrelCh12_
MonitorElement * meNDigisCHANBarrelL3_
MonitorElement * meNDigisCHANBarrelCh29_
double getEntries(void) const
get # of entries
static std::string const input
int getNbinsY(void) const
get # of bins in Y-axis
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > srcToken_
uint32_t rawId() const
get the raw id
MonitorElement * meNDigisCHANBarrelCh27_
int bladeName() const
blade id
SiPixelDigiSource(const edm::ParameterSet &conf)
MonitorElement * meNDigisCHANEndcapDm2_
MonitorElement * meNDigisCHANBarrelCh3_
MonitorElement * meNDigisCHANBarrelCh9_
MonitorElement * meNDigisCHANBarrelCh4_
MonitorElement * meNDigisCHANBarrelCh34_
MonitorElement * meNDigisCHANBarrelCh26_
MonitorElement * noOccROCsBarrel
MonitorElement * meNDigisCHANEndcap_
MonitorElement * meNDigisCHANBarrelCh28_
MonitorElement * noOccROCsEndcap
virtual void analyze(const edm::Event &, const edm::EventSetup &)
MonitorElement * meNDigisCHANBarrel_
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", const uint32_t run=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
MonitorElement * meNDigisCHANBarrelCh33_
MonitorElement * pixEventRate
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
MonitorElement * meNDigisCHANBarrelCh21_
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
MonitorElement * meNDigisCHANBarrelCh32_
virtual void beginRun(const edm::Run &, edm::EventSetup const &)
MonitorElement * meNDigisCHANBarrelCh10_
MonitorElement * loOccROCsBarrel
MonitorElement * meNDigisCHANBarrelCh1_
MonitorElement * averageDigiOccupancy
unsigned int I_detId[1440]
MonitorElement * meNDigisCHANBarrelCh5_
MonitorElement * meNDigisCHANBarrelCh7_
MonitorElement * meNDigisCHANBarrelCh15_
MonitorElement * meNDigisCHANBarrelCh13_
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
MonitorElement * meNDigisCHANBarrelCh23_
MonitorElement * meNDigisCHANBarrelCh18_
std::vector< std::string > getMEs(void) const
get list of (non-dir) MEs of current directory
MonitorElement * meNDigisCHANEndcapDp2_
double getBinContent(int binx) const
get content of bin (1-D)
MonitorElement * bigEventRate
MonitorElement * meNDigisCHANBarrelCh20_
MonitorElement * avgfedDigiOccvsLumi
int pannelName() const
pannel id
int getNbinsX(void) const
get # of bins in X-axis
MonitorElement * meNDigisCHANBarrelCh22_
int diskName() const
disk id
MonitorElement * pixEvtsPerBX
volatile std::atomic< bool > shutdown_flag false
std::map< uint32_t, SiPixelDigiModule * > thePixelStructure
MonitorElement * meNDigisCHANBarrelL1_
void setLumiFlag(void)
this ME is meant to be stored for each luminosity section
HalfCylinder halfCylinder() const
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
MonitorElement * meNDigisCHANBarrelCh16_
MonitorElement * meNDigisCHANBarrelCh11_
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void Reset(void)
reset ME (ie. contents, errors, etc)
virtual void buildStructure(edm::EventSetup const &)
void setCurrentFolder(const std::string &fullpath)
MonitorElement * meNDigisCHANBarrelL2_
MonitorElement * meNDigisCHANBarrelCh24_
bool setModuleFolder(const uint32_t &rawdetid=0, int type=0)
Set folder name for a module or plaquette.
const std::string & pwd(void) const