37 gROOT->SetStyle(
"Plain");
38 gStyle->SetOptStat(0);
39 gStyle->SetOptTitle(1);
45 sprintf(fname,
"%s",
argv[1]);
46 sprintf(refname,
"%s",
argv[2]);
48 cout << fname <<
" " << refname << std::endl;
55 string promt = (
string)fname;
57 for (
unsigned int i = promt.size() - 11;
i < promt.size() - 5;
i++)
58 runnumber += fname[
i];
59 string refrunnumber =
"";
61 for (
unsigned int i = promt.size() - 11;
i < promt.size() - 5;
i++)
62 refrunnumber += refname[
i];
64 TFile *hfile =
new TFile(fname,
"READ");
65 TFile *hreffile =
new TFile(refname,
"READ");
68 double MIN_M[7][5] = {{0., 0., 0., 0., 0.},
71 {0, 1.0, 1.0, 0.2, 0.1},
72 {0, 0.10, 0.10, 0.18, 0.30},
73 {0, 0.8, 0.8, 0.8, 0.1},
74 {0, -0.5, -0.5, -0.5, -0.5}};
75 double MAX_M[7][5] = {{0., 0., 0., 0., 0.},
77 {0, 900, 900, 9000, 3000},
78 {0, 3.9, 3.9, 4.4, 2.0},
79 {0, 0.95, 0.98, 0.96, 1.04},
80 {0, 8.0, 8.0, 8.0, 2.8},
81 {0, 6.5, 6.5, 6.5, 3.5}};
84 double MIN_C[7][5] = {{0., 0., 0., 0., 0.},
86 {0, 120., 120., 120., 60.},
87 {0, 1.0, 1.0, 0.50, 0.2},
88 {0, 0.6, 0.64, 0.25, 0.25},
89 {0, 1.0, 1.0, 1.0, 1.0},
90 {0, 0.5, 0.5, 0.5, 0.5}};
91 double MAX_C[7][5] = {{0., 0., 0., 0., 0.},
93 {0, 1E20, 1E20, 1E20, 1E20},
94 {0, 2.3, 2.3, 3.0, 2.3},
95 {0, 1., 1., 1., 1.00},
96 {0, 5.5, 5.5, 3.5, 5.2},
97 {0, 8.5, 8.5, 8.5, 9.5}};
98 double porog[5] = {0., 2., 2., 5., 1.};
100 double Pedest[2][5] = {{0., 0.2, 0.9, 0.1, 0.2}, {0., 0.2, 0.2, 0.1, 0.16}};
106 TCanvas *cHB =
new TCanvas(
"cHB",
"cHB", 1000, 1000);
108 TCanvas *cHE =
new TCanvas(
"cHE",
"cHE", 1500, 1500);
110 TCanvas *cONE =
new TCanvas(
"cONE",
"cONE", 1500, 500);
111 TCanvas *cPED =
new TCanvas(
"cPED",
"cPED", 1000, 500);
113 TCanvas *cHF =
new TCanvas(
"cHF",
"cHF", 1000, 1000);
115 char *
str = (
char *)alloca(10000);
134 int k_min[5] = {0, 1, 1, 4, 1};
138 int k_max[5] = {0, 4, 7, 4, 4};
140 TH2F *Map_Ampl[33][5][ALLDEPTH];
141 TH2F *Map_SUBGOOD[5][ALLDEPTH];
142 TH2F *Map_SUB[5][ALLDEPTH];
143 TH1F *HistAmplDepth[22][5][ALLDEPTH];
144 TH1F *HistAmpl[22][5];
145 TH2F *Map_SUBTS[5][ALLDEPTH];
147 TH1F *HistPed[3][5][4];
149 TH1F *hist_GoodTSshape[5];
150 TH1F *hist_GoodTSshape0[5];
151 TH1F *hist_BadTSshape[5];
152 TH1F *hist_BadTSshape0[5];
153 TH1F *hist_ADC_All[5];
154 TH1F *hist_ADC_DS[5][ALLDEPTH];
155 TH1F *hist_SumADC[5][ALLDEPTH];
156 TH1F *hist_SumADC0[5][ALLDEPTH];
157 TH1F *hist_SumADC1[5][ALLDEPTH];
159 Map_SUB[1][1] = (TH2F *)hfile->Get(
"h_mapDepth1_HB");
160 Map_SUB[1][2] = (TH2F *)hfile->Get(
"h_mapDepth2_HB");
161 Map_SUB[1][3] = (TH2F *)hfile->Get(
"h_mapDepth3_HB");
162 Map_SUB[1][4] = (TH2F *)hfile->Get(
"h_mapDepth4_HB");
163 Map_SUB[2][1] = (TH2F *)hfile->Get(
"h_mapDepth1_HE");
164 Map_SUB[2][2] = (TH2F *)hfile->Get(
"h_mapDepth2_HE");
165 Map_SUB[2][3] = (TH2F *)hfile->Get(
"h_mapDepth3_HE");
166 Map_SUB[2][4] = (TH2F *)hfile->Get(
"h_mapDepth4_HE");
167 Map_SUB[2][5] = (TH2F *)hfile->Get(
"h_mapDepth5_HE");
168 Map_SUB[2][6] = (TH2F *)hfile->Get(
"h_mapDepth6_HE");
169 Map_SUB[2][7] = (TH2F *)hfile->Get(
"h_mapDepth7_HE");
170 Map_SUB[3][4] = (TH2F *)hfile->Get(
"h_mapDepth4_HO");
171 Map_SUB[4][1] = (TH2F *)hfile->Get(
"h_mapDepth1_HF");
172 Map_SUB[4][2] = (TH2F *)hfile->Get(
"h_mapDepth2_HF");
173 Map_SUB[4][3] = (TH2F *)hfile->Get(
"h_mapDepth3_HF");
174 Map_SUB[4][4] = (TH2F *)hfile->Get(
"h_mapDepth4_HF");
176 Map_SUBGOOD[1][1] = (TH2F *)hfile->Get(
"h_mapDepth1_HB");
177 Map_SUBGOOD[1][2] = (TH2F *)hfile->Get(
"h_mapDepth2_HB");
178 Map_SUBGOOD[1][3] = (TH2F *)hfile->Get(
"h_mapDepth3_HB");
179 Map_SUBGOOD[1][4] = (TH2F *)hfile->Get(
"h_mapDepth4_HB");
180 Map_SUBGOOD[2][1] = (TH2F *)hfile->Get(
"h_mapDepth1_HE");
181 Map_SUBGOOD[2][2] = (TH2F *)hfile->Get(
"h_mapDepth2_HE");
182 Map_SUBGOOD[2][3] = (TH2F *)hfile->Get(
"h_mapDepth3_HE");
183 Map_SUBGOOD[2][4] = (TH2F *)hfile->Get(
"h_mapDepth4_HE");
184 Map_SUBGOOD[2][5] = (TH2F *)hfile->Get(
"h_mapDepth5_HE");
185 Map_SUBGOOD[2][6] = (TH2F *)hfile->Get(
"h_mapDepth6_HE");
186 Map_SUBGOOD[2][7] = (TH2F *)hfile->Get(
"h_mapDepth7_HE");
187 Map_SUBGOOD[3][4] = (TH2F *)hfile->Get(
"h_mapDepth4_HO");
188 Map_SUBGOOD[4][1] = (TH2F *)hfile->Get(
"h_mapDepth1_HF");
189 Map_SUBGOOD[4][2] = (TH2F *)hfile->Get(
"h_mapDepth2_HF");
190 Map_SUBGOOD[4][3] = (TH2F *)hfile->Get(
"h_mapDepth3_HF");
191 Map_SUBGOOD[4][4] = (TH2F *)hfile->Get(
"h_mapDepth4_HF");
197 for (
int sub = 1; sub <= 4; sub++) {
212 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
225 sprintf(str,
"HB, Depth%d \b",
k);
227 sprintf(str,
"HE, Depth%d \b",
k);
229 sprintf(str,
"HO, Depth%d \b",
k);
231 sprintf(str,
"HF, Depth%d \b",
k);
232 Map_SUB[sub][
k]->SetTitle(str);
233 Map_SUB[sub][
k]->SetXTitle(
"#eta \b");
234 Map_SUB[sub][
k]->SetYTitle(
"#phi \b");
235 Map_SUB[sub][
k]->SetZTitle(
"Number of events \b");
237 Map_SUB[sub][
k]->SetTitleOffset(0.8,
"Z");
238 Map_SUB[sub][
k]->Draw(
"COLZ");
239 Map_SUB[sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
260 cHB->Print(
"MapRateEntryHB.png");
264 cHE->Print(
"MapRateEntryHE.png");
268 cONE->Print(
"MapRateEntryHO.png");
272 cHF->Print(
"MapRateEntryHF.png");
281 Map_Ampl[1][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1Error_HB");
282 Map_Ampl[1][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2Error_HB");
283 Map_Ampl[1][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1Error_HE");
284 Map_Ampl[1][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2Error_HE");
285 Map_Ampl[1][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3Error_HE");
286 Map_Ampl[1][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4Error_HO");
287 Map_Ampl[1][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1Error_HF");
288 Map_Ampl[1][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2Error_HF");
290 Map_Ampl[1][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4Error_HE");
291 Map_Ampl[1][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5Error_HE");
292 Map_Ampl[1][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6Error_HE");
293 Map_Ampl[1][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7Error_HE");
294 Map_Ampl[1][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3Error_HF");
295 Map_Ampl[1][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4Error_HF");
297 Map_Ampl[1][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3Error_HB");
298 Map_Ampl[1][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4Error_HB");
300 for (
int sub = 1; sub <= 4; sub++) {
315 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
324 Map_Ampl[1][sub][
k]->Divide(Map_Ampl[1][sub][
k], Map_SUB[sub][k], 1, 1,
"B");
329 sprintf(str,
"HB, Depth%d \b", k);
331 sprintf(str,
"HE, Depth%d \b", k);
333 sprintf(str,
"HO, Depth%d \b", k);
335 sprintf(str,
"HF, Depth%d \b", k);
336 Map_Ampl[1][sub][
k]->SetTitle(str);
337 Map_Ampl[1][sub][
k]->SetXTitle(
"#eta \b");
338 Map_Ampl[1][sub][
k]->SetYTitle(
"#phi \b");
339 Map_Ampl[1][sub][
k]->SetZTitle(
"Rate \b");
341 Map_Ampl[1][sub][
k]->SetTitleOffset(0.8,
"Z");
342 Map_Ampl[1][sub][
k]->Draw(
"COLZ");
343 Map_Ampl[1][sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
344 Map_Ampl[1][sub][
k]->GetZaxis()->SetRangeUser(0.0001, 1.);
364 cHB->Print(
"MapRateCapIDHB.png");
368 cHE->Print(
"MapRateCapIDHE.png");
372 cONE->Print(
"MapRateCapIDHO.png");
376 cHF->Print(
"MapRateCapIDHF.png");
385 Map_Ampl[2][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1ADCAmpl225_HB");
386 Map_Ampl[2][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2ADCAmpl225_HB");
387 Map_Ampl[2][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1ADCAmpl225_HE");
388 Map_Ampl[2][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2ADCAmpl225_HE");
389 Map_Ampl[2][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3ADCAmpl225_HE");
390 Map_Ampl[2][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4ADCAmpl225_HO");
391 Map_Ampl[2][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1ADCAmpl225_HF");
392 Map_Ampl[2][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2ADCAmpl225_HF");
394 Map_Ampl[2][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4ADCAmpl225_HE");
395 Map_Ampl[2][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5ADCAmpl225_HE");
396 Map_Ampl[2][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6ADCAmpl225_HE");
397 Map_Ampl[2][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7ADCAmpl225_HE");
398 Map_Ampl[2][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3ADCAmpl225_HF");
399 Map_Ampl[2][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4ADCAmpl225_HF");
401 Map_Ampl[2][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3ADCAmpl225_HB");
402 Map_Ampl[2][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4ADCAmpl225_HB");
404 HistAmpl[2][1] = (TH1F *)hfile->Get(
"h_ADCAmpl_HB");
405 HistAmpl[2][2] = (TH1F *)hfile->Get(
"h_ADCAmpl_HE");
406 HistAmpl[2][3] = (TH1F *)hfile->Get(
"h_ADCAmpl_HO");
407 HistAmpl[2][4] = (TH1F *)hfile->Get(
"h_ADCAmpl_HF");
413 Map_Ampl[3][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1Amplitude225_HB");
414 Map_Ampl[3][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2Amplitude225_HB");
415 Map_Ampl[3][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1Amplitude225_HE");
416 Map_Ampl[3][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2Amplitude225_HE");
417 Map_Ampl[3][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3Amplitude225_HE");
418 Map_Ampl[3][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4Amplitude225_HO");
419 Map_Ampl[3][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1Amplitude225_HF");
420 Map_Ampl[3][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2Amplitude225_HF");
422 Map_Ampl[3][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4Amplitude225_HE");
423 Map_Ampl[3][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5Amplitude225_HE");
424 Map_Ampl[3][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6Amplitude225_HE");
425 Map_Ampl[3][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7Amplitude225_HE");
426 Map_Ampl[3][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3Amplitude225_HF");
427 Map_Ampl[3][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4Amplitude225_HF");
429 Map_Ampl[3][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3Amplitude225_HB");
430 Map_Ampl[3][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4Amplitude225_HB");
432 HistAmpl[3][1] = (TH1F *)hfile->Get(
"h_Amplitude_HB");
433 HistAmpl[3][2] = (TH1F *)hfile->Get(
"h_Amplitude_HE");
434 HistAmpl[3][3] = (TH1F *)hfile->Get(
"h_Amplitude_HO");
435 HistAmpl[3][4] = (TH1F *)hfile->Get(
"h_Amplitude_HF");
441 Map_Ampl[4][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1Ampl047_HB");
442 Map_Ampl[4][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2Ampl047_HB");
443 Map_Ampl[4][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1Ampl047_HE");
444 Map_Ampl[4][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2Ampl047_HE");
445 Map_Ampl[4][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3Ampl047_HE");
446 Map_Ampl[4][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4Ampl047_HO");
447 Map_Ampl[4][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1Ampl047_HF");
448 Map_Ampl[4][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2Ampl047_HF");
450 Map_Ampl[4][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4Ampl047_HE");
451 Map_Ampl[4][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5Ampl047_HE");
452 Map_Ampl[4][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6Ampl047_HE");
453 Map_Ampl[4][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7Ampl047_HE");
454 Map_Ampl[4][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3Ampl047_HF");
455 Map_Ampl[4][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4Ampl047_HF");
457 Map_Ampl[4][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3Ampl047_HB");
458 Map_Ampl[4][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4Ampl047_HB");
460 HistAmpl[4][1] = (TH1F *)hfile->Get(
"h_Ampl_HB");
461 HistAmpl[4][2] = (TH1F *)hfile->Get(
"h_Ampl_HE");
462 HistAmpl[4][3] = (TH1F *)hfile->Get(
"h_Ampl_HO");
463 HistAmpl[4][4] = (TH1F *)hfile->Get(
"h_Ampl_HF");
469 Map_Ampl[5][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1TSmeanA225_HB");
470 Map_Ampl[5][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2TSmeanA225_HB");
471 Map_Ampl[5][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1TSmeanA225_HE");
472 Map_Ampl[5][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2TSmeanA225_HE");
473 Map_Ampl[5][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3TSmeanA225_HE");
474 Map_Ampl[5][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmeanA225_HO");
475 Map_Ampl[5][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1TSmeanA225_HF");
476 Map_Ampl[5][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2TSmeanA225_HF");
478 Map_Ampl[5][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmeanA225_HE");
479 Map_Ampl[5][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5TSmeanA225_HE");
480 Map_Ampl[5][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6TSmeanA225_HE");
481 Map_Ampl[5][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7TSmeanA225_HE");
482 Map_Ampl[5][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3TSmeanA225_HF");
483 Map_Ampl[5][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmeanA225_HF");
485 Map_Ampl[5][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3TSmeanA225_HB");
486 Map_Ampl[5][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmeanA225_HB");
488 HistAmpl[5][1] = (TH1F *)hfile->Get(
"h_TSmeanA_HB");
489 HistAmpl[5][2] = (TH1F *)hfile->Get(
"h_TSmeanA_HE");
490 HistAmpl[5][3] = (TH1F *)hfile->Get(
"h_TSmeanA_HO");
491 HistAmpl[5][4] = (TH1F *)hfile->Get(
"h_TSmeanA_HF");
497 Map_Ampl[6][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1TSmaxA225_HB");
498 Map_Ampl[6][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2TSmaxA225_HB");
499 Map_Ampl[6][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1TSmaxA225_HE");
500 Map_Ampl[6][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2TSmaxA225_HE");
501 Map_Ampl[6][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3TSmaxA225_HE");
502 Map_Ampl[6][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmaxA225_HO");
503 Map_Ampl[6][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1TSmaxA225_HF");
504 Map_Ampl[6][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2TSmaxA225_HF");
506 Map_Ampl[6][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmaxA225_HE");
507 Map_Ampl[6][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5TSmaxA225_HE");
508 Map_Ampl[6][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6TSmaxA225_HE");
509 Map_Ampl[6][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7TSmaxA225_HE");
510 Map_Ampl[6][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3TSmaxA225_HF");
511 Map_Ampl[6][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmaxA225_HF");
513 Map_Ampl[6][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3TSmaxA225_HB");
514 Map_Ampl[6][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmaxA225_HB");
516 HistAmpl[6][1] = (TH1F *)hfile->Get(
"h_TSmaxA_HB");
517 HistAmpl[6][2] = (TH1F *)hfile->Get(
"h_TSmaxA_HE");
518 HistAmpl[6][3] = (TH1F *)hfile->Get(
"h_TSmaxA_HO");
519 HistAmpl[6][4] = (TH1F *)hfile->Get(
"h_TSmaxA_HF");
522 for (
int sub = 1; sub <= 4; sub++) {
537 for (
int k = k_min[sub]; k <= k_max[sub]; k++) {
546 Map_Ampl[
test][sub][
k]->Divide(Map_Ampl[
test][sub][k], Map_SUB[sub][k], 1, 1,
"B");
551 sprintf(str,
"HB, Depth%d \b", k);
553 sprintf(str,
"HE, Depth%d \b", k);
555 sprintf(str,
"HO, Depth%d \b", k);
557 sprintf(str,
"HF, Depth%d \b", k);
558 Map_Ampl[
test][sub][
k]->SetTitle(str);
559 Map_Ampl[
test][sub][
k]->SetXTitle(
"#eta \b");
560 Map_Ampl[
test][sub][
k]->SetYTitle(
"#phi \b");
561 Map_Ampl[
test][sub][
k]->SetZTitle(
"Rate \b");
563 Map_Ampl[
test][sub][
k]->SetTitleOffset(0.8,
"Z");
564 Map_Ampl[
test][sub][
k]->Draw(
"COLZ");
565 Map_Ampl[
test][sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
566 Map_Ampl[
test][sub][
k]->GetZaxis()->SetRangeUser(0.0001, 1.);
586 cHB->Print(
"MapRateAmplHB.png");
590 cHE->Print(
"MapRateAmplHE.png");
594 cONE->Print(
"MapRateAmplHO.png");
598 cHF->Print(
"MapRateAmplHF.png");
604 cHB->Print(
"MapRateRMSHB.png");
608 cHE->Print(
"MapRateRMSHE.png");
612 cONE->Print(
"MapRateRMSHO.png");
616 cHF->Print(
"MapRateRMSHF.png");
622 cHB->Print(
"MapRate43TStoAllTSHB.png");
626 cHE->Print(
"MapRate43TStoAllTSHE.png");
630 cONE->Print(
"MapRate43TStoAllTSHO.png");
634 cHF->Print(
"MapRate43TStoAllTSHF.png");
640 cHB->Print(
"MapRateMeanPosHB.png");
644 cHE->Print(
"MapRateMeanPosHE.png");
648 cONE->Print(
"MapRateMeanPosHO.png");
652 cHF->Print(
"MapRateMeanPosHF.png");
658 cHB->Print(
"MapRateMaxPosHB.png");
662 cHE->Print(
"MapRateMaxPosHE.png");
666 cONE->Print(
"MapRateMaxPosHO.png");
670 cHF->Print(
"MapRateMaxPosHF.png");
689 if (
test == 2 && sub == 2) {
691 TH1F *kjkjkhj2 = (TH1F *)hfile->Get(
"h_AmplitudeHEtest1");
693 kjkjkhj2->SetTitle(
"HE, All Depth: shunt1");
695 TH1F *kjkjkhj3 = (TH1F *)hfile->Get(
"h_AmplitudeHEtest6");
697 kjkjkhj3->SetTitle(
"HE, All Depth: shunt6");
699 if (
test == 2 && sub == 1) {
701 TH1F *kjkjkhb2 = (TH1F *)hfile->Get(
"h_AmplitudeHBtest1");
703 kjkjkhb2->SetTitle(
"HB, All Depth: shunt1");
705 TH1F *kjkjkhb3 = (TH1F *)hfile->Get(
"h_AmplitudeHBtest6");
707 kjkjkhb3->SetTitle(
"HB, All Depth: shunt6");
715 HistAmpl[
test][sub]->SetTitle(
"HB, All Depth: shunt6");
717 HistAmpl[
test][sub]->SetTitle(
"HE, All Depth: shunt6");
719 HistAmpl[
test][sub]->SetTitle(
"HO, All Depth");
721 HistAmpl[
test][sub]->SetTitle(
"HF, All Depth");
723 HistAmpl[
test][sub]->SetXTitle(
"ADC Amlitude in each event & cell \b");
725 HistAmpl[
test][sub]->SetXTitle(
"RMS in each event & cell \b");
727 HistAmpl[
test][sub]->SetXTitle(
"Ratio in each event & cell \b");
729 HistAmpl[
test][sub]->SetXTitle(
"Mean TS position in each event & cell \b");
731 HistAmpl[
test][sub]->SetXTitle(
"Max TS position in each event & cell \b");
732 HistAmpl[
test][sub]->SetYTitle(
"Number of cell-events \b");
733 HistAmpl[
test][sub]->SetLineColor(4);
734 HistAmpl[
test][sub]->SetLineWidth(2);
735 HistAmpl[
test][sub]->SetTitleOffset(1.4,
"Y");
736 HistAmpl[
test][sub]->Draw(
"");
743 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 5.);
745 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 1.);
747 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 9.);
749 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 9.);
752 double min_x[] = {MIN_M[
test][sub], MIN_M[
test][sub]};
753 double min_y[] = {0., 100000000.};
754 TGraph *MIN =
new TGraph(2, min_x, min_y);
755 MIN->SetLineStyle(2);
756 MIN->SetLineColor(2);
757 MIN->SetLineWidth(2 + 100 * 100);
758 MIN->SetFillStyle(3005);
759 MIN->SetFillColor(2);
761 double max_x[] = {MAX_M[
test][sub], MAX_M[
test][sub]};
762 double max_y[] = {0., 100000000.};
763 TGraph *MAX =
new TGraph(2, max_x, max_y);
764 MAX->SetLineStyle(2);
765 MAX->SetLineColor(2);
766 MAX->SetLineWidth(-2 - 100 * 100);
767 MAX->SetFillStyle(3004);
768 MAX->SetFillColor(2);
772 cONE->Print(
"HistAmplHB.png");
776 cONE->Print(
"HistAmplHE.png");
780 cONE->Print(
"HistAmplHO.png");
784 cONE->Print(
"HistAmplHF.png");
790 cONE->Print(
"HistRMSHB.png");
794 cONE->Print(
"HistRMSHE.png");
798 cONE->Print(
"HistRMSHO.png");
802 cONE->Print(
"HistRMSHF.png");
808 cONE->Print(
"Hist43TStoAllTSHB.png");
812 cONE->Print(
"Hist43TStoAllTSHE.png");
816 cONE->Print(
"Hist43TStoAllTSHO.png");
820 cONE->Print(
"Hist43TStoAllTSHF.png");
826 cONE->Print(
"HistMeanPosHB.png");
830 cONE->Print(
"HistMeanPosHE.png");
834 cONE->Print(
"HistMeanPosHO.png");
838 cONE->Print(
"HistMeanPosHF.png");
844 cONE->Print(
"HistMaxPosHB.png");
848 cONE->Print(
"HistMaxPosHE.png");
852 cONE->Print(
"HistMaxPosHO.png");
856 cONE->Print(
"HistMaxPosHF.png");
867 Map_Ampl[31][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1pedestal_HB");
868 Map_Ampl[31][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2pedestal_HB");
869 Map_Ampl[31][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3pedestal_HB");
870 Map_Ampl[31][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestal_HB");
871 Map_Ampl[31][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1pedestal_HE");
872 Map_Ampl[31][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2pedestal_HE");
873 Map_Ampl[31][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3pedestal_HE");
874 Map_Ampl[31][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestal_HE");
875 Map_Ampl[31][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5pedestal_HE");
876 Map_Ampl[31][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6pedestal_HE");
877 Map_Ampl[31][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7pedestal_HE");
878 Map_Ampl[31][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestal_HO");
879 Map_Ampl[31][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1pedestal_HF");
880 Map_Ampl[31][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2pedestal_HF");
881 Map_Ampl[31][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3pedestal_HF");
882 Map_Ampl[31][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestal_HF");
884 Map_Ampl[32][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1pedestalw_HB");
885 Map_Ampl[32][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2pedestalw_HB");
886 Map_Ampl[32][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3pedestalw_HB");
887 Map_Ampl[32][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestalw_HB");
888 Map_Ampl[32][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1pedestalw_HE");
889 Map_Ampl[32][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2pedestalw_HE");
890 Map_Ampl[32][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3pedestalw_HE");
891 Map_Ampl[32][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestalw_HE");
892 Map_Ampl[32][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5pedestalw_HE");
893 Map_Ampl[32][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6pedestalw_HE");
894 Map_Ampl[32][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7pedestalw_HE");
895 Map_Ampl[32][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestalw_HO");
896 Map_Ampl[32][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1pedestalw_HF");
897 Map_Ampl[32][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2pedestalw_HF");
898 Map_Ampl[32][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3pedestalw_HF");
899 Map_Ampl[32][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestalw_HF");
901 HistPed[1][1][0] = (TH1F *)hfile->Get(
"h_pedestal0_HB");
902 HistPed[1][1][1] = (TH1F *)hfile->Get(
"h_pedestal1_HB");
903 HistPed[1][1][2] = (TH1F *)hfile->Get(
"h_pedestal2_HB");
904 HistPed[1][1][3] = (TH1F *)hfile->Get(
"h_pedestal3_HB");
905 HistPed[2][1][0] = (TH1F *)hfile->Get(
"h_pedestalw0_HB");
906 HistPed[2][1][1] = (TH1F *)hfile->Get(
"h_pedestalw1_HB");
907 HistPed[2][1][2] = (TH1F *)hfile->Get(
"h_pedestalw2_HB");
908 HistPed[2][1][3] = (TH1F *)hfile->Get(
"h_pedestalw3_HB");
910 HistPed[1][2][0] = (TH1F *)hfile->Get(
"h_pedestal0_HE");
911 HistPed[1][2][1] = (TH1F *)hfile->Get(
"h_pedestal1_HE");
912 HistPed[1][2][2] = (TH1F *)hfile->Get(
"h_pedestal2_HE");
913 HistPed[1][2][3] = (TH1F *)hfile->Get(
"h_pedestal3_HE");
914 HistPed[2][2][0] = (TH1F *)hfile->Get(
"h_pedestalw0_HE");
915 HistPed[2][2][1] = (TH1F *)hfile->Get(
"h_pedestalw1_HE");
916 HistPed[2][2][2] = (TH1F *)hfile->Get(
"h_pedestalw2_HE");
917 HistPed[2][2][3] = (TH1F *)hfile->Get(
"h_pedestalw3_HE");
919 HistPed[1][3][0] = (TH1F *)hfile->Get(
"h_pedestal0_HO");
920 HistPed[1][3][1] = (TH1F *)hfile->Get(
"h_pedestal1_HO");
921 HistPed[1][3][2] = (TH1F *)hfile->Get(
"h_pedestal2_HO");
922 HistPed[1][3][3] = (TH1F *)hfile->Get(
"h_pedestal3_HO");
923 HistPed[2][3][0] = (TH1F *)hfile->Get(
"h_pedestalw0_HO");
924 HistPed[2][3][1] = (TH1F *)hfile->Get(
"h_pedestalw1_HO");
925 HistPed[2][3][2] = (TH1F *)hfile->Get(
"h_pedestalw2_HO");
926 HistPed[2][3][3] = (TH1F *)hfile->Get(
"h_pedestalw3_HO");
928 HistPed[1][4][0] = (TH1F *)hfile->Get(
"h_pedestal0_HF");
929 HistPed[1][4][1] = (TH1F *)hfile->Get(
"h_pedestal1_HF");
930 HistPed[1][4][2] = (TH1F *)hfile->Get(
"h_pedestal2_HF");
931 HistPed[1][4][3] = (TH1F *)hfile->Get(
"h_pedestal3_HF");
932 HistPed[2][4][0] = (TH1F *)hfile->Get(
"h_pedestalw0_HF");
933 HistPed[2][4][1] = (TH1F *)hfile->Get(
"h_pedestalw1_HF");
934 HistPed[2][4][2] = (TH1F *)hfile->Get(
"h_pedestalw2_HF");
935 HistPed[2][4][3] = (TH1F *)hfile->Get(
"h_pedestalw3_HF");
938 for (
int sub = 1; sub <= 4; sub++) {
953 for (
int k = k_min[sub]; k <= k_max[sub]; k++) {
962 Map_Ampl[
test][sub][
k]->Divide(Map_Ampl[
test][sub][k], Map_SUB[sub][k], 1, 1,
"B");
967 sprintf(str,
"HB, Depth%d \b", k);
969 sprintf(str,
"HE, Depth%d \b", k);
971 sprintf(str,
"HO, Depth%d \b", k);
973 sprintf(str,
"HF, Depth%d \b", k);
974 Map_Ampl[
test][sub][
k]->SetTitle(str);
975 Map_Ampl[
test][sub][
k]->SetXTitle(
"#eta \b");
976 Map_Ampl[
test][sub][
k]->SetYTitle(
"#phi \b");
977 Map_Ampl[
test][sub][
k]->SetZTitle(
"Rate \b");
979 Map_Ampl[
test][sub][
k]->SetTitleOffset(0.8,
"Z");
980 Map_Ampl[
test][sub][
k]->Draw(
"COLZ");
981 Map_Ampl[
test][sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
982 Map_Ampl[
test][sub][
k]->GetZaxis()->SetRangeUser(0.0001, 1.);
1002 cHB->Print(
"MapRatePedHB.png");
1006 cHE->Print(
"MapRatePedHE.png");
1010 cONE->Print(
"MapRatePedHO.png");
1014 cHF->Print(
"MapRatePedHF.png");
1020 cHB->Print(
"MapRatePedWidthsHB.png");
1024 cHE->Print(
"MapRatePedWidthsHE.png");
1028 cONE->Print(
"MapRatePedWidthsHO.png");
1032 cHF->Print(
"MapRatePedWidthsHF.png");
1040 for (
int cap = 0; cap <= 3; cap++) {
1047 sprintf(str,
"HB, Cap%d, all depth\b", cap);
1049 sprintf(str,
"HE, Cap%d, all depth\b", cap);
1051 sprintf(str,
"HO, Cap%d, all depth\b", cap);
1053 sprintf(str,
"HF, Cap%d, all depth\b", cap);
1055 HistPed[
test - 30][sub][cap]->SetTitle(str);
1058 HistPed[
test - 30][sub][cap]->SetXTitle(
"Pedestals in each event & cell \b");
1060 HistPed[
test - 30][sub][cap]->SetXTitle(
"Pedestal Widths in each event & cell \b");
1062 HistPed[
test - 30][sub][cap]->SetYTitle(
"Number of channel-events \b");
1063 HistPed[
test - 30][sub][cap]->SetLineColor(4);
1064 HistPed[
test - 30][sub][cap]->SetLineWidth(2);
1065 HistPed[
test - 30][sub][cap]->SetTitleOffset(1.4,
"Y");
1066 HistPed[
test - 30][sub][cap]->Draw(
"");
1073 double min_x[] = {Pedest[
test - 31][sub], Pedest[
test - 31][sub]};
1074 double min_y[] = {0., 100000000.};
1075 TGraph *MIN =
new TGraph(2, min_x, min_y);
1076 MIN->SetLineStyle(2);
1077 MIN->SetLineColor(2);
1078 MIN->SetLineWidth(2 + 100 * 100);
1079 MIN->SetFillStyle(3005);
1080 MIN->SetFillColor(2);
1085 cPED->Print(
"HistPedestalsHB.png");
1089 cPED->Print(
"HistPedestalsHE.png");
1093 cPED->Print(
"HistPedestalsHO.png");
1097 cPED->Print(
"HistPedestalsHF.png");
1103 cPED->Print(
"HistPedestalWidthsHB.png");
1107 cPED->Print(
"HistPedestalWidthsHE.png");
1111 cPED->Print(
"HistPedestalWidthsHO.png");
1115 cPED->Print(
"HistPedestalWidthsHF.png");
1127 Map_Ped[1][1] = (TH2F *)hfile->Get(
"h2_pedvsampl_HB");
1128 Map_Ped[1][2] = (TH2F *)hfile->Get(
"h2_pedvsampl_HE");
1129 Map_Ped[1][3] = (TH2F *)hfile->Get(
"h2_pedvsampl_HO");
1130 Map_Ped[1][4] = (TH2F *)hfile->Get(
"h2_pedvsampl_HF");
1131 Map_Ped[2][1] = (TH2F *)hfile->Get(
"h2_pedwvsampl_HB");
1132 Map_Ped[2][2] = (TH2F *)hfile->Get(
"h2_pedwvsampl_HE");
1133 Map_Ped[2][3] = (TH2F *)hfile->Get(
"h2_pedwvsampl_HO");
1134 Map_Ped[2][4] = (TH2F *)hfile->Get(
"h2_pedwvsampl_HF");
1135 for (
int sub = 1; sub <= 4; sub++) {
1143 Map_Ped[
test][sub]->SetXTitle(
"Pedestal, fC \b");
1145 Map_Ped[
test][sub]->SetXTitle(
"pedestal Width, fC \b");
1146 Map_Ped[
test][sub]->SetYTitle(
"Amplitude, fC \b");
1147 Map_Ped[
test][sub]->SetZTitle(
"entries \b");
1149 sprintf(str,
"Cap0 Pedestal vs Amplitude \b");
1151 sprintf(str,
"Cap0 pedestalWidth vs Amplitude \b");
1152 Map_Ped[
test][sub]->SetTitle(str);
1153 Map_Ped[
test][sub]->Draw(
"COLZ");
1160 cPED->Print(
"CorrelationsMapPedestalVsfullAmplitudeHB.png");
1164 cPED->Print(
"CorrelationsMapPedestalVsfullAmplitudeHE.png");
1168 cPED->Print(
"CorrelationsMapPedestalVsfullAmplitudeHO.png");
1172 cPED->Print(
"CorrelationsMapPedestalVsfullAmplitudeHF.png");
1182 hist_GoodTSshape[1] = (TH1F *)hfile->Get(
"h_shape_good_channels_HB");
1183 hist_GoodTSshape[2] = (TH1F *)hfile->Get(
"h_shape_good_channels_HE");
1184 hist_GoodTSshape[3] = (TH1F *)hfile->Get(
"h_shape_good_channels_HO");
1185 hist_GoodTSshape[4] = (TH1F *)hfile->Get(
"h_shape_good_channels_HF");
1187 hist_GoodTSshape0[1] = (TH1F *)hfile->Get(
"h_shape0_good_channels_HB");
1188 hist_GoodTSshape0[2] = (TH1F *)hfile->Get(
"h_shape0_good_channels_HE");
1189 hist_GoodTSshape0[3] = (TH1F *)hfile->Get(
"h_shape0_good_channels_HO");
1190 hist_GoodTSshape0[4] = (TH1F *)hfile->Get(
"h_shape0_good_channels_HF");
1192 hist_BadTSshape[1] = (TH1F *)hfile->Get(
"h_shape_bad_channels_HB");
1193 hist_BadTSshape[2] = (TH1F *)hfile->Get(
"h_shape_bad_channels_HE");
1194 hist_BadTSshape[3] = (TH1F *)hfile->Get(
"h_shape_bad_channels_HO");
1195 hist_BadTSshape[4] = (TH1F *)hfile->Get(
"h_shape_bad_channels_HF");
1197 hist_BadTSshape0[1] = (TH1F *)hfile->Get(
"h_shape0_bad_channels_HB");
1198 hist_BadTSshape0[2] = (TH1F *)hfile->Get(
"h_shape0_bad_channels_HE");
1199 hist_BadTSshape0[3] = (TH1F *)hfile->Get(
"h_shape0_bad_channels_HO");
1200 hist_BadTSshape0[4] = (TH1F *)hfile->Get(
"h_shape0_bad_channels_HF");
1204 for (
int sub = 1; sub <= 4; sub++) {
1209 hist_GoodTSshape[sub]->Divide(hist_GoodTSshape[sub], hist_GoodTSshape0[sub], 1, 1,
"B");
1210 hist_GoodTSshape[sub]->SetXTitle(
"Time slice \b");
1211 hist_GoodTSshape[sub]->SetYTitle(
"ADC counts \b");
1212 sprintf(str,
"Mean ADC Shape \b");
1213 hist_GoodTSshape[sub]->SetTitle(str);
1214 hist_GoodTSshape[sub]->Draw(
"");
1220 cONE->Print(
"HistGoodTSshapesHB.png");
1224 cONE->Print(
"HistGoodTSshapesHE.png");
1228 cONE->Print(
"HistGoodTSshapesHO.png");
1232 cONE->Print(
"HistGoodTSshapesHF.png");
1237 for (
int sub = 1; sub <= 4; sub++) {
1242 hist_BadTSshape[sub]->Divide(hist_BadTSshape[sub], hist_BadTSshape0[sub], 1, 1,
"B");
1243 hist_BadTSshape[sub]->SetXTitle(
"Time slice \b");
1244 hist_BadTSshape[sub]->SetYTitle(
"ADC counts \b");
1245 sprintf(str,
"Mean ADC Shape \b");
1246 hist_BadTSshape[sub]->SetTitle(str);
1247 hist_BadTSshape[sub]->Draw(
"");
1253 cONE->Print(
"HistBadTSshapesHB.png");
1257 cONE->Print(
"HistBadTSshapesHE.png");
1261 cONE->Print(
"HistBadTSshapesHO.png");
1265 cONE->Print(
"HistBadTSshapesHF.png");
1273 Map_SUBTS[1][1] = (TH2F *)hfile->Get(
"h_mapDepth1TS2_HB");
1274 Map_SUBTS[1][2] = (TH2F *)hfile->Get(
"h_mapDepth2TS2_HB");
1275 Map_SUBTS[1][3] = (TH2F *)hfile->Get(
"h_mapDepth3TS2_HB");
1276 Map_SUBTS[1][4] = (TH2F *)hfile->Get(
"h_mapDepth4TS2_HB");
1278 Map_SUBTS[2][1] = (TH2F *)hfile->Get(
"h_mapDepth1TS2_HE");
1279 Map_SUBTS[2][2] = (TH2F *)hfile->Get(
"h_mapDepth2TS2_HE");
1280 Map_SUBTS[2][3] = (TH2F *)hfile->Get(
"h_mapDepth3TS2_HE");
1281 Map_SUBTS[2][4] = (TH2F *)hfile->Get(
"h_mapDepth4TS2_HE");
1282 Map_SUBTS[2][5] = (TH2F *)hfile->Get(
"h_mapDepth5TS2_HE");
1283 Map_SUBTS[2][6] = (TH2F *)hfile->Get(
"h_mapDepth6TS2_HE");
1284 Map_SUBTS[2][7] = (TH2F *)hfile->Get(
"h_mapDepth7TS2_HE");
1286 Map_SUBTS[3][4] = (TH2F *)hfile->Get(
"h_mapDepth4TS012_HO");
1288 Map_SUBTS[4][1] = (TH2F *)hfile->Get(
"h_mapDepth1TS1_HF");
1289 Map_SUBTS[4][2] = (TH2F *)hfile->Get(
"h_mapDepth2TS1_HF");
1290 Map_SUBTS[4][3] = (TH2F *)hfile->Get(
"h_mapDepth3TS1_HF");
1291 Map_SUBTS[4][4] = (TH2F *)hfile->Get(
"h_mapDepth4TS1_HF");
1293 for (
int sub = 1; sub <= 4; sub++) {
1308 for (
int k = k_min[sub]; k <= k_max[sub]; k++) {
1317 Map_SUBTS[sub][
k]->Divide(Map_SUBTS[sub][k], Map_SUB[sub][k], 1, 1,
"B");
1322 sprintf(str,
"HB, Depth%d \b", k);
1324 sprintf(str,
"HE, Depth%d \b", k);
1326 sprintf(str,
"HO, Depth%d \b", k);
1328 sprintf(str,
"HF, Depth%d \b", k);
1329 Map_SUBTS[sub][
k]->SetTitle(str);
1330 Map_SUBTS[sub][
k]->SetXTitle(
"#eta \b");
1331 Map_SUBTS[sub][
k]->SetYTitle(
"#phi \b");
1332 Map_SUBTS[sub][
k]->SetZTitle(
"Number of events \b");
1334 Map_SUBTS[sub][
k]->SetTitleOffset(0.8,
"Z");
1335 Map_SUBTS[sub][
k]->Draw(
"COLZ");
1336 Map_SUBTS[sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
1357 cHB->Print(
"Hist_mapDepthAllTS2_HB.png");
1361 cHE->Print(
"Hist_mapDepthAllTS2_HE.png");
1365 cONE->Print(
"Hist_mapDepthAllTS012_HO.png");
1369 cHF->Print(
"Hist_mapDepthAllTS1_HF.png");
1376 std::cout <<
" We are here to print general 2D MAP " << std::endl;
1390 TH2F *Map_ALL =
new TH2F(
"Map_All",
"Map_all", 82, -41, 41, 72, 0, 72);
1392 int nx = Map_ALL->GetXaxis()->GetNbins();
1393 int ny = Map_ALL->GetYaxis()->GetNbins();
1394 cout <<
" nx= " << nx <<
" ny= " << ny << endl;
1411 std::cout <<
" Map_ALL SUBGOOD update " << std::endl;
1412 for (
int sub = 1; sub <= 4; sub++) {
1413 for (
int k = k_min[sub]; k <= k_max[sub]; k++) {
1414 for (
int i = 1;
i <= nx;
i++) {
1415 for (
int j = 1;
j <= ny;
j++) {
1416 if (Map_SUB[sub][k]->GetBinContent(
i,
j) != 0) {
1417 Map_SUBGOOD[sub][
k]->SetBinContent(
i,
j, 0.5);
1418 Map_ALL->SetBinContent(
i,
j, 0.5);
1425 std::cout <<
" Map_ALL SUBGOOD filling............... " << std::endl;
1426 for (
int sub = 1; sub <= 4; sub++) {
1427 for (
int k = k_min[sub]; k <= k_max[sub]; k++) {
1428 for (
int i = 1;
i <= nx;
i++) {
1429 for (
int j = 1;
j <= ny;
j++) {
1440 if (Map_Ampl[
test][sub][k]->GetBinContent(
i,
j) > 0.1) {
1441 Map_ALL->SetBinContent(
i,
j, 1.);
1442 Map_SUBGOOD[sub][
k]->SetBinContent(
i,
j, 1.);
1460 if ((Map_Ampl[
test][sub][k]->GetBinContent(
i,
j) != 0.) &&
1461 (Map_Ampl[
test][sub][k]->GetBinContent(
i,
j) < 0.001)) {
1462 if (Map_SUBGOOD[sub][k]->GetBinContent(
i,
j) != 1.)
1463 Map_SUBGOOD[sub][
k]->SetBinContent(
i,
j, 0.75);
1464 if (Map_ALL->GetBinContent(
i,
j) != 1.)
1465 Map_ALL->SetBinContent(
i,
j, 0.75);
1492 if (Map_Ampl[
test][sub][k]->GetBinContent(
i,
j) > 0.9) {
1493 if (Map_SUBGOOD[sub][k]->GetBinContent(
i,
j) != 1.0)
1494 Map_SUBGOOD[sub][
k]->SetBinContent(
i,
j, 0.15);
1495 if (Map_ALL->GetBinContent(
i,
j) != 1.)
1496 Map_ALL->SetBinContent(
i,
j, 0.15);
1519 std::cout <<
" RUN3: 2022 Plots with MAPS_SUB: start ..............................." << std::endl;
1521 for (
int sub = 1; sub <= 4; sub++) {
1523 std::cout <<
" RUN3: 2022 MAPS_SUB= " << sub << std::endl;
1539 for (
int k = k_min[sub]; k <= k_max[sub]; k++) {
1553 sprintf(str,
"HB, Depth%d \b", k);
1555 sprintf(str,
"HE, Depth%d \b", k);
1557 sprintf(str,
"HO, Depth%d \b", k);
1559 sprintf(str,
"HF, Depth%d \b", k);
1560 Map_SUBGOOD[sub][
k]->SetTitle(str);
1561 Map_SUBGOOD[sub][
k]->SetXTitle(
"#eta \b");
1562 Map_SUBGOOD[sub][
k]->SetYTitle(
"#phi \b");
1563 Map_SUBGOOD[sub][
k]->Draw(
"COLZ");
1564 Map_SUBGOOD[sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
1565 Map_SUBGOOD[sub][
k]->GetZaxis()->SetRangeUser(0., 1.);
1585 cHB->Print(
"MAPHB.png");
1589 cHE->Print(
"MAPHE.png");
1593 cONE->Print(
"MAPHO.png");
1597 cHF->Print(
"MAPHF.png");
1604 TCanvas *cmain1 =
new TCanvas(
"cmain1",
"MAP", 200, 10, 1400, 1800);
1605 cmain1->Divide(2, 2);
1608 TH1F *JDBEYESJ0 = (TH1F *)hfile->Get(
"h_totalAmplitudeHBperEvent");
1609 JDBEYESJ0->SetStats(0);
1610 JDBEYESJ0->SetMarkerStyle(20);
1611 JDBEYESJ0->SetMarkerSize(0.8);
1612 JDBEYESJ0->GetYaxis()->SetLabelSize(0.04);
1613 JDBEYESJ0->SetXTitle(
"iEvent \b");
1614 JDBEYESJ0->SetYTitle(
"totalAmplitude perEvent \b");
1615 JDBEYESJ0->SetTitle(
"HB \b");
1616 JDBEYESJ0->SetMarkerColor(2);
1617 JDBEYESJ0->SetLineColor(1);
1618 JDBEYESJ0->SetMinimum(0.8);
1619 JDBEYESJ0->Draw(
"HIST same P0");
1623 TH1F *JDBEYESJ1 = (TH1F *)hfile->Get(
"h_totalAmplitudeHEperEvent");
1624 JDBEYESJ1->SetStats(0);
1625 JDBEYESJ1->SetMarkerStyle(20);
1626 JDBEYESJ1->SetMarkerSize(0.8);
1627 JDBEYESJ1->GetYaxis()->SetLabelSize(0.04);
1628 JDBEYESJ1->SetXTitle(
"iEvent \b");
1629 JDBEYESJ1->SetYTitle(
"totalAmplitude perEvent \b");
1630 JDBEYESJ1->SetTitle(
"HE \b");
1631 JDBEYESJ1->SetMarkerColor(2);
1632 JDBEYESJ1->SetLineColor(1);
1633 JDBEYESJ1->SetMinimum(0.8);
1634 JDBEYESJ1->Draw(
"HIST same P0");
1638 TH1F *JDBEYESJ2 = (TH1F *)hfile->Get(
"h_totalAmplitudeHFperEvent");
1639 JDBEYESJ2->SetStats(0);
1640 JDBEYESJ2->SetMarkerStyle(20);
1641 JDBEYESJ2->SetMarkerSize(0.8);
1642 JDBEYESJ2->GetYaxis()->SetLabelSize(0.04);
1643 JDBEYESJ2->SetXTitle(
"iEvent \b");
1644 JDBEYESJ2->SetYTitle(
"totalAmplitude perEvent \b");
1645 JDBEYESJ2->SetTitle(
"HF \b");
1646 JDBEYESJ2->SetMarkerColor(2);
1647 JDBEYESJ2->SetLineColor(1);
1648 JDBEYESJ2->SetMinimum(0.8);
1649 JDBEYESJ2->Draw(
"HIST same P0");
1653 TH1F *JDBEYESJ3 = (TH1F *)hfile->Get(
"h_totalAmplitudeHOperEvent");
1654 JDBEYESJ3->SetStats(0);
1655 JDBEYESJ3->SetMarkerStyle(20);
1656 JDBEYESJ3->SetMarkerSize(0.8);
1657 JDBEYESJ3->GetYaxis()->SetLabelSize(0.04);
1658 JDBEYESJ3->SetXTitle(
"iEvent \b");
1659 JDBEYESJ3->SetYTitle(
"totalAmplitude perEvent \b");
1660 JDBEYESJ3->SetTitle(
"HO \b");
1661 JDBEYESJ3->SetMarkerColor(2);
1662 JDBEYESJ3->SetLineColor(1);
1663 JDBEYESJ3->SetMinimum(0.8);
1664 JDBEYESJ3->Draw(
"HIST same P0");
1669 cmain1->Print(
"EVENTDEPENDENCE.png");
1672 std::cout <<
" EVENTDEPENDENCE " << std::endl;
1677 gStyle->SetOptTitle(0);
1678 TCanvas *cmain =
new TCanvas(
"cmain",
"MAP", 1000, 1000);
1682 Map_ALL->SetTitleOffset(1.3,
"Y");
1683 Map_ALL->SetXTitle(
"#eta \b");
1684 Map_ALL->SetYTitle(
"#phi \b");
1685 Map_ALL->Draw(
"COLZ");
1686 Map_ALL->GetYaxis()->SetRangeUser(0, 72.);
1687 Map_ALL->GetZaxis()->SetRangeUser(0, 1.);
1690 cmain->Print(
"MAP.png");
1699 std::string raw_class, raw_class1, raw_class2, raw_class3;
1702 for (
int sub = 1; sub <= 4; sub++) {
1703 ofstream htmlFileT, htmlFileC, htmlFileD, htmlFileP, htmlFileS;
1705 htmlFileT.open(
"HB_Tile.html");
1706 htmlFileC.open(
"HB_Calib.html");
1707 htmlFileD.open(
"HB_Drift.html");
1708 htmlFileP.open(
"HB_Pedestals.html");
1709 htmlFileS.open(
"HB_Shapes.html");
1712 htmlFileT.open(
"HE_Tile.html");
1713 htmlFileC.open(
"HE_Calib.html");
1714 htmlFileD.open(
"HE_Drift.html");
1715 htmlFileP.open(
"HE_Pedestals.html");
1716 htmlFileS.open(
"HE_Shapes.html");
1719 htmlFileT.open(
"HO_Tile.html");
1720 htmlFileC.open(
"HO_Calib.html");
1721 htmlFileD.open(
"HO_Drift.html");
1722 htmlFileP.open(
"HO_Pedestals.html");
1723 htmlFileS.open(
"HO_Shapes.html");
1726 htmlFileT.open(
"HF_Tile.html");
1727 htmlFileC.open(
"HF_Calib.html");
1728 htmlFileD.open(
"HF_Drift.html");
1729 htmlFileP.open(
"HF_Pedestals.html");
1730 htmlFileS.open(
"HF_Shapes.html");
1734 htmlFileT <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
1735 htmlFileT <<
"<head>" << std::endl;
1736 htmlFileT <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
1737 htmlFileT <<
"<title> Remote Monitoring Tool Global</title>" << std::endl;
1738 htmlFileT <<
"<style type=\"text/css\">" << std::endl;
1739 htmlFileT <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
1741 htmlFileT <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
1742 htmlFileT <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
1743 "text-align: center;}"
1745 htmlFileT <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
1746 htmlFileT <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
1747 htmlFileT <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
1748 htmlFileT <<
"</style>" << std::endl;
1749 htmlFileT <<
"<body>" << std::endl;
1752 htmlFileT <<
"<h1> Criteria for megatile channels for HB, RUN = " << runnumber <<
" </h1>" << std::endl;
1754 htmlFileT <<
"<h1> Criteria for megatile channels for HE, RUN = " << runnumber <<
" </h1>" << std::endl;
1756 htmlFileT <<
"<h1> Criteria for megatile channels for HO, RUN = " << runnumber <<
" </h1>" << std::endl;
1758 htmlFileT <<
"<h1> Criteria for megatile channels for HF, RUN = " << runnumber <<
" </h1>" << std::endl;
1759 htmlFileT <<
"<br>" << std::endl;
1763 htmlFileT <<
"<h2> 0. Entries for each channel.</h3>" << std::endl;
1764 htmlFileT <<
"<h3> 0.A. Entries in each channel for each depth.</h3>" << std::endl;
1765 htmlFileT <<
"<h4> Channel legend: color is number of hits in digi collection </h4>" << std::endl;
1767 htmlFileT <<
" <img src=\"MapRateEntryHB.png\" />" << std::endl;
1769 htmlFileT <<
" <img src=\"MapRateEntryHE.png\" />" << std::endl;
1771 htmlFileT <<
" <img src=\"MapRateEntryHO.png\" />" << std::endl;
1773 htmlFileT <<
" <img src=\"MapRateEntryHF.png\" />" << std::endl;
1774 htmlFileT <<
"<br>" << std::endl;
1777 htmlFileT <<
"<h2> 1. Cm criterion: CapID errors for each channel.</h3>" << std::endl;
1778 htmlFileT <<
"<h3> 1.A. Rate of CapId failures in each channel for each depth.</h3>" << std::endl;
1779 htmlFileT <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
1781 htmlFileT <<
" <img src=\"MapRateCapIDHB.png\" />" << std::endl;
1783 htmlFileT <<
" <img src=\"MapRateCapIDHE.png\" />" << std::endl;
1785 htmlFileT <<
" <img src=\"MapRateCapIDHO.png\" />" << std::endl;
1787 htmlFileT <<
" <img src=\"MapRateCapIDHF.png\" />" << std::endl;
1788 htmlFileT <<
"<br>" << std::endl;
1791 htmlFileT <<
"<h2> 2. Am criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel. </h3>"
1793 htmlFileT <<
"<h3> 2.A. Full ADC amplitude distribution over all events, channels and depths.</h3>" << std::endl;
1794 htmlFileT <<
"<h4> Legend: Bins less " << MIN_M[2][sub] <<
" correpond to bad ADC amplitude </h4>" << std::endl;
1796 htmlFileT <<
" <img src=\"HistAmplHB.png\" />" << std::endl;
1798 htmlFileT <<
" <img src=\"HistAmplHE.png\" />" << std::endl;
1800 htmlFileT <<
" <img src=\"HistAmplHO.png\" />" << std::endl;
1802 htmlFileT <<
" <img src=\"HistAmplHF.png\" />" << std::endl;
1803 htmlFileT <<
"<br>" << std::endl;
1804 htmlFileT <<
"<h3> 2.B. Rate of bad ADC amplitude (<" << MIN_M[2][sub] <<
") in each channel for each depth. </h3>"
1806 htmlFileT <<
"<h4> Channel legend: white - good, other colours - bad. </h4>" << std::endl;
1808 htmlFileT <<
" <img src=\"MapRateAmplHB.png\" />" << std::endl;
1810 htmlFileT <<
" <img src=\"MapRateAmplHE.png\" />" << std::endl;
1812 htmlFileT <<
" <img src=\"MapRateAmplHO.png\" />" << std::endl;
1814 htmlFileT <<
" <img src=\"MapRateAmplHF.png\" />" << std::endl;
1815 htmlFileT <<
"<br>" << std::endl;
1818 htmlFileT <<
"<h2> 3. Wm criterion: RMS (width) of ADC amplutude for each channel.</h3>" << std::endl;
1819 htmlFileT <<
"<h3> 3.A. RMS distribution over all events, channel and depth.</h3>" << std::endl;
1820 htmlFileT <<
"<h4> Legend: Bins less " << MIN_M[3][sub] <<
" and more " << MAX_M[3][sub]
1821 <<
" correpond to bad RMS </h4>" << std::endl;
1823 htmlFileT <<
" <img src=\"HistRMSHB.png\" />" << std::endl;
1825 htmlFileT <<
" <img src=\"HistRMSHE.png\" />" << std::endl;
1827 htmlFileT <<
" <img src=\"HistRMSHO.png\" />" << std::endl;
1829 htmlFileT <<
" <img src=\"HistRMSHF.png\" />" << std::endl;
1830 htmlFileT <<
"<br>" << std::endl;
1831 htmlFileT <<
"<h3> 3.B. Rate of bad RMS (<" << MIN_M[3][sub] <<
",>" << MAX_M[3][sub]
1832 <<
") in each channel for each depth.</h3>" << std::endl;
1833 htmlFileT <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
1835 htmlFileT <<
" <img src=\"MapRateRMSHB.png\" />" << std::endl;
1837 htmlFileT <<
" <img src=\"MapRateRMSHE.png\" />" << std::endl;
1839 htmlFileT <<
" <img src=\"MapRateRMSHO.png\" />" << std::endl;
1841 htmlFileT <<
" <img src=\"MapRateRMSHF.png\" />" << std::endl;
1842 htmlFileT <<
"<br>" << std::endl;
1845 htmlFileT <<
"<h2> 4. Rm criterion: Ratio ADC value sum over four near maximum (-2, -1, max, +1) TS to ADC value "
1846 "sum over all TS for each channel. </h3>"
1848 htmlFileT <<
"<h3> 4.A. Ratio distribution over all events, channels and depths.</h3>" << std::endl;
1849 htmlFileT <<
"<h4> Legend: Bins less " << MIN_M[4][sub] <<
" and more " << MAX_M[4][sub]
1850 <<
" correpond to bad ratio </h4>" << std::endl;
1852 htmlFileT <<
" <img src=\"Hist43TStoAllTSHB.png\" />" << std::endl;
1854 htmlFileT <<
" <img src=\"Hist43TStoAllTSHE.png\" />" << std::endl;
1856 htmlFileT <<
" <img src=\"Hist43TStoAllTSHO.png\" />" << std::endl;
1858 htmlFileT <<
" <img src=\"Hist43TStoAllTSHF.png\" />" << std::endl;
1859 htmlFileT <<
"<br>" << std::endl;
1860 htmlFileT <<
"<h3> 4.B. Rate of bad ratio (<" << MIN_M[4][sub] <<
", >" << MAX_M[4][sub]
1861 <<
") in each channel for each depth.</h3>" << std::endl;
1862 htmlFileT <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
1864 htmlFileT <<
" <img src=\"MapRate43TStoAllTSHB.png\" />" << std::endl;
1866 htmlFileT <<
" <img src=\"MapRate43TStoAllTSHE.png\" />" << std::endl;
1868 htmlFileT <<
" <img src=\"MapRate43TStoAllTSHO.png\" />" << std::endl;
1870 htmlFileT <<
" <img src=\"MapRate43TStoAllTSHF.png\" />" << std::endl;
1871 htmlFileT <<
"<br>" << std::endl;
1874 htmlFileT <<
"<h2> 5. TNm criterion: Mean TS position for each channel.</h3>" << std::endl;
1875 htmlFileT <<
"<h3> 5.A. TN position distribution over all events, channels and depths.</h3>" << std::endl;
1876 htmlFileT <<
"<h4> Legend: Bins less " << MIN_M[5][sub] <<
" and more " << MAX_M[5][sub]
1877 <<
" correpond to bad mean position </h4>" << std::endl;
1879 htmlFileT <<
" <img src=\"HistMeanPosHB.png\" />" << std::endl;
1881 htmlFileT <<
" <img src=\"HistMeanPosHE.png\" />" << std::endl;
1883 htmlFileT <<
" <img src=\"HistMeanPosHO.png\" />" << std::endl;
1885 htmlFileT <<
" <img src=\"HistMeanPosHF.png\" />" << std::endl;
1886 htmlFileT <<
"<br>" << std::endl;
1887 htmlFileT <<
"<h3> 5.B. Rate of bad TN position (<" << MIN_M[5][sub] <<
", >" << MAX_M[5][sub]
1888 <<
") in each channel for each depth. </h3>" << std::endl;
1889 htmlFileT <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
1891 htmlFileT <<
" <img src=\"MapRateMeanPosHB.png\" />" << std::endl;
1893 htmlFileT <<
" <img src=\"MapRateMeanPosHE.png\" />" << std::endl;
1895 htmlFileT <<
" <img src=\"MapRateMeanPosHO.png\" />" << std::endl;
1897 htmlFileT <<
" <img src=\"MapRateMeanPosHF.png\" />" << std::endl;
1898 htmlFileT <<
"<br>" << std::endl;
1901 htmlFileT <<
"<h2> 6.TXm criterion: Maximum TS position for each channel.</h3>" << std::endl;
1902 htmlFileT <<
"<h3> 6.A. TX position distribution over all events, channel and depth.</h3>" << std::endl;
1903 htmlFileT <<
"<h4> Legend: Bins less " << MIN_M[6][sub] <<
" and more " << MAX_M[6][sub]
1904 <<
" correpond to bad position </h4>" << std::endl;
1906 htmlFileT <<
" <img src=\"HistMaxPosHB.png\" />" << std::endl;
1908 htmlFileT <<
" <img src=\"HistMaxPosHE.png\" />" << std::endl;
1910 htmlFileT <<
" <img src=\"HistMaxPosHO.png\" />" << std::endl;
1912 htmlFileT <<
" <img src=\"HistMaxPosHF.png\" />" << std::endl;
1913 htmlFileT <<
"<br>" << std::endl;
1914 htmlFileT <<
"<h3> 6.B. Rate of bad TX position (<" << MIN_M[6][sub] <<
", >" << MAX_M[6][sub]
1915 <<
") in each channel for each depth. </h3>" << std::endl;
1916 htmlFileT <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
1918 htmlFileT <<
" <img src=\"MapRateMaxPosHB.png\" />" << std::endl;
1920 htmlFileT <<
" <img src=\"MapRateMaxPosHE.png\" />" << std::endl;
1922 htmlFileT <<
" <img src=\"MapRateMaxPosHO.png\" />" << std::endl;
1924 htmlFileT <<
" <img src=\"MapRateMaxPosHF.png\" />" << std::endl;
1925 htmlFileT <<
"<br>" << std::endl;
1927 htmlFileT <<
"</body> " << std::endl;
1928 htmlFileT <<
"</html> " << std::endl;
1932 htmlFileP <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
1933 htmlFileP <<
"<head>" << std::endl;
1934 htmlFileP <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
1935 htmlFileP <<
"<title> Remote Monitoring Tool Global</title>" << std::endl;
1936 htmlFileP <<
"<style type=\"text/css\">" << std::endl;
1937 htmlFileP <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
1939 htmlFileP <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
1940 htmlFileP <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
1941 "text-align: center;}"
1943 htmlFileP <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
1944 htmlFileP <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
1945 htmlFileP <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
1946 htmlFileP <<
"</style>" << std::endl;
1947 htmlFileP <<
"<body>" << std::endl;
1950 htmlFileP <<
"<h1> Pedestals for HB, RUN = " << runnumber <<
" </h1>" << std::endl;
1952 htmlFileP <<
"<h1> Pedestals for HE, RUN = " << runnumber <<
" </h1>" << std::endl;
1954 htmlFileP <<
"<h1> Pedestals for HO, RUN = " << runnumber <<
" </h1>" << std::endl;
1956 htmlFileP <<
"<h1> Pedestals for HF, RUN = " << runnumber <<
" </h1>" << std::endl;
1957 htmlFileP <<
"<br>" << std::endl;
1960 htmlFileP <<
"<h2> 1.Pm criterion: Pedestals for each CapID .</h3>" << std::endl;
1961 htmlFileP <<
"<h3> 1.A. Pedestal distribution over all events, channels for each CapID and all depths.</h3>"
1963 htmlFileP <<
"<h4> Legend: Bins less " << Pedest[0][sub] <<
" correpond to bad Pedestals </h4>" << std::endl;
1965 htmlFileP <<
" <img src=\"HistPedestalsHB.png\" />" << std::endl;
1967 htmlFileP <<
" <img src=\"HistPedestalsHE.png\" />" << std::endl;
1969 htmlFileP <<
" <img src=\"HistPedestalsHO.png\" />" << std::endl;
1971 htmlFileP <<
" <img src=\"HistPedestalsHF.png\" />" << std::endl;
1972 htmlFileP <<
"<br>" << std::endl;
1973 htmlFileP <<
"<h3> 1.B. Rate of channels at very low Pedestals at least in one CapID for each depth.</h3>"
1975 htmlFileP <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
1977 htmlFileP <<
" <img src=\"MapRatePedHB.png\" />" << std::endl;
1979 htmlFileP <<
" <img src=\"MapRatePedHE.png\" />" << std::endl;
1981 htmlFileP <<
" <img src=\"MapRatePedHO.png\" />" << std::endl;
1983 htmlFileP <<
" <img src=\"MapRatePedHF.png\" />" << std::endl;
1986 htmlFileP <<
"<h2> 2.pWm criterion: Pedestal Widths for each CapID .</h3>" << std::endl;
1987 htmlFileP <<
"<h3> 2.A. Pedestal Widths distribution over all events, channels for each CapID and all depths.</h3>"
1989 htmlFileP <<
"<h4> Legend: Bins less " << Pedest[1][sub] <<
" correpond to bad Pedestal Widths </h4>" << std::endl;
1991 htmlFileP <<
" <img src=\"HistPedestalWidthsHB.png\" />" << std::endl;
1993 htmlFileP <<
" <img src=\"HistPedestalWidthsHE.png\" />" << std::endl;
1995 htmlFileP <<
" <img src=\"HistPedestalWidthsHO.png\" />" << std::endl;
1997 htmlFileP <<
" <img src=\"HistPedestalWidthsHF.png\" />" << std::endl;
1998 htmlFileP <<
"<br>" << std::endl;
1999 htmlFileP <<
"<h3> 2.B. Rate of channels at very low Pedestal Widths at least in one CapID for each depth.</h3>"
2001 htmlFileP <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
2003 htmlFileP <<
" <img src=\"MapRatePedWidthsHB.png\" />" << std::endl;
2005 htmlFileP <<
" <img src=\"MapRatePedWidthsHE.png\" />" << std::endl;
2007 htmlFileP <<
" <img src=\"MapRatePedWidthsHO.png\" />" << std::endl;
2009 htmlFileP <<
" <img src=\"MapRatePedWidthsHF.png\" />" << std::endl;
2012 htmlFileP <<
"<h2> 3.Pedestal and pedestalWidths vs Amplitude .</h3>" << std::endl;
2013 htmlFileP <<
"<h3> 3.A. Correlation of Pedestal(pedestalWidths) and Amplitude over all channels and events .</h3>"
2015 htmlFileP <<
"<h4> Legend: colour - entries </h4>" << std::endl;
2017 htmlFileP <<
"<img src=\"CorrelationsMapPedestalVsfullAmplitudeHB.png\" />" << std::endl;
2019 htmlFileP <<
"<img src=\"CorrelationsMapPedestalVsfullAmplitudeHE.png\" />" << std::endl;
2021 htmlFileP <<
"<img src=\"CorrelationsMapPedestalVsfullAmplitudeHO.png\" />" << std::endl;
2023 htmlFileP <<
"<img src=\"CorrelationsMapPedestalVsfullAmplitudeHF.png\" />" << std::endl;
2024 htmlFileP <<
"<br>" << std::endl;
2028 htmlFileS <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
2029 htmlFileS <<
"<head>" << std::endl;
2030 htmlFileS <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
2031 htmlFileS <<
"<title> Remote Monitoring Tool Global</title>" << std::endl;
2032 htmlFileS <<
"<style type=\"text/css\">" << std::endl;
2033 htmlFileS <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
2035 htmlFileS <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
2036 htmlFileS <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
2037 "text-align: center;}"
2039 htmlFileS <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
2040 htmlFileS <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
2041 htmlFileS <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
2042 htmlFileS <<
"</style>" << std::endl;
2043 htmlFileS <<
"<body>" << std::endl;
2046 htmlFileS <<
"<h1> ADC Shape for HB, RUN = " << runnumber <<
" </h1>" << std::endl;
2048 htmlFileS <<
"<h1> ADC Shape for HE, RUN = " << runnumber <<
" </h1>" << std::endl;
2050 htmlFileS <<
"<h1> ADC Shape for HO, RUN = " << runnumber <<
" </h1>" << std::endl;
2052 htmlFileS <<
"<h1> ADC Shape for HF, RUN = " << runnumber <<
" </h1>" << std::endl;
2053 htmlFileP <<
"<br>" << std::endl;
2055 htmlFileS <<
"<h2> 1.Mean ADC Shape </h3>" << std::endl;
2056 htmlFileS <<
"<h3> 1.A. ADC shape averaged over all good channels, depth and events.</h3>" << std::endl;
2059 htmlFileS <<
" <img src=\"HistGoodTSshapesHB.png\" />" << std::endl;
2061 htmlFileS <<
" <img src=\"HistGoodTSshapesHE.png\" />" << std::endl;
2063 htmlFileS <<
" <img src=\"HistGoodTSshapesHO.png\" />" << std::endl;
2065 htmlFileS <<
" <img src=\"HistGoodTSshapesHF.png\" />" << std::endl;
2066 htmlFileS <<
"<br>" << std::endl;
2067 htmlFileS <<
"<h3> 1.B. ADC shape averaged over all bad channels, depth and events. Bad channels are selected by 5 "
2068 "criteria: CapId, A, W, P, Pw</h3>"
2072 htmlFileS <<
" <img src=\"HistBadTSshapesHB.png\" />" << std::endl;
2074 htmlFileS <<
" <img src=\"HistBadTSshapesHE.png\" />" << std::endl;
2076 htmlFileS <<
" <img src=\"HistBadTSshapesHO.png\" />" << std::endl;
2078 htmlFileS <<
" <img src=\"HistBadTSshapesHF.png\" />" << std::endl;
2080 htmlFileS <<
"<h2> 2. Pattern of channels for Sub-Detector over depth,eta.phi </h3>" << std::endl;
2081 htmlFileS <<
"<h3> 2.A. reminder:.......................... for HBHE, TS=2;...................................... "
2082 "for HF, TS=1;..................................... for HO, TS=0,1,2 </h3>"
2085 htmlFileS <<
" <img src=\"Hist_mapDepthAllTS2_HB.png\" />" << std::endl;
2087 htmlFileS <<
" <img src=\"Hist_mapDepthAllTS2_HE.png\" />" << std::endl;
2089 htmlFileS <<
" <img src=\"Hist_mapDepthAllTS012_HO.png\" />" << std::endl;
2091 htmlFileS <<
" <img src=\"Hist_mapDepthAllTS1_HF.png\" />" << std::endl;
2092 htmlFileS <<
"<br>" << std::endl;
2102 for (
int sub = 1; sub <= 4; sub++) {
2105 htmlFile.open(
"HB.html");
2107 htmlFile.open(
"HE.html");
2109 htmlFile.open(
"HO.html");
2111 htmlFile.open(
"HF.html");
2113 htmlFile <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
2114 htmlFile <<
"<head>" << std::endl;
2115 htmlFile <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
2116 htmlFile <<
"<title> Remote Monitoring Tool </title>" << std::endl;
2117 htmlFile <<
"<style type=\"text/css\">" << std::endl;
2118 htmlFile <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
2120 htmlFile <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
2121 htmlFile <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
2122 "text-align: center;}"
2124 htmlFile <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
2125 htmlFile <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
2126 htmlFile <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
2127 htmlFile <<
" td.s5 { font-family: arial, arial ce, helvetica; background-color: #FF00FF; }" << std::endl;
2128 htmlFile <<
" td.s6 { font-family: arial, arial ce, helvetica; background-color: #9ACD32; }" << std::endl;
2129 htmlFile <<
" td.s7 { font-family: arial, arial ce, helvetica; background-color: #32CD32; }" << std::endl;
2130 htmlFile <<
" td.s8 { font-family: arial, arial ce, helvetica; background-color: #00FFFF; }" << std::endl;
2131 htmlFile <<
" td.s9 { font-family: arial, arial ce, helvetica; background-color: #FFE4E1; }" << std::endl;
2132 htmlFile <<
" td.s10 { font-family: arial, arial ce, helvetica; background-color: #A0522D; }" << std::endl;
2133 htmlFile <<
" td.s11 { font-family: arial, arial ce, helvetica; background-color: #1E90FF; }" << std::endl;
2134 htmlFile <<
" td.s12 { font-family: arial, arial ce, helvetica; background-color: #00BFFF; }" << std::endl;
2135 htmlFile <<
" td.s13 { font-family: arial, arial ce, helvetica; background-color: #FFFF00; }" << std::endl;
2136 htmlFile <<
" td.s14 { font-family: arial, arial ce, helvetica; background-color: #B8860B; }" << std::endl;
2137 htmlFile <<
"</style>" << std::endl;
2138 htmlFile <<
"<body>" << std::endl;
2140 htmlFile <<
"<h1> HCAL BARREL, RUN = " << runnumber <<
" </h1>" << std::endl;
2142 htmlFile <<
"<h1> HCAL ENDCAP, RUN = " << runnumber <<
" </h1>" << std::endl;
2144 htmlFile <<
"<h1> HCAL OUTER, RUN = " << runnumber <<
" </h1>" << std::endl;
2146 htmlFile <<
"<h1> HCAL FORWARD, RUN = " << runnumber <<
" </h1>" << std::endl;
2147 htmlFile <<
"<br>" << std::endl;
2149 htmlFile <<
"<a name=\"Top\"></a>\n";
2150 htmlFile <<
"<b>Contents:<br>\n";
2151 htmlFile <<
"1. <a href=\"#AnalysisResults\">Analysis results</a><br>\n";
2152 htmlFile <<
"2. <a href=\"#Status\">Status</a><br>\n";
2153 htmlFile <<
"2A. <a href=\"#ChannelMap\">Channel map</a><br>\n";
2157 htmlFile <<
"<a name=\"AnalysisResults\"></a>\n";
2159 htmlFile <<
"<h2> 1. Analysis results for HB</h2>" << std::endl;
2161 htmlFile <<
"<h2> 1. Analysis results for HE</h2>" << std::endl;
2163 htmlFile <<
"<h2> 1. Analysis results for HO</h2>" << std::endl;
2165 htmlFile <<
"<h2> 1. Analysis results for HF</h2>" << std::endl;
2166 htmlFile <<
"<table width=\"400\">" << std::endl;
2167 htmlFile <<
"<tr>" << std::endl;
2171 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2172 << runnumber <<
"/HB_Tile.html\">Megatile Channels</a></td>" << std::endl;
2177 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2178 << runnumber <<
"/HB_Pedestals.html\">Pedestals</a></td>" << std::endl;
2179 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2180 << runnumber <<
"/HB_Shapes.html\">ADC Shapes</a></td>" << std::endl;
2184 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2185 << runnumber <<
"/HE_Tile.html\">Megatile Channels</a></td>" << std::endl;
2190 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2191 << runnumber <<
"/HE_Pedestals.html\">Pedestals</a></td>" << std::endl;
2192 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2193 << runnumber <<
"/HE_Shapes.html\">ADC Shapes</a></td>" << std::endl;
2196 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2197 << runnumber <<
"/HO_Tile.html\">Megatile Channels</a></td>" << std::endl;
2200 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2201 << runnumber <<
"/HO_Pedestals.html\">Pedestals</a></td>" << std::endl;
2202 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2203 << runnumber <<
"/HO_Shapes.html\">ADC Shapes</a></td>" << std::endl;
2206 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2207 << runnumber <<
"/HF_Tile.html\">Megatile Channels</a></td>" << std::endl;
2210 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2211 << runnumber <<
"/HF_Pedestals.html\">Pedestals</a></td>" << std::endl;
2212 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2213 << runnumber <<
"/HF_Shapes.html\">ADC Shapes</a></td>" << std::endl;
2216 htmlFile <<
"</tr>" << std::endl;
2217 htmlFile <<
"</table>" << std::endl;
2218 htmlFile <<
"<br>" << std::endl;
2220 htmlFile <<
"<a name=\"Status\"></a>\n";
2222 htmlFile <<
"<h2> 2.Status HB over all criteria </h2>" << std::endl;
2224 htmlFile <<
"<h2> 2.Status HE over all criteria </h2>" << std::endl;
2226 htmlFile <<
"<h2> 2.Status HO over all criteria </h2>" << std::endl;
2228 htmlFile <<
"<h2> 2.Status HF over all criteria </h2>" << std::endl;
2230 htmlFile <<
"<a name=\"ChannelMap\"></a>\n";
2231 htmlFile <<
"<h3> 2.A.Channel map for each Depth </h3>" << std::endl;
2232 htmlFile <<
"<h4> Channel legend: yellow - good, white - "
2233 "not applicable or out of range </h4>"
2236 htmlFile <<
" <img src=\"MAPHB.png\" />" << std::endl;
2238 htmlFile <<
" <img src=\"MAPHE.png\" />" << std::endl;
2240 htmlFile <<
" <img src=\"MAPHO.png\" />" << std::endl;
2242 htmlFile <<
" <img src=\"MAPHF.png\" />" << std::endl;
2243 htmlFile <<
"<br>" << std::endl;
2244 htmlFile <<
"<a href=\"#Top\">to top</a><br>\n";
2609 htmlFile <<
"</body> " << std::endl;
2610 htmlFile <<
"</html> " << std::endl;
2663 htmlFile.open(
"MAP.html");
2664 htmlFile <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
2665 htmlFile <<
"<head>" << std::endl;
2666 htmlFile <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
2667 htmlFile <<
"<title> Remote Monitoring Tool </title>" << std::endl;
2668 htmlFile <<
"<style type=\"text/css\">" << std::endl;
2669 htmlFile <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
2671 htmlFile <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
2672 htmlFile <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
2673 "text-align: center;}"
2675 htmlFile <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
2676 htmlFile <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
2677 htmlFile <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
2678 htmlFile <<
" td.s5 { font-family: arial, arial ce, helvetica; background-color: #FF00FF; }" << std::endl;
2679 htmlFile <<
" td.s6 { font-family: arial, arial ce, helvetica; background-color: #9ACD32; }" << std::endl;
2680 htmlFile <<
" td.s7 { font-family: arial, arial ce, helvetica; background-color: #32CD32; }" << std::endl;
2681 htmlFile <<
"</style>" << std::endl;
2682 htmlFile <<
"<body>" << std::endl;
2684 htmlFile <<
"<h1> Remote Monitoring Tool, RUN = " << runnumber <<
". </h1>" << std::endl;
2685 htmlFile <<
"<br>" << std::endl;
2687 htmlFile <<
"<h2> 1. Analysis results for subdetectors </h2>" << std::endl;
2688 htmlFile <<
"<table width=\"400\">" << std::endl;
2689 htmlFile <<
"<tr>" << std::endl;
2699 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2700 << runnumber <<
"/HB.html\">HB</a></td>" << std::endl;
2701 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2702 << runnumber <<
"/HE.html\">HE</a></td>" << std::endl;
2703 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2704 << runnumber <<
"/HO.html\">HO</a></td>" << std::endl;
2705 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2706 << runnumber <<
"/HF.html\">HF</a></td>" << std::endl;
2708 htmlFile <<
"</tr>" << std::endl;
2709 htmlFile <<
"</table>" << std::endl;
2710 htmlFile <<
"<br>" << std::endl;
2712 htmlFile <<
"<h2> 2. HCAL status over all criteria and subdetectors </h2>" << std::endl;
2713 htmlFile <<
"<h3> 2.A. Channels in detector space </h3>" << std::endl;
2714 htmlFile <<
"<h4> Legend for channel status: green - good, others - may be a problems, white - not applicable or out "
2717 htmlFile <<
" <img src=\"MAP.png\" />" << std::endl;
2718 htmlFile <<
"<br>" << std::endl;
2720 htmlFile <<
"<h3> 2.B. List of Bad channels </h3>" << std::endl;
2724 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/HELP.html\"> "
2725 "Description of criteria for bad channel selection</a></td>"
2728 htmlFile <<
"<table>" << std::endl;
2730 htmlFile <<
"<td class=\"s4\" align=\"center\">#</td>" << std::endl;
2731 htmlFile <<
"<td class=\"s1\" align=\"center\">ETA</td>" << std::endl;
2732 htmlFile <<
"<td class=\"s1\" align=\"center\">PHI</td>" << std::endl;
2733 htmlFile <<
"<td class=\"s1\" align=\"center\">DEPTH</td>" << std::endl;
2734 htmlFile <<
"<td class=\"s1\" align=\"center\">RBX</td>" << std::endl;
2735 htmlFile <<
"<td class=\"s1\" align=\"center\">RM</td>" << std::endl;
2736 htmlFile <<
"<td class=\"s1\" align=\"center\">PIXEL</td>" << std::endl;
2737 htmlFile <<
"<td class=\"s1\" align=\"center\">RM_FIBER</td>" << std::endl;
2738 htmlFile <<
"<td class=\"s1\" align=\"center\">FIBER_CH</td>" << std::endl;
2739 htmlFile <<
"<td class=\"s1\" align=\"center\">QIE</td>" << std::endl;
2740 htmlFile <<
"<td class=\"s1\" align=\"center\">ADC</td>" << std::endl;
2741 htmlFile <<
"<td class=\"s1\" align=\"center\">CRATE</td>" << std::endl;
2742 htmlFile <<
"<td class=\"s1\" align=\"center\">DCC</td>" << std::endl;
2743 htmlFile <<
"<td class=\"s1\" align=\"center\">SPIGOT</td>" << std::endl;
2744 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FIBER</td>" << std::endl;
2745 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_SLOT</td>" << std::endl;
2746 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FPGA</td>" << std::endl;
2747 htmlFile <<
"<td class=\"s5\" align=\"center\">RMT-criteria</td>" << std::endl;
2748 htmlFile <<
"</tr>" << std::endl;
2792 htmlFile <<
"</table>" << std::endl;
2793 htmlFile <<
"<br>" << std::endl;
2935 htmlFile <<
"</body> " << std::endl;
2936 htmlFile <<
"</html> " << std::endl;