22 #ifdef WITH_ECAL_COND_DB
274 bool statusFlagsClient(
false);
275 bool pedestalOnlineClient(
false);
277 bool ledClient(
false);
278 bool pedestalClient(
false);
279 bool testPulseClient(
false);
281 bool triggerTowerClient(
false);
285 if(dynamic_cast<EEIntegrityClient*>(
clients_[
i])) integrityClient =
true;
286 if(dynamic_cast<EEOccupancyClient*>(
clients_[i])) occupancyClient =
true;
287 if(dynamic_cast<EEStatusFlagsClient*>(
clients_[i])) statusFlagsClient =
true;
288 if(dynamic_cast<EEPedestalOnlineClient*>(
clients_[i])) pedestalOnlineClient =
true;
289 if(dynamic_cast<EELaserClient*>(
clients_[i])) laserClient =
true;
290 if(dynamic_cast<EELedClient*>(
clients_[i])) ledClient =
true;
291 if(dynamic_cast<EEPedestalClient*>(
clients_[i])) pedestalClient =
true;
292 if(dynamic_cast<EETestPulseClient*>(
clients_[i])) testPulseClient =
true;
293 if(dynamic_cast<EETimingClient*>(
clients_[i])) timingClient =
true;
294 if(dynamic_cast<EETriggerTowerClient*>(
clients_[i])) triggerTowerClient =
true;
305 name =
"EEIT EE - integrity quality summary";
311 name =
"EEIT EE + integrity quality summary";
317 name =
"EEIT integrity quality errors summary";
319 for (
int i = 0;
i < 18;
i++) {
325 name =
"EEIT PN integrity quality summary";
335 name =
"EEOT EE - digi occupancy summary";
341 name =
"EEOT EE + digi occupancy summary";
347 name =
"EEIT digi occupancy summary 1D";
349 for (
int i = 0;
i < 18;
i++) {
354 name =
"EEOT EE - energy summary";
361 name =
"EEOT EE + energy summary";
369 name =
"EEOT PN digi occupancy summary";
378 name =
"EESFT EE - front-end status summary";
384 name =
"EESFT EE + front-end status summary";
390 name =
"EESFT front-end status errors summary";
392 for (
int i = 0;
i < 18;
i++) {
399 name =
"EEPOT EE - pedestal quality summary G12";
405 name =
"EEPOT EE + pedestal quality summary G12";
411 name =
"EEPOT EE - pedestal G12 RMS map";
418 name =
"EEPOT EE + pedestal G12 RMS map";
425 name =
"EEPOT pedestal G12 mean";
427 for (
int i = 0;
i < 18;
i++) {
432 name =
"EEPOT pedestal G12 rms";
434 for (
int i = 0;
i < 18;
i++) {
439 name =
"EEPOT pedestal quality errors summary G12";
441 for (
int i = 0;
i < 18;
i++) {
450 name =
"EELT EE - laser quality summary L1";
456 name =
"EELT EE + laser quality summary L1";
462 name =
"EELT laser quality errors summary L1";
464 for (
int i = 0;
i < 18;
i++) {
469 name =
"EELT PN laser quality summary L1";
475 name =
"EELT PN laser quality errors summary L1";
477 for (
int i = 0;
i < 18;
i++) {
482 name =
"EELT laser L1 amplitude summary";
484 for (
int i = 0;
i < 18;
i++) {
489 name =
"EELT laser L1 timing summary";
491 for (
int i = 0;
i < 18;
i++) {
496 name =
"EELT laser L1 amplitude over PN summary";
498 for (
int i = 0;
i < 18;
i++) {
507 name =
"EELT EE - laser quality summary L2";
513 name =
"EELT EE + laser quality summary L2";
519 name =
"EELT laser quality errors summary L2";
521 for (
int i = 0;
i < 18;
i++) {
526 name =
"EELT PN laser quality summary L2";
532 name =
"EELT PN laser quality errors summary L2";
534 for (
int i = 0;
i < 18;
i++) {
539 name =
"EELT laser L2 amplitude summary";
541 for (
int i = 0;
i < 18;
i++) {
546 name =
"EELT laser L2 timing summary";
548 for (
int i = 0;
i < 18;
i++) {
553 name =
"EELT laser L2 amplitude over PN summary";
555 for (
int i = 0;
i < 18;
i++) {
564 name =
"EELT EE - laser quality summary L3";
570 name =
"EELT EE + laser quality summary L3";
576 name =
"EELT laser quality errors summary L3";
578 for (
int i = 0;
i < 18;
i++) {
583 name =
"EELT PN laser quality summary L3";
589 name =
"EELT PN laser quality errors summary L3";
591 for (
int i = 0;
i < 18;
i++) {
596 name =
"EELT laser L3 amplitude summary";
598 for (
int i = 0;
i < 18;
i++) {
603 name =
"EELT laser L3 timing summary";
605 for (
int i = 0;
i < 18;
i++) {
610 name =
"EELT laser L3 amplitude over PN summary";
612 for (
int i = 0;
i < 18;
i++) {
621 name =
"EELT EE - laser quality summary L4";
627 name =
"EELT EE + laser quality summary L4";
633 name =
"EELT laser quality errors summary L4";
635 for (
int i = 0;
i < 18;
i++) {
640 name =
"EELT PN laser quality summary L4";
646 name =
"EELT PN laser quality errors summary L4";
648 for (
int i = 0;
i < 18;
i++) {
653 name =
"EELT laser L4 amplitude summary";
655 for (
int i = 0;
i < 18;
i++) {
660 name =
"EELT laser L4 timing summary";
662 for (
int i = 0;
i < 18;
i++) {
667 name =
"EELT laser L4 amplitude over PN summary";
669 for (
int i = 0;
i < 18;
i++) {
680 name =
"EELDT EE - led quality summary L1";
686 name =
"EELDT EE + led quality summary L1";
692 name =
"EELDT led quality errors summary L1";
694 for (
int i = 0;
i < 18;
i++) {
699 name =
"EELDT PN led quality summary L1";
705 name =
"EELDT PN led quality errors summary L1";
707 for (
int i = 0;
i < 18;
i++) {
712 name =
"EELDT led L1 amplitude summary";
714 for (
int i = 0;
i < 18;
i++) {
719 name =
"EELDT led L1 timing summary";
721 for (
int i = 0;
i < 18;
i++) {
726 name =
"EELDT led L1 amplitude over PN summary";
728 for (
int i = 0;
i < 18;
i++) {
737 name =
"EELDT EE - led quality summary L2";
743 name =
"EELDT EE + led quality summary L2";
749 name =
"EELDT led quality errors summary L2";
751 for (
int i = 0;
i < 18;
i++) {
756 name =
"EELDT PN led quality summary L2";
762 name =
"EELDT PN led quality errors summary L2";
764 for (
int i = 0;
i < 18;
i++) {
769 name =
"EELDT led L2 amplitude summary";
771 for (
int i = 0;
i < 18;
i++) {
776 name =
"EELDT led L2 timing summary";
778 for (
int i = 0;
i < 18;
i++) {
783 name =
"EELDT led L2 amplitude over PN summary";
785 for (
int i = 0;
i < 18;
i++) {
796 name =
"EEPT EE - pedestal quality G01 summary";
806 name =
"EEPT EE - pedestal quality G06 summary";
816 name =
"EEPT EE - pedestal quality G12 summary";
827 name =
"EEPT PN pedestal quality G01 summary";
837 name =
"EEPT PN pedestal quality G16 summary";
847 name =
"EEPT EE + pedestal quality G01 summary";
858 name =
"EEPT EE + pedestal quality G06 summary";
868 name =
"EEPT EE + pedestal quality G12 summary";
880 name =
"EETPT EE - test pulse quality G01 summary";
890 name =
"EETPT EE - test pulse quality G06 summary";
900 name =
"EETPT EE - test pulse quality G12 summary";
911 name =
"EETPT PN test pulse quality G01 summary";
921 name =
"EETPT PN test pulse quality G16 summary";
931 name =
"EETPT EE + test pulse quality G01 summary";
941 name =
"EETPT EE + test pulse quality G06 summary";
951 name =
"EETPT EE + test pulse quality G12 summary";
961 name =
"EETPT test pulse amplitude G01 summary";
963 for (
int i = 0;
i < 18;
i++) {
972 name =
"EETPT test pulse amplitude G06 summary";
974 for (
int i = 0;
i < 18;
i++) {
983 name =
"EETPT test pulse amplitude G12 summary";
985 for (
int i = 0;
i < 18;
i++) {
995 name =
"EETMT EE - timing quality summary";
1001 name =
"EETMT EE + timing quality summary";
1007 name =
"EETMT EE - timing mean 1D summary";
1012 name =
"EETMT EE + timing mean 1D summary";
1017 name =
"EETMT EE - timing rms 1D summary";
1022 name =
"EETMT EE + timing rms 1D summary";
1027 name =
"EETMT timing mean";
1029 for (
int i = 0;
i < 18;
i++) {
1035 name =
"EETMT timing rms";
1037 for (
int i = 0;
i < 18;
i++) {
1043 if(triggerTowerClient){
1045 name =
"EETTT EE - Et trigger tower summary";
1052 name =
"EETTT EE + Et trigger tower summary";
1059 name =
"EETTT EE - emulator error quality summary";
1065 name =
"EETTT EE + emulator error quality summary";
1071 name =
"EETTT EE - Trigger Primitives Timing summary";
1078 name =
"EETTT EE + Trigger Primitives Timing summary";
1085 name =
"EETTT EE - Trigger Primitives Non Single Timing summary";
1092 name =
"EETTT EE + Trigger Primitives Non Single Timing summary";
1101 name =
"EE global summary EE -";
1109 name =
"EE global summary EE +";
1117 name =
"EE global summary errors";
1456 #ifdef WITH_ECAL_COND_DB
1470 if (
ievt_ % 10 == 0 ) {
1476 for (
int ix = 1; ix <= 100; ix++ ) {
1477 for (
int iy = 1; iy <= 100; iy++ ) {
1524 for (
int ix = 1; ix <= 45; ix++ ) {
1525 for (
int iy = 1; iy <= 20; iy++ ) {
1543 for (
int ix = 1; ix <= 100; ix++ ) {
1544 for (
int iy = 1; iy <= 100; iy++ ) {
1556 for (
int ix = 1; ix <= 20; ix++ ) {
1557 for (
int iy = 1; iy <= 20; iy++ ) {
1673 TProfile2D *htmtp(0);
1677 TProfile2D *htmtm(0);
1684 for (
unsigned int i=0;
i<
clients_.size();
i++ ) {
1712 me =
dqmStore_->
get(
prefixME_ +
"/EERawDataTask/" + subdir +
"EERDT accumulated FE synchronization errors");
1731 for (
int ix = 1; ix <= 50; ix++ ) {
1732 for (
int iy = 1; iy <= 50; iy++ ) {
1737 if ( ism >= 1 && ism <= 9 ) {
1745 me = eeic->
meg01_[ism-1];
1751 if ( ism >= 1 && ism <= 9 ) {
1761 h2 = eeic->
h_[ism-1];
1765 float xval = h2->GetBinContent( ix, iy );
1767 if ( ism >= 1 && ism <= 9 ) {
1781 me = eepoc->
meg03_[ism-1];
1787 if ( ism >= 1 && ism <= 9 ) {
1797 float num01, mean01, rms01;
1805 if ( ism >= 1 && ism <= 9 ) {
1819 me = eelc->
meg01_[ism-1];
1826 if ( ism >= 1 && ism <= 9 ) {
1841 me = eelc->
meg02_[ism-1];
1848 if ( ism >= 1 && ism <= 9 ) {
1863 me = eelc->
meg03_[ism-1];
1870 if ( ism >= 1 && ism <= 9 ) {
1885 me = eelc->
meg04_[ism-1];
1892 if ( ism >= 1 && ism <= 9 ) {
1911 me = eeldc->
meg01_[ism-1];
1918 if ( ism >= 1 && ism <= 9 ) {
1933 me = eeldc->
meg02_[ism-1];
1940 if ( ism >= 1 && ism <= 9 ) {
1957 me_01 = eepc->
meg01_[ism-1];
1958 me_02 = eepc->
meg02_[ism-1];
1959 me_03 = eepc->
meg03_[ism-1];
1964 if ( ism >= 1 && ism <= 9 ) {
1974 if ( ism >= 1 && ism <= 9 ) {
1984 if ( ism >= 1 && ism <= 9 ) {
1996 me_01 = eetpc->
meg01_[ism-1];
1997 me_02 = eetpc->
meg02_[ism-1];
1998 me_03 = eetpc->
meg03_[ism-1];
2003 if ( ism >= 1 && ism <= 9 ) {
2013 if ( ism >= 1 && ism <= 9 ) {
2023 if ( ism >= 1 && ism <= 9 ) {
2035 float xval =
hot01_[ism-1]->GetBinContent( ix, iy );
2037 if ( ism >= 1 && ism <= 9 ) {
2048 for (
int ix = 1; ix <= 50; ix++ ) {
2049 for (
int iy = 1; iy <= 50; iy++ ) {
2054 if ( ism >= 1 && ism <= 9 ) {
2073 me = eesfc->
meh01_[ism-1];
2079 if ( ism >= 1 && ism <= 9 ) {
2104 for (
int ix = 1; ix <= 50; ix++ ) {
2105 for (
int iy = 1; iy <= 50; iy++ ) {
2113 bool hadNonZeroInterest =
false;
2117 mean01 =
httt01_[ism-1]->GetBinContent( ix, iy );
2119 if ( mean01 != 0. ) {
2120 if ( ism >= 1 && ism <= 9 ) {
2136 if ( ism >= 1 && ism <= 9 ) {
2141 hadNonZeroInterest =
true;
2153 if ( ism >= 1 && ism <= 9 ) {
2165 h2 = eetttc->
l01_[ism-1];
2166 h3 = eetttc->
l02_[ism-1];
2171 float emulErrorVal = h2->GetBinContent( ix, iy );
2173 float errorThresh(0.01);
2174 if((ix - 50) * (ix - 50) + (iy - 50) * (iy - 50) < 400.) errorThresh = 0.05;
2176 if( emulErrorVal > errorThresh *
ievt_ && hadNonZeroInterest ) xval = 0;
2180 if ( xval!=0 && hadNonZeroInterest ) xval = 1;
2185 if ( xval == 2 )
continue;
2187 if ( ism >= 1 && ism <= 9 ) {
2197 float num01, mean01, rms01;
2203 if ( ism >= 1 && ism <= 9 ) {
2222 for (
int ix = 1; ix <= 10; ix++ ) {
2223 for(
int iy = 1; iy <= 10; iy++ ) {
2228 if( jx <= 0 || jx >= 21 || jy <= 0 || jy >= 21 )
continue;
2230 if ( ism >= 1 && ism <= 9 ) {
2240 int ixedge = (ix-1) * 5;
2241 int iyedge = (iy-1) * 5;
2242 int jxedge = (jx-1) * 5;
2243 int jyedge = (jy-1) * 5;
2249 for(
int cx=1; cx<=5; cx++){
2250 for(
int cy=1; cy<=5; cy++){
2251 int scjx = (ism >= 1 && ism <= 9) ? 101 - (jxedge + cx) : jxedge + cx;
2252 int scjy = jyedge + cy;
2253 int scix = ixedge + cx;
2254 int sciy = iyedge + cy;
2260 num +=
htmt01_[ism-1]->GetBinEntries(
htmt01_[ism-1]->GetBin(scix, sciy));
2268 bool update01(
false);
2269 float num01, mean01, rms01;
2270 if(ism >= 1 && ism <= 9)
2282 update01 |= num > 1.4 * nHitThreshold;
2288 float rmsThresh(6.);
2289 float meanThresh(3.);
2290 if((ix - 50) * (ix - 50) + (iy - 50) * (iy - 50) < 400.){
2296 if(
std::abs(mean01) > meanThresh || rms01 > rmsThresh || num > 1.4 * num01 ) xval = 0.;
2302 if ( ism >= 1 && ism <= 9 ){
2319 for(
int i = 1;
i <= 10;
i++ ) {
2320 for(
int j = 1;
j <= 5;
j++ ) {
2327 ipseudostripx = (ism<=3) ?
j+5*(ism-1+6) :
j+5*(ism-1-3);
2330 ipseudostripx = (ism<=12) ?
j+5*(ism-10+6) :
j+5*(ism-10-3);
2335 me_04 = eeic->
meg02_[ism-1];
2336 h2 = eeic->
hmem_[ism-1];
2348 float xval = h2->GetBinContent(
i,1);
2357 me_04 = eepc->
meg04_[ism-1];
2358 me_05 = eepc->
meg05_[ism-1];
2373 me_04 = eetpc->
meg04_[ism-1];
2374 me_05 = eetpc->
meg05_[ism-1];
2391 me = eelc->
meg09_[ism-1];
2408 me = eelc->
meg10_[ism-1];
2425 me = eelc->
meg11_[ism-1];
2442 me = eelc->
meg12_[ism-1];
2463 me = eeldc->
meg09_[ism-1];
2480 me = eeldc->
meg10_[ism-1];
2500 for (
int ix=1; ix<=50; ix++ ) {
2501 for (
int iy=1; iy<=50; iy++ ) {
2505 if( ism >= 1 && ism <= 9 ) jx = 101 - jx;
2521 if( xval != 2 && xval != 5 ) {
2527 if( mea01 && met01 && meaopn01 ) {
2545 if( xval != 2 && xval != 5 ) {
2551 if( mea02 && met02 && meaopn02 ) {
2569 if( xval != 2 && xval != 5 ) {
2575 if( mea03 && met03 && meaopn03 ) {
2593 if( xval != 2 && xval != 5 ) {
2599 if( mea04 && met04 && meaopn04 ) {
2621 if( xval != 2 && xval != 5 ) {
2627 if( mea01 && met01 && meaopn01 ) {
2645 if( xval != 2 && xval != 5 ) {
2651 if( mea02 && met02 && meaopn02 ) {
2673 if ( xval01 != 2 && xval01 != 5 ) {
2675 me = eetpc->
mea01_[ism-1];
2691 if ( xval02 != 2 && xval02 != 5 ) {
2693 me = eetpc->
mea02_[ism-1];
2709 if ( xval03 != 2 && xval03 != 5 ) {
2711 me = eetpc->
mea03_[ism-1];
2737 for (
int ix = 1; ix <= 50; ix++ ) {
2738 for (
int iy = 1; iy <= 50; iy++ ) {
2745 if ( ism >= 1 && ism <= 9 ) {
2765 int nGlobalErrors = 0;
2766 int nGlobalErrorsEE[18];
2767 int nValidChannels = 0;
2768 int nValidChannelsEE[18];
2770 for (
int i = 0;
i < 18;
i++) {
2771 nGlobalErrorsEE[
i] = 0;
2772 nValidChannelsEE[
i] = 0;
2775 for (
int jx = 1; jx <= 100; jx++ ) {
2776 for (
int jy = 1; jy <= 100; jy++ ) {
2790 float val_ls_1=2, val_ls_2=2, val_ls_3=2, val_ls_4=2;
2793 if(val_ls_1==2 || val_ls_1==3 || val_ls_1==4 || val_ls_1==5) val_ls_1=1;
2797 if(val_ls_2==2 || val_ls_2==3 || val_ls_2==4 || val_ls_2==5) val_ls_2=1;
2801 if(val_ls_3==2 || val_ls_3==3 || val_ls_3==4 || val_ls_3==5) val_ls_3=1;
2805 if(val_ls_4==2 || val_ls_4==3 || val_ls_4==4 || val_ls_4==5) val_ls_4=1;
2809 if (val_ls_1 == 0 || val_ls_2==0 || val_ls_3==0 || val_ls_4==0) val_ls=0;
2813 float val_ld_1=2, val_ld_2=2;
2816 if(val_ld_1==2 || val_ld_1==3 || val_ld_1==4 || val_ld_1==5) val_ld_1=1;
2820 if(val_ld_2==2 || val_ld_2==3 || val_ld_2==4 || val_ld_2==5) val_ld_2=1;
2824 if (val_ld_1 == 0 || val_ld_2==0) val_ld=0;
2839 if( val_in==3 || val_in==4 || val_in==5) val_in=1;
2840 if(val_po==2 || val_po==3 || val_po==4 || val_po==5) val_po=1;
2841 if(val_ls==2 || val_ls==3 || val_ls==4 || val_ls==5) val_ls=1;
2842 if(val_ld==2 || val_ld==3 || val_ld==4 || val_ld==5) val_ld=1;
2843 if(val_tm==2 || val_tm==3 || val_tm==4 || val_tm==5) val_tm=1;
2844 if( val_sf==3 || val_sf==4 || val_sf==5) val_sf=1;
2845 if(val_ee==2 || val_ee==3 || val_ee==4 || val_ee==5) val_ee=1;
2847 if(val_in==6) xval=6;
2848 else if(val_in==0) xval=0;
2849 else if(val_po==0 || val_ls==0 || val_ld==0 || val_tm==0 || val_sf==0 || val_ee==0) xval=0;
2850 else if(val_po==2 || val_ls==2 || val_ld==2 || val_tm==2 || val_sf==2 || val_ee==2) xval=2;
2853 bool validCry =
false;
2867 float frac_synch_errors = 0.;
2869 if(norm > 0) frac_synch_errors = float(
synch01_->GetBinContent(
ism))/
float(norm);
2872 if(oosTrend && oosTrend->GetBinContent(oosTrend->GetNbinsX()) - oosTrend->GetBinContent(1) < 1.) xval += 3.;
2876 for (
unsigned int i=0;
i<
clients_.size();
i++ ) {
2879 TH2F* h2 = eeic->
h_[
ism-1];
2881 iEntries = h2->GetEntries();
2889 if ( validCry && iEntries==0 ) {
2895 if ( xval >= 0 && xval <= 5 ) {
2896 if ( xval != 2 && xval != 5 ) ++nValidChannels;
2897 for (
int i = 1;
i <= 9;
i++) {
2898 if ( xval != 2 && xval != 5 ) {
2902 if ( xval == 0 ) ++nGlobalErrors;
2903 for (
int i = 1;
i <= 9;
i++) {
2924 float val_ls_1=2, val_ls_2=2, val_ls_3=2, val_ls_4=2;
2927 if(val_ls_1==2 || val_ls_1==3 || val_ls_1==4 || val_ls_1==5) val_ls_1=1;
2931 if(val_ls_2==2 || val_ls_2==3 || val_ls_2==4 || val_ls_2==5) val_ls_2=1;
2935 if(val_ls_3==2 || val_ls_3==3 || val_ls_3==4 || val_ls_3==5) val_ls_3=1;
2939 if(val_ls_4==2 || val_ls_4==3 || val_ls_4==4 || val_ls_4==5) val_ls_4=1;
2943 if (val_ls_1 == 0 || val_ls_2==0 || val_ls_3==0 || val_ls_4==0) val_ls=0;
2947 float val_ld_1=2, val_ld_2=2;
2950 if(val_ld_1==2 || val_ld_1==3 || val_ld_1==4 || val_ld_1==5) val_ld_1=1;
2954 if(val_ld_2==2 || val_ld_2==3 || val_ld_2==4 || val_ld_2==5) val_ld_2=1;
2958 if (val_ld_1 == 0 || val_ld_2==0) val_ld=0;
2973 if( val_in==3 || val_in==4 || val_in==5) val_in=1;
2974 if(val_po==2 || val_po==3 || val_po==4 || val_po==5) val_po=1;
2975 if(val_ls==2 || val_ls==3 || val_ls==4 || val_ls==5) val_ls=1;
2976 if(val_ld==2 || val_ld==3 || val_ld==4 || val_ld==5) val_ld=1;
2977 if(val_tm==2 || val_tm==3 || val_tm==4 || val_tm==5) val_tm=1;
2978 if( val_sf==3 || val_sf==4 || val_sf==5) val_sf=1;
2979 if(val_ee==2 || val_ee==3 || val_ee==4 || val_ee==5) val_ee=1;
2981 if(val_in==6) xval=6;
2982 else if(val_in==0) xval=0;
2983 else if(val_po==0 || val_ls==0 || val_ld==0 || val_tm==0 || val_sf==0 || val_ee==0) xval=0;
2984 else if(val_po==2 || val_ls==2 || val_ld==2 || val_tm==2 || val_sf==2 || val_ee==2) xval=2;
2987 bool validCry =
false;
3001 float frac_synch_errors = 0.;
3003 if(norm > 0) frac_synch_errors = float(
synch01_->GetBinContent(
ism))/
float(norm);
3006 if(oosTrend && oosTrend->GetBinContent(oosTrend->GetNbinsX()) - oosTrend->GetBinContent(1) < 1.) xval += 3.;
3010 for (
unsigned int i=0;
i<
clients_.size();
i++ ) {
3013 TH2F* h2 = eeic->
h_[
ism-1];
3015 iEntries = h2->GetEntries();
3023 if ( validCry && iEntries==0 ) {
3029 if ( xval >= 0 && xval <= 5 ) {
3030 if ( xval != 2 && xval != 5 ) ++nValidChannels;
3031 for (
int i = 10;
i <= 18;
i++) {
3032 if ( xval != 2 && xval != 5 ) {
3036 if ( xval == 0 ) ++nGlobalErrors;
3037 for (
int i = 10;
i <= 18;
i++) {
3052 float reportSummary = -1.0;
3053 if ( nValidChannels != 0 )
3054 reportSummary = 1.0 - float(nGlobalErrors)/float(nValidChannels);
3056 if ( me ) me->
Fill(reportSummary);
3058 for (
int i = 0;
i < 18;
i++) {
3059 float reportSummaryEE = -1.0;
3060 if ( nValidChannelsEE[
i] != 0 )
3061 reportSummaryEE = 1.0 - float(nGlobalErrorsEE[
i])/float(nValidChannelsEE[i]);
3063 if ( me ) me->
Fill(reportSummaryEE);
3071 int nValidChannelsSC[2][20][20];
3072 int nGlobalErrorsSC[2][20][20];
3073 for (
int iside = 0; iside < 2; iside++ ) {
3074 for (
int jxdcc = 0; jxdcc < 20; jxdcc++ ) {
3075 for (
int jydcc = 0; jydcc < 20; jydcc++ ) {
3076 nValidChannelsSC[iside][jxdcc][jydcc] = 0;
3077 nGlobalErrorsSC[iside][jxdcc][jydcc] = 0;
3082 for (
int iside = 0; iside < 2; iside++ ) {
3083 for (
int ix = 1; ix <= 100; ix++ ) {
3084 for (
int iy = 1; iy <= 100; iy++ ) {
3086 int jxsc = (ix-1)/5;
3087 int jysc = (iy-1)/5;
3091 if ( xval >= 0 && xval <= 5 ) {
3092 if ( xval != 2 && xval != 5 ) ++nValidChannelsSC[iside][jxsc][jysc];
3093 if ( xval == 0 ) ++nGlobalErrorsSC[iside][jxsc][jysc];
3103 for(
int iside(0); iside < 2; iside++){
3104 for(
int jy(1); jy < 20; jy++){
3105 for(
int jx(1); jx < 20; jx++){
3106 if(jy > 6 && jy < 14 && jx > 6 && jx < 14)
continue;
3108 if(nValidChannelsSC[iside][jx - 1][jy - 1] > 0 && nGlobalErrorsSC[iside][jx - 1][jy - 1] == nValidChannelsSC[iside][jx - 1][jy - 1]) nErr += 1;
3109 if(nValidChannelsSC[iside][jx][jy - 1] > 0 && nGlobalErrorsSC[iside][jx][jy - 1] == nValidChannelsSC[iside][jx][jy - 1]) nErr += 1;
3110 if(nValidChannelsSC[iside][jx - 1][jy] > 0 && nGlobalErrorsSC[iside][jx - 1][jy] == nValidChannelsSC[iside][jx - 1][jy]) nErr += 1;
3111 if(nValidChannelsSC[iside][jx][jy] > 0 && nGlobalErrorsSC[iside][jx][jy] == nValidChannelsSC[iside][jx][jy]) nErr += 1;
3113 int jx0(((jx - 1) / 10) * 10);
3114 for(
int jjx(jx0); jjx < jx0 + 10; jjx++){
3115 for(
int jjy(0); jjy < 20; jjy++){
3116 nGlobalErrorsSC[iside][jjx][jjy] = nValidChannelsSC[iside][jjx][jjy];
3124 for (
int iside = 0; iside < 2; iside++ ) {
3125 for (
int jxsc = 0; jxsc < 20; jxsc++ ) {
3126 for (
int jysc = 0; jysc < 20; jysc++ ) {
3130 if( nValidChannelsSC[iside][jxsc][jysc] != 0 )
3131 scval = 1.0 - float(nGlobalErrorsSC[iside][jxsc][jysc])/float(nValidChannelsSC[iside][jxsc][jysc]);
void beginJob(void)
BeginJob.
T getUntrackedParameter(std::string const &, T const &) const
const std::string & getName(void) const
get name of ME
static std::string sEE(const unsigned ism)
MonitorElement * meg09_[18]
MonitorElement * mea03_[18]
static bool validEE(const unsigned ism, const unsigned ix, const unsigned iy)
float synchErrorThreshold_
MonitorElement * met01_[18]
void setBinContent(int binx, double content)
set content of bin (1-D)
static bool maskChannel(int ism, int i1, int i2, uint32_t bits, const EcalSubdetector subdet)
MonitorElement * meLaserL4Ampl_
MonitorElement * meTestPulseG12_[2]
MonitorElement * meLaserL4Timing_
MonitorElement * meg04_[18]
void cleanup(void)
Cleanup.
static unsigned icEE(const unsigned ism, const unsigned ix, const unsigned iy)
static const int PHYSICS_BAD_CHANNEL_WARNING
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
MonitorElement * meLaserL3Err_
MonitorElement * meTimingRMS_
std::vector< int > MGPAGainsPN_
static T getHisto(const MonitorElement *me, bool clone=false, T ret=0)
Returns the histogram contained by the Monitor Element.
std::vector< int > superModules_
void analyze(void)
Analyze.
MonitorElement * meTestPulsePNG01_
MonitorElement * mePedestalOnlineErr_
float timingNHitThreshold_
MonitorElement * me_o01_[18]
Some "id" conversions.
MonitorElement * meTiming_[2]
MonitorElement * meg05_[18]
MonitorElement * meLaserL1Ampl_
MonitorElement * met02_[18]
MonitorElement * meLedL1AmplOverPN_
MonitorElement * mePedestalOnlineRMSMap_[2]
MonitorElement * meLedL1_[2]
static bool validEESc(const unsigned ism, const unsigned ix, const unsigned iy)
MonitorElement * mePedestalPNG16_
MonitorElement * meLaserL3AmplOverPN_
MonitorElement * meLaserL3Timing_
MonitorElement * meTestPulseAmplG01_
MonitorElement * meTestPulseAmplG06_
MonitorElement * meg04_[18]
virtual ~EESummaryClient()
Destructor.
MonitorElement * mePedestalG01_[2]
MonitorElement * meLaserL4_[2]
MonitorElement * meTestPulseG01_[2]
MonitorElement * meLedL1Err_
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)
MonitorElement * met02_[18]
MonitorElement * meLaserL4AmplOverPN_
MonitorElement * meg01_[18]
MonitorElement * meg10_[18]
MonitorElement * meg11_[18]
MonitorElement * meg03_[18]
MonitorElement * meLaserL3PNErr_
MonitorElement * meOccupancy_[2]
MonitorElement * meLaserL2AmplOverPN_
MonitorElement * met01_[18]
MonitorElement * mePedestalG12_[2]
static int ix0EE(const unsigned ism)
MonitorElement * mea01_[18]
MonitorElement * meTriggerTowerEmulError_[2]
MonitorElement * meSummaryErr_
MonitorElement * meLaserL2_[2]
MonitorElement * met04_[18]
double getEntries(void) const
get # of entries
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
MonitorElement * meLedL2PN_
MonitorElement * meIntegrityPN_
MonitorElement * meg12_[18]
static void maskBinContent(const MonitorElement *me, const int ix, const int iy)
Mask the bin content.
MonitorElement * meg09_[18]
MonitorElement * meIntegrity_[2]
MonitorElement * meaopn02_[18]
MonitorElement * meh01_[18]
static int iy0EE(const unsigned ism)
MonitorElement * meg01_[18]
MonitorElement * meg05_[18]
MonitorElement * meLaserL4PN_
MonitorElement * meRecHitEnergy_[2]
MonitorElement * meg02_[18]
MonitorElement * mea04_[18]
MonitorElement * meLaserL3_[2]
MonitorElement * meaopn01_[18]
MonitorElement * meTimingRMS1D_[2]
MonitorElement * mePedestalOnline_[2]
MonitorElement * meStatusFlags_[2]
MonitorElement * meg03_[18]
MonitorElement * meLaserL4Err_
MonitorElement * meaopn03_[18]
MonitorElement * meLedL2PNErr_
MonitorElement * meTriggerTowerTiming_[2]
MonitorElement * meLaserL1PNErr_
MonitorElement * meg04_[18]
void beginRun(void)
BeginRun.
void removeElement(const std::string &name)
MonitorElement * meLaserL1Timing_
MonitorElement * meLaserL3PN_
MonitorElement * meg03_[18]
MonitorElement * meaopn04_[18]
MonitorElement * meLedL1Ampl_
MonitorElement * mea02_[18]
MonitorElement * meLaserL1_[2]
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
MonitorElement * meTimingMean_
void setEntries(double nentries)
set # of entries
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
MonitorElement * meTriggerTowerNonSingleTiming_[2]
MonitorElement * meg02_[18]
MonitorElement * mea03_[18]
MonitorElement * meg03_[18]
MonitorElement * meaopn01_[18]
MonitorElement * meLedL2Timing_
MonitorElement * meLedL1PN_
MonitorElement * mea01_[18]
MonitorElement * meLaserL4PNErr_
std::vector< EEClient * > clients_
MonitorElement * me_o02_[18]
MonitorElement * meTimingMean1D_[2]
Ecal Monitor Utils for Client.
static bool getBinStatistics(TH1 *histo, const int ix, const int iy, float &num, float &mean, float &rms, float minEntries=1.)
Returns true if the bin contains good statistical data.
std::vector< int > laserWavelengths_
MonitorElement * mea02_[18]
MonitorElement * meg01_[18]
MonitorElement * meTestPulsePNG16_
MonitorElement * meLedL1Timing_
MonitorElement * mePedestalPNG01_
EESummaryClient(const edm::ParameterSet &ps)
Constructor.
double getBinError(int binx) const
get uncertainty on content of bin (1-D) - See TH1::GetBinError for details
MonitorElement * meg02_[18]
MonitorElement * meLedL1PNErr_
MonitorElement * meStatusFlagsErr_
MonitorElement * meTriggerTowerEt_[2]
MonitorElement * meg02_[18]
std::vector< int > MGPAGains_
MonitorElement * mePedestalG06_[2]
MonitorElement * meOccupancyPN_
MonitorElement * mea02_[18]
MonitorElement * meLedL2AmplOverPN_
MonitorElement * mePedestalOnlineRMS_
MonitorElement * meg10_[18]
MonitorElement * meLaserL2Timing_
MonitorElement * meLaserL2Err_
double getBinContent(int binx) const
get content of bin (1-D)
MonitorElement * meLaserL2Ampl_
MonitorElement * meLaserL1AmplOverPN_
MonitorElement * meLaserL2PN_
std::vector< int > ledWavelengths_
MonitorElement * meLedL2Err_
MonitorElement * meTestPulseG06_[2]
MonitorElement * meLaserL3Ampl_
MonitorElement * met03_[18]
MonitorElement * meg01_[18]
MonitorElement * meLaserL1PN_
MonitorElement * meaopn02_[18]
MonitorElement * meLedL2Ampl_
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
MonitorElement * meGlobalSummary_[2]
MonitorElement * mePedestalOnlineMean_
int ism(int ieta, int iphi)
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 * meOccupancy1D_
MonitorElement * meg02_[18]
MonitorElement * meLedL2_[2]
void setCurrentFolder(const std::string &fullpath)
MonitorElement * meTestPulseAmplG12_
MonitorElement * meLaserL2PNErr_
MonitorElement * meLaserL1Err_
MonitorElement * meIntegrityErr_
MonitorElement * mea01_[18]
MonitorElement * meg01_[18]