30 offlineXMLfile_(offlineXMLfile),
31 Tier0Flag_(Tier0Flag) {
33 " Creating SiPixelActionExecutor " <<
"\n" ;
45 " Deleting SiPixelActionExecutor " <<
"\n" ;
56 else localPath =
string(
"DQM/SiPixelMonitorClient/test/sipixel_monitorelement_config.xml");
69 int& sum_grandbarrel_freq,
70 int& sum_grandendcap_freq,
77 else localPath =
string(
"DQM/SiPixelMonitorClient/test/sipixel_monitorelement_config.xml");
84 cout <<
"SiPixelActionExecutor::readConfiguration: Failed to read TrackerMap configuration parameters!! ";
88 edm::LogInfo(
"SiPixelActionExecutor") <<
"Failed to read Barrel Summary configuration parameters!! " <<
"\n" ;
92 edm::LogInfo(
"SiPixelActionExecutor") <<
"Failed to read Endcap Summary configuration parameters!! " <<
"\n" ;
96 edm::LogInfo(
"SiPixelActionExecutor") <<
"Failed to read Grand Barrel Summary configuration parameters!! " <<
"\n" ;
100 edm::LogInfo(
"SiPixelActionExecutor") <<
"Failed to read Grand Endcap Summary configuration parameters!! " <<
"\n" ;
104 edm::LogInfo(
"SiPixelActionExecutor") <<
"Failed to read QTest Message Limit" <<
"\n" ;
108 edm::LogInfo(
"SiPixelActionExecutor") <<
"Failed to read Source Type" <<
"\n" ;
112 edm::LogInfo(
"SiPixelActionExecutor") <<
"Failed to read Calib Type" <<
"\n" ;
123 else localPath =
string(
"DQM/SiPixelMonitorClient/test/sipixel_monitorelement_config.xml");
130 cout <<
"SiPixelActionExecutor::readConfiguration: Failed to read TrackerMap configuration parameters!! ";
134 edm::LogInfo(
"SiPixelActionExecutor") <<
"Failed to read Summary configuration parameters!! " <<
"\n" ;
146 string barrel_structure_name;
147 vector<string> barrel_me_names;
150 else localPath =
string(
"DQM/SiPixelMonitorClient/test/sipixel_monitorelement_config.xml");
157 cout <<
"SiPixelActionExecutor::createSummary: Failed to read Barrel Summary configuration parameters!! ";
164 fillSummary(iBooker, iGetter, barrel_structure_name, barrel_me_names,
true, isUpgrade);
167 string endcap_structure_name;
168 vector<string> endcap_me_names;
170 edm::LogInfo(
"SiPixelActionExecutor") <<
"Failed to read Endcap Summary configuration parameters!! " <<
"\n" ;
179 fillSummary(iBooker,iGetter, endcap_structure_name, endcap_me_names,
false, isUpgrade);
184 string federror_structure_name;
185 vector<string> federror_me_names;
187 cout <<
"SiPixelActionExecutor::createSummary: Failed to read FED Error Summary configuration parameters!! ";
205 if (isUpgrade) {nBPixModules=1184;}
else {nBPixModules=768;}
209 DEV_adc_Barrel = iBooker.
book1D(
"DEV_adc_Barrel",
"Deviation from reference;Module;<adc_ref>-<adc>",nBPixModules,0.,nBPixModules);
210 DEV_ndigis_Barrel = iBooker.
book1D(
"DEV_ndigis_Barrel",
"Deviation from reference;Module;<ndigis_ref>-<ndigis>",nBPixModules,0.,nBPixModules);
211 DEV_charge_Barrel = iBooker.
book1D(
"DEV_charge_Barrel",
"Deviation from reference;Module;<charge_ref>-<charge>",nBPixModules,0.,nBPixModules);
212 DEV_nclusters_Barrel = iBooker.
book1D(
"DEV_nclusters_Barrel",
"Deviation from reference;Module;<nclusters_ref>-<nclusters>",nBPixModules,0.,nBPixModules);
213 DEV_size_Barrel = iBooker.
book1D(
"DEV_size_Barrel",
"Deviation from reference;Module;<size_ref>-<size>",nBPixModules,0.,nBPixModules);
216 DEV_adc_Endcap = iBooker.
book1D(
"DEV_adc_Endcap",
"Deviation from reference;Module;<adc_ref>-<adc>",672,0.,672.);
217 DEV_ndigis_Endcap = iBooker.
book1D(
"DEV_ndigis_Endcap",
"Deviation from reference;Module;<ndigis_ref>-<ndigis>",672,0.,672.);
218 DEV_charge_Endcap = iBooker.
book1D(
"DEV_charge_Endcap",
"Deviation from reference;Module;<charge_ref>-<charge>",672,0.,672.);
219 DEV_nclusters_Endcap = iBooker.
book1D(
"DEV_nclusters_Endcap",
"Deviation from reference;Module;<nclusters_ref>-<nclusters>",672,0.,672.);
220 DEV_size_Endcap = iBooker.
book1D(
"DEV_size_Endcap",
"Deviation from reference;Module;<size_ref>-<size>",672,0.,672.);
230 TH1* ref1; TH1* ref2;
231 TH1* ref3; TH1* ref4;
236 me1 = iGetter.
get(
"Pixel/Barrel/SUMDIG_adc_Barrel");
238 dev1 = iGetter.
get(
"Pixel/Barrel/DEV_adc_Barrel");
239 me2 = iGetter.
get(
"Pixel/Barrel/SUMDIG_ndigis_Barrel");
241 dev2 = iGetter.
get(
"Pixel/Barrel/DEV_ndigis_Barrel");
242 me3 = iGetter.
get(
"Pixel/Barrel/SUMCLU_charge_Barrel");
244 dev3 = iGetter.
get(
"Pixel/Barrel/DEV_charge_Barrel");
245 me4 = iGetter.
get(
"Pixel/Barrel/SUMCLU_nclusters_Barrel");
247 dev4 = iGetter.
get(
"Pixel/Barrel/DEV_nclusters_Barrel");
248 me5 = iGetter.
get(
"Pixel/Barrel/SUMCLU_size_Barrel");
250 dev5 = iGetter.
get(
"Pixel/Barrel/DEV_size_Barrel");
251 for(
int i=1;
i!=n+1;
i++){
252 float ref_value;
float new_value;
254 if(me1)
if(ref1)
if(dev1){
256 ref_value = ref1->GetBinContent(
i);
260 if(me2)
if(ref2)
if(dev2){
262 ref_value = ref2->GetBinContent(
i);
266 if(me3)
if(ref3)
if(dev3){
268 ref_value = ref3->GetBinContent(
i);
272 if(me4)
if(ref4)
if(dev4){
274 ref_value = ref4->GetBinContent(
i);
278 if(me5)
if(ref5)
if(dev5){
280 ref_value = ref5->GetBinContent(
i);
289 TH1* ref11; TH1* ref12;
290 TH1* ref13; TH1* ref14;
295 me11 = iGetter.
get(
"Pixel/Endcap/SUMDIG_adc_Endcap");
297 dev11 = iGetter.
get(
"Pixel/Endcap/DEV_adc_Endcap");
298 me12 = iGetter.
get(
"Pixel/Endcap/SUMDIG_ndigis_Endcap");
300 dev12 = iGetter.
get(
"Pixel/Endcap/DEV_ndigis_Endcap");
301 me13 = iGetter.
get(
"Pixel/Endcap/SUMCLU_charge_Endcap");
303 dev13 = iGetter.
get(
"Pixel/Endcap/DEV_charge_Endcap");
304 me14 = iGetter.
get(
"Pixel/Endcap/SUMCLU_nclusters_Endcap");
306 dev14 = iGetter.
get(
"Pixel/Endcap/DEV_nclusters_Endcap");
307 me15 = iGetter.
get(
"Pixel/Endcap/SUMCLU_size_Endcap");
309 dev15 = iGetter.
get(
"Pixel/Endcap/DEV_size_Endcap");
310 for(
int i=1;
i!=nn+1;
i++){
311 float ref_value;
float new_value;
313 if(me11)
if(ref11)
if(dev11){
315 ref_value = ref11->GetBinContent(
i);
319 if(me12)
if(ref12)
if(dev12){
321 ref_value = ref12->GetBinContent(
i);
325 if(me13)
if(ref13)
if(dev13){
327 ref_value = ref13->GetBinContent(
i);
331 if(me14)
if(ref14)
if(dev14){
333 ref_value = ref14->GetBinContent(
i);
337 if(me15)
if(ref15)
if(dev15){
339 ref_value = ref15->GetBinContent(
i);
349 blade_subdirs.clear();
352 for (vector<string>::const_iterator it = panels.begin(); it != panels.end(); it++) {
356 for (vector<string>::const_iterator m_it = modules.begin(); m_it != modules.end(); m_it++) {
357 blade_subdirs.push_back(*m_it);
370 string currDir = iBooker.
pwd();
379 if (currDir.find(dir_name) != string::npos) {
380 vector<MonitorElement*> sum_mes;
381 for (vector<string>::const_iterator iv = me_names.begin();
382 iv != me_names.end(); iv++) {
384 if((*iv)==
"errorType"||(*iv)==
"NErrors"||(*iv)==
"fullType"||(*iv)==
"chanNmbr"||
385 (*iv)==
"TBMType"||(*iv)==
"EvtNbr"||(*iv)==
"evtSize"||(*iv)==
"linkId"||
386 (*iv)==
"ROCId"||(*iv)==
"DCOLId"||(*iv)==
"PXId"||(*iv)==
"ROCNmbr"||
387 (*iv)==
"TBMMessage"||(*iv)==
"Type36Hitmap")
389 else if((*iv)==
"ndigis"||(*iv)==
"adc")
391 else if((*iv)==
"nclusters"||(*iv)==
"x"||(*iv)==
"y"||(*iv)==
"charge"||
392 (*iv)==
"size"||(*iv)==
"sizeX"||(*iv)==
"sizeY"||(*iv)==
"minrow"||
393 (*iv)==
"maxrow"||(*iv)==
"mincol"||(*iv)==
"maxcol")
395 if(currDir.find(
"Track")!=string::npos) prefix=
"SUMTRK";
396 else if((*iv)==
"residualX"||(*iv)==
"residualY")
398 else if((*iv)==
"ClustX"||(*iv)==
"ClustY"||(*iv)==
"nRecHits"||(*iv)==
"ErrorX"||(*iv)==
"ErrorY")
400 else if((*iv)==
"Gain1d"||(*iv)==
"GainChi2NDF1d"||
401 (*iv)==
"GainChi2Prob1d"||(*iv)==
"Pedestal1d"||
402 (*iv)==
"GainNPoints1d"||(*iv)==
"GainHighPoint1d"||
403 (*iv)==
"GainLowPoint1d"||(*iv)==
"GainEndPoint1d"||
404 (*iv)==
"GainFitResult2d"||(*iv)==
"GainDynamicRange2d"||
405 (*iv)==
"GainSaturate2d"||
406 (*iv)==
"ScurveChi2ProbSummary"||(*iv)==
"ScurveFitResultSummary"||
407 (*iv)==
"ScurveSigmasSummary"||(*iv)==
"ScurveThresholdSummary"||
408 (*iv)==
"pixelAliveSummary" || (*iv) ==
"SiPixelErrorsCalibDigis")
412 if((*iv).find(
"residual")!=string::npos){
413 tag = prefix +
"_" + (*iv) +
"_mean_"
414 + currDir.substr(currDir.find(dir_name));
416 sum_mes.push_back(temp);
417 tag = prefix +
"_" + (*iv) +
"_RMS_"
418 + currDir.substr(currDir.find(dir_name));
420 sum_mes.push_back(temp);
421 }
else if(prefix ==
"SUMCAL"){
422 if((*iv)==
"Gain1d" || (*iv)==
"GainChi2NDF1d" || (*iv)==
"GainChi2Prob1d" ||
423 (*iv)==
"GainNPoints1d" || (*iv)==
"GainHighPoint1d" ||
424 (*iv)==
"GainLowPoint1d" || (*iv)==
"GainEndPoint1d" ||
425 (*iv)==
"GainDynamicRange2d" || (*iv)==
"GainSaturate2d" ||
426 (*iv)==
"Pedestal1d" ||
427 (*iv)==
"ScurveChi2ProbSummary" || (*iv)==
"ScurveFitResultSummary" ||
428 (*iv)==
"ScurveSigmasSummary" || (*iv)==
"ScurveThresholdSummary"){
429 tag = prefix +
"_" + (*iv) +
"_mean_"
430 + currDir.substr(currDir.find(dir_name));
432 sum_mes.push_back(temp);
433 tag = prefix +
"_" + (*iv) +
"_RMS_"
434 + currDir.substr(currDir.find(dir_name));
436 sum_mes.push_back(temp);
437 }
else if((*iv) ==
"SiPixelErrorsCalibDigis"){
438 tag = prefix +
"_" + (*iv) +
"_NCalibErrors_"
439 + currDir.substr(currDir.find(dir_name));
441 sum_mes.push_back(temp);
442 }
else if((*iv)==
"GainFitResult2d"){
443 tag = prefix +
"_" + (*iv) +
"_NNegativeFits_"
444 + currDir.substr(currDir.find(dir_name));
446 sum_mes.push_back(temp);
447 }
else if((*iv)==
"pixelAliveSummary"){
448 tag = prefix +
"_" + (*iv) +
"_FracOfPerfectPix_"
449 + currDir.substr(currDir.find(dir_name));
451 sum_mes.push_back(temp);
452 tag = prefix +
"_" + (*iv) +
"_mean_"
453 + currDir.substr(currDir.find(dir_name));
455 sum_mes.push_back(temp);
458 tag = prefix +
"_" + (*iv) +
"_" + currDir.substr(currDir.find(dir_name));
460 sum_mes.push_back(temp);
462 tag = prefix +
"_" + (*iv) +
"FREQ_"
463 + currDir.substr(currDir.find(dir_name));
465 sum_mes.push_back(temp);
467 if(prefix==
"SUMDIG" && (*iv)==
"adc"){
468 tag =
"ALLMODS_" + (*iv) +
"COMB_" + currDir.substr(currDir.find(dir_name));
469 temp = iBooker.
book1D(tag.c_str(), tag.c_str(),128, 0., 256.);
470 sum_mes.push_back(temp);
472 if(prefix==
"SUMCLU" && (*iv)==
"charge"){
473 tag =
"ALLMODS_" + (*iv) +
"COMB_" + currDir.substr(currDir.find(dir_name));
474 temp = iBooker.
book1D(tag.c_str(), tag.c_str(),100, 0., 200.);
475 sum_mes.push_back(temp);
479 if (sum_mes.size() == 0) {
480 edm::LogInfo(
"SiPixelActionExecutor") <<
" Summary MEs can not be created" <<
"\n" ;
483 vector<string> subdirs = iGetter.
getSubdirs();
485 if(dir_name.find(
"Blade_") == 0)
GetBladeSubdirs(iBooker, iGetter, subdirs);
488 for (vector<string>::const_iterator it = subdirs.begin();
489 it != subdirs.end(); it++) {
490 if (prefix!=
"SUMOFF" && (*it).find(
"Module_") == string::npos)
continue;
491 if (prefix==
"SUMOFF" && (*it).find(isbarrel?
"Layer_":
"Disk_") == string::npos)
continue;
498 for (vector<MonitorElement*>::const_iterator
isum = sum_mes.begin();
500 for (vector<string>::const_iterator im = contents.begin();
501 im != contents.end(); im++) {
502 string sname = ((*isum)->getName());
504 tname = sname.substr(7,(sname.find(
"_",7)-6));
505 if(sname.find(
"ALLMODS_adcCOMB_")!=string::npos) tname =
"adc_";
506 if(sname.find(
"ALLMODS_chargeCOMB_")!=string::npos) tname =
"charge_";
507 if(sname.find(
"_charge_")!=string::npos && sname.find(
"Track_")==string::npos) tname =
"charge_";
508 if(sname.find(
"_nclusters_")!=string::npos && sname.find(
"Track_")==string::npos) tname =
"nclusters_";
509 if(sname.find(
"_size_")!=string::npos && sname.find(
"Track_")==string::npos) tname =
"size_";
510 if(sname.find(
"_charge_OffTrack_")!=string::npos) tname =
"charge_OffTrack_";
511 if(sname.find(
"_nclusters_OffTrack_")!=string::npos) tname =
"nclusters_OffTrack_";
512 if(sname.find(
"_size_OffTrack_")!=string::npos) tname =
"size_OffTrack_";
513 if(sname.find(
"_sizeX_OffTrack_")!=string::npos) tname =
"sizeX_OffTrack_";
514 if(sname.find(
"_sizeY_OffTrack_")!=string::npos) tname =
"sizeY_OffTrack_";
515 if(sname.find(
"_charge_OnTrack_")!=string::npos) tname =
"charge_OnTrack_";
516 if(sname.find(
"_nclusters_OnTrack_")!=string::npos) tname =
"nclusters_OnTrack_";
517 if(sname.find(
"_size_OnTrack_")!=string::npos) tname =
"size_OnTrack_";
518 if(sname.find(
"_sizeX_OnTrack_")!=string::npos) tname =
"sizeX_OnTrack_";
519 if(sname.find(
"_sizeY_OnTrack_")!=string::npos) tname =
"sizeY_OnTrack_";
520 if(tname.find(
"FREQ")!=string::npos) tname =
"ndigis_";
521 if (((*im)).find(tname) == 0) {
522 string fullpathname = iBooker.
pwd() +
"/" + (*im);
526 if(sname.find(
"_charge")!=string::npos && sname.find(
"Track_")==string::npos && me->
getName().find(
"Track_")!=string::npos)
continue;
527 if(sname.find(
"_nclusters_")!=string::npos && sname.find(
"Track_")==string::npos && me->
getName().find(
"Track_")!=string::npos)
continue;
528 if(sname.find(
"_size")!=string::npos && sname.find(
"Track_")==string::npos && me->
getName().find(
"Track_")!=string::npos)
continue;
530 if (sname.find(
"_RMS_")!=string::npos &&
531 sname.find(
"GainDynamicRange2d")==string::npos &&
532 sname.find(
"GainSaturate2d")==string::npos){
534 }
else if (sname.find(
"GainDynamicRange2d")!=string::npos ||
535 sname.find(
"GainSaturate2d")!=string::npos){
536 float SumOfEntries=0.;
float SumOfSquaredEntries=0.;
int SumOfPixels=0;
543 float MeanInZ = SumOfEntries / float(SumOfPixels);
544 float RMSInZ =
sqrt(SumOfSquaredEntries/
float(SumOfPixels));
545 if(sname.find(
"_mean_")!=string::npos) (*isum)->Fill(ndet, MeanInZ);
546 if(sname.find(
"_RMS_")!=string::npos) (*isum)->Fill(ndet, RMSInZ);
547 }
else if (sname.find(
"_FracOfPerfectPix_")!=string::npos){
549 float nall = (me->
getTH1F())->Integral(1,11);
550 (*isum)->Fill(ndet, nlast/nall);
551 }
else if (sname.find(
"_NCalibErrors_")!=string::npos ||
552 sname.find(
"FREQ_")!=string::npos){
554 (*isum)->Fill(ndet, nall);
555 }
else if (sname.find(
"GainFitResult2d")!=string::npos){
560 (*isum)->Fill(ndet,
float(NegFitPixels));
561 }
else if (sname.find(
"ALLMODS_adcCOMB_")!=string::npos ||
562 (sname.find(
"ALLMODS_chargeCOMB_")!=string::npos && me->
getName().find(
"Track_")==string::npos)){
563 (*isum)->getTH1F()->Add(me->
getTH1F());
564 }
else if (sname.find(
"_NErrors_")!=string::npos){
565 string path1 = fullpathname;
566 path1 = path1.replace(path1.find(
"NErrors"),7,
"errorType");
570 for(
int jj=1;
jj<16;
jj++){
573 string path2 = path1;
574 path2 = path2.replace(path2.find(
"errorType"),9,
"TBMMessage");
582 }
else if ((sname.find(
"_charge_")!=string::npos && sname.find(
"Track_")==string::npos &&
583 me->
getName().find(
"Track_")==string::npos) ||
584 (sname.find(
"_charge_")!=string::npos && sname.find(
"_OnTrack_")!=string::npos &&
585 me->
getName().find(
"_OnTrack_")!=string::npos) ||
586 (sname.find(
"_charge_")!=string::npos && sname.find(
"_OffTrack_")!=string::npos &&
587 me->
getName().find(
"_OffTrack_")!=string::npos) ||
588 (sname.find(
"_nclusters_")!=string::npos && sname.find(
"Track_")==string::npos &&
589 me->
getName().find(
"Track_")==string::npos) ||
590 (sname.find(
"_nclusters_")!=string::npos && sname.find(
"_OnTrack_")!=string::npos &&
591 me->
getName().find(
"_OnTrack_")!=string::npos) ||
592 (sname.find(
"_nclusters_")!=string::npos && sname.find(
"_OffTrack_")!=string::npos &&
593 me->
getName().find(
"_OffTrack_")!=string::npos) ||
594 (sname.find(
"_size")!=string::npos && sname.find(
"Track_")==string::npos &&
595 me->
getName().find(
"Track_")==string::npos) ||
596 (sname.find(
"_size")!=string::npos && sname.find(
"_OnTrack_")!=string::npos &&
597 me->
getName().find(
"_OnTrack_")!=string::npos) ||
598 (sname.find(
"_size")!=string::npos && sname.find(
"_OffTrack_")!=string::npos &&
599 me->
getName().find(
"_OffTrack_")!=string::npos)){
600 (*isum)->Fill(ndet, me->
getMean());
601 }
else if(sname.find(
"_charge_")==string::npos && sname.find(
"_nclusters_")==string::npos && sname.find(
"_size")==string::npos){
602 (*isum)->Fill(ndet, me->
getMean());
606 if(prefix==
"SUMOFF"){
607 (*isum)->setAxisTitle(isbarrel?
"Ladders":
"Blades",1);
608 }
else if(sname.find(
"ALLMODS_adcCOMB_")!=string::npos){
609 (*isum)->setAxisTitle(
"Digi charge [ADC]",1);
610 }
else if(sname.find(
"ALLMODS_chargeCOMB_")!=string::npos){
611 (*isum)->setAxisTitle(
"Cluster charge [kilo electrons]",1);
613 (*isum)->setAxisTitle(
"Modules",1);
616 if (sname.find(
"_RMS_")!=string::npos){
617 title =
"RMS of " + sname.substr(7,(sname.find(
"_",7)-7)) +
" per module";
618 }
else if (sname.find(
"_FracOfPerfectPix_")!=string::npos){
619 title =
"FracOfPerfectPix " + sname.substr(7,(sname.find(
"_",7)-7)) +
" per module";
620 }
else if(sname.find(
"_NCalibErrors_")!=string::npos){
621 title =
"Number of CalibErrors " + sname.substr(7,(sname.find(
"_",7)-7)) +
" per module";
622 }
else if(sname.find(
"_NNegativeFits_")!=string::npos){
623 title =
"Number of pixels with neg. fit result " + sname.substr(7,(sname.find(
"_",7)-7)) +
" per module";
624 }
else if (sname.find(
"FREQ_")!=string::npos){
625 title =
"NEvents with digis per module";
626 }
else if (sname.find(
"ALLMODS_adcCOMB_")!=string::npos){
628 }
else if (sname.find(
"ALLMODS_chargeCOMB_")!=string::npos){
630 }
else if (sname.find(
"_NErrors_")!=string::npos){
631 if(prefix==
"SUMOFF" && isbarrel) title =
"Total number of errors per Ladder";
632 else if(prefix==
"SUMOFF" && !isbarrel) title =
"Total number of errors per Blade";
633 else title =
"Total number of errors per Module";
635 if(prefix==
"SUMOFF") title =
"Mean " + sname.substr(7,(sname.find(
"_",7)-7)) + (isbarrel?
" per Ladder":
" per Blade");
636 else title =
"Mean " + sname.substr(7,(sname.find(
"_",7)-7)) +
" per Module";
638 (*isum)->setAxisTitle(title,2);
646 if(dir_name.find(
"Blade") == 0) {
652 vector<string> subdirs = iGetter.
getSubdirs();
657 for (vector<string>::const_iterator it = subdirs.begin();
658 it != subdirs.end(); it++) {
660 if((iBooker.
pwd()).
find(
"Endcap")!=string::npos ||
661 (iBooker.
pwd()).
find(
"AdditionalPixelErrors")!=string::npos) {
667 if((*it).find(
"Endcap")!=string::npos ||
668 (*it).find(
"AdditionalPixelErrors")!=string::npos)
continue;
669 fillSummary(iBooker, iGetter, dir_name, me_names,
true, isUpgrade);
673 string grandbarrel_structure_name;
674 vector<string> grandbarrel_me_names;
676 cout <<
"SiPixelActionExecutor::createSummary: Failed to read Grand Barrel Summary configuration parameters!! ";
685 for (vector<string>::const_iterator it = subdirs.begin();
686 it != subdirs.end(); it++) {
687 if((iBooker.
pwd()).
find(
"Barrel")!=string::npos ||
688 (iBooker.
pwd()).
find(
"AdditionalPixelErrors")!=string::npos){
694 if ((*it).find(
"Barrel")!=string::npos ||
695 (*it).find(
"AdditionalPixelErrors")!=string::npos)
continue;
696 fillSummary(iBooker, iGetter, dir_name, me_names,
false, isUpgrade);
700 string grandendcap_structure_name;
701 vector<string> grandendcap_me_names;
703 cout <<
"SiPixelActionExecutor::createSummary: Failed to read Grand Endcap Summary configuration parameters!! ";
719 vector<string>& me_names) {
721 string currDir = iBooker.
pwd();
726 if (currDir.find(dir_name) != string::npos) {
727 vector<MonitorElement*> sum_mes;
728 for (vector<string>::const_iterator iv = me_names.begin();
729 iv != me_names.end(); iv++) {
730 bool isBooked =
false;
732 for (vector<string>::const_iterator im = contents.begin(); im != contents.end(); im++)
733 if ((*im).find(*iv) != string::npos) isBooked =
true;
735 if((*iv)==
"errorType"||(*iv)==
"NErrors"||(*iv)==
"fullType"||(*iv)==
"chanNmbr"||
736 (*iv)==
"TBMType"||(*iv)==
"EvtNbr"||(*iv)==
"evtSize"||(*iv)==
"linkId"||
737 (*iv)==
"ROCId"||(*iv)==
"DCOLId"||(*iv)==
"PXId"||(*iv)==
"ROCNmbr"||
738 (*iv)==
"TBMMessage"||(*iv)==
"Type36Hitmap"||
739 (*iv)==
"FedChLErr"||(*iv)==
"FedChNErr"||(*iv)==
"FedETypeNErr")
742 if((*iv)==
"errorType"||(*iv)==
"NErrors"||(*iv)==
"fullType"||(*iv)==
"chanNmbr"||
743 (*iv)==
"TBMType"||(*iv)==
"EvtNbr"||(*iv)==
"evtSize"||(*iv)==
"linkId"||
744 (*iv)==
"ROCId"||(*iv)==
"DCOLId"||(*iv)==
"PXId"||(*iv)==
"ROCNmbr"||
745 (*iv)==
"TBMMessage"||(*iv)==
"Type36Hitmap"){
746 string tag = prefix +
"_" + (*iv) +
"_FEDErrors";
748 sum_mes.push_back(temp);
749 }
else if((*iv)==
"FedChLErr"||(*iv)==
"FedChNErr"||(*iv)==
"FedETypeNErr"){
750 string tag = prefix +
"_" + (*iv);
752 if((*iv)==
"FedChLErr") {
if (!isBooked) temp = iBooker.
book2D(
"FedChLErr",
"Type of last error",40,-0.5,39.5,37,0.,37.);
754 string fullpathname = iBooker.
pwd() +
"/" + (*iv);
755 temp = iGetter.
get(fullpathname);
757 if((*iv)==
"FedChNErr") {
if (!isBooked) temp = iBooker.
book2D(
"FedChNErr",
"Total number of errors",40,-0.5,39.5,37,0.,37.);
759 string fullpathname = iBooker.
pwd() +
"/" + (*iv);
760 temp = iGetter.
get(fullpathname);
762 if((*iv)==
"FedETypeNErr"){
764 temp = iBooker.
book2D(
"FedETypeNErr",
"Number of each error type",40,-0.5,39.5,21,0.,21.);
788 string fullpathname = iBooker.
pwd() +
"/" + (*iv);
789 temp = iGetter.
get(fullpathname);
792 sum_mes.push_back(temp);
795 if (sum_mes.size() == 0) {
796 edm::LogInfo(
"SiPixelActionExecutor") <<
" Summary MEs can not be created" <<
"\n" ;
799 vector<string> subdirs = iGetter.
getSubdirs();
801 for (vector<string>::const_iterator it = subdirs.begin();
802 it != subdirs.end(); it++) {
803 if ( (*it).find(
"FED_") == string::npos)
continue;
806 string fedid = (*it).substr((*it).find(
"_")+1);
807 std::istringstream isst;
812 for (vector<MonitorElement*>::const_iterator
isum = sum_mes.begin();
814 for (vector<string>::const_iterator im = contents.begin();
815 im != contents.end(); im++) {
816 if(((*im).find(
"FedChNErr")!=std::string::npos && (*isum)->getName().find(
"FedChNErr")!=std::string::npos) ||
817 ((*im).find(
"FedChLErr")!=std::string::npos && (*isum)->getName().find(
"FedChLErr")!=std::string::npos) ||
818 ((*im).find(
"FedETypeNErr")!=std::string::npos && (*isum)->getName().find(
"FedETypeNErr")!=std::string::npos)){
819 string fullpathname = iBooker.
pwd() +
"/" + (*im);
822 for(
int i=0;
i!=37;
i++){
823 if((*im).find(
"FedETypeNErr")!=std::string::npos &&
i<21) (*isum)->
Fill(ndet-1,
i,me->
getBinContent(
i+1));
828 string sname = ((*isum)->getName());
830 tname = sname.substr(7,(sname.find(
"_",7)-6));
831 if (((*im)).
find(tname) == 0) {
832 string fullpathname = iBooker.
pwd() +
"/" + (*im);
837 if (sname.find(
"_NErrors_")!=string::npos){
838 string path1 = fullpathname;
839 path1 = path1.replace(path1.find(
"NErrors"),7,
"errorType");
843 for(
int jj=1;
jj<16;
jj++){
846 string path2 = path1;
847 path2 = path2.replace(path2.find(
"errorType"),9,
"TBMMessage");
855 }
else (*isum)->setBinContent(ndet, (*isum)->getBinContent(ndet) + me->
getEntries());
857 (*isum)->setAxisTitle(
"FED #",1);
859 title = sname.substr(7,(sname.find(
"_",7)-7)) +
" per FED";
860 (*isum)->setAxisTitle(title,2);
870 vector<string> subdirs = iGetter.
getSubdirs();
871 for (vector<string>::const_iterator it = subdirs.begin();
872 it != subdirs.end(); it++) {
873 if((*it).find(
"Endcap")!=string::npos ||
874 (*it).find(
"Barrel")!=string::npos)
continue;
889 vector<string>& me_names,
892 vector<MonitorElement*> gsum_mes;
893 string currDir = iBooker.
pwd();
895 string dir_name = path_name.substr(path_name.find_last_of(
"/")+1);
896 if ((dir_name.find(
"DQMData") == 0) ||
897 (dir_name.find(
"Pixel") == 0) ||
898 (dir_name.find(
"AdditionalPixelErrors") == 0) ||
899 (dir_name.find(
"Endcap") == 0) ||
900 (dir_name.find(
"HalfCylinder") == 0) ||
901 (dir_name.find(
"Disk") == 0) ||
902 (dir_name.find(
"Blade") == 0) ||
903 (dir_name.find(
"Panel") == 0) )
return;
904 vector<string> subdirs = iGetter.
getSubdirs();
905 int nDirs = subdirs.size();
911 bool first_subdir =
true;
912 for (vector<string>::const_iterator it = subdirs.begin();
913 it != subdirs.end(); it++) {
932 for (vector<string>::const_iterator im = contents.begin();
933 im != contents.end(); im++) {
934 for (vector<string>::const_iterator iv = me_names.begin();
935 iv != me_names.end(); iv++) {
936 string var =
"_" + (*iv) +
"_";
937 if ((*im).find(var) != string::npos) {
938 if((var==
"_charge_" || var==
"_nclusters_" || var==
"_size_" || var==
"_sizeX_" || var==
"_sizeY_") &&
939 (*im).find(
"Track_")!=string::npos)
continue;
940 string full_path = (*it) +
"/" +(*im);
944 if((*iv)==
"errorType"||(*iv)==
"NErrors"||(*iv)==
"fullType"||(*iv)==
"chanNmbr"||
945 (*iv)==
"TBMType"||(*iv)==
"EvtNbr"||(*iv)==
"evtSize"||(*iv)==
"linkId"||
946 (*iv)==
"ROCId"||(*iv)==
"DCOLId"||(*iv)==
"PXId"||(*iv)==
"ROCNmbr"||
947 (*iv)==
"TBMMessage"||(*iv)==
"Type36Hitmap")
949 else if((*iv)==
"ndigis"||(*iv)==
"adc" ||
950 (*iv)==
"ndigisFREQ" || (*iv)==
"adcCOMB")
952 else if((*iv)==
"nclusters"||(*iv)==
"x"||(*iv)==
"y"||(*iv)==
"charge"||(*iv)==
"chargeCOMB"||
953 (*iv)==
"size"||(*iv)==
"sizeX"||(*iv)==
"sizeY"||(*iv)==
"minrow"||
954 (*iv)==
"maxrow"||(*iv)==
"mincol"||(*iv)==
"maxcol")
956 if(currDir.find(
"Track")!=string::npos) prefix=
"SUMTRK";
957 else if((*iv)==
"residualX_mean"||(*iv)==
"residualY_mean"||
958 (*iv)==
"residualX_RMS"||(*iv)==
"residualY_RMS")
960 else if((*iv)==
"ClustX"||(*iv)==
"ClustY"||(*iv)==
"nRecHits"||(*iv)==
"ErrorX"||(*iv)==
"ErrorY")
962 else if((*iv)==
"Gain1d_mean"||(*iv)==
"GainChi2NDF1d_mean"||
963 (*iv)==
"GainChi2Prob1d_mean"||(*iv)==
"Pedestal1d_mean"||
964 (*iv)==
"ScurveChi2ProbSummary_mean"||(*iv)==
"ScurveFitResultSummary_mean"||
965 (*iv)==
"ScurveSigmasSummary_mean"||(*iv)==
"ScurveThresholdSummary_mean"||
966 (*iv)==
"Gain1d_RMS"||(*iv)==
"GainChi2NDF1d_RMS"||
967 (*iv)==
"GainChi2Prob1d_RMS"||(*iv)==
"Pedestal1d_RMS"||
968 (*iv)==
"GainNPoints1d_mean" || (*iv)==
"GainNPoints1d_RMS" ||
969 (*iv)==
"GainHighPoint1d_mean" || (*iv)==
"GainHighPoint1d_RMS" ||
970 (*iv)==
"GainLowPoint1d_mean" || (*iv)==
"GainLowPoint1d_RMS" ||
971 (*iv)==
"GainEndPoint1d_mean" || (*iv)==
"GainEndPoint1d_RMS" ||
972 (*iv)==
"GainFitResult2d_mean" || (*iv)==
"GainFitResult2d_RMS" ||
973 (*iv)==
"GainDynamicRange2d_mean" || (*iv)==
"GainDynamicRange2d_RMS" ||
974 (*iv)==
"GainSaturate2d_mean" || (*iv)==
"GainSaturate2d_RMS" ||
975 (*iv)==
"ScurveChi2ProbSummary_RMS"||(*iv)==
"ScurveFitResultSummary_RMS"||
976 (*iv)==
"ScurveSigmasSummary_RMS"||(*iv)==
"ScurveThresholdSummary_RMS"||
977 (*iv)==
"pixelAliveSummary_mean"||(*iv)==
"pixelAliveSummary_FracOfPerfectPix" ||
978 (*iv)==
"SiPixelErrorsCalibDigis_NCalibErrors" )
982 if (first_subdir && !isUpgrade){
983 nbin = me->
getTH1F()->GetNbinsX();
984 string me_name = prefix +
"_" + (*iv) +
"_" +
dir_name;
985 if((*iv)==
"adcCOMB"||(*iv)==
"chargeCOMB") me_name =
"ALLMODS_" + (*iv) +
"_" +
dir_name;
986 else if(prefix==
"SUMOFF" && dir_name==
"Barrel") nbin=192;
987 else if((*iv)==
"adcCOMB") nbin=256;
988 else if(dir_name==
"Barrel") nbin=768;
989 else if(prefix==
"SUMOFF" && dir_name.find(
"Shell")!=string::npos) nbin=48;
990 else if(dir_name.find(
"Shell")!=string::npos) nbin=192;
991 else nbin=nbin*nDirs;
994 }
else if (first_subdir && isUpgrade){
995 nbin = me->
getTH1F()->GetNbinsX();
996 string me_name = prefix +
"_" + (*iv) +
"_" +
dir_name;
997 if((*iv)==
"adcCOMB"||(*iv)==
"chargeCOMB") me_name =
"ALLMODS_" + (*iv) +
"_" +
dir_name;
998 else if(prefix==
"SUMOFF" && dir_name==
"Barrel") nbin=296;
999 else if((*iv)==
"adcCOMB") nbin=256;
1000 else if(dir_name==
"Barrel") nbin=1184;
1001 else if(prefix==
"SUMOFF" && dir_name.find(
"Shell")!=string::npos) nbin=74;
1002 else if(dir_name.find(
"Shell")!=string::npos) nbin=296;
1003 else nbin=nbin*nDirs;
1008 for (vector<MonitorElement*>::const_iterator igm = gsum_mes.begin();
1009 igm != gsum_mes.end(); igm++) {
1010 if ((*igm)->getName().find(var) != string::npos) {
1011 if(prefix==
"SUMOFF") (*igm)->setAxisTitle(
"Ladders",1);
1012 else if((*igm)->getName().find(
"adcCOMB_")!=string::npos) (*igm)->setAxisTitle(
"Digi charge [ADC]",1);
1013 else if((*igm)->getName().find(
"chargeCOMB_")!=string::npos) (*igm)->setAxisTitle(
"Cluster charge [kilo electrons]",1);
1014 else (*igm)->setAxisTitle(
"Modules",1);
1019 if((*igm)->getName().find(
"NErrors_") != string::npos && prefix==
"SUMOFF") title =
"Total number of errors per Ladder";
1020 else if((*igm)->getName().find(
"NErrors_") != string::npos && prefix==
"SUMRAW") title =
"Total number of errors per Module";
1021 else if(prefix==
"SUMOFF") title =
"mean " + (*iv) +
" per Ladder";
1022 else if((*igm)->getName().find(
"FREQ_") != string::npos && prefix!=
"SUMOFF") title =
"NEvents with digis per Module";
1023 else if((*igm)->getName().find(
"FREQ_") != string::npos && prefix==
"SUMOFF") title =
"NEvents with digis per Ladder/Blade";
1024 else if((*igm)->getName().find(
"adcCOMB_") != string::npos) title =
"NDigis";
1025 else if((*igm)->getName().find(
"chargeCOMB_") != string::npos) title =
"NClusters";
1026 else title =
"mean " + (*iv) +
" per Module";
1027 (*igm)->setAxisTitle(title,2);
1031 if((*igm)->getName().find(
"ALLMODS_adcCOMB_")!=string::npos){
1033 }
else if((*igm)->getName().find(
"ALLMODS_chargeCOMB_")!=string::npos){
1035 }
else if((*igm)->getName().find(
"Ladder") != string::npos){
1036 nbin_i=0; nbin_subdir=4;
1037 }
else if((*igm)->getName().find(
"Layer") != string::npos){
1038 nbin_i=(cnt-1)*4; nbin_subdir=4;
1039 }
else if((*igm)->getName().find(
"Shell") != string::npos){
1040 if(prefix!=
"SUMOFF"){
1041 if(iDir==0){ nbin_i=0; nbin_subdir=40; }
1042 else if(iDir==1){ nbin_i=40; nbin_subdir=64; }
1043 else if(iDir==2){ nbin_i=104; nbin_subdir=88; }
1045 if(iDir==0){ nbin_i=0; nbin_subdir=10; }
1046 else if(iDir==1){ nbin_i=10; nbin_subdir=16; }
1047 else if(iDir==2){ nbin_i=26; nbin_subdir=22; }
1049 }
else if((*igm)->getName().find(
"Barrel") != string::npos){
1050 if(prefix!=
"SUMOFF"){
1051 if(iDir==0){ nbin_i=0; nbin_subdir=192; }
1052 else if(iDir==1){ nbin_i=192; nbin_subdir=192; }
1053 else if(iDir==2){ nbin_i=384; nbin_subdir=192; }
1054 else if(iDir==3){ nbin_i=576; nbin_subdir=192; }
1056 if(iDir==0){ nbin_i=0; nbin_subdir=48; }
1057 else if(iDir==1){ nbin_i=48; nbin_subdir=48; }
1058 else if(iDir==2){ nbin_i=96; nbin_subdir=48; }
1059 else if(iDir==3){ nbin_i=144; nbin_subdir=48; }
1062 }
else if (isUpgrade) {
1063 if((*igm)->getName().find(
"ALLMODS_adcCOMB_")!=string::npos){
1065 }
else if((*igm)->getName().find(
"ALLMODS_chargeCOMB_")!=string::npos){
1067 }
else if((*igm)->getName().find(
"Ladder") != string::npos){
1068 nbin_i=0; nbin_subdir=4;
1069 }
else if((*igm)->getName().find(
"Layer") != string::npos){
1070 nbin_i=(cnt-1)*4; nbin_subdir=4;
1071 }
else if((*igm)->getName().find(
"Shell") != string::npos){
1072 if(prefix!=
"SUMOFF"){
1073 if(iDir==0){ nbin_i=0; nbin_subdir=24; }
1074 else if(iDir==1){ nbin_i=24; nbin_subdir=56; }
1075 else if(iDir==2){ nbin_i=80; nbin_subdir=88; }
1076 else if(iDir==3){ nbin_i=168; nbin_subdir=128; }
1078 if(iDir==0){ nbin_i=0; nbin_subdir=6; }
1079 else if(iDir==1){ nbin_i=6; nbin_subdir=14; }
1080 else if(iDir==2){ nbin_i=20; nbin_subdir=22; }
1081 else if(iDir==3){ nbin_i=42; nbin_subdir=32; }
1083 }
else if((*igm)->getName().find(
"Barrel") != string::npos){
1084 if(prefix!=
"SUMOFF"){
1085 if(iDir==0){ nbin_i=0; nbin_subdir=296; }
1086 else if(iDir==1){ nbin_i=296; nbin_subdir=296; }
1087 else if(iDir==2){ nbin_i=592; nbin_subdir=296; }
1088 else if(iDir==3){ nbin_i=888; nbin_subdir=296; }
1089 else if(iDir==4){ nbin_i=1184; nbin_subdir=296; }
1091 if(iDir==0){ nbin_i=0; nbin_subdir=74; }
1092 else if(iDir==1){ nbin_i=74; nbin_subdir=74; }
1093 else if(iDir==2){ nbin_i=148; nbin_subdir=74; }
1094 else if(iDir==3){ nbin_i=222; nbin_subdir=74; }
1095 else if(iDir==4){ nbin_i=296; nbin_subdir=74; }
1100 if((*igm)->getName().find(
"ndigisFREQ")==string::npos)
1102 if(((*igm)->getName().find(
"adcCOMB")!=string::npos && me->
getName().find(
"adcCOMB")!=string::npos)
1103 || ((*igm)->getName().find(
"chargeCOMB")!=string::npos && me->
getName().find(
"chargeCOMB")!=string::npos))
1105 (*igm)->getTH1F()->Add(me->
getTH1F());
1106 }
else if(((*igm)->getName().find(
"charge_")!=string::npos && (*igm)->getName().find(
"Track_")==string::npos &&
1107 me->
getName().find(
"charge_")!=string::npos && me->
getName().find(
"Track_")==string::npos) ||
1108 ((*igm)->getName().find(
"nclusters_")!=string::npos && (*igm)->getName().find(
"Track_")==string::npos &&
1109 me->
getName().find(
"nclusters_")!=string::npos && me->
getName().find(
"Track_")==string::npos) ||
1110 ((*igm)->getName().find(
"size_")!=string::npos && (*igm)->getName().find(
"Track_")==string::npos &&
1111 me->
getName().find(
"size_")!=string::npos && me->
getName().find(
"Track_")==string::npos) ||
1112 ((*igm)->getName().find(
"charge_OffTrack_")!=string::npos && me->
getName().find(
"charge_OffTrack_")!=string::npos) ||
1113 ((*igm)->getName().find(
"nclusters_OffTrack_")!=string::npos && me->
getName().find(
"nclusters_OffTrack_")!=string::npos) ||
1114 ((*igm)->getName().find(
"size_OffTrack_")!=string::npos && me->
getName().find(
"size_OffTrack_")!=string::npos) ||
1115 ((*igm)->getName().find(
"charge_OnTrack_")!=string::npos && me->
getName().find(
"charge_OnTrack_")!=string::npos) ||
1116 ((*igm)->getName().find(
"nclusters_OnTrack_")!=string::npos && me->
getName().find(
"nclusters_OnTrack_")!=string::npos) ||
1117 ((*igm)->getName().find(
"size_OnTrack_")!=string::npos && me->
getName().find(
"size_OnTrack_")!=string::npos) ||
1118 ((*igm)->getName().find(
"charge_")==string::npos && (*igm)->getName().find(
"nclusters_")==string::npos &&
1119 (*igm)->getName().find(
"size_")==string::npos)){
1123 else if(me->
getName().find(
"ndigisFREQ")!=string::npos)
1133 first_subdir =
false;
1141 vector<string>& me_names,
1144 vector<MonitorElement*> gsum_mes;
1145 string currDir = iBooker.
pwd();
1147 string dir_name = path_name.substr(path_name.find_last_of(
"/")+1);
1148 if ((dir_name.find(
"DQMData") == 0) ||
1149 (dir_name.find(
"Pixel") == 0) ||
1150 (dir_name.find(
"AdditionalPixelErrors") == 0) ||
1151 (dir_name.find(
"Barrel") == 0) ||
1152 (dir_name.find(
"Shell") == 0) ||
1153 (dir_name.find(
"Layer") == 0) ||
1154 (dir_name.find(
"Ladder") == 0) )
return;
1155 vector<string> subdirs = iGetter.
getSubdirs();
1159 int nbin_subdir = 0;
1161 bool first_subdir =
true;
1162 for (vector<string>::const_iterator it = subdirs.begin();
1163 it != subdirs.end(); it++) {
1180 for (vector<string>::const_iterator im = contents.begin();
1181 im != contents.end(); im++) {
1182 for (vector<string>::const_iterator iv = me_names.begin();
1183 iv != me_names.end(); iv++) {
1184 string var =
"_" + (*iv) +
"_";
1185 if ((*im).find(var) != string::npos) {
1186 if((var==
"_charge_" || var==
"_nclusters_" || var==
"_size_" || var==
"_sizeX_" || var==
"_sizeY_") &&
1187 (*im).find(
"Track_")!=string::npos)
continue;
1188 string full_path = (*it) +
"/" +(*im);
1192 if((*iv)==
"errorType"||(*iv)==
"NErrors"||(*iv)==
"fullType"||(*iv)==
"chanNmbr"||
1193 (*iv)==
"TBMType"||(*iv)==
"EvtNbr"||(*iv)==
"evtSize"||(*iv)==
"linkId"||
1194 (*iv)==
"ROCId"||(*iv)==
"DCOLId"||(*iv)==
"PXId"||(*iv)==
"ROCNmbr"||
1195 (*iv)==
"TBMMessage"||(*iv)==
"Type36Hitmap")
1197 else if((*iv)==
"ndigis"||(*iv)==
"adc" ||
1198 (*iv)==
"ndigisFREQ"||(*iv)==
"adcCOMB")
1200 else if((*iv)==
"nclusters"||(*iv)==
"x"||(*iv)==
"y"||(*iv)==
"charge"||(*iv)==
"chargeCOMB"||
1201 (*iv)==
"size"||(*iv)==
"sizeX"||(*iv)==
"sizeY"||(*iv)==
"minrow"||
1202 (*iv)==
"maxrow"||(*iv)==
"mincol"||(*iv)==
"maxcol")
1204 if(currDir.find(
"Track")!=string::npos) prefix=
"SUMTRK";
1205 else if((*iv)==
"residualX_mean"||(*iv)==
"residualY_mean"||
1206 (*iv)==
"residualX_RMS"||(*iv)==
"residualY_RMS")
1208 else if((*iv)==
"ClustX"||(*iv)==
"ClustY"||(*iv)==
"nRecHits"||(*iv)==
"ErrorX"||(*iv)==
"ErrorY")
1210 else if((*iv)==
"Gain1d_mean"||(*iv)==
"GainChi2NDF1d_mean"||
1211 (*iv)==
"GainChi2Prob1d_mean"||(*iv)==
"Pedestal1d_mean"||
1212 (*iv)==
"ScurveChi2ProbSummary_mean"||(*iv)==
"ScurveFitResultSummary_mean"||
1213 (*iv)==
"ScurveSigmasSummary_mean"||(*iv)==
"ScurveThresholdSummary_mean"||
1214 (*iv)==
"Gain1d_RMS"||(*iv)==
"GainChi2NDF1d_RMS"||
1215 (*iv)==
"GainChi2Prob1d_RMS"||(*iv)==
"Pedestal1d_RMS"||
1216 (*iv)==
"GainNPoints1d_mean" || (*iv)==
"GainNPoints1d_RMS" ||
1217 (*iv)==
"GainHighPoint1d_mean" || (*iv)==
"GainHighPoint1d_RMS" ||
1218 (*iv)==
"GainLowPoint1d_mean" || (*iv)==
"GainLowPoint1d_RMS" ||
1219 (*iv)==
"GainEndPoint1d_mean" || (*iv)==
"GainEndPoint1d_RMS" ||
1220 (*iv)==
"GainFitResult2d_mean" || (*iv)==
"GainFitResult2d_RMS" ||
1221 (*iv)==
"GainDynamicRange2d_mean" || (*iv)==
"GainDynamicRange2d_RMS" ||
1222 (*iv)==
"GainSaturate2d_mean" || (*iv)==
"GainSaturate2d_RMS" ||
1223 (*iv)==
"ScurveChi2ProbSummary_RMS"||(*iv)==
"ScurveFitResultSummary_RMS"||
1224 (*iv)==
"ScurveSigmasSummary_RMS"||(*iv)==
"ScurveThresholdSummary_RMS"||
1225 (*iv)==
"pixelAliveSummary_mean"||(*iv)==
"pixelAliveSummary_FracOfPerfectPix"||
1226 (*iv) ==
"SiPixelErrorsCalibDigis_NCalibErrors")
1230 if (first_subdir && !isUpgrade){
1231 nbin = me->
getTH1F()->GetNbinsX();
1232 string me_name = prefix +
"_" + (*iv) +
"_" +
dir_name;
1233 if((*iv)==
"adcCOMB"||(*iv)==
"chargeCOMB") me_name =
"ALLMODS_" + (*iv) +
"_" +
dir_name;
1234 else if(prefix==
"SUMOFF" && dir_name==
"Endcap") nbin=96;
1235 else if(dir_name==
"Endcap") nbin=672;
1236 else if(prefix==
"SUMOFF" && dir_name.find(
"HalfCylinder")!=string::npos) nbin=24;
1237 else if(dir_name.find(
"HalfCylinder")!=string::npos) nbin=168;
1238 else if(prefix==
"SUMOFF" && dir_name.find(
"Disk")!=string::npos) nbin=12;
1239 else if(dir_name.find(
"Disk")!=string::npos) nbin=84;
1240 else if(dir_name.find(
"Blade")!=string::npos) nbin=7;
1242 }
else if(first_subdir && isUpgrade){
1243 nbin = me->
getTH1F()->GetNbinsX();
1244 string me_name = prefix +
"_" + (*iv) +
"_" +
dir_name;
1245 if((*iv)==
"adcCOMB"||(*iv)==
"chargeCOMB") me_name =
"ALLMODS_" + (*iv) +
"_" +
dir_name;
1246 else if(prefix==
"SUMOFF" && dir_name==
"Endcap") nbin=336;
1247 else if(dir_name==
"Endcap") nbin=672;
1248 else if(prefix==
"SUMOFF" && dir_name.find(
"HalfCylinder")!=string::npos) nbin=84;
1249 else if(dir_name.find(
"HalfCylinder")!=string::npos) nbin=168;
1250 else if(prefix==
"SUMOFF" && dir_name.find(
"Disk")!=string::npos) nbin=28;
1251 else if(dir_name.find(
"Disk")!=string::npos) nbin=56;
1252 else if(dir_name.find(
"Blade")!=string::npos) nbin=2;
1256 for (vector<MonitorElement*>::const_iterator igm = gsum_mes.begin();
1257 igm != gsum_mes.end(); igm++) {
1258 if ((*igm)->getName().find(var) != string::npos) {
1259 if(prefix==
"SUMOFF") (*igm)->setAxisTitle(
"Blades",1);
1260 else if((*igm)->getName().find(
"adcCOMB_")!=string::npos) (*igm)->setAxisTitle(
"Digi charge [ADC]",1);
1261 else if((*igm)->getName().find(
"chargeCOMB_")!=string::npos) (*igm)->setAxisTitle(
"Cluster charge [kilo electrons]",1);
1262 else (*igm)->setAxisTitle(
"Modules",1);
1264 if((*igm)->getName().find(
"NErrors_") != string::npos && prefix==
"SUMOFF") title =
"Total number of errors per Blade";
1265 else if((*igm)->getName().find(
"NErrors_") != string::npos && prefix==
"SUMRAW") title =
"Total number of errors per Module";
1266 else if(prefix==
"SUMOFF") title =
"mean " + (*iv) +
" per Blade";
1267 else if((*igm)->getName().find(
"FREQ_") != string::npos) title =
"NEvents with digis per Module";
1268 else if((*igm)->getName().find(
"adcCOMB_")!=string::npos) title =
"NDigis";
1269 else if((*igm)->getName().find(
"chargeCOMB_")!=string::npos) title =
"NClusters";
1270 else title =
"mean " + (*iv) +
" per Module";
1271 (*igm)->setAxisTitle(title,2);
1274 if((*igm)->getName().find(
"ALLMODS_adcCOMB_")!=string::npos){
1276 }
else if((*igm)->getName().find(
"ALLMODS_chargeCOMB_")!=string::npos){
1278 }
else if((*igm)->getName().find(
"Panel_") != string::npos){
1280 }
else if((*igm)->getName().find(
"Blade") != string::npos){
1281 if((*im).find(
"_1") != string::npos) nbin_subdir=4;
1282 if((*im).find(
"_2") != string::npos) {nbin_i=4; nbin_subdir=3;}
1283 }
else if((*igm)->getName().find(
"Disk") != string::npos){
1284 nbin_i=((cnt-1)%12)*7; nbin_subdir=7;
1285 }
else if((*igm)->getName().find(
"HalfCylinder") != string::npos){
1286 if(prefix!=
"SUMOFF"){
1288 if((*im).find(
"_2") != string::npos) nbin_i=84;
1291 if((*im).find(
"_2") != string::npos) nbin_i=12;
1293 }
else if((*igm)->getName().find(
"Endcap") != string::npos){
1294 if(prefix!=
"SUMOFF"){
1296 if((*im).find(
"_mO") != string::npos) nbin_i=168;
1297 if((*im).find(
"_pI") != string::npos) nbin_i=336;
1298 if((*im).find(
"_pO") != string::npos) nbin_i=504;
1301 if((*im).find(
"_mO") != string::npos) nbin_i=24;
1302 if((*im).find(
"_pI") != string::npos) nbin_i=48;
1303 if((*im).find(
"_pO") != string::npos) nbin_i=72;
1306 }
else if (isUpgrade) {
1307 if((*igm)->getName().find(
"ALLMODS_adcCOMB_")!=string::npos){
1309 }
else if((*igm)->getName().find(
"ALLMODS_chargeCOMB_")!=string::npos){
1311 }
else if((*igm)->getName().find(
"Panel_") != string::npos){
1313 }
else if((*igm)->getName().find(
"Blade") != string::npos){
1314 if((*im).find(
"_1") != string::npos) nbin_subdir=1;
1315 if((*im).find(
"_2") != string::npos) {nbin_i=1; nbin_subdir=1;}
1316 }
else if((*igm)->getName().find(
"Disk") != string::npos){
1317 nbin_i=((cnt-1)%28)*2; nbin_subdir=2;
1318 }
else if((*igm)->getName().find(
"HalfCylinder") != string::npos){
1319 if(prefix!=
"SUMOFF"){
1321 if((*im).find(
"_2") != string::npos) nbin_i=56;
1322 if((*im).find(
"_3") != string::npos) nbin_i=112;
1325 if((*im).find(
"_2") != string::npos) nbin_i=28;
1326 if((*im).find(
"_3") != string::npos) nbin_i=56;
1328 }
else if((*igm)->getName().find(
"Endcap") != string::npos){
1329 if(prefix!=
"SUMOFF"){
1331 if((*im).find(
"_mO") != string::npos) nbin_i=168;
1332 if((*im).find(
"_pI") != string::npos) nbin_i=336;
1333 if((*im).find(
"_pO") != string::npos) nbin_i=504;
1336 if((*im).find(
"_mO") != string::npos) nbin_i=84;
1337 if((*im).find(
"_pI") != string::npos) nbin_i=168;
1338 if((*im).find(
"_pO") != string::npos) nbin_i=252;
1343 if((*igm)->getName().find(
"ndigisFREQ")==string::npos){
1344 if(((*igm)->getName().find(
"adcCOMB")!=string::npos && me->
getName().find(
"adcCOMB")!=string::npos) || ((*igm)->getName().find(
"chargeCOMB")!=string::npos && me->
getName().find(
"chargeCOMB")!=string::npos)){
1345 (*igm)->getTH1F()->Add(me->
getTH1F());
1346 }
else if(((*igm)->getName().find(
"charge_")!=string::npos && (*igm)->getName().find(
"Track_")==string::npos &&
1347 me->
getName().find(
"charge_")!=string::npos && me->
getName().find(
"Track_")==string::npos) ||
1348 ((*igm)->getName().find(
"nclusters_")!=string::npos && (*igm)->getName().find(
"Track_")==string::npos &&
1349 me->
getName().find(
"nclusters_")!=string::npos && me->
getName().find(
"Track_")==string::npos) ||
1350 ((*igm)->getName().find(
"size_")!=string::npos && (*igm)->getName().find(
"Track_")==string::npos &&
1351 me->
getName().find(
"size_")!=string::npos && me->
getName().find(
"Track_")==string::npos) ||
1352 ((*igm)->getName().find(
"charge_OffTrack_")!=string::npos && me->
getName().find(
"charge_OffTrack_")!=string::npos) ||
1353 ((*igm)->getName().find(
"nclusters_OffTrack_")!=string::npos && me->
getName().find(
"nclusters_OffTrack_")!=string::npos) ||
1354 ((*igm)->getName().find(
"size_OffTrack_")!=string::npos && me->
getName().find(
"size_OffTrack_")!=string::npos) ||
1355 ((*igm)->getName().find(
"charge_OnTrack_")!=string::npos && me->
getName().find(
"charge_OnTrack_")!=string::npos) ||
1356 ((*igm)->getName().find(
"nclusters_OnTrack_")!=string::npos && me->
getName().find(
"nclusters_OnTrack_")!=string::npos) ||
1357 ((*igm)->getName().find(
"size_OnTrack_")!=string::npos && me->
getName().find(
"size_OnTrack_")!=string::npos) ||
1358 ((*igm)->getName().find(
"charge_")==string::npos && (*igm)->getName().find(
"nclusters_")==string::npos &&
1359 (*igm)->getName().find(
"size_")==string::npos)){
1362 }
else if(me->
getName().find(
"ndigisFREQ")!=string::npos){
1374 first_subdir =
false;
1385 vector<MonitorElement*> & mes) {
1387 if((iBooker.
pwd()).
find(
"Pixel")==string::npos)
return;
1390 for (vector<string>::const_iterator it = contents.begin();
1391 it != contents.end(); it++) {
1393 if ((*it).find(me_name) == 0) {
1394 string fullpathname = iBooker.
pwd() +
"/" + me_name;
1406 if(me_name.find(
"ALLMODS_adcCOMB_")!=string::npos) temp_me = iBooker.
book1D(me_name.c_str(),me_name.c_str(),128,0,256);
1407 else if(me_name.find(
"ALLMODS_chargeCOMB_")!=string::npos) temp_me = iBooker.
book1D(me_name.c_str(),me_name.c_str(),100,0,200);
1408 else temp_me = iBooker.
book1D(me_name.c_str(),me_name.c_str(),nbin,1.,nbin+1.);
1409 if (temp_me) mes.push_back(temp_me);
1425 if((iBooker.
pwd()).
find(
"Pixel")==string::npos)
return me;
1428 for (vector<string>::const_iterator it = contents.begin();
1429 it != contents.end(); it++) {
1430 if ((*it).find(me_name) == 0) {
1431 string fullpathname = iBooker.
pwd() +
"/" + (*it);
1432 me = iGetter.
get(fullpathname);
1442 if(me_name.find(
"SUMOFF")==string::npos){
1443 if(me_name.find(
"Blade_")!=string::npos)me = iBooker.
book1D(me_name.c_str(), me_name.c_str(),7,1.,8.);
1444 else me = iBooker.
book1D(me_name.c_str(), me_name.c_str(),4,1.,5.);
1445 }
else if(me_name.find(
"Layer_1")!=string::npos){ me = iBooker.
book1D(me_name.c_str(), me_name.c_str(),10,1.,11.);
1446 }
else if(me_name.find(
"Layer_2")!=string::npos){ me = iBooker.
book1D(me_name.c_str(), me_name.c_str(),16,1.,17.);
1447 }
else if(me_name.find(
"Layer_3")!=string::npos){ me = iBooker.
book1D(me_name.c_str(), me_name.c_str(),22,1.,23.);
1448 }
else if(me_name.find(
"Disk_")!=string::npos){ me = iBooker.
book1D(me_name.c_str(), me_name.c_str(),12,1.,13.);
1451 else if (isUpgrade) {
1452 if(me_name.find(
"SUMOFF")==string::npos){
1453 if(me_name.find(
"Blade_")!=string::npos)me = iBooker.
book1D(me_name.c_str(), me_name.c_str(),2,1.,3.);
1454 else me = iBooker.
book1D(me_name.c_str(), me_name.c_str(),1,1.,2.);
1455 }
else if(me_name.find(
"Layer_1")!=string::npos){ me = iBooker.
book1D(me_name.c_str(), me_name.c_str(),6,1.,7.);
1456 }
else if(me_name.find(
"Layer_2")!=string::npos){ me = iBooker.
book1D(me_name.c_str(), me_name.c_str(),14,1.,15.);
1457 }
else if(me_name.find(
"Layer_3")!=string::npos){ me = iBooker.
book1D(me_name.c_str(), me_name.c_str(),22,1.,23.);
1458 }
else if(me_name.find(
"Layer_4")!=string::npos){ me = iBooker.
book1D(me_name.c_str(), me_name.c_str(),32,1.,33.);
1459 }
else if(me_name.find(
"Disk_")!=string::npos){ me = iBooker.
book1D(me_name.c_str(), me_name.c_str(),28,1.,29.);
1473 if((iBooker.
pwd()).
find(
"Pixel")==string::npos)
return me;
1476 for (vector<string>::const_iterator it = contents.begin();
1477 it != contents.end(); it++) {
1478 if ((*it).find(me_name) == 0) {
1479 string fullpathname = iBooker.
pwd() +
"/" + (*it);
1481 me = iGetter.
get(fullpathname);
1490 me = iBooker.
book1D(me_name.c_str(), me_name.c_str(),40,-0.5,39.5);
1499 vector<string> subdirs = iGetter.
getSubdirs();
1500 for (vector<string>::const_iterator it = subdirs.begin(); it != subdirs.end(); it++)
1502 if(isbarrel && (*it).find(
"Barrel")==string::npos)
continue;
1503 if(!isbarrel && (*it).find(
"Endcap")==string::npos)
continue;
1505 if((*it).find(
"Module_")!=string::npos)
continue;
1506 if((*it).find(
"Panel_")!=string::npos)
continue;
1507 if((*it).find(
"Ladder_")!=string::npos)
continue;
1508 if((*it).find(
"Blade_")!=string::npos)
continue;
1509 if((*it).find(
"Layer_")!=string::npos)
continue;
1510 if((*it).find(
"Disk_")!=string::npos)
continue;
1516 OccupancyMap = iBooker.
book2D((isbarrel?
"barrelOccupancyMap":
"endcapOccupancyMap"),
"Barrel Digi Occupancy Map (4 pix per bin)",isbarrel?208:130,0.,isbarrel?416.:260.,80,0.,160.);
1519 OccupancyMap = iBooker.
book2D((isbarrel?
"barrelOccupancyMap":
"endcapOccupancyMap"),
"Barrel Digi Occupancy Map (1 pix per bin)",isbarrel?416:260,0.,isbarrel?416.:260.,160,0.,160.);
1572 string currDir = iBooker.
pwd();
1573 string dname = currDir.substr(currDir.find_last_of(
"/")+1);
1575 if(dname.find(
"Layer_")!=string::npos || dname.find(
"Disk_")!=string::npos){
1576 vector<string> meVec = iGetter.
getMEs();
1577 for (vector<string>::const_iterator it = meVec.begin(); it != meVec.end(); it++) {
1578 string full_path = currDir +
"/" + (*it);
1579 if(full_path.find(
"hitmap_siPixelDigis")!=string::npos){
1582 string path = full_path;
1583 while (path.find_last_of(
"/") != 5)
1585 path = path.substr(0,path.find_last_of(
"/"));
1587 OccupancyMap = iGetter.
get(path +
"/" + (isbarrel?
"barrel":
"endcap") +
"OccupancyMap");
1602 vector<string> subdirs = iGetter.
getSubdirs();
1603 for (vector<string>::const_iterator it = subdirs.begin(); it != subdirs.end(); it++) {
1606 if(*it !=
"Pixel" && ((isbarrel && (*it).find(
"Barrel")==string::npos) || (!isbarrel && (*it).find(
"Endcap")==string::npos)))
continue;
1625 HitEfficiency_L1 = iBooker.
book2D(
"HitEfficiency_L1",
"Hit Efficiency in Barrel_Layer1;Module;Ladder",8,-4,4,20,-10.,10.);
1626 HitEfficiency_L2 = iBooker.
book2D(
"HitEfficiency_L2",
"Hit Efficiency in Barrel_Layer2;Module;Ladder",8,-4,4,32,-16.,16.);
1627 HitEfficiency_L3 = iBooker.
book2D(
"HitEfficiency_L3",
"Hit Efficiency in Barrel_Layer3;Module;Ladder",8,-4,4,44,-22.,22.);
1629 HitEfficiency_L1 = iBooker.
book2D(
"HitEfficiency_L1",
"Hit Efficiency in Barrel_Layer1;Module;Ladder",8,-4.,4.,20,-10.,10.);
1630 HitEfficiency_L2 = iBooker.
book2D(
"HitEfficiency_L2",
"Hit Efficiency in Barrel_Layer2;Module;Ladder",8,-4.,4.,32,-16.,16.);
1631 HitEfficiency_L3 = iBooker.
book2D(
"HitEfficiency_L3",
"Hit Efficiency in Barrel_Layer3;Module;Ladder",8,-4.,4.,44,-22.,22.);
1634 else if (isUpgrade) {
1636 HitEfficiency_L1 = iBooker.
book2D(
"HitEfficiency_L1",
"Hit Efficiency in Barrel_Layer1;z-side;Ladder",2,-1.,1.,12,-6.,6.);
1637 HitEfficiency_L2 = iBooker.
book2D(
"HitEfficiency_L2",
"Hit Efficiency in Barrel_Layer2;z-side;Ladder",2,-1.,1.,28,-14.,14.);
1638 HitEfficiency_L3 = iBooker.
book2D(
"HitEfficiency_L3",
"Hit Efficiency in Barrel_Layer3;z-side;Ladder",2,-1.,1.,44,-22.,22.);
1639 HitEfficiency_L4 = iBooker.
book2D(
"HitEfficiency_L4",
"Hit Efficiency in Barrel_Layer4;z-side;Ladder",2,-1.,1.,64,-32.,32.);
1641 HitEfficiency_L1 = iBooker.
book2D(
"HitEfficiency_L1",
"Hit Efficiency in Barrel_Layer1;Module;Ladder",8,-4.,4.,12,-6.,6.);
1642 HitEfficiency_L2 = iBooker.
book2D(
"HitEfficiency_L2",
"Hit Efficiency in Barrel_Layer2;Module;Ladder",8,-4.,4.,28,-14.,14.);
1643 HitEfficiency_L3 = iBooker.
book2D(
"HitEfficiency_L3",
"Hit Efficiency in Barrel_Layer3;Module;Ladder",8,-4.,4.,44,-22.,22.);
1644 HitEfficiency_L4 = iBooker.
book2D(
"HitEfficiency_L4",
"Hit Efficiency in Barrel_Layer4;Module;Ladder",8,-4.,4.,64,-32.,32.);
1652 HitEfficiency_Dp1 = iBooker.
book2D(
"HitEfficiency_Dp1",
"Hit Efficiency in Endcap_Disk_p1;Blades;",24,-12.,12.,1,0.,1.);
1653 HitEfficiency_Dp2 = iBooker.
book2D(
"HitEfficiency_Dp2",
"Hit Efficiency in Endcap_Disk_p2;Blades;",24,-12.,12.,1,0.,1.);
1654 HitEfficiency_Dm1 = iBooker.
book2D(
"HitEfficiency_Dm1",
"Hit Efficiency in Endcap_Disk_m1;Blades;",24,-12.,12.,1,0.,1.);
1655 HitEfficiency_Dm2 = iBooker.
book2D(
"HitEfficiency_Dm2",
"Hit Efficiency in Endcap_Disk_m2;Blades;",24,-12.,12.,1,0.,1.);
1657 HitEfficiency_Dp1 = iBooker.
book2D(
"HitEfficiency_Dp1",
"Hit Efficiency in Endcap_Disk_p1;Blades;Modules",24,-12.,12.,7,1.,8.);
1658 HitEfficiency_Dp2 = iBooker.
book2D(
"HitEfficiency_Dp2",
"Hit Efficiency in Endcap_Disk_p2;Blades;Modules",24,-12.,12.,7,1.,8.);
1659 HitEfficiency_Dm1 = iBooker.
book2D(
"HitEfficiency_Dm1",
"Hit Efficiency in Endcap_Disk_m1;Blades;Modules",24,-12.,12.,7,1.,8.);
1660 HitEfficiency_Dm2 = iBooker.
book2D(
"HitEfficiency_Dm2",
"Hit Efficiency in Endcap_Disk_m2;Blades;Modules",24,-12.,12.,7,1.,8.);
1662 }
else if (isUpgrade) {
1664 HitEfficiency_Dp1 = iBooker.
book2D(
"HitEfficiency_Dp1",
"Hit Efficiency in Endcap_Disk_p1;Blades;",28,-17.,11.,1,0.,1.);
1665 HitEfficiency_Dp2 = iBooker.
book2D(
"HitEfficiency_Dp2",
"Hit Efficiency in Endcap_Disk_p2;Blades;",28,-17.,11.,1,0.,1.);
1666 HitEfficiency_Dp3 = iBooker.
book2D(
"HitEfficiency_Dp3",
"Hit Efficiency in Endcap_Disk_p3;Blades;",28,-17.,11.,1,0.,1.);
1667 HitEfficiency_Dm1 = iBooker.
book2D(
"HitEfficiency_Dm1",
"Hit Efficiency in Endcap_Disk_m1;Blades;",28,-17.,11.,1,0.,1.);
1668 HitEfficiency_Dm2 = iBooker.
book2D(
"HitEfficiency_Dm2",
"Hit Efficiency in Endcap_Disk_m2;Blades;",28,-17.,11.,1,0.,1.);
1669 HitEfficiency_Dm3 = iBooker.
book2D(
"HitEfficiency_Dm3",
"Hit Efficiency in Endcap_Disk_m3;Blades;",28,-17.,11.,1,0.,1.);
1671 HitEfficiency_Dp1 = iBooker.
book2D(
"HitEfficiency_Dp1",
"Hit Efficiency in Endcap_Disk_p1;Blades;Modules",28,-17.,11.,2,1.,3.);
1672 HitEfficiency_Dp2 = iBooker.
book2D(
"HitEfficiency_Dp2",
"Hit Efficiency in Endcap_Disk_p2;Blades;Modules",28,-17.,11.,2,1.,3.);
1673 HitEfficiency_Dp3 = iBooker.
book2D(
"HitEfficiency_Dp3",
"Hit Efficiency in Endcap_Disk_p3;Blades;Modules",28,-17.,11.,2,1.,3.);
1674 HitEfficiency_Dm1 = iBooker.
book2D(
"HitEfficiency_Dm1",
"Hit Efficiency in Endcap_Disk_m1;Blades;Modules",28,-17.,11.,2,1.,3.);
1675 HitEfficiency_Dm2 = iBooker.
book2D(
"HitEfficiency_Dm2",
"Hit Efficiency in Endcap_Disk_m2;Blades;Modules",28,-17.,11.,2,1.,3.);
1676 HitEfficiency_Dm3 = iBooker.
book2D(
"HitEfficiency_Dm3",
"Hit Efficiency in Endcap_Disk_m3;Blades;Modules",28,-17.,11.,2,1.,3.);
1700 string currDir = iBooker.
pwd();
1701 string dname = currDir.substr(currDir.find_last_of(
"/")+1);
1705 if(isbarrel && dname.find(
"Ladder_")!=string::npos){
1707 vector<string> meVec = iGetter.
getMEs();
1708 for (vector<string>::const_iterator it = meVec.begin(); it != meVec.end(); it++) {
1709 string full_path = currDir +
"/" + (*it);
1711 if(full_path.find(
"missingMod_")!=string::npos){
1715 if (!missing)
continue;
1716 string new_path = full_path.replace(full_path.find(
"missing"),7,
"valid");
1718 if (!valid)
continue;
1723 if(dname.find(
"01")!=string::npos){ biny = 1;}
else if(dname.find(
"02")!=string::npos){ biny = 2;}
1724 else if(dname.find(
"03")!=string::npos){ biny = 3;}
else if(dname.find(
"04")!=string::npos){ biny = 4;}
1725 else if(dname.find(
"05")!=string::npos){ biny = 5;}
else if(dname.find(
"06")!=string::npos){ biny = 6;}
1726 else if(dname.find(
"07")!=string::npos){ biny = 7;}
else if(dname.find(
"08")!=string::npos){ biny = 8;}
1727 else if(dname.find(
"09")!=string::npos){ biny = 9;}
else if(dname.find(
"10")!=string::npos){ biny = 10;}
1728 else if(dname.find(
"11")!=string::npos){ biny = 11;}
else if(dname.find(
"12")!=string::npos){ biny = 12;}
1729 else if(dname.find(
"13")!=string::npos){ biny = 13;}
else if(dname.find(
"14")!=string::npos){ biny = 14;}
1730 else if(dname.find(
"15")!=string::npos){ biny = 15;}
else if(dname.find(
"16")!=string::npos){ biny = 16;}
1731 else if(dname.find(
"17")!=string::npos){ biny = 17;}
else if(dname.find(
"18")!=string::npos){ biny = 18;}
1732 else if(dname.find(
"19")!=string::npos){ biny = 19;}
else if(dname.find(
"20")!=string::npos){ biny = 20;}
1733 else if(dname.find(
"21")!=string::npos){ biny = 21;}
else if(dname.find(
"22")!=string::npos){ biny = 22;}
1735 if(currDir.find(
"Shell_mO")!=string::npos || currDir.find(
"Shell_pO")!=string::npos){
1736 if(currDir.find(
"Layer_1")!=string::npos){ biny = biny + 10;}
1737 else if(currDir.find(
"Layer_2")!=string::npos){ biny = biny + 16;}
1739 else if(currDir.find(
"Layer_3")!=string::npos){ biny = biny + 22;}
1748 if(currDir.find(
"Shell_m")!=string::npos){ start = 1;}
else{ start = 5;}
1749 for(
int i=start;
i<start+5;
i++){
1750 float hitEfficiency = -1.0;
1751 float missingHits=0;
1755 if(validHits + missingHits > 0.) hitEfficiency = validHits / (validHits + missingHits);
1756 if(currDir.find(
"Layer_1")!=string::npos){
1760 else if(currDir.find(
"Layer_2")!=string::npos){
1764 else if(currDir.find(
"Layer_3")!=string::npos){
1774 else if (isUpgrade) {
1775 vector<string> meVec = iGetter.
getMEs();
1776 for (vector<string>::const_iterator it = meVec.begin(); it != meVec.end(); it++) {
1777 string full_path = currDir +
"/" + (*it);
1778 if(full_path.find(
"missing_")!=string::npos){
1782 string new_path = full_path.replace(full_path.find(
"missing"),7,
"valid");
1783 me = iGetter.
get(new_path);
1786 float hitEfficiency = -1.;
1787 if(validHits + missingHits > 0.) hitEfficiency = validHits / (validHits + missingHits);
1788 int binx = 0;
int biny = 0;
1789 if(currDir.find(
"Shell_m")!=string::npos){ binx = 1;}
else{ binx = 2;}
1790 if(dname.find(
"01")!=string::npos){ biny = 1;}
else if(dname.find(
"02")!=string::npos){ biny = 2;}
1791 else if(dname.find(
"03")!=string::npos){ biny = 3;}
else if(dname.find(
"04")!=string::npos){ biny = 4;}
1792 else if(dname.find(
"05")!=string::npos){ biny = 5;}
else if(dname.find(
"06")!=string::npos){ biny = 6;}
1793 else if(dname.find(
"07")!=string::npos){ biny = 7;}
else if(dname.find(
"08")!=string::npos){ biny = 8;}
1794 else if(dname.find(
"09")!=string::npos){ biny = 9;}
else if(dname.find(
"10")!=string::npos){ biny = 10;}
1795 else if(dname.find(
"11")!=string::npos){ biny = 11;}
else if(dname.find(
"12")!=string::npos){ biny = 12;}
1796 else if(dname.find(
"13")!=string::npos){ biny = 13;}
else if(dname.find(
"14")!=string::npos){ biny = 14;}
1797 else if(dname.find(
"15")!=string::npos){ biny = 15;}
else if(dname.find(
"16")!=string::npos){ biny = 16;}
1798 else if(dname.find(
"17")!=string::npos){ biny = 17;}
else if(dname.find(
"18")!=string::npos){ biny = 18;}
1799 else if(dname.find(
"19")!=string::npos){ biny = 19;}
else if(dname.find(
"20")!=string::npos){ biny = 20;}
1800 else if(dname.find(
"21")!=string::npos){ biny = 21;}
else if(dname.find(
"22")!=string::npos){ biny = 22;}
1801 else if(dname.find(
"23")!=string::npos){ biny = 23;}
else if(dname.find(
"24")!=string::npos){ biny = 24;}
1802 else if(dname.find(
"25")!=string::npos){ biny = 25;}
else if(dname.find(
"25")!=string::npos){ biny = 25;}
1803 else if(dname.find(
"26")!=string::npos){ biny = 26;}
else if(dname.find(
"27")!=string::npos){ biny = 27;}
1804 else if(dname.find(
"28")!=string::npos){ biny = 28;}
else if(dname.find(
"29")!=string::npos){ biny = 29;}
1805 else if(dname.find(
"30")!=string::npos){ biny = 30;}
else if(dname.find(
"31")!=string::npos){ biny = 31;}
1806 else if(dname.find(
"32")!=string::npos){ biny = 32;}
1807 if(currDir.find(
"Shell_mO")!=string::npos || currDir.find(
"Shell_pO")!=string::npos){
1808 if(currDir.find(
"Layer_1")!=string::npos){ biny = biny + 6;}
1809 else if(currDir.find(
"Layer_2")!=string::npos){ biny = biny + 14;}
1810 else if(currDir.find(
"Layer_3")!=string::npos){ biny = biny + 22;}
1811 else if(currDir.find(
"Layer_4")!=string::npos){ biny = biny + 32;}
1813 if(currDir.find(
"Layer_1")!=string::npos){
1816 }
else if(currDir.find(
"Layer_2")!=string::npos){
1819 }
else if(currDir.find(
"Layer_3")!=string::npos){
1822 }
else if(currDir.find(
"Layer_4")!=string::npos){
1829 }
else if(!isbarrel && dname.find(
"Blade_")!=string::npos && !isUpgrade){
1830 vector<string> meVec = iGetter.
getMEs();
1831 for (vector<string>::const_iterator it = meVec.begin(); it != meVec.end(); it++) {
1832 string full_path = currDir +
"/" + (*it);
1833 if(full_path.find(
"missing_")!=string::npos){
1837 string new_path = full_path.replace(full_path.find(
"missing"),7,
"valid");
1838 me = iGetter.
get(new_path);
1841 float hitEfficiency = -1.;
1842 if(validHits + missingHits > 0.) hitEfficiency = validHits / (validHits + missingHits);
1843 int binx = 0;
int biny = 1;
1844 if(currDir.find(
"01")!=string::npos){ binx = 1;}
else if(currDir.find(
"02")!=string::npos){ binx = 2;}
1845 else if(currDir.find(
"03")!=string::npos){ binx = 3;}
else if(currDir.find(
"04")!=string::npos){ binx = 4;}
1846 else if(currDir.find(
"05")!=string::npos){ binx = 5;}
else if(currDir.find(
"06")!=string::npos){ binx = 6;}
1847 else if(currDir.find(
"07")!=string::npos){ binx = 7;}
else if(currDir.find(
"08")!=string::npos){ binx = 8;}
1848 else if(currDir.find(
"09")!=string::npos){ binx = 9;}
else if(currDir.find(
"10")!=string::npos){ binx = 10;}
1849 else if(currDir.find(
"11")!=string::npos){ binx = 11;}
else if(currDir.find(
"12")!=string::npos){ binx = 12;}
1850 if(currDir.find(
"HalfCylinder_mI")!=string::npos || currDir.find(
"HalfCylinder_pI")!=string::npos){ binx = binx + 12;}
1852 if(binx==1) binx = 12;
1853 else if(binx==2) binx = 11;
1854 else if(binx==3) binx = 10;
1855 else if(binx==4) binx = 9;
1856 else if(binx==5) binx = 8;
1857 else if(binx==6) binx = 7;
1858 else if(binx==7) binx = 6;
1859 else if(binx==8) binx = 5;
1860 else if(binx==9) binx = 4;
1861 else if(binx==10) binx = 3;
1862 else if(binx==11) binx = 2;
1863 else if(binx==12) binx = 1;
1865 if(currDir.find(
"Disk_1")!=string::npos && currDir.find(
"HalfCylinder_m")!=string::npos){
1868 }
else if(currDir.find(
"Disk_2")!=string::npos && currDir.find(
"HalfCylinder_m")!=string::npos){
1871 }
else if(currDir.find(
"Disk_1")!=string::npos && currDir.find(
"HalfCylinder_p")!=string::npos){
1874 }
else if(currDir.find(
"Disk_2")!=string::npos && currDir.find(
"HalfCylinder_p")!=string::npos){
1880 }
else if(!isbarrel && dname.find(
"Blade_")!=string::npos && isUpgrade){
1881 vector<string> meVec = iGetter.
getMEs();
1882 for (vector<string>::const_iterator it = meVec.begin(); it != meVec.end(); it++) {
1883 string full_path = currDir +
"/" + (*it);
1884 if(full_path.find(
"missing_")!=string::npos){
1888 string new_path = full_path.replace(full_path.find(
"missing"),7,
"valid");
1889 me = iGetter.
get(new_path);
1892 float hitEfficiency = -1.;
1893 if(validHits + missingHits > 0.) hitEfficiency = validHits / (validHits + missingHits);
1894 int binx = 0;
int biny = 1;
1895 if(currDir.find(
"01")!=string::npos){ binx = 1;}
else if(currDir.find(
"02")!=string::npos){ binx = 2;}
1896 else if(currDir.find(
"03")!=string::npos){ binx = 3;}
else if(currDir.find(
"04")!=string::npos){ binx = 4;}
1897 else if(currDir.find(
"05")!=string::npos){ binx = 5;}
else if(currDir.find(
"06")!=string::npos){ binx = 6;}
1898 else if(currDir.find(
"07")!=string::npos){ binx = 7;}
else if(currDir.find(
"08")!=string::npos){ binx = 8;}
1899 else if(currDir.find(
"09")!=string::npos){ binx = 9;}
else if(currDir.find(
"10")!=string::npos){ binx = 10;}
1900 else if(currDir.find(
"11")!=string::npos){ binx = 11;}
else if(currDir.find(
"12")!=string::npos){ binx = 12;}
1901 else if(currDir.find(
"13")!=string::npos){ binx = 13;}
else if(currDir.find(
"14")!=string::npos){ binx = 14;}
1902 else if(currDir.find(
"15")!=string::npos){ binx = 15;}
else if(currDir.find(
"16")!=string::npos){ binx = 16;}
1903 else if(currDir.find(
"17")!=string::npos){ binx = 17;}
1904 if(currDir.find(
"HalfCylinder_mI")!=string::npos || currDir.find(
"HalfCylinder_pI")!=string::npos){ binx = binx + 12;}
1906 if(binx==1) binx = 17;
1907 else if(binx==2) binx = 16;
1908 else if(binx==3) binx = 15;
1909 else if(binx==4) binx = 14;
1910 else if(binx==5) binx = 13;
1911 else if(binx==6) binx = 12;
1912 else if(binx==7) binx = 11;
1913 else if(binx==8) binx = 10;
1914 else if(binx==9) binx = 9;
1915 else if(binx==10) binx = 8;
1916 else if(binx==11) binx = 7;
1917 else if(binx==12) binx = 6;
1918 else if(binx==13) binx = 5;
1919 else if(binx==14) binx = 4;
1920 else if(binx==15) binx = 3;
1921 else if(binx==16) binx = 2;
1922 else if(binx==17) binx = 1;
1924 if(currDir.find(
"Disk_1")!=string::npos && currDir.find(
"HalfCylinder_m")!=string::npos){
1927 }
else if(currDir.find(
"Disk_2")!=string::npos && currDir.find(
"HalfCylinder_m")!=string::npos){
1930 }
else if(currDir.find(
"Disk_3")!=string::npos && currDir.find(
"HalfCylinder_m")!=string::npos){
1933 }
else if(currDir.find(
"Disk_1")!=string::npos && currDir.find(
"HalfCylinder_p")!=string::npos){
1936 }
else if(currDir.find(
"Disk_2")!=string::npos && currDir.find(
"HalfCylinder_p")!=string::npos){
1939 }
else if(currDir.find(
"Disk_3")!=string::npos && currDir.find(
"HalfCylinder_p")!=string::npos){
1947 vector<string> subdirs = iGetter.
getSubdirs();
1948 for (vector<string>::const_iterator it = subdirs.begin(); it != subdirs.end(); it++) {
1951 if(*it !=
"Pixel" && ((isbarrel && (*it).find(
"Barrel")==string::npos) || (!isbarrel && (*it).find(
"Endcap")==string::npos)))
continue;
1958 if(dname.find(
"Module_")!=string::npos){
1959 vector<string> meVec = iGetter.
getMEs();
1960 for (vector<string>::const_iterator it = meVec.begin(); it != meVec.end(); it++) {
1961 string full_path = currDir +
"/" + (*it);
1962 if(full_path.find(
"missing_")!=string::npos){
1966 string new_path = full_path.replace(full_path.find(
"missing"),7,
"valid");
1967 me = iGetter.
get(new_path);
1970 float hitEfficiency = -1.;
1971 if(validHits + missingHits > 0.) hitEfficiency = validHits / (validHits + missingHits);
1972 int binx = 0;
int biny = 0;
1974 if(currDir.find(
"Shell_m")!=string::npos){
1975 if(currDir.find(
"Module_4")!=string::npos){ binx = 1;}
else if(currDir.find(
"Module_3")!=string::npos){ binx = 2;}
1976 if(currDir.find(
"Module_2")!=string::npos){ binx = 3;}
else if(currDir.find(
"Module_1")!=string::npos){ binx = 4;}
1977 }
else if(currDir.find(
"Shell_p")!=string::npos){
1978 if(currDir.find(
"Module_1")!=string::npos){ binx = 5;}
else if(currDir.find(
"Module_2")!=string::npos){ binx = 6;}
1979 if(currDir.find(
"Module_3")!=string::npos){ binx = 7;}
else if(currDir.find(
"Module_4")!=string::npos){ binx = 8;}
1982 if(currDir.find(
"01")!=string::npos){ biny = 1;}
else if(currDir.find(
"02")!=string::npos){ biny = 2;}
1983 else if(currDir.find(
"03")!=string::npos){ biny = 3;}
else if(currDir.find(
"04")!=string::npos){ biny = 4;}
1984 else if(currDir.find(
"05")!=string::npos){ biny = 5;}
else if(currDir.find(
"06")!=string::npos){ biny = 6;}
1985 else if(currDir.find(
"07")!=string::npos){ biny = 7;}
else if(currDir.find(
"08")!=string::npos){ biny = 8;}
1986 else if(currDir.find(
"09")!=string::npos){ biny = 9;}
else if(currDir.find(
"10")!=string::npos){ biny = 10;}
1987 else if(currDir.find(
"11")!=string::npos){ biny = 11;}
else if(currDir.find(
"12")!=string::npos){ biny = 12;}
1988 else if(currDir.find(
"13")!=string::npos){ biny = 13;}
else if(currDir.find(
"14")!=string::npos){ biny = 14;}
1989 else if(currDir.find(
"15")!=string::npos){ biny = 15;}
else if(currDir.find(
"16")!=string::npos){ biny = 16;}
1990 else if(currDir.find(
"17")!=string::npos){ biny = 17;}
else if(currDir.find(
"18")!=string::npos){ biny = 18;}
1991 else if(currDir.find(
"19")!=string::npos){ biny = 19;}
else if(currDir.find(
"20")!=string::npos){ biny = 20;}
1992 else if(currDir.find(
"21")!=string::npos){ biny = 21;}
else if(currDir.find(
"22")!=string::npos){ biny = 22;}
1993 if(currDir.find(
"Shell_mO")!=string::npos || currDir.find(
"Shell_pO")!=string::npos){
1994 if(currDir.find(
"Layer_1")!=string::npos){ biny = biny + 10;}
1995 else if(currDir.find(
"Layer_2")!=string::npos){ biny = biny + 16;}
1996 else if(currDir.find(
"Layer_3")!=string::npos){ biny = biny + 22;}
1999 else if (isUpgrade) {
2000 if(currDir.find(
"01")!=string::npos){ biny = 1;}
else if(currDir.find(
"02")!=string::npos){ biny = 2;}
2001 else if(currDir.find(
"03")!=string::npos){ biny = 3;}
else if(currDir.find(
"04")!=string::npos){ biny = 4;}
2002 else if(currDir.find(
"05")!=string::npos){ biny = 5;}
else if(currDir.find(
"06")!=string::npos){ biny = 6;}
2003 else if(currDir.find(
"07")!=string::npos){ biny = 7;}
else if(currDir.find(
"08")!=string::npos){ biny = 8;}
2004 else if(currDir.find(
"09")!=string::npos){ biny = 9;}
else if(currDir.find(
"10")!=string::npos){ biny = 10;}
2005 else if(currDir.find(
"11")!=string::npos){ biny = 11;}
else if(currDir.find(
"12")!=string::npos){ biny = 12;}
2006 else if(currDir.find(
"13")!=string::npos){ biny = 13;}
else if(currDir.find(
"14")!=string::npos){ biny = 14;}
2007 else if(currDir.find(
"15")!=string::npos){ biny = 15;}
else if(currDir.find(
"16")!=string::npos){ biny = 16;}
2008 else if(currDir.find(
"17")!=string::npos){ biny = 17;}
else if(currDir.find(
"18")!=string::npos){ biny = 18;}
2009 else if(currDir.find(
"19")!=string::npos){ biny = 19;}
else if(currDir.find(
"20")!=string::npos){ biny = 20;}
2010 else if(currDir.find(
"21")!=string::npos){ biny = 21;}
else if(currDir.find(
"22")!=string::npos){ biny = 22;}
2011 else if(currDir.find(
"23")!=string::npos){ biny = 23;}
else if(currDir.find(
"24")!=string::npos){ biny = 24;}
2012 else if(currDir.find(
"25")!=string::npos){ biny = 25;}
else if(currDir.find(
"25")!=string::npos){ biny = 25;}
2013 else if(currDir.find(
"26")!=string::npos){ biny = 26;}
else if(currDir.find(
"27")!=string::npos){ biny = 27;}
2014 else if(currDir.find(
"28")!=string::npos){ biny = 28;}
else if(currDir.find(
"29")!=string::npos){ biny = 29;}
2015 else if(currDir.find(
"30")!=string::npos){ biny = 30;}
else if(currDir.find(
"31")!=string::npos){ biny = 31;}
2016 else if(currDir.find(
"32")!=string::npos){ biny = 32;}
2017 if(currDir.find(
"Shell_mO")!=string::npos || currDir.find(
"Shell_pO")!=string::npos){
2018 if(currDir.find(
"Layer_1")!=string::npos){ biny = biny + 6;}
2019 else if(currDir.find(
"Layer_2")!=string::npos){ biny = biny + 14;}
2020 else if(currDir.find(
"Layer_3")!=string::npos){ biny = biny + 22;}
2021 else if(currDir.find(
"Layer_4")!=string::npos){ biny = biny + 32;}
2026 if(currDir.find(
"01")!=string::npos){ binx = 1;}
else if(currDir.find(
"02")!=string::npos){ binx = 2;}
2027 else if(currDir.find(
"03")!=string::npos){ binx = 3;}
else if(currDir.find(
"04")!=string::npos){ binx = 4;}
2028 else if(currDir.find(
"05")!=string::npos){ binx = 5;}
else if(currDir.find(
"06")!=string::npos){ binx = 6;}
2029 else if(currDir.find(
"07")!=string::npos){ binx = 7;}
else if(currDir.find(
"08")!=string::npos){ binx = 8;}
2030 else if(currDir.find(
"09")!=string::npos){ binx = 9;}
else if(currDir.find(
"10")!=string::npos){ binx = 10;}
2031 else if(currDir.find(
"11")!=string::npos){ binx = 11;}
else if(currDir.find(
"12")!=string::npos){ binx = 12;}
2032 if(currDir.find(
"HalfCylinder_mO")!=string::npos || currDir.find(
"HalfCylinder_pO")!=string::npos){ binx = binx + 12;}
2033 if(currDir.find(
"Panel_1/Module_1")!=string::npos){ biny = 1;}
else if(currDir.find(
"Panel_2/Module_1")!=string::npos){ biny = 2;}
2034 else if(currDir.find(
"Panel_1/Module_2")!=string::npos){ biny = 3;}
else if(currDir.find(
"Panel_2/Module_2")!=string::npos){ biny = 4;}
2035 else if(currDir.find(
"Panel_1/Module_3")!=string::npos){ biny = 5;}
else if(currDir.find(
"Panel_2/Module_3")!=string::npos){ biny = 6;}
2036 else if(currDir.find(
"Panel_1/Module_4")!=string::npos){ biny = 7;}
2037 }
else if (isUpgrade) {
2038 if(currDir.find(
"01")!=string::npos){ binx = 1;}
else if(currDir.find(
"02")!=string::npos){ binx = 2;}
2039 else if(currDir.find(
"03")!=string::npos){ binx = 3;}
else if(currDir.find(
"04")!=string::npos){ binx = 4;}
2040 else if(currDir.find(
"05")!=string::npos){ binx = 5;}
else if(currDir.find(
"06")!=string::npos){ binx = 6;}
2041 else if(currDir.find(
"07")!=string::npos){ binx = 7;}
else if(currDir.find(
"08")!=string::npos){ binx = 8;}
2042 else if(currDir.find(
"09")!=string::npos){ binx = 9;}
else if(currDir.find(
"10")!=string::npos){ binx = 10;}
2043 else if(currDir.find(
"11")!=string::npos){ binx = 11;}
else if(currDir.find(
"12")!=string::npos){ binx = 12;}
2044 else if(currDir.find(
"13")!=string::npos){ binx = 13;}
else if(currDir.find(
"14")!=string::npos){ binx = 14;}
2045 else if(currDir.find(
"15")!=string::npos){ binx = 15;}
else if(currDir.find(
"16")!=string::npos){ binx = 16;}
2046 else if(currDir.find(
"17")!=string::npos){ binx = 17;}
2047 if(currDir.find(
"HalfCylinder_mO")!=string::npos || currDir.find(
"HalfCylinder_pO")!=string::npos){ binx = binx + 17;}
2048 if(currDir.find(
"Panel_1/Module_1")!=string::npos){ biny = 1;}
else if(currDir.find(
"Panel_2/Module_1")!=string::npos){ biny = 2;}
2052 if(currDir.find(
"Layer_1")!=string::npos){
2055 }
else if(currDir.find(
"Layer_2")!=string::npos){
2058 }
else if(currDir.find(
"Layer_3")!=string::npos){
2061 }
else if( isUpgrade && (currDir.find(
"Layer_4")!=string::npos) ){
2064 }
else if(currDir.find(
"Disk_1")!=string::npos && currDir.find(
"HalfCylinder_m")!=string::npos){
2067 }
else if(currDir.find(
"Disk_2")!=string::npos && currDir.find(
"HalfCylinder_m")!=string::npos){
2070 }
else if(currDir.find(
"Disk_3")!=string::npos && currDir.find(
"HalfCylinder_m")!=string::npos){
2073 }
else if(currDir.find(
"Disk_1")!=string::npos && currDir.find(
"HalfCylinder_p")!=string::npos){
2076 }
else if(currDir.find(
"Disk_2")!=string::npos && currDir.find(
"HalfCylinder_p")!=string::npos){
2079 }
else if(currDir.find(
"Disk_3")!=string::npos && currDir.find(
"HalfCylinder_p")!=string::npos){
2087 vector<string> subdirs = iGetter.
getSubdirs();
2088 for (vector<string>::const_iterator it = subdirs.begin(); it != subdirs.end(); it++) {
2091 if(*it !=
"Pixel" && ((isbarrel && (*it).find(
"Barrel")==string::npos) || (!isbarrel && (*it).find(
"Endcap")==string::npos)))
continue;
const std::string & getName(void) const
get name of ME
void setBinContent(int binx, double content)
set content of bin (1-D)
tuple start
Check for commandline option errors.
MonitorElement * HitEfficiency_Dp3
TH1 * getRefTH1(void) const
void fillDeviations(DQMStore::IGetter &iGetter)
void getDocument(std::string configFile, bool UseDB=false)
Methor that parses the xml file configFile.
MonitorElement * get(const std::string &path)
void createEfficiency(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, bool isUpgrade)
static char const * tname
void getGrandSummaryME(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, int nbin, std::string &me_name, std::vector< MonitorElement * > &mes)
const std::string & pwd(void)
MonitorElement * HitEfficiency_L4
MonitorElement * getFEDSummaryME(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, std::string me_name)
void bookOccupancyPlots(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, bool hiRes, bool isbarrel)
MonitorElement * DEV_size_Barrel
MonitorElement * HitEfficiency_L3
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
SiPixelConfigParser * configParser_
MonitorElement * DEV_nclusters_Barrel
void fillGrandEndcapSummaryHistos(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, std::vector< std::string > &me_names, bool isUpgrade)
bool getMENamesForEndcapSummary(std::string &structure_name, std::vector< std::string > &me_names)
MonitorElement * HitEfficiency_Dm2
double getEntries(void) const
get # of entries
double getMean(int axis=1) const
get mean value of histogram along x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * HitEfficiency_L2
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
bool getCalibType(int &u_freq)
int getNbinsY(void) const
get # of bins in Y-axis
void fillEfficiency(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, bool isbarrel, bool isUpgrade)
MonitorElement * OccupancyMap
bool getMENamesForGrandEndcapSummary(std::string &structure_name, std::vector< std::string > &me_names)
SiPixelConfigWriter * configWriter_
tuple path
else: Piece not in the list, fine.
bool getFrequencyForGrandBarrelSummary(int &u_freq)
bool getFrequencyForEndcapSummary(int &u_freq)
bool getMENamesForFEDErrorSummary(std::string &structure_name, std::vector< std::string > &me_names)
void bookDeviations(DQMStore::IBooker &iBooker, bool isUpgrade)
void createSummary(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, bool isUpgrade)
MonitorElement * DEV_adc_Endcap
bool getMENamesForGrandBarrelSummary(std::string &structure_name, std::vector< std::string > &me_names)
bool getFrequencyForBarrelSummary(int &u_freq)
void fillFEDErrorSummary(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, std::string dir_name, std::vector< std::string > &me_names)
bool getFrequencyForGrandEndcapSummary(int &u_freq)
MonitorElement * DEV_charge_Endcap
MonitorElement * book1D(Args &&...args)
bool getMENamesForBarrelSummary(std::string &structure_name, std::vector< std::string > &me_names)
MonitorElement * getSummaryME(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, std::string me_name, bool isUpgrade)
std::vector< std::string > getMEs(void)
void fillOccupancy(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, bool isbarrel)
SiPixelActionExecutor(bool offlineXMLfile, bool Tier0Flag)
MonitorElement * DEV_charge_Barrel
MonitorElement * HitEfficiency_Dm3
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
bool getMessageLimitForQTests(int &u_freq)
MonitorElement * HitEfficiency_L1
TH1F * getTH1F(void) const
MonitorElement * DEV_nclusters_Endcap
MonitorElement * HitEfficiency_Dp1
bool getSourceType(int &u_freq)
std::vector< std::string > getSubdirs(void)
MonitorElement * DEV_size_Endcap
void setCurrentFolder(const std::string &fullpath)
double getBinContent(int binx) const
get content of bin (1-D)
double getRMS(int axis=1) const
get RMS of histogram along x, y or z axis (axis=1, 2, 3 respectively)
int getNbinsX(void) const
get # of bins in X-axis
void createOccupancy(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter)
MonitorElement * HitEfficiency_Dp2
bool getFrequencyForTrackerMap(int &u_freq)
void fillGrandBarrelSummaryHistos(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, std::vector< std::string > &me_names, bool isUpgrade)
void fillSummary(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, std::string dir_name, std::vector< std::string > &me_names, bool isbarrel, bool isUpgrade)
TH2F * getTH2F(void) const
MonitorElement * DEV_ndigis_Endcap
void GetBladeSubdirs(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, std::vector< std::string > &blade_subdirs)
MonitorElement * HitEfficiency_Dm1
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)
MonitorElement * DEV_ndigis_Barrel
void bookEfficiency(DQMStore::IBooker &iBooker, bool isUpgrade)
MonitorElement * DEV_adc_Barrel