26 #include <TPaveText.h>
38 gROOT->SetStyle(
"Plain");
39 gStyle->SetOptStat(0);
40 gStyle->SetOptTitle(1);
46 sprintf(fname,
"%s", argv[1]);
47 sprintf(refname,
"%s", argv[2]);
49 cout << fname <<
" " << refname << std::endl;
56 string promt = (
string)fname;
58 for (
unsigned int i = promt.size() - 11;
i < promt.size() - 5;
i++)
59 runnumber += fname[
i];
60 string refrunnumber =
"";
62 for (
unsigned int i = promt.size() - 11;
i < promt.size() - 5;
i++)
63 refrunnumber += refname[
i];
65 TFile *hfile =
new TFile(fname,
"READ");
67 TDirectory *
dir = (TDirectory *)hfile->FindObjectAny(dirnm.c_str());
71 double MIN_M[7][5] = {{0., 0., 0., 0., 0.},
74 {0, 1.0, 1.0, 0.2, 0.1},
75 {0, 0.10, 0.10, 0.18, 0.30},
76 {0, 0.8, 0.8, 0.8, 0.1},
77 {0, -0.5, -0.5, -0.5, -0.5}};
78 double MAX_M[7][5] = {{0., 0., 0., 0., 0.},
80 {0, 900, 900, 9000, 3000},
81 {0, 3.9, 3.9, 4.4, 2.0},
82 {0, 0.95, 0.98, 0.96, 1.04},
83 {0, 8.0, 8.0, 8.0, 2.8},
84 {0, 6.5, 6.5, 6.5, 3.5}};
87 double MIN_C[7][5] = {{0., 0., 0., 0., 0.},
89 {0, 120., 120., 120., 60.},
90 {0, 1.0, 1.0, 0.50, 0.2},
91 {0, 0.6, 0.64, 0.25, 0.25},
92 {0, 1.0, 1.0, 1.0, 1.0},
93 {0, 0.5, 0.5, 0.5, 0.5}};
94 double MAX_C[7][5] = {{0., 0., 0., 0., 0.},
96 {0, 1E20, 1E20, 1E20, 1E20},
97 {0, 2.3, 2.3, 3.0, 2.3},
98 {0, 1., 1., 1., 1.00},
99 {0, 5.5, 5.5, 3.5, 5.2},
100 {0, 8.5, 8.5, 8.5, 9.5}};
101 double porog[5] = {0., 2., 2., 5., 1.};
103 double Pedest[2][5] = {{0., 0.2, 0.9, 0.1, 0.2}, {0., 0.2, 0.2, 0.1, 0.16}};
110 TCanvas *cHB =
new TCanvas(
"cHB",
"cHB", 1000, 1000);
112 TCanvas *cHE =
new TCanvas(
"cHE",
"cHE", 1500, 1500);
114 TCanvas *cONE =
new TCanvas(
"cONE",
"cONE", 1500, 500);
115 TCanvas *cPED =
new TCanvas(
"cPED",
"cPED", 1000, 500);
117 TCanvas *cHF =
new TCanvas(
"cHF",
"cHF", 1000, 1000);
119 char *
str = (
char *)alloca(10000);
138 int k_min[5] = {0, 1, 1, 4, 1};
142 int k_max[5] = {0, 4, 7, 4, 4};
144 TH2F *Map_Ampl[33][5][ALLDEPTH];
145 TH2F *Map_SUBGOOD[5][ALLDEPTH];
146 TH2F *Map_SUB[5][ALLDEPTH];
147 TH1F *HistAmplDepth[22][5][ALLDEPTH];
148 TH1F *HistAmpl[22][5];
149 TH2F *Map_SUBTS[5][ALLDEPTH];
151 TH1F *HistPed[3][5][4];
153 TH1F *hist_GoodTSshape[5];
154 TH1F *hist_GoodTSshape0[5];
155 TH1F *hist_BadTSshape[5];
156 TH1F *hist_BadTSshape0[5];
157 TH1F *hist_ADC_All[5];
158 TH1F *hist_ADC_DS[5][ALLDEPTH];
159 TH1F *hist_SumADC[5][ALLDEPTH];
160 TH1F *hist_SumADC0[5][ALLDEPTH];
161 TH1F *hist_SumADC1[5][ALLDEPTH];
163 Map_SUB[1][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1_HB");
164 Map_SUB[1][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2_HB");
165 Map_SUB[1][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3_HB");
166 Map_SUB[1][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4_HB");
167 Map_SUB[2][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1_HE");
168 Map_SUB[2][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2_HE");
169 Map_SUB[2][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3_HE");
170 Map_SUB[2][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4_HE");
171 Map_SUB[2][5] = (TH2F *)dir->FindObjectAny(
"h_mapDepth5_HE");
172 Map_SUB[2][6] = (TH2F *)dir->FindObjectAny(
"h_mapDepth6_HE");
173 Map_SUB[2][7] = (TH2F *)dir->FindObjectAny(
"h_mapDepth7_HE");
174 Map_SUB[3][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4_HO");
175 Map_SUB[4][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1_HF");
176 Map_SUB[4][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2_HF");
177 Map_SUB[4][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3_HF");
178 Map_SUB[4][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4_HF");
180 Map_SUBGOOD[1][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1_HB");
181 Map_SUBGOOD[1][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2_HB");
182 Map_SUBGOOD[1][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3_HB");
183 Map_SUBGOOD[1][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4_HB");
184 Map_SUBGOOD[2][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1_HE");
185 Map_SUBGOOD[2][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2_HE");
186 Map_SUBGOOD[2][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3_HE");
187 Map_SUBGOOD[2][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4_HE");
188 Map_SUBGOOD[2][5] = (TH2F *)dir->FindObjectAny(
"h_mapDepth5_HE");
189 Map_SUBGOOD[2][6] = (TH2F *)dir->FindObjectAny(
"h_mapDepth6_HE");
190 Map_SUBGOOD[2][7] = (TH2F *)dir->FindObjectAny(
"h_mapDepth7_HE");
191 Map_SUBGOOD[3][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4_HO");
192 Map_SUBGOOD[4][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1_HF");
193 Map_SUBGOOD[4][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2_HF");
194 Map_SUBGOOD[4][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3_HF");
195 Map_SUBGOOD[4][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4_HF");
201 for (
int sub = 1; sub <= 4; sub++) {
216 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
229 sprintf(str,
"HB, Depth%d \b",
k);
231 sprintf(str,
"HE, Depth%d \b",
k);
233 sprintf(str,
"HO, Depth%d \b",
k);
235 sprintf(str,
"HF, Depth%d \b",
k);
236 Map_SUB[sub][
k]->SetTitle(str);
237 Map_SUB[sub][
k]->SetXTitle(
"#eta \b");
238 Map_SUB[sub][
k]->SetYTitle(
"#phi \b");
239 Map_SUB[sub][
k]->SetZTitle(
"Number of events \b");
241 Map_SUB[sub][
k]->SetTitleOffset(0.8,
"Z");
242 Map_SUB[sub][
k]->Draw(
"COLZ");
243 Map_SUB[sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
264 cHB->Print(
"MapRateEntryHB.png");
268 cHE->Print(
"MapRateEntryHE.png");
272 cONE->Print(
"MapRateEntryHO.png");
276 cHF->Print(
"MapRateEntryHF.png");
285 Map_Ampl[1][1][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1Error_HB");
286 Map_Ampl[1][1][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2Error_HB");
287 Map_Ampl[1][2][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1Error_HE");
288 Map_Ampl[1][2][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2Error_HE");
289 Map_Ampl[1][2][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3Error_HE");
290 Map_Ampl[1][3][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4Error_HO");
291 Map_Ampl[1][4][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1Error_HF");
292 Map_Ampl[1][4][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2Error_HF");
294 Map_Ampl[1][2][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4Error_HE");
295 Map_Ampl[1][2][5] = (TH2F *)dir->FindObjectAny(
"h_mapDepth5Error_HE");
296 Map_Ampl[1][2][6] = (TH2F *)dir->FindObjectAny(
"h_mapDepth6Error_HE");
297 Map_Ampl[1][2][7] = (TH2F *)dir->FindObjectAny(
"h_mapDepth7Error_HE");
298 Map_Ampl[1][4][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3Error_HF");
299 Map_Ampl[1][4][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4Error_HF");
301 Map_Ampl[1][1][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3Error_HB");
302 Map_Ampl[1][1][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4Error_HB");
304 for (
int sub = 1; sub <= 4; sub++) {
319 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
328 Map_Ampl[1][sub][
k]->Divide(Map_Ampl[1][sub][
k], Map_SUB[sub][k], 1, 1,
"B");
333 sprintf(str,
"HB, Depth%d \b", k);
335 sprintf(str,
"HE, Depth%d \b", k);
337 sprintf(str,
"HO, Depth%d \b", k);
339 sprintf(str,
"HF, Depth%d \b", k);
340 Map_Ampl[1][sub][
k]->SetTitle(str);
341 Map_Ampl[1][sub][
k]->SetXTitle(
"#eta \b");
342 Map_Ampl[1][sub][
k]->SetYTitle(
"#phi \b");
343 Map_Ampl[1][sub][
k]->SetZTitle(
"Rate \b");
345 Map_Ampl[1][sub][
k]->SetTitleOffset(0.8,
"Z");
346 Map_Ampl[1][sub][
k]->Draw(
"COLZ");
347 Map_Ampl[1][sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
348 Map_Ampl[1][sub][
k]->GetZaxis()->SetRangeUser(0.0001, 1.);
368 cHB->Print(
"MapRateCapIDHB.png");
372 cHE->Print(
"MapRateCapIDHE.png");
376 cONE->Print(
"MapRateCapIDHO.png");
380 cHF->Print(
"MapRateCapIDHF.png");
389 Map_Ampl[2][1][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1ADCAmpl225_HB");
390 Map_Ampl[2][1][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2ADCAmpl225_HB");
391 Map_Ampl[2][2][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1ADCAmpl225_HE");
392 Map_Ampl[2][2][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2ADCAmpl225_HE");
393 Map_Ampl[2][2][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3ADCAmpl225_HE");
394 Map_Ampl[2][3][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4ADCAmpl225_HO");
395 Map_Ampl[2][4][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1ADCAmpl225_HF");
396 Map_Ampl[2][4][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2ADCAmpl225_HF");
398 Map_Ampl[2][2][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4ADCAmpl225_HE");
399 Map_Ampl[2][2][5] = (TH2F *)dir->FindObjectAny(
"h_mapDepth5ADCAmpl225_HE");
400 Map_Ampl[2][2][6] = (TH2F *)dir->FindObjectAny(
"h_mapDepth6ADCAmpl225_HE");
401 Map_Ampl[2][2][7] = (TH2F *)dir->FindObjectAny(
"h_mapDepth7ADCAmpl225_HE");
402 Map_Ampl[2][4][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3ADCAmpl225_HF");
403 Map_Ampl[2][4][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4ADCAmpl225_HF");
405 Map_Ampl[2][1][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3ADCAmpl225_HB");
406 Map_Ampl[2][1][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4ADCAmpl225_HB");
408 HistAmpl[2][1] = (TH1F *)dir->FindObjectAny(
"h_ADCAmpl_HB");
409 HistAmpl[2][2] = (TH1F *)dir->FindObjectAny(
"h_ADCAmpl_HE");
410 HistAmpl[2][3] = (TH1F *)dir->FindObjectAny(
"h_ADCAmpl_HO");
411 HistAmpl[2][4] = (TH1F *)dir->FindObjectAny(
"h_ADCAmpl_HF");
417 Map_Ampl[3][1][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1Amplitude225_HB");
418 Map_Ampl[3][1][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2Amplitude225_HB");
419 Map_Ampl[3][2][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1Amplitude225_HE");
420 Map_Ampl[3][2][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2Amplitude225_HE");
421 Map_Ampl[3][2][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3Amplitude225_HE");
422 Map_Ampl[3][3][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4Amplitude225_HO");
423 Map_Ampl[3][4][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1Amplitude225_HF");
424 Map_Ampl[3][4][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2Amplitude225_HF");
426 Map_Ampl[3][2][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4Amplitude225_HE");
427 Map_Ampl[3][2][5] = (TH2F *)dir->FindObjectAny(
"h_mapDepth5Amplitude225_HE");
428 Map_Ampl[3][2][6] = (TH2F *)dir->FindObjectAny(
"h_mapDepth6Amplitude225_HE");
429 Map_Ampl[3][2][7] = (TH2F *)dir->FindObjectAny(
"h_mapDepth7Amplitude225_HE");
430 Map_Ampl[3][4][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3Amplitude225_HF");
431 Map_Ampl[3][4][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4Amplitude225_HF");
433 Map_Ampl[3][1][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3Amplitude225_HB");
434 Map_Ampl[3][1][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4Amplitude225_HB");
436 HistAmpl[3][1] = (TH1F *)dir->FindObjectAny(
"h_Amplitude_HB");
437 HistAmpl[3][2] = (TH1F *)dir->FindObjectAny(
"h_Amplitude_HE");
438 HistAmpl[3][3] = (TH1F *)dir->FindObjectAny(
"h_Amplitude_HO");
439 HistAmpl[3][4] = (TH1F *)dir->FindObjectAny(
"h_Amplitude_HF");
445 Map_Ampl[4][1][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1Ampl047_HB");
446 Map_Ampl[4][1][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2Ampl047_HB");
447 Map_Ampl[4][2][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1Ampl047_HE");
448 Map_Ampl[4][2][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2Ampl047_HE");
449 Map_Ampl[4][2][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3Ampl047_HE");
450 Map_Ampl[4][3][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4Ampl047_HO");
451 Map_Ampl[4][4][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1Ampl047_HF");
452 Map_Ampl[4][4][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2Ampl047_HF");
454 Map_Ampl[4][2][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4Ampl047_HE");
455 Map_Ampl[4][2][5] = (TH2F *)dir->FindObjectAny(
"h_mapDepth5Ampl047_HE");
456 Map_Ampl[4][2][6] = (TH2F *)dir->FindObjectAny(
"h_mapDepth6Ampl047_HE");
457 Map_Ampl[4][2][7] = (TH2F *)dir->FindObjectAny(
"h_mapDepth7Ampl047_HE");
458 Map_Ampl[4][4][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3Ampl047_HF");
459 Map_Ampl[4][4][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4Ampl047_HF");
461 Map_Ampl[4][1][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3Ampl047_HB");
462 Map_Ampl[4][1][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4Ampl047_HB");
464 HistAmpl[4][1] = (TH1F *)dir->FindObjectAny(
"h_Ampl_HB");
465 HistAmpl[4][2] = (TH1F *)dir->FindObjectAny(
"h_Ampl_HE");
466 HistAmpl[4][3] = (TH1F *)dir->FindObjectAny(
"h_Ampl_HO");
467 HistAmpl[4][4] = (TH1F *)dir->FindObjectAny(
"h_Ampl_HF");
473 Map_Ampl[5][1][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1TSmeanA225_HB");
474 Map_Ampl[5][1][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2TSmeanA225_HB");
475 Map_Ampl[5][2][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1TSmeanA225_HE");
476 Map_Ampl[5][2][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2TSmeanA225_HE");
477 Map_Ampl[5][2][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3TSmeanA225_HE");
478 Map_Ampl[5][3][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4TSmeanA225_HO");
479 Map_Ampl[5][4][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1TSmeanA225_HF");
480 Map_Ampl[5][4][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2TSmeanA225_HF");
482 Map_Ampl[5][2][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4TSmeanA225_HE");
483 Map_Ampl[5][2][5] = (TH2F *)dir->FindObjectAny(
"h_mapDepth5TSmeanA225_HE");
484 Map_Ampl[5][2][6] = (TH2F *)dir->FindObjectAny(
"h_mapDepth6TSmeanA225_HE");
485 Map_Ampl[5][2][7] = (TH2F *)dir->FindObjectAny(
"h_mapDepth7TSmeanA225_HE");
486 Map_Ampl[5][4][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3TSmeanA225_HF");
487 Map_Ampl[5][4][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4TSmeanA225_HF");
489 Map_Ampl[5][1][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3TSmeanA225_HB");
490 Map_Ampl[5][1][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4TSmeanA225_HB");
492 HistAmpl[5][1] = (TH1F *)dir->FindObjectAny(
"h_TSmeanA_HB");
493 HistAmpl[5][2] = (TH1F *)dir->FindObjectAny(
"h_TSmeanA_HE");
494 HistAmpl[5][3] = (TH1F *)dir->FindObjectAny(
"h_TSmeanA_HO");
495 HistAmpl[5][4] = (TH1F *)dir->FindObjectAny(
"h_TSmeanA_HF");
501 Map_Ampl[6][1][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1TSmaxA225_HB");
502 Map_Ampl[6][1][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2TSmaxA225_HB");
503 Map_Ampl[6][2][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1TSmaxA225_HE");
504 Map_Ampl[6][2][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2TSmaxA225_HE");
505 Map_Ampl[6][2][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3TSmaxA225_HE");
506 Map_Ampl[6][3][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4TSmaxA225_HO");
507 Map_Ampl[6][4][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1TSmaxA225_HF");
508 Map_Ampl[6][4][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2TSmaxA225_HF");
510 Map_Ampl[6][2][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4TSmaxA225_HE");
511 Map_Ampl[6][2][5] = (TH2F *)dir->FindObjectAny(
"h_mapDepth5TSmaxA225_HE");
512 Map_Ampl[6][2][6] = (TH2F *)dir->FindObjectAny(
"h_mapDepth6TSmaxA225_HE");
513 Map_Ampl[6][2][7] = (TH2F *)dir->FindObjectAny(
"h_mapDepth7TSmaxA225_HE");
514 Map_Ampl[6][4][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3TSmaxA225_HF");
515 Map_Ampl[6][4][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4TSmaxA225_HF");
517 Map_Ampl[6][1][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3TSmaxA225_HB");
518 Map_Ampl[6][1][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4TSmaxA225_HB");
520 HistAmpl[6][1] = (TH1F *)dir->FindObjectAny(
"h_TSmaxA_HB");
521 HistAmpl[6][2] = (TH1F *)dir->FindObjectAny(
"h_TSmaxA_HE");
522 HistAmpl[6][3] = (TH1F *)dir->FindObjectAny(
"h_TSmaxA_HO");
523 HistAmpl[6][4] = (TH1F *)dir->FindObjectAny(
"h_TSmaxA_HF");
526 for (
int sub = 1; sub <= 4; sub++) {
541 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
550 Map_Ampl[
test][sub][
k]->Divide(Map_Ampl[
test][sub][
k], Map_SUB[sub][k], 1, 1,
"B");
555 sprintf(str,
"HB, Depth%d \b", k);
557 sprintf(str,
"HE, Depth%d \b", k);
559 sprintf(str,
"HO, Depth%d \b", k);
561 sprintf(str,
"HF, Depth%d \b", k);
562 Map_Ampl[
test][sub][
k]->SetTitle(str);
563 Map_Ampl[
test][sub][
k]->SetXTitle(
"#eta \b");
564 Map_Ampl[
test][sub][
k]->SetYTitle(
"#phi \b");
565 Map_Ampl[
test][sub][
k]->SetZTitle(
"Rate \b");
567 Map_Ampl[
test][sub][
k]->SetTitleOffset(0.8,
"Z");
568 Map_Ampl[
test][sub][
k]->Draw(
"COLZ");
569 Map_Ampl[
test][sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
570 Map_Ampl[
test][sub][
k]->GetZaxis()->SetRangeUser(0.0001, 1.);
590 cHB->Print(
"MapRateAmplHB.png");
594 cHE->Print(
"MapRateAmplHE.png");
598 cONE->Print(
"MapRateAmplHO.png");
602 cHF->Print(
"MapRateAmplHF.png");
608 cHB->Print(
"MapRateRMSHB.png");
612 cHE->Print(
"MapRateRMSHE.png");
616 cONE->Print(
"MapRateRMSHO.png");
620 cHF->Print(
"MapRateRMSHF.png");
626 cHB->Print(
"MapRate43TStoAllTSHB.png");
630 cHE->Print(
"MapRate43TStoAllTSHE.png");
634 cONE->Print(
"MapRate43TStoAllTSHO.png");
638 cHF->Print(
"MapRate43TStoAllTSHF.png");
644 cHB->Print(
"MapRateMeanPosHB.png");
648 cHE->Print(
"MapRateMeanPosHE.png");
652 cONE->Print(
"MapRateMeanPosHO.png");
656 cHF->Print(
"MapRateMeanPosHF.png");
662 cHB->Print(
"MapRateMaxPosHB.png");
666 cHE->Print(
"MapRateMaxPosHE.png");
670 cONE->Print(
"MapRateMaxPosHO.png");
674 cHF->Print(
"MapRateMaxPosHF.png");
693 if (
test == 2 && sub == 2) {
695 TH1F *kjkjkhj2 = (TH1F *)dir->FindObjectAny(
"h_AmplitudeHEtest1");
697 kjkjkhj2->SetTitle(
"HE, All Depth: shunt1");
699 TH1F *kjkjkhj3 = (TH1F *)dir->FindObjectAny(
"h_AmplitudeHEtest6");
701 kjkjkhj3->SetTitle(
"HE, All Depth: shunt6");
703 if (
test == 2 && sub == 1) {
705 TH1F *kjkjkhb2 = (TH1F *)dir->FindObjectAny(
"h_AmplitudeHBtest1");
707 kjkjkhb2->SetTitle(
"HB, All Depth: shunt1");
709 TH1F *kjkjkhb3 = (TH1F *)dir->FindObjectAny(
"h_AmplitudeHBtest6");
711 kjkjkhb3->SetTitle(
"HB, All Depth: shunt6");
719 HistAmpl[
test][sub]->SetTitle(
"HB, All Depth: shunt6");
721 HistAmpl[
test][sub]->SetTitle(
"HE, All Depth: shunt6");
723 HistAmpl[
test][sub]->SetTitle(
"HO, All Depth");
725 HistAmpl[
test][sub]->SetTitle(
"HF, All Depth");
727 HistAmpl[
test][sub]->SetXTitle(
"ADC Amlitude in each event & cell \b");
729 HistAmpl[
test][sub]->SetXTitle(
"RMS in each event & cell \b");
731 HistAmpl[
test][sub]->SetXTitle(
"Ratio in each event & cell \b");
733 HistAmpl[
test][sub]->SetXTitle(
"Mean TS position in each event & cell \b");
735 HistAmpl[
test][sub]->SetXTitle(
"Max TS position in each event & cell \b");
736 HistAmpl[
test][sub]->SetYTitle(
"Number of cell-events \b");
737 HistAmpl[
test][sub]->SetLineColor(4);
738 HistAmpl[
test][sub]->SetLineWidth(2);
739 HistAmpl[
test][sub]->SetTitleOffset(1.4,
"Y");
740 HistAmpl[
test][sub]->Draw(
"");
747 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 5.);
749 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 1.);
751 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 9.);
753 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 9.);
756 double min_x[] = {MIN_M[
test][sub], MIN_M[
test][sub]};
757 double min_y[] = {0., 100000000.};
758 TGraph *
MIN =
new TGraph(2, min_x, min_y);
759 MIN->SetLineStyle(2);
760 MIN->SetLineColor(2);
761 MIN->SetLineWidth(2 + 100 * 100);
762 MIN->SetFillStyle(3005);
763 MIN->SetFillColor(2);
765 double max_x[] = {MAX_M[
test][sub], MAX_M[
test][sub]};
766 double max_y[] = {0., 100000000.};
767 TGraph *
MAX =
new TGraph(2, max_x, max_y);
768 MAX->SetLineStyle(2);
769 MAX->SetLineColor(2);
770 MAX->SetLineWidth(-2 - 100 * 100);
771 MAX->SetFillStyle(3004);
772 MAX->SetFillColor(2);
776 cONE->Print(
"HistAmplHB.png");
780 cONE->Print(
"HistAmplHE.png");
784 cONE->Print(
"HistAmplHO.png");
788 cONE->Print(
"HistAmplHF.png");
794 cONE->Print(
"HistRMSHB.png");
798 cONE->Print(
"HistRMSHE.png");
802 cONE->Print(
"HistRMSHO.png");
806 cONE->Print(
"HistRMSHF.png");
812 cONE->Print(
"Hist43TStoAllTSHB.png");
816 cONE->Print(
"Hist43TStoAllTSHE.png");
820 cONE->Print(
"Hist43TStoAllTSHO.png");
824 cONE->Print(
"Hist43TStoAllTSHF.png");
830 cONE->Print(
"HistMeanPosHB.png");
834 cONE->Print(
"HistMeanPosHE.png");
838 cONE->Print(
"HistMeanPosHO.png");
842 cONE->Print(
"HistMeanPosHF.png");
848 cONE->Print(
"HistMaxPosHB.png");
852 cONE->Print(
"HistMaxPosHE.png");
856 cONE->Print(
"HistMaxPosHO.png");
860 cONE->Print(
"HistMaxPosHF.png");
871 Map_Ampl[31][1][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1pedestal_HB");
872 Map_Ampl[31][1][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2pedestal_HB");
873 Map_Ampl[31][1][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3pedestal_HB");
874 Map_Ampl[31][1][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4pedestal_HB");
875 Map_Ampl[31][2][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1pedestal_HE");
876 Map_Ampl[31][2][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2pedestal_HE");
877 Map_Ampl[31][2][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3pedestal_HE");
878 Map_Ampl[31][2][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4pedestal_HE");
879 Map_Ampl[31][2][5] = (TH2F *)dir->FindObjectAny(
"h_mapDepth5pedestal_HE");
880 Map_Ampl[31][2][6] = (TH2F *)dir->FindObjectAny(
"h_mapDepth6pedestal_HE");
881 Map_Ampl[31][2][7] = (TH2F *)dir->FindObjectAny(
"h_mapDepth7pedestal_HE");
882 Map_Ampl[31][3][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4pedestal_HO");
883 Map_Ampl[31][4][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1pedestal_HF");
884 Map_Ampl[31][4][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2pedestal_HF");
885 Map_Ampl[31][4][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3pedestal_HF");
886 Map_Ampl[31][4][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4pedestal_HF");
888 Map_Ampl[32][1][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1pedestalw_HB");
889 Map_Ampl[32][1][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2pedestalw_HB");
890 Map_Ampl[32][1][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3pedestalw_HB");
891 Map_Ampl[32][1][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4pedestalw_HB");
892 Map_Ampl[32][2][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1pedestalw_HE");
893 Map_Ampl[32][2][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2pedestalw_HE");
894 Map_Ampl[32][2][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3pedestalw_HE");
895 Map_Ampl[32][2][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4pedestalw_HE");
896 Map_Ampl[32][2][5] = (TH2F *)dir->FindObjectAny(
"h_mapDepth5pedestalw_HE");
897 Map_Ampl[32][2][6] = (TH2F *)dir->FindObjectAny(
"h_mapDepth6pedestalw_HE");
898 Map_Ampl[32][2][7] = (TH2F *)dir->FindObjectAny(
"h_mapDepth7pedestalw_HE");
899 Map_Ampl[32][3][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4pedestalw_HO");
900 Map_Ampl[32][4][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1pedestalw_HF");
901 Map_Ampl[32][4][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2pedestalw_HF");
902 Map_Ampl[32][4][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3pedestalw_HF");
903 Map_Ampl[32][4][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4pedestalw_HF");
905 HistPed[1][1][0] = (TH1F *)dir->FindObjectAny(
"h_pedestal0_HB");
906 HistPed[1][1][1] = (TH1F *)dir->FindObjectAny(
"h_pedestal1_HB");
907 HistPed[1][1][2] = (TH1F *)dir->FindObjectAny(
"h_pedestal2_HB");
908 HistPed[1][1][3] = (TH1F *)dir->FindObjectAny(
"h_pedestal3_HB");
909 HistPed[2][1][0] = (TH1F *)dir->FindObjectAny(
"h_pedestalw0_HB");
910 HistPed[2][1][1] = (TH1F *)dir->FindObjectAny(
"h_pedestalw1_HB");
911 HistPed[2][1][2] = (TH1F *)dir->FindObjectAny(
"h_pedestalw2_HB");
912 HistPed[2][1][3] = (TH1F *)dir->FindObjectAny(
"h_pedestalw3_HB");
914 HistPed[1][2][0] = (TH1F *)dir->FindObjectAny(
"h_pedestal0_HE");
915 HistPed[1][2][1] = (TH1F *)dir->FindObjectAny(
"h_pedestal1_HE");
916 HistPed[1][2][2] = (TH1F *)dir->FindObjectAny(
"h_pedestal2_HE");
917 HistPed[1][2][3] = (TH1F *)dir->FindObjectAny(
"h_pedestal3_HE");
918 HistPed[2][2][0] = (TH1F *)dir->FindObjectAny(
"h_pedestalw0_HE");
919 HistPed[2][2][1] = (TH1F *)dir->FindObjectAny(
"h_pedestalw1_HE");
920 HistPed[2][2][2] = (TH1F *)dir->FindObjectAny(
"h_pedestalw2_HE");
921 HistPed[2][2][3] = (TH1F *)dir->FindObjectAny(
"h_pedestalw3_HE");
923 HistPed[1][3][0] = (TH1F *)dir->FindObjectAny(
"h_pedestal0_HO");
924 HistPed[1][3][1] = (TH1F *)dir->FindObjectAny(
"h_pedestal1_HO");
925 HistPed[1][3][2] = (TH1F *)dir->FindObjectAny(
"h_pedestal2_HO");
926 HistPed[1][3][3] = (TH1F *)dir->FindObjectAny(
"h_pedestal3_HO");
927 HistPed[2][3][0] = (TH1F *)dir->FindObjectAny(
"h_pedestalw0_HO");
928 HistPed[2][3][1] = (TH1F *)dir->FindObjectAny(
"h_pedestalw1_HO");
929 HistPed[2][3][2] = (TH1F *)dir->FindObjectAny(
"h_pedestalw2_HO");
930 HistPed[2][3][3] = (TH1F *)dir->FindObjectAny(
"h_pedestalw3_HO");
932 HistPed[1][4][0] = (TH1F *)dir->FindObjectAny(
"h_pedestal0_HF");
933 HistPed[1][4][1] = (TH1F *)dir->FindObjectAny(
"h_pedestal1_HF");
934 HistPed[1][4][2] = (TH1F *)dir->FindObjectAny(
"h_pedestal2_HF");
935 HistPed[1][4][3] = (TH1F *)dir->FindObjectAny(
"h_pedestal3_HF");
936 HistPed[2][4][0] = (TH1F *)dir->FindObjectAny(
"h_pedestalw0_HF");
937 HistPed[2][4][1] = (TH1F *)dir->FindObjectAny(
"h_pedestalw1_HF");
938 HistPed[2][4][2] = (TH1F *)dir->FindObjectAny(
"h_pedestalw2_HF");
939 HistPed[2][4][3] = (TH1F *)dir->FindObjectAny(
"h_pedestalw3_HF");
942 for (
int sub = 1; sub <= 4; sub++) {
957 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
966 Map_Ampl[
test][sub][
k]->Divide(Map_Ampl[
test][sub][
k], Map_SUB[sub][k], 1, 1,
"B");
971 sprintf(str,
"HB, Depth%d \b", k);
973 sprintf(str,
"HE, Depth%d \b", k);
975 sprintf(str,
"HO, Depth%d \b", k);
977 sprintf(str,
"HF, Depth%d \b", k);
978 Map_Ampl[
test][sub][
k]->SetTitle(str);
979 Map_Ampl[
test][sub][
k]->SetXTitle(
"#eta \b");
980 Map_Ampl[
test][sub][
k]->SetYTitle(
"#phi \b");
981 Map_Ampl[
test][sub][
k]->SetZTitle(
"Rate \b");
983 Map_Ampl[
test][sub][
k]->SetTitleOffset(0.8,
"Z");
984 Map_Ampl[
test][sub][
k]->Draw(
"COLZ");
985 Map_Ampl[
test][sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
986 Map_Ampl[
test][sub][
k]->GetZaxis()->SetRangeUser(0.0001, 1.);
1006 cHB->Print(
"MapRatePedHB.png");
1010 cHE->Print(
"MapRatePedHE.png");
1014 cONE->Print(
"MapRatePedHO.png");
1018 cHF->Print(
"MapRatePedHF.png");
1024 cHB->Print(
"MapRatePedWidthsHB.png");
1028 cHE->Print(
"MapRatePedWidthsHE.png");
1032 cONE->Print(
"MapRatePedWidthsHO.png");
1036 cHF->Print(
"MapRatePedWidthsHF.png");
1044 for (
int cap = 0; cap <= 3; cap++) {
1051 sprintf(str,
"HB, Cap%d, all depth\b", cap);
1053 sprintf(str,
"HE, Cap%d, all depth\b", cap);
1055 sprintf(str,
"HO, Cap%d, all depth\b", cap);
1057 sprintf(str,
"HF, Cap%d, all depth\b", cap);
1059 HistPed[
test - 30][sub][cap]->SetTitle(str);
1062 HistPed[
test - 30][sub][cap]->SetXTitle(
"Pedestals in each event & cell \b");
1064 HistPed[
test - 30][sub][cap]->SetXTitle(
"Pedestal Widths in each event & cell \b");
1066 HistPed[
test - 30][sub][cap]->SetYTitle(
"Number of channel-events \b");
1067 HistPed[
test - 30][sub][cap]->SetLineColor(4);
1068 HistPed[
test - 30][sub][cap]->SetLineWidth(2);
1069 HistPed[
test - 30][sub][cap]->SetTitleOffset(1.4,
"Y");
1070 HistPed[
test - 30][sub][cap]->Draw(
"");
1077 double min_x[] = {Pedest[
test - 31][sub], Pedest[
test - 31][sub]};
1078 double min_y[] = {0., 100000000.};
1079 TGraph *
MIN =
new TGraph(2, min_x, min_y);
1080 MIN->SetLineStyle(2);
1081 MIN->SetLineColor(2);
1082 MIN->SetLineWidth(2 + 100 * 100);
1083 MIN->SetFillStyle(3005);
1084 MIN->SetFillColor(2);
1089 cPED->Print(
"HistPedestalsHB.png");
1093 cPED->Print(
"HistPedestalsHE.png");
1097 cPED->Print(
"HistPedestalsHO.png");
1101 cPED->Print(
"HistPedestalsHF.png");
1107 cPED->Print(
"HistPedestalWidthsHB.png");
1111 cPED->Print(
"HistPedestalWidthsHE.png");
1115 cPED->Print(
"HistPedestalWidthsHO.png");
1119 cPED->Print(
"HistPedestalWidthsHF.png");
1131 Map_Ped[1][1] = (TH2F *)dir->FindObjectAny(
"h2_pedvsampl_HB");
1132 Map_Ped[1][2] = (TH2F *)dir->FindObjectAny(
"h2_pedvsampl_HE");
1133 Map_Ped[1][3] = (TH2F *)dir->FindObjectAny(
"h2_pedvsampl_HO");
1134 Map_Ped[1][4] = (TH2F *)dir->FindObjectAny(
"h2_pedvsampl_HF");
1135 Map_Ped[2][1] = (TH2F *)dir->FindObjectAny(
"h2_pedwvsampl_HB");
1136 Map_Ped[2][2] = (TH2F *)dir->FindObjectAny(
"h2_pedwvsampl_HE");
1137 Map_Ped[2][3] = (TH2F *)dir->FindObjectAny(
"h2_pedwvsampl_HO");
1138 Map_Ped[2][4] = (TH2F *)dir->FindObjectAny(
"h2_pedwvsampl_HF");
1139 for (
int sub = 1; sub <= 4; sub++) {
1147 Map_Ped[
test][sub]->SetXTitle(
"Pedestal, fC \b");
1149 Map_Ped[
test][sub]->SetXTitle(
"pedestal Width, fC \b");
1150 Map_Ped[
test][sub]->SetYTitle(
"Amplitude, fC \b");
1151 Map_Ped[
test][sub]->SetZTitle(
"entries \b");
1153 sprintf(str,
"Cap0 Pedestal vs Amplitude \b");
1155 sprintf(str,
"Cap0 pedestalWidth vs Amplitude \b");
1156 Map_Ped[
test][sub]->SetTitle(str);
1157 Map_Ped[
test][sub]->Draw(
"COLZ");
1164 cPED->Print(
"CorrelationsMapPedestalVsfullAmplitudeHB.png");
1168 cPED->Print(
"CorrelationsMapPedestalVsfullAmplitudeHE.png");
1172 cPED->Print(
"CorrelationsMapPedestalVsfullAmplitudeHO.png");
1176 cPED->Print(
"CorrelationsMapPedestalVsfullAmplitudeHF.png");
1186 hist_GoodTSshape[1] = (TH1F *)dir->FindObjectAny(
"h_shape_good_channels_HB");
1187 hist_GoodTSshape[2] = (TH1F *)dir->FindObjectAny(
"h_shape_good_channels_HE");
1188 hist_GoodTSshape[3] = (TH1F *)dir->FindObjectAny(
"h_shape_good_channels_HO");
1189 hist_GoodTSshape[4] = (TH1F *)dir->FindObjectAny(
"h_shape_good_channels_HF");
1191 hist_GoodTSshape0[1] = (TH1F *)dir->FindObjectAny(
"h_shape0_good_channels_HB");
1192 hist_GoodTSshape0[2] = (TH1F *)dir->FindObjectAny(
"h_shape0_good_channels_HE");
1193 hist_GoodTSshape0[3] = (TH1F *)dir->FindObjectAny(
"h_shape0_good_channels_HO");
1194 hist_GoodTSshape0[4] = (TH1F *)dir->FindObjectAny(
"h_shape0_good_channels_HF");
1196 hist_BadTSshape[1] = (TH1F *)dir->FindObjectAny(
"h_shape_bad_channels_HB");
1197 hist_BadTSshape[2] = (TH1F *)dir->FindObjectAny(
"h_shape_bad_channels_HE");
1198 hist_BadTSshape[3] = (TH1F *)dir->FindObjectAny(
"h_shape_bad_channels_HO");
1199 hist_BadTSshape[4] = (TH1F *)dir->FindObjectAny(
"h_shape_bad_channels_HF");
1201 hist_BadTSshape0[1] = (TH1F *)dir->FindObjectAny(
"h_shape0_bad_channels_HB");
1202 hist_BadTSshape0[2] = (TH1F *)dir->FindObjectAny(
"h_shape0_bad_channels_HE");
1203 hist_BadTSshape0[3] = (TH1F *)dir->FindObjectAny(
"h_shape0_bad_channels_HO");
1204 hist_BadTSshape0[4] = (TH1F *)dir->FindObjectAny(
"h_shape0_bad_channels_HF");
1208 for (
int sub = 1; sub <= 4; sub++) {
1213 hist_GoodTSshape[sub]->Divide(hist_GoodTSshape[sub], hist_GoodTSshape0[sub], 1, 1,
"B");
1214 hist_GoodTSshape[sub]->SetXTitle(
"Time slice \b");
1215 hist_GoodTSshape[sub]->SetYTitle(
"ADC counts \b");
1216 sprintf(str,
"Mean ADC Shape \b");
1217 hist_GoodTSshape[sub]->SetTitle(str);
1218 hist_GoodTSshape[sub]->Draw(
"");
1224 cONE->Print(
"HistGoodTSshapesHB.png");
1228 cONE->Print(
"HistGoodTSshapesHE.png");
1232 cONE->Print(
"HistGoodTSshapesHO.png");
1236 cONE->Print(
"HistGoodTSshapesHF.png");
1241 for (
int sub = 1; sub <= 4; sub++) {
1246 hist_BadTSshape[sub]->Divide(hist_BadTSshape[sub], hist_BadTSshape0[sub], 1, 1,
"B");
1247 hist_BadTSshape[sub]->SetXTitle(
"Time slice \b");
1248 hist_BadTSshape[sub]->SetYTitle(
"ADC counts \b");
1249 sprintf(str,
"Mean ADC Shape \b");
1250 hist_BadTSshape[sub]->SetTitle(str);
1251 hist_BadTSshape[sub]->Draw(
"");
1257 cONE->Print(
"HistBadTSshapesHB.png");
1261 cONE->Print(
"HistBadTSshapesHE.png");
1265 cONE->Print(
"HistBadTSshapesHO.png");
1269 cONE->Print(
"HistBadTSshapesHF.png");
1277 Map_SUBTS[1][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1TS2_HB");
1278 Map_SUBTS[1][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2TS2_HB");
1279 Map_SUBTS[1][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3TS2_HB");
1280 Map_SUBTS[1][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4TS2_HB");
1282 Map_SUBTS[2][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1TS2_HE");
1283 Map_SUBTS[2][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2TS2_HE");
1284 Map_SUBTS[2][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3TS2_HE");
1285 Map_SUBTS[2][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4TS2_HE");
1286 Map_SUBTS[2][5] = (TH2F *)dir->FindObjectAny(
"h_mapDepth5TS2_HE");
1287 Map_SUBTS[2][6] = (TH2F *)dir->FindObjectAny(
"h_mapDepth6TS2_HE");
1288 Map_SUBTS[2][7] = (TH2F *)dir->FindObjectAny(
"h_mapDepth7TS2_HE");
1290 Map_SUBTS[3][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4TS012_HO");
1292 Map_SUBTS[4][1] = (TH2F *)dir->FindObjectAny(
"h_mapDepth1TS1_HF");
1293 Map_SUBTS[4][2] = (TH2F *)dir->FindObjectAny(
"h_mapDepth2TS1_HF");
1294 Map_SUBTS[4][3] = (TH2F *)dir->FindObjectAny(
"h_mapDepth3TS1_HF");
1295 Map_SUBTS[4][4] = (TH2F *)dir->FindObjectAny(
"h_mapDepth4TS1_HF");
1297 for (
int sub = 1; sub <= 4; sub++) {
1312 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
1321 Map_SUBTS[sub][
k]->Divide(Map_SUBTS[sub][
k], Map_SUB[sub][k], 1, 1,
"B");
1326 sprintf(str,
"HB, Depth%d \b", k);
1328 sprintf(str,
"HE, Depth%d \b", k);
1330 sprintf(str,
"HO, Depth%d \b", k);
1332 sprintf(str,
"HF, Depth%d \b", k);
1333 Map_SUBTS[sub][
k]->SetTitle(str);
1334 Map_SUBTS[sub][
k]->SetXTitle(
"#eta \b");
1335 Map_SUBTS[sub][
k]->SetYTitle(
"#phi \b");
1336 Map_SUBTS[sub][
k]->SetZTitle(
"Number of events \b");
1338 Map_SUBTS[sub][
k]->SetTitleOffset(0.8,
"Z");
1339 Map_SUBTS[sub][
k]->Draw(
"COLZ");
1340 Map_SUBTS[sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
1361 cHB->Print(
"Hist_mapDepthAllTS2_HB.png");
1365 cHE->Print(
"Hist_mapDepthAllTS2_HE.png");
1369 cONE->Print(
"Hist_mapDepthAllTS012_HO.png");
1373 cHF->Print(
"Hist_mapDepthAllTS1_HF.png");
1380 std::cout <<
" We are here to print general 2D MAP " << std::endl;
1394 TH2F *Map_ALL =
new TH2F(
"Map_All",
"Map_all", 82, -41, 41, 72, 0, 72);
1396 int nx = Map_ALL->GetXaxis()->GetNbins();
1397 int ny = Map_ALL->GetYaxis()->GetNbins();
1398 cout <<
" nx= " << nx <<
" ny= " << ny << endl;
1415 std::cout <<
" Map_ALL SUBGOOD update " << std::endl;
1416 for (
int sub = 1; sub <= 4; sub++) {
1417 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
1418 for (
int i = 1;
i <= nx;
i++) {
1419 for (
int j = 1;
j <= ny;
j++) {
1420 if (Map_SUB[sub][
k]->GetBinContent(
i,
j) != 0) {
1421 Map_SUBGOOD[sub][
k]->SetBinContent(
i,
j, 0.5);
1422 Map_ALL->SetBinContent(
i,
j, 0.5);
1429 std::cout <<
" Map_ALL SUBGOOD filling............... " << std::endl;
1430 for (
int sub = 1; sub <= 4; sub++) {
1431 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
1432 for (
int i = 1;
i <= nx;
i++) {
1433 for (
int j = 1;
j <= ny;
j++) {
1444 if (Map_Ampl[
test][sub][
k]->GetBinContent(
i,
j) > 0.1) {
1445 Map_ALL->SetBinContent(
i,
j, 1.);
1446 Map_SUBGOOD[sub][
k]->SetBinContent(
i,
j, 1.);
1464 if ((Map_Ampl[
test][sub][
k]->GetBinContent(
i,
j) != 0.) &&
1465 (Map_Ampl[
test][sub][
k]->GetBinContent(
i,
j) < 0.001)) {
1466 if (Map_SUBGOOD[sub][
k]->GetBinContent(
i,
j) != 1.)
1467 Map_SUBGOOD[sub][
k]->SetBinContent(
i,
j, 0.75);
1468 if (Map_ALL->GetBinContent(
i,
j) != 1.)
1469 Map_ALL->SetBinContent(
i,
j, 0.75);
1496 if (Map_Ampl[
test][sub][
k]->GetBinContent(
i,
j) > 0.9) {
1497 if (Map_SUBGOOD[sub][
k]->GetBinContent(
i,
j) != 1.0)
1498 Map_SUBGOOD[sub][
k]->SetBinContent(
i,
j, 0.15);
1499 if (Map_ALL->GetBinContent(
i,
j) != 1.)
1500 Map_ALL->SetBinContent(
i,
j, 0.15);
1523 std::cout <<
" RUN3: 2022 Plots with MAPS_SUB: start ..............................." << std::endl;
1525 for (
int sub = 1; sub <= 4; sub++) {
1527 std::cout <<
" RUN3: 2022 MAPS_SUB= " << sub << std::endl;
1543 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
1557 sprintf(str,
"HB, Depth%d \b",
k);
1559 sprintf(str,
"HE, Depth%d \b",
k);
1561 sprintf(str,
"HO, Depth%d \b",
k);
1563 sprintf(str,
"HF, Depth%d \b",
k);
1564 Map_SUBGOOD[sub][
k]->SetTitle(str);
1565 Map_SUBGOOD[sub][
k]->SetXTitle(
"#eta \b");
1566 Map_SUBGOOD[sub][
k]->SetYTitle(
"#phi \b");
1567 Map_SUBGOOD[sub][
k]->Draw(
"COLZ");
1568 Map_SUBGOOD[sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
1569 Map_SUBGOOD[sub][
k]->GetZaxis()->SetRangeUser(0., 1.);
1589 cHB->Print(
"MAPHB.png");
1593 cHE->Print(
"MAPHE.png");
1597 cONE->Print(
"MAPHO.png");
1601 cHF->Print(
"MAPHF.png");
1608 TCanvas *cmain1 =
new TCanvas(
"cmain1",
"MAP", 200, 10, 1400, 1800);
1609 cmain1->Divide(2, 2);
1612 TH1F *JDBEYESJ0 = (TH1F *)dir->FindObjectAny(
"h_totalAmplitudeHBperEvent");
1613 JDBEYESJ0->SetStats(0);
1614 JDBEYESJ0->SetMarkerStyle(20);
1615 JDBEYESJ0->SetMarkerSize(0.8);
1616 JDBEYESJ0->GetYaxis()->SetLabelSize(0.04);
1617 JDBEYESJ0->SetXTitle(
"iEvent \b");
1618 JDBEYESJ0->SetYTitle(
"totalAmplitude perEvent \b");
1619 JDBEYESJ0->SetTitle(
"HB \b");
1620 JDBEYESJ0->SetMarkerColor(2);
1621 JDBEYESJ0->SetLineColor(1);
1622 JDBEYESJ0->SetMinimum(0.8);
1623 JDBEYESJ0->Draw(
"HIST same P0");
1627 TH1F *JDBEYESJ1 = (TH1F *)dir->FindObjectAny(
"h_totalAmplitudeHEperEvent");
1628 JDBEYESJ1->SetStats(0);
1629 JDBEYESJ1->SetMarkerStyle(20);
1630 JDBEYESJ1->SetMarkerSize(0.8);
1631 JDBEYESJ1->GetYaxis()->SetLabelSize(0.04);
1632 JDBEYESJ1->SetXTitle(
"iEvent \b");
1633 JDBEYESJ1->SetYTitle(
"totalAmplitude perEvent \b");
1634 JDBEYESJ1->SetTitle(
"HE \b");
1635 JDBEYESJ1->SetMarkerColor(2);
1636 JDBEYESJ1->SetLineColor(1);
1637 JDBEYESJ1->SetMinimum(0.8);
1638 JDBEYESJ1->Draw(
"HIST same P0");
1642 TH1F *JDBEYESJ2 = (TH1F *)dir->FindObjectAny(
"h_totalAmplitudeHFperEvent");
1643 JDBEYESJ2->SetStats(0);
1644 JDBEYESJ2->SetMarkerStyle(20);
1645 JDBEYESJ2->SetMarkerSize(0.8);
1646 JDBEYESJ2->GetYaxis()->SetLabelSize(0.04);
1647 JDBEYESJ2->SetXTitle(
"iEvent \b");
1648 JDBEYESJ2->SetYTitle(
"totalAmplitude perEvent \b");
1649 JDBEYESJ2->SetTitle(
"HF \b");
1650 JDBEYESJ2->SetMarkerColor(2);
1651 JDBEYESJ2->SetLineColor(1);
1652 JDBEYESJ2->SetMinimum(0.8);
1653 JDBEYESJ2->Draw(
"HIST same P0");
1657 TH1F *JDBEYESJ3 = (TH1F *)dir->FindObjectAny(
"h_totalAmplitudeHOperEvent");
1658 JDBEYESJ3->SetStats(0);
1659 JDBEYESJ3->SetMarkerStyle(20);
1660 JDBEYESJ3->SetMarkerSize(0.8);
1661 JDBEYESJ3->GetYaxis()->SetLabelSize(0.04);
1662 JDBEYESJ3->SetXTitle(
"iEvent \b");
1663 JDBEYESJ3->SetYTitle(
"totalAmplitude perEvent \b");
1664 JDBEYESJ3->SetTitle(
"HO \b");
1665 JDBEYESJ3->SetMarkerColor(2);
1666 JDBEYESJ3->SetLineColor(1);
1667 JDBEYESJ3->SetMinimum(0.8);
1668 JDBEYESJ3->Draw(
"HIST same P0");
1673 cmain1->Print(
"EVENTDEPENDENCE.png");
1676 std::cout <<
" EVENTDEPENDENCE " << std::endl;
1681 gStyle->SetOptTitle(0);
1682 TCanvas *cmain =
new TCanvas(
"cmain",
"MAP", 1000, 1000);
1686 Map_ALL->SetTitleOffset(1.3,
"Y");
1687 Map_ALL->SetXTitle(
"#eta \b");
1688 Map_ALL->SetYTitle(
"#phi \b");
1689 Map_ALL->Draw(
"COLZ");
1690 Map_ALL->GetYaxis()->SetRangeUser(0, 72.);
1691 Map_ALL->GetZaxis()->SetRangeUser(0, 1.);
1694 cmain->Print(
"MAP.png");
1703 std::string raw_class, raw_class1, raw_class2, raw_class3;
1706 for (
int sub = 1; sub <= 4; sub++) {
1707 ofstream htmlFileT, htmlFileC, htmlFileD, htmlFileP, htmlFileS;
1709 htmlFileT.open(
"HB_Tile.html");
1710 htmlFileC.open(
"HB_Calib.html");
1711 htmlFileD.open(
"HB_Drift.html");
1712 htmlFileP.open(
"HB_Pedestals.html");
1713 htmlFileS.open(
"HB_Shapes.html");
1716 htmlFileT.open(
"HE_Tile.html");
1717 htmlFileC.open(
"HE_Calib.html");
1718 htmlFileD.open(
"HE_Drift.html");
1719 htmlFileP.open(
"HE_Pedestals.html");
1720 htmlFileS.open(
"HE_Shapes.html");
1723 htmlFileT.open(
"HO_Tile.html");
1724 htmlFileC.open(
"HO_Calib.html");
1725 htmlFileD.open(
"HO_Drift.html");
1726 htmlFileP.open(
"HO_Pedestals.html");
1727 htmlFileS.open(
"HO_Shapes.html");
1730 htmlFileT.open(
"HF_Tile.html");
1731 htmlFileC.open(
"HF_Calib.html");
1732 htmlFileD.open(
"HF_Drift.html");
1733 htmlFileP.open(
"HF_Pedestals.html");
1734 htmlFileS.open(
"HF_Shapes.html");
1738 htmlFileT <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
1739 htmlFileT <<
"<head>" << std::endl;
1740 htmlFileT <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
1741 htmlFileT <<
"<title> Remote Monitoring Tool Global</title>" << std::endl;
1742 htmlFileT <<
"<style type=\"text/css\">" << std::endl;
1743 htmlFileT <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
1745 htmlFileT <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
1746 htmlFileT <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
1747 "text-align: center;}"
1749 htmlFileT <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
1750 htmlFileT <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
1751 htmlFileT <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
1752 htmlFileT <<
"</style>" << std::endl;
1753 htmlFileT <<
"<body>" << std::endl;
1756 htmlFileT <<
"<h1> Criteria for megatile channels for HB, RUN = " << runnumber <<
" </h1>" << std::endl;
1758 htmlFileT <<
"<h1> Criteria for megatile channels for HE, RUN = " << runnumber <<
" </h1>" << std::endl;
1760 htmlFileT <<
"<h1> Criteria for megatile channels for HO, RUN = " << runnumber <<
" </h1>" << std::endl;
1762 htmlFileT <<
"<h1> Criteria for megatile channels for HF, RUN = " << runnumber <<
" </h1>" << std::endl;
1763 htmlFileT <<
"<br>" << std::endl;
1767 htmlFileT <<
"<h2> 0. Entries for each channel.</h3>" << std::endl;
1768 htmlFileT <<
"<h3> 0.A. Entries in each channel for each depth.</h3>" << std::endl;
1769 htmlFileT <<
"<h4> Channel legend: color is number of hits in digi collection </h4>" << std::endl;
1771 htmlFileT <<
" <img src=\"MapRateEntryHB.png\" />" << std::endl;
1773 htmlFileT <<
" <img src=\"MapRateEntryHE.png\" />" << std::endl;
1775 htmlFileT <<
" <img src=\"MapRateEntryHO.png\" />" << std::endl;
1777 htmlFileT <<
" <img src=\"MapRateEntryHF.png\" />" << std::endl;
1778 htmlFileT <<
"<br>" << std::endl;
1781 htmlFileT <<
"<h2> 1. Cm criterion: CapID errors for each channel.</h3>" << std::endl;
1782 htmlFileT <<
"<h3> 1.A. Rate of CapId failures in each channel for each depth.</h3>" << std::endl;
1783 htmlFileT <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
1785 htmlFileT <<
" <img src=\"MapRateCapIDHB.png\" />" << std::endl;
1787 htmlFileT <<
" <img src=\"MapRateCapIDHE.png\" />" << std::endl;
1789 htmlFileT <<
" <img src=\"MapRateCapIDHO.png\" />" << std::endl;
1791 htmlFileT <<
" <img src=\"MapRateCapIDHF.png\" />" << std::endl;
1792 htmlFileT <<
"<br>" << std::endl;
1795 htmlFileT <<
"<h2> 2. Am criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel. </h3>"
1797 htmlFileT <<
"<h3> 2.A. Full ADC amplitude distribution over all events, channels and depths.</h3>" << std::endl;
1798 htmlFileT <<
"<h4> Legend: Bins less " << MIN_M[2][sub] <<
" correpond to bad ADC amplitude </h4>" << std::endl;
1800 htmlFileT <<
" <img src=\"HistAmplHB.png\" />" << std::endl;
1802 htmlFileT <<
" <img src=\"HistAmplHE.png\" />" << std::endl;
1804 htmlFileT <<
" <img src=\"HistAmplHO.png\" />" << std::endl;
1806 htmlFileT <<
" <img src=\"HistAmplHF.png\" />" << std::endl;
1807 htmlFileT <<
"<br>" << std::endl;
1808 htmlFileT <<
"<h3> 2.B. Rate of bad ADC amplitude (<" << MIN_M[2][sub] <<
") in each channel for each depth. </h3>"
1810 htmlFileT <<
"<h4> Channel legend: white - good, other colours - bad. </h4>" << std::endl;
1812 htmlFileT <<
" <img src=\"MapRateAmplHB.png\" />" << std::endl;
1814 htmlFileT <<
" <img src=\"MapRateAmplHE.png\" />" << std::endl;
1816 htmlFileT <<
" <img src=\"MapRateAmplHO.png\" />" << std::endl;
1818 htmlFileT <<
" <img src=\"MapRateAmplHF.png\" />" << std::endl;
1819 htmlFileT <<
"<br>" << std::endl;
1822 htmlFileT <<
"<h2> 3. Wm criterion: RMS (width) of ADC amplutude for each channel.</h3>" << std::endl;
1823 htmlFileT <<
"<h3> 3.A. RMS distribution over all events, channel and depth.</h3>" << std::endl;
1824 htmlFileT <<
"<h4> Legend: Bins less " << MIN_M[3][sub] <<
" and more " << MAX_M[3][sub]
1825 <<
" correpond to bad RMS </h4>" << std::endl;
1827 htmlFileT <<
" <img src=\"HistRMSHB.png\" />" << std::endl;
1829 htmlFileT <<
" <img src=\"HistRMSHE.png\" />" << std::endl;
1831 htmlFileT <<
" <img src=\"HistRMSHO.png\" />" << std::endl;
1833 htmlFileT <<
" <img src=\"HistRMSHF.png\" />" << std::endl;
1834 htmlFileT <<
"<br>" << std::endl;
1835 htmlFileT <<
"<h3> 3.B. Rate of bad RMS (<" << MIN_M[3][sub] <<
",>" << MAX_M[3][sub]
1836 <<
") in each channel for each depth.</h3>" << std::endl;
1837 htmlFileT <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
1839 htmlFileT <<
" <img src=\"MapRateRMSHB.png\" />" << std::endl;
1841 htmlFileT <<
" <img src=\"MapRateRMSHE.png\" />" << std::endl;
1843 htmlFileT <<
" <img src=\"MapRateRMSHO.png\" />" << std::endl;
1845 htmlFileT <<
" <img src=\"MapRateRMSHF.png\" />" << std::endl;
1846 htmlFileT <<
"<br>" << std::endl;
1849 htmlFileT <<
"<h2> 4. Rm criterion: Ratio ADC value sum over four near maximum (-2, -1, max, +1) TS to ADC value "
1850 "sum over all TS for each channel. </h3>"
1852 htmlFileT <<
"<h3> 4.A. Ratio distribution over all events, channels and depths.</h3>" << std::endl;
1853 htmlFileT <<
"<h4> Legend: Bins less " << MIN_M[4][sub] <<
" and more " << MAX_M[4][sub]
1854 <<
" correpond to bad ratio </h4>" << std::endl;
1856 htmlFileT <<
" <img src=\"Hist43TStoAllTSHB.png\" />" << std::endl;
1858 htmlFileT <<
" <img src=\"Hist43TStoAllTSHE.png\" />" << std::endl;
1860 htmlFileT <<
" <img src=\"Hist43TStoAllTSHO.png\" />" << std::endl;
1862 htmlFileT <<
" <img src=\"Hist43TStoAllTSHF.png\" />" << std::endl;
1863 htmlFileT <<
"<br>" << std::endl;
1864 htmlFileT <<
"<h3> 4.B. Rate of bad ratio (<" << MIN_M[4][sub] <<
", >" << MAX_M[4][sub]
1865 <<
") in each channel for each depth.</h3>" << std::endl;
1866 htmlFileT <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
1868 htmlFileT <<
" <img src=\"MapRate43TStoAllTSHB.png\" />" << std::endl;
1870 htmlFileT <<
" <img src=\"MapRate43TStoAllTSHE.png\" />" << std::endl;
1872 htmlFileT <<
" <img src=\"MapRate43TStoAllTSHO.png\" />" << std::endl;
1874 htmlFileT <<
" <img src=\"MapRate43TStoAllTSHF.png\" />" << std::endl;
1875 htmlFileT <<
"<br>" << std::endl;
1878 htmlFileT <<
"<h2> 5. TNm criterion: Mean TS position for each channel.</h3>" << std::endl;
1879 htmlFileT <<
"<h3> 5.A. TN position distribution over all events, channels and depths.</h3>" << std::endl;
1880 htmlFileT <<
"<h4> Legend: Bins less " << MIN_M[5][sub] <<
" and more " << MAX_M[5][sub]
1881 <<
" correpond to bad mean position </h4>" << std::endl;
1883 htmlFileT <<
" <img src=\"HistMeanPosHB.png\" />" << std::endl;
1885 htmlFileT <<
" <img src=\"HistMeanPosHE.png\" />" << std::endl;
1887 htmlFileT <<
" <img src=\"HistMeanPosHO.png\" />" << std::endl;
1889 htmlFileT <<
" <img src=\"HistMeanPosHF.png\" />" << std::endl;
1890 htmlFileT <<
"<br>" << std::endl;
1891 htmlFileT <<
"<h3> 5.B. Rate of bad TN position (<" << MIN_M[5][sub] <<
", >" << MAX_M[5][sub]
1892 <<
") in each channel for each depth. </h3>" << std::endl;
1893 htmlFileT <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
1895 htmlFileT <<
" <img src=\"MapRateMeanPosHB.png\" />" << std::endl;
1897 htmlFileT <<
" <img src=\"MapRateMeanPosHE.png\" />" << std::endl;
1899 htmlFileT <<
" <img src=\"MapRateMeanPosHO.png\" />" << std::endl;
1901 htmlFileT <<
" <img src=\"MapRateMeanPosHF.png\" />" << std::endl;
1902 htmlFileT <<
"<br>" << std::endl;
1905 htmlFileT <<
"<h2> 6.TXm criterion: Maximum TS position for each channel.</h3>" << std::endl;
1906 htmlFileT <<
"<h3> 6.A. TX position distribution over all events, channel and depth.</h3>" << std::endl;
1907 htmlFileT <<
"<h4> Legend: Bins less " << MIN_M[6][sub] <<
" and more " << MAX_M[6][sub]
1908 <<
" correpond to bad position </h4>" << std::endl;
1910 htmlFileT <<
" <img src=\"HistMaxPosHB.png\" />" << std::endl;
1912 htmlFileT <<
" <img src=\"HistMaxPosHE.png\" />" << std::endl;
1914 htmlFileT <<
" <img src=\"HistMaxPosHO.png\" />" << std::endl;
1916 htmlFileT <<
" <img src=\"HistMaxPosHF.png\" />" << std::endl;
1917 htmlFileT <<
"<br>" << std::endl;
1918 htmlFileT <<
"<h3> 6.B. Rate of bad TX position (<" << MIN_M[6][sub] <<
", >" << MAX_M[6][sub]
1919 <<
") in each channel for each depth. </h3>" << std::endl;
1920 htmlFileT <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
1922 htmlFileT <<
" <img src=\"MapRateMaxPosHB.png\" />" << std::endl;
1924 htmlFileT <<
" <img src=\"MapRateMaxPosHE.png\" />" << std::endl;
1926 htmlFileT <<
" <img src=\"MapRateMaxPosHO.png\" />" << std::endl;
1928 htmlFileT <<
" <img src=\"MapRateMaxPosHF.png\" />" << std::endl;
1929 htmlFileT <<
"<br>" << std::endl;
1931 htmlFileT <<
"</body> " << std::endl;
1932 htmlFileT <<
"</html> " << std::endl;
1936 htmlFileP <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
1937 htmlFileP <<
"<head>" << std::endl;
1938 htmlFileP <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
1939 htmlFileP <<
"<title> Remote Monitoring Tool Global</title>" << std::endl;
1940 htmlFileP <<
"<style type=\"text/css\">" << std::endl;
1941 htmlFileP <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
1943 htmlFileP <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
1944 htmlFileP <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
1945 "text-align: center;}"
1947 htmlFileP <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
1948 htmlFileP <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
1949 htmlFileP <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
1950 htmlFileP <<
"</style>" << std::endl;
1951 htmlFileP <<
"<body>" << std::endl;
1954 htmlFileP <<
"<h1> Pedestals for HB, RUN = " << runnumber <<
" </h1>" << std::endl;
1956 htmlFileP <<
"<h1> Pedestals for HE, RUN = " << runnumber <<
" </h1>" << std::endl;
1958 htmlFileP <<
"<h1> Pedestals for HO, RUN = " << runnumber <<
" </h1>" << std::endl;
1960 htmlFileP <<
"<h1> Pedestals for HF, RUN = " << runnumber <<
" </h1>" << std::endl;
1961 htmlFileP <<
"<br>" << std::endl;
1964 htmlFileP <<
"<h2> 1.Pm criterion: Pedestals for each CapID .</h3>" << std::endl;
1965 htmlFileP <<
"<h3> 1.A. Pedestal distribution over all events, channels for each CapID and all depths.</h3>"
1967 htmlFileP <<
"<h4> Legend: Bins less " << Pedest[0][sub] <<
" correpond to bad Pedestals </h4>" << std::endl;
1969 htmlFileP <<
" <img src=\"HistPedestalsHB.png\" />" << std::endl;
1971 htmlFileP <<
" <img src=\"HistPedestalsHE.png\" />" << std::endl;
1973 htmlFileP <<
" <img src=\"HistPedestalsHO.png\" />" << std::endl;
1975 htmlFileP <<
" <img src=\"HistPedestalsHF.png\" />" << std::endl;
1976 htmlFileP <<
"<br>" << std::endl;
1977 htmlFileP <<
"<h3> 1.B. Rate of channels at very low Pedestals at least in one CapID for each depth.</h3>"
1979 htmlFileP <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
1981 htmlFileP <<
" <img src=\"MapRatePedHB.png\" />" << std::endl;
1983 htmlFileP <<
" <img src=\"MapRatePedHE.png\" />" << std::endl;
1985 htmlFileP <<
" <img src=\"MapRatePedHO.png\" />" << std::endl;
1987 htmlFileP <<
" <img src=\"MapRatePedHF.png\" />" << std::endl;
1990 htmlFileP <<
"<h2> 2.pWm criterion: Pedestal Widths for each CapID .</h3>" << std::endl;
1991 htmlFileP <<
"<h3> 2.A. Pedestal Widths distribution over all events, channels for each CapID and all depths.</h3>"
1993 htmlFileP <<
"<h4> Legend: Bins less " << Pedest[1][sub] <<
" correpond to bad Pedestal Widths </h4>" << std::endl;
1995 htmlFileP <<
" <img src=\"HistPedestalWidthsHB.png\" />" << std::endl;
1997 htmlFileP <<
" <img src=\"HistPedestalWidthsHE.png\" />" << std::endl;
1999 htmlFileP <<
" <img src=\"HistPedestalWidthsHO.png\" />" << std::endl;
2001 htmlFileP <<
" <img src=\"HistPedestalWidthsHF.png\" />" << std::endl;
2002 htmlFileP <<
"<br>" << std::endl;
2003 htmlFileP <<
"<h3> 2.B. Rate of channels at very low Pedestal Widths at least in one CapID for each depth.</h3>"
2005 htmlFileP <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
2007 htmlFileP <<
" <img src=\"MapRatePedWidthsHB.png\" />" << std::endl;
2009 htmlFileP <<
" <img src=\"MapRatePedWidthsHE.png\" />" << std::endl;
2011 htmlFileP <<
" <img src=\"MapRatePedWidthsHO.png\" />" << std::endl;
2013 htmlFileP <<
" <img src=\"MapRatePedWidthsHF.png\" />" << std::endl;
2016 htmlFileP <<
"<h2> 3.Pedestal and pedestalWidths vs Amplitude .</h3>" << std::endl;
2017 htmlFileP <<
"<h3> 3.A. Correlation of Pedestal(pedestalWidths) and Amplitude over all channels and events .</h3>"
2019 htmlFileP <<
"<h4> Legend: colour - entries </h4>" << std::endl;
2021 htmlFileP <<
"<img src=\"CorrelationsMapPedestalVsfullAmplitudeHB.png\" />" << std::endl;
2023 htmlFileP <<
"<img src=\"CorrelationsMapPedestalVsfullAmplitudeHE.png\" />" << std::endl;
2025 htmlFileP <<
"<img src=\"CorrelationsMapPedestalVsfullAmplitudeHO.png\" />" << std::endl;
2027 htmlFileP <<
"<img src=\"CorrelationsMapPedestalVsfullAmplitudeHF.png\" />" << std::endl;
2028 htmlFileP <<
"<br>" << std::endl;
2032 htmlFileS <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
2033 htmlFileS <<
"<head>" << std::endl;
2034 htmlFileS <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
2035 htmlFileS <<
"<title> Remote Monitoring Tool Global</title>" << std::endl;
2036 htmlFileS <<
"<style type=\"text/css\">" << std::endl;
2037 htmlFileS <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
2039 htmlFileS <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
2040 htmlFileS <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
2041 "text-align: center;}"
2043 htmlFileS <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
2044 htmlFileS <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
2045 htmlFileS <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
2046 htmlFileS <<
"</style>" << std::endl;
2047 htmlFileS <<
"<body>" << std::endl;
2050 htmlFileS <<
"<h1> ADC Shape for HB, RUN = " << runnumber <<
" </h1>" << std::endl;
2052 htmlFileS <<
"<h1> ADC Shape for HE, RUN = " << runnumber <<
" </h1>" << std::endl;
2054 htmlFileS <<
"<h1> ADC Shape for HO, RUN = " << runnumber <<
" </h1>" << std::endl;
2056 htmlFileS <<
"<h1> ADC Shape for HF, RUN = " << runnumber <<
" </h1>" << std::endl;
2057 htmlFileP <<
"<br>" << std::endl;
2059 htmlFileS <<
"<h2> 1.Mean ADC Shape </h3>" << std::endl;
2060 htmlFileS <<
"<h3> 1.A. ADC shape averaged over all good channels, depth and events.</h3>" << std::endl;
2063 htmlFileS <<
" <img src=\"HistGoodTSshapesHB.png\" />" << std::endl;
2065 htmlFileS <<
" <img src=\"HistGoodTSshapesHE.png\" />" << std::endl;
2067 htmlFileS <<
" <img src=\"HistGoodTSshapesHO.png\" />" << std::endl;
2069 htmlFileS <<
" <img src=\"HistGoodTSshapesHF.png\" />" << std::endl;
2070 htmlFileS <<
"<br>" << std::endl;
2071 htmlFileS <<
"<h3> 1.B. ADC shape averaged over all bad channels, depth and events. Bad channels are selected by 5 "
2072 "criteria: CapId, A, W, P, Pw</h3>"
2076 htmlFileS <<
" <img src=\"HistBadTSshapesHB.png\" />" << std::endl;
2078 htmlFileS <<
" <img src=\"HistBadTSshapesHE.png\" />" << std::endl;
2080 htmlFileS <<
" <img src=\"HistBadTSshapesHO.png\" />" << std::endl;
2082 htmlFileS <<
" <img src=\"HistBadTSshapesHF.png\" />" << std::endl;
2084 htmlFileS <<
"<h2> 2. Pattern of channels for Sub-Detector over depth,eta.phi </h3>" << std::endl;
2085 htmlFileS <<
"<h3> 2.A. reminder:.......................... for HBHE, TS=2;...................................... "
2086 "for HF, TS=1;..................................... for HO, TS=0,1,2 </h3>"
2089 htmlFileS <<
" <img src=\"Hist_mapDepthAllTS2_HB.png\" />" << std::endl;
2091 htmlFileS <<
" <img src=\"Hist_mapDepthAllTS2_HE.png\" />" << std::endl;
2093 htmlFileS <<
" <img src=\"Hist_mapDepthAllTS012_HO.png\" />" << std::endl;
2095 htmlFileS <<
" <img src=\"Hist_mapDepthAllTS1_HF.png\" />" << std::endl;
2096 htmlFileS <<
"<br>" << std::endl;
2106 for (
int sub = 1; sub <= 4; sub++) {
2109 htmlFile.open(
"HB.html");
2111 htmlFile.open(
"HE.html");
2113 htmlFile.open(
"HO.html");
2115 htmlFile.open(
"HF.html");
2117 htmlFile <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
2118 htmlFile <<
"<head>" << std::endl;
2119 htmlFile <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
2120 htmlFile <<
"<title> Remote Monitoring Tool </title>" << std::endl;
2121 htmlFile <<
"<style type=\"text/css\">" << std::endl;
2122 htmlFile <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
2124 htmlFile <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
2125 htmlFile <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
2126 "text-align: center;}"
2128 htmlFile <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
2129 htmlFile <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
2130 htmlFile <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
2131 htmlFile <<
" td.s5 { font-family: arial, arial ce, helvetica; background-color: #FF00FF; }" << std::endl;
2132 htmlFile <<
" td.s6 { font-family: arial, arial ce, helvetica; background-color: #9ACD32; }" << std::endl;
2133 htmlFile <<
" td.s7 { font-family: arial, arial ce, helvetica; background-color: #32CD32; }" << std::endl;
2134 htmlFile <<
" td.s8 { font-family: arial, arial ce, helvetica; background-color: #00FFFF; }" << std::endl;
2135 htmlFile <<
" td.s9 { font-family: arial, arial ce, helvetica; background-color: #FFE4E1; }" << std::endl;
2136 htmlFile <<
" td.s10 { font-family: arial, arial ce, helvetica; background-color: #A0522D; }" << std::endl;
2137 htmlFile <<
" td.s11 { font-family: arial, arial ce, helvetica; background-color: #1E90FF; }" << std::endl;
2138 htmlFile <<
" td.s12 { font-family: arial, arial ce, helvetica; background-color: #00BFFF; }" << std::endl;
2139 htmlFile <<
" td.s13 { font-family: arial, arial ce, helvetica; background-color: #FFFF00; }" << std::endl;
2140 htmlFile <<
" td.s14 { font-family: arial, arial ce, helvetica; background-color: #B8860B; }" << std::endl;
2141 htmlFile <<
"</style>" << std::endl;
2142 htmlFile <<
"<body>" << std::endl;
2144 htmlFile <<
"<h1> HCAL BARREL, RUN = " << runnumber <<
" </h1>" << std::endl;
2146 htmlFile <<
"<h1> HCAL ENDCAP, RUN = " << runnumber <<
" </h1>" << std::endl;
2148 htmlFile <<
"<h1> HCAL OUTER, RUN = " << runnumber <<
" </h1>" << std::endl;
2150 htmlFile <<
"<h1> HCAL FORWARD, RUN = " << runnumber <<
" </h1>" << std::endl;
2151 htmlFile <<
"<br>" << std::endl;
2153 htmlFile <<
"<a name=\"Top\"></a>\n";
2154 htmlFile <<
"<b>Contents:<br>\n";
2155 htmlFile <<
"1. <a href=\"#AnalysisResults\">Analysis results</a><br>\n";
2156 htmlFile <<
"2. <a href=\"#Status\">Status</a><br>\n";
2157 htmlFile <<
"2A. <a href=\"#ChannelMap\">Channel map</a><br>\n";
2161 htmlFile <<
"<a name=\"AnalysisResults\"></a>\n";
2163 htmlFile <<
"<h2> 1. Analysis results for HB</h2>" << std::endl;
2165 htmlFile <<
"<h2> 1. Analysis results for HE</h2>" << std::endl;
2167 htmlFile <<
"<h2> 1. Analysis results for HO</h2>" << std::endl;
2169 htmlFile <<
"<h2> 1. Analysis results for HF</h2>" << std::endl;
2170 htmlFile <<
"<table width=\"400\">" << std::endl;
2171 htmlFile <<
"<tr>" << std::endl;
2175 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2176 << runnumber <<
"/HB_Tile.html\">Megatile Channels</a></td>" << std::endl;
2181 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2182 << runnumber <<
"/HB_Pedestals.html\">Pedestals</a></td>" << std::endl;
2183 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2184 << runnumber <<
"/HB_Shapes.html\">ADC Shapes</a></td>" << std::endl;
2188 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2189 << runnumber <<
"/HE_Tile.html\">Megatile Channels</a></td>" << std::endl;
2194 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2195 << runnumber <<
"/HE_Pedestals.html\">Pedestals</a></td>" << std::endl;
2196 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2197 << runnumber <<
"/HE_Shapes.html\">ADC Shapes</a></td>" << std::endl;
2200 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2201 << runnumber <<
"/HO_Tile.html\">Megatile Channels</a></td>" << std::endl;
2204 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2205 << runnumber <<
"/HO_Pedestals.html\">Pedestals</a></td>" << std::endl;
2206 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2207 << runnumber <<
"/HO_Shapes.html\">ADC Shapes</a></td>" << std::endl;
2210 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2211 << runnumber <<
"/HF_Tile.html\">Megatile Channels</a></td>" << std::endl;
2214 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2215 << runnumber <<
"/HF_Pedestals.html\">Pedestals</a></td>" << std::endl;
2216 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2217 << runnumber <<
"/HF_Shapes.html\">ADC Shapes</a></td>" << std::endl;
2220 htmlFile <<
"</tr>" << std::endl;
2221 htmlFile <<
"</table>" << std::endl;
2222 htmlFile <<
"<br>" << std::endl;
2224 htmlFile <<
"<a name=\"Status\"></a>\n";
2226 htmlFile <<
"<h2> 2.Status HB over all criteria </h2>" << std::endl;
2228 htmlFile <<
"<h2> 2.Status HE over all criteria </h2>" << std::endl;
2230 htmlFile <<
"<h2> 2.Status HO over all criteria </h2>" << std::endl;
2232 htmlFile <<
"<h2> 2.Status HF over all criteria </h2>" << std::endl;
2234 htmlFile <<
"<a name=\"ChannelMap\"></a>\n";
2235 htmlFile <<
"<h3> 2.A.Channel map for each Depth </h3>" << std::endl;
2236 htmlFile <<
"<h4> Channel legend: yellow - good, white - "
2237 "not applicable or out of range </h4>"
2240 htmlFile <<
" <img src=\"MAPHB.png\" />" << std::endl;
2242 htmlFile <<
" <img src=\"MAPHE.png\" />" << std::endl;
2244 htmlFile <<
" <img src=\"MAPHO.png\" />" << std::endl;
2246 htmlFile <<
" <img src=\"MAPHF.png\" />" << std::endl;
2247 htmlFile <<
"<br>" << std::endl;
2248 htmlFile <<
"<a href=\"#Top\">to top</a><br>\n";
2613 htmlFile <<
"</body> " << std::endl;
2614 htmlFile <<
"</html> " << std::endl;
2667 htmlFile.open(
"MAP.html");
2668 htmlFile <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
2669 htmlFile <<
"<head>" << std::endl;
2670 htmlFile <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
2671 htmlFile <<
"<title> Remote Monitoring Tool </title>" << std::endl;
2672 htmlFile <<
"<style type=\"text/css\">" << std::endl;
2673 htmlFile <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
2675 htmlFile <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
2676 htmlFile <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
2677 "text-align: center;}"
2679 htmlFile <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
2680 htmlFile <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
2681 htmlFile <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
2682 htmlFile <<
" td.s5 { font-family: arial, arial ce, helvetica; background-color: #FF00FF; }" << std::endl;
2683 htmlFile <<
" td.s6 { font-family: arial, arial ce, helvetica; background-color: #9ACD32; }" << std::endl;
2684 htmlFile <<
" td.s7 { font-family: arial, arial ce, helvetica; background-color: #32CD32; }" << std::endl;
2685 htmlFile <<
"</style>" << std::endl;
2686 htmlFile <<
"<body>" << std::endl;
2688 htmlFile <<
"<h1> Remote Monitoring Tool, RUN = " << runnumber <<
". </h1>" << std::endl;
2689 htmlFile <<
"<br>" << std::endl;
2691 htmlFile <<
"<h2> 1. Analysis results for subdetectors </h2>" << std::endl;
2692 htmlFile <<
"<table width=\"400\">" << std::endl;
2693 htmlFile <<
"<tr>" << std::endl;
2703 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2704 << runnumber <<
"/HB.html\">HB</a></td>" << std::endl;
2705 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2706 << runnumber <<
"/HE.html\">HE</a></td>" << std::endl;
2707 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2708 << runnumber <<
"/HO.html\">HO</a></td>" << std::endl;
2709 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2710 << runnumber <<
"/HF.html\">HF</a></td>" << std::endl;
2712 htmlFile <<
"</tr>" << std::endl;
2713 htmlFile <<
"</table>" << std::endl;
2714 htmlFile <<
"<br>" << std::endl;
2716 htmlFile <<
"<h2> 2. HCAL status over all criteria and subdetectors </h2>" << std::endl;
2717 htmlFile <<
"<h3> 2.A. Channels in detector space </h3>" << std::endl;
2718 htmlFile <<
"<h4> Legend for channel status: green - good, others - may be a problems, white - not applicable or out "
2721 htmlFile <<
" <img src=\"MAP.png\" />" << std::endl;
2722 htmlFile <<
"<br>" << std::endl;
2724 htmlFile <<
"<h3> 2.B. List of Bad channels </h3>" << std::endl;
2728 htmlFile <<
" <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/HELP.html\"> "
2729 "Description of criteria for bad channel selection</a></td>"
2732 htmlFile <<
"<table>" << std::endl;
2734 htmlFile <<
"<td class=\"s4\" align=\"center\">#</td>" << std::endl;
2735 htmlFile <<
"<td class=\"s1\" align=\"center\">ETA</td>" << std::endl;
2736 htmlFile <<
"<td class=\"s1\" align=\"center\">PHI</td>" << std::endl;
2737 htmlFile <<
"<td class=\"s1\" align=\"center\">DEPTH</td>" << std::endl;
2738 htmlFile <<
"<td class=\"s1\" align=\"center\">RBX</td>" << std::endl;
2739 htmlFile <<
"<td class=\"s1\" align=\"center\">RM</td>" << std::endl;
2740 htmlFile <<
"<td class=\"s1\" align=\"center\">PIXEL</td>" << std::endl;
2741 htmlFile <<
"<td class=\"s1\" align=\"center\">RM_FIBER</td>" << std::endl;
2742 htmlFile <<
"<td class=\"s1\" align=\"center\">FIBER_CH</td>" << std::endl;
2743 htmlFile <<
"<td class=\"s1\" align=\"center\">QIE</td>" << std::endl;
2744 htmlFile <<
"<td class=\"s1\" align=\"center\">ADC</td>" << std::endl;
2745 htmlFile <<
"<td class=\"s1\" align=\"center\">CRATE</td>" << std::endl;
2746 htmlFile <<
"<td class=\"s1\" align=\"center\">DCC</td>" << std::endl;
2747 htmlFile <<
"<td class=\"s1\" align=\"center\">SPIGOT</td>" << std::endl;
2748 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FIBER</td>" << std::endl;
2749 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_SLOT</td>" << std::endl;
2750 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FPGA</td>" << std::endl;
2751 htmlFile <<
"<td class=\"s5\" align=\"center\">RMT-criteria</td>" << std::endl;
2752 htmlFile <<
"</tr>" << std::endl;
2796 htmlFile <<
"</table>" << std::endl;
2797 htmlFile <<
"<br>" << std::endl;
2939 htmlFile <<
"</body> " << std::endl;
2940 htmlFile <<
"</html> " << std::endl;
#define MAX(a, b)
Returns the max value between a and b.
#define MIN(a, b)
Returns the min value between a and b.