===============================================================================================================================================================================================
variant2: for each run define phi-averaged A for normalization channel (Dref,16) and then, divide Rijk on it, i.e. get RRijk
35 cout <<
"********************************************************************* START job " << endl;
58 const Int_t NMethods = 14;
59 const Int_t NMethodsStart = 0;
60 const Int_t NMethodsToUse = 13;
62 TString MethodName[NMethods] = {
"PLOT0",
77 const Int_t NMAXM = 70;
79 cout <<
"********************************************************************* NMAXM = " << NMAXM << endl;
81 TString LEDrunsM[NMAXM] = {
82 "315812",
"315984",
"316826",
"317116",
"317193",
"317268",
"317271",
"317273",
"317363",
83 "317444",
"317606",
"317607",
"317609",
"317610",
"317611",
"317612",
"317613",
"317617",
84 "317785",
"318758",
"319198",
"319401",
"319517",
"319519",
"319520",
"319564",
"319612",
85 "319734",
"319771",
"319774",
"319857",
"319969",
"320117",
"320158",
"320203",
"320205",
86 "320348",
"320579",
"320873",
"320892",
"320952",
"321019",
"321036",
"321187",
"321339",
87 "321359",
"321371",
"321447",
"321514",
"322781",
"322782",
"323314",
"323502",
"323579",
88 "323613",
"323742",
"324030",
"324032",
"324138",
"324225",
"324296",
"324919",
"325141",
89 "325787",
"326234",
"326875",
"327288",
"327438",
"327552",
"327579"
92 cout <<
"********************************************************************* first massives defined " << endl;
93 Float_t X0M[NMAXM] = {
95 0., 2., 17., 22., 23., 24., 24., 24., 27., 29., 32., 32., 32., 32., 32., 32., 32., 32.,
96 38., 51., 58., 63., 65., 65., 65., 66., 68., 70., 71., 71., 72., 74., 77., 78., 79., 79.,
97 80., 85., 90., 91., 92., 93., 93., 98., 101., 101., 101., 104., 106., 129., 129., 138., 141., 142.,
98 143., 146., 150., 150., 151., 153., 155., 165., 169., 179., 183., 195., 203., 205., 208., 209.,
100 cout <<
"********************************************************************* both massives are defined " << endl;
104 const Int_t yearcase = 0;
106 cout <<
"************************************** yearcase = " << yearcase << endl;
119 const Int_t flagHBP17selection = 0;
121 cout <<
"************************************** flagHBP17selection = " << flagHBP17selection << endl;
133 TCanvas*
c1 =
new TCanvas(
"c1",
"GSM", 10, 10, 1010, 1010);
138 c1->Range(0, 0, 25, 18);
143 TLatex*
t =
new TLatex();
146 t->SetTextSize(0.03);
150 0.9, 15.5,
"Time dependence of full Amplitude averaged over events of each LED run for some random HB channels");
172 Float_t RrangeMIN = y1;
173 Float_t RrangeMAX = y2;
181 cout <<
"************************************** RrangeMIN = " << RrangeMIN <<
" RrangeMAX = " << RrangeMAX << endl;
186 const Int_t NDEP = 3;
187 const Int_t NETA0 = 83;
188 const Int_t NPHI0 = 73;
191 Double_t mapRATIO[NDEP][NETA0][NPHI0];
192 Double_t mapRATIOD2[NETA0][NPHI0];
193 Int_t mapRATIOD20[NETA0][NPHI0];
196 Double_t normalization[NETA0][NPHI0];
197 cout <<
"************************************** NDEP = " << NDEP <<
" NETA0 = " << NETA0 <<
" NPHI0 = " << NPHI0
201 Int_t NMAXSIZE = NMAXM;
202 Float_t
X0[NMAXSIZE];
203 TString LEDruns[NMAXSIZE];
204 Double_t
XX[NMAXSIZE];
205 Double_t XXE[NMAXSIZE];
206 Double_t XXX[NMAXSIZE];
207 Double_t XXXE[NMAXSIZE];
208 Int_t indWAS[NMAXSIZE];
210 Double_t
YY[NMAXSIZE];
211 Double_t YYE[NMAXSIZE];
212 cout <<
"************************************** NMAXSIZE = " << NMAXSIZE <<
" NMAXM = " << NMAXM << endl;
215 Double_t GSMRATIOD2[NMAXSIZE][NETA0][NPHI0];
223 Int_t NMAXmM = NMAXSIZE - 1;
224 Int_t NMAXaM = NMAXSIZE;
230 }
else if (yearcase == 2) {
235 }
else if (yearcase == 3) {
240 }
else if (yearcase == 4) {
245 }
else if (yearcase == 5) {
252 cout <<
"************************************** NMINmM = " << NMINmM <<
" NMAXmM = " << NMAXmM
253 <<
" NMAXaM = " << NMAXaM << endl;
254 if (NMINmM == -1 || NMAXmM == -1 || NMAXaM == -1)
255 cout <<
" STOP !!!!!! NMINmM == -1 || NMAXmM == -1 || NMAXaM == -1 " << endl;
260 for (
int jjj = NMINmM; jjj <= NMAXmM; jjj++) {
261 LEDruns[jjj - NMINmM] = LEDrunsM[jjj];
262 X0[jjj - NMINmM] = X0M[jjj];
271 cout <<
"******************* NP = " << NP << endl;
279 Double_t cutMinA = 100.;
280 Double_t cutMaxA = 5000.;
287 for (
int kk1 = 0; kk1 < NP; kk1++) {
292 if (verbosity == 2) {
293 cout <<
"ORDINATE points: kk1 = " << kk1 <<
" XX[kk1]= " << XX[kk1] << endl;
296 XXE[kk1] = 0.001 * XX[kk1];
303 for (
int jjj = 0; jjj <= 82; jjj++) {
304 for (
int kkk = 0; kkk <= 72; kkk++) {
305 mapRATIOD2[jjj][kkk] = 0.;
306 mapRATIOD20[jjj][kkk] = 0.;
307 normalization[jjj][kkk] = 0.;
309 for (
int k1 = 0; k1 < NP; k1++) {
310 GSMRATIOD2[k1][jjj][kkk] = mapRATIOD2[jjj][kkk];
313 for (
int iii = 0; iii < NDEP; iii++) {
314 mapRATIO[iii][jjj][kkk] = 0.;
326 TString
fname =
"/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb/histos/LED_";
330 TH1F* Seff1D =
new TH1F(
"Seff1D",
"", 1000, 10., 1010.);
331 TH1F* Ceff1D =
new TH1F(
"Ceff1D",
"", 1500, 10., 8010.);
333 TH2F* mapBADchannels =
new TH2F(
"mapBADchannels",
" ", 82, -41., 41., 72, 0., 72.);
334 TH2F* mapBADchannels0 =
new TH2F(
"mapBADchannels0",
" ", 82, -41., 41., 72, 0., 72.);
336 TH2F* mapchannelsdepth1 =
new TH2F(
"mapchannelsdepth1",
" ", 82, -41., 41., 72, 0., 72.);
337 TH2F* mapchannelsdepth2 =
new TH2F(
"mapchannelsdepth2",
" ", 82, -41., 41., 72, 0., 72.);
341 TH1F* gainkoeff =
new TH1F(
"gainkoeff",
"", 100, y1, y2);
342 TH1F* gainkoeff0 =
new TH1F(
"gainkoeff0",
"", 100, 0.9, 1.1);
343 TH1F* gainkoeff9 =
new TH1F(
"gainkoeff9",
"", 100, 0.1, 1.9);
344 TH1F* GOODruns =
new TH1F(
"GOODruns",
"", NP, 0.,
float(NP));
345 TH1F* BADruns =
new TH1F(
"BADruns",
"", NP, 0.,
float(NP));
346 TH1F* NotEmptyDepthes =
new TH1F(
"NotEmptyDepthes",
"", 56, 0., 56.);
352 cout <<
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! firstrun = " << firstrun <<
" run = " << LEDruns[firstrun] << endl;
359 cout <<
"!!!!!!!!!!!!!!!!!!!!!! use root files from official RMT dir. " << endl;
363 TH1F* Aeff1D =
new TH1F(
"Aeff1D",
"", 250, 0., 500000.);
366 for (
int k1 = firstrun; k1 < NP; k1++) {
375 TString epsName = fname + LEDruns[k1] +
".root";
380 TFile* hfile =
new TFile(epsName,
"READ");
382 TH1F* Aeff1 = (TH1F*)hfile->Get(
"h_ADCAmpl_HB");
384 int kx = Aeff1->GetXaxis()->GetNbins();
388 for (
int jjj = 0; jjj < kx; jjj++) {
389 if (
double(Aeff1->GetBinContent(jjj)) > 0. && maxvalueA < jjj)
392 Aeff1D->Fill(
float(jjj),
double(Aeff1->GetBinContent(jjj)));
394 cout <<
" run = " << LEDruns[k1] <<
" k1= " << k1 <<
" max bin value= " << maxvalueA <<
" ck1count= " << ck1count
407 gStyle->SetOptStat(101110);
408 Aeff1->SetMarkerStyle(20);
409 Aeff1->SetMarkerSize(0.4);
410 Aeff1->GetYaxis()->SetLabelSize(0.04);
411 Aeff1->SetTitle(
"Last run & events & channels");
412 Aeff1->SetXTitle(
"Aijk");
413 Aeff1->SetYTitle(
"N");
414 Aeff1->SetMarkerColor(4);
415 Aeff1->SetLineColor(4);
416 Aeff1->SetMinimum(0.8);
419 TString fdir =
"testamt5gsmHB2018/";
421 TString
plotName = fdir +
"Aijk-Run" + LEDruns[k1] +
".png";
422 c1->SaveAs(plotName);
423 cout <<
"****PLOT AijkLastRun.png is drawn **** " << endl;
427 if (k1 == firstrun) {
434 gStyle->SetOptStat(101110);
435 Aeff1->SetMarkerStyle(20);
436 Aeff1->SetMarkerSize(0.4);
437 Aeff1->GetYaxis()->SetLabelSize(0.04);
438 Aeff1->SetTitle(
"First run & events & channels");
439 Aeff1->SetXTitle(
"Aijk");
440 Aeff1->SetYTitle(
"N");
441 Aeff1->SetMarkerColor(4);
442 Aeff1->SetLineColor(4);
443 Aeff1->SetMinimum(0.8);
446 TString fdir =
"testamt5gsmHB2018/";
447 TString plotName = fdir +
"AijkFirstRun.png";
448 c1->SaveAs(plotName);
449 cout <<
"****PLOT AijkFirstRun.png is drawn **** " << endl;
469 TH2F* twod1 = (TH2F*)hfile->Get(
"h_mapDepth1ADCAmpl12_HB");
470 TH2F* twod2 = (TH2F*)hfile->Get(
"h_mapDepth2ADCAmpl12_HB");
482 int nx = twod1->GetXaxis()->GetNbins();
483 int ny = twod1->GetYaxis()->GetNbins();
486 TH2F* t0010 = (TH2F*)hfile->Get(
"h_mapDepth1_HB");
487 TH2F* t0020 = (TH2F*)hfile->Get(
"h_mapDepth2_HB");
491 TH2F* Ceff1 = (TH2F*)twod1->Clone(
"Ceff1");
492 TH2F* Ceff2 = (TH2F*)twod2->Clone(
"Ceff2");
497 Ceff1->Divide(twod1, t0010, 1, 1,
"B");
498 Ceff2->Divide(twod2, t0020, 1, 1,
"B");
503 for (
int jjj = 0; jjj < nx; jjj++) {
504 for (
int kkk = 0; kkk < ny; kkk++) {
506 if (flagHBP17selection == 0 ||
507 (flagHBP17selection == 1 && (((jjj > 56 && jjj < 62) && (kkk > 63 && kkk < 68)) ||
508 ((jjj > 61 && jjj < 71) && (kkk == 64 || kkk == 66)))) ||
509 (flagHBP17selection == 2 && !(((jjj > 14 && jjj < 25) && (kkk > 55 && kkk < 64))))) {
512 if (Ceff1->GetBinContent(jjj, kkk) > 0.)
513 mapchannelsdepth1->Fill(
double(jjj) - 41.,
double(kkk), Ceff1->GetBinContent(jjj, kkk));
514 if (Ceff2->GetBinContent(jjj, kkk) > 0.)
515 mapchannelsdepth2->Fill(
double(jjj) - 41.,
double(kkk), Ceff2->GetBinContent(jjj, kkk));
528 for (
int jjj = 0; jjj < nx; jjj++) {
529 for (
int kkk = 0; kkk < ny; kkk++) {
532 if (flagHBP17selection == 0 ||
533 (flagHBP17selection == 1 && (((jjj > 56 && jjj < 62) && (kkk > 63 && kkk < 68)) ||
534 ((jjj > 61 && jjj < 71) && (kkk == 64 || kkk == 66)))) ||
535 (flagHBP17selection == 2 && !(((jjj > 14 && jjj < 25) && (kkk > 55 && kkk < 64))))) {
538 if (Ceff1->GetBinContent(jjj, kkk) != 0.) {
539 Ceff1D->Fill(Ceff1->GetBinContent(jjj, kkk));
540 Seff1D->Fill(Ceff1->GetBinContent(jjj, kkk));
542 if (Ceff2->GetBinContent(jjj, kkk) != 0.) {
543 Ceff1D->Fill(Ceff2->GetBinContent(jjj, kkk));
544 Seff1D->Fill(Ceff2->GetBinContent(jjj, kkk));
557 for (
int jjj = 0; jjj < nx; jjj++) {
558 for (
int kkk = 0; kkk < ny; kkk++) {
560 if (flagHBP17selection == 0 ||
561 (flagHBP17selection == 1 && (((jjj > 56 && jjj < 62) && (kkk > 63 && kkk < 68)) ||
562 ((jjj > 61 && jjj < 71) && (kkk == 64 || kkk == 66)))) ||
563 (flagHBP17selection == 2 && !(((jjj > 14 && jjj < 25) && (kkk > 55 && kkk < 64))))) {
564 if (Ceff1->GetBinContent(jjj, kkk) > cutMinA && Ceff1->GetBinContent(jjj, kkk) < cutMaxA)
565 mapRATIO[1][jjj][kkk] = Ceff1->GetBinContent(jjj, kkk);
566 if (Ceff2->GetBinContent(jjj, kkk) > cutMinA && Ceff2->GetBinContent(jjj, kkk) < cutMaxA)
567 mapRATIO[2][jjj][kkk] = Ceff2->GetBinContent(jjj, kkk);
594 int totalhep17count = 0;
595 int totalhep17count1 = 0;
596 int totalhep17count2 = 0;
597 int totalhep17count3 = 0;
598 int totalhep17count4 = 0;
599 int totalhep17count5 = 0;
600 int totalhep17count6 = 0;
601 int totalhep17count7 = 0;
602 for (
int iii = 1; iii < NDEP; iii++) {
603 for (
int jjj = 0; jjj < nx; jjj++) {
604 for (
int kkk = 0; kkk < ny; kkk++) {
607 if (mapRATIO[iii][jjj][kkk] > 0) {
610 if (verbosity == 4 && k1 == 0) {
611 cout <<
" k1= " << k1 <<
" depth= " << iii <<
" eta= " << jjj <<
" phi= " << kkk
612 <<
" mapRATIO= " << mapRATIO[iii][jjj][kkk] << endl;
629 mapRATIOD2[jjj][kkk] += mapRATIO[iii][jjj][kkk];
631 mapRATIOD20[jjj][kkk]++;
632 if (verbosity == 3 && iii == 3)
633 cout <<
" depth = " << iii <<
" k1 = " << k1 <<
" eta = " << jjj
634 <<
" mapRATIOD2[jjj][kkk] = " << mapRATIOD2[jjj][kkk] <<
" #entries = " << mapRATIOD20[jjj][kkk]
635 <<
" mapRATIO[iii][jjj][kkk] = " << mapRATIO[iii][jjj][kkk] << endl;
644 if (verbosity == 4 && k1 == 0) {
645 cout <<
" k1= " << k1 <<
" totalhep17count= " << totalhep17count << endl;
646 cout <<
" k1= " << k1 <<
" totalhep17count1= " << totalhep17count1 << endl;
647 cout <<
" k1= " << k1 <<
" totalhep17count2= " << totalhep17count2 << endl;
648 cout <<
" k1= " << k1 <<
" totalhep17count3= " << totalhep17count3 << endl;
649 cout <<
" k1= " << k1 <<
" totalhep17count4= " << totalhep17count4 << endl;
650 cout <<
" k1= " << k1 <<
" totalhep17count5= " << totalhep17count5 << endl;
651 cout <<
" k1= " << k1 <<
" totalhep17count6= " << totalhep17count6 << endl;
652 cout <<
" k1= " << k1 <<
" totalhep17count7= " << totalhep17count7 << endl;
657 Int_t depthAVERAGEcount = 0;
658 for (
int jjj = 0; jjj < nx; jjj++) {
659 for (
int kkk = 0; kkk < ny; kkk++) {
662 depthAVERAGEcount = 4 * (jjj - 57) + (kkk - 64);
663 if (mapRATIOD20[jjj][kkk] != 0) {
664 NotEmptyDepthes->Fill(
float(depthAVERAGEcount));
666 cout <<
"****aver per depthes********* phi = " << kkk <<
" RunIndex = " << k1 <<
" eta = " << jjj
667 <<
" #entries = " << mapRATIOD20[jjj][kkk] << endl;
668 mapRATIOD2[jjj][kkk] /= mapRATIOD20[jjj][kkk];
669 if (verbosity == 3 && kkk == 3)
670 cout <<
"****aver per depthes********* phi = " << jjj <<
" RunIndex = " << k1 <<
" eta = " << jjj
671 <<
" Nphi = " << mapRATIOD20[jjj][kkk] << endl;
678 if (k1 == firstrun && kmm == 0) {
680 cout <<
"* to be printed once only CHBCK IT please ************ kmm = " << kmm << endl;
683 for (
int jjj = 0; jjj < nx; jjj++) {
684 for (
int kkk = 0; kkk < ny; kkk++) {
685 normalization[jjj][kkk] = mapRATIOD2[jjj][kkk];
696 for (
int jjj = 0; jjj < nx; jjj++) {
697 for (
int kkk = 0; kkk < ny; kkk++) {
698 if (normalization[jjj][kkk] != 0) {
699 GSMRATIOD2[k1][jjj][kkk] = mapRATIOD2[jjj][kkk] / normalization[jjj][kkk];
701 if (GSMRATIOD2[k1][jjj][kkk] < RrangeMAX && GSMRATIOD2[k1][jjj][kkk] > RrangeMIN) {
702 gainkoeff->Fill(GSMRATIOD2[k1][jjj][kkk]);
703 gainkoeff0->Fill(GSMRATIOD2[k1][jjj][kkk]);
704 gainkoeff9->Fill(GSMRATIOD2[k1][jjj][kkk]);
710 GOODruns->Fill(
float(k1));
712 if (GSMRATIOD2[k1][jjj][kkk] > 0.)
713 BADruns->Fill(
float(k1));
728 for (
int jjj = 0; jjj <= 82; jjj++) {
729 for (
int kkk = 0; kkk <= 72; kkk++) {
730 mapRATIOD2[jjj][kkk] = 0.;
731 mapRATIOD20[jjj][kkk] = 0.;
732 for (
int iii = 0; iii < NDEP; iii++) {
733 mapRATIO[iii][jjj][kkk] = 0.;
748 cout <<
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DONE: last LED run READ " << endl;
762 cout <<
"**** **** **** **** **** Draw Dependencies: *** " << endl;
765 Int_t Method = NMethodsStart;
766 while (Method < NMethodsToUse + 1) {
767 if (Method != 9999992) {
768 cout <<
" **** START Method " << Method << endl;
771 cout <<
"****Draw 0 Dependencies: <Aijk> for each event and all LED runs *** " << endl;
775 gStyle->SetOptStat(101110);
776 Ceff1D->SetMarkerStyle(20);
777 Ceff1D->SetMarkerSize(0.4);
778 Ceff1D->GetYaxis()->SetLabelSize(0.04);
779 Ceff1D->SetTitle(
"all runs & channels");
780 Ceff1D->SetXTitle(
"<Aijk>");
781 Ceff1D->SetYTitle(
"N");
782 Ceff1D->SetMarkerColor(4);
783 Ceff1D->SetLineColor(4);
789 cout <<
"****Draw 1 Dependencies: <Aijk> for each event and all LED runs ZOOM *** " << endl;
793 gStyle->SetOptStat(101110);
795 Seff1D->SetMarkerStyle(20);
796 Seff1D->SetMarkerSize(0.4);
797 Seff1D->GetYaxis()->SetLabelSize(0.04);
798 Seff1D->SetTitle(
"ZOOM all runs & channels");
799 Seff1D->SetXTitle(
"<Aijk> ZOOM ");
800 Seff1D->SetYTitle(
"N");
801 Seff1D->SetMarkerColor(4);
802 Seff1D->SetLineColor(4);
809 cout <<
"****Draw 2 Dependencies: GSM ratio vs days *** " << endl;
810 for (
int k1 = 0; k1 < NP; k1++) {
816 TPad*
pad1 =
new TPad(
"pad1",
"This is pad1", 0.02, 0.02, 0.99, 0.99, 0);
819 pad1->Range(-0.255174, -19.25, 2.29657, -6.75);
821 pad1->DrawFrame(x1, y1, x2, y2);
823 pad1->GetFrame()->SetFillColor(0);
828 Int_t colorlines = 0;
829 Int_t generalcount = 0;
832 for (
int jjj = 0; jjj < 82; jjj++) {
833 for (
int kkk = 0; kkk < 72; kkk++) {
835 for (
int k1 = 0; k1 < NP; k1++) {
836 if (GSMRATIOD2[k1][jjj][kkk] != 0) {
839 if (GSMRATIOD2[k1][jjj][kkk] < RrangeMAX && GSMRATIOD2[k1][jjj][kkk] > RrangeMIN) {
843 YY[sscount] = GSMRATIOD2[k1][jjj][kkk];
844 XXX[sscount] = XX[k1];
845 indWAS[sscount] = k1;
846 mapBADchannels->Fill(
double(jjj) - 42.,
double(kkk) - 1., GSMRATIOD2[k1][jjj][kkk]);
847 mapBADchannels0->Fill(
double(jjj) - 42.,
double(kkk) - 1., 1.);
854 Int_t MMcount = sscount + 1;
857 if (generalcount == 1 && verbosity == 2)
858 for (
int k1 = 0; k1 < MMcount; k1++) {
859 cout <<
"**** All GOOD runs: indWAS[k1](1,..) = " << indWAS[k1] + 1 <<
" XXX[k1]+1 = " << XXX[k1] + 1
862 gr1 =
new TGraph(MMcount, XXX, YY);
863 colorlines = generalcount / 5. + 2;
864 gr1->SetLineColor(colorlines);
865 gr1->SetMarkerColor(colorlines);
866 gr1->SetMarkerStyle(20);
867 gr1->SetMarkerSize(1.2);
868 gr1->SetFillStyle(0);
869 gr1->GetXaxis()->SetTitle(
"days");
870 gr1->GetYaxis()->SetTitle(
"R");
879 TLegend leg(xx1, yy1, xx2, yy2,
"HB: R vs t(days)");
882 leg.SetBorderSize(1);
883 leg.DrawClone(
"Same");
904 cout <<
"****Draw 3 Dependencies: 2D channels *** " << endl;
905 TH2F* Cdepth2hbff = (TH2F*)mapBADchannels->Clone(
"Cdepth2hbff");
906 Cdepth2hbff->Divide(mapBADchannels, mapBADchannels0, 1, 1,
"B");
907 Cdepth2hbff->Sumw2();
910 gStyle->SetOptStat(0000000);
911 Cdepth2hbff->SetMarkerStyle(20);
912 Cdepth2hbff->SetMarkerSize(0.4);
913 Cdepth2hbff->GetYaxis()->SetLabelSize(0.04);
914 Cdepth2hbff->SetTitle(
"within R & Weighted by R");
915 Cdepth2hbff->SetXTitle(
"#eta \b");
916 Cdepth2hbff->SetYTitle(
"#phi \b");
917 Cdepth2hbff->SetMarkerColor(4);
918 Cdepth2hbff->SetLineColor(4);
919 Cdepth2hbff->Draw(
"COLZ");
923 cout <<
"****Draw 4 Dependencies: gains LED runs *** " << endl;
928 gStyle->SetOptStat(1100);
930 gainkoeff->SetMarkerStyle(20);
931 gainkoeff->SetMarkerSize(0.4);
932 gainkoeff->GetYaxis()->SetLabelSize(0.04);
933 gainkoeff->SetXTitle(
"gains");
934 gainkoeff->SetYTitle(
"N");
935 gainkoeff->SetMarkerColor(4);
936 gainkoeff->SetLineColor(4);
938 gainkoeff->Draw(
"PL");
942 cout <<
"****Draw 5 Dependencies: gains LED runs *** " << endl;
947 gStyle->SetOptStat(1100);
949 gainkoeff9->SetMarkerStyle(20);
950 gainkoeff9->SetMarkerSize(0.4);
951 gainkoeff9->GetYaxis()->SetLabelSize(0.04);
952 gainkoeff9->SetXTitle(
"gains");
953 gainkoeff9->SetYTitle(
"N");
954 gainkoeff9->SetMarkerColor(4);
955 gainkoeff9->SetLineColor(4);
957 gainkoeff9->Draw(
"PL");
961 cout <<
"****Draw 6 Dependencies: gains LED runs *** " << endl;
966 gStyle->SetOptStat(1100);
968 gainkoeff0->SetMarkerStyle(20);
969 gainkoeff0->SetMarkerSize(0.4);
970 gainkoeff0->GetYaxis()->SetLabelSize(0.04);
971 gainkoeff0->SetXTitle(
"gains");
972 gainkoeff0->SetYTitle(
"N");
973 gainkoeff0->SetMarkerColor(4);
974 gainkoeff0->SetLineColor(4);
976 gainkoeff0->Draw(
"PL");
980 cout <<
"****Draw 7 Dependencies: BADruns *** " << endl;
984 gPad->SetLogy(kFALSE);
985 gStyle->SetOptStat(101110);
986 BADruns->SetMarkerStyle(20);
987 BADruns->SetMarkerSize(0.4);
988 BADruns->GetYaxis()->SetLabelSize(0.04);
989 BADruns->SetTitle(
"#channels outside Rrange VS iRun");
990 BADruns->SetXTitle(
"iRun");
991 BADruns->SetYTitle(
"#channels");
992 BADruns->SetMarkerColor(4);
993 BADruns->SetLineColor(4);
998 int cx = BADruns->GetXaxis()->GetNbins();
999 cout <<
"***** ************* Number of runs w/ R outside unit-range = " << cx << endl;
1001 for (
int jjj = 1; jjj <= cx; jjj++) {
1002 if (BADruns->GetBinContent(jjj) > 200.) {
1003 cout <<
"BADruns w/ content>60: jjj= " << jjj <<
" run= " << LEDruns[jjj - 1]
1004 <<
" R ouside unit-range for # channels= " << BADruns->GetBinContent(jjj) << endl;
1009 cout <<
"BADruns w/ content>60 nbadruns= " << nbadruns << endl;
1015 cout <<
"****Draw 8 Dependencies: Goodruns *** " << endl;
1019 gStyle->SetOptStat(101110);
1020 GOODruns->SetMarkerStyle(20);
1021 GOODruns->SetMarkerSize(0.4);
1022 GOODruns->GetYaxis()->SetLabelSize(0.04);
1023 GOODruns->SetTitle(
"#channels inside Rrange VS iRun");
1024 GOODruns->SetXTitle(
"iRun");
1025 GOODruns->SetYTitle(
"#channels");
1026 GOODruns->SetMarkerColor(4);
1027 GOODruns->SetLineColor(4);
1029 GOODruns->Draw(
"PL");
1032 int cx = GOODruns->GetXaxis()->GetNbins();
1033 cout <<
"************* cx = " << cx << endl;
1034 for (
int jjj = 0; jjj <= cx; jjj++) {
1037 if (GOODruns->GetBinContent(jjj) > 1400.)
1038 cout <<
"GOODruns: k1(0,...)= " << jjj
1039 <<
" GOODruns->GetBinContent(jjj)= " << GOODruns->GetBinContent(jjj) << endl;
1046 cout <<
"****Draw 9 Dependencies: depthes with zero A *** " << endl;
1049 gPad->SetLogy(kFALSE);
1050 gStyle->SetOptStat(1110000);
1051 NotEmptyDepthes->SetMarkerStyle(20);
1052 NotEmptyDepthes->SetMarkerSize(0.4);
1053 NotEmptyDepthes->GetYaxis()->SetLabelSize(0.04);
1054 NotEmptyDepthes->SetTitle(
"# Not Empty Channels in etq-phi projection");
1055 NotEmptyDepthes->SetXTitle(
"4*(eta-57)+(phi-64)");
1056 NotEmptyDepthes->SetYTitle(
"N");
1057 NotEmptyDepthes->SetMarkerColor(4);
1058 NotEmptyDepthes->SetLineColor(4);
1060 NotEmptyDepthes->Draw(
"PL");
1064 cout <<
"****Draw 10 Dependencies: Aijk for each event and all LED runs *** " << endl;
1077 gStyle->SetOptStat(101110);
1079 Aeff1D->SetMarkerStyle(20);
1080 Aeff1D->SetMarkerSize(0.4);
1081 Aeff1D->GetYaxis()->SetLabelSize(0.04);
1082 Aeff1D->SetTitle(
"all runs & events& channels");
1083 Aeff1D->SetXTitle(
"Aijk");
1084 Aeff1D->SetYTitle(
"N");
1085 Aeff1D->SetMarkerColor(4);
1086 Aeff1D->SetLineColor(4);
1089 Aeff1D->SetMinimum(0.8);
1097 cout <<
"****Draw 11 <A>: 2D Depthes1,2,3,4 *** " << endl;
1105 mapchannelsdepth1->SetStats(0);
1106 mapchannelsdepth1->SetTitle(
"<A> Depth1");
1107 mapchannelsdepth1->SetXTitle(
"#eta \b");
1108 mapchannelsdepth1->SetYTitle(
"#phi \b");
1109 mapchannelsdepth1->Draw(
"COLZ");
1111 mapchannelsdepth2->SetStats(0);
1112 mapchannelsdepth2->SetTitle(
"<A> Depth2");
1113 mapchannelsdepth2->SetXTitle(
"#eta \b");
1114 mapchannelsdepth2->SetYTitle(
"#phi \b");
1115 mapchannelsdepth2->Draw(
"COLZ");
1135 cout <<
"****Draw 12 not used yet *** " << endl;
1152 cout <<
"****Draw 13 function, fC *** " << endl;
1158 double c0 = 1.000000;
1159 double b1 = 2.71238e-05;
1160 double a2 = 1.32877e-10;
1162 Double_t
x[
n],
y[
n];
1163 for (Int_t
i = 0;
i <
n;
i++) {
1164 x[
i] = (
i + 1) * 20000.;
1165 y[
i] = a2 * x[
i] * x[
i] / 40. / 40. + b1 * x[
i] / 40. + c0;
1169 TGraph* gr =
new TGraph(n, x, y);
1194 TString fdir =
"testamt5gsmHB2018/";
1196 TString plotName = fdir + MethodName[Method] +
".png";
1197 c1->SaveAs(plotName);
1198 cout <<
"****PLOT " << Method <<
" drawn **** " << endl;
static constexpr float b1