49 src_( conf_.getParameter<edm::
InputTag>(
"src" ) ),
50 saveFile( conf_.getUntrackedParameter<bool>(
"saveFile",
false) ),
51 isPIB( conf_.getUntrackedParameter<bool>(
"isPIB",
false) ),
52 slowDown( conf_.getUntrackedParameter<bool>(
"slowDown",
false) ),
53 modOn( conf_.getUntrackedParameter<bool>(
"modOn",
true) ),
54 twoDimOn( conf_.getUntrackedParameter<bool>(
"twoDimOn",
true) ),
55 twoDimModOn( conf_.getUntrackedParameter<bool>(
"twoDimModOn",
true) ),
56 twoDimOnlyLayDisk( conf_.getUntrackedParameter<bool>(
"twoDimOnlyLayDisk",
false) ),
57 hiRes( conf_.getUntrackedParameter<bool>(
"hiRes",
false) ),
58 reducedSet( conf_.getUntrackedParameter<bool>(
"reducedSet",
false) ),
59 ladOn( conf_.getUntrackedParameter<bool>(
"ladOn",
false) ),
60 layOn( conf_.getUntrackedParameter<bool>(
"layOn",
false) ),
61 phiOn( conf_.getUntrackedParameter<bool>(
"phiOn",
false) ),
62 ringOn( conf_.getUntrackedParameter<bool>(
"ringOn",
false) ),
63 bladeOn( conf_.getUntrackedParameter<bool>(
"bladeOn",
false) ),
64 diskOn( conf_.getUntrackedParameter<bool>(
"diskOn",
false) ),
65 bigEventSize( conf_.getUntrackedParameter<int>(
"bigEventSize",1000) )
68 LogInfo (
"PixelDQM") <<
"SiPixelDigiSource::SiPixelDigiSource: Got DQM BackEnd interface"<<endl;
76 LogInfo (
"PixelDQM") <<
"SiPixelDigiSource::~SiPixelDigiSource: Destructor"<<endl;
85 assert(!infile.fail());
86 while(!infile.eof()&&nModsInFile<1440) {
95 LogInfo (
"PixelDQM") <<
" SiPixelDigiSource::beginJob - Initialisation ... " << std::endl;
101 LogInfo (
"PixelDQM") <<
"2DIM IS " <<
twoDimOn <<
" and set to high resolution? " <<
hiRes <<
"\n";
166 LogInfo (
"PixelDQM") <<
" SiPixelDigiSource::endJob - Saving Root File " << std::endl;
192 int nEventDigis = 0;
int nActiveModules = 0;
198 if(meReset && lumiSection%8==0){
204 if (lumiSection%10==0){
206 std::string baseDirs[2] = {
"Pixel/Barrel",
"Pixel/Endcap"};
207 for (
int i = 0;
i < 2; ++
i){
208 theDMBE->
cd(baseDirs[
i]);
209 vector<string> shellDirs = theDMBE->
getSubdirs();
210 for (vector<string>::const_iterator it = shellDirs.begin(); it != shellDirs.end(); it++) {
212 vector<string> layDirs = theDMBE->
getSubdirs();
213 for (vector<string>::const_iterator itt = layDirs.begin(); itt != layDirs.end(); itt++) {
216 for (vector<string>::const_iterator im = contents.begin(); im != contents.end(); im++) {
217 if ((*im).find(
"rocmap") == string::npos)
continue;
219 if(me) me->
Reset();}}}}
224 if(meReset && lumiSection%1==0){
232 std::map<uint32_t,SiPixelDigiModule*>::iterator struct_iter;
237 int numberOfDigisMod = (*struct_iter).second->fill(*input,
modOn,
242 if(numberOfDigisMod>0){
245 nEventDigis = nEventDigis + numberOfDigisMod;
254 for(
int i=0;
i!=768; ++
i){
256 if((*struct_iter).first ==
I_detId[
i]){
260 int index1 = 0;
int index2 = 0;
285 if(panel==1){
if(module==1)
nDM1P1M1+=numberOfDigisMod;
286 else if(module==2)
nDM1P1M2+=numberOfDigisMod;
287 else if(module==3)
nDM1P1M3+=numberOfDigisMod;
288 else if(module==4)
nDM1P1M4+=numberOfDigisMod;}
289 else if(panel==2){
if(module==1)
nDM1P2M1+=numberOfDigisMod;
290 else if(module==2)
nDM1P2M2+=numberOfDigisMod;
291 else if(module==3)
nDM1P2M3+=numberOfDigisMod; }
292 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
293 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
294 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
295 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
296 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
297 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
298 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
299 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
300 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
301 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
302 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
303 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
306 if(panel==1){
if(module==1)
nDM2P1M1+=numberOfDigisMod;
307 else if(module==2)
nDM2P1M2+=numberOfDigisMod;
308 else if(module==3)
nDM2P1M3+=numberOfDigisMod;
309 else if(module==4)
nDM2P1M4+=numberOfDigisMod;}
310 else if(panel==2){
if(module==1)
nDM2P2M1+=numberOfDigisMod;
311 else if(module==2)
nDM2P2M2+=numberOfDigisMod;
312 else if(module==3)
nDM2P2M3+=numberOfDigisMod; }
313 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
314 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
315 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
316 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
317 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
318 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
319 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
320 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
321 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
322 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
323 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
324 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
329 if(panel==1){
if(module==1)
nDM1P1M1+=numberOfDigisMod;
330 else if(module==2)
nDM1P1M2+=numberOfDigisMod;
331 else if(module==3)
nDM1P1M3+=numberOfDigisMod;
332 else if(module==4)
nDM1P1M4+=numberOfDigisMod;}
333 else if(panel==2){
if(module==1)
nDM1P2M1+=numberOfDigisMod;
334 else if(module==2)
nDM1P2M2+=numberOfDigisMod;
335 else if(module==3)
nDM1P2M3+=numberOfDigisMod; }
336 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
337 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
338 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
339 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
340 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
341 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
342 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
343 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
344 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
345 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
346 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
347 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
350 if(panel==1){
if(module==1)
nDM2P1M1+=numberOfDigisMod;
351 else if(module==2)
nDM2P1M2+=numberOfDigisMod;
352 else if(module==3)
nDM2P1M3+=numberOfDigisMod;
353 else if(module==4)
nDM2P1M4+=numberOfDigisMod;}
354 else if(panel==2){
if(module==1)
nDM2P2M1+=numberOfDigisMod;
355 else if(module==2)
nDM2P2M2+=numberOfDigisMod;
356 else if(module==3)
nDM2P2M3+=numberOfDigisMod; }
357 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
358 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
359 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
360 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
361 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
362 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
363 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
364 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
365 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
366 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
367 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
368 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
373 if(panel==1){
if(module==1)
nDP1P1M1+=numberOfDigisMod;
374 else if(module==2)
nDP1P1M2+=numberOfDigisMod;
375 else if(module==3)
nDP1P1M3+=numberOfDigisMod;
376 else if(module==4)
nDP1P1M4+=numberOfDigisMod;}
377 else if(panel==2){
if(module==1)
nDP1P2M1+=numberOfDigisMod;
378 else if(module==2)
nDP1P2M2+=numberOfDigisMod;
379 else if(module==3)
nDP1P2M3+=numberOfDigisMod; }
380 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
381 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
382 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
383 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
384 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
385 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
386 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
387 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
388 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
389 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
390 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
391 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
394 if(panel==1){
if(module==1)
nDP2P1M1+=numberOfDigisMod;
395 else if(module==2)
nDP2P1M2+=numberOfDigisMod;
396 else if(module==3)
nDP2P1M3+=numberOfDigisMod;
397 else if(module==4)
nDP2P1M4+=numberOfDigisMod;}
398 else if(panel==2){
if(module==1)
nDP2P2M1+=numberOfDigisMod;
399 else if(module==2)
nDP2P2M2+=numberOfDigisMod;
400 else if(module==3)
nDP2P2M3+=numberOfDigisMod; }
401 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
402 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
403 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
404 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
405 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
406 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
407 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
408 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
409 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
410 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
411 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
412 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
417 if(panel==1){
if(module==1)
nDP1P1M1+=numberOfDigisMod;
418 else if(module==2)
nDP1P1M2+=numberOfDigisMod;
419 else if(module==3)
nDP1P1M3+=numberOfDigisMod;
420 else if(module==4)
nDP1P1M4+=numberOfDigisMod;}
421 else if(panel==2){
if(module==1)
nDP1P2M1+=numberOfDigisMod;
422 else if(module==2)
nDP1P2M2+=numberOfDigisMod;
423 else if(module==3)
nDP1P2M3+=numberOfDigisMod; }
424 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
425 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
426 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
427 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
428 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
429 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
430 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
431 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
432 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
433 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
434 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
435 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
438 if(panel==1){
if(module==1)
nDP2P1M1+=numberOfDigisMod;
439 else if(module==2)
nDP2P1M2+=numberOfDigisMod;
440 else if(module==3)
nDP2P1M3+=numberOfDigisMod;
441 else if(module==4)
nDP2P1M4+=numberOfDigisMod;}
442 else if(panel==2){
if(module==1)
nDP2P2M1+=numberOfDigisMod;
443 else if(module==2)
nDP2P2M2+=numberOfDigisMod;
444 else if(module==3)
nDP2P2M3+=numberOfDigisMod; }
445 if(blade==1){
if(panel==1) iter=
i;
else if(panel==2) iter=i+1; }
446 if(blade==2){
if(panel==1) iter=i+2;
else if(panel==2) iter=i+3; }
447 if(blade==3){
if(panel==1) iter=i+4;
else if(panel==2) iter=i+5; }
448 if(blade==4){
if(panel==1) iter=i+6;
else if(panel==2) iter=i+7; }
449 if(blade==5){
if(panel==1) iter=i+8;
else if(panel==2) iter=i+9; }
450 if(blade==6){
if(panel==1) iter=i+10;
else if(panel==2) iter=i+11; }
451 if(blade==7){
if(panel==1) iter=i+12;
else if(panel==2) iter=i+13; }
452 if(blade==8){
if(panel==1) iter=i+14;
else if(panel==2) iter=i+15; }
453 if(blade==9){
if(panel==1) iter=i+16;
else if(panel==2) iter=i+17; }
454 if(blade==10){
if(panel==1) iter=i+18;
else if(panel==2) iter=i+19; }
455 if(blade==11){
if(panel==1) iter=i+20;
else if(panel==2) iter=i+21; }
456 if(blade==12){
if(panel==1) iter=i+22;
else if(panel==2) iter=i+23; }
464 for(
int i=768; i!=1440; i++){
466 if((*struct_iter).first ==
I_detId[i]){
481 int NzeroROCs[2] = {0,-672};
482 int NloEffROCs[2] = {0,-672};
483 std::string baseDirs[2] = {
"Pixel/Barrel",
"Pixel/Endcap"};
484 if (lumiSection%10> 2){
485 for (
int i = 0;
i < 2; ++
i){
486 theDMBE->
cd(baseDirs[
i]);
487 vector<string> shellDirs = theDMBE->
getSubdirs();
488 for (vector<string>::const_iterator it = shellDirs.begin(); it != shellDirs.end(); it++) {
490 vector<string> layDirs = theDMBE->
getSubdirs();
491 for (vector<string>::const_iterator itt = layDirs.begin(); itt != layDirs.end(); itt++) {
494 for (vector<string>::const_iterator im = contents.begin(); im != contents.end(); im++) {
495 if ((*im).find(
"rocmap") == string::npos)
continue;
499 me2 = theDMBE->
get((*itt)+
"/zeroOccROC_map");
503 float localX = float(ii)-0.5;
504 float localY = float(
jj)/2.0 + 1.25;
505 if (i ==1) localY = float(
jj)/2.0 + 0.75;
512 for (
int i =0;
i < 2; ++
i) NloEffROCs[
i] = NloEffROCs[
i] - NzeroROCs[
i];
515 if(menoOcc) menoOcc->
setBinContent(1+lumiSection/10, NzeroROCs[0]);
516 if(meloOcc) meloOcc->
setBinContent(1+lumiSection/10, NloEffROCs[0]);
519 if(menoOcc1) menoOcc1->
setBinContent(1+lumiSection/10, NzeroROCs[1]);
520 if(meloOcc1) meloOcc1->
setBinContent(1+lumiSection/10, NloEffROCs[1]);
528 meE=theDMBE->
get(
"Pixel/Endcap/ALLMODS_ndigisCHAN_Endcap");
530 meE1=theDMBE->
get(
"Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDm1");
532 meE2=theDMBE->
get(
"Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDm2");
534 meE3=theDMBE->
get(
"Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDp1");
536 meE4=theDMBE->
get(
"Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDp2");
546 me1=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh1");
548 me2=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh2");
550 me3=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh3");
552 me4=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh4");
554 me5=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh5");
556 me6=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh6");
558 me7=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh7");
560 me8=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh8");
562 me9=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh9");
564 me10=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh10");
566 me11=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh11");
568 me12=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh12");
570 me13=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh13");
572 me14=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh14");
574 me15=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh15");
576 me16=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh16");
578 me17=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh17");
580 me18=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh18");
582 me19=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh19");
584 me20=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh20");
586 me21=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh21");
588 me22=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh22");
590 me23=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh23");
592 me24=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh24");
594 me25=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh25");
596 me26=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh26");
598 me27=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh27");
600 me28=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh28");
602 me29=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh29");
604 me30=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh30");
606 me31=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh31");
608 me32=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh32");
610 me33=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh33");
612 me34=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh34");
614 me35=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh35");
616 me36=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh36");
622 meX1 = theDMBE->
get(
"Pixel/bigEventRate");
623 if(meX1) meX1->
Fill(lumiSection,1./23.);
629 if(nActiveModules>=4){
630 meX2 = theDMBE->
get(
"Pixel/pixEvtsPerBX");
631 if(meX2) meX2->
Fill(
float(bx));
632 meX3 = theDMBE->
get(
"Pixel/pixEventRate");
633 if(meX3) meX3->
Fill(lumiSection, 1./23.);
638 meX4 = theDMBE->
get(
"Pixel/averageDigiOccupancy");
639 meX5 = theDMBE->
get(
"Pixel/avgfedDigiOccvsLumi");
642 for(
int i=0;
i!=32;
i++){
645 for(
int i=0;
i!=40;
i++){
646 float averageOcc = 0.;
648 float averageBPIXFed = float(
nBPIXDigis-maxfed)/31.;
649 if(averageBPIXFed>0.) averageOcc =
nDigisPerFed[
i]/averageBPIXFed;
653 if(averageFPIXFed>0.) averageOcc =
nDigisPerFed[
i]/averageFPIXFed;
657 int lumiSections8 = int(lumiSection/8);
676 LogInfo (
"PixelDQM") <<
" SiPixelDigiSource::buildStructure" ;
680 LogVerbatim (
"PixelDQM") <<
" *** Geometry node for TrackerGeom is "<<&(*pDD)<<std::endl;
681 LogVerbatim (
"PixelDQM") <<
" *** I have " << pDD->dets().size() <<
" detectors"<<std::endl;
682 LogVerbatim (
"PixelDQM") <<
" *** I have " << pDD->detTypes().size() <<
" types"<<std::endl;
684 for(TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); it++){
686 if(dynamic_cast<PixelGeomDetUnit*>((*it))!=0){
688 DetId detId = (*it)->geographicalId();
689 const GeomDetUnit * geoUnit = pDD->idToDetUnit( detId );
696 LogDebug (
"PixelDQM") <<
" ---> Adding Barrel Module " << detId.
rawId() << endl;
697 uint32_t
id = detId();
702 LogDebug (
"PixelDQM") <<
" ---> Adding Endcap Module " << detId.
rawId() << endl;
703 uint32_t
id = detId();
712 char sside[80]; sprintf(sside,
"HalfCylinder_%i",side);
713 char sdisk[80]; sprintf(sdisk,
"Disk_%i",disk);
714 char sblade[80]; sprintf(sblade,
"Blade_%02i",blade);
715 char spanel[80]; sprintf(spanel,
"Panel_%i",panel);
716 char smodule[80];sprintf(smodule,
"Module_%i",module);
717 std::string side_str = sside;
718 std::string disk_str = sdisk;
719 bool mask = side_str.find(
"HalfCylinder_1")!=string::npos||
720 side_str.find(
"HalfCylinder_2")!=string::npos||
721 side_str.find(
"HalfCylinder_4")!=string::npos||
722 disk_str.find(
"Disk_2")!=string::npos;
725 if(
isPIB && mask)
continue;
742 char title[80]; sprintf(title,
"Rate of events with >%i digis;LumiSection;Rate [Hz]",
bigEventSize);
744 char title1[80]; sprintf(title1,
"Pixel events vs. BX;BX;# events");
746 char title2[80]; sprintf(title2,
"Rate of Pixel events;LumiSection;Rate [Hz]");
748 char title3[80]; sprintf(title3,
"Number of Zero-Occupancy Barrel ROCs;LumiSection;N_{ZERO-OCCUPANCY} Barrel ROCs");
750 char title4[80]; sprintf(title4,
"Number of Low-Efficiency Barrel ROCs;LumiSection;N_{LO EFF} Barrel ROCs");
752 char title5[80]; sprintf(title5,
"Number of Zero-Occupancy Endcap ROCs;LumiSection;N_{ZERO-OCCUPANCY} Endcap ROCs");
754 char title6[80]; sprintf(title6,
"Number of Low-Efficiency Endcap ROCs;LumiSection;N_{LO EFF} Endcap ROCs");
756 char title7[80]; sprintf(title7,
"Average digi occupancy per FED;FED;NDigis/<NDigis>");
760 char title4[80]; sprintf(title4,
"FED Digi Occupancy (NDigis/<NDigis>) vs LumiSections;Lumi Section;FED");
763 std::map<uint32_t,SiPixelDigiModule*>::iterator struct_iter;
775 <<
"[SiPixelDigiSource::bookMEs] Creation of DQM folder failed";
782 LogDebug (
"PixelDQM") <<
"PROBLEM WITH LADDER-FOLDER\n";
790 LogDebug (
"PixelDQM") <<
"PROBLEM WITH LAYER-FOLDER\n";
798 LogDebug (
"PixelDQM") <<
"PROBLEM WITH PHI-FOLDER\n";
805 LogDebug (
"PixelDQM") <<
"PROBLEM WITH BLADE-FOLDER\n";
812 LogDebug (
"PixelDQM") <<
"PROBLEM WITH DISK-FOLDER\n";
819 LogDebug (
"PixelDQM") <<
"PROBLEM WITH RING-FOLDER\n";
823 std::string currDir = theDMBE->
pwd();
824 theDMBE->
cd(
"Pixel/Barrel");
907 theDMBE->
cd(
"Pixel/Endcap");
920 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_
void cd(void)
go to top directory (ie. root)
#define DEFINE_FWK_MODULE(type)
MonitorElement * loOccROCsEndcap
MonitorElement * meNDigisCHANBarrelCh17_
MonitorElement * meNDigisCHANBarrelCh25_
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
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
int getNbinsY(void) const
get # of bins in Y-axis
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_
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
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
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
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