20 #ifdef WITH_ECAL_COND_DB
272 bool statusFlagsClient(
false);
273 bool pedestalOnlineClient(
false);
275 bool ledClient(
false);
276 bool pedestalClient(
false);
277 bool testPulseClient(
false);
279 bool triggerTowerClient(
false);
283 if(dynamic_cast<EEIntegrityClient*>(
clients_[
i])) integrityClient =
true;
284 if(dynamic_cast<EEOccupancyClient*>(
clients_[i])) occupancyClient =
true;
285 if(dynamic_cast<EEStatusFlagsClient*>(
clients_[i])) statusFlagsClient =
true;
286 if(dynamic_cast<EEPedestalOnlineClient*>(
clients_[i])) pedestalOnlineClient =
true;
287 if(dynamic_cast<EELaserClient*>(
clients_[i])) laserClient =
true;
288 if(dynamic_cast<EELedClient*>(
clients_[i])) ledClient =
true;
289 if(dynamic_cast<EEPedestalClient*>(
clients_[i])) pedestalClient =
true;
290 if(dynamic_cast<EETestPulseClient*>(
clients_[i])) testPulseClient =
true;
291 if(dynamic_cast<EETimingClient*>(
clients_[i])) timingClient =
true;
292 if(dynamic_cast<EETriggerTowerClient*>(
clients_[i])) triggerTowerClient =
true;
303 name =
"EEIT EE - integrity quality summary";
309 name =
"EEIT EE + integrity quality summary";
315 name =
"EEIT integrity quality errors summary";
317 for (
int i = 0;
i < 18;
i++) {
323 name =
"EEIT PN integrity quality summary";
333 name =
"EEOT EE - digi occupancy summary";
339 name =
"EEOT EE + digi occupancy summary";
345 name =
"EEIT digi occupancy summary 1D";
347 for (
int i = 0;
i < 18;
i++) {
352 name =
"EEOT EE - energy summary";
359 name =
"EEOT EE + energy summary";
367 name =
"EEOT PN digi occupancy summary";
376 name =
"EESFT EE - front-end status summary";
382 name =
"EESFT EE + front-end status summary";
388 name =
"EESFT front-end status errors summary";
390 for (
int i = 0;
i < 18;
i++) {
397 name =
"EEPOT EE - pedestal quality summary G12";
403 name =
"EEPOT EE + pedestal quality summary G12";
409 name =
"EEPOT EE - pedestal G12 RMS map";
416 name =
"EEPOT EE + pedestal G12 RMS map";
423 name =
"EEPOT pedestal G12 mean";
425 for (
int i = 0;
i < 18;
i++) {
430 name =
"EEPOT pedestal G12 rms";
432 for (
int i = 0;
i < 18;
i++) {
437 name =
"EEPOT pedestal quality errors summary G12";
439 for (
int i = 0;
i < 18;
i++) {
448 name =
"EELT EE - laser quality summary L1";
454 name =
"EELT EE + laser quality summary L1";
460 name =
"EELT laser quality errors summary L1";
462 for (
int i = 0;
i < 18;
i++) {
467 name =
"EELT PN laser quality summary L1";
473 name =
"EELT PN laser quality errors summary L1";
475 for (
int i = 0;
i < 18;
i++) {
480 name =
"EELT laser L1 amplitude summary";
482 for (
int i = 0;
i < 18;
i++) {
487 name =
"EELT laser L1 timing summary";
489 for (
int i = 0;
i < 18;
i++) {
494 name =
"EELT laser L1 amplitude over PN summary";
496 for (
int i = 0;
i < 18;
i++) {
505 name =
"EELT EE - laser quality summary L2";
511 name =
"EELT EE + laser quality summary L2";
517 name =
"EELT laser quality errors summary L2";
519 for (
int i = 0;
i < 18;
i++) {
524 name =
"EELT PN laser quality summary L2";
530 name =
"EELT PN laser quality errors summary L2";
532 for (
int i = 0;
i < 18;
i++) {
537 name =
"EELT laser L2 amplitude summary";
539 for (
int i = 0;
i < 18;
i++) {
544 name =
"EELT laser L2 timing summary";
546 for (
int i = 0;
i < 18;
i++) {
551 name =
"EELT laser L2 amplitude over PN summary";
553 for (
int i = 0;
i < 18;
i++) {
562 name =
"EELT EE - laser quality summary L3";
568 name =
"EELT EE + laser quality summary L3";
574 name =
"EELT laser quality errors summary L3";
576 for (
int i = 0;
i < 18;
i++) {
581 name =
"EELT PN laser quality summary L3";
587 name =
"EELT PN laser quality errors summary L3";
589 for (
int i = 0;
i < 18;
i++) {
594 name =
"EELT laser L3 amplitude summary";
596 for (
int i = 0;
i < 18;
i++) {
601 name =
"EELT laser L3 timing summary";
603 for (
int i = 0;
i < 18;
i++) {
608 name =
"EELT laser L3 amplitude over PN summary";
610 for (
int i = 0;
i < 18;
i++) {
619 name =
"EELT EE - laser quality summary L4";
625 name =
"EELT EE + laser quality summary L4";
631 name =
"EELT laser quality errors summary L4";
633 for (
int i = 0;
i < 18;
i++) {
638 name =
"EELT PN laser quality summary L4";
644 name =
"EELT PN laser quality errors summary L4";
646 for (
int i = 0;
i < 18;
i++) {
651 name =
"EELT laser L4 amplitude summary";
653 for (
int i = 0;
i < 18;
i++) {
658 name =
"EELT laser L4 timing summary";
660 for (
int i = 0;
i < 18;
i++) {
665 name =
"EELT laser L4 amplitude over PN summary";
667 for (
int i = 0;
i < 18;
i++) {
678 name =
"EELDT EE - led quality summary L1";
684 name =
"EELDT EE + led quality summary L1";
690 name =
"EELDT led quality errors summary L1";
692 for (
int i = 0;
i < 18;
i++) {
697 name =
"EELDT PN led quality summary L1";
703 name =
"EELDT PN led quality errors summary L1";
705 for (
int i = 0;
i < 18;
i++) {
710 name =
"EELDT led L1 amplitude summary";
712 for (
int i = 0;
i < 18;
i++) {
717 name =
"EELDT led L1 timing summary";
719 for (
int i = 0;
i < 18;
i++) {
724 name =
"EELDT led L1 amplitude over PN summary";
726 for (
int i = 0;
i < 18;
i++) {
735 name =
"EELDT EE - led quality summary L2";
741 name =
"EELDT EE + led quality summary L2";
747 name =
"EELDT led quality errors summary L2";
749 for (
int i = 0;
i < 18;
i++) {
754 name =
"EELDT PN led quality summary L2";
760 name =
"EELDT PN led quality errors summary L2";
762 for (
int i = 0;
i < 18;
i++) {
767 name =
"EELDT led L2 amplitude summary";
769 for (
int i = 0;
i < 18;
i++) {
774 name =
"EELDT led L2 timing summary";
776 for (
int i = 0;
i < 18;
i++) {
781 name =
"EELDT led L2 amplitude over PN summary";
783 for (
int i = 0;
i < 18;
i++) {
794 name =
"EEPT EE - pedestal quality G01 summary";
804 name =
"EEPT EE - pedestal quality G06 summary";
814 name =
"EEPT EE - pedestal quality G12 summary";
825 name =
"EEPT PN pedestal quality G01 summary";
835 name =
"EEPT PN pedestal quality G16 summary";
845 name =
"EEPT EE + pedestal quality G01 summary";
856 name =
"EEPT EE + pedestal quality G06 summary";
866 name =
"EEPT EE + pedestal quality G12 summary";
878 name =
"EETPT EE - test pulse quality G01 summary";
888 name =
"EETPT EE - test pulse quality G06 summary";
898 name =
"EETPT EE - test pulse quality G12 summary";
909 name =
"EETPT PN test pulse quality G01 summary";
919 name =
"EETPT PN test pulse quality G16 summary";
929 name =
"EETPT EE + test pulse quality G01 summary";
939 name =
"EETPT EE + test pulse quality G06 summary";
949 name =
"EETPT EE + test pulse quality G12 summary";
959 name =
"EETPT test pulse amplitude G01 summary";
961 for (
int i = 0;
i < 18;
i++) {
970 name =
"EETPT test pulse amplitude G06 summary";
972 for (
int i = 0;
i < 18;
i++) {
981 name =
"EETPT test pulse amplitude G12 summary";
983 for (
int i = 0;
i < 18;
i++) {
993 name =
"EETMT EE - timing quality summary";
999 name =
"EETMT EE + timing quality summary";
1005 name =
"EETMT EE - timing mean 1D summary";
1010 name =
"EETMT EE + timing mean 1D summary";
1015 name =
"EETMT EE - timing rms 1D summary";
1020 name =
"EETMT EE + timing rms 1D summary";
1025 name =
"EETMT timing mean";
1027 for (
int i = 0;
i < 18;
i++) {
1033 name =
"EETMT timing rms";
1035 for (
int i = 0;
i < 18;
i++) {
1041 if(triggerTowerClient){
1043 name =
"EETTT EE - Et trigger tower summary";
1050 name =
"EETTT EE + Et trigger tower summary";
1057 name =
"EETTT EE - emulator error quality summary";
1063 name =
"EETTT EE + emulator error quality summary";
1069 name =
"EETTT EE - Trigger Primitives Timing summary";
1076 name =
"EETTT EE + Trigger Primitives Timing summary";
1083 name =
"EETTT EE - Trigger Primitives Non Single Timing summary";
1090 name =
"EETTT EE + Trigger Primitives Non Single Timing summary";
1099 name =
"EE global summary EE -";
1107 name =
"EE global summary EE +";
1115 name =
"EE global summary errors";
1454 #ifdef WITH_ECAL_COND_DB
1468 if (
ievt_ % 10 == 0 ) {
1474 for (
int ix = 1; ix <= 100; ix++ ) {
1475 for (
int iy = 1; iy <= 100; iy++ ) {
1522 for (
int ix = 1; ix <= 45; ix++ ) {
1523 for (
int iy = 1; iy <= 20; iy++ ) {
1541 for (
int ix = 1; ix <= 100; ix++ ) {
1542 for (
int iy = 1; iy <= 100; iy++ ) {
1554 for (
int ix = 1; ix <= 20; ix++ ) {
1555 for (
int iy = 1; iy <= 20; iy++ ) {
1671 TProfile2D *htmtp(0);
1675 TProfile2D *htmtm(0);
1682 for (
unsigned int i=0;
i<
clients_.size();
i++ ) {
1710 me =
dqmStore_->
get(
prefixME_ +
"/EERawDataTask/" + subdir +
"EERDT accumulated FE synchronization errors");
1729 for (
int ix = 1; ix <= 50; ix++ ) {
1730 for (
int iy = 1; iy <= 50; iy++ ) {
1735 if ( ism >= 1 && ism <= 9 ) {
1743 me = eeic->
meg01_[ism-1];
1749 if ( ism >= 1 && ism <= 9 ) {
1759 h2 = eeic->
h_[ism-1];
1763 float xval = h2->GetBinContent( ix, iy );
1765 if ( ism >= 1 && ism <= 9 ) {
1779 me = eepoc->
meg03_[ism-1];
1785 if ( ism >= 1 && ism <= 9 ) {
1795 float num01, mean01, rms01;
1803 if ( ism >= 1 && ism <= 9 ) {
1817 me = eelc->
meg01_[ism-1];
1824 if ( ism >= 1 && ism <= 9 ) {
1839 me = eelc->
meg02_[ism-1];
1846 if ( ism >= 1 && ism <= 9 ) {
1861 me = eelc->
meg03_[ism-1];
1868 if ( ism >= 1 && ism <= 9 ) {
1883 me = eelc->
meg04_[ism-1];
1890 if ( ism >= 1 && ism <= 9 ) {
1909 me = eeldc->
meg01_[ism-1];
1916 if ( ism >= 1 && ism <= 9 ) {
1931 me = eeldc->
meg02_[ism-1];
1938 if ( ism >= 1 && ism <= 9 ) {
1955 me_01 = eepc->
meg01_[ism-1];
1956 me_02 = eepc->
meg02_[ism-1];
1957 me_03 = eepc->
meg03_[ism-1];
1962 if ( ism >= 1 && ism <= 9 ) {
1972 if ( ism >= 1 && ism <= 9 ) {
1982 if ( ism >= 1 && ism <= 9 ) {
1994 me_01 = eetpc->
meg01_[ism-1];
1995 me_02 = eetpc->
meg02_[ism-1];
1996 me_03 = eetpc->
meg03_[ism-1];
2001 if ( ism >= 1 && ism <= 9 ) {
2011 if ( ism >= 1 && ism <= 9 ) {
2021 if ( ism >= 1 && ism <= 9 ) {
2033 float xval =
hot01_[ism-1]->GetBinContent( ix, iy );
2035 if ( ism >= 1 && ism <= 9 ) {
2046 for (
int ix = 1; ix <= 50; ix++ ) {
2047 for (
int iy = 1; iy <= 50; iy++ ) {
2052 if ( ism >= 1 && ism <= 9 ) {
2071 me = eesfc->
meh01_[ism-1];
2077 if ( ism >= 1 && ism <= 9 ) {
2102 for (
int ix = 1; ix <= 50; ix++ ) {
2103 for (
int iy = 1; iy <= 50; iy++ ) {
2111 bool hadNonZeroInterest =
false;
2115 mean01 =
httt01_[ism-1]->GetBinContent( ix, iy );
2117 if ( mean01 != 0. ) {
2118 if ( ism >= 1 && ism <= 9 ) {
2134 if ( ism >= 1 && ism <= 9 ) {
2139 hadNonZeroInterest =
true;
2151 if ( ism >= 1 && ism <= 9 ) {
2163 h2 = eetttc->
l01_[ism-1];
2164 h3 = eetttc->
l02_[ism-1];
2169 float emulErrorVal = h2->GetBinContent( ix, iy );
2171 float errorThresh(0.01);
2172 if((ix - 50) * (ix - 50) + (iy - 50) * (iy - 50) < 400.) errorThresh = 0.05;
2174 if( emulErrorVal > errorThresh *
ievt_ && hadNonZeroInterest ) xval = 0;
2178 if ( xval!=0 && hadNonZeroInterest ) xval = 1;
2183 if ( xval == 2 )
continue;
2185 if ( ism >= 1 && ism <= 9 ) {
2195 float num01, mean01, rms01;
2201 if ( ism >= 1 && ism <= 9 ) {
2220 for (
int ix = 1; ix <= 10; ix++ ) {
2221 for(
int iy = 1; iy <= 10; iy++ ) {
2226 if( jx <= 0 || jx >= 21 || jy <= 0 || jy >= 21 )
continue;
2228 if ( ism >= 1 && ism <= 9 ) {
2238 int ixedge = (ix-1) * 5;
2239 int iyedge = (iy-1) * 5;
2240 int jxedge = (jx-1) * 5;
2241 int jyedge = (jy-1) * 5;
2247 for(
int cx=1; cx<=5; cx++){
2248 for(
int cy=1; cy<=5; cy++){
2249 int scjx = (ism >= 1 && ism <= 9) ? 101 - (jxedge + cx) : jxedge + cx;
2250 int scjy = jyedge + cy;
2251 int scix = ixedge + cx;
2252 int sciy = iyedge + cy;
2258 num +=
htmt01_[ism-1]->GetBinEntries(
htmt01_[ism-1]->GetBin(scix, sciy));
2266 bool update01(
false);
2267 float num01, mean01, rms01;
2268 if(ism >= 1 && ism <= 9)
2280 update01 |= num > 1.4 * nHitThreshold;
2286 float rmsThresh(6.);
2287 float meanThresh(3.);
2288 if((ix - 50) * (ix - 50) + (iy - 50) * (iy - 50) < 400.){
2294 if(
std::abs(mean01) > meanThresh || rms01 > rmsThresh || num > 1.4 * num01 ) xval = 0.;
2300 if ( ism >= 1 && ism <= 9 ){
2317 for(
int i = 1;
i <= 10;
i++ ) {
2318 for(
int j = 1;
j <= 5;
j++ ) {
2325 ipseudostripx = (ism<=3) ?
j+5*(ism-1+6) :
j+5*(ism-1-3);
2328 ipseudostripx = (ism<=12) ?
j+5*(ism-10+6) :
j+5*(ism-10-3);
2333 me_04 = eeic->
meg02_[ism-1];
2334 h2 = eeic->
hmem_[ism-1];
2346 float xval = h2->GetBinContent(
i,1);
2355 me_04 = eepc->
meg04_[ism-1];
2356 me_05 = eepc->
meg05_[ism-1];
2371 me_04 = eetpc->
meg04_[ism-1];
2372 me_05 = eetpc->
meg05_[ism-1];
2389 me = eelc->
meg09_[ism-1];
2406 me = eelc->
meg10_[ism-1];
2423 me = eelc->
meg11_[ism-1];
2440 me = eelc->
meg12_[ism-1];
2461 me = eeldc->
meg09_[ism-1];
2478 me = eeldc->
meg10_[ism-1];
2498 for (
int ix=1; ix<=50; ix++ ) {
2499 for (
int iy=1; iy<=50; iy++ ) {
2503 if( ism >= 1 && ism <= 9 ) jx = 101 - jx;
2519 if( xval != 2 && xval != 5 ) {
2525 if( mea01 && met01 && meaopn01 ) {
2543 if( xval != 2 && xval != 5 ) {
2549 if( mea02 && met02 && meaopn02 ) {
2567 if( xval != 2 && xval != 5 ) {
2573 if( mea03 && met03 && meaopn03 ) {
2591 if( xval != 2 && xval != 5 ) {
2597 if( mea04 && met04 && meaopn04 ) {
2619 if( xval != 2 && xval != 5 ) {
2625 if( mea01 && met01 && meaopn01 ) {
2643 if( xval != 2 && xval != 5 ) {
2649 if( mea02 && met02 && meaopn02 ) {
2671 if ( xval01 != 2 && xval01 != 5 ) {
2673 me = eetpc->
mea01_[ism-1];
2689 if ( xval02 != 2 && xval02 != 5 ) {
2691 me = eetpc->
mea02_[ism-1];
2707 if ( xval03 != 2 && xval03 != 5 ) {
2709 me = eetpc->
mea03_[ism-1];
2735 for (
int ix = 1; ix <= 50; ix++ ) {
2736 for (
int iy = 1; iy <= 50; iy++ ) {
2743 if ( ism >= 1 && ism <= 9 ) {
2763 int nGlobalErrors = 0;
2764 int nGlobalErrorsEE[18];
2765 int nValidChannels = 0;
2766 int nValidChannelsEE[18];
2768 for (
int i = 0;
i < 18;
i++) {
2769 nGlobalErrorsEE[
i] = 0;
2770 nValidChannelsEE[
i] = 0;
2773 for (
int jx = 1; jx <= 100; jx++ ) {
2774 for (
int jy = 1; jy <= 100; jy++ ) {
2788 float val_ls_1=2, val_ls_2=2, val_ls_3=2, val_ls_4=2;
2791 if(val_ls_1==2 || val_ls_1==3 || val_ls_1==4 || val_ls_1==5) val_ls_1=1;
2795 if(val_ls_2==2 || val_ls_2==3 || val_ls_2==4 || val_ls_2==5) val_ls_2=1;
2799 if(val_ls_3==2 || val_ls_3==3 || val_ls_3==4 || val_ls_3==5) val_ls_3=1;
2803 if(val_ls_4==2 || val_ls_4==3 || val_ls_4==4 || val_ls_4==5) val_ls_4=1;
2807 if (val_ls_1 == 0 || val_ls_2==0 || val_ls_3==0 || val_ls_4==0) val_ls=0;
2811 float val_ld_1=2, val_ld_2=2;
2814 if(val_ld_1==2 || val_ld_1==3 || val_ld_1==4 || val_ld_1==5) val_ld_1=1;
2818 if(val_ld_2==2 || val_ld_2==3 || val_ld_2==4 || val_ld_2==5) val_ld_2=1;
2822 if (val_ld_1 == 0 || val_ld_2==0) val_ld=0;
2837 if( val_in==3 || val_in==4 || val_in==5) val_in=1;
2838 if(val_po==2 || val_po==3 || val_po==4 || val_po==5) val_po=1;
2839 if(val_ls==2 || val_ls==3 || val_ls==4 || val_ls==5) val_ls=1;
2840 if(val_ld==2 || val_ld==3 || val_ld==4 || val_ld==5) val_ld=1;
2841 if(val_tm==2 || val_tm==3 || val_tm==4 || val_tm==5) val_tm=1;
2842 if( val_sf==3 || val_sf==4 || val_sf==5) val_sf=1;
2843 if(val_ee==2 || val_ee==3 || val_ee==4 || val_ee==5) val_ee=1;
2845 if(val_in==6) xval=6;
2846 else if(val_in==0) xval=0;
2847 else if(val_po==0 || val_ls==0 || val_ld==0 || val_tm==0 || val_sf==0 || val_ee==0) xval=0;
2848 else if(val_po==2 || val_ls==2 || val_ld==2 || val_tm==2 || val_sf==2 || val_ee==2) xval=2;
2851 bool validCry =
false;
2865 float frac_synch_errors = 0.;
2867 if(norm > 0) frac_synch_errors = float(
synch01_->GetBinContent(
ism))/
float(norm);
2870 if(oosTrend && oosTrend->GetBinContent(oosTrend->GetNbinsX()) - oosTrend->GetBinContent(1) < 1.) xval += 3.;
2874 for (
unsigned int i=0;
i<
clients_.size();
i++ ) {
2877 TH2F* h2 = eeic->
h_[
ism-1];
2879 iEntries = h2->GetEntries();
2887 if ( validCry && iEntries==0 ) {
2893 if ( xval >= 0 && xval <= 5 ) {
2894 if ( xval != 2 && xval != 5 ) ++nValidChannels;
2895 for (
int i = 1;
i <= 9;
i++) {
2896 if ( xval != 2 && xval != 5 ) {
2900 if ( xval == 0 ) ++nGlobalErrors;
2901 for (
int i = 1;
i <= 9;
i++) {
2922 float val_ls_1=2, val_ls_2=2, val_ls_3=2, val_ls_4=2;
2925 if(val_ls_1==2 || val_ls_1==3 || val_ls_1==4 || val_ls_1==5) val_ls_1=1;
2929 if(val_ls_2==2 || val_ls_2==3 || val_ls_2==4 || val_ls_2==5) val_ls_2=1;
2933 if(val_ls_3==2 || val_ls_3==3 || val_ls_3==4 || val_ls_3==5) val_ls_3=1;
2937 if(val_ls_4==2 || val_ls_4==3 || val_ls_4==4 || val_ls_4==5) val_ls_4=1;
2941 if (val_ls_1 == 0 || val_ls_2==0 || val_ls_3==0 || val_ls_4==0) val_ls=0;
2945 float val_ld_1=2, val_ld_2=2;
2948 if(val_ld_1==2 || val_ld_1==3 || val_ld_1==4 || val_ld_1==5) val_ld_1=1;
2952 if(val_ld_2==2 || val_ld_2==3 || val_ld_2==4 || val_ld_2==5) val_ld_2=1;
2956 if (val_ld_1 == 0 || val_ld_2==0) val_ld=0;
2971 if( val_in==3 || val_in==4 || val_in==5) val_in=1;
2972 if(val_po==2 || val_po==3 || val_po==4 || val_po==5) val_po=1;
2973 if(val_ls==2 || val_ls==3 || val_ls==4 || val_ls==5) val_ls=1;
2974 if(val_ld==2 || val_ld==3 || val_ld==4 || val_ld==5) val_ld=1;
2975 if(val_tm==2 || val_tm==3 || val_tm==4 || val_tm==5) val_tm=1;
2976 if( val_sf==3 || val_sf==4 || val_sf==5) val_sf=1;
2977 if(val_ee==2 || val_ee==3 || val_ee==4 || val_ee==5) val_ee=1;
2979 if(val_in==6) xval=6;
2980 else if(val_in==0) xval=0;
2981 else if(val_po==0 || val_ls==0 || val_ld==0 || val_tm==0 || val_sf==0 || val_ee==0) xval=0;
2982 else if(val_po==2 || val_ls==2 || val_ld==2 || val_tm==2 || val_sf==2 || val_ee==2) xval=2;
2985 bool validCry =
false;
2999 float frac_synch_errors = 0.;
3001 if(norm > 0) frac_synch_errors = float(
synch01_->GetBinContent(
ism))/
float(norm);
3004 if(oosTrend && oosTrend->GetBinContent(oosTrend->GetNbinsX()) - oosTrend->GetBinContent(1) < 1.) xval += 3.;
3008 for (
unsigned int i=0;
i<
clients_.size();
i++ ) {
3011 TH2F* h2 = eeic->
h_[
ism-1];
3013 iEntries = h2->GetEntries();
3021 if ( validCry && iEntries==0 ) {
3027 if ( xval >= 0 && xval <= 5 ) {
3028 if ( xval != 2 && xval != 5 ) ++nValidChannels;
3029 for (
int i = 10;
i <= 18;
i++) {
3030 if ( xval != 2 && xval != 5 ) {
3034 if ( xval == 0 ) ++nGlobalErrors;
3035 for (
int i = 10;
i <= 18;
i++) {
3050 float reportSummary = -1.0;
3051 if ( nValidChannels != 0 )
3052 reportSummary = 1.0 - float(nGlobalErrors)/float(nValidChannels);
3054 if ( me ) me->
Fill(reportSummary);
3056 for (
int i = 0;
i < 18;
i++) {
3057 float reportSummaryEE = -1.0;
3058 if ( nValidChannelsEE[
i] != 0 )
3059 reportSummaryEE = 1.0 - float(nGlobalErrorsEE[
i])/float(nValidChannelsEE[i]);
3061 if ( me ) me->
Fill(reportSummaryEE);
3069 int nValidChannelsSC[2][20][20];
3070 int nGlobalErrorsSC[2][20][20];
3071 for (
int iside = 0; iside < 2; iside++ ) {
3072 for (
int jxdcc = 0; jxdcc < 20; jxdcc++ ) {
3073 for (
int jydcc = 0; jydcc < 20; jydcc++ ) {
3074 nValidChannelsSC[iside][jxdcc][jydcc] = 0;
3075 nGlobalErrorsSC[iside][jxdcc][jydcc] = 0;
3080 for (
int iside = 0; iside < 2; iside++ ) {
3081 for (
int ix = 1; ix <= 100; ix++ ) {
3082 for (
int iy = 1; iy <= 100; iy++ ) {
3084 int jxsc = (ix-1)/5;
3085 int jysc = (iy-1)/5;
3089 if ( xval >= 0 && xval <= 5 ) {
3090 if ( xval != 2 && xval != 5 ) ++nValidChannelsSC[iside][jxsc][jysc];
3091 if ( xval == 0 ) ++nGlobalErrorsSC[iside][jxsc][jysc];
3101 for(
int iside(0); iside < 2; iside++){
3102 for(
int jy(1); jy < 20; jy++){
3103 for(
int jx(1); jx < 20; jx++){
3104 if(jy > 6 && jy < 14 && jx > 6 && jx < 14)
continue;
3106 if(nValidChannelsSC[iside][jx - 1][jy - 1] > 0 && nGlobalErrorsSC[iside][jx - 1][jy - 1] == nValidChannelsSC[iside][jx - 1][jy - 1]) nErr += 1;
3107 if(nValidChannelsSC[iside][jx][jy - 1] > 0 && nGlobalErrorsSC[iside][jx][jy - 1] == nValidChannelsSC[iside][jx][jy - 1]) nErr += 1;
3108 if(nValidChannelsSC[iside][jx - 1][jy] > 0 && nGlobalErrorsSC[iside][jx - 1][jy] == nValidChannelsSC[iside][jx - 1][jy]) nErr += 1;
3109 if(nValidChannelsSC[iside][jx][jy] > 0 && nGlobalErrorsSC[iside][jx][jy] == nValidChannelsSC[iside][jx][jy]) nErr += 1;
3111 int jx0(((jx - 1) / 10) * 10);
3112 for(
int jjx(jx0); jjx < jx0 + 10; jjx++){
3113 for(
int jjy(0); jjy < 20; jjy++){
3114 nGlobalErrorsSC[iside][jjx][jjy] = nValidChannelsSC[iside][jjx][jjy];
3122 for (
int iside = 0; iside < 2; iside++ ) {
3123 for (
int jxsc = 0; jxsc < 20; jxsc++ ) {
3124 for (
int jysc = 0; jysc < 20; jysc++ ) {
3128 if( nValidChannelsSC[iside][jxsc][jysc] != 0 )
3129 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_
Abs< T >::type abs(const T &t)
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]