3 #include <onlmon/OnlMonClient.h>
8 #include <TGraphErrors.h>
16 #include <TPaveLabel.h>
51 if (name ==
"TpcMon1")
54 TC[0] =
new TCanvas(name.c_str(),
"TpcMon Example Monitor", -1, 0, xsize / 2, ysize);
59 gSystem->ProcessEvents();
60 Pad[0] =
new TPad(
"tpcpad1",
"who needs this?", 0.1, 0.5, 0.9, 0.9, 0);
61 Pad[1] =
new TPad(
"tpcpad2",
"who needs this?", 0.1, 0.05, 0.9, 0.45, 0);
65 transparent[0] =
new TPad(
"transparent0",
"this does not show", 0, 0, 1, 1);
68 TC[0]->SetEditable(
false);
70 else if (name ==
"TpcMon2")
73 TC[1] =
new TCanvas(name.c_str(),
"TpcMon2 Example Monitor", -xsize / 2, 0, xsize / 2, ysize);
74 gSystem->ProcessEvents();
75 Pad[2] =
new TPad(
"tpcpad3",
"who needs this?", 0.1, 0.5, 0.9, 0.9, 0);
76 Pad[3] =
new TPad(
"tpcpad4",
"who needs this?", 0.1, 0.05, 0.9, 0.45, 0);
80 transparent[1] =
new TPad(
"transparent1",
"this does not show", 0, 0, 1, 1);
83 TC[1]->SetEditable(
false);
85 else if (name ==
"TpcMon3")
87 TC[2] =
new TCanvas(name.c_str(),
"TpcMon3 Example Monitor", xsize / 2, 0, xsize / 2, ysize);
88 gSystem->ProcessEvents();
89 Pad[4] =
new TPad(
"tpcpad5",
"who needs this?", 0.1, 0.5, 0.9, 0.9, 0);
90 Pad[5] =
new TPad(
"tpcpad6",
"who needs this?", 0.1, 0.05, 0.9, 0.45, 0);
99 else if (name ==
"TPCModules")
101 TC[3] =
new TCanvas(name.c_str(),
"ADC Count by GEM Example", 1350, 700);
102 gSystem->ProcessEvents();
106 transparent[2] =
new TPad(
"transparent2",
"this does not show", 0, 0, 1, 1);
109 TC[3]->SetEditable(
false);
111 else if (name ==
"TPCSampleSize")
113 TC[4] =
new TCanvas(name.c_str(),
"TPC Sample Size Distribution in Events", -1, 0, xsize , ysize );
114 gSystem->ProcessEvents();
116 transparent[3] =
new TPad(
"transparent3",
"this does not show", 0, 0, 1, 1);
119 TC[4]->SetEditable(
false);
121 else if (name ==
"TPCCheckSumError")
123 TC[5] =
new TCanvas(name.c_str(),
"TPC CheckSumError Probability in Events",-1, 0, xsize , ysize );
124 gSystem->ProcessEvents();
126 transparent[4] =
new TPad(
"transparent4",
"this does not show", 0, 0, 1, 1);
129 TC[5]->SetEditable(
false);
131 else if (name ==
"TPCADCSample")
133 TC[6] =
new TCanvas(name.c_str(),
"TPC ADC vs Sample in Whole Sector",-1, 0, xsize , ysize);
134 gSystem->ProcessEvents();
137 transparent[5] =
new TPad(
"transparent5",
"this does not show", 0, 0, 1, 1);
140 TC[6]->SetEditable(
false);
142 else if (name ==
"TPCMaxADCModule")
144 TC[7] =
new TCanvas(name.c_str(),
"(MAX ADC - pedestal) in SLIDING WINDOW for each Module in Sector", -1, 0, xsize , ysize);
145 gSystem->ProcessEvents();
148 transparent[6] =
new TPad(
"transparent6",
"this does not show", 0, 0, 1, 1);
151 TC[7]->SetEditable(
false);
153 else if (name ==
"TPCRawADC1D")
155 TC[8] =
new TCanvas(name.c_str(),
"TPC RAW ADC 1D distribution", -1, 0, xsize , ysize);
156 gSystem->ProcessEvents();
159 transparent[7] =
new TPad(
"transparent7",
"this does not show", 0, 0, 1, 1);
162 TC[8]->SetEditable(
false);
164 else if (name ==
"TPCMaxADC1D")
166 TC[9] =
new TCanvas(name.c_str(),
"(MAX ADC - pedestal) in SLIDING WINDOW 1D distribution",-1, 0, xsize , ysize);
167 gSystem->ProcessEvents();
170 transparent[8] =
new TPad(
"transparent8",
"this does not show", 0, 0, 1, 1);
173 TC[9]->SetEditable(
false);
175 else if (name ==
"TPCClusterXY")
177 TC[10] =
new TCanvas(name.c_str(),
"(MAX ADC - pedestal)> 20 ADC for NS and SS, WEIGHTED", 1350, 700);
178 gSystem->ProcessEvents();
182 transparent[9] =
new TPad(
"transparent9",
"this does not show", 0, 0, 1, 1);
185 TC[10]->SetEditable(
false);
187 else if (name ==
"TPCClusterXY_unw")
189 TC[11] =
new TCanvas(name.c_str(),
"(MAX ADC - pedestal)> 20 ADC for NS and SS, UNWEIGHTED", 1350, 700);
190 gSystem->ProcessEvents();
194 transparent[10] =
new TPad(
"transparent10",
"this does not show", 0, 0, 1, 1);
197 TC[11]->SetEditable(
false);
199 else if (name ==
"TPCADCSamplelarge")
201 TC[12] =
new TCanvas(name.c_str(),
"TPC ADC vs Large Sample in Whole Sector",-1, 0, xsize , ysize);
202 gSystem->ProcessEvents();
205 transparent[11] =
new TPad(
"transparent11",
"this does not show", 0, 0, 1, 1);
208 TC[12]->SetEditable(
false);
211 else if (name ==
"TPCClusterZY")
213 TC[13] =
new TCanvas(name.c_str(),
"(MAX ADC - pedestal)> 5#sigma for NS and SS, WEIGHTED", 1350, 700);
214 gSystem->ProcessEvents();
218 transparent[12] =
new TPad(
"transparent12",
"this does not show", 0, 0, 1, 1);
221 TC[13]->SetEditable(
false);
224 else if (name ==
"TPCClusterZY_unw")
226 TC[14] =
new TCanvas(name.c_str(),
"(MAX ADC - pedestal)> 5#sigma for NS and SS, UNWEIGHTED", 1350, 700);
227 gSystem->ProcessEvents();
231 transparent[13] =
new TPad(
"transparent13",
"this does not show", 0, 0, 1, 1);
234 TC[14]->SetEditable(
false);
237 else if (name ==
"TPCLayerPhi")
239 TC[15] =
new TCanvas(name.c_str(),
"Layer vs Channel Phi for NS and SS, WEIGHTED by Sum(ADC-pedestal)",1350,700);
240 gSystem->ProcessEvents();
244 transparent[14] =
new TPad(
"transparent14",
"this does not show", 0, 0, 1, 1);
247 TC[15]->SetEditable(
false);
249 else if (name ==
"TPCPedestSubADC1D")
251 TC[16] =
new TCanvas(name.c_str(),
"TPC PEDEST SUB ADC 1D distribution", -1, 0, xsize , ysize);
252 gSystem->ProcessEvents();
255 transparent[15] =
new TPad(
"transparent15",
"this does not show", 0, 0, 1, 1);
258 TC[16]->SetEditable(
false);
268 if (what ==
"ALL" || what ==
"FIRST")
273 if (what ==
"ALL" || what ==
"SECOND")
278 if (what ==
"ALL" || what ==
"TPCMODULE")
283 if (what ==
"ALL" || what ==
"TPCSAMPLESIZE")
288 if (what ==
"ALL" || what ==
"TPCCHECKSUMERROR")
293 if (what ==
"ALL" || what ==
"TPCADCVSSAMPLE")
298 if (what ==
"ALL" || what ==
"TPCMAXADCMODULE")
303 if (what ==
"ALL" || what ==
"TPCRAWADC1D")
308 if (what ==
"ALL" || what ==
"TPCMAXADC1D")
313 if (what ==
"ALL" || what ==
"TPCCLUSTERSXYWEIGTHED")
318 if (what ==
"ALL" || what ==
"TPCCLUSTERSXYUNWEIGTHED")
323 if (what ==
"ALL" || what ==
"TPCADCVSSAMPLELARGE")
328 if (what ==
"ALL" || what ==
"TPCCLUSTERSZYWEIGTHED")
333 if (what ==
"ALL" || what ==
"TPCCLUSTERSZYUNWEIGTHED")
338 if (what ==
"ALL" || what ==
"TPCCHANNELPHI_LAYER_WEIGHTED")
343 if (what ==
"ALL" || what ==
"TPCPEDESTSUBADC1D")
351 std::cout << __PRETTY_FUNCTION__ <<
" Unimplemented Drawing option: " << what << std::endl;
360 TH1 *tpcmon_hist1 = cl->
getHisto(
"TPCMON_0",
"tpcmon_hist1");
361 TH1 *tpcmon_hist2 = cl->
getHisto(
"TPCMON_0",
"tpcmon_hist1");
363 if (!gROOT->FindObject(
"TpcMon1"))
367 TC[0]->SetEditable(
true);
372 tpcmon_hist1->DrawCopy();
377 TC[0]->SetEditable(
false);
383 tpcmon_hist2->DrawCopy();
386 PrintRun.SetTextFont(62);
387 PrintRun.SetTextSize(0.04);
389 PrintRun.SetTextAlign(23);
390 std::ostringstream runnostream;
392 time_t evttime = cl->
EventTime(
"CURRENT");
395 <<
", Time: " << ctime(&evttime);
396 runstring = runnostream.str();
398 PrintRun.DrawText(0.5, 1., runstring.c_str());
401 TC[0]->SetEditable(
false);
408 TH1 *tpcmon_hist1 = cl->
getHisto(
"TPCMON_0",
"tpcmon_hist2");
409 TH1 *tpcmon_hist2 = cl->
getHisto(
"TPCMON_0",
"tpcmon_hist2");
410 if (!gROOT->FindObject(
"TpcMon2"))
414 TC[1]->SetEditable(
true);
419 tpcmon_hist1->DrawCopy();
424 TC[1]->SetEditable(
false);
430 tpcmon_hist2->DrawCopy();
433 PrintRun.SetTextFont(62);
434 PrintRun.SetTextSize(0.04);
436 PrintRun.SetTextAlign(23);
437 std::ostringstream runnostream;
439 time_t evttime = cl->
EventTime(
"CURRENT");
442 <<
", Time: " << ctime(&evttime);
443 runstring = runnostream.str();
445 PrintRun.DrawText(0.5, 1., runstring.c_str());
448 TC[1]->SetEditable(
false);
456 TH2 *tpcmon_NSIDEADC[24] = {
nullptr};
457 TH2 *tpcmon_SSIDEADC[24] = {
nullptr};
459 char TPCMON_STR[100];
461 for(
int i=0;
i<24;
i++ )
464 sprintf(TPCMON_STR,
"TPCMON_%i",
i);
465 tpcmon_NSIDEADC[
i] = (TH2*) cl->
getHisto(TPCMON_STR,
"NorthSideADC");
466 tpcmon_SSIDEADC[
i] = (TH2*) cl->
getHisto(TPCMON_STR,
"SouthSideADC");
473 if (!gROOT->FindObject(
"TPCModules"))
478 dummy_his1 =
new TH2F(
"dummy_his1",
"ADC Counts North Side", 100, -1.5, 1.5, 100, -1.5, 1.5);
479 dummy_his2 =
new TH2F(
"dummy_his2",
"ADC Counts South Side", 100, -1.5, 1.5, 100, -1.5, 1.5);
482 NS18 =
new TPaveLabel( 1.046586,-0.1938999,1.407997,0.2144871,
"18" );
483 NS17 =
new TPaveLabel( 0.962076,0.4382608,1.323487,0.8466479 ,
"17" );
484 NS16 =
new TPaveLabel( 0.4801947,0.8802139,0.8416056,1.288601 ,
"16" );
485 NS15 =
new TPaveLabel( -0.1823921,1.011681,0.1790189,1.425662,
"15" );
486 NS14 =
new TPaveLabel( -0.8449788,0.8690253,-0.4835679,1.288601 ,
"14" );
487 NS13 =
new TPaveLabel( -1.30879,0.441058,-0.9473786,0.8550394 ,
"13" );
488 NS12 =
new TPaveLabel( -1.411009,-0.2050886,-1.049598,0.2144871,
"12" );
489 NS23 =
new TPaveLabel( -1.302585,-0.7757116,-0.9471979,-0.3561359 ,
"23" );
490 NS22 =
new TPaveLabel( -0.8449788,-1.309971,-0.4835679,-0.8848013 ,
"22" );
491 NS21 =
new TPaveLabel( -0.1823921,-1.426557,0.1790189,-1.006982 ,
"21" );
492 NS20 =
new TPaveLabel( 0.4801947,-1.309076,0.8416056,-0.8839062 ,
"20" );
493 NS19 =
new TPaveLabel( 0.9622567,-0.7785088,1.323668,-0.3533387 ,
"19" );
495 SS00 =
new TPaveLabel( 1.046586,-0.1938999,1.407997,0.2144871,
"00" );
496 SS01 =
new TPaveLabel( 0.962076,0.4382608,1.323487,0.8466479 ,
"01" );
497 SS02 =
new TPaveLabel( 0.4801947,0.8802139,0.8416056,1.288601 ,
"02" );
498 SS03 =
new TPaveLabel( -0.1823921,1.011681,0.1790189,1.425662,
"03" );
499 SS04 =
new TPaveLabel( -0.8449788,0.8690253,-0.4835679,1.288601 ,
"04" );
500 SS05 =
new TPaveLabel( -1.30879,0.441058,-0.9473786,0.8550394 ,
"05" );
501 SS06 =
new TPaveLabel( -1.411009,-0.2050886,-1.049598,0.2144871,
"06" );
502 SS07 =
new TPaveLabel( -1.302585,-0.7757116,-0.9471979,-0.3561359 ,
"07" );
503 SS08 =
new TPaveLabel( -0.8449788,-1.309971,-0.4835679,-0.8848013 ,
"08" );
504 SS09 =
new TPaveLabel( -0.1823921,-1.426557,0.1790189,-1.006982 ,
"09" );
505 SS10 =
new TPaveLabel( 0.4801947,-1.309076,0.8416056,-0.8839062 ,
"10" );
506 SS11 =
new TPaveLabel( 0.9622567,-0.7785088,1.323668,-0.3533387 ,
"11" );
508 NS18->SetFillColor(0);
509 NS17->SetFillColor(0);
510 NS16->SetFillColor(0);
511 NS15->SetFillColor(0);
512 NS14->SetFillColor(0);
513 NS13->SetFillColor(0);
514 NS12->SetFillColor(0);
515 NS23->SetFillColor(0);
516 NS22->SetFillColor(0);
517 NS21->SetFillColor(0);
518 NS20->SetFillColor(0);
519 NS19->SetFillColor(0);
521 SS00->SetFillColor(0);
522 SS01->SetFillColor(0);
523 SS02->SetFillColor(0);
524 SS03->SetFillColor(0);
525 SS04->SetFillColor(0);
526 SS05->SetFillColor(0);
527 SS06->SetFillColor(0);
528 SS07->SetFillColor(0);
529 SS08->SetFillColor(0);
530 SS09->SetFillColor(0);
531 SS10->SetFillColor(0);
532 SS11->SetFillColor(0);
534 TC[3]->SetEditable(
true);
537 gPad->SetTopMargin(0.15);
538 gStyle->SetOptStat(0);
542 for(
int i=0;
i<12;
i++ )
544 if( tpcmon_NSIDEADC[
i] ){
546 tpcmon_NSIDEADC[
i] -> DrawCopy(
"colpolzsame");
547 if( tpcmon_NSIDEADC[i]->GetBinContent(tpcmon_NSIDEADC[i]->GetMaximumBin()) > NS_max)
549 NS_max = tpcmon_NSIDEADC[
i]->GetBinContent(tpcmon_NSIDEADC[i]->GetMaximumBin());
552 gStyle->SetPalette(57);
572 gPad->SetTopMargin(0.15);
573 gStyle->SetOptStat(0);
577 for(
int i=0;
i<12;
i++ )
579 if( tpcmon_SSIDEADC[
i+12] ){
582 tpcmon_SSIDEADC[
i+12] -> DrawCopy(
"colpolzsame");
584 if ( tpcmon_SSIDEADC[
i+12]->GetBinContent(tpcmon_SSIDEADC[
i+12]->GetMaximumBin()) > SS_max)
586 SS_max = tpcmon_SSIDEADC[
i+12]->GetBinContent(tpcmon_SSIDEADC[
i+12]->GetMaximumBin());
590 gStyle->SetPalette(57);
611 PrintRun.SetTextFont(62);
612 PrintRun.SetTextSize(0.04);
614 PrintRun.SetTextAlign(23);
615 std::ostringstream runnostream;
617 time_t evttime = cl->
EventTime(
"CURRENT");
620 <<
", Time: " << ctime(&evttime);
621 runstring = runnostream.str();
623 PrintRun.DrawText(0.5, 0.91, runstring.c_str());
634 TC[3]->SetEditable(
false);
643 TH1 *tpcmon_samplesizedist[24] = {
nullptr};
645 char TPCMON_STR[100];
646 for(
int i=0;
i<24;
i++ )
649 sprintf(TPCMON_STR,
"TPCMON_%i",
i);
650 tpcmon_samplesizedist[
i] = (TH1*) cl->
getHisto(TPCMON_STR,
"sample_size_hist");
653 if (!gROOT->FindObject(
"TPCSampleSize"))
658 TC[4]->SetEditable(
true);
660 for(
int i=0;
i<24;
i++ )
662 if( tpcmon_samplesizedist[
i] )
665 tpcmon_samplesizedist[
i]->DrawCopy(
"");
666 gPad->SetLogx(kTRUE);
667 gPad->SetLogy(kTRUE);
672 PrintRun.SetTextFont(62);
673 PrintRun.SetTextSize(0.04);
675 PrintRun.SetTextAlign(23);
676 std::ostringstream runnostream;
678 time_t evttime = cl->
EventTime(
"CURRENT");
681 <<
", Time: " << ctime(&evttime);
682 runstring = runnostream.str();
684 PrintRun.DrawText(0.5, 0.91, runstring.c_str());
689 TC[4]->SetEditable(
false);
698 TH1 *tpcmon_checksumerror[24] = {
nullptr};
699 TH1 *tpcmon_checksums[24] = {
nullptr};
701 char TPCMON_STR[100];
702 for(
int i=0;
i<24;
i++ )
705 sprintf(TPCMON_STR,
"TPCMON_%i",
i);
706 tpcmon_checksumerror[
i] = (TH1*) cl->
getHisto(TPCMON_STR,
"Check_Sum_Error");
707 tpcmon_checksums[
i] = (TH1*) cl->
getHisto(TPCMON_STR,
"Check_Sums");
710 if (!gROOT->FindObject(
"TPCCheckSumError"))
715 TC[5]->SetEditable(
true);
719 for(
int i=0;
i<24;
i++ )
721 if( tpcmon_checksumerror[
i] && tpcmon_checksums[
i] )
725 tpcmon_checksumerror[
i]->Divide(tpcmon_checksums[i]);
726 tpcmon_checksumerror[
i]->GetYaxis()->SetRangeUser(0.0001,1);
727 tpcmon_checksumerror[
i]->DrawCopy(
"HIST");
732 PrintRun.SetTextFont(62);
733 PrintRun.SetTextSize(0.04);
735 PrintRun.SetTextAlign(23);
736 std::ostringstream runnostream;
738 time_t evttime = cl->
EventTime(
"CURRENT");
741 <<
", Time: " << ctime(&evttime);
742 runstring = runnostream.str();
744 PrintRun.DrawText(0.5, 0.91, runstring.c_str());
749 TC[5]->SetEditable(
false);
759 TH2 *tpcmon_ADCSAMPLE[24] = {
nullptr};
761 char TPCMON_STR[100];
762 for(
int i=0;
i<24;
i++ )
765 sprintf(TPCMON_STR,
"TPCMON_%i",
i);
766 tpcmon_ADCSAMPLE[
i] = (TH2*) cl->
getHisto(TPCMON_STR,
"ADC_vs_SAMPLE");
770 if (!gROOT->FindObject(
"TPCADCSample"))
775 TC[6]->SetEditable(
true);
778 for(
int i=0;
i<24;
i++ )
780 if( tpcmon_ADCSAMPLE[
i] )
783 gStyle->SetPalette(57);
784 gPad->SetLogz(kTRUE);
785 tpcmon_ADCSAMPLE[
i] -> DrawCopy(
"colz");
790 PrintRun.SetTextFont(62);
791 PrintRun.SetTextSize(0.04);
793 PrintRun.SetTextAlign(23);
794 std::ostringstream runnostream;
796 time_t evttime = cl->
EventTime(
"CURRENT");
799 <<
", Time: " << ctime(&evttime);
800 runstring = runnostream.str();
802 PrintRun.DrawText(0.5, 0.91, runstring.c_str());
807 TC[6]->SetEditable(
false);
816 TH2 *tpcmon_MAXADC_MODULE[24] = {
nullptr};
818 char TPCMON_STR[100];
819 for(
int i=0;
i<24;
i++ )
822 sprintf(TPCMON_STR,
"TPCMON_%i",
i);
823 tpcmon_MAXADC_MODULE[
i] = (TH2*) cl->
getHisto(TPCMON_STR,
"MAXADC");
827 if (!gROOT->FindObject(
"TPCMaxADCModule"))
832 TC[7]->SetEditable(
true);
835 for(
int i=0;
i<24;
i++ )
837 if( tpcmon_MAXADC_MODULE[
i] )
840 gStyle->SetPalette(57);
841 gPad->SetLogz(kTRUE);
842 tpcmon_MAXADC_MODULE[
i] -> DrawCopy(
"colz");
847 PrintRun.SetTextFont(62);
848 PrintRun.SetTextSize(0.04);
850 PrintRun.SetTextAlign(23);
851 std::ostringstream runnostream;
853 time_t evttime = cl->
EventTime(
"CURRENT");
856 <<
", Time: " << ctime(&evttime);
857 runstring = runnostream.str();
859 PrintRun.DrawText(0.5, 0.91, runstring.c_str());
865 TC[7]->SetEditable(
false);
875 TH1 *tpcmon_RAWADC1D[24][3] = {
nullptr};
877 char TPCMON_STR[100];
878 for(
int i=0;
i<24;
i++ )
881 sprintf(TPCMON_STR,
"TPCMON_%i",
i);
882 tpcmon_RAWADC1D[
i][0] = (TH1*) cl->
getHisto(TPCMON_STR,
"RAWADC_1D_R1");
883 tpcmon_RAWADC1D[
i][1] = (TH1*) cl->
getHisto(TPCMON_STR,
"RAWADC_1D_R2");
884 tpcmon_RAWADC1D[
i][2] = (TH1*) cl->
getHisto(TPCMON_STR,
"RAWADC_1D_R3");
888 if (!gROOT->FindObject(
"TPCRawADC1D"))
893 TC[8]->SetEditable(
true);
896 auto legend =
new TLegend(0.7,0.65,0.98,0.95);
899 for(
int i=0;
i<24;
i++ )
902 for(
int j = 2;
j>-1;
j-- )
904 if( tpcmon_RAWADC1D[
i][
j] )
906 if(j == 2){tpcmon_RAWADC1D[
i][
j] -> DrawCopy(
"HIST");}
907 else {tpcmon_RAWADC1D[
i][
j] -> DrawCopy(
"HISTsame");}
911 gPad->SetLogy(kTRUE);
913 if(draw_leg == 0 && tpcmon_RAWADC1D[
i][0] && tpcmon_RAWADC1D[
i][1] && tpcmon_RAWADC1D[
i][2])
915 legend->AddEntry(tpcmon_RAWADC1D[i][0],
"R1");
916 legend->AddEntry(tpcmon_RAWADC1D[i][1],
"R2");
917 legend->AddEntry(tpcmon_RAWADC1D[i][2],
"R3");
925 PrintRun.SetTextFont(62);
926 PrintRun.SetTextSize(0.04);
928 PrintRun.SetTextAlign(23);
929 std::ostringstream runnostream;
931 time_t evttime = cl->
EventTime(
"CURRENT");
934 <<
", Time: " << ctime(&evttime);
935 runstring = runnostream.str();
937 PrintRun.DrawText(0.5, 0.91, runstring.c_str());
941 TC[8]->SetEditable(
false);
951 TH1 *tpcmon_MAXADC1D[24][3] = {
nullptr};
953 char TPCMON_STR[100];
954 for(
int i=0;
i<24;
i++ )
957 sprintf(TPCMON_STR,
"TPCMON_%i",
i);
958 tpcmon_MAXADC1D[
i][0] = (TH1*) cl->
getHisto(TPCMON_STR,
"MAXADC_1D_R1");
959 tpcmon_MAXADC1D[
i][1] = (TH1*) cl->
getHisto(TPCMON_STR,
"MAXADC_1D_R2");
960 tpcmon_MAXADC1D[
i][2] = (TH1*) cl->
getHisto(TPCMON_STR,
"MAXADC_1D_R3");
964 if (!gROOT->FindObject(
"TPCMaxADC1D"))
969 TC[9]->SetEditable(
true);
972 auto legend =
new TLegend(0.7,0.65,0.98,0.95);
975 for(
int i=0;
i<24;
i++ )
978 for(
int j = 2;
j>-1;
j-- )
980 if( tpcmon_MAXADC1D[
i][
j] )
982 if(j == 2){tpcmon_MAXADC1D[
i][
j] -> DrawCopy(
"HIST");}
983 else {tpcmon_MAXADC1D[
i][
j] -> DrawCopy(
"HISTsame");}
987 gPad->SetLogy(kTRUE);
989 if(draw_leg == 0 && tpcmon_MAXADC1D[
i][0] && tpcmon_MAXADC1D[
i][1] && tpcmon_MAXADC1D[
i][2])
992 legend->AddEntry(tpcmon_MAXADC1D[i][0],
"R1");
993 legend->AddEntry(tpcmon_MAXADC1D[i][1],
"R2");
994 legend->AddEntry(tpcmon_MAXADC1D[i][2],
"R3");
1001 PrintRun.SetTextFont(62);
1002 PrintRun.SetTextSize(0.04);
1004 PrintRun.SetTextAlign(23);
1005 std::ostringstream runnostream;
1007 time_t evttime = cl->
EventTime(
"CURRENT");
1010 <<
", Time: " << ctime(&evttime);
1011 runstring = runnostream.str();
1013 PrintRun.DrawText(0.5, 0.91, runstring.c_str());
1018 TC[9]->SetEditable(
false);
1026 TH2 *tpcmon_NSTPC_clusXY[24][3] = {
nullptr};
1027 TH2 *tpcmon_SSTPC_clusXY[24][3] = {
nullptr};
1029 dummy_his1_XY =
new TH2F(
"dummy_his1_XY",
"(ADC-Pedestal) > 20 ADC North Side, WEIGHTED", 400, -800, 800, 400, -800, 800);
1030 dummy_his2_XY =
new TH2F(
"dummy_his2_XY",
"(ADC-Pedestal) > 20 ADC South Side, WEIGHTED", 400, -800, 800, 400, -800, 800);
1041 Double_t sec_gap_inner = (2*M_PI - 0.5024*12.0)/12.0;
1043 Double_t sec_gap_outer = (2*M_PI - 0.5097*12.0)/12.0;
1045 Double_t sec_gap = (sec_gap_inner + sec_gap_outer)/2.0;
1047 Double_t sec_phi = (0.5024 + 0.5097)/2.0;
1051 for(
int ln=0;ln<12;ln++)
1053 lines[ln] =
new TLine(311.05*cos((sec_phi+sec_gap)/2.0+ln*(sec_phi+sec_gap)),311.05*sin((sec_phi+sec_gap)/2.0+ln*(sec_phi+sec_gap)),759.11*cos((sec_phi+sec_gap)/2.0+ln*(sec_phi+sec_gap)),759.11*sin((sec_phi+sec_gap)/2.0+ln*(sec_phi+sec_gap)));
1056 TEllipse *e1 =
new TEllipse(0.0,0.0,311.05,311.05);
1057 TEllipse *e2 =
new TEllipse(0.0,0.0,(402.49+411.53)/2.0,(402.49+411.53)/2.0);
1058 TEllipse *e3 =
new TEllipse(0.0,0.0,(583.67+574.75)/2.0,(583.67+574.75)/2.0);
1059 TEllipse *e4 =
new TEllipse(0.0,0.0,759.11,759.11);
1062 char TPCMON_STR[100];
1063 for(
int i=0;
i<24;
i++ )
1066 sprintf(TPCMON_STR,
"TPCMON_%i",
i);
1067 tpcmon_NSTPC_clusXY[
i][0] = (TH2*) cl->
getHisto(TPCMON_STR,
"NorthSideADC_clusterXY_R1");
1068 tpcmon_NSTPC_clusXY[
i][1] = (TH2*) cl->
getHisto(TPCMON_STR,
"NorthSideADC_clusterXY_R2");
1069 tpcmon_NSTPC_clusXY[
i][2] = (TH2*) cl->
getHisto(TPCMON_STR,
"NorthSideADC_clusterXY_R3");
1071 tpcmon_SSTPC_clusXY[
i][0] = (TH2*) cl->
getHisto(TPCMON_STR,
"SouthSideADC_clusterXY_R1");
1072 tpcmon_SSTPC_clusXY[
i][1] = (TH2*) cl->
getHisto(TPCMON_STR,
"SouthSideADC_clusterXY_R2");
1073 tpcmon_SSTPC_clusXY[
i][2] = (TH2*) cl->
getHisto(TPCMON_STR,
"SouthSideADC_clusterXY_R3");
1076 if (!gROOT->FindObject(
"TPCClusterXY"))
1081 TC[10]->SetEditable(
true);
1085 PrintRun.SetTextFont(62);
1086 PrintRun.SetTextSize(0.04);
1088 PrintRun.SetTextAlign(23);
1089 std::ostringstream runnostream;
1091 time_t evttime = cl->
EventTime(
"CURRENT");
1093 runnostream <<
ThisName <<
"_ADC-Pedestal>20 ADC WEIGHTED, Run" << cl->
RunNumber()
1094 <<
", Time: " << ctime(&evttime);
1095 runstring = runnostream.str();
1097 PrintRun.DrawText(0.5, 0.91, runstring.c_str());
1100 gStyle->SetOptStat(kFALSE);
1101 gPad->SetTopMargin(0.15);
1102 gPad->SetLogz(kTRUE);
1106 for(
int i=0;
i<12;
i++ )
1108 for(
int j=0;
j<3;
j++ )
1110 if( tpcmon_NSTPC_clusXY[
i][
j] )
1113 tpcmon_NSTPC_clusXY[
i][
j] ->
Draw(
"colzsame");
1115 if ( tpcmon_NSTPC_clusXY[
i][j]->GetBinContent(tpcmon_NSTPC_clusXY[
i][j]->GetMaximumBin()) > NS_max)
1117 NS_max = tpcmon_NSTPC_clusXY[
i][
j]->GetBinContent(tpcmon_NSTPC_clusXY[
i][j]->GetMaximumBin());
1120 gStyle->SetPalette(57);
1126 e1->SetFillStyle(0);
1127 e2->SetFillStyle(0);
1128 e3->SetFillStyle(0);
1129 e4->SetFillStyle(0);
1137 lines[
ln2]->Draw(
"same");
1142 gStyle->SetOptStat(kFALSE);
1143 gPad->SetTopMargin(0.15);
1144 gPad->SetLogz(kTRUE);
1148 for(
int i=0;
i<12;
i++ )
1150 for(
int j=0;
j<3;
j++ )
1152 if( tpcmon_SSTPC_clusXY[
i+12][
j] )
1156 tpcmon_SSTPC_clusXY[
i+12][
j] ->
Draw(
"colzsame");
1158 if ( tpcmon_SSTPC_clusXY[
i+12][
j]->GetBinContent(tpcmon_SSTPC_clusXY[
i+12][
j]->GetMaximumBin()) > SS_max)
1160 SS_max = tpcmon_SSTPC_clusXY[
i+12][
j]->GetBinContent(tpcmon_SSTPC_clusXY[
i+12][
j]->GetMaximumBin());
1163 gStyle->SetPalette(57);
1169 e1->SetFillStyle(0);
1170 e2->SetFillStyle(0);
1171 e3->SetFillStyle(0);
1172 e4->SetFillStyle(0);
1180 lines[
ln2]->Draw(
"same");
1185 TC[10]->SetEditable(
false);
1194 TH2 *tpcmon_NSTPC_clusXY[24][3] = {
nullptr};
1195 TH2 *tpcmon_SSTPC_clusXY[24][3] = {
nullptr};
1197 dummy_his1_XY_unw =
new TH2F(
"dummy_his1_XY_unw",
"(ADC-Pedestal) > 20 ADC North Side, UNWEIGHTED", 400, -800, 800, 400, -800, 800);
1198 dummy_his2_XY_unw =
new TH2F(
"dummy_his2_XY_unw",
"(ADC-Pedestal) > 20 ADC South Side, UNWEIGHTED", 400, -800, 800, 400, -800, 800);
1209 Double_t sec_gap_inner = (2*M_PI - 0.5024*12.0)/12.0;
1211 Double_t sec_gap_outer = (2*M_PI - 0.5097*12.0)/12.0;
1213 Double_t sec_gap = (sec_gap_inner + sec_gap_outer)/2.0;
1215 Double_t sec_phi = (0.5024 + 0.5097)/2.0;
1219 for(
int ln=0;ln<12;ln++)
1221 lines[ln] =
new TLine(311.05*cos((sec_phi+sec_gap)/2.0+ln*(sec_phi+sec_gap)),311.05*sin((sec_phi+sec_gap)/2.0+ln*(sec_phi+sec_gap)),759.11*cos((sec_phi+sec_gap)/2.0+ln*(sec_phi+sec_gap)),759.11*sin((sec_phi+sec_gap)/2.0+ln*(sec_phi+sec_gap)));
1224 TEllipse *e1 =
new TEllipse(0.0,0.0,311.05,311.05);
1225 TEllipse *e2 =
new TEllipse(0.0,0.0,(402.49+411.53)/2.0,(402.49+411.53)/2.0);
1226 TEllipse *e3 =
new TEllipse(0.0,0.0,(583.67+574.75)/2.0,(583.67+574.75)/2.0);
1227 TEllipse *e4 =
new TEllipse(0.0,0.0,759.11,759.11);
1230 char TPCMON_STR[100];
1231 for(
int i=0;
i<24;
i++ )
1234 sprintf(TPCMON_STR,
"TPCMON_%i",
i);
1235 tpcmon_NSTPC_clusXY[
i][0] = (TH2*) cl->
getHisto(TPCMON_STR,
"NorthSideADC_clusterXY_R1_unw");
1236 tpcmon_NSTPC_clusXY[
i][1] = (TH2*) cl->
getHisto(TPCMON_STR,
"NorthSideADC_clusterXY_R2_unw");
1237 tpcmon_NSTPC_clusXY[
i][2] = (TH2*) cl->
getHisto(TPCMON_STR,
"NorthSideADC_clusterXY_R3_unw");
1239 tpcmon_SSTPC_clusXY[
i][0] = (TH2*) cl->
getHisto(TPCMON_STR,
"SouthSideADC_clusterXY_R1_unw");
1240 tpcmon_SSTPC_clusXY[
i][1] = (TH2*) cl->
getHisto(TPCMON_STR,
"SouthSideADC_clusterXY_R2_unw");
1241 tpcmon_SSTPC_clusXY[
i][2] = (TH2*) cl->
getHisto(TPCMON_STR,
"SouthSideADC_clusterXY_R3_unw");
1244 if (!gROOT->FindObject(
"TPCClusterXY_unw"))
1249 TC[11]->SetEditable(
true);
1253 PrintRun.SetTextFont(62);
1254 PrintRun.SetTextSize(0.04);
1256 PrintRun.SetTextAlign(23);
1257 std::ostringstream runnostream;
1259 time_t evttime = cl->
EventTime(
"CURRENT");
1261 runnostream <<
ThisName <<
"_ADC-Pedestal>20, UNWEIGHTED, Run " << cl->
RunNumber()
1262 <<
", Time: " << ctime(&evttime);
1263 runstring = runnostream.str();
1265 PrintRun.DrawText(0.5, 0.91, runstring.c_str());
1268 gStyle->SetOptStat(kFALSE);
1269 gPad->SetTopMargin(0.15);
1274 for(
int i=0;
i<12;
i++ )
1276 for(
int j=0;
j<3;
j++ )
1278 if( tpcmon_NSTPC_clusXY[
i][
j] )
1281 tpcmon_NSTPC_clusXY[
i][
j] ->
Draw(
"colzsame");
1283 if ( tpcmon_NSTPC_clusXY[
i][j]->GetBinContent(tpcmon_NSTPC_clusXY[
i][j]->GetMaximumBin()) > NS_max)
1285 NS_max = tpcmon_NSTPC_clusXY[
i][
j]->GetBinContent(tpcmon_NSTPC_clusXY[
i][j]->GetMaximumBin());
1288 gStyle->SetPalette(57);
1294 e1->SetFillStyle(0);
1295 e2->SetFillStyle(0);
1296 e3->SetFillStyle(0);
1297 e4->SetFillStyle(0);
1305 lines[
ln2]->Draw(
"same");
1310 gStyle->SetOptStat(kFALSE);
1311 gPad->SetTopMargin(0.15);
1316 for(
int i=0;
i<12;
i++ )
1318 for(
int j=0;
j<3;
j++ )
1320 if( tpcmon_SSTPC_clusXY[
i+12][
j] )
1324 tpcmon_SSTPC_clusXY[
i+12][
j] ->
Draw(
"colzsame");
1326 if ( tpcmon_SSTPC_clusXY[
i+12][
j]->GetBinContent(tpcmon_SSTPC_clusXY[
i+12][
j]->GetMaximumBin()) > SS_max)
1328 SS_max = tpcmon_SSTPC_clusXY[
i+12][
j]->GetBinContent(tpcmon_SSTPC_clusXY[
i+12][
j]->GetMaximumBin());
1331 gStyle->SetPalette(57);
1337 e1->SetFillStyle(0);
1338 e2->SetFillStyle(0);
1339 e3->SetFillStyle(0);
1340 e4->SetFillStyle(0);
1348 lines[
ln2]->Draw(
"same");
1353 TC[11]->SetEditable(
false);
1362 TH2 *tpcmon_ADCSAMPLE_large[24] = {
nullptr};
1364 char TPCMON_STR[100];
1365 for(
int i=0;
i<24;
i++ )
1368 sprintf(TPCMON_STR,
"TPCMON_%i",
i);
1369 tpcmon_ADCSAMPLE_large[
i] = (TH2*) cl->
getHisto(TPCMON_STR,
"ADC_vs_SAMPLE_large");
1373 if (!gROOT->FindObject(
"TPCADCSamplelarge"))
1378 TC[12]->SetEditable(
true);
1381 for(
int i=0;
i<24;
i++ )
1383 if( tpcmon_ADCSAMPLE_large[
i] )
1386 gStyle->SetPalette(57);
1387 gPad->SetLogz(kTRUE);
1388 tpcmon_ADCSAMPLE_large[
i] -> DrawCopy(
"colz");
1393 PrintRun.SetTextFont(62);
1394 PrintRun.SetTextSize(0.04);
1396 PrintRun.SetTextAlign(23);
1397 std::ostringstream runnostream;
1399 time_t evttime = cl->
EventTime(
"CURRENT");
1402 <<
", Time: " << ctime(&evttime);
1403 runstring = runnostream.str();
1405 PrintRun.DrawText(0.5, 0.91, runstring.c_str());
1410 TC[12]->SetEditable(
false);
1422 TH2 *tpcmon_NSTPC_clusZY[24] = {
nullptr};
1423 TH2 *tpcmon_SSTPC_clusZY[24] = {
nullptr};
1425 dummy_his1_ZY =
new TH2F(
"dummy_his1_ZY",
"(ADC-Pedestal) > 20 ADC, WEIGHTED", 515, -1030, 1030, 400, -800, 800);
1429 char TPCMON_STR[100];
1430 for(
int i=0;
i<24;
i++ )
1433 sprintf(TPCMON_STR,
"TPCMON_%i",
i);
1434 tpcmon_NSTPC_clusZY[
i] = (TH2*) cl->
getHisto(TPCMON_STR,
"NorthSideADC_clusterZY");
1436 tpcmon_SSTPC_clusZY[
i] = (TH2*) cl->
getHisto(TPCMON_STR,
"SouthSideADC_clusterZY");
1439 if (!gROOT->FindObject(
"TPCClusterZY"))
1444 TC[13]->SetEditable(
true);
1448 PrintRun.SetTextFont(62);
1449 PrintRun.SetTextSize(0.04);
1451 PrintRun.SetTextAlign(23);
1452 std::ostringstream runnostream;
1454 time_t evttime = cl->
EventTime(
"CURRENT");
1456 runnostream <<
ThisName <<
"_ADC-Pedestal>20 ADC, WEIGHTED, Run " << cl->
RunNumber()
1457 <<
", Time: " << ctime(&evttime);
1458 runstring = runnostream.str();
1460 PrintRun.DrawText(0.5, 0.91, runstring.c_str());
1463 gStyle->SetOptStat(kFALSE);
1464 gPad->SetTopMargin(0.15);
1465 gPad->SetLogz(kTRUE);
1470 for(
int i=0;
i<12;
i++ )
1472 if( tpcmon_NSTPC_clusZY[
i] )
1475 tpcmon_NSTPC_clusZY[
i] ->
Draw(
"colzsame");
1476 if ( tpcmon_NSTPC_clusZY[i]->GetBinContent(tpcmon_NSTPC_clusZY[i]->GetMaximumBin()) > max )
1478 max = tpcmon_NSTPC_clusZY[
i]->GetBinContent(tpcmon_NSTPC_clusZY[i]->GetMaximumBin());
1481 gStyle->SetPalette(57);
1487 for(
int i=0;
i<12;
i++ )
1489 if( tpcmon_SSTPC_clusZY[
i+12] )
1492 tpcmon_SSTPC_clusZY[
i+12] ->
Draw(
"colzsame");
1493 if ( tpcmon_SSTPC_clusZY[
i+12]->GetBinContent(tpcmon_SSTPC_clusZY[
i+12]->GetMaximumBin()) > max )
1495 max = tpcmon_SSTPC_clusZY[
i+12]->GetBinContent(tpcmon_SSTPC_clusZY[
i+12]->GetMaximumBin());
1499 gStyle->SetPalette(57);
1506 TC[13]->SetEditable(
false);
1520 TH2 *tpcmon_NSTPC_clusZY_unw[24] = {
nullptr};
1521 TH2 *tpcmon_SSTPC_clusZY_unw[24] = {
nullptr};
1523 dummy_his1_ZY_unw =
new TH2F(
"dummy_his1_ZY_unw",
"(ADC-Pedestal) > 20 ADC, UNWEIGHTED", 515, -1030, 1030, 400, -800, 800);
1527 char TPCMON_STR[100];
1528 for(
int i=0;
i<24;
i++ )
1531 sprintf(TPCMON_STR,
"TPCMON_%i",
i);
1532 tpcmon_NSTPC_clusZY_unw[
i] = (TH2*) cl->
getHisto(TPCMON_STR,
"NorthSideADC_clusterZY_unw");
1534 tpcmon_SSTPC_clusZY_unw[
i] = (TH2*) cl->
getHisto(TPCMON_STR,
"SouthSideADC_clusterZY_unw");
1537 if (!gROOT->FindObject(
"TPCClusterZY_unw"))
1542 TC[14]->SetEditable(
true);
1546 PrintRun.SetTextFont(62);
1547 PrintRun.SetTextSize(0.04);
1549 PrintRun.SetTextAlign(23);
1550 std::ostringstream runnostream;
1552 time_t evttime = cl->
EventTime(
"CURRENT");
1554 runnostream <<
ThisName <<
"_ADC-Pedestal>20 ADC, UNWEIGHTED, Run " << cl->
RunNumber()
1555 <<
", Time: " << ctime(&evttime);
1556 runstring = runnostream.str();
1558 PrintRun.DrawText(0.5, 0.91, runstring.c_str());
1561 gStyle->SetOptStat(kFALSE);
1562 gPad->SetTopMargin(0.15);
1563 gPad->SetLogz(kTRUE);
1567 for(
int i=0;
i<12;
i++ )
1569 if( tpcmon_NSTPC_clusZY_unw[
i] )
1572 tpcmon_NSTPC_clusZY_unw[
i] ->
Draw(
"colzsame");
1573 if ( tpcmon_NSTPC_clusZY_unw[i]->GetBinContent(tpcmon_NSTPC_clusZY_unw[i]->GetMaximumBin()) > max )
1575 max = tpcmon_NSTPC_clusZY_unw[
i]->GetBinContent(tpcmon_NSTPC_clusZY_unw[i]->GetMaximumBin());
1579 gStyle->SetPalette(57);
1585 for(
int i=0;
i<12;
i++ )
1587 if( tpcmon_SSTPC_clusZY_unw[
i+12] )
1590 tpcmon_SSTPC_clusZY_unw[
i+12] ->
Draw(
"colzsame");
1591 if ( tpcmon_SSTPC_clusZY_unw[
i+12]->GetBinContent(tpcmon_SSTPC_clusZY_unw[
i+12]->GetMaximumBin()) > max )
1593 max = tpcmon_SSTPC_clusZY_unw[
i+12]->GetBinContent(tpcmon_SSTPC_clusZY_unw[
i+12]->GetMaximumBin());
1597 gStyle->SetPalette(57);
1604 TC[14]->SetEditable(
false);
1614 TH2 *tpcmonth2channelphi_layer[24] = {
nullptr};
1616 char TPCMON_STR[100];
1618 dummy_his1_channelphi_layer_w =
new TH2F(
"dummy_his1_channelphi_layer_",
"(ADC-Pedestal) > 20 ADC, UNWEIGHTED", 515, -1030, 1030, 400, -800, 800);
1623 for(
int i=0;
i<24;
i++ )
1626 sprintf(TPCMON_STR,
"TPCMON_%i",
i);
1627 tpcmonth2channelphi_layer[
i] = (TH2*) cl->
getHisto(TPCMON_STR,
"Layer_ChannelPhi_ADC_weighted");
1630 if (!gROOT->FindObject(
"TPCLayerPhi"))
1635 TC[15]->SetEditable(
true);
1639 PrintRun.SetTextFont(62);
1640 PrintRun.SetTextSize(0.04);
1642 PrintRun.SetTextAlign(23);
1643 std::ostringstream runnostream;
1645 time_t evttime = cl->
EventTime(
"CURRENT");
1647 runnostream <<
ThisName <<
"_ChannelPhi_vs_Layer_ADC_weighted " << cl->
RunNumber()
1648 <<
", Time: " << ctime(&evttime);
1649 runstring = runnostream.str();
1651 PrintRun.DrawText(0.5, 0.91, runstring.c_str());
1654 gStyle->SetOptStat(kFALSE);
1655 gPad->SetTopMargin(0.15);
1656 gPad->SetLogz(kTRUE);
1660 for(
int i=0;
i<24;
i++ )
1662 if( tpcmonth2channelphi_layer[
i] )
1665 tpcmonth2channelphi_layer[
i] ->
Draw(
"lego2zsame");
1666 if ( tpcmonth2channelphi_layer[i]->GetBinContent( tpcmonth2channelphi_layer[i]->GetMaximumBin()) > max )
1668 max = tpcmonth2channelphi_layer[
i]->GetBinContent( tpcmonth2channelphi_layer[i]->GetMaximumBin());
1672 gStyle->SetPalette(57);
1679 TC[15]->SetEditable(
false);
1689 TH1 *tpcmon_PEDESTSUBADC1D[24][3] = {
nullptr};
1691 char TPCMON_STR[100];
1692 for(
int i=0;
i<24;
i++ )
1695 sprintf(TPCMON_STR,
"TPCMON_%i",
i);
1696 tpcmon_PEDESTSUBADC1D[
i][0] = (TH1*) cl->
getHisto(TPCMON_STR,
"PEDEST_SUB_1D_R1");
1697 tpcmon_PEDESTSUBADC1D[
i][1] = (TH1*) cl->
getHisto(TPCMON_STR,
"PEDEST_SUB_1D_R2");
1698 tpcmon_PEDESTSUBADC1D[
i][2] = (TH1*) cl->
getHisto(TPCMON_STR,
"PEDEST_SUB_1D_R3");
1702 if (!gROOT->FindObject(
"TPCPedestSubADC1D"))
1707 TC[16]->SetEditable(
true);
1710 auto legend =
new TLegend(0.7,0.65,0.98,0.95);
1713 for(
int i=0;
i<24;
i++ )
1716 for(
int j = 2;
j>-1;
j-- )
1718 if( tpcmon_PEDESTSUBADC1D[
i][
j] )
1720 if(j == 2){tpcmon_PEDESTSUBADC1D[
i][
j] -> DrawCopy(
"HIST");}
1721 else {tpcmon_PEDESTSUBADC1D[
i][
j] -> DrawCopy(
"HISTsame");}
1725 gPad->SetLogy(kTRUE);
1727 if(draw_leg == 0 && tpcmon_PEDESTSUBADC1D[
i][0] && tpcmon_PEDESTSUBADC1D[
i][1] && tpcmon_PEDESTSUBADC1D[
i][2])
1729 legend->AddEntry(tpcmon_PEDESTSUBADC1D[i][0],
"R1");
1730 legend->AddEntry(tpcmon_PEDESTSUBADC1D[i][1],
"R2");
1731 legend->AddEntry(tpcmon_PEDESTSUBADC1D[i][2],
"R3");
1739 PrintRun.SetTextFont(62);
1740 PrintRun.SetTextSize(0.04);
1742 PrintRun.SetTextAlign(23);
1743 std::ostringstream runnostream;
1745 time_t evttime = cl->
EventTime(
"CURRENT");
1748 <<
", Time: " << ctime(&evttime);
1749 runstring = runnostream.str();
1751 PrintRun.DrawText(0.5, 0.91, runstring.c_str());
1755 TC[16]->SetEditable(
false);
1765 int iret =
Draw(what);
1771 for (TCanvas *canvas :
TC)
1773 if (canvas ==
nullptr)
1787 int iret =
Draw(what);
1796 for (TCanvas *canvas :
TC)
1798 if (canvas ==
nullptr)
1829 time_t currtime = 0;
1831 while (currtime == 0 && i <= 23)
1834 currtime = cl->
EventTime(servername,
"CURRENT");