33 gROOT->SetStyle(
"Plain");
34 gStyle->SetOptStat(0);
35 gStyle->SetOptTitle(1);
43 sprintf(refname,
"%s",
argv[2]);
44 sprintf(runtypeC,
"%s",
argv[3]);
45 std::cout <<
fname <<
" " << refname <<
" " << runtypeC << std::endl;
54 for (
unsigned int i = promt.size() - 11;
i < promt.size() - 5;
i++)
56 string refrunnumber =
"";
58 for (
unsigned int i = promt.size() - 11;
i < promt.size() - 5;
i++)
59 refrunnumber += refname[
i];
61 TFile *hfile =
new TFile(
fname,
"READ");
62 TFile *hreffile =
new TFile(refname,
"READ");
72 double MIN_M_LED[7][5] = {{0., 0., 0., 0., 0.},
74 {0, 100., 70., 40., 40.},
75 {0, 0.7, 0.7, 0.1, 0.1},
76 {0, 0.7, 0.6, 0.40, 0.45},
77 {0, 2.5, 1.0, 1.0, 1.0},
78 {0, 1.5, 1.5, 0.5, 0.5}};
79 double MAX_M_LED[7][5] = {{0., 0., 0., 0., 0.},
81 {0, 3000, 500000, 3000, 150000},
82 {0, 2.5, 2.5, 2.8, 2.6},
83 {0, 0.94, 0.95, 1.04, 1.02},
84 {0, 5.5, 5.2, 4.8, 4.2},
85 {0, 6.5, 6.5, 8.5, 8.5}};
86 double MIN_C_LED[7][5] = {{0., 0., 0., 0., 0.},
88 {0, 1000., 1000., 1000., 100.},
89 {0, 1.3, 1.3, 0.7, 0.3},
90 {0, 0.76, 0.76, 0.85, 0.5},
91 {0, 2.4, 2.4, 1.5, 3.5},
92 {0, 1.5, 1.5, 1.5, 3.5}};
93 double MAX_C_LED[7][5] = {{0., 0., 0., 0., 0.},
95 {0, 1E20, 1E20, 1E20, 1E20},
96 {0, 1.9, 1.9, 1.65, 1.5},
97 {0, 0.94, 0.94, 0.99, 0.8},
98 {0, 3.7, 3.7, 2.7, 4.5},
99 {0, 2.5, 2.5, 2.5, 4.5}};
100 double porog_LED[5] = {0., 2., 2., 2., 2.};
101 double Pedest_LED[2][5] = {{0., 0.1, 0.6, 0.1, 0.8},
102 {0., 0.1, 0.1, 0.1, 0.4}};
103 for (
int i = 0;
i <= 6;
i++)
104 for (
int j = 0;
j <= 4;
j++) {
105 MIN_M[
i][
j] = MIN_M_LED[
i][
j];
106 MAX_M[
i][
j] = MAX_M_LED[
i][
j];
107 MIN_C[
i][
j] = MIN_C_LED[
i][
j];
108 MAX_C[
i][
j] = MAX_C_LED[
i][
j];
110 for (
int i = 0;
i <= 4;
i++) {
111 porog[
i] = porog_LED[
i];
112 Pedest[0][
i] = Pedest_LED[0][
i];
113 Pedest[1][
i] = Pedest_LED[1][
i];
119 double MIN_M_LASER[7][5] = {{0., 0., 0., 0., 0.},
120 {0., 0., 0., 0., 0.},
121 {0, 40., 40., 100., 40.},
122 {0, 0.3, 0.9, 0.2, 0.2},
123 {0, 0.5, 0.55, 0.55, 0.60},
124 {0, 5.0, 2.5, 1.1, 5.5},
125 {0, 1.5, 1.5, 1.5, 1.5}};
126 double MAX_M_LASER[7][5] = {{0., 0., 0., 0., 0.},
127 {0., 0., 0., 0., 0.},
128 {0, 3500, 350000, 3500, 150000},
129 {0, 2.5, 3.6, 2.6, 2.1},
130 {0, 1.00, 1.00, 1.04, 1.02},
131 {0, 7.5, 6.5, 4.4, 8.5},
132 {0, 8.5, 8.5, 6.5, 8.5}};
133 double MIN_C_LASER[7][5] = {{0., 0., 0., 0., 0.},
134 {0., 0., 0., 0., 0.},
135 {0, 1000., 1000., 1000., 100.},
136 {0, 1.3, 1.3, 0.7, 0.3},
137 {0, 0.76, 0.76, 0.85, 0.5},
138 {0, 2.4, 2.4, 1.5, 3.5},
139 {0, 1.5, 1.5, 1.5, 3.5}};
140 double MAX_C_LASER[7][5] = {{0., 0., 0., 0., 0.},
141 {0., 0., 0., 0., 0.},
142 {0, 1E20, 1E20, 1E20, 1E20},
143 {0, 1.9, 1.9, 1.65, 1.5},
144 {0, 0.94, 0.94, 1.0, 0.8},
145 {0, 3.7, 3.7, 2.7, 4.5},
146 {0, 2.5, 2.5, 2.5, 4.5}};
147 double porog_LASER[5] = {0., 2., 2., 2., 2.};
149 double Pedest_LASER[2][5] = {{0., 0.1, 0.6, 0.1, 0.8},
150 {0., 0.1, 0.1, 0.1, 0.4}};
151 for (
int i = 0;
i <= 6;
i++)
152 for (
int j = 0;
j <= 4;
j++) {
153 MIN_M[
i][
j] = MIN_M_LASER[
i][
j];
154 MAX_M[
i][
j] = MAX_M_LASER[
i][
j];
155 MIN_C[
i][
j] = MIN_C_LASER[
i][
j];
156 MAX_C[
i][
j] = MAX_C_LASER[
i][
j];
158 for (
int i = 0;
i <= 4;
i++) {
159 porog[
i] = porog_LASER[
i];
160 Pedest[0][
i] = Pedest_LASER[0][
i];
161 Pedest[1][
i] = Pedest_LASER[1][
i];
166 double MIN_M_PEDESTAL[7][5] = {{0., 0., 0., 0., 0.},
167 {0., 0., 0., 0., 0.},
168 {0, 10., 10., 200., 5.},
169 {0, 2.7, 2.7, 2.7, 0.2},
170 {0, 0.31, 0.31, 0.05, 0.15},
171 {0, 4.5, 4.5, 4.5, 2.0},
172 {0, 0.5, 0.5, 0.5, 0.5}};
173 double MAX_M_PEDESTAL[7][5] = {{0., 0., 0., 0., 0.},
174 {0., 0., 0., 0., 0.},
175 {0, 2500., 250000., 2500., 150000.},
176 {0, 3.0, 3.0, 5.0, 3.0},
177 {0, 0.95, 0.95, 1.00, 0.98},
178 {0, 4.6, 4.6, 4.6, 7.0},
179 {0, 9.5, 9.5, 8.5, 8.5}};
180 double MIN_C_PEDESTAL[7][5] = {{0., 0., 0., 0., 0.},
181 {0., 0., 0., 0., 0.},
182 {0, 1000., 1000., 1000., 100.},
183 {0, 1.3, 1.3, 0.7, 0.3},
184 {0, 0.76, 0.76, 0.85, 0.5},
185 {0, 2.4, 2.4, 1.5, 3.5},
186 {0, 1.5, 1.5, 1.5, 3.5}};
187 double MAX_C_PEDESTAL[7][5] = {{0., 0., 0., 0., 0.},
188 {0., 0., 0., 0., 0.},
189 {0, 1E20, 1E20, 1E20, 1E20},
190 {0, 1.9, 1.9, 1.65, 1.5},
191 {0, 0.94, 0.94, 1.0, 0.8},
192 {0, 3.7, 3.7, 2.7, 4.5},
193 {0, 2.5, 2.5, 2.5, 4.5}};
194 double porog_PEDESTAL[5] = {0., 2., 2., 2., 2.};
196 double Pedest_PEDESTAL[2][5] = {{0., 0.1, 0.6, 0.1, 0.8},
197 {0., 0.1, 0.1, 0.1, 0.4}};
198 for (
int i = 0;
i <= 6;
i++)
199 for (
int j = 0;
j <= 4;
j++) {
200 MIN_M[
i][
j] = MIN_M_PEDESTAL[
i][
j];
201 MAX_M[
i][
j] = MAX_M_PEDESTAL[
i][
j];
202 MIN_C[
i][
j] = MIN_C_PEDESTAL[
i][
j];
203 MAX_C[
i][
j] = MAX_C_PEDESTAL[
i][
j];
205 for (
int i = 0;
i <= 4;
i++) {
206 porog[
i] = porog_PEDESTAL[
i];
207 Pedest[0][
i] = Pedest_PEDESTAL[0][
i];
208 Pedest[1][
i] = Pedest_PEDESTAL[1][
i];
215 cout << MIN_M[2][1] << endl;
221 TCanvas *cHB =
new TCanvas(
"cHB",
"cHB", 1000, 1000);
223 TCanvas *cHE =
new TCanvas(
"cHE",
"cHE", 1500, 1500);
225 TCanvas *cONE =
new TCanvas(
"cONE",
"cONE", 1500, 500);
226 TCanvas *cPED =
new TCanvas(
"cPED",
"cPED", 1000, 500);
228 TCanvas *cHF =
new TCanvas(
"cHF",
"cHF", 1000, 1000);
232 TCanvas *c1x0 =
new TCanvas(
"c1x0",
"c1x0", 300, 10, 800, 700);
234 TCanvas *c1x1 =
new TCanvas(
"c1x1",
"c1x1", 100, 10, 600, 700);
236 TCanvas *c3x5 =
new TCanvas(
"c3x5",
"c3x5", 1000, 1500);
239 char *
str = (
char *)alloca(10000);
257 int k_min[5] = {0, 1, 1, 4, 1};
260 int k_max[5] = {0, 4, 7, 4, 4};
262 TH2F *Map_Ampl[33][5][ALLDEPTH];
263 TH2F *Map_SUB[5][ALLDEPTH];
264 TH1F *HistAmplDepth[22][5][ALLDEPTH];
265 TH1F *HistAmpl[22][5];
267 TH1F *HistPed[3][5][4];
269 TH1F *hist_GoodTSshape[5];
270 TH1F *hist_GoodTSshape0[5];
271 TH1F *hist_BadTSshape[5];
272 TH1F *hist_BadTSshape0[5];
273 TH1F *hist_ADC_All[5];
274 TH1F *hist_ADC_DS[5][ALLDEPTH];
275 TH1F *hist_SumADC[5][ALLDEPTH];
276 TH1F *hist_SumADC0[5][ALLDEPTH];
277 TH1F *hist_SumADC1[5][ALLDEPTH];
279 Map_SUB[1][1] = (TH2F *)hfile->Get(
"h_mapDepth1_HB");
280 Map_SUB[1][2] = (TH2F *)hfile->Get(
"h_mapDepth2_HB");
281 Map_SUB[2][1] = (TH2F *)hfile->Get(
"h_mapDepth1_HE");
282 Map_SUB[2][2] = (TH2F *)hfile->Get(
"h_mapDepth2_HE");
283 Map_SUB[2][3] = (TH2F *)hfile->Get(
"h_mapDepth3_HE");
284 Map_SUB[3][4] = (TH2F *)hfile->Get(
"h_mapDepth4_HO");
285 Map_SUB[4][1] = (TH2F *)hfile->Get(
"h_mapDepth1_HF");
286 Map_SUB[4][2] = (TH2F *)hfile->Get(
"h_mapDepth2_HF");
288 Map_SUB[1][3] = (TH2F *)hfile->Get(
"h_mapDepth3_HB");
289 Map_SUB[1][4] = (TH2F *)hfile->Get(
"h_mapDepth4_HB");
290 Map_SUB[2][4] = (TH2F *)hfile->Get(
"h_mapDepth4_HE");
291 Map_SUB[2][5] = (TH2F *)hfile->Get(
"h_mapDepth5_HE");
292 Map_SUB[2][6] = (TH2F *)hfile->Get(
"h_mapDepth6_HE");
293 Map_SUB[2][7] = (TH2F *)hfile->Get(
"h_mapDepth7_HE");
294 Map_SUB[4][3] = (TH2F *)hfile->Get(
"h_mapDepth3_HF");
295 Map_SUB[4][4] = (TH2F *)hfile->Get(
"h_mapDepth4_HF");
301 for (
int sub = 1; sub <= 4; sub++) {
316 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
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_SUB[sub][
k]->SetTitle(
str);
337 Map_SUB[sub][
k]->SetXTitle(
"#eta \b");
338 Map_SUB[sub][
k]->SetYTitle(
"#phi \b");
339 Map_SUB[sub][
k]->SetZTitle(
"Number of events \b");
341 Map_SUB[sub][
k]->SetTitleOffset(0.8,
"Z");
342 Map_SUB[sub][
k]->Draw(
"COLZ");
343 Map_SUB[sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
364 cHB->Print(
"MapRateEntryHB.png");
368 cHE->Print(
"MapRateEntryHE.png");
372 cONE->Print(
"MapRateEntryHO.png");
376 cHF->Print(
"MapRateEntryHF.png");
385 Map_Ampl[1][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1Error_HB");
386 Map_Ampl[1][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2Error_HB");
387 Map_Ampl[1][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1Error_HE");
388 Map_Ampl[1][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2Error_HE");
389 Map_Ampl[1][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3Error_HE");
390 Map_Ampl[1][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4Error_HO");
391 Map_Ampl[1][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1Error_HF");
392 Map_Ampl[1][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2Error_HF");
394 Map_Ampl[1][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3Error_HB");
395 Map_Ampl[1][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4Error_HB");
396 Map_Ampl[1][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4Error_HE");
397 Map_Ampl[1][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5Error_HE");
398 Map_Ampl[1][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6Error_HE");
399 Map_Ampl[1][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7Error_HE");
400 Map_Ampl[1][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3Error_HF");
401 Map_Ampl[1][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4Error_HF");
403 for (
int sub = 1; sub <= 4; sub++) {
418 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
427 Map_Ampl[1][sub][
k]->Divide(Map_Ampl[1][sub][
k], Map_SUB[sub][
k], 1, 1,
"B");
432 sprintf(
str,
"HB, Depth%d \b",
k);
434 sprintf(
str,
"HE, Depth%d \b",
k);
436 sprintf(
str,
"HO, Depth%d \b",
k);
438 sprintf(
str,
"HF, Depth%d \b",
k);
439 Map_Ampl[1][sub][
k]->SetTitle(
str);
440 Map_Ampl[1][sub][
k]->SetXTitle(
"#eta \b");
441 Map_Ampl[1][sub][
k]->SetYTitle(
"#phi \b");
442 Map_Ampl[1][sub][
k]->SetZTitle(
"Rate \b");
444 Map_Ampl[1][sub][
k]->SetTitleOffset(0.8,
"Z");
445 Map_Ampl[1][sub][
k]->Draw(
"COLZ");
446 Map_Ampl[1][sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
447 Map_Ampl[1][sub][
k]->GetZaxis()->SetRangeUser(0.0001, 1.);
467 cHB->Print(
"MapRateCapIDHB.png");
471 cHE->Print(
"MapRateCapIDHE.png");
475 cONE->Print(
"MapRateCapIDHO.png");
479 cHF->Print(
"MapRateCapIDHF.png");
488 Map_Ampl[2][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1ADCAmpl225_HB");
489 Map_Ampl[2][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2ADCAmpl225_HB");
490 Map_Ampl[2][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1ADCAmpl225_HE");
491 Map_Ampl[2][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2ADCAmpl225_HE");
492 Map_Ampl[2][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3ADCAmpl225_HE");
493 Map_Ampl[2][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4ADCAmpl225_HO");
494 Map_Ampl[2][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1ADCAmpl225_HF");
495 Map_Ampl[2][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2ADCAmpl225_HF");
497 Map_Ampl[2][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3ADCAmpl225_HB");
498 Map_Ampl[2][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4ADCAmpl225_HB");
499 Map_Ampl[2][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4ADCAmpl225_HE");
500 Map_Ampl[2][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5ADCAmpl225_HE");
501 Map_Ampl[2][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6ADCAmpl225_HE");
502 Map_Ampl[2][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7ADCAmpl225_HE");
503 Map_Ampl[2][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3ADCAmpl225_HF");
504 Map_Ampl[2][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4ADCAmpl225_HF");
506 HistAmpl[2][1] = (TH1F *)hfile->Get(
"h_ADCAmpl_HB");
507 HistAmpl[2][2] = (TH1F *)hfile->Get(
"h_ADCAmpl_HE");
508 HistAmpl[2][3] = (TH1F *)hfile->Get(
"h_ADCAmpl_HO");
509 HistAmpl[2][4] = (TH1F *)hfile->Get(
"h_ADCAmpl_HF");
515 Map_Ampl[3][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1Amplitude225_HB");
516 Map_Ampl[3][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2Amplitude225_HB");
517 Map_Ampl[3][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1Amplitude225_HE");
518 Map_Ampl[3][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2Amplitude225_HE");
519 Map_Ampl[3][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3Amplitude225_HE");
520 Map_Ampl[3][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4Amplitude225_HO");
521 Map_Ampl[3][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1Amplitude225_HF");
522 Map_Ampl[3][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2Amplitude225_HF");
524 Map_Ampl[3][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3Amplitude225_HB");
525 Map_Ampl[3][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4Amplitude225_HB");
526 Map_Ampl[3][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4Amplitude225_HE");
527 Map_Ampl[3][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5Amplitude225_HE");
528 Map_Ampl[3][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6Amplitude225_HE");
529 Map_Ampl[3][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7Amplitude225_HE");
530 Map_Ampl[3][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3Amplitude225_HF");
531 Map_Ampl[3][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4Amplitude225_HF");
533 HistAmpl[3][1] = (TH1F *)hfile->Get(
"h_Amplitude_HB");
534 HistAmpl[3][2] = (TH1F *)hfile->Get(
"h_Amplitude_HE");
535 HistAmpl[3][3] = (TH1F *)hfile->Get(
"h_Amplitude_HO");
536 HistAmpl[3][4] = (TH1F *)hfile->Get(
"h_Amplitude_HF");
542 Map_Ampl[4][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1Ampl047_HB");
543 Map_Ampl[4][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2Ampl047_HB");
544 Map_Ampl[4][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1Ampl047_HE");
545 Map_Ampl[4][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2Ampl047_HE");
546 Map_Ampl[4][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3Ampl047_HE");
547 Map_Ampl[4][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4Ampl047_HO");
548 Map_Ampl[4][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1Ampl047_HF");
549 Map_Ampl[4][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2Ampl047_HF");
551 Map_Ampl[4][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3Ampl047_HB");
552 Map_Ampl[4][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4Ampl047_HB");
553 Map_Ampl[4][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4Ampl047_HE");
554 Map_Ampl[4][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5Ampl047_HE");
555 Map_Ampl[4][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6Ampl047_HE");
556 Map_Ampl[4][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7Ampl047_HE");
557 Map_Ampl[4][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3Ampl047_HF");
558 Map_Ampl[4][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4Ampl047_HF");
560 HistAmpl[4][1] = (TH1F *)hfile->Get(
"h_Ampl_HB");
561 HistAmpl[4][2] = (TH1F *)hfile->Get(
"h_Ampl_HE");
562 HistAmpl[4][3] = (TH1F *)hfile->Get(
"h_Ampl_HO");
563 HistAmpl[4][4] = (TH1F *)hfile->Get(
"h_Ampl_HF");
569 Map_Ampl[5][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1TSmeanA225_HB");
570 Map_Ampl[5][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2TSmeanA225_HB");
571 Map_Ampl[5][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1TSmeanA225_HE");
572 Map_Ampl[5][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2TSmeanA225_HE");
573 Map_Ampl[5][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3TSmeanA225_HE");
574 Map_Ampl[5][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmeanA225_HO");
575 Map_Ampl[5][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1TSmeanA225_HF");
576 Map_Ampl[5][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2TSmeanA225_HF");
578 Map_Ampl[5][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3TSmeanA225_HB");
579 Map_Ampl[5][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmeanA225_HB");
580 Map_Ampl[5][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmeanA225_HE");
581 Map_Ampl[5][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5TSmeanA225_HE");
582 Map_Ampl[5][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6TSmeanA225_HE");
583 Map_Ampl[5][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7TSmeanA225_HE");
584 Map_Ampl[5][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3TSmeanA225_HF");
585 Map_Ampl[5][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmeanA225_HF");
587 HistAmpl[5][1] = (TH1F *)hfile->Get(
"h_TSmeanA_HB");
588 HistAmpl[5][2] = (TH1F *)hfile->Get(
"h_TSmeanA_HE");
589 HistAmpl[5][3] = (TH1F *)hfile->Get(
"h_TSmeanA_HO");
590 HistAmpl[5][4] = (TH1F *)hfile->Get(
"h_TSmeanA_HF");
596 Map_Ampl[6][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1TSmaxA225_HB");
597 Map_Ampl[6][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2TSmaxA225_HB");
598 Map_Ampl[6][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1TSmaxA225_HE");
599 Map_Ampl[6][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2TSmaxA225_HE");
600 Map_Ampl[6][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3TSmaxA225_HE");
601 Map_Ampl[6][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmaxA225_HO");
602 Map_Ampl[6][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1TSmaxA225_HF");
603 Map_Ampl[6][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2TSmaxA225_HF");
605 Map_Ampl[6][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3TSmaxA225_HB");
606 Map_Ampl[6][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmaxA225_HB");
607 Map_Ampl[6][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmaxA225_HE");
608 Map_Ampl[6][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5TSmaxA225_HE");
609 Map_Ampl[6][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6TSmaxA225_HE");
610 Map_Ampl[6][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7TSmaxA225_HE");
611 Map_Ampl[6][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3TSmaxA225_HF");
612 Map_Ampl[6][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4TSmaxA225_HF");
614 HistAmpl[6][1] = (TH1F *)hfile->Get(
"h_TSmaxA_HB");
615 HistAmpl[6][2] = (TH1F *)hfile->Get(
"h_TSmaxA_HE");
616 HistAmpl[6][3] = (TH1F *)hfile->Get(
"h_TSmaxA_HO");
617 HistAmpl[6][4] = (TH1F *)hfile->Get(
"h_TSmaxA_HF");
620 for (
int sub = 1; sub <= 4; sub++) {
635 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
644 Map_Ampl[
test][sub][
k]->Divide(Map_Ampl[
test][sub][
k], Map_SUB[sub][
k], 1, 1,
"B");
649 sprintf(
str,
"HB, Depth%d \b",
k);
651 sprintf(
str,
"HE, Depth%d \b",
k);
653 sprintf(
str,
"HO, Depth%d \b",
k);
655 sprintf(
str,
"HF, Depth%d \b",
k);
656 Map_Ampl[
test][sub][
k]->SetTitle(
str);
657 Map_Ampl[
test][sub][
k]->SetXTitle(
"#eta \b");
658 Map_Ampl[
test][sub][
k]->SetYTitle(
"#phi \b");
659 Map_Ampl[
test][sub][
k]->SetZTitle(
"Rate \b");
661 Map_Ampl[
test][sub][
k]->SetTitleOffset(0.8,
"Z");
662 Map_Ampl[
test][sub][
k]->Draw(
"COLZ");
663 Map_Ampl[
test][sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
664 Map_Ampl[
test][sub][
k]->GetZaxis()->SetRangeUser(0.0001, 1.);
684 cHB->Print(
"MapRateAmplHB.png");
688 cHE->Print(
"MapRateAmplHE.png");
692 cONE->Print(
"MapRateAmplHO.png");
696 cHF->Print(
"MapRateAmplHF.png");
702 cHB->Print(
"MapRateRMSHB.png");
706 cHE->Print(
"MapRateRMSHE.png");
710 cONE->Print(
"MapRateRMSHO.png");
714 cHF->Print(
"MapRateRMSHF.png");
720 cHB->Print(
"MapRate43TStoAllTSHB.png");
724 cHE->Print(
"MapRate43TStoAllTSHE.png");
728 cONE->Print(
"MapRate43TStoAllTSHO.png");
732 cHF->Print(
"MapRate43TStoAllTSHF.png");
738 cHB->Print(
"MapRateMeanPosHB.png");
742 cHE->Print(
"MapRateMeanPosHE.png");
746 cONE->Print(
"MapRateMeanPosHO.png");
750 cHF->Print(
"MapRateMeanPosHF.png");
756 cHB->Print(
"MapRateMaxPosHB.png");
760 cHE->Print(
"MapRateMaxPosHE.png");
764 cONE->Print(
"MapRateMaxPosHO.png");
768 cHF->Print(
"MapRateMaxPosHF.png");
775 if (
test == 2 && sub == 2) {
777 TH1F *kjkjkhj2 = (TH1F *)hfile->Get(
"h_AmplitudeHEtest1");
779 kjkjkhj2->SetTitle(
"HE, All Depth: shunt1");
781 TH1F *kjkjkhj3 = (TH1F *)hfile->Get(
"h_AmplitudeHEtest6");
783 kjkjkhj3->SetTitle(
"HE, All Depth: shunt6");
785 if (
test == 2 && sub == 1) {
787 TH1F *kjkjkhb2 = (TH1F *)hfile->Get(
"h_AmplitudeHBtest1");
789 kjkjkhb2->SetTitle(
"HB, All Depth: shunt1");
791 TH1F *kjkjkhb3 = (TH1F *)hfile->Get(
"h_AmplitudeHBtest6");
793 kjkjkhb3->SetTitle(
"HB, All Depth: shunt6");
800 HistAmpl[
test][sub]->SetTitle(
"HB, All Depth: shunt6");
802 HistAmpl[
test][sub]->SetTitle(
"HE, All Depth: shunt6");
804 HistAmpl[
test][sub]->SetTitle(
"HO, All Depth");
806 HistAmpl[
test][sub]->SetTitle(
"HF, All Depth");
808 HistAmpl[
test][sub]->SetXTitle(
"ADC Amlitude in each event & cell \b");
810 HistAmpl[
test][sub]->SetXTitle(
"RMS in each event & cell \b");
812 HistAmpl[
test][sub]->SetXTitle(
"Ratio in each event & cell \b");
814 HistAmpl[
test][sub]->SetXTitle(
"Mean TS position in each event & cell \b");
816 HistAmpl[
test][sub]->SetXTitle(
"Max TS position in each event & cell \b");
817 HistAmpl[
test][sub]->SetYTitle(
"Number of cell-events \b");
818 HistAmpl[
test][sub]->SetLineColor(4);
819 HistAmpl[
test][sub]->SetLineWidth(2);
820 HistAmpl[
test][sub]->SetTitleOffset(1.4,
"Y");
821 HistAmpl[
test][sub]->Draw(
"");
828 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 5.);
830 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 1.);
832 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 9.);
834 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 9.);
837 double min_x[] = {MIN_M[
test][sub], MIN_M[
test][sub]};
838 double min_y[] = {0., 100000000.};
839 TGraph *MIN =
new TGraph(2, min_x, min_y);
840 MIN->SetLineStyle(2);
841 MIN->SetLineColor(2);
842 MIN->SetLineWidth(2 + 100 * 100);
843 MIN->SetFillStyle(3005);
844 MIN->SetFillColor(2);
846 double max_x[] = {MAX_M[
test][sub], MAX_M[
test][sub]};
847 double max_y[] = {0., 100000000.};
848 TGraph *MAX =
new TGraph(2, max_x, max_y);
849 MAX->SetLineStyle(2);
850 MAX->SetLineColor(2);
851 MAX->SetLineWidth(-2 - 100 * 100);
852 MAX->SetFillStyle(3004);
853 MAX->SetFillColor(2);
857 cONE->Print(
"HistAmplHB.png");
861 cONE->Print(
"HistAmplHE.png");
865 cONE->Print(
"HistAmplHO.png");
869 cONE->Print(
"HistAmplHF.png");
875 cONE->Print(
"HistRMSHB.png");
879 cONE->Print(
"HistRMSHE.png");
883 cONE->Print(
"HistRMSHO.png");
887 cONE->Print(
"HistRMSHF.png");
893 cONE->Print(
"Hist43TStoAllTSHB.png");
897 cONE->Print(
"Hist43TStoAllTSHE.png");
901 cONE->Print(
"Hist43TStoAllTSHO.png");
905 cONE->Print(
"Hist43TStoAllTSHF.png");
911 cONE->Print(
"HistMeanPosHB.png");
915 cONE->Print(
"HistMeanPosHE.png");
919 cONE->Print(
"HistMeanPosHO.png");
923 cONE->Print(
"HistMeanPosHF.png");
929 cONE->Print(
"HistMaxPosHB.png");
933 cONE->Print(
"HistMaxPosHE.png");
937 cONE->Print(
"HistMaxPosHO.png");
941 cONE->Print(
"HistMaxPosHF.png");
948 TH2F *Map_Calib[5][5];
950 Map_Calib[1][1] = (TH2F *)hfile->Get(
"h_map_HB");
951 Map_Calib[1][2] = (TH2F *)hfile->Get(
"h_map_HB");
952 Map_Calib[2][1] = (TH2F *)hfile->Get(
"h_map_HE");
953 Map_Calib[2][2] = (TH2F *)hfile->Get(
"h_map_HE");
954 Map_Calib[2][3] = (TH2F *)hfile->Get(
"h_map_HE");
955 Map_Calib[3][4] = (TH2F *)hfile->Get(
"h_map_HO");
956 Map_Calib[4][1] = (TH2F *)hfile->Get(
"h_map_HF");
957 Map_Calib[4][2] = (TH2F *)hfile->Get(
"h_map_HF");
963 for (
int sub = 1; sub <= 4; sub++) {
989 Map_Calib[sub][
k]->SetTitle(
str);
990 Map_Calib[sub][
k]->SetXTitle(
"#eta \b");
991 Map_Calib[sub][
k]->SetYTitle(
"#phi \b");
992 Map_Calib[sub][
k]->SetZTitle(
"Number of events\b");
994 Map_Calib[sub][
k]->SetTitleOffset(0.8,
"Z");
995 Map_Calib[sub][
k]->Draw(
"COLZ");
996 Map_Calib[sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
1006 cONE->Print(
"MapRateCalibEntryHB.png");
1010 cONE->Print(
"MapRateCalibEntryHE.png");
1014 cONE->Print(
"MapRateCalibEntryHO.png");
1018 cONE->Print(
"MapRateCalibEntryHF.png");
1027 Map_Ampl[11][1][1] = (TH2F *)hfile->Get(
"h_mapCapCalib047_HB");
1028 Map_Ampl[11][1][2] = (TH2F *)hfile->Get(
"h_mapCapCalib047_HB");
1029 Map_Ampl[11][2][1] = (TH2F *)hfile->Get(
"h_mapCapCalib047_HE");
1030 Map_Ampl[11][2][2] = (TH2F *)hfile->Get(
"h_mapCapCalib047_HE");
1031 Map_Ampl[11][2][3] = (TH2F *)hfile->Get(
"h_mapCapCalib047_HE");
1032 Map_Ampl[11][3][4] = (TH2F *)hfile->Get(
"h_mapCapCalib047_HO");
1033 Map_Ampl[11][4][1] = (TH2F *)hfile->Get(
"h_mapCapCalib047_HF");
1034 Map_Ampl[11][4][2] = (TH2F *)hfile->Get(
"h_mapCapCalib047_HF");
1036 for (
int sub = 1; sub <= 4; sub++) {
1051 Map_Ampl[11][sub][
k]->Divide(Map_Ampl[11][sub][
k], Map_Calib[sub][
k], 1, 1,
"B");
1063 Map_Ampl[11][sub][
k]->SetTitle(
str);
1064 Map_Ampl[11][sub][
k]->SetXTitle(
"#eta \b");
1065 Map_Ampl[11][sub][
k]->SetYTitle(
"#phi \b");
1066 Map_Ampl[11][sub][
k]->SetZTitle(
"Rate \b");
1067 Map_Ampl[11][sub][
k]->SetTitleOffset(0.75,
"Z");
1068 Map_Ampl[11][sub][
k]->Draw(
"COLZ");
1069 Map_Ampl[11][sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
1070 Map_Ampl[11][sub][
k]->GetZaxis()->SetRangeUser(0.0001, 1.);
1079 cONE->Print(
"MapRateCapCalibHB.png");
1083 cONE->Print(
"MapRateCapCalibHE.png");
1087 cONE->Print(
"MapRateCapCalibHO.png");
1091 cONE->Print(
"MapRateCapCalibHF.png");
1100 Map_Ampl[12][1][1] = (TH2F *)hfile->Get(
"h_mapADCCalib047_HB");
1101 Map_Ampl[12][1][2] = (TH2F *)hfile->Get(
"h_mapADCCalib047_HB");
1102 Map_Ampl[12][2][1] = (TH2F *)hfile->Get(
"h_mapADCCalib047_HE");
1103 Map_Ampl[12][2][2] = (TH2F *)hfile->Get(
"h_mapADCCalib047_HE");
1104 Map_Ampl[12][2][3] = (TH2F *)hfile->Get(
"h_mapADCCalib047_HE");
1105 Map_Ampl[12][3][4] = (TH2F *)hfile->Get(
"h_mapADCCalib047_HO");
1106 Map_Ampl[12][4][1] = (TH2F *)hfile->Get(
"h_mapADCCalib047_HF");
1107 Map_Ampl[12][4][2] = (TH2F *)hfile->Get(
"h_mapADCCalib047_HF");
1109 HistAmpl[12][1] = (TH1F *)hfile->Get(
"h_ADCCalib_HB");
1110 HistAmpl[12][2] = (TH1F *)hfile->Get(
"h_ADCCalib_HE");
1111 HistAmpl[12][3] = (TH1F *)hfile->Get(
"h_ADCCalib_HO");
1112 HistAmpl[12][4] = (TH1F *)hfile->Get(
"h_ADCCalib_HF");
1118 Map_Ampl[13][1][1] = (TH2F *)hfile->Get(
"h_mapWidthCalib047_HB");
1119 Map_Ampl[13][1][2] = (TH2F *)hfile->Get(
"h_mapWidthCalib047_HB");
1120 Map_Ampl[13][2][1] = (TH2F *)hfile->Get(
"h_mapWidthCalib047_HE");
1121 Map_Ampl[13][2][2] = (TH2F *)hfile->Get(
"h_mapWidthCalib047_HE");
1122 Map_Ampl[13][2][3] = (TH2F *)hfile->Get(
"h_mapWidthCalib047_HE");
1123 Map_Ampl[13][3][4] = (TH2F *)hfile->Get(
"h_mapWidthCalib047_HO");
1124 Map_Ampl[13][4][1] = (TH2F *)hfile->Get(
"h_mapWidthCalib047_HF");
1125 Map_Ampl[13][4][2] = (TH2F *)hfile->Get(
"h_mapWidthCalib047_HF");
1127 HistAmpl[13][1] = (TH1F *)hfile->Get(
"h_WidthCalib_HB");
1128 HistAmpl[13][2] = (TH1F *)hfile->Get(
"h_WidthCalib_HE");
1129 HistAmpl[13][3] = (TH1F *)hfile->Get(
"h_WidthCalib_HO");
1130 HistAmpl[13][4] = (TH1F *)hfile->Get(
"h_WidthCalib_HF");
1136 Map_Ampl[14][1][1] = (TH2F *)hfile->Get(
"h_mapRatioCalib047_HB");
1137 Map_Ampl[14][1][2] = (TH2F *)hfile->Get(
"h_mapRatioCalib047_HB");
1138 Map_Ampl[14][2][1] = (TH2F *)hfile->Get(
"h_mapRatioCalib047_HE");
1139 Map_Ampl[14][2][2] = (TH2F *)hfile->Get(
"h_mapRatioCalib047_HE");
1140 Map_Ampl[14][2][3] = (TH2F *)hfile->Get(
"h_mapRatioCalib047_HE");
1141 Map_Ampl[14][3][4] = (TH2F *)hfile->Get(
"h_mapRatioCalib047_HO");
1142 Map_Ampl[14][4][1] = (TH2F *)hfile->Get(
"h_mapRatioCalib047_HF");
1143 Map_Ampl[14][4][2] = (TH2F *)hfile->Get(
"h_mapRatioCalib047_HF");
1145 HistAmpl[14][1] = (TH1F *)hfile->Get(
"h_RatioCalib_HB");
1146 HistAmpl[14][2] = (TH1F *)hfile->Get(
"h_RatioCalib_HE");
1147 HistAmpl[14][3] = (TH1F *)hfile->Get(
"h_RatioCalib_HO");
1148 HistAmpl[14][4] = (TH1F *)hfile->Get(
"h_RatioCalib_HF");
1154 Map_Ampl[15][1][1] = (TH2F *)hfile->Get(
"h_mapTSmeanCalib047_HB");
1155 Map_Ampl[15][1][2] = (TH2F *)hfile->Get(
"h_mapTSmeanCalib047_HB");
1156 Map_Ampl[15][2][1] = (TH2F *)hfile->Get(
"h_mapTSmeanCalib047_HE");
1157 Map_Ampl[15][2][2] = (TH2F *)hfile->Get(
"h_mapTSmeanCalib047_HE");
1158 Map_Ampl[15][2][3] = (TH2F *)hfile->Get(
"h_mapTSmeanCalib047_HE");
1159 Map_Ampl[15][3][4] = (TH2F *)hfile->Get(
"h_mapTSmeanCalib047_HO");
1160 Map_Ampl[15][4][1] = (TH2F *)hfile->Get(
"h_mapTSmeanCalib047_HF");
1161 Map_Ampl[15][4][2] = (TH2F *)hfile->Get(
"h_mapTSmeanCalib047_HF");
1163 HistAmpl[15][1] = (TH1F *)hfile->Get(
"h_TSmeanCalib_HB");
1164 HistAmpl[15][2] = (TH1F *)hfile->Get(
"h_TSmeanCalib_HE");
1165 HistAmpl[15][3] = (TH1F *)hfile->Get(
"h_TSmeanCalib_HO");
1166 HistAmpl[15][4] = (TH1F *)hfile->Get(
"h_TSmeanCalib_HF");
1172 Map_Ampl[16][1][1] = (TH2F *)hfile->Get(
"h_mapTSmaxCalib047_HB");
1173 Map_Ampl[16][1][2] = (TH2F *)hfile->Get(
"h_mapTSmaxCalib047_HB");
1174 Map_Ampl[16][2][1] = (TH2F *)hfile->Get(
"h_mapTSmaxCalib047_HE");
1175 Map_Ampl[16][2][2] = (TH2F *)hfile->Get(
"h_mapTSmaxCalib047_HE");
1176 Map_Ampl[16][2][3] = (TH2F *)hfile->Get(
"h_mapTSmaxCalib047_HE");
1177 Map_Ampl[16][3][4] = (TH2F *)hfile->Get(
"h_mapTSmaxCalib047_HO");
1178 Map_Ampl[16][4][1] = (TH2F *)hfile->Get(
"h_mapTSmaxCalib047_HF");
1179 Map_Ampl[16][4][2] = (TH2F *)hfile->Get(
"h_mapTSmaxCalib047_HF");
1181 HistAmpl[16][1] = (TH1F *)hfile->Get(
"h_TSmaxCalib_HB");
1182 HistAmpl[16][2] = (TH1F *)hfile->Get(
"h_TSmaxCalib_HE");
1183 HistAmpl[16][3] = (TH1F *)hfile->Get(
"h_TSmaxCalib_HO");
1184 HistAmpl[16][4] = (TH1F *)hfile->Get(
"h_TSmaxCalib_HF");
1187 for (
int sub = 1; sub <= 4; sub++) {
1216 Map_Ampl[
test][sub][
k]->Divide(Map_Ampl[
test][sub][
k], Map_Calib[sub][
k], 1, 1,
"B");
1228 Map_Ampl[
test][sub][
k]->SetTitle(
str);
1229 Map_Ampl[
test][sub][
k]->SetXTitle(
"#eta \b");
1230 Map_Ampl[
test][sub][
k]->SetYTitle(
"#phi \b");
1231 Map_Ampl[
test][sub][
k]->SetZTitle(
"Rate \b");
1232 Map_Ampl[
test][sub][
k]->SetTitleOffset(0.8,
"Z");
1233 Map_Ampl[
test][sub][
k]->Draw(
"COLZ");
1234 Map_Ampl[
test][sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
1235 Map_Ampl[
test][sub][
k]->GetZaxis()->SetRangeUser(0.00001, 1.);
1244 cONE->Print(
"MapRateAmplCalibHB.png");
1248 cONE->Print(
"MapRateAmplCalibHE.png");
1252 cONE->Print(
"MapRateAmplCalibHO.png");
1256 cONE->Print(
"MapRateAmplCalibHF.png");
1262 cONE->Print(
"MapRateRMSCalibHB.png");
1266 cONE->Print(
"MapRateRMSCalibHE.png");
1270 cONE->Print(
"MapRateRMSCalibHO.png");
1274 cONE->Print(
"MapRateRMSCalibHF.png");
1280 cONE->Print(
"MapRate43TStoAllTSCalibHB.png");
1284 cONE->Print(
"MapRate43TStoAllTSCalibHE.png");
1288 cONE->Print(
"MapRate43TStoAllTSCalibHO.png");
1292 cONE->Print(
"MapRate43TStoAllTSCalibHF.png");
1298 cONE->Print(
"MapRateMeanPosCalibHB.png");
1302 cONE->Print(
"MapRateMeanPosCalibHE.png");
1306 cONE->Print(
"MapRateMeanPosCalibHO.png");
1310 cONE->Print(
"MapRateMeanPosCalibHF.png");
1316 cONE->Print(
"MapRateMaxPosCalibHB.png");
1320 cONE->Print(
"MapRateMaxPosCalibHE.png");
1324 cONE->Print(
"MapRateMaxPosCalibHO.png");
1328 cONE->Print(
"MapRateMaxPosCalibHF.png");
1339 HistAmpl[
test][sub]->SetTitle(
"HB, All Depth");
1341 HistAmpl[
test][sub]->SetTitle(
"HE, All Depth");
1343 HistAmpl[
test][sub]->SetTitle(
"HO, All Depth");
1345 HistAmpl[
test][sub]->SetTitle(
"HF, All Depth");
1347 HistAmpl[
test][sub]->SetXTitle(
"ADC Amlitude in each event & cell \b");
1349 HistAmpl[
test][sub]->SetXTitle(
"Amplitude RMS in each event & cell \b");
1351 HistAmpl[
test][sub]->SetXTitle(
"Ratio in each event & cell \b");
1353 HistAmpl[
test][sub]->SetXTitle(
"Mean TS position in each event & cell \b");
1355 HistAmpl[
test][sub]->SetXTitle(
"Max TS position in each event & cell \b");
1356 HistAmpl[
test][sub]->SetYTitle(
"Number of cell-events \b");
1357 HistAmpl[
test][sub]->SetLineColor(4);
1358 HistAmpl[
test][sub]->SetLineWidth(2);
1359 HistAmpl[
test][sub]->SetTitleOffset(1.4,
"Y");
1360 HistAmpl[
test][sub]->Draw(
"");
1364 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(1., 10000.);
1367 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 5.);
1369 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 1.);
1371 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 9.);
1373 HistAmpl[
test][sub]->GetXaxis()->SetRangeUser(0., 9.);
1376 double min_x[] = {MIN_C[
test - 10][sub], MIN_C[
test - 10][sub]};
1377 double min_y[] = {0., 100000000.};
1378 TGraph *MIN =
new TGraph(2, min_x, min_y);
1379 MIN->SetLineStyle(2);
1380 MIN->SetLineColor(2);
1381 MIN->SetLineWidth(2 + 100 * 100);
1382 MIN->SetFillStyle(3005);
1383 MIN->SetFillColor(2);
1385 double max_x[] = {MAX_C[
test - 10][sub], MAX_C[
test - 10][sub]};
1386 double max_y[] = {0., 100000000.};
1387 TGraph *MAX =
new TGraph(2, max_x, max_y);
1388 MAX->SetLineStyle(2);
1389 MAX->SetLineColor(2);
1390 MAX->SetLineWidth(-2 - 100 * 100);
1391 MAX->SetFillStyle(3004);
1392 MAX->SetFillColor(2);
1396 cONE->Print(
"HistAmplCalibHB.png");
1400 cONE->Print(
"HistAmplCalibHE.png");
1404 cONE->Print(
"HistAmplCalibHO.png");
1408 cONE->Print(
"HistAmplCalibHF.png");
1414 cONE->Print(
"HistRMSCalibHB.png");
1418 cONE->Print(
"HistRMSCalibHE.png");
1422 cONE->Print(
"HistRMSCalibHO.png");
1426 cONE->Print(
"HistRMSCalibHF.png");
1432 cONE->Print(
"Hist43TStoAllTSCalibHB.png");
1436 cONE->Print(
"Hist43TStoAllTSCalibHE.png");
1440 cONE->Print(
"Hist43TStoAllTSCalibHO.png");
1444 cONE->Print(
"Hist43TStoAllTSCalibHF.png");
1450 cONE->Print(
"HistMeanPosCalibHB.png");
1454 cONE->Print(
"HistMeanPosCalibHE.png");
1458 cONE->Print(
"HistMeanPosCalibHO.png");
1462 cONE->Print(
"HistMeanPosCalibHF.png");
1468 cONE->Print(
"HistMaxPosCalibHB.png");
1472 cONE->Print(
"HistMaxPosCalibHE.png");
1476 cONE->Print(
"HistMaxPosCalibHO.png");
1480 cONE->Print(
"HistMaxPosCalibHF.png");
1491 Map_Ampl[21][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1AmplE34_HB");
1492 Map_Ampl[21][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2AmplE34_HB");
1493 Map_Ampl[21][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3AmplE34_HB");
1494 Map_Ampl[21][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4AmplE34_HB");
1495 Map_Ampl[21][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1AmplE34_HE");
1496 Map_Ampl[21][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2AmplE34_HE");
1497 Map_Ampl[21][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3AmplE34_HE");
1498 Map_Ampl[21][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4AmplE34_HE");
1499 Map_Ampl[21][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5AmplE34_HE");
1500 Map_Ampl[21][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6AmplE34_HE");
1501 Map_Ampl[21][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7AmplE34_HE");
1502 Map_Ampl[21][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4AmplE34_HO");
1503 Map_Ampl[21][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1AmplE34_HF");
1504 Map_Ampl[21][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2AmplE34_HF");
1505 Map_Ampl[21][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3AmplE34_HF");
1506 Map_Ampl[21][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4AmplE34_HF");
1508 TH2F *Map_RefAmpl[5][ALLDEPTH];
1509 TH2F *Map_RefSUB[5][ALLDEPTH];
1511 Map_RefAmpl[1][1] = (TH2F *)hreffile->Get(
"h_mapDepth1AmplE34_HB");
1512 Map_RefAmpl[1][2] = (TH2F *)hreffile->Get(
"h_mapDepth2AmplE34_HB");
1513 Map_RefAmpl[1][3] = (TH2F *)hreffile->Get(
"h_mapDepth3AmplE34_HB");
1514 Map_RefAmpl[1][4] = (TH2F *)hreffile->Get(
"h_mapDepth4AmplE34_HB");
1515 Map_RefAmpl[2][1] = (TH2F *)hreffile->Get(
"h_mapDepth1AmplE34_HE");
1516 Map_RefAmpl[2][2] = (TH2F *)hreffile->Get(
"h_mapDepth2AmplE34_HE");
1517 Map_RefAmpl[2][3] = (TH2F *)hreffile->Get(
"h_mapDepth3AmplE34_HE");
1518 Map_RefAmpl[2][4] = (TH2F *)hreffile->Get(
"h_mapDepth4AmplE34_HE");
1519 Map_RefAmpl[2][5] = (TH2F *)hreffile->Get(
"h_mapDepth5AmplE34_HE");
1520 Map_RefAmpl[2][6] = (TH2F *)hreffile->Get(
"h_mapDepth6AmplE34_HE");
1521 Map_RefAmpl[2][7] = (TH2F *)hreffile->Get(
"h_mapDepth7AmplE34_HE");
1522 Map_RefAmpl[3][4] = (TH2F *)hreffile->Get(
"h_mapDepth4AmplE34_HO");
1523 Map_RefAmpl[4][1] = (TH2F *)hreffile->Get(
"h_mapDepth1AmplE34_HF");
1524 Map_RefAmpl[4][2] = (TH2F *)hreffile->Get(
"h_mapDepth2AmplE34_HF");
1525 Map_RefAmpl[4][3] = (TH2F *)hreffile->Get(
"h_mapDepth3AmplE34_HF");
1526 Map_RefAmpl[4][4] = (TH2F *)hreffile->Get(
"h_mapDepth4AmplE34_HF");
1528 Map_RefSUB[1][1] = (TH2F *)hreffile->Get(
"h_mapDepth1_HB");
1529 Map_RefSUB[1][2] = (TH2F *)hreffile->Get(
"h_mapDepth2_HB");
1530 Map_RefSUB[1][3] = (TH2F *)hreffile->Get(
"h_mapDepth3_HB");
1531 Map_RefSUB[1][4] = (TH2F *)hreffile->Get(
"h_mapDepth4_HB");
1532 Map_RefSUB[2][1] = (TH2F *)hreffile->Get(
"h_mapDepth1_HE");
1533 Map_RefSUB[2][2] = (TH2F *)hreffile->Get(
"h_mapDepth2_HE");
1534 Map_RefSUB[2][3] = (TH2F *)hreffile->Get(
"h_mapDepth3_HE");
1535 Map_RefSUB[2][4] = (TH2F *)hreffile->Get(
"h_mapDepth4_HE");
1536 Map_RefSUB[2][5] = (TH2F *)hreffile->Get(
"h_mapDepth5_HE");
1537 Map_RefSUB[2][6] = (TH2F *)hreffile->Get(
"h_mapDepth6_HE");
1538 Map_RefSUB[2][7] = (TH2F *)hreffile->Get(
"h_mapDepth7_HE");
1539 Map_RefSUB[3][4] = (TH2F *)hreffile->Get(
"h_mapDepth4_HO");
1540 Map_RefSUB[4][1] = (TH2F *)hreffile->Get(
"h_mapDepth1_HF");
1541 Map_RefSUB[4][2] = (TH2F *)hreffile->Get(
"h_mapDepth2_HF");
1542 Map_RefSUB[4][3] = (TH2F *)hreffile->Get(
"h_mapDepth3_HF");
1543 Map_RefSUB[4][4] = (TH2F *)hreffile->Get(
"h_mapDepth4_HF");
1545 HistAmplDepth[21][1][1] =
new TH1F(
"diffAmpl_Depth1_HB",
"", 100, -10., 10.);
1546 HistAmplDepth[21][1][2] =
new TH1F(
"diffAmpl_Depth2_HB",
"", 100, -10., 10.);
1547 HistAmplDepth[21][1][3] =
new TH1F(
"diffAmpl_Depth3_HB",
"", 100, -10., 10.);
1548 HistAmplDepth[21][1][4] =
new TH1F(
"diffAmpl_Depth4_HB",
"", 100, -10., 10.);
1549 HistAmplDepth[21][2][1] =
new TH1F(
"diffAmpl_Depth1_HE",
"", 100, -10., 10.);
1550 HistAmplDepth[21][2][2] =
new TH1F(
"diffAmpl_Depth2_HE",
"", 100, -10., 10.);
1551 HistAmplDepth[21][2][3] =
new TH1F(
"diffAmpl_Depth3_HE",
"", 100, -10., 10.);
1552 HistAmplDepth[21][2][4] =
new TH1F(
"diffAmpl_Depth4_HE",
"", 100, -10., 10.);
1553 HistAmplDepth[21][2][5] =
new TH1F(
"diffAmpl_Depth5_HE",
"", 100, -10., 10.);
1554 HistAmplDepth[21][2][6] =
new TH1F(
"diffAmpl_Depth6_HE",
"", 100, -10., 10.);
1555 HistAmplDepth[21][2][7] =
new TH1F(
"diffAmpl_Depth7_HE",
"", 100, -10., 10.);
1556 HistAmplDepth[21][3][4] =
new TH1F(
"diffAmpl_Depth4_HO",
"", 100, -10., 10.);
1557 HistAmplDepth[21][4][1] =
new TH1F(
"diffAmpl_Depth1_HF",
"", 100, -10., 10.);
1558 HistAmplDepth[21][4][2] =
new TH1F(
"diffAmpl_Depth2_HF",
"", 100, -10., 10.);
1559 HistAmplDepth[21][4][3] =
new TH1F(
"diffAmpl_Depth3_HF",
"", 100, -10., 10.);
1560 HistAmplDepth[21][4][4] =
new TH1F(
"diffAmpl_Depth4_HF",
"", 100, -10., 10.);
1562 for (
int sub = 1; sub <= 4; sub++) {
1577 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
1586 Map_Ampl[21][sub][
k]->Divide(Map_Ampl[21][sub][
k], Map_SUB[sub][
k], 1, 1,
"B");
1591 sprintf(
str,
"HB, Depth%d \b",
k);
1593 sprintf(
str,
"HE, Depth%d \b",
k);
1595 sprintf(
str,
"HO, Depth%d \b",
k);
1597 sprintf(
str,
"HF, Depth%d \b",
k);
1598 Map_Ampl[21][sub][
k]->SetTitle(
str);
1599 Map_Ampl[21][sub][
k]->SetXTitle(
"#eta \b");
1600 Map_Ampl[21][sub][
k]->SetYTitle(
"#phi \b");
1601 Map_Ampl[21][sub][
k]->SetZTitle(
"Response \b");
1602 Map_Ampl[21][sub][
k]->SetTitleOffset(1.1,
"Z");
1603 Map_Ampl[21][sub][
k]->Draw(
"COLZ");
1604 Map_Ampl[21][sub][
k]->GetYaxis()->SetRangeUser(0, 71.);
1624 cHB->Print(
"MapRateAmpl1HB.png");
1628 cHE->Print(
"MapRateAmpl1HE.png");
1632 cONE->Print(
"MapRateAmpl1HO.png");
1636 cHF->Print(
"MapRateAmpl1HF.png");
1652 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
1661 Map_RefAmpl[sub][
k]->Divide(Map_RefAmpl[sub][
k], Map_RefSUB[sub][
k], 1, 1,
"B");
1666 sprintf(
str,
"HB, Depth%d \b",
k);
1668 sprintf(
str,
"HE, Depth%d \b",
k);
1670 sprintf(
str,
"HO, Depth%d \b",
k);
1672 sprintf(
str,
"HF, Depth%d \b",
k);
1673 Map_RefAmpl[sub][
k]->SetTitle(
str);
1674 Map_RefAmpl[sub][
k]->SetXTitle(
"#eta \b");
1675 Map_RefAmpl[sub][
k]->SetYTitle(
"#phi \b");
1676 Map_RefAmpl[sub][
k]->SetZTitle(
"Response\b");
1677 Map_RefAmpl[sub][
k]->SetTitleOffset(1.1,
"Z");
1678 Map_RefAmpl[sub][
k]->Draw(
"COLZ");
1679 Map_RefAmpl[sub][
k]->GetYaxis()->SetRangeUser(0, 71.);
1699 cHB->Print(
"MapRateAmpl2HB.png");
1703 cHE->Print(
"MapRateAmpl2HE.png");
1707 cONE->Print(
"MapRateAmpl2HO.png");
1711 cHF->Print(
"MapRateAmpl2HF.png");
1727 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
1736 TH2F *
TTT =
new TH2F(
"Map",
"Map", 82, -41, 40, 72, 0, 71);
1737 for (
int x = 1;
x <= Map_Ampl[21][sub][
k]->GetXaxis()->GetNbins();
x++) {
1738 for (
int y = 1;
y <= Map_Ampl[21][sub][
k]->GetYaxis()->GetNbins();
y++) {
1739 if (Map_Ampl[21][sub][
k]->GetBinContent(
x,
y) != 0 && Map_RefAmpl[sub][
k]->GetBinContent(
x,
y) != 0) {
1740 double ccc1 = Map_Ampl[21][sub][
k]->GetBinContent(
x,
y) - Map_RefAmpl[sub][
k]->GetBinContent(
x,
y);
1741 ccc1 = 100. * ccc1 / Map_Ampl[21][sub][
k]->GetBinContent(
x,
y);
1742 HistAmplDepth[21][sub][
k]->Fill(ccc1);
1743 Map_Ampl[21][sub][
k]->SetBinContent(
x,
y, fabs(ccc1));
1744 if (fabs(ccc1) > porog[sub])
1745 TTT->SetBinContent(
x,
y, fabs(ccc1));
1747 TTT->SetBinContent(
x,
y, 0);
1755 sprintf(
str,
"HB, Depth%d \b",
k);
1757 sprintf(
str,
"HE, Depth%d \b",
k);
1759 sprintf(
str,
"HO, Depth%d \b",
k);
1761 sprintf(
str,
"HF, Depth%d \b",
k);
1763 TTT->SetXTitle(
"#eta \b");
1764 TTT->SetYTitle(
"#phi \b");
1765 TTT->SetZTitle(
"Relative difference, % \b");
1766 TTT->SetTitleOffset(0.9,
"Z");
1768 TTT->GetYaxis()->SetRangeUser(0, 71.);
1769 TTT->GetZaxis()->SetRangeUser(0, 10.);
1789 cHB->Print(
"MapRateAmplDriftHB.png");
1793 cHE->Print(
"MapRateAmplDriftHE.png");
1797 cONE->Print(
"MapRateAmplDriftHO.png");
1801 cHF->Print(
"MapRateAmplDriftHF.png");
1818 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
1831 sprintf(
str,
"HB, Depth%d \b",
k);
1833 sprintf(
str,
"HE, Depth%d \b",
k);
1835 sprintf(
str,
"HO, Depth%d \b",
k);
1837 sprintf(
str,
"HF, Depth%d \b",
k);
1838 HistAmplDepth[21][sub][
k]->SetTitle(
str);
1839 HistAmplDepth[21][sub][
k]->SetYTitle(
"Number of cell-events \b");
1840 HistAmplDepth[21][sub][
k]->SetXTitle(
"Per cent \b");
1841 HistAmplDepth[21][sub][
k]->SetLineColor(4);
1842 HistAmplDepth[21][sub][
k]->SetLineWidth(2);
1843 HistAmplDepth[21][sub][
k]->SetTitleOffset(1.4,
"Y");
1844 HistAmplDepth[21][sub][
k]->Draw();
1846 HistAmplDepth[21][sub][
k]->GetXaxis()->SetRangeUser(-10., 10.);
1863 double min_x[] = {-1 * porog[sub], -1 * porog[sub]};
1864 double min_y[] = {0., 100000000.};
1865 TGraph *MIN =
new TGraph(2, min_x, min_y);
1866 MIN->SetLineStyle(2);
1867 MIN->SetLineColor(2);
1868 MIN->SetLineWidth(2 + 100 * 100);
1869 MIN->SetFillStyle(3005);
1870 MIN->SetFillColor(2);
1872 double max_x[] = {porog[sub], porog[sub]};
1873 double max_y[] = {0., 100000000.};
1874 TGraph *MAX =
new TGraph(2, max_x, max_y);
1875 MAX->SetLineStyle(2);
1876 MAX->SetLineColor(2);
1877 MAX->SetLineWidth(-2 - 100 * 100);
1878 MAX->SetFillStyle(3004);
1879 MAX->SetFillColor(2);
1883 cHB->Print(
"HistAmplDriftDepthHB.png");
1887 cHE->Print(
"HistAmplDriftDepthHE.png");
1891 cONE->Print(
"HistAmplDriftDepthHO.png");
1895 cHF->Print(
"HistAmplDriftDepthHF.png");
1904 Map_Ampl[31][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1pedestal_HB");
1905 Map_Ampl[31][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2pedestal_HB");
1906 Map_Ampl[31][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3pedestal_HB");
1907 Map_Ampl[31][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestal_HB");
1908 Map_Ampl[31][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1pedestal_HE");
1909 Map_Ampl[31][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2pedestal_HE");
1910 Map_Ampl[31][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3pedestal_HE");
1911 Map_Ampl[31][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestal_HE");
1912 Map_Ampl[31][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5pedestal_HE");
1913 Map_Ampl[31][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6pedestal_HE");
1914 Map_Ampl[31][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7pedestal_HE");
1915 Map_Ampl[31][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestal_HO");
1916 Map_Ampl[31][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1pedestal_HF");
1917 Map_Ampl[31][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2pedestal_HF");
1918 Map_Ampl[31][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3pedestal_HF");
1919 Map_Ampl[31][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestal_HF");
1921 Map_Ampl[32][1][1] = (TH2F *)hfile->Get(
"h_mapDepth1pedestalw_HB");
1922 Map_Ampl[32][1][2] = (TH2F *)hfile->Get(
"h_mapDepth2pedestalw_HB");
1923 Map_Ampl[32][1][3] = (TH2F *)hfile->Get(
"h_mapDepth3pedestalw_HB");
1924 Map_Ampl[32][1][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestalw_HB");
1925 Map_Ampl[32][2][1] = (TH2F *)hfile->Get(
"h_mapDepth1pedestalw_HE");
1926 Map_Ampl[32][2][2] = (TH2F *)hfile->Get(
"h_mapDepth2pedestalw_HE");
1927 Map_Ampl[32][2][3] = (TH2F *)hfile->Get(
"h_mapDepth3pedestalw_HE");
1928 Map_Ampl[32][2][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestalw_HE");
1929 Map_Ampl[32][2][5] = (TH2F *)hfile->Get(
"h_mapDepth5pedestalw_HE");
1930 Map_Ampl[32][2][6] = (TH2F *)hfile->Get(
"h_mapDepth6pedestalw_HE");
1931 Map_Ampl[32][2][7] = (TH2F *)hfile->Get(
"h_mapDepth7pedestalw_HE");
1932 Map_Ampl[32][3][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestalw_HO");
1933 Map_Ampl[32][4][1] = (TH2F *)hfile->Get(
"h_mapDepth1pedestalw_HF");
1934 Map_Ampl[32][4][2] = (TH2F *)hfile->Get(
"h_mapDepth2pedestalw_HF");
1935 Map_Ampl[32][4][3] = (TH2F *)hfile->Get(
"h_mapDepth3pedestalw_HF");
1936 Map_Ampl[32][4][4] = (TH2F *)hfile->Get(
"h_mapDepth4pedestalw_HF");
1938 HistPed[1][1][0] = (TH1F *)hfile->Get(
"h_pedestal0_HB");
1939 HistPed[1][1][1] = (TH1F *)hfile->Get(
"h_pedestal1_HB");
1940 HistPed[1][1][2] = (TH1F *)hfile->Get(
"h_pedestal2_HB");
1941 HistPed[1][1][3] = (TH1F *)hfile->Get(
"h_pedestal3_HB");
1942 HistPed[2][1][0] = (TH1F *)hfile->Get(
"h_pedestalw0_HB");
1943 HistPed[2][1][1] = (TH1F *)hfile->Get(
"h_pedestalw1_HB");
1944 HistPed[2][1][2] = (TH1F *)hfile->Get(
"h_pedestalw2_HB");
1945 HistPed[2][1][3] = (TH1F *)hfile->Get(
"h_pedestalw3_HB");
1947 HistPed[1][2][0] = (TH1F *)hfile->Get(
"h_pedestal0_HE");
1948 HistPed[1][2][1] = (TH1F *)hfile->Get(
"h_pedestal1_HE");
1949 HistPed[1][2][2] = (TH1F *)hfile->Get(
"h_pedestal2_HE");
1950 HistPed[1][2][3] = (TH1F *)hfile->Get(
"h_pedestal3_HE");
1951 HistPed[2][2][0] = (TH1F *)hfile->Get(
"h_pedestalw0_HE");
1952 HistPed[2][2][1] = (TH1F *)hfile->Get(
"h_pedestalw1_HE");
1953 HistPed[2][2][2] = (TH1F *)hfile->Get(
"h_pedestalw2_HE");
1954 HistPed[2][2][3] = (TH1F *)hfile->Get(
"h_pedestalw3_HE");
1956 HistPed[1][3][0] = (TH1F *)hfile->Get(
"h_pedestal0_HO");
1957 HistPed[1][3][1] = (TH1F *)hfile->Get(
"h_pedestal1_HO");
1958 HistPed[1][3][2] = (TH1F *)hfile->Get(
"h_pedestal2_HO");
1959 HistPed[1][3][3] = (TH1F *)hfile->Get(
"h_pedestal3_HO");
1960 HistPed[2][3][0] = (TH1F *)hfile->Get(
"h_pedestalw0_HO");
1961 HistPed[2][3][1] = (TH1F *)hfile->Get(
"h_pedestalw1_HO");
1962 HistPed[2][3][2] = (TH1F *)hfile->Get(
"h_pedestalw2_HO");
1963 HistPed[2][3][3] = (TH1F *)hfile->Get(
"h_pedestalw3_HO");
1965 HistPed[1][4][0] = (TH1F *)hfile->Get(
"h_pedestal0_HF");
1966 HistPed[1][4][1] = (TH1F *)hfile->Get(
"h_pedestal1_HF");
1967 HistPed[1][4][2] = (TH1F *)hfile->Get(
"h_pedestal2_HF");
1968 HistPed[1][4][3] = (TH1F *)hfile->Get(
"h_pedestal3_HF");
1969 HistPed[2][4][0] = (TH1F *)hfile->Get(
"h_pedestalw0_HF");
1970 HistPed[2][4][1] = (TH1F *)hfile->Get(
"h_pedestalw1_HF");
1971 HistPed[2][4][2] = (TH1F *)hfile->Get(
"h_pedestalw2_HF");
1972 HistPed[2][4][3] = (TH1F *)hfile->Get(
"h_pedestalw3_HF");
1975 for (
int sub = 1; sub <= 4; sub++) {
1990 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
1999 Map_Ampl[
test][sub][
k]->Divide(Map_Ampl[
test][sub][
k], Map_SUB[sub][
k], 1, 1,
"B");
2004 sprintf(
str,
"HB, Depth%d \b",
k);
2006 sprintf(
str,
"HE, Depth%d \b",
k);
2008 sprintf(
str,
"HO, Depth%d \b",
k);
2010 sprintf(
str,
"HF, Depth%d \b",
k);
2011 Map_Ampl[
test][sub][
k]->SetTitle(
str);
2012 Map_Ampl[
test][sub][
k]->SetXTitle(
"#eta \b");
2013 Map_Ampl[
test][sub][
k]->SetYTitle(
"#phi \b");
2014 Map_Ampl[
test][sub][
k]->SetZTitle(
"Rate \b");
2016 Map_Ampl[
test][sub][
k]->SetTitleOffset(0.8,
"Z");
2017 Map_Ampl[
test][sub][
k]->Draw(
"COLZ");
2018 Map_Ampl[
test][sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
2019 Map_Ampl[
test][sub][
k]->GetZaxis()->SetRangeUser(0.0001, 1.);
2039 cHB->Print(
"MapRatePedHB.png");
2043 cHE->Print(
"MapRatePedHE.png");
2047 cONE->Print(
"MapRatePedHO.png");
2051 cHF->Print(
"MapRatePedHF.png");
2057 cHB->Print(
"MapRatePedWidthsHB.png");
2061 cHE->Print(
"MapRatePedWidthsHE.png");
2065 cONE->Print(
"MapRatePedWidthsHO.png");
2069 cHF->Print(
"MapRatePedWidthsHF.png");
2084 sprintf(
str,
"HB, Cap%d, all depth\b",
cap);
2086 sprintf(
str,
"HE, Cap%d, all depth\b",
cap);
2088 sprintf(
str,
"HO, Cap%d, all depth\b",
cap);
2090 sprintf(
str,
"HF, Cap%d, all depth\b",
cap);
2095 HistPed[
test - 30][sub][
cap]->SetXTitle(
"Pedestals in each event & cell \b");
2097 HistPed[
test - 30][sub][
cap]->SetXTitle(
"Pedestal Widths in each event & cell \b");
2099 HistPed[
test - 30][sub][
cap]->SetYTitle(
"Number of channel-events \b");
2100 HistPed[
test - 30][sub][
cap]->SetLineColor(4);
2101 HistPed[
test - 30][sub][
cap]->SetLineWidth(2);
2102 HistPed[
test - 30][sub][
cap]->SetTitleOffset(1.4,
"Y");
2103 HistPed[
test - 30][sub][
cap]->Draw(
"");
2110 double min_x[] = {Pedest[
test - 31][sub], Pedest[
test - 31][sub]};
2111 double min_y[] = {0., 100000000.};
2112 TGraph *MIN =
new TGraph(2, min_x, min_y);
2113 MIN->SetLineStyle(2);
2114 MIN->SetLineColor(2);
2115 MIN->SetLineWidth(2 + 100 * 100);
2116 MIN->SetFillStyle(3005);
2117 MIN->SetFillColor(2);
2122 cPED->Print(
"HistPedestalsHB.png");
2126 cPED->Print(
"HistPedestalsHE.png");
2130 cPED->Print(
"HistPedestalsHO.png");
2134 cPED->Print(
"HistPedestalsHF.png");
2140 cPED->Print(
"HistPedestalWidthsHB.png");
2144 cPED->Print(
"HistPedestalWidthsHE.png");
2148 cPED->Print(
"HistPedestalWidthsHO.png");
2152 cPED->Print(
"HistPedestalWidthsHF.png");
2164 Map_Ped[1][1] = (TH2F *)hfile->Get(
"h2_pedvsampl_HB");
2165 Map_Ped[1][2] = (TH2F *)hfile->Get(
"h2_pedvsampl_HE");
2166 Map_Ped[1][3] = (TH2F *)hfile->Get(
"h2_pedvsampl_HO");
2167 Map_Ped[1][4] = (TH2F *)hfile->Get(
"h2_pedvsampl_HF");
2168 Map_Ped[2][1] = (TH2F *)hfile->Get(
"h2_pedwvsampl_HB");
2169 Map_Ped[2][2] = (TH2F *)hfile->Get(
"h2_pedwvsampl_HE");
2170 Map_Ped[2][3] = (TH2F *)hfile->Get(
"h2_pedwvsampl_HO");
2171 Map_Ped[2][4] = (TH2F *)hfile->Get(
"h2_pedwvsampl_HF");
2172 for (
int sub = 1; sub <= 4; sub++) {
2180 Map_Ped[
test][sub]->SetXTitle(
"Pedestal, fC \b");
2182 Map_Ped[
test][sub]->SetXTitle(
"pedestal Width, fC \b");
2183 Map_Ped[
test][sub]->SetYTitle(
"Amplitude, fC \b");
2184 Map_Ped[
test][sub]->SetZTitle(
"entries \b");
2186 sprintf(
str,
"Cap0 Pedestal vs Amplitude \b");
2188 sprintf(
str,
"Cap0 pedestalWidth vs Amplitude \b");
2189 Map_Ped[
test][sub]->SetTitle(
str);
2190 Map_Ped[
test][sub]->Draw(
"COLZ");
2197 cPED->Print(
"CorrelationsMapPedestalVsfullAmplitudeHB.png");
2201 cPED->Print(
"CorrelationsMapPedestalVsfullAmplitudeHE.png");
2205 cPED->Print(
"CorrelationsMapPedestalVsfullAmplitudeHO.png");
2209 cPED->Print(
"CorrelationsMapPedestalVsfullAmplitudeHF.png");
2219 hist_GoodTSshape[1] = (TH1F *)hfile->Get(
"h_shape_good_channels_HB");
2220 hist_GoodTSshape[2] = (TH1F *)hfile->Get(
"h_shape_good_channels_HE");
2221 hist_GoodTSshape[3] = (TH1F *)hfile->Get(
"h_shape_good_channels_HO");
2222 hist_GoodTSshape[4] = (TH1F *)hfile->Get(
"h_shape_good_channels_HF");
2224 hist_GoodTSshape0[1] = (TH1F *)hfile->Get(
"h_shape0_good_channels_HB");
2225 hist_GoodTSshape0[2] = (TH1F *)hfile->Get(
"h_shape0_good_channels_HE");
2226 hist_GoodTSshape0[3] = (TH1F *)hfile->Get(
"h_shape0_good_channels_HO");
2227 hist_GoodTSshape0[4] = (TH1F *)hfile->Get(
"h_shape0_good_channels_HF");
2229 hist_BadTSshape[1] = (TH1F *)hfile->Get(
"h_shape_bad_channels_HB");
2230 hist_BadTSshape[2] = (TH1F *)hfile->Get(
"h_shape_bad_channels_HE");
2231 hist_BadTSshape[3] = (TH1F *)hfile->Get(
"h_shape_bad_channels_HO");
2232 hist_BadTSshape[4] = (TH1F *)hfile->Get(
"h_shape_bad_channels_HF");
2234 hist_BadTSshape0[1] = (TH1F *)hfile->Get(
"h_shape0_bad_channels_HB");
2235 hist_BadTSshape0[2] = (TH1F *)hfile->Get(
"h_shape0_bad_channels_HE");
2236 hist_BadTSshape0[3] = (TH1F *)hfile->Get(
"h_shape0_bad_channels_HO");
2237 hist_BadTSshape0[4] = (TH1F *)hfile->Get(
"h_shape0_bad_channels_HF");
2241 for (
int sub = 1; sub <= 4; sub++) {
2246 hist_GoodTSshape[sub]->Divide(hist_GoodTSshape[sub], hist_GoodTSshape0[sub], 1, 1,
"B");
2247 hist_GoodTSshape[sub]->SetXTitle(
"Time slice \b");
2248 hist_GoodTSshape[sub]->SetYTitle(
"ADC counts \b");
2249 sprintf(
str,
"Mean ADC Shape \b");
2250 hist_GoodTSshape[sub]->SetTitle(
str);
2251 hist_GoodTSshape[sub]->Draw(
"");
2257 cONE->Print(
"HistGoodTSshapesHB.png");
2261 cONE->Print(
"HistGoodTSshapesHE.png");
2265 cONE->Print(
"HistGoodTSshapesHO.png");
2269 cONE->Print(
"HistGoodTSshapesHF.png");
2274 for (
int sub = 1; sub <= 4; sub++) {
2279 hist_BadTSshape[sub]->Divide(hist_BadTSshape[sub], hist_BadTSshape0[sub], 1, 1,
"B");
2280 hist_BadTSshape[sub]->SetXTitle(
"Time slice \b");
2281 hist_BadTSshape[sub]->SetYTitle(
"ADC counts \b");
2282 sprintf(
str,
"Mean ADC Shape \b");
2283 hist_BadTSshape[sub]->SetTitle(
str);
2284 hist_BadTSshape[sub]->Draw(
"");
2290 cONE->Print(
"HistBadTSshapesHB.png");
2294 cONE->Print(
"HistBadTSshapesHE.png");
2298 cONE->Print(
"HistBadTSshapesHO.png");
2302 cONE->Print(
"HistBadTSshapesHF.png");
2543 const int neta = 82;
2544 const int nphi = 72;
2548 double alexhe[
ndepth][njeta][njphi];
2549 double variance[
ndepth][njeta][njphi];
2551 const int jposbeg = 57;
2552 const int jposend = 71;
2554 const int jnegbeg = 12;
2555 const int jnegend = 26;
2557 cout <<
"Iteration Method for Calibration Group nsub= " <<
nsub <<
" ndepth = " <<
ndepth <<
" neta = " <<
neta
2558 <<
" nphi = " <<
nphi << endl;
2559 cout <<
"Iteration Method for Calibration Group njdepth = " << njdepth <<
" njeta = " << njeta
2560 <<
" njphi = " << njphi << endl;
2561 cout <<
"Iteration Method for Calibration Group jposbeg = " << jposbeg <<
" jposend = " << jposend
2562 <<
" jnegbeg = " << jnegbeg <<
" jnegend = " << jnegend << endl;
2580 TH2F *maprphinorm1HE1 = (TH2F *)hfile->Get(
"h_maprphinorm_HE1");
2581 TH2F *maprphinorm0HE1 = (TH2F *)hfile->Get(
"h_maprphinorm0_HE1");
2582 TH2F *maprphinormHE1 = (TH2F *)maprphinorm1HE1->Clone(
"maprphinormHE1");
2583 maprphinormHE1->Divide(maprphinorm1HE1, maprphinorm0HE1, 1, 1,
"B");
2584 TH2F *maprphinorm1HE2 = (TH2F *)hfile->Get(
"h_maprphinorm_HE2");
2585 TH2F *maprphinorm0HE2 = (TH2F *)hfile->Get(
"h_maprphinorm0_HE2");
2586 TH2F *maprphinormHE2 = (TH2F *)maprphinorm1HE2->Clone(
"maprphinormHE2");
2587 maprphinormHE2->Divide(maprphinorm1HE2, maprphinorm0HE2, 1, 1,
"B");
2588 TH2F *maprphinorm1HE3 = (TH2F *)hfile->Get(
"h_maprphinorm_HE3");
2589 TH2F *maprphinorm0HE3 = (TH2F *)hfile->Get(
"h_maprphinorm0_HE3");
2590 TH2F *maprphinormHE3 = (TH2F *)maprphinorm1HE3->Clone(
"maprphinormHE3");
2591 maprphinormHE3->Divide(maprphinorm1HE3, maprphinorm0HE3, 1, 1,
"B");
2592 TH2F *maprphinorm1HE4 = (TH2F *)hfile->Get(
"h_maprphinorm_HE4");
2593 TH2F *maprphinorm0HE4 = (TH2F *)hfile->Get(
"h_maprphinorm0_HE4");
2594 TH2F *maprphinormHE4 = (TH2F *)maprphinorm1HE4->Clone(
"maprphinormHE4");
2595 maprphinormHE4->Divide(maprphinorm1HE4, maprphinorm0HE4, 1, 1,
"B");
2596 TH2F *maprphinorm1HE5 = (TH2F *)hfile->Get(
"h_maprphinorm_HE5");
2597 TH2F *maprphinorm0HE5 = (TH2F *)hfile->Get(
"h_maprphinorm0_HE5");
2598 TH2F *maprphinormHE5 = (TH2F *)maprphinorm1HE5->Clone(
"maprphinormHE5");
2599 maprphinormHE5->Divide(maprphinorm1HE5, maprphinorm0HE5, 1, 1,
"B");
2600 TH2F *maprphinorm1HE6 = (TH2F *)hfile->Get(
"h_maprphinorm_HE6");
2601 TH2F *maprphinorm0HE6 = (TH2F *)hfile->Get(
"h_maprphinorm0_HE6");
2602 TH2F *maprphinormHE6 = (TH2F *)maprphinorm1HE6->Clone(
"maprphinormHE6");
2603 maprphinormHE6->Divide(maprphinorm1HE6, maprphinorm0HE6, 1, 1,
"B");
2604 TH2F *maprphinorm1HE7 = (TH2F *)hfile->Get(
"h_maprphinorm_HE7");
2605 TH2F *maprphinorm0HE7 = (TH2F *)hfile->Get(
"h_maprphinorm0_HE7");
2606 TH2F *maprphinormHE7 = (TH2F *)maprphinorm1HE7->Clone(
"maprphinormHE7");
2607 maprphinormHE7->Divide(maprphinorm1HE7, maprphinorm0HE7, 1, 1,
"B");
2610 for (
int jphi = 0; jphi < njphi; jphi++) {
2611 alexhe[0][
jeta][jphi] = maprphinormHE1->GetBinContent(
jeta + 1, jphi + 1);
2612 alexhe[1][
jeta][jphi] = maprphinormHE2->GetBinContent(
jeta + 1, jphi + 1);
2613 alexhe[2][
jeta][jphi] = maprphinormHE3->GetBinContent(
jeta + 1, jphi + 1);
2614 alexhe[3][
jeta][jphi] = maprphinormHE4->GetBinContent(
jeta + 1, jphi + 1);
2615 alexhe[4][
jeta][jphi] = maprphinormHE5->GetBinContent(
jeta + 1, jphi + 1);
2616 alexhe[5][
jeta][jphi] = maprphinormHE6->GetBinContent(
jeta + 1, jphi + 1);
2617 alexhe[6][
jeta][jphi] = maprphinormHE7->GetBinContent(
jeta + 1, jphi + 1);
2624 cout <<
" R2D-eta/phi-plot: R, averaged over depthes *****" << endl;
2629 TH2F *Gefz42D =
new TH2F(
"Gefz42D",
"",
neta, -41., 41.,
nphi, 0., 72.);
2630 TH2F *Gefz42D0 =
new TH2F(
"Gefz42D0",
"",
neta, -41., 41.,
nphi, 0., 72.);
2631 TH2F *Gefz42DF = (TH2F *)Gefz42D0->Clone(
"Gefz42DF");
2634 for (
int jphi = 0; jphi <
nphi; jphi++) {
2635 double ccc1 = alexhe[
i][
jeta][jphi];
2636 int k2plot =
jeta - 41;
2639 Gefz42D->Fill(kkk, jphi, ccc1);
2640 Gefz42D0->Fill(kkk, jphi, 1.);
2645 Gefz42DF->Divide(Gefz42D, Gefz42D0, 1, 1,
"B");
2648 Gefz42DF->SetMarkerStyle(20);
2649 Gefz42DF->SetMarkerSize(0.4);
2650 Gefz42DF->GetZaxis()->SetLabelSize(0.08);
2651 Gefz42DF->SetXTitle(
"<R>_depth #eta \b");
2652 Gefz42DF->SetYTitle(
" #phi \b");
2653 Gefz42DF->SetZTitle(
"<R>_depth \b");
2654 Gefz42DF->SetMarkerColor(2);
2655 Gefz42DF->SetLineColor(0);
2656 Gefz42DF->Draw(
"COLZ");
2660 c1x0->Print(
"Rhist2IterationMethodHE.png");
2672 cout <<
" 1D plot: R vs phi , averaged over depthes & eta *****" << endl;
2677 TH1F *Gefz41D =
new TH1F(
"Gefz41D",
"",
nphi, 0., 72.);
2678 TH1F *Gefz41D0 =
new TH1F(
"Gefz41D0",
"",
nphi, 0., 72.);
2679 TH1F *Gefz41DF = (TH1F *)Gefz41D0->Clone(
"Gefz41DF");
2681 for (
int jphi = 0; jphi <
nphi; jphi++) {
2684 double ccc1 = alexhe[
i][
jeta][jphi];
2686 Gefz41D->Fill(jphi, ccc1);
2687 Gefz41D0->Fill(jphi, 1.);
2694 Gefz41DF->Divide(Gefz41D, Gefz41D0, 1, 1,
"B");
2699 Gefz41DF->SetMarkerStyle(20);
2700 Gefz41DF->SetMarkerSize(1.4);
2701 Gefz41DF->GetZaxis()->SetLabelSize(0.08);
2702 Gefz41DF->SetXTitle(
"#phi \b");
2703 Gefz41DF->SetYTitle(
" <R> \b");
2704 Gefz41DF->SetZTitle(
"<R>_PHI - AllDepthes \b");
2705 Gefz41DF->SetMarkerColor(4);
2706 Gefz41DF->SetLineColor(4);
2707 Gefz41DF->SetMinimum(0.8);
2708 Gefz41DF->Draw(
"Error");
2712 c1x1->Print(
"Rhist1IterationMethodHE.png");
2725 cout <<
" 1D plot: R vs phi , different eta, depth=1 *****" << endl;
2730 int kcountHEpositivedirection1 = 1;
2731 TH1F *h2CeffHEpositivedirection1 =
new TH1F(
"h2CeffHEpositivedirection1",
"",
nphi, 0., 72.);
2735 if (
jeta - 41 > 0) {
2738 for (
int i = 0;
i < 1;
i++) {
2739 TH1F *HEpositivedirection1 = (TH1F *)h2CeffHEpositivedirection1->Clone(
"twod1");
2742 for (
int jphi = 0; jphi <
nphi; jphi++) {
2743 double ccc1 = alexhe[
i][
jeta][jphi];
2745 HEpositivedirection1->Fill(jphi, ccc1);
2750 cout <<
"444 kcountHEpositivedirection1 = " << kcountHEpositivedirection1
2751 <<
" jeta-41= " <<
jeta - 41 << endl;
2752 c3x5->cd(kcountHEpositivedirection1);
2753 HEpositivedirection1->SetMarkerStyle(20);
2754 HEpositivedirection1->SetMarkerSize(0.4);
2755 HEpositivedirection1->GetYaxis()->SetLabelSize(0.04);
2756 HEpositivedirection1->SetXTitle(
"HEpositivedirection1 \b");
2757 HEpositivedirection1->SetMarkerColor(2);
2758 HEpositivedirection1->SetLineColor(0);
2762 if (kcountHEpositivedirection1 == 1)
2763 HEpositivedirection1->SetXTitle(
"R for HE+ jeta = 18; depth = 1 \b");
2764 if (kcountHEpositivedirection1 == 2)
2765 HEpositivedirection1->SetXTitle(
"R for HE+ jeta = 19; depth = 1 \b");
2766 if (kcountHEpositivedirection1 == 3)
2767 HEpositivedirection1->SetXTitle(
"R for HE+ jeta = 20; depth = 1 \b");
2768 if (kcountHEpositivedirection1 == 4)
2769 HEpositivedirection1->SetXTitle(
"R for HE+ jeta = 21; depth = 1 \b");
2770 if (kcountHEpositivedirection1 == 5)
2771 HEpositivedirection1->SetXTitle(
"R for HE+ jeta = 22; depth = 1 \b");
2772 if (kcountHEpositivedirection1 == 6)
2773 HEpositivedirection1->SetXTitle(
"R for HE+ jeta = 23; depth = 1 \b");
2774 if (kcountHEpositivedirection1 == 7)
2775 HEpositivedirection1->SetXTitle(
"R for HE+ jeta = 24; depth = 1 \b");
2776 if (kcountHEpositivedirection1 == 8)
2777 HEpositivedirection1->SetXTitle(
"R for HE+ jeta = 25; depth = 1 \b");
2778 if (kcountHEpositivedirection1 == 9)
2779 HEpositivedirection1->SetXTitle(
"R for HE+ jeta = 26; depth = 1 \b");
2780 if (kcountHEpositivedirection1 == 10)
2781 HEpositivedirection1->SetXTitle(
"R for HE+ jeta = 27; depth = 1 \b");
2782 if (kcountHEpositivedirection1 == 11)
2783 HEpositivedirection1->SetXTitle(
"R for HE+ jeta = 28; depth = 1 \b");
2784 if (kcountHEpositivedirection1 == 12)
2785 HEpositivedirection1->SetXTitle(
"R for HE+ jeta = 29; depth = 1 \b");
2786 HEpositivedirection1->Draw(
"Error");
2787 kcountHEpositivedirection1++;
2788 if (kcountHEpositivedirection1 > 15)
2797 c3x5->Print(
"Rhist1IterationMethodDepth1HE.png");
2800 if (h2CeffHEpositivedirection1)
2801 delete h2CeffHEpositivedirection1;
2806 cout <<
" 1D plot: R vs phi , different eta, depth=2 *****" << endl;
2811 int kcountHEpositivedirection2 = 1;
2812 TH1F *h2CeffHEpositivedirection2 =
new TH1F(
"h2CeffHEpositivedirection2",
"",
nphi, 0., 72.);
2816 if (
jeta - 41 > 0) {
2819 for (
int i = 1;
i < 2;
i++) {
2820 TH1F *HEpositivedirection2 = (TH1F *)h2CeffHEpositivedirection2->Clone(
"twod1");
2823 for (
int jphi = 0; jphi <
nphi; jphi++) {
2824 double ccc1 = alexhe[
i][
jeta][jphi];
2826 HEpositivedirection2->Fill(jphi, ccc1);
2831 cout <<
"555 kcountHEpositivedirection2 = " << kcountHEpositivedirection2
2832 <<
" jeta-41= " <<
jeta - 41 << endl;
2833 c3x5->cd(kcountHEpositivedirection2);
2834 HEpositivedirection2->SetMarkerStyle(20);
2835 HEpositivedirection2->SetMarkerSize(0.4);
2836 HEpositivedirection2->GetYaxis()->SetLabelSize(0.04);
2837 HEpositivedirection2->SetXTitle(
"HEpositivedirection2 \b");
2838 HEpositivedirection2->SetMarkerColor(2);
2839 HEpositivedirection2->SetLineColor(0);
2843 if (kcountHEpositivedirection2 == 1)
2844 HEpositivedirection2->SetXTitle(
"R for HE+ jeta = 17; depth = 2 \b");
2845 if (kcountHEpositivedirection2 == 2)
2846 HEpositivedirection2->SetXTitle(
"R for HE+ jeta = 18; depth = 2 \b");
2847 if (kcountHEpositivedirection2 == 3)
2848 HEpositivedirection2->SetXTitle(
"R for HE+ jeta = 19; depth = 2 \b");
2849 if (kcountHEpositivedirection2 == 4)
2850 HEpositivedirection2->SetXTitle(
"R for HE+ jeta = 20; depth = 2 \b");
2851 if (kcountHEpositivedirection2 == 5)
2852 HEpositivedirection2->SetXTitle(
"R for HE+ jeta = 21; depth = 2 \b");
2853 if (kcountHEpositivedirection2 == 6)
2854 HEpositivedirection2->SetXTitle(
"R for HE+ jeta = 22; depth = 2 \b");
2855 if (kcountHEpositivedirection2 == 7)
2856 HEpositivedirection2->SetXTitle(
"R for HE+ jeta = 23; depth = 2 \b");
2857 if (kcountHEpositivedirection2 == 8)
2858 HEpositivedirection2->SetXTitle(
"R for HE+ jeta = 24; depth = 2 \b");
2859 if (kcountHEpositivedirection2 == 9)
2860 HEpositivedirection2->SetXTitle(
"R for HE+ jeta = 25; depth = 2 \b");
2861 if (kcountHEpositivedirection2 == 10)
2862 HEpositivedirection2->SetXTitle(
"R for HE+ jeta = 26; depth = 2 \b");
2863 if (kcountHEpositivedirection2 == 11)
2864 HEpositivedirection2->SetXTitle(
"R for HE+ jeta = 27; depth = 2 \b");
2865 if (kcountHEpositivedirection2 == 12)
2866 HEpositivedirection2->SetXTitle(
"R for HE+ jeta = 28; depth = 2 \b");
2867 if (kcountHEpositivedirection2 == 13)
2868 HEpositivedirection2->SetXTitle(
"R for HE+ jeta = 29; depth = 2 \b");
2869 HEpositivedirection2->Draw(
"Error");
2870 kcountHEpositivedirection2++;
2871 if (kcountHEpositivedirection2 > 15)
2880 c3x5->Print(
"Rhist1IterationMethodDepth2HE.png");
2883 if (h2CeffHEpositivedirection2)
2884 delete h2CeffHEpositivedirection2;
2888 cout <<
" 1D plot: R vs phi , different eta, depth=3 *****" << endl;
2893 int kcountHEpositivedirection3 = 1;
2894 TH1F *h2CeffHEpositivedirection3 =
new TH1F(
"h2CeffHEpositivedirection3",
"",
nphi, 0., 72.);
2898 if (
jeta - 41 > 0) {
2901 for (
int i = 2;
i < 3;
i++) {
2902 TH1F *HEpositivedirection3 = (TH1F *)h2CeffHEpositivedirection3->Clone(
"twod1");
2905 for (
int jphi = 0; jphi <
nphi; jphi++) {
2906 double ccc1 = alexhe[
i][
jeta][jphi];
2908 HEpositivedirection3->Fill(jphi, ccc1);
2913 cout <<
"666 kcountHEpositivedirection3 = " << kcountHEpositivedirection3
2914 <<
" jeta-41= " <<
jeta - 41 << endl;
2915 c3x5->cd(kcountHEpositivedirection3);
2916 HEpositivedirection3->SetMarkerStyle(20);
2917 HEpositivedirection3->SetMarkerSize(0.4);
2918 HEpositivedirection3->GetYaxis()->SetLabelSize(0.04);
2919 HEpositivedirection3->SetXTitle(
"HEpositivedirection3 \b");
2920 HEpositivedirection3->SetMarkerColor(2);
2921 HEpositivedirection3->SetLineColor(0);
2925 if (kcountHEpositivedirection3 == 1)
2926 HEpositivedirection3->SetXTitle(
"R for HE+ jeta = 17; depth = 3 \b");
2927 if (kcountHEpositivedirection3 == 2)
2928 HEpositivedirection3->SetXTitle(
"R for HE+ jeta = 18; depth = 3 \b");
2929 if (kcountHEpositivedirection3 == 3)
2930 HEpositivedirection3->SetXTitle(
"R for HE+ jeta = 19; depth = 3 \b");
2931 if (kcountHEpositivedirection3 == 4)
2932 HEpositivedirection3->SetXTitle(
"R for HE+ jeta = 20; depth = 3 \b");
2933 if (kcountHEpositivedirection3 == 5)
2934 HEpositivedirection3->SetXTitle(
"R for HE+ jeta = 21; depth = 3 \b");
2935 if (kcountHEpositivedirection3 == 6)
2936 HEpositivedirection3->SetXTitle(
"R for HE+ jeta = 22; depth = 3 \b");
2937 if (kcountHEpositivedirection3 == 7)
2938 HEpositivedirection3->SetXTitle(
"R for HE+ jeta = 23; depth = 3 \b");
2939 if (kcountHEpositivedirection3 == 8)
2940 HEpositivedirection3->SetXTitle(
"R for HE+ jeta = 24; depth = 3 \b");
2941 if (kcountHEpositivedirection3 == 9)
2942 HEpositivedirection3->SetXTitle(
"R for HE+ jeta = 25; depth = 3 \b");
2943 if (kcountHEpositivedirection3 == 10)
2944 HEpositivedirection3->SetXTitle(
"R for HE+ jeta = 26; depth = 3 \b");
2945 if (kcountHEpositivedirection3 == 11)
2946 HEpositivedirection3->SetXTitle(
"R for HE+ jeta = 27; depth = 3 \b");
2947 if (kcountHEpositivedirection3 == 12)
2948 HEpositivedirection3->SetXTitle(
"R for HE+ jeta = 28; depth = 3 \b");
2949 if (kcountHEpositivedirection3 == 13)
2950 HEpositivedirection3->SetXTitle(
"R for HE+ jeta = 29; depth = 3 \b");
2951 HEpositivedirection3->Draw(
"Error");
2952 kcountHEpositivedirection3++;
2953 if (kcountHEpositivedirection3 > 15)
2962 c3x5->Print(
"Rhist1IterationMethodDepth3HE.png");
2965 if (h2CeffHEpositivedirection3)
2966 delete h2CeffHEpositivedirection3;
2970 cout <<
" 1D plot: R vs phi , different eta, depth=4 *****" << endl;
2975 int kcountHEpositivedirection4 = 1;
2976 TH1F *h2CeffHEpositivedirection4 =
new TH1F(
"h2CeffHEpositivedirection4",
"",
nphi, 0., 72.);
2980 if (
jeta - 41 > 0) {
2983 for (
int i = 3;
i < 4;
i++) {
2984 TH1F *HEpositivedirection4 = (TH1F *)h2CeffHEpositivedirection4->Clone(
"twod1");
2987 for (
int jphi = 0; jphi <
nphi; jphi++) {
2988 double ccc1 = alexhe[
i][
jeta][jphi];
2990 HEpositivedirection4->Fill(jphi, ccc1);
2995 cout <<
"777 kcountHEpositivedirection4 = " << kcountHEpositivedirection4
2996 <<
" jeta-41= " <<
jeta - 41 << endl;
2997 c3x5->cd(kcountHEpositivedirection4);
2998 HEpositivedirection4->SetMarkerStyle(20);
2999 HEpositivedirection4->SetMarkerSize(0.4);
3000 HEpositivedirection4->GetYaxis()->SetLabelSize(0.04);
3001 HEpositivedirection4->SetXTitle(
"HEpositivedirection4 \b");
3002 HEpositivedirection4->SetMarkerColor(2);
3003 HEpositivedirection4->SetLineColor(0);
3007 if (kcountHEpositivedirection4 == 1)
3008 HEpositivedirection4->SetXTitle(
"R for HE+ jeta = 16; depth = 4 \b");
3009 if (kcountHEpositivedirection4 == 2)
3010 HEpositivedirection4->SetXTitle(
"R for HE+ jeta = 18; depth = 4 \b");
3011 if (kcountHEpositivedirection4 == 3)
3012 HEpositivedirection4->SetXTitle(
"R for HE+ jeta = 19; depth = 4 \b");
3013 if (kcountHEpositivedirection4 == 4)
3014 HEpositivedirection4->SetXTitle(
"R for HE+ jeta = 20; depth = 4 \b");
3015 if (kcountHEpositivedirection4 == 5)
3016 HEpositivedirection4->SetXTitle(
"R for HE+ jeta = 21; depth = 4 \b");
3017 if (kcountHEpositivedirection4 == 6)
3018 HEpositivedirection4->SetXTitle(
"R for HE+ jeta = 22; depth = 4 \b");
3019 if (kcountHEpositivedirection4 == 7)
3020 HEpositivedirection4->SetXTitle(
"R for HE+ jeta = 23; depth = 4 \b");
3021 if (kcountHEpositivedirection4 == 8)
3022 HEpositivedirection4->SetXTitle(
"R for HE+ jeta = 24; depth = 4 \b");
3023 if (kcountHEpositivedirection4 == 9)
3024 HEpositivedirection4->SetXTitle(
"R for HE+ jeta = 25; depth = 4 \b");
3025 if (kcountHEpositivedirection4 == 10)
3026 HEpositivedirection4->SetXTitle(
"R for HE+ jeta = 26; depth = 4 \b");
3027 if (kcountHEpositivedirection4 == 11)
3028 HEpositivedirection4->SetXTitle(
"R for HE+ jeta = 27; depth = 4 \b");
3029 if (kcountHEpositivedirection4 == 12)
3030 HEpositivedirection4->SetXTitle(
"R for HE+ jeta = 28; depth = 4 \b");
3031 HEpositivedirection4->Draw(
"Error");
3032 kcountHEpositivedirection4++;
3033 if (kcountHEpositivedirection4 > 15)
3042 c3x5->Print(
"Rhist1IterationMethodDepth4HE.png");
3045 if (h2CeffHEpositivedirection4)
3046 delete h2CeffHEpositivedirection4;
3050 cout <<
" 1D plot: R vs phi , different eta, depth=5 *****" << endl;
3055 int kcountHEpositivedirection5 = 1;
3056 TH1F *h2CeffHEpositivedirection5 =
new TH1F(
"h2CeffHEpositivedirection5",
"",
nphi, 0., 72.);
3060 if (
jeta - 41 > 0) {
3063 for (
int i = 4;
i < 5;
i++) {
3064 TH1F *HEpositivedirection5 = (TH1F *)h2CeffHEpositivedirection5->Clone(
"twod1");
3067 for (
int jphi = 0; jphi <
nphi; jphi++) {
3070 double ccc1 = alexhe[
i][
jeta][jphi];
3072 HEpositivedirection5->Fill(jphi, ccc1);
3077 cout <<
"888 kcountHEpositivedirection5 = " << kcountHEpositivedirection5
3078 <<
" jeta-41= " <<
jeta - 41 << endl;
3079 c3x5->cd(kcountHEpositivedirection5);
3080 HEpositivedirection5->SetMarkerStyle(20);
3081 HEpositivedirection5->SetMarkerSize(0.4);
3082 HEpositivedirection5->GetYaxis()->SetLabelSize(0.04);
3083 HEpositivedirection5->SetXTitle(
"HEpositivedirection5 \b");
3084 HEpositivedirection5->SetMarkerColor(2);
3085 HEpositivedirection5->SetLineColor(0);
3089 if (kcountHEpositivedirection5 == 1)
3090 HEpositivedirection5->SetXTitle(
"R for HE+ jeta = 18; depth = 5 \b");
3091 if (kcountHEpositivedirection5 == 2)
3092 HEpositivedirection5->SetXTitle(
"R for HE+ jeta = 19; depth = 5 \b");
3093 if (kcountHEpositivedirection5 == 3)
3094 HEpositivedirection5->SetXTitle(
"R for HE+ jeta = 20; depth = 5 \b");
3095 if (kcountHEpositivedirection5 == 4)
3096 HEpositivedirection5->SetXTitle(
"R for HE+ jeta = 21; depth = 5 \b");
3097 if (kcountHEpositivedirection5 == 5)
3098 HEpositivedirection5->SetXTitle(
"R for HE+ jeta = 22; depth = 5 \b");
3099 if (kcountHEpositivedirection5 == 6)
3100 HEpositivedirection5->SetXTitle(
"R for HE+ jeta = 23; depth = 5 \b");
3101 if (kcountHEpositivedirection5 == 7)
3102 HEpositivedirection5->SetXTitle(
"R for HE+ jeta = 24; depth = 5 \b");
3103 if (kcountHEpositivedirection5 == 8)
3104 HEpositivedirection5->SetXTitle(
"R for HE+ jeta = 25; depth = 5 \b");
3105 if (kcountHEpositivedirection5 == 9)
3106 HEpositivedirection5->SetXTitle(
"R for HE+ jeta = 26; depth = 5 \b");
3107 if (kcountHEpositivedirection5 == 10)
3108 HEpositivedirection5->SetXTitle(
"R for HE+ jeta = 27; depth = 5 \b");
3109 if (kcountHEpositivedirection5 == 11)
3110 HEpositivedirection5->SetXTitle(
"R for HE+ jeta = 28; depth = 5 \b");
3111 HEpositivedirection5->Draw(
"Error");
3112 kcountHEpositivedirection5++;
3113 if (kcountHEpositivedirection5 > 15)
3122 c3x5->Print(
"Rhist1IterationMethodDepth5HE.png");
3125 if (h2CeffHEpositivedirection5)
3126 delete h2CeffHEpositivedirection5;
3130 cout <<
" 1D plot: R vs phi , different eta, depth=6 *****" << endl;
3135 int kcountHEpositivedirection6 = 1;
3136 TH1F *h2CeffHEpositivedirection6 =
new TH1F(
"h2CeffHEpositivedirection6",
"",
nphi, 0., 72.);
3140 if (
jeta - 41 > 0) {
3143 for (
int i = 5;
i < 6;
i++) {
3144 TH1F *HEpositivedirection6 = (TH1F *)h2CeffHEpositivedirection6->Clone(
"twod1");
3147 for (
int jphi = 0; jphi <
nphi; jphi++) {
3148 double ccc1 = alexhe[
i][
jeta][jphi];
3150 HEpositivedirection6->Fill(jphi, ccc1);
3155 cout <<
"999 kcountHEpositivedirection6 = " << kcountHEpositivedirection6
3156 <<
" jeta-41= " <<
jeta - 41 << endl;
3157 c3x5->cd(kcountHEpositivedirection6);
3158 HEpositivedirection6->SetMarkerStyle(20);
3159 HEpositivedirection6->SetMarkerSize(0.4);
3160 HEpositivedirection6->GetYaxis()->SetLabelSize(0.04);
3161 HEpositivedirection6->SetXTitle(
"HEpositivedirection6 \b");
3162 HEpositivedirection6->SetMarkerColor(2);
3163 HEpositivedirection6->SetLineColor(0);
3167 if (kcountHEpositivedirection6 == 1)
3168 HEpositivedirection6->SetXTitle(
"R for HE+ jeta = 19; depth = 6 \b");
3169 if (kcountHEpositivedirection6 == 2)
3170 HEpositivedirection6->SetXTitle(
"R for HE+ jeta = 20; depth = 6 \b");
3171 if (kcountHEpositivedirection6 == 3)
3172 HEpositivedirection6->SetXTitle(
"R for HE+ jeta = 21; depth = 6 \b");
3173 if (kcountHEpositivedirection6 == 4)
3174 HEpositivedirection6->SetXTitle(
"R for HE+ jeta = 22; depth = 6 \b");
3175 if (kcountHEpositivedirection6 == 5)
3176 HEpositivedirection6->SetXTitle(
"R for HE+ jeta = 23; depth = 6 \b");
3177 if (kcountHEpositivedirection6 == 6)
3178 HEpositivedirection6->SetXTitle(
"R for HE+ jeta = 24; depth = 6 \b");
3179 if (kcountHEpositivedirection6 == 7)
3180 HEpositivedirection6->SetXTitle(
"R for HE+ jeta = 25; depth = 6 \b");
3181 if (kcountHEpositivedirection6 == 8)
3182 HEpositivedirection6->SetXTitle(
"R for HE+ jeta = 26; depth = 6 \b");
3183 if (kcountHEpositivedirection6 == 9)
3184 HEpositivedirection6->SetXTitle(
"R for HE+ jeta = 27; depth = 6 \b");
3185 if (kcountHEpositivedirection6 == 10)
3186 HEpositivedirection6->SetXTitle(
"R for HE+ jeta = 28; depth = 6 \b");
3187 HEpositivedirection6->Draw(
"Error");
3188 kcountHEpositivedirection6++;
3189 if (kcountHEpositivedirection6 > 15)
3198 c3x5->Print(
"Rhist1IterationMethodDepth6HE.png");
3201 if (h2CeffHEpositivedirection6)
3202 delete h2CeffHEpositivedirection6;
3206 cout <<
" 1D plot: R vs phi , different eta, depth=7 *****" << endl;
3211 int kcountHEpositivedirection7 = 1;
3212 TH1F *h2CeffHEpositivedirection7 =
new TH1F(
"h2CeffHEpositivedirection7",
"",
nphi, 0., 72.);
3216 if (
jeta - 41 > 0) {
3219 for (
int i = 6;
i < 7;
i++) {
3220 TH1F *HEpositivedirection7 = (TH1F *)h2CeffHEpositivedirection7->Clone(
"twod1");
3223 for (
int jphi = 0; jphi <
nphi; jphi++) {
3224 double ccc1 = alexhe[
i][
jeta][jphi];
3226 HEpositivedirection7->Fill(jphi, ccc1);
3231 cout <<
"1010 kcountHEpositivedirection7 = " << kcountHEpositivedirection7
3232 <<
" jeta-41= " <<
jeta - 41 << endl;
3233 c3x5->cd(kcountHEpositivedirection7);
3234 HEpositivedirection7->SetMarkerStyle(20);
3235 HEpositivedirection7->SetMarkerSize(0.4);
3236 HEpositivedirection7->GetYaxis()->SetLabelSize(0.04);
3237 HEpositivedirection7->SetXTitle(
"HEpositivedirection7 \b");
3238 HEpositivedirection7->SetMarkerColor(2);
3239 HEpositivedirection7->SetLineColor(0);
3243 if (kcountHEpositivedirection7 == 1)
3244 HEpositivedirection7->SetXTitle(
"R for HE+ jeta = 26; depth = 7 \b");
3245 if (kcountHEpositivedirection7 == 2)
3246 HEpositivedirection7->SetXTitle(
"R for HE+ jeta = 27; depth = 7 \b");
3247 if (kcountHEpositivedirection7 == 3)
3248 HEpositivedirection7->SetXTitle(
"R for HE+ jeta = 28; depth = 7 \b");
3249 HEpositivedirection7->Draw(
"Error");
3250 kcountHEpositivedirection7++;
3251 if (kcountHEpositivedirection7 > 15)
3260 c3x5->Print(
"Rhist1IterationMethodDepth7HE.png");
3263 if (h2CeffHEpositivedirection7)
3264 delete h2CeffHEpositivedirection7;
3268 cout <<
" Start Vaiance: preparation *****" << endl;
3269 TH2F *mapdphinorm1HE1 = (TH2F *)hfile->Get(
"h_maprphinorm2_HE1");
3270 TH2F *mapdphinorm0HE1 = (TH2F *)hfile->Get(
"h_maprphinorm0_HE1");
3271 TH2F *mapdphinormHE1 = (TH2F *)mapdphinorm1HE1->Clone(
"mapdphinormHE1");
3272 mapdphinormHE1->Divide(mapdphinorm1HE1, mapdphinorm0HE1, 1, 1,
"B");
3273 TH2F *mapdphinorm1HE2 = (TH2F *)hfile->Get(
"h_maprphinorm2_HE2");
3274 TH2F *mapdphinorm0HE2 = (TH2F *)hfile->Get(
"h_maprphinorm0_HE2");
3275 TH2F *mapdphinormHE2 = (TH2F *)mapdphinorm1HE2->Clone(
"mapdphinormHE2");
3276 mapdphinormHE2->Divide(mapdphinorm1HE2, mapdphinorm0HE2, 1, 1,
"B");
3277 TH2F *mapdphinorm1HE3 = (TH2F *)hfile->Get(
"h_maprphinorm2_HE3");
3278 TH2F *mapdphinorm0HE3 = (TH2F *)hfile->Get(
"h_maprphinorm0_HE3");
3279 TH2F *mapdphinormHE3 = (TH2F *)mapdphinorm1HE3->Clone(
"mapdphinormHE3");
3280 mapdphinormHE3->Divide(mapdphinorm1HE3, mapdphinorm0HE3, 1, 1,
"B");
3281 TH2F *mapdphinorm1HE4 = (TH2F *)hfile->Get(
"h_maprphinorm2_HE4");
3282 TH2F *mapdphinorm0HE4 = (TH2F *)hfile->Get(
"h_maprphinorm0_HE4");
3283 TH2F *mapdphinormHE4 = (TH2F *)mapdphinorm1HE4->Clone(
"mapdphinormHE4");
3284 mapdphinormHE4->Divide(mapdphinorm1HE4, mapdphinorm0HE4, 1, 1,
"B");
3285 TH2F *mapdphinorm1HE5 = (TH2F *)hfile->Get(
"h_maprphinorm2_HE5");
3286 TH2F *mapdphinorm0HE5 = (TH2F *)hfile->Get(
"h_maprphinorm0_HE5");
3287 TH2F *mapdphinormHE5 = (TH2F *)mapdphinorm1HE5->Clone(
"mapdphinormHE5");
3288 mapdphinormHE5->Divide(mapdphinorm1HE5, mapdphinorm0HE5, 1, 1,
"B");
3289 TH2F *mapdphinorm1HE6 = (TH2F *)hfile->Get(
"h_maprphinorm2_HE6");
3290 TH2F *mapdphinorm0HE6 = (TH2F *)hfile->Get(
"h_maprphinorm0_HE6");
3291 TH2F *mapdphinormHE6 = (TH2F *)mapdphinorm1HE6->Clone(
"mapdphinormHE6");
3292 mapdphinormHE6->Divide(mapdphinorm1HE6, mapdphinorm0HE6, 1, 1,
"B");
3293 TH2F *mapdphinorm1HE7 = (TH2F *)hfile->Get(
"h_maprphinorm2_HE7");
3294 TH2F *mapdphinorm0HE7 = (TH2F *)hfile->Get(
"h_maprphinorm0_HE7");
3295 TH2F *mapdphinormHE7 = (TH2F *)mapdphinorm1HE7->Clone(
"mapdphinormHE7");
3296 mapdphinormHE7->Divide(mapdphinorm1HE7, mapdphinorm0HE7, 1, 1,
"B");
3297 cout <<
" Vaiance: preparation DONE *****" << endl;
3302 for (
int jphi = 0; jphi < njphi; jphi++) {
3303 variance[0][
jeta][jphi] =
3304 fabs(mapdphinormHE1->GetBinContent(
jeta + 1, jphi + 1) - alexhe[0][
jeta][jphi] * alexhe[0][
jeta][jphi]);
3305 if (variance[0][
jeta][jphi] < 0.00003)
3306 variance[0][
jeta][jphi] = 0.000067;
3307 variance[1][
jeta][jphi] =
3308 fabs(mapdphinormHE2->GetBinContent(
jeta + 1, jphi + 1) - alexhe[1][
jeta][jphi] * alexhe[1][
jeta][jphi]);
3309 if (variance[1][
jeta][jphi] < 0.00003)
3310 variance[1][
jeta][jphi] = 0.000067;
3311 variance[2][
jeta][jphi] =
3312 fabs(mapdphinormHE3->GetBinContent(
jeta + 1, jphi + 1) - alexhe[2][
jeta][jphi] * alexhe[2][
jeta][jphi]);
3313 if (variance[2][
jeta][jphi] < 0.00003)
3314 variance[2][
jeta][jphi] = 0.000067;
3315 variance[3][
jeta][jphi] =
3316 fabs(mapdphinormHE4->GetBinContent(
jeta + 1, jphi + 1) - alexhe[3][
jeta][jphi] * alexhe[3][
jeta][jphi]);
3317 if (variance[3][
jeta][jphi] < 0.00003)
3318 variance[3][
jeta][jphi] = 0.000067;
3319 variance[4][
jeta][jphi] =
3320 fabs(mapdphinormHE5->GetBinContent(
jeta + 1, jphi + 1) - alexhe[4][
jeta][jphi] * alexhe[4][
jeta][jphi]);
3321 if (variance[4][
jeta][jphi] < 0.00003)
3322 variance[4][
jeta][jphi] = 0.000067;
3323 variance[5][
jeta][jphi] =
3324 fabs(mapdphinormHE6->GetBinContent(
jeta + 1, jphi + 1) - alexhe[5][
jeta][jphi] * alexhe[5][
jeta][jphi]);
3325 if (variance[5][
jeta][jphi] < 0.00003)
3326 variance[5][
jeta][jphi] = 0.000067;
3327 variance[6][
jeta][jphi] =
3328 fabs(mapdphinormHE7->GetBinContent(
jeta + 1, jphi + 1) - alexhe[6][
jeta][jphi] * alexhe[6][
jeta][jphi]);
3329 if (variance[6][
jeta][jphi] < 0.00003)
3330 variance[6][
jeta][jphi] = 0.000067;
3333 cout <<
" Vaiance: DONE*****" << endl;
3338 cout <<
" R2D-eta/phi-plot: D, averaged over depthes *****" << endl;
3343 TH2F *Defz42D =
new TH2F(
"Defz42D",
"",
neta, -41., 41.,
nphi, 0., 72.);
3344 TH2F *Defz42D0 =
new TH2F(
"Defz42D0",
"",
neta, -41., 41.,
nphi, 0., 72.);
3345 TH2F *Defz42DF = (TH2F *)Defz42D0->Clone(
"Defz42DF");
3348 for (
int jphi = 0; jphi <
nphi; jphi++) {
3349 double ccc1 = variance[
i][
jeta][jphi];
3350 int k2plot =
jeta - 41;
3352 if (alexhe[
i][
jeta][jphi] > 0.) {
3353 Defz42D->Fill(kkk, jphi, ccc1);
3354 Defz42D0->Fill(kkk, jphi, 1.);
3359 Defz42DF->Divide(Defz42D, Defz42D0, 1, 1,
"B");
3363 Defz42DF->SetMarkerStyle(20);
3364 Defz42DF->SetMarkerSize(0.4);
3365 Defz42DF->GetZaxis()->SetLabelSize(0.08);
3366 Defz42DF->SetXTitle(
"<D>_depth #eta \b");
3367 Defz42DF->SetYTitle(
" #phi \b");
3368 Defz42DF->SetZTitle(
"<D>_depth \b");
3369 Defz42DF->SetMarkerColor(2);
3370 Defz42DF->SetLineColor(0);
3371 Defz42DF->Draw(
"COLZ");
3374 c1x0->Print(
"Dhist2IterationMethodHE.png");
3386 cout <<
" 1D plot: D vs phi , averaged over depthes & eta *****" << endl;
3391 TH1F *Defz41D =
new TH1F(
"Defz41D",
"",
nphi, 0., 72.);
3392 TH1F *Defz41D0 =
new TH1F(
"Defz41D0",
"",
nphi, 0., 72.);
3393 TH1F *Defz41DF = (TH1F *)Defz41D0->Clone(
"Defz41DF");
3395 for (
int jphi = 0; jphi <
nphi; jphi++) {
3398 double ccc1 = variance[
i][
jeta][jphi];
3399 if (alexhe[
i][
jeta][jphi] > 0.) {
3400 Defz41D->Fill(jphi, ccc1);
3401 Defz41D0->Fill(jphi, 1.);
3408 Defz41DF->Divide(Defz41D, Defz41D0, 1, 1,
"B");
3413 Defz41DF->SetMarkerStyle(20);
3414 Defz41DF->SetMarkerSize(1.4);
3415 Defz41DF->GetZaxis()->SetLabelSize(0.08);
3416 Defz41DF->SetXTitle(
"#phi \b");
3417 Defz41DF->SetYTitle(
" <D> \b");
3418 Defz41DF->SetZTitle(
"<D>_PHI - AllDepthes \b");
3419 Defz41DF->SetMarkerColor(4);
3420 Defz41DF->SetLineColor(4);
3421 Defz41DF->SetMinimum(0.8);
3422 Defz41DF->SetMinimum(-0.015);
3423 Defz41DF->Draw(
"Error");
3426 c1x1->Print(
"Dhist1IterationMethodHE.png");
3439 cout <<
" 1D plot: D vs phi , different eta, depth=1 *****" << endl;
3445 int kcountHEpositivedirectionD1 = 1;
3446 TH1F *h2CeffHEpositivedirectionD1 =
new TH1F(
"h2CeffHEpositivedirectionD1",
"",
nphi, 0., 72.);
3450 if (
jeta - 41 > 0) {
3453 for (
int i = 0;
i < 1;
i++) {
3454 TH1F *HEpositivedirectionD1 = (TH1F *)h2CeffHEpositivedirectionD1->Clone(
"twod1");
3457 for (
int jphi = 0; jphi <
nphi; jphi++) {
3458 double ccc1 = variance[
i][
jeta][jphi];
3459 if (alexhe[
i][
jeta][jphi] > 0.) {
3460 HEpositivedirectionD1->Fill(jphi, ccc1);
3465 cout <<
"1414 kcountHEpositivedirectionD1 = " << kcountHEpositivedirectionD1
3466 <<
" jeta-41= " <<
jeta - 41 << endl;
3467 c3x5->cd(kcountHEpositivedirectionD1);
3468 HEpositivedirectionD1->SetMarkerStyle(20);
3469 HEpositivedirectionD1->SetMarkerSize(0.4);
3470 HEpositivedirectionD1->GetYaxis()->SetLabelSize(0.04);
3471 HEpositivedirectionD1->SetXTitle(
"HEpositivedirectionD1 \b");
3472 HEpositivedirectionD1->SetMarkerColor(2);
3473 HEpositivedirectionD1->SetLineColor(0);
3477 if (kcountHEpositivedirectionD1 == 1)
3478 HEpositivedirectionD1->SetXTitle(
"D for HE+ jeta = 18; depth = 1 \b");
3479 if (kcountHEpositivedirectionD1 == 2)
3480 HEpositivedirectionD1->SetXTitle(
"D for HE+ jeta = 19; depth = 1 \b");
3481 if (kcountHEpositivedirectionD1 == 3)
3482 HEpositivedirectionD1->SetXTitle(
"D for HE+ jeta = 20; depth = 1 \b");
3483 if (kcountHEpositivedirectionD1 == 4)
3484 HEpositivedirectionD1->SetXTitle(
"D for HE+ jeta = 21; depth = 1 \b");
3485 if (kcountHEpositivedirectionD1 == 5)
3486 HEpositivedirectionD1->SetXTitle(
"D for HE+ jeta = 22; depth = 1 \b");
3487 if (kcountHEpositivedirectionD1 == 6)
3488 HEpositivedirectionD1->SetXTitle(
"D for HE+ jeta = 23; depth = 1 \b");
3489 if (kcountHEpositivedirectionD1 == 7)
3490 HEpositivedirectionD1->SetXTitle(
"D for HE+ jeta = 24; depth = 1 \b");
3491 if (kcountHEpositivedirectionD1 == 8)
3492 HEpositivedirectionD1->SetXTitle(
"D for HE+ jeta = 25; depth = 1 \b");
3493 if (kcountHEpositivedirectionD1 == 9)
3494 HEpositivedirectionD1->SetXTitle(
"D for HE+ jeta = 26; depth = 1 \b");
3495 if (kcountHEpositivedirectionD1 == 10)
3496 HEpositivedirectionD1->SetXTitle(
"D for HE+ jeta = 27; depth = 1 \b");
3497 if (kcountHEpositivedirectionD1 == 11)
3498 HEpositivedirectionD1->SetXTitle(
"D for HE+ jeta = 28; depth = 1 \b");
3499 if (kcountHEpositivedirectionD1 == 12)
3500 HEpositivedirectionD1->SetXTitle(
"D for HE+ jeta = 29; depth = 1 \b");
3501 HEpositivedirectionD1->Draw(
"Error");
3502 kcountHEpositivedirectionD1++;
3503 if (kcountHEpositivedirectionD1 > 15)
3512 c3x5->Print(
"Dhist1IterationMethodDepth1HE.png");
3515 if (h2CeffHEpositivedirectionD1)
3516 delete h2CeffHEpositivedirectionD1;
3521 cout <<
" 1D plot: D vs phi , different eta, depth=2 *****" << endl;
3525 int kcountHEpositivedirectionD2 = 1;
3526 TH1F *h2CeffHEpositivedirectionD2 =
new TH1F(
"h2CeffHEpositivedirectionD2",
"",
nphi, 0., 72.);
3530 if (
jeta - 41 > 0) {
3533 for (
int i = 1;
i < 2;
i++) {
3534 TH1F *HEpositivedirectionD2 = (TH1F *)h2CeffHEpositivedirectionD2->Clone(
"twod1");
3537 for (
int jphi = 0; jphi <
nphi; jphi++) {
3538 double ccc1 = variance[
i][
jeta][jphi];
3539 if (alexhe[
i][
jeta][jphi] > 0.) {
3540 HEpositivedirectionD2->Fill(jphi, ccc1);
3545 cout <<
"1515 kcountHEpositivedirectionD2 = " << kcountHEpositivedirectionD2
3546 <<
" jeta-41= " <<
jeta - 41 << endl;
3547 c3x5->cd(kcountHEpositivedirectionD2);
3548 HEpositivedirectionD2->SetMarkerStyle(20);
3549 HEpositivedirectionD2->SetMarkerSize(0.4);
3550 HEpositivedirectionD2->GetYaxis()->SetLabelSize(0.04);
3551 HEpositivedirectionD2->SetXTitle(
"HEpositivedirectionD2 \b");
3552 HEpositivedirectionD2->SetMarkerColor(2);
3553 HEpositivedirectionD2->SetLineColor(0);
3557 if (kcountHEpositivedirectionD2 == 1)
3558 HEpositivedirectionD2->SetXTitle(
"D for HE+ jeta = 17; depth = 2 \b");
3559 if (kcountHEpositivedirectionD2 == 2)
3560 HEpositivedirectionD2->SetXTitle(
"D for HE+ jeta = 18; depth = 2 \b");
3561 if (kcountHEpositivedirectionD2 == 3)
3562 HEpositivedirectionD2->SetXTitle(
"D for HE+ jeta = 19; depth = 2 \b");
3563 if (kcountHEpositivedirectionD2 == 4)
3564 HEpositivedirectionD2->SetXTitle(
"D for HE+ jeta = 20; depth = 2 \b");
3565 if (kcountHEpositivedirectionD2 == 5)
3566 HEpositivedirectionD2->SetXTitle(
"D for HE+ jeta = 21; depth = 2 \b");
3567 if (kcountHEpositivedirectionD2 == 6)
3568 HEpositivedirectionD2->SetXTitle(
"D for HE+ jeta = 22; depth = 2 \b");
3569 if (kcountHEpositivedirectionD2 == 7)
3570 HEpositivedirectionD2->SetXTitle(
"D for HE+ jeta = 23; depth = 2 \b");
3571 if (kcountHEpositivedirectionD2 == 8)
3572 HEpositivedirectionD2->SetXTitle(
"D for HE+ jeta = 24; depth = 2 \b");
3573 if (kcountHEpositivedirectionD2 == 9)
3574 HEpositivedirectionD2->SetXTitle(
"D for HE+ jeta = 25; depth = 2 \b");
3575 if (kcountHEpositivedirectionD2 == 10)
3576 HEpositivedirectionD2->SetXTitle(
"D for HE+ jeta = 26; depth = 2 \b");
3577 if (kcountHEpositivedirectionD2 == 11)
3578 HEpositivedirectionD2->SetXTitle(
"D for HE+ jeta = 27; depth = 2 \b");
3579 if (kcountHEpositivedirectionD2 == 12)
3580 HEpositivedirectionD2->SetXTitle(
"D for HE+ jeta = 28; depth = 2 \b");
3581 if (kcountHEpositivedirectionD2 == 13)
3582 HEpositivedirectionD2->SetXTitle(
"D for HE+ jeta = 29; depth = 2 \b");
3583 HEpositivedirectionD2->Draw(
"Error");
3584 kcountHEpositivedirectionD2++;
3585 if (kcountHEpositivedirectionD2 > 15)
3594 c3x5->Print(
"Dhist1IterationMethodDepth2HE.png");
3597 if (h2CeffHEpositivedirectionD2)
3598 delete h2CeffHEpositivedirectionD2;
3603 cout <<
" 1D plot: D vs phi , different eta, depth=3 *****" << endl;
3607 int kcountHEpositivedirectionD3 = 1;
3608 TH1F *h2CeffHEpositivedirectionD3 =
new TH1F(
"h2CeffHEpositivedirectionD3",
"",
nphi, 0., 72.);
3612 if (
jeta - 41 > 0) {
3615 for (
int i = 2;
i < 3;
i++) {
3616 TH1F *HEpositivedirectionD3 = (TH1F *)h2CeffHEpositivedirectionD3->Clone(
"twod1");
3619 for (
int jphi = 0; jphi <
nphi; jphi++) {
3620 double ccc1 = variance[
i][
jeta][jphi];
3621 if (alexhe[
i][
jeta][jphi] > 0.) {
3622 HEpositivedirectionD3->Fill(jphi, ccc1);
3627 cout <<
"1616 kcountHEpositivedirectionD3 = " << kcountHEpositivedirectionD3
3628 <<
" jeta-41= " <<
jeta - 41 << endl;
3629 c3x5->cd(kcountHEpositivedirectionD3);
3630 HEpositivedirectionD3->SetMarkerStyle(20);
3631 HEpositivedirectionD3->SetMarkerSize(0.4);
3632 HEpositivedirectionD3->GetYaxis()->SetLabelSize(0.04);
3633 HEpositivedirectionD3->SetXTitle(
"HEpositivedirectionD3 \b");
3634 HEpositivedirectionD3->SetMarkerColor(2);
3635 HEpositivedirectionD3->SetLineColor(0);
3639 if (kcountHEpositivedirectionD3 == 1)
3640 HEpositivedirectionD3->SetXTitle(
"D for HE+ jeta = 17; depth = 3 \b");
3641 if (kcountHEpositivedirectionD3 == 2)
3642 HEpositivedirectionD3->SetXTitle(
"D for HE+ jeta = 18; depth = 3 \b");
3643 if (kcountHEpositivedirectionD3 == 3)
3644 HEpositivedirectionD3->SetXTitle(
"D for HE+ jeta = 19; depth = 3 \b");
3645 if (kcountHEpositivedirectionD3 == 4)
3646 HEpositivedirectionD3->SetXTitle(
"D for HE+ jeta = 20; depth = 3 \b");
3647 if (kcountHEpositivedirectionD3 == 5)
3648 HEpositivedirectionD3->SetXTitle(
"D for HE+ jeta = 21; depth = 3 \b");
3649 if (kcountHEpositivedirectionD3 == 6)
3650 HEpositivedirectionD3->SetXTitle(
"D for HE+ jeta = 22; depth = 3 \b");
3651 if (kcountHEpositivedirectionD3 == 7)
3652 HEpositivedirectionD3->SetXTitle(
"D for HE+ jeta = 23; depth = 3 \b");
3653 if (kcountHEpositivedirectionD3 == 8)
3654 HEpositivedirectionD3->SetXTitle(
"D for HE+ jeta = 24; depth = 3 \b");
3655 if (kcountHEpositivedirectionD3 == 9)
3656 HEpositivedirectionD3->SetXTitle(
"D for HE+ jeta = 25; depth = 3 \b");
3657 if (kcountHEpositivedirectionD3 == 10)
3658 HEpositivedirectionD3->SetXTitle(
"D for HE+ jeta = 26; depth = 3 \b");
3659 if (kcountHEpositivedirectionD3 == 11)
3660 HEpositivedirectionD3->SetXTitle(
"D for HE+ jeta = 27; depth = 3 \b");
3661 if (kcountHEpositivedirectionD3 == 12)
3662 HEpositivedirectionD3->SetXTitle(
"D for HE+ jeta = 28; depth = 3 \b");
3663 if (kcountHEpositivedirectionD3 == 13)
3664 HEpositivedirectionD3->SetXTitle(
"D for HE+ jeta = 29; depth = 3 \b");
3665 HEpositivedirectionD3->Draw(
"Error");
3666 kcountHEpositivedirectionD3++;
3667 if (kcountHEpositivedirectionD3 > 15)
3676 c3x5->Print(
"Dhist1IterationMethodDepth3HE.png");
3679 if (h2CeffHEpositivedirectionD3)
3680 delete h2CeffHEpositivedirectionD3;
3685 cout <<
" 1D plot: D vs phi , different eta, depth=4 *****" << endl;
3689 int kcountHEpositivedirectionD4 = 1;
3690 TH1F *h2CeffHEpositivedirectionD4 =
new TH1F(
"h2CeffHEpositivedirectionD4",
"",
nphi, 0., 72.);
3694 if (
jeta - 41 > 0) {
3697 for (
int i = 3;
i < 4;
i++) {
3698 TH1F *HEpositivedirectionD4 = (TH1F *)h2CeffHEpositivedirectionD4->Clone(
"twod1");
3701 for (
int jphi = 0; jphi <
nphi; jphi++) {
3702 double ccc1 = variance[
i][
jeta][jphi];
3703 if (alexhe[
i][
jeta][jphi] > 0.) {
3704 HEpositivedirectionD4->Fill(jphi, ccc1);
3709 cout <<
"1717 kcountHEpositivedirectionD4 = " << kcountHEpositivedirectionD4
3710 <<
" jeta-41= " <<
jeta - 41 << endl;
3711 c3x5->cd(kcountHEpositivedirectionD4);
3712 HEpositivedirectionD4->SetMarkerStyle(20);
3713 HEpositivedirectionD4->SetMarkerSize(0.4);
3714 HEpositivedirectionD4->GetYaxis()->SetLabelSize(0.04);
3715 HEpositivedirectionD4->SetXTitle(
"HEpositivedirectionD4 \b");
3716 HEpositivedirectionD4->SetMarkerColor(2);
3717 HEpositivedirectionD4->SetLineColor(0);
3721 if (kcountHEpositivedirectionD4 == 1)
3722 HEpositivedirectionD4->SetXTitle(
"D for HE+ jeta = 16; depth = 4 \b");
3723 if (kcountHEpositivedirectionD4 == 2)
3724 HEpositivedirectionD4->SetXTitle(
"D for HE+ jeta = 18; depth = 4 \b");
3725 if (kcountHEpositivedirectionD4 == 3)
3726 HEpositivedirectionD4->SetXTitle(
"D for HE+ jeta = 19; depth = 4 \b");
3727 if (kcountHEpositivedirectionD4 == 4)
3728 HEpositivedirectionD4->SetXTitle(
"D for HE+ jeta = 20; depth = 4 \b");
3729 if (kcountHEpositivedirectionD4 == 5)
3730 HEpositivedirectionD4->SetXTitle(
"D for HE+ jeta = 21; depth = 4 \b");
3731 if (kcountHEpositivedirectionD4 == 6)
3732 HEpositivedirectionD4->SetXTitle(
"D for HE+ jeta = 22; depth = 4 \b");
3733 if (kcountHEpositivedirectionD4 == 7)
3734 HEpositivedirectionD4->SetXTitle(
"D for HE+ jeta = 23; depth = 4 \b");
3735 if (kcountHEpositivedirectionD4 == 8)
3736 HEpositivedirectionD4->SetXTitle(
"D for HE+ jeta = 24; depth = 4 \b");
3737 if (kcountHEpositivedirectionD4 == 9)
3738 HEpositivedirectionD4->SetXTitle(
"D for HE+ jeta = 25; depth = 4 \b");
3739 if (kcountHEpositivedirectionD4 == 10)
3740 HEpositivedirectionD4->SetXTitle(
"D for HE+ jeta = 26; depth = 4 \b");
3741 if (kcountHEpositivedirectionD4 == 11)
3742 HEpositivedirectionD4->SetXTitle(
"D for HE+ jeta = 27; depth = 4 \b");
3743 if (kcountHEpositivedirectionD4 == 12)
3744 HEpositivedirectionD4->SetXTitle(
"D for HE+ jeta = 28; depth = 4 \b");
3745 HEpositivedirectionD4->Draw(
"Error");
3746 kcountHEpositivedirectionD4++;
3747 if (kcountHEpositivedirectionD4 > 15)
3756 c3x5->Print(
"Dhist1IterationMethodDepth4HE.png");
3759 if (h2CeffHEpositivedirectionD4)
3760 delete h2CeffHEpositivedirectionD4;
3765 cout <<
" 1D plot: D vs phi , different eta, depth=5 *****" << endl;
3769 int kcountHEpositivedirectionD5 = 1;
3770 TH1F *h2CeffHEpositivedirectionD5 =
new TH1F(
"h2CeffHEpositivedirectionD5",
"",
nphi, 0., 72.);
3774 if (
jeta - 41 > 0) {
3777 for (
int i = 4;
i < 5;
i++) {
3778 TH1F *HEpositivedirectionD5 = (TH1F *)h2CeffHEpositivedirectionD5->Clone(
"twod1");
3781 for (
int jphi = 0; jphi <
nphi; jphi++) {
3782 double ccc1 = variance[
i][
jeta][jphi];
3783 if (alexhe[
i][
jeta][jphi] > 0.) {
3784 HEpositivedirectionD5->Fill(jphi, ccc1);
3789 cout <<
"1818 kcountHEpositivedirectionD5 = " << kcountHEpositivedirectionD5
3790 <<
" jeta-41= " <<
jeta - 41 << endl;
3791 c3x5->cd(kcountHEpositivedirectionD5);
3792 HEpositivedirectionD5->SetMarkerStyle(20);
3793 HEpositivedirectionD5->SetMarkerSize(0.4);
3794 HEpositivedirectionD5->GetYaxis()->SetLabelSize(0.04);
3795 HEpositivedirectionD5->SetXTitle(
"HEpositivedirectionD5 \b");
3796 HEpositivedirectionD5->SetMarkerColor(2);
3797 HEpositivedirectionD5->SetLineColor(0);
3801 if (kcountHEpositivedirectionD5 == 1)
3802 HEpositivedirectionD5->SetXTitle(
"D for HE+ jeta = 18; depth = 5 \b");
3803 if (kcountHEpositivedirectionD5 == 2)
3804 HEpositivedirectionD5->SetXTitle(
"D for HE+ jeta = 19; depth = 5 \b");
3805 if (kcountHEpositivedirectionD5 == 3)
3806 HEpositivedirectionD5->SetXTitle(
"D for HE+ jeta = 20; depth = 5 \b");
3807 if (kcountHEpositivedirectionD5 == 4)
3808 HEpositivedirectionD5->SetXTitle(
"D for HE+ jeta = 21; depth = 5 \b");
3809 if (kcountHEpositivedirectionD5 == 5)
3810 HEpositivedirectionD5->SetXTitle(
"D for HE+ jeta = 22; depth = 5 \b");
3811 if (kcountHEpositivedirectionD5 == 6)
3812 HEpositivedirectionD5->SetXTitle(
"D for HE+ jeta = 23; depth = 5 \b");
3813 if (kcountHEpositivedirectionD5 == 7)
3814 HEpositivedirectionD5->SetXTitle(
"D for HE+ jeta = 24; depth = 5 \b");
3815 if (kcountHEpositivedirectionD5 == 8)
3816 HEpositivedirectionD5->SetXTitle(
"D for HE+ jeta = 25; depth = 5 \b");
3817 if (kcountHEpositivedirectionD5 == 9)
3818 HEpositivedirectionD5->SetXTitle(
"D for HE+ jeta = 26; depth = 5 \b");
3819 if (kcountHEpositivedirectionD5 == 10)
3820 HEpositivedirectionD5->SetXTitle(
"D for HE+ jeta = 27; depth = 5 \b");
3821 if (kcountHEpositivedirectionD5 == 11)
3822 HEpositivedirectionD5->SetXTitle(
"D for HE+ jeta = 28; depth = 5 \b");
3823 HEpositivedirectionD5->Draw(
"Error");
3824 kcountHEpositivedirectionD5++;
3825 if (kcountHEpositivedirectionD5 > 15)
3834 c3x5->Print(
"Dhist1IterationMethodDepth5HE.png");
3837 if (h2CeffHEpositivedirectionD5)
3838 delete h2CeffHEpositivedirectionD5;
3843 cout <<
" 1D plot: D vs phi , different eta, depth=6 *****" << endl;
3847 int kcountHEpositivedirectionD6 = 1;
3848 TH1F *h2CeffHEpositivedirectionD6 =
new TH1F(
"h2CeffHEpositivedirectionD6",
"",
nphi, 0., 72.);
3852 if (
jeta - 41 > 0) {
3855 for (
int i = 5;
i < 6;
i++) {
3856 TH1F *HEpositivedirectionD6 = (TH1F *)h2CeffHEpositivedirectionD6->Clone(
"twod1");
3859 for (
int jphi = 0; jphi <
nphi; jphi++) {
3860 double ccc1 = variance[
i][
jeta][jphi];
3861 if (alexhe[
i][
jeta][jphi] > 0.) {
3862 HEpositivedirectionD6->Fill(jphi, ccc1);
3867 cout <<
"1919 kcountHEpositivedirectionD6 = " << kcountHEpositivedirectionD6
3868 <<
" jeta-41= " <<
jeta - 41 << endl;
3869 c3x5->cd(kcountHEpositivedirectionD6);
3870 HEpositivedirectionD6->SetMarkerStyle(20);
3871 HEpositivedirectionD6->SetMarkerSize(0.4);
3872 HEpositivedirectionD6->GetYaxis()->SetLabelSize(0.04);
3873 HEpositivedirectionD6->SetXTitle(
"HEpositivedirectionD6 \b");
3874 HEpositivedirectionD6->SetMarkerColor(2);
3875 HEpositivedirectionD6->SetLineColor(0);
3879 if (kcountHEpositivedirectionD6 == 1)
3880 HEpositivedirectionD6->SetXTitle(
"D for HE+ jeta = 19; depth = 6 \b");
3881 if (kcountHEpositivedirectionD6 == 2)
3882 HEpositivedirectionD6->SetXTitle(
"D for HE+ jeta = 20; depth = 6 \b");
3883 if (kcountHEpositivedirectionD6 == 3)
3884 HEpositivedirectionD6->SetXTitle(
"D for HE+ jeta = 21; depth = 6 \b");
3885 if (kcountHEpositivedirectionD6 == 4)
3886 HEpositivedirectionD6->SetXTitle(
"D for HE+ jeta = 22; depth = 6 \b");
3887 if (kcountHEpositivedirectionD6 == 5)
3888 HEpositivedirectionD6->SetXTitle(
"D for HE+ jeta = 23; depth = 6 \b");
3889 if (kcountHEpositivedirectionD6 == 6)
3890 HEpositivedirectionD6->SetXTitle(
"D for HE+ jeta = 24; depth = 6 \b");
3891 if (kcountHEpositivedirectionD6 == 7)
3892 HEpositivedirectionD6->SetXTitle(
"D for HE+ jeta = 25; depth = 6 \b");
3893 if (kcountHEpositivedirectionD6 == 8)
3894 HEpositivedirectionD6->SetXTitle(
"D for HE+ jeta = 26; depth = 6 \b");
3895 if (kcountHEpositivedirectionD6 == 9)
3896 HEpositivedirectionD6->SetXTitle(
"D for HE+ jeta = 27; depth = 6 \b");
3897 if (kcountHEpositivedirectionD6 == 10)
3898 HEpositivedirectionD6->SetXTitle(
"D for HE+ jeta = 28; depth = 6 \b");
3899 HEpositivedirectionD6->Draw(
"Error");
3900 kcountHEpositivedirectionD6++;
3901 if (kcountHEpositivedirectionD6 > 15)
3910 c3x5->Print(
"Dhist1IterationMethodDepth6HE.png");
3913 if (h2CeffHEpositivedirectionD6)
3914 delete h2CeffHEpositivedirectionD6;
3919 cout <<
" 1D plot: D vs phi , different eta, depth=7 *****" << endl;
3923 int kcountHEpositivedirectionD7 = 1;
3924 TH1F *h2CeffHEpositivedirectionD7 =
new TH1F(
"h2CeffHEpositivedirectionD7",
"",
nphi, 0., 72.);
3928 if (
jeta - 41 > 0) {
3931 for (
int i = 6;
i < 7;
i++) {
3932 TH1F *HEpositivedirectionD7 = (TH1F *)h2CeffHEpositivedirectionD7->Clone(
"twod1");
3935 for (
int jphi = 0; jphi <
nphi; jphi++) {
3936 double ccc1 = variance[
i][
jeta][jphi];
3937 if (alexhe[
i][
jeta][jphi] > 0.) {
3938 HEpositivedirectionD7->Fill(jphi, ccc1);
3942 if (ccctest != 0.) {
3943 cout <<
"2020 kcountHEpositivedirectionD7 = " << kcountHEpositivedirectionD7
3944 <<
" jeta-41= " <<
jeta - 41 << endl;
3945 c3x5->cd(kcountHEpositivedirectionD7);
3946 HEpositivedirectionD7->SetMarkerStyle(20);
3947 HEpositivedirectionD7->SetMarkerSize(0.4);
3948 HEpositivedirectionD7->GetYaxis()->SetLabelSize(0.04);
3949 HEpositivedirectionD7->SetXTitle(
"HEpositivedirectionD7 \b");
3950 HEpositivedirectionD7->SetMarkerColor(2);
3951 HEpositivedirectionD7->SetLineColor(0);
3955 if (kcountHEpositivedirectionD7 == 1)
3956 HEpositivedirectionD7->SetXTitle(
"D for HE+ jeta = 26; depth = 7 \b");
3957 if (kcountHEpositivedirectionD7 == 2)
3958 HEpositivedirectionD7->SetXTitle(
"D for HE+ jeta = 27; depth = 7 \b");
3959 if (kcountHEpositivedirectionD7 == 3)
3960 HEpositivedirectionD7->SetXTitle(
"D for HE+ jeta = 28; depth = 7 \b");
3961 HEpositivedirectionD7->Draw(
"Error");
3962 kcountHEpositivedirectionD7++;
3963 if (kcountHEpositivedirectionD7 > 15)
3972 c3x5->Print(
"Dhist1IterationMethodDepth7HE.png");
3975 if (h2CeffHEpositivedirectionD7)
3976 delete h2CeffHEpositivedirectionD7;
3985 std::cout <<
" We are here to print 2017 MAPs " << std::endl;
3991 TH2F *Map_ALL =
new TH2F(
"Map_All",
"Map_all", 82, -41, 40, 72, 0, 71);
3992 int nx = Map_ALL->GetXaxis()->GetNbins();
3993 int ny = Map_ALL->GetYaxis()->GetNbins();
3999 int Eta[4][10000] = {0};
4000 int Phi[4][10000] = {0};
4001 int Sub[4][10000] = {0};
4002 int Depth[4][10000] = {0};
4003 string Comment[4][10000] = {
""};
4004 string Text[33] = {
"",
"Cm",
"Am",
"Wm",
"Rm",
"TNm",
"TXm",
"",
"",
"",
"",
"Cc",
"Ac",
"Wc",
"Rc",
"TNc",
"TXc",
4005 "",
"",
"",
"",
"GS",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"Pm",
"pWm"};
4010 for (
int i = 1;
i <= nx;
i++) {
4011 for (
int j = 1;
j <= ny;
j++) {
4012 for (
int sub = 1; sub <= 4; sub++) {
4016 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
4017 if (Map_SUB[sub][
k]->GetBinContent(
i,
j) != 0) {
4018 Map_SUB[sub][
k]->SetBinContent(
i,
j, 0.5);
4019 Map_ALL->SetBinContent(
i,
j, 0.5);
4026 for (
int i = 1;
i <= nx;
i++) {
4027 for (
int j = 1;
j <= ny;
j++) {
4028 for (
int sub = 1; sub <= 4; sub++) {
4032 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
4038 if (Map_Ampl[
test][sub][
k]->GetBinContent(
i,
j) >
4040 Map_ALL->SetBinContent(
i,
j, 1.);
4041 Map_SUB[sub][
k]->SetBinContent(
i,
j, 1.);
4044 Eta[2][NBad] =
i - 41;
4045 Phi[2][NBad] =
j - 1;
4048 Comment[2][NBad] = Text[
test];
4050 Comment[2][NBad] +=
", " + Text[
test];
4097 if (
abs(Map_Ampl[
test][sub][
k]->GetBinContent(
i,
j)) > porog[sub]) {
4098 if (Map_SUB[sub][
k]->GetBinContent(
i,
j) != 1.0)
4099 Map_SUB[sub][
k]->SetBinContent(
i,
j, 0.75);
4100 if (Map_ALL->GetBinContent(
i,
j) != 1.) {
4101 Map_ALL->SetBinContent(
i,
j, 0.75);
4104 Eta[1][NWarn] =
i - 41;
4105 Phi[1][NWarn] =
j - 1;
4106 Sub[1][NWarn] = sub;
4108 Comment[1][NWarn] = Text[
test];
4110 Comment[1][NWarn] +=
", " + Text[
test];
4113 cout <<
"Map_Ampl[" <<
test <<
"][" << sub <<
"][" <<
k <<
"]->GetBinContent(" <<
i <<
"," <<
j
4114 <<
")= " << Map_Ampl[
test][sub][
k]->GetBinContent(
i,
j) << endl;
4121 if (Map_Ampl[
test][sub][
k]->GetBinContent(
i,
j) > 0.1) {
4126 Eta[3][NPed] =
i - 41;
4127 Phi[3][NPed] =
j - 1;
4130 Comment[3][NPed] = Text[
test];
4132 Comment[3][NPed] +=
", " + Text[
test];
4144 for (
int sub = 1; sub <= 4; sub++) {
4146 std::cout <<
" 2017 MAPS_SUB " << sub << std::endl;
4161 for (
int k = k_min[sub];
k <= k_max[sub];
k++) {
4175 sprintf(
str,
"HB, Depth%d \b",
k);
4177 sprintf(
str,
"HE, Depth%d \b",
k);
4179 sprintf(
str,
"HO, Depth%d \b",
k);
4181 sprintf(
str,
"HF, Depth%d \b",
k);
4182 Map_SUB[sub][
k]->SetTitle(
str);
4183 Map_SUB[sub][
k]->SetXTitle(
"#eta \b");
4184 Map_SUB[sub][
k]->SetYTitle(
"#phi \b");
4185 Map_SUB[sub][
k]->Draw(
"COL");
4186 Map_SUB[sub][
k]->GetYaxis()->SetRangeUser(0, 72.);
4187 Map_SUB[sub][
k]->GetZaxis()->SetRangeUser(0., 1.);
4206 cHB->Print(
"MAPHB.png");
4210 cHE->Print(
"MAPHE.png");
4214 cONE->Print(
"MAPHO.png");
4218 cHF->Print(
"MAPHF.png");
4225 TCanvas *cmain1 =
new TCanvas(
"cmain1",
"MAP", 250, 10, 1450, 1410);
4226 cmain1->Divide(2, 2);
4229 TH1F *JDBEYESJ0 = (TH1F *)hfile->Get(
"h_totalAmplitudeHBperEvent");
4230 JDBEYESJ0->SetStats(0);
4231 JDBEYESJ0->SetMarkerStyle(20);
4232 JDBEYESJ0->SetMarkerSize(0.8);
4233 JDBEYESJ0->GetYaxis()->SetLabelSize(0.04);
4234 JDBEYESJ0->SetXTitle(
"iEvent \b");
4235 JDBEYESJ0->SetYTitle(
"totalAmplitude perEvent \b");
4236 JDBEYESJ0->SetTitle(
"HB \b");
4237 JDBEYESJ0->SetMarkerColor(2);
4238 JDBEYESJ0->SetLineColor(1);
4239 JDBEYESJ0->SetMinimum(0.8);
4240 JDBEYESJ0->Draw(
"HIST same P0");
4243 TH1F *JDBEYESJ1 = (TH1F *)hfile->Get(
"h_totalAmplitudeHEperEvent");
4244 JDBEYESJ1->SetStats(0);
4245 JDBEYESJ1->SetMarkerStyle(20);
4246 JDBEYESJ1->SetMarkerSize(0.8);
4247 JDBEYESJ1->GetYaxis()->SetLabelSize(0.04);
4248 JDBEYESJ1->SetXTitle(
"iEvent \b");
4249 JDBEYESJ1->SetYTitle(
"totalAmplitude perEvent \b");
4250 JDBEYESJ1->SetTitle(
"HE \b");
4251 JDBEYESJ1->SetMarkerColor(2);
4252 JDBEYESJ1->SetLineColor(1);
4253 JDBEYESJ1->SetMinimum(0.8);
4254 JDBEYESJ1->Draw(
"HIST same P0");
4257 TH1F *JDBEYESJ2 = (TH1F *)hfile->Get(
"h_totalAmplitudeHFperEvent");
4258 JDBEYESJ2->SetStats(0);
4259 JDBEYESJ2->SetMarkerStyle(20);
4260 JDBEYESJ2->SetMarkerSize(0.8);
4261 JDBEYESJ2->GetYaxis()->SetLabelSize(0.04);
4262 JDBEYESJ2->SetXTitle(
"iEvent \b");
4263 JDBEYESJ2->SetYTitle(
"totalAmplitude perEvent \b");
4264 JDBEYESJ2->SetTitle(
"HF \b");
4265 JDBEYESJ2->SetMarkerColor(2);
4266 JDBEYESJ2->SetLineColor(1);
4267 JDBEYESJ2->SetMinimum(0.8);
4268 JDBEYESJ2->Draw(
"HIST same P0");
4271 TH1F *JDBEYESJ3 = (TH1F *)hfile->Get(
"h_totalAmplitudeHOperEvent");
4272 JDBEYESJ3->SetStats(0);
4273 JDBEYESJ3->SetMarkerStyle(20);
4274 JDBEYESJ3->SetMarkerSize(0.8);
4275 JDBEYESJ3->GetYaxis()->SetLabelSize(0.04);
4276 JDBEYESJ3->SetXTitle(
"iEvent \b");
4277 JDBEYESJ3->SetYTitle(
"totalAmplitude perEvent \b");
4278 JDBEYESJ3->SetTitle(
"HO \b");
4279 JDBEYESJ3->SetMarkerColor(2);
4280 JDBEYESJ3->SetLineColor(1);
4281 JDBEYESJ3->SetMinimum(0.8);
4282 JDBEYESJ3->Draw(
"HIST same P0");
4286 cmain1->Print(
"EVENTDEPENDENCE.png");
4288 std::cout <<
" EVENTDEPENDENCE " << std::endl;
4292 gStyle->SetOptTitle(0);
4293 TCanvas *cmain =
new TCanvas(
"cmain",
"MAP", 1000, 1000);
4298 Map_ALL->SetTitleOffset(1.3,
"Y");
4299 Map_ALL->SetXTitle(
"#eta \b");
4300 Map_ALL->SetYTitle(
"#phi \b");
4301 Map_ALL->Draw(
"COL");
4302 Map_ALL->GetYaxis()->SetRangeUser(0, 72.);
4303 Map_ALL->GetZaxis()->SetRangeUser(0, 1.);
4306 cmain->Print(
"MAP.png");
4308 std::cout <<
"******** MAP_ALL done" << std::endl;
4312 std::cout <<
"************ Start creating each test kind for each subdet html pages:" << std::endl;
4318 std::string raw_class, raw_class1, raw_class2, raw_class3;
4321 for (
int sub = 1; sub <= 4; sub++) {
4322 ofstream htmlFileT, htmlFileC, htmlFileD, htmlFileP, htmlFileS, htmlFileM;
4324 htmlFileT.open(
"HB_Tile.html");
4325 htmlFileC.open(
"HB_Calib.html");
4326 htmlFileD.open(
"HB_Drift.html");
4327 htmlFileP.open(
"HB_Pedestals.html");
4328 htmlFileS.open(
"HB_Shapes.html");
4331 htmlFileT.open(
"HE_Tile.html");
4332 htmlFileC.open(
"HE_Calib.html");
4333 htmlFileD.open(
"HE_Drift.html");
4334 htmlFileP.open(
"HE_Pedestals.html");
4335 htmlFileS.open(
"HE_Shapes.html");
4336 htmlFileM.open(
"HE_IterationMethod.html");
4339 htmlFileT.open(
"HO_Tile.html");
4340 htmlFileC.open(
"HO_Calib.html");
4341 htmlFileD.open(
"HO_Drift.html");
4342 htmlFileP.open(
"HO_Pedestals.html");
4343 htmlFileS.open(
"HO_Shapes.html");
4346 htmlFileT.open(
"HF_Tile.html");
4347 htmlFileC.open(
"HF_Calib.html");
4348 htmlFileD.open(
"HF_Drift.html");
4349 htmlFileP.open(
"HF_Pedestals.html");
4350 htmlFileS.open(
"HF_Shapes.html");
4354 htmlFileT <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
4355 htmlFileT <<
"<head>" << std::endl;
4356 htmlFileT <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
4357 htmlFileT <<
"<title> Remote Monitoring Tool </title>" << std::endl;
4358 htmlFileT <<
"<style type=\"text/css\">" << std::endl;
4359 htmlFileT <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
4361 htmlFileT <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
4362 htmlFileT <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
4363 "text-align: center;}"
4365 htmlFileT <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
4366 htmlFileT <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
4367 htmlFileT <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
4368 htmlFileT <<
"</style>" << std::endl;
4369 htmlFileT <<
"<body>" << std::endl;
4372 htmlFileT <<
"<h1> Criteria for megatile channels for HB, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4374 htmlFileT <<
"<h1> Criteria for megatile channels for HE, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4376 htmlFileT <<
"<h1> Criteria for megatile channels for HO, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4378 htmlFileT <<
"<h1> Criteria for megatile channels for HF, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4379 htmlFileT <<
"<br>" << std::endl;
4383 htmlFileT <<
"<h2> 0. Entries for each channel.</h3>" << std::endl;
4384 htmlFileT <<
"<h3> 0.A. Entries in each channel for each depth.</h3>" << std::endl;
4385 htmlFileT <<
"<h4> Channel legend: color is rate of entries </h4>" << std::endl;
4387 htmlFileT <<
" <img src=\"MapRateEntryHB.png\" />" << std::endl;
4389 htmlFileT <<
" <img src=\"MapRateEntryHE.png\" />" << std::endl;
4391 htmlFileT <<
" <img src=\"MapRateEntryHO.png\" />" << std::endl;
4393 htmlFileT <<
" <img src=\"MapRateEntryHF.png\" />" << std::endl;
4394 htmlFileT <<
"<br>" << std::endl;
4397 htmlFileT <<
"<h2> 1. Cm criterion: CapID errors for each channel.</h3>" << std::endl;
4398 htmlFileT <<
"<h3> 1.A. Rate of CapId failures in each channel for each depth.</h3>" << std::endl;
4399 htmlFileT <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
4401 htmlFileT <<
" <img src=\"MapRateCapIDHB.png\" />" << std::endl;
4403 htmlFileT <<
" <img src=\"MapRateCapIDHE.png\" />" << std::endl;
4405 htmlFileT <<
" <img src=\"MapRateCapIDHO.png\" />" << std::endl;
4407 htmlFileT <<
" <img src=\"MapRateCapIDHF.png\" />" << std::endl;
4408 htmlFileT <<
"<br>" << std::endl;
4411 htmlFileT <<
"<h2> 2. Am criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel. </h3>"
4413 htmlFileT <<
"<h3> 2.A. Full ADC amplitude distribution over all events, channels and depths.</h3>" << std::endl;
4414 htmlFileT <<
"<h4> Legend: Bins less " << MIN_M[2][sub] <<
" correpond to bad ADC amplitude </h4>" << std::endl;
4416 htmlFileT <<
" <img src=\"HistAmplHB.png\" />" << std::endl;
4418 htmlFileT <<
" <img src=\"HistAmplHE.png\" />" << std::endl;
4420 htmlFileT <<
" <img src=\"HistAmplHO.png\" />" << std::endl;
4422 htmlFileT <<
" <img src=\"HistAmplHF.png\" />" << std::endl;
4423 htmlFileT <<
"<br>" << std::endl;
4424 htmlFileT <<
"<h3> 2.B. Rate of bad ADC amplitude (<" << MIN_M[2][sub] <<
") in each channel for each depth. </h3>"
4426 htmlFileT <<
"<h4> Channel legend: white - good, other colours - bad. </h4>" << std::endl;
4428 htmlFileT <<
" <img src=\"MapRateAmplHB.png\" />" << std::endl;
4430 htmlFileT <<
" <img src=\"MapRateAmplHE.png\" />" << std::endl;
4432 htmlFileT <<
" <img src=\"MapRateAmplHO.png\" />" << std::endl;
4434 htmlFileT <<
" <img src=\"MapRateAmplHF.png\" />" << std::endl;
4435 htmlFileT <<
"<br>" << std::endl;
4438 htmlFileT <<
"<h2> 3. Wm criterion: RMS (width) of ADC amplutude for each channel.</h3>" << std::endl;
4439 htmlFileT <<
"<h3> 3.A. RMS distribution over all events, channel and depth.</h3>" << std::endl;
4440 htmlFileT <<
"<h4> Legend: Bins less " << MIN_M[3][sub] <<
" and more " << MAX_M[3][sub]
4441 <<
" correpond to bad RMS </h4>" << std::endl;
4443 htmlFileT <<
" <img src=\"HistRMSHB.png\" />" << std::endl;
4445 htmlFileT <<
" <img src=\"HistRMSHE.png\" />" << std::endl;
4447 htmlFileT <<
" <img src=\"HistRMSHO.png\" />" << std::endl;
4449 htmlFileT <<
" <img src=\"HistRMSHF.png\" />" << std::endl;
4450 htmlFileT <<
"<br>" << std::endl;
4451 htmlFileT <<
"<h3> 3.B. Rate of bad RMS (<" << MIN_M[3][sub] <<
",>" << MAX_M[3][sub]
4452 <<
") in each channel for each depth.</h3>" << std::endl;
4453 htmlFileT <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
4455 htmlFileT <<
" <img src=\"MapRateRMSHB.png\" />" << std::endl;
4457 htmlFileT <<
" <img src=\"MapRateRMSHE.png\" />" << std::endl;
4459 htmlFileT <<
" <img src=\"MapRateRMSHO.png\" />" << std::endl;
4461 htmlFileT <<
" <img src=\"MapRateRMSHF.png\" />" << std::endl;
4462 htmlFileT <<
"<br>" << std::endl;
4465 htmlFileT <<
"<h2> 4. Rm criterion: Ratio ADC value sum over four near maximum (-2, -1, max, +1) TS to ADC value "
4466 "sum over all TS for each channel. </h3>"
4468 htmlFileT <<
"<h3> 4.A. Ratio distribution over all events, channels and depths.</h3>" << std::endl;
4469 htmlFileT <<
"<h4> Legend: Bins less " << MIN_M[4][sub] <<
" and more " << MAX_M[4][sub]
4470 <<
" correpond to bad ratio </h4>" << std::endl;
4472 htmlFileT <<
" <img src=\"Hist43TStoAllTSHB.png\" />" << std::endl;
4474 htmlFileT <<
" <img src=\"Hist43TStoAllTSHE.png\" />" << std::endl;
4476 htmlFileT <<
" <img src=\"Hist43TStoAllTSHO.png\" />" << std::endl;
4478 htmlFileT <<
" <img src=\"Hist43TStoAllTSHF.png\" />" << std::endl;
4479 htmlFileT <<
"<br>" << std::endl;
4480 htmlFileT <<
"<h3> 4.B. Rate of bad ratio (<" << MIN_M[4][sub] <<
", >" << MAX_M[4][sub]
4481 <<
") in each channel for each depth.</h3>" << std::endl;
4482 htmlFileT <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
4484 htmlFileT <<
" <img src=\"MapRate43TStoAllTSHB.png\" />" << std::endl;
4486 htmlFileT <<
" <img src=\"MapRate43TStoAllTSHE.png\" />" << std::endl;
4488 htmlFileT <<
" <img src=\"MapRate43TStoAllTSHO.png\" />" << std::endl;
4490 htmlFileT <<
" <img src=\"MapRate43TStoAllTSHF.png\" />" << std::endl;
4491 htmlFileT <<
"<br>" << std::endl;
4494 htmlFileT <<
"<h2> 5. TNm criterion: Mean TS position for each channel.</h3>" << std::endl;
4495 htmlFileT <<
"<h3> 5.A. TN position distribution over all events, channels and depths.</h3>" << std::endl;
4496 htmlFileT <<
"<h4> Legend: Bins less " << MIN_M[5][sub] <<
" and more " << MAX_M[5][sub]
4497 <<
" correpond to bad mean position </h4>" << std::endl;
4499 htmlFileT <<
" <img src=\"HistMeanPosHB.png\" />" << std::endl;
4501 htmlFileT <<
" <img src=\"HistMeanPosHE.png\" />" << std::endl;
4503 htmlFileT <<
" <img src=\"HistMeanPosHO.png\" />" << std::endl;
4505 htmlFileT <<
" <img src=\"HistMeanPosHF.png\" />" << std::endl;
4506 htmlFileT <<
"<br>" << std::endl;
4507 htmlFileT <<
"<h3> 5.B. Rate of bad TN position (<" << MIN_M[5][sub] <<
", >" << MAX_M[5][sub]
4508 <<
") in each channel for each depth. </h3>" << std::endl;
4509 htmlFileT <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
4511 htmlFileT <<
" <img src=\"MapRateMeanPosHB.png\" />" << std::endl;
4513 htmlFileT <<
" <img src=\"MapRateMeanPosHE.png\" />" << std::endl;
4515 htmlFileT <<
" <img src=\"MapRateMeanPosHO.png\" />" << std::endl;
4517 htmlFileT <<
" <img src=\"MapRateMeanPosHF.png\" />" << std::endl;
4518 htmlFileT <<
"<br>" << std::endl;
4521 htmlFileT <<
"<h2> 6.TXm criterion: Maximum TS position for each channel.</h3>" << std::endl;
4522 htmlFileT <<
"<h3> 6.A. TX position distribution over all events, channel and depth.</h3>" << std::endl;
4523 htmlFileT <<
"<h4> Legend: Bins less " << MIN_M[6][sub] <<
" and more " << MAX_M[6][sub]
4524 <<
" correpond to bad position </h4>" << std::endl;
4526 htmlFileT <<
" <img src=\"HistMaxPosHB.png\" />" << std::endl;
4528 htmlFileT <<
" <img src=\"HistMaxPosHE.png\" />" << std::endl;
4530 htmlFileT <<
" <img src=\"HistMaxPosHO.png\" />" << std::endl;
4532 htmlFileT <<
" <img src=\"HistMaxPosHF.png\" />" << std::endl;
4533 htmlFileT <<
"<br>" << std::endl;
4534 htmlFileT <<
"<h3> 6.B. Rate of bad TX position (<" << MIN_M[6][sub] <<
", >" << MAX_M[6][sub]
4535 <<
") in each channel for each depth. </h3>" << std::endl;
4536 htmlFileT <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
4538 htmlFileT <<
" <img src=\"MapRateMaxPosHB.png\" />" << std::endl;
4540 htmlFileT <<
" <img src=\"MapRateMaxPosHE.png\" />" << std::endl;
4542 htmlFileT <<
" <img src=\"MapRateMaxPosHO.png\" />" << std::endl;
4544 htmlFileT <<
" <img src=\"MapRateMaxPosHF.png\" />" << std::endl;
4545 htmlFileT <<
"<br>" << std::endl;
4547 htmlFileT <<
"</body> " << std::endl;
4548 htmlFileT <<
"</html> " << std::endl;
4552 htmlFileC <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
4553 htmlFileC <<
"<head>" << std::endl;
4554 htmlFileC <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
4555 htmlFileC <<
"<title> Raw Data Analyser </title>" << std::endl;
4556 htmlFileC <<
"<style type=\"text/css\">" << std::endl;
4557 htmlFileC <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
4559 htmlFileC <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
4560 htmlFileC <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
4561 "text-align: center;}"
4563 htmlFileC <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
4564 htmlFileC <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
4565 htmlFileC <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
4566 htmlFileC <<
"</style>" << std::endl;
4567 htmlFileC <<
"<body>" << std::endl;
4570 htmlFileC <<
"<h1> Criteria for calibration channels for HB, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4572 htmlFileC <<
"<h1> Criteria for calibration channels for HE, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4574 htmlFileC <<
"<h1> Criteria for calibration channels for HO, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4576 htmlFileC <<
"<h1> Criteria for calibration channels for HF, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4577 htmlFileC <<
"<br>" << std::endl;
4581 htmlFileC <<
"<h2> 0. Entries for each channel.</h3>" << std::endl;
4582 htmlFileC <<
"<h3> 0.A. Entries in each channel for each depth.</h3>" << std::endl;
4583 htmlFileC <<
"<h4> Channel legend: color is rate of entries </h4>" << std::endl;
4585 htmlFileC <<
" <img src=\"MapRateCalibEntryHB.png\" />" << std::endl;
4587 htmlFileC <<
" <img src=\"MapRateCalibEntryHE.png\" />" << std::endl;
4589 htmlFileC <<
" <img src=\"MapRateCalibEntryHO.png\" />" << std::endl;
4591 htmlFileC <<
" <img src=\"MapRateCalibEntryHF.png\" />" << std::endl;
4592 htmlFileC <<
"<br>" << std::endl;
4595 htmlFileC <<
"<h2> 1. Cc criterion: CapID errors for each channel.</h3>" << std::endl;
4596 htmlFileC <<
"<h3> 1.A. Rate of CapId failures in each channel for each depth.</h3>" << std::endl;
4597 htmlFileC <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
4599 htmlFileC <<
" <img src=\"MapRateCapCalibHB.png\" />" << std::endl;
4601 htmlFileC <<
" <img src=\"MapRateCapCalibHE.png\" />" << std::endl;
4603 htmlFileC <<
" <img src=\"MapRateCapCalibHO.png\" />" << std::endl;
4605 htmlFileC <<
" <img src=\"MapRateCapCalibHF.png\" />" << std::endl;
4606 htmlFileC <<
"<br>" << std::endl;
4609 htmlFileC <<
"<h2> 2. Ac criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel. </h3>"
4611 htmlFileC <<
"<h3> 2.A. Full ADC amplitude distribution over all events, channels and depths.</h3>" << std::endl;
4612 htmlFileC <<
"<h4> Legend: Bins less " << MIN_C[2][sub] <<
" correpond to bad ADC amplitude </h4>" << std::endl;
4614 htmlFileC <<
" <img src=\"HistAmplCalibHB.png\" />" << std::endl;
4616 htmlFileC <<
" <img src=\"HistAmplCalibHE.png\" />" << std::endl;
4618 htmlFileC <<
" <img src=\"HistAmplCalibHO.png\" />" << std::endl;
4620 htmlFileC <<
" <img src=\"HistAmplCalibHF.png\" />" << std::endl;
4621 htmlFileC <<
"<br>" << std::endl;
4622 htmlFileC <<
"<h3> 2.B. Rate of bad ADC amplitude (<" << MIN_C[2][sub] <<
") in each channel for each depth. </h3>"
4624 htmlFileC <<
"<h4> Channel legend: white - good, other colours - bad. </h4>" << std::endl;
4626 htmlFileC <<
" <img src=\"MapRateAmplCalibHB.png\" />" << std::endl;
4628 htmlFileC <<
" <img src=\"MapRateAmplCalibHE.png\" />" << std::endl;
4630 htmlFileC <<
" <img src=\"MapRateAmplCalibHO.png\" />" << std::endl;
4632 htmlFileC <<
" <img src=\"MapRateAmplCalibHF.png\" />" << std::endl;
4633 htmlFileC <<
"<br>" << std::endl;
4636 htmlFileC <<
"<h2> 3. Wc criterion: RMS (width) of ADC amplutude for each channel.</h3>" << std::endl;
4637 htmlFileC <<
"<h3> 3.A. W distribution over all events, channel and depth.</h3>" << std::endl;
4638 htmlFileC <<
"<h4> Legend: Bins less " << MIN_C[3][sub] <<
" and more " << MAX_C[3][sub]
4639 <<
" correpond to bad RMS </h4>" << std::endl;
4641 htmlFileC <<
" <img src=\"HistRMSCalibHB.png\" />" << std::endl;
4643 htmlFileC <<
" <img src=\"HistRMSCalibHE.png\" />" << std::endl;
4645 htmlFileC <<
" <img src=\"HistRMSCalibHO.png\" />" << std::endl;
4647 htmlFileC <<
" <img src=\"HistRMSCalibHF.png\" />" << std::endl;
4648 htmlFileC <<
"<br>" << std::endl;
4649 htmlFileC <<
"<h3> 3.B. Rate of bad W (<" << MIN_C[3][sub] <<
",>" << MAX_C[3][sub]
4650 <<
") in each channel for each depth.</h3>" << std::endl;
4651 htmlFileC <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
4653 htmlFileC <<
" <img src=\"MapRateRMSCalibHB.png\" />" << std::endl;
4655 htmlFileC <<
" <img src=\"MapRateRMSCalibHE.png\" />" << std::endl;
4657 htmlFileC <<
" <img src=\"MapRateRMSCalibHO.png\" />" << std::endl;
4659 htmlFileC <<
" <img src=\"MapRateRMSCalibHF.png\" />" << std::endl;
4660 htmlFileC <<
"<br>" << std::endl;
4663 htmlFileC <<
"<h2> 4. Rc criterion: Ratio ADC value sum over five near maximum (-2, -1, max, +1, +2) TS to ADC "
4664 "value sum over all TS for each channel. </h3>"
4666 htmlFileC <<
"<h3> 4.A. Ratio distribution over all events, channels and depths.</h3>" << std::endl;
4667 htmlFileC <<
"<h4> Legend: Bins less " << MIN_C[4][sub] <<
" and more " << MAX_C[4][sub]
4668 <<
" correpond to bad ratio </h4>" << std::endl;
4670 htmlFileC <<
" <img src=\"Hist43TStoAllTSCalibHB.png\" />" << std::endl;
4672 htmlFileC <<
" <img src=\"Hist43TStoAllTSCalibHE.png\" />" << std::endl;
4674 htmlFileC <<
" <img src=\"Hist43TStoAllTSCalibHO.png\" />" << std::endl;
4676 htmlFileC <<
" <img src=\"Hist43TStoAllTSCalibHF.png\" />" << std::endl;
4677 htmlFileC <<
"<br>" << std::endl;
4678 htmlFileC <<
"<h3> 4.B. Rate of bad Ratio (<" << MIN_C[4][sub] <<
", >" << MAX_C[4][sub]
4679 <<
") in each channel for each depth.</h3>" << std::endl;
4680 htmlFileC <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
4682 htmlFileC <<
" <img src=\"MapRate43TStoAllTSCalibHB.png\" />" << std::endl;
4684 htmlFileC <<
" <img src=\"MapRate43TStoAllTSCalibHE.png\" />" << std::endl;
4686 htmlFileC <<
" <img src=\"MapRate43TStoAllTSCalibHO.png\" />" << std::endl;
4688 htmlFileC <<
" <img src=\"MapRate43TStoAllTSCalibHF.png\" />" << std::endl;
4689 htmlFileC <<
"<br>" << std::endl;
4692 htmlFileC <<
"<h2> 5. TNc criterion: Mean TS position for each channel.</h3>" << std::endl;
4693 htmlFileC <<
"<h3> 5.A. TN position distribution over all events, channels and depths.</h3>" << std::endl;
4694 htmlFileC <<
"<h4> Legend: Bins less " << MIN_C[5][sub] <<
" and more " << MAX_C[5][sub]
4695 <<
" correpond to bad position </h4>" << std::endl;
4697 htmlFileC <<
" <img src=\"HistMeanPosCalibHB.png\" />" << std::endl;
4699 htmlFileC <<
" <img src=\"HistMeanPosCalibHE.png\" />" << std::endl;
4701 htmlFileC <<
" <img src=\"HistMeanPosCalibHO.png\" />" << std::endl;
4703 htmlFileC <<
" <img src=\"HistMeanPosCalibHF.png\" />" << std::endl;
4704 htmlFileC <<
"<br>" << std::endl;
4705 htmlFileC <<
"<h3> 5.B. Rate of bad TN position (<" << MIN_C[5][sub] <<
", >" << MAX_C[5][sub]
4706 <<
") in each channel for each depth. </h3>" << std::endl;
4707 htmlFileC <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
4709 htmlFileC <<
" <img src=\"MapRateMeanPosCalibHB.png\" />" << std::endl;
4711 htmlFileC <<
" <img src=\"MapRateMeanPosCalibHE.png\" />" << std::endl;
4713 htmlFileC <<
" <img src=\"MapRateMeanPosCalibHO.png\" />" << std::endl;
4715 htmlFileC <<
" <img src=\"MapRateMeanPosCalibHF.png\" />" << std::endl;
4716 htmlFileC <<
"<br>" << std::endl;
4719 htmlFileC <<
"<h2> 6.TXc criterion: Maximum TS position for each channel.</h3>" << std::endl;
4720 htmlFileC <<
"<h3> 6.A. TX position distribution over all events, channel and depth.</h3>" << std::endl;
4721 htmlFileC <<
"<h4> Legend: Bins less " << MIN_C[6][sub] <<
" and more " << MAX_C[6][sub]
4722 <<
" correpond to bad position </h4>" << std::endl;
4724 htmlFileC <<
" <img src=\"HistMaxPosCalibHB.png\" />" << std::endl;
4726 htmlFileC <<
" <img src=\"HistMaxPosCalibHE.png\" />" << std::endl;
4728 htmlFileC <<
" <img src=\"HistMaxPosCalibHO.png\" />" << std::endl;
4730 htmlFileC <<
" <img src=\"HistMaxPosCalibHF.png\" />" << std::endl;
4731 htmlFileC <<
"<br>" << std::endl;
4732 htmlFileC <<
"<h3> 6.B. Rate of bad TX position (<" << MIN_C[6][sub] <<
", >" << MAX_C[6][sub]
4733 <<
") in each channel for each depth. </h3>" << std::endl;
4734 htmlFileC <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
4736 htmlFileC <<
" <img src=\"MapRateMaxPosCalibHB.png\" />" << std::endl;
4738 htmlFileC <<
" <img src=\"MapRateMaxPosCalibHE.png\" />" << std::endl;
4740 htmlFileC <<
" <img src=\"MapRateMaxPosCalibHO.png\" />" << std::endl;
4742 htmlFileC <<
" <img src=\"MapRateMaxPosCalibHF.png\" />" << std::endl;
4743 htmlFileC <<
"<br>" << std::endl;
4745 htmlFileC <<
"</body> " << std::endl;
4746 htmlFileC <<
"</html> " << std::endl;
4750 htmlFileD <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
4751 htmlFileD <<
"<head>" << std::endl;
4752 htmlFileD <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
4753 htmlFileD <<
"<title> Remore Monitoring Tool </title>" << std::endl;
4754 htmlFileD <<
"<style type=\"text/css\">" << std::endl;
4755 htmlFileD <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
4757 htmlFileD <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
4758 htmlFileD <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
4759 "text-align: center;}"
4761 htmlFileD <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
4762 htmlFileD <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
4763 htmlFileD <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
4764 htmlFileD <<
"</style>" << std::endl;
4765 htmlFileD <<
"<body>" << std::endl;
4768 htmlFileD <<
"<h1> Response drift for HB: Current RUN = " <<
runnumber <<
", Reference RUN = " << refrunnumber
4769 <<
" </h1>" << std::endl;
4771 htmlFileD <<
"<h1> Response drift for HE: Current RUN = " <<
runnumber <<
", Reference RUN = " << refrunnumber
4772 <<
" </h1>" << std::endl;
4774 htmlFileD <<
"<h1> Response drift for HO: Current RUN = " <<
runnumber <<
", Reference RUN = " << refrunnumber
4775 <<
" </h1>" << std::endl;
4777 htmlFileD <<
"<h1> Response drift for HF: Current RUN = " <<
runnumber <<
", Reference RUN = " << refrunnumber
4778 <<
" </h1>" << std::endl;
4779 htmlFileD <<
"<br>" << std::endl;
4782 htmlFileD <<
"<h2> 1. Gain Stability (GS) </h3>" << std::endl;
4783 htmlFileD <<
"<h3> 1.A. Averaged channel response, collected over all TS, for Current run in each channel for each "
4786 htmlFileD <<
"<h4> Channel legend: colour means cooresponding value of mean response. </h4>" << std::endl;
4788 htmlFileD <<
" <img src=\"MapRateAmpl1HB.png\" />" << std::endl;
4790 htmlFileD <<
" <img src=\"MapRateAmpl1HE.png\" />" << std::endl;
4792 htmlFileD <<
" <img src=\"MapRateAmpl1HO.png\" />" << std::endl;
4794 htmlFileD <<
" <img src=\"MapRateAmpl1HF.png\" />" << std::endl;
4795 htmlFileD <<
"<br>" << std::endl;
4796 htmlFileD <<
"<h3> 1.B. Averaged channel response, collected over all TS, for Reference run in each channel for "
4799 htmlFileD <<
"<h4> Channel legend: colour means cooresponding value of mean response. </h4>" << std::endl;
4801 htmlFileD <<
" <img src=\"MapRateAmpl2HB.png\" />" << std::endl;
4803 htmlFileD <<
" <img src=\"MapRateAmpl2HE.png\" />" << std::endl;
4805 htmlFileD <<
" <img src=\"MapRateAmpl2HO.png\" />" << std::endl;
4807 htmlFileD <<
" <img src=\"MapRateAmpl2HF.png\" />" << std::endl;
4808 htmlFileD <<
"<br>" << std::endl;
4809 htmlFileD <<
"<h3> 1.C. Relative difference between Current and Reference run distribution over all events, "
4810 "channels for each depth.</h3>"
4812 htmlFileD <<
"<h4> Legend: Bins less -" << porog[sub] <<
"% and more +" << porog[sub]
4813 <<
"% correpond to bad relative difference position </h4>" << std::endl;
4815 htmlFileD <<
" <img src=\"HistAmplDriftDepthHB.png\" />" << std::endl;
4817 htmlFileD <<
" <img src=\"HistAmplDriftDepthHE.png\" />" << std::endl;
4819 htmlFileD <<
" <img src=\"HistAmplDriftDepthHO.png\" />" << std::endl;
4821 htmlFileD <<
" <img src=\"HistAmplDriftDepthHF.png\" />" << std::endl;
4822 htmlFileD <<
"<br>" << std::endl;
4823 htmlFileD <<
"<h3> 1.D. Rate of bad relative difference (<-" << porog[sub] <<
", >+" << porog[sub]
4824 <<
") in each channel for each depth.</h3>" << std::endl;
4825 htmlFileD <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
4827 htmlFileD <<
" <img src=\"MapRateAmplDriftHB.png\" />" << std::endl;
4829 htmlFileD <<
" <img src=\"MapRateAmplDriftHE.png\" />" << std::endl;
4831 htmlFileD <<
" <img src=\"MapRateAmplDriftHO.png\" />" << std::endl;
4833 htmlFileD <<
" <img src=\"MapRateAmplDriftHF.png\" />" << std::endl;
4834 htmlFileD <<
"<br>" << std::endl;
4836 htmlFileD <<
"</body> " << std::endl;
4837 htmlFileD <<
"</html> " << std::endl;
4841 htmlFileP <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
4842 htmlFileP <<
"<head>" << std::endl;
4843 htmlFileP <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
4844 htmlFileP <<
"<title> Remote Monitoring Tool </title>" << std::endl;
4845 htmlFileP <<
"<style type=\"text/css\">" << std::endl;
4846 htmlFileP <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
4848 htmlFileP <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
4849 htmlFileP <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
4850 "text-align: center;}"
4852 htmlFileP <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
4853 htmlFileP <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
4854 htmlFileP <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
4855 htmlFileP <<
"</style>" << std::endl;
4856 htmlFileP <<
"<body>" << std::endl;
4859 htmlFileP <<
"<h1> Pedestals for HB, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4861 htmlFileP <<
"<h1> Pedestals for HE, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4863 htmlFileP <<
"<h1> Pedestals for HO, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4865 htmlFileP <<
"<h1> Pedestals for HF, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4866 htmlFileP <<
"<br>" << std::endl;
4869 htmlFileP <<
"<h2> 1.Pm criterion: Pedestals for each CapID .</h3>" << std::endl;
4870 htmlFileP <<
"<h3> 1.A. Pedestal distribution over all events, channels for each CapID and all depths.</h3>"
4872 htmlFileP <<
"<h4> Legend: Bins less " << Pedest[0][sub] <<
" correpond to bad Pedestals </h4>" << std::endl;
4874 htmlFileP <<
" <img src=\"HistPedestalsHB.png\" />" << std::endl;
4876 htmlFileP <<
" <img src=\"HistPedestalsHE.png\" />" << std::endl;
4878 htmlFileP <<
" <img src=\"HistPedestalsHO.png\" />" << std::endl;
4880 htmlFileP <<
" <img src=\"HistPedestalsHF.png\" />" << std::endl;
4881 htmlFileP <<
"<br>" << std::endl;
4882 htmlFileP <<
"<h3> 1.B. Rate of channels at very low Pedestals at least in one CapID for each depth.</h3>"
4884 htmlFileP <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
4886 htmlFileP <<
" <img src=\"MapRatePedHB.png\" />" << std::endl;
4888 htmlFileP <<
" <img src=\"MapRatePedHE.png\" />" << std::endl;
4890 htmlFileP <<
" <img src=\"MapRatePedHO.png\" />" << std::endl;
4892 htmlFileP <<
" <img src=\"MapRatePedHF.png\" />" << std::endl;
4895 htmlFileP <<
"<h2> 2.pWm criterion: Pedestal Widths for each CapID .</h3>" << std::endl;
4896 htmlFileP <<
"<h3> 2.A. Pedestal Widths distribution over all events, channels for each CapID and all depths.</h3>"
4898 htmlFileP <<
"<h4> Legend: Bins less " << Pedest[1][sub] <<
" correpond to bad Pedestal Widths </h4>" << std::endl;
4900 htmlFileP <<
" <img src=\"HistPedestalWidthsHB.png\" />" << std::endl;
4902 htmlFileP <<
" <img src=\"HistPedestalWidthsHE.png\" />" << std::endl;
4904 htmlFileP <<
" <img src=\"HistPedestalWidthsHO.png\" />" << std::endl;
4906 htmlFileP <<
" <img src=\"HistPedestalWidthsHF.png\" />" << std::endl;
4907 htmlFileP <<
"<br>" << std::endl;
4908 htmlFileP <<
"<h3> 2.B. Rate of channels at very low Pedestal Widths at least in one CapID for each depth.</h3>"
4910 htmlFileP <<
"<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
4912 htmlFileP <<
" <img src=\"MapRatePedWidthsHB.png\" />" << std::endl;
4914 htmlFileP <<
" <img src=\"MapRatePedWidthsHE.png\" />" << std::endl;
4916 htmlFileP <<
" <img src=\"MapRatePedWidthsHO.png\" />" << std::endl;
4918 htmlFileP <<
" <img src=\"MapRatePedWidthsHF.png\" />" << std::endl;
4921 htmlFileP <<
"<h2> 3.Pedestal and pedestalWidths vs Amplitude .</h3>" << std::endl;
4922 htmlFileP <<
"<h3> 3.A. Correlation of Pedestal(pedestalWidths) and Amplitude over all channels and events .</h3>"
4924 htmlFileP <<
"<h4> Legend: colour - entries </h4>" << std::endl;
4926 htmlFileP <<
"<img src=\"CorrelationsMapPedestalVsfullAmplitudeHB.png\" />" << std::endl;
4928 htmlFileP <<
"<img src=\"CorrelationsMapPedestalVsfullAmplitudeHE.png\" />" << std::endl;
4930 htmlFileP <<
"<img src=\"CorrelationsMapPedestalVsfullAmplitudeHO.png\" />" << std::endl;
4932 htmlFileP <<
"<img src=\"CorrelationsMapPedestalVsfullAmplitudeHF.png\" />" << std::endl;
4933 htmlFileP <<
"<br>" << std::endl;
4938 htmlFileS <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
4939 htmlFileS <<
"<head>" << std::endl;
4940 htmlFileS <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
4941 htmlFileS <<
"<title> Remote Monitoring Tool </title>" << std::endl;
4942 htmlFileS <<
"<style type=\"text/css\">" << std::endl;
4943 htmlFileS <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
4945 htmlFileS <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
4946 htmlFileS <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
4947 "text-align: center;}"
4949 htmlFileS <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
4950 htmlFileS <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
4951 htmlFileS <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
4952 htmlFileS <<
"</style>" << std::endl;
4953 htmlFileS <<
"<body>" << std::endl;
4956 htmlFileS <<
"<h1> ADC Shape for HB, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4958 htmlFileS <<
"<h1> ADC Shape for HE, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4960 htmlFileS <<
"<h1> ADC Shape for HO, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4962 htmlFileS <<
"<h1> ADC Shape for HF, RUN = " <<
runnumber <<
" </h1>" << std::endl;
4963 htmlFileS <<
"<br>" << std::endl;
4965 htmlFileS <<
"<h2> 1.Mean ADC Shape.</h3>" << std::endl;
4966 htmlFileS <<
"<h3> 1.A. ADC shape averaged over all good channels, depth and events.</h3>" << std::endl;
4969 htmlFileS <<
" <img src=\"HistGoodTSshapesHB.png\" />" << std::endl;
4971 htmlFileS <<
" <img src=\"HistGoodTSshapesHE.png\" />" << std::endl;
4973 htmlFileS <<
" <img src=\"HistGoodTSshapesHO.png\" />" << std::endl;
4975 htmlFileS <<
" <img src=\"HistGoodTSshapesHF.png\" />" << std::endl;
4976 htmlFileS <<
"<br>" << std::endl;
4977 htmlFileS <<
"<h3> 1.B. ADC shape averaged over all bad channels, depth and events. Bad channels are selected by 5 "
4978 "criteria: CapId, A, W, P, Pw </h3>"
4982 htmlFileS <<
" <img src=\"HistBadTSshapesHB.png\" />" << std::endl;
4984 htmlFileS <<
" <img src=\"HistBadTSshapesHE.png\" />" << std::endl;
4986 htmlFileS <<
" <img src=\"HistBadTSshapesHO.png\" />" << std::endl;
4988 htmlFileS <<
" <img src=\"HistBadTSshapesHF.png\" />" << std::endl;
5033 htmlFileM <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
5034 htmlFileM <<
"<head>" << std::endl;
5035 htmlFileM <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
5036 htmlFileM <<
"<title> Remote Monitoring Tool </title>" << std::endl;
5037 htmlFileM <<
"<style type=\"text/css\">" << std::endl;
5038 htmlFileM <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
5040 htmlFileM <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
5041 htmlFileM <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
5042 "text-align: center;}"
5044 htmlFileM <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
5045 htmlFileM <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
5046 htmlFileM <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
5047 htmlFileM <<
"</style>" << std::endl;
5048 htmlFileM <<
"<body>" << std::endl;
5051 htmlFileM <<
"<h1> Iteration Method for Calibration Group, HB, RUN = " <<
runnumber <<
" </h1>" << std::endl;
5053 htmlFileM <<
"<h1> Iteration Method for Calibration Group, HE, RUN = " <<
runnumber <<
" </h1>" << std::endl;
5055 htmlFileM <<
"<h1> Iteration Method for Calibration Group, HO, RUN = " <<
runnumber <<
" </h1>" << std::endl;
5057 htmlFileM <<
"<h1> Iteration Method for Calibration Group, HF, RUN = " <<
runnumber <<
" </h1>" << std::endl;
5058 htmlFileM <<
"<br>" << std::endl;
5060 htmlFileM <<
"<h2> 1: Positive direction, R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta </h3>"
5063 htmlFileM <<
"<h3> 1.A. eta/phi-plot: R, averaged over depthes </h3>" << std::endl;
5066 htmlFileM <<
" <img src=\"Rhist2IterationMethodHB.png\" />" << std::endl;
5068 htmlFileM <<
" <img src=\"Rhist2IterationMethodHE.png\" />" << std::endl;
5070 htmlFileM <<
" <img src=\"Rhist2IterationMethodHO.png\" />" << std::endl;
5072 htmlFileM <<
" <img src=\"Rhist2IterationMethodHF.png\" />" << std::endl;
5073 htmlFileM <<
"<br>" << std::endl;
5075 htmlFileM <<
"<h3> 1B: R vs phi , averaged over depthes & eta </h3>" << std::endl;
5078 htmlFileM <<
" <img src=\"Rhist1IterationMethodHB.png\" />" << std::endl;
5080 htmlFileM <<
" <img src=\"Rhist1IterationMethodHE.png\" />" << std::endl;
5082 htmlFileM <<
" <img src=\"Rhist1IterationMethodHO.png\" />" << std::endl;
5084 htmlFileM <<
" <img src=\"Rhist1IterationMethodHF.png\" />" << std::endl;
5085 htmlFileM <<
"<br>" << std::endl;
5089 htmlFileM <<
"<h3> 1C: R vs phi , different eta, Depth1 </h3>" << std::endl;
5092 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth1HB.png\" />" << std::endl;
5094 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth1HE.png\" />" << std::endl;
5096 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth1HF.png\" />" << std::endl;
5097 htmlFileM <<
"<br>" << std::endl;
5099 htmlFileM <<
"<h3> 1D: R vs phi , different eta, Depth2 </h3>" << std::endl;
5102 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth2HB.png\" />" << std::endl;
5104 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth2HE.png\" />" << std::endl;
5106 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth2HF.png\" />" << std::endl;
5107 htmlFileM <<
"<br>" << std::endl;
5109 htmlFileM <<
"<h3> 1E: R vs phi , different eta, Depth3 </h3>" << std::endl;
5112 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth3HB.png\" />" << std::endl;
5114 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth3HE.png\" />" << std::endl;
5116 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth3HF.png\" />" << std::endl;
5117 htmlFileM <<
"<br>" << std::endl;
5119 htmlFileM <<
"<h3> 1F: R vs phi , different eta, Depth4 </h3>" << std::endl;
5122 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth4HB.png\" />" << std::endl;
5124 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth4HE.png\" />" << std::endl;
5126 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth4HO.png\" />" << std::endl;
5128 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth4HF.png\" />" << std::endl;
5129 htmlFileM <<
"<br>" << std::endl;
5131 htmlFileM <<
"<h3> 1G: R vs phi , different eta, Depth5 </h3>" << std::endl;
5134 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth5HE.png\" />" << std::endl;
5135 htmlFileM <<
"<br>" << std::endl;
5137 htmlFileM <<
"<h3> 1H: R vs phi , different eta, Depth6 </h3>" << std::endl;
5140 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth6HE.png\" />" << std::endl;
5141 htmlFileM <<
"<br>" << std::endl;
5143 htmlFileM <<
"<h3> 1I: R vs phi , different eta, Depth7 </h3>" << std::endl;
5146 htmlFileM <<
" <img src=\"Rhist1IterationMethodDepth7HE.png\" />" << std::endl;
5147 htmlFileM <<
"<br>" << std::endl;
5149 htmlFileM <<
"<h2> 2: Positive direction, D(variance) </h3>" << std::endl;
5151 htmlFileM <<
"<h3> 2A: eta/phi-plot: D(variance), averaged over depthes </h3>" << std::endl;
5154 htmlFileM <<
" <img src=\"Dhist2IterationMethodHB.png\" />" << std::endl;
5156 htmlFileM <<
" <img src=\"Dhist2IterationMethodHE.png\" />" << std::endl;
5158 htmlFileM <<
" <img src=\"Dhist2IterationMethodHO.png\" />" << std::endl;
5160 htmlFileM <<
" <img src=\"Dhist2IterationMethodHF.png\" />" << std::endl;
5161 htmlFileM <<
"<br>" << std::endl;
5163 htmlFileM <<
"<h3> 2B: D(variance) vs phi , averaged over depthes & eta </h3>" << std::endl;
5166 htmlFileM <<
" <img src=\"Dhist1IterationMethodHB.png\" />" << std::endl;
5168 htmlFileM <<
" <img src=\"Dhist1IterationMethodHE.png\" />" << std::endl;
5170 htmlFileM <<
" <img src=\"Dhist1IterationMethodHO.png\" />" << std::endl;
5172 htmlFileM <<
" <img src=\"Dhist1IterationMethodHF.png\" />" << std::endl;
5173 htmlFileM <<
"<br>" << std::endl;
5177 htmlFileM <<
"<h3> 2C: D(variance) vs phi , different eta, Depth1 </h3>" << std::endl;
5180 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth1HB.png\" />" << std::endl;
5182 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth1HE.png\" />" << std::endl;
5184 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth1HF.png\" />" << std::endl;
5185 htmlFileM <<
"<br>" << std::endl;
5187 htmlFileM <<
"<h3> 2.D. D(variance) vs phi , different eta, Depth2 </h3>" << std::endl;
5190 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth2HB.png\" />" << std::endl;
5192 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth2HE.png\" />" << std::endl;
5194 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth2HF.png\" />" << std::endl;
5195 htmlFileM <<
"<br>" << std::endl;
5197 htmlFileM <<
"<h3> 2E: D(variance) vs phi , different eta, Depth3 </h3>" << std::endl;
5200 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth3HB.png\" />" << std::endl;
5202 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth3HE.png\" />" << std::endl;
5204 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth3HF.png\" />" << std::endl;
5205 htmlFileM <<
"<br>" << std::endl;
5207 htmlFileM <<
"<h3> 2F: D(variance) vs phi , different eta, Depth4 </h3>" << std::endl;
5210 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth4HB.png\" />" << std::endl;
5212 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth4HE.png\" />" << std::endl;
5214 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth4HO.png\" />" << std::endl;
5216 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth4HF.png\" />" << std::endl;
5217 htmlFileM <<
"<br>" << std::endl;
5219 htmlFileM <<
"<h3> 2G: D(variance) vs phi , different eta, Depth5 </h3>" << std::endl;
5222 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth5HE.png\" />" << std::endl;
5223 htmlFileM <<
"<br>" << std::endl;
5225 htmlFileM <<
"<h3> 2H: D(variance) vs phi , different eta, Depth6 </h3>" << std::endl;
5228 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth6HE.png\" />" << std::endl;
5229 htmlFileM <<
"<br>" << std::endl;
5231 htmlFileM <<
"<h3> 2I: D(variance) vs phi , different eta, Depth7 </h3>" << std::endl;
5234 htmlFileM <<
" <img src=\"Dhist1IterationMethodDepth7HE.png\" />" << std::endl;
5235 htmlFileM <<
"<br>" << std::endl;
5247 std::cout <<
"************ Start creating subdet html pages: - rather long time needed, waiting please"
5252 for (
int sub = 1; sub <= 4; sub++) {
5255 htmlFile.open(
"HB.html");
5257 htmlFile.open(
"HE.html");
5259 htmlFile.open(
"HO.html");
5261 htmlFile.open(
"HF.html");
5263 htmlFile <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
5264 htmlFile <<
"<head>" << std::endl;
5265 htmlFile <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
5266 htmlFile <<
"<title> Remote Monitoring Tool </title>" << std::endl;
5267 htmlFile <<
"<style type=\"text/css\">" << std::endl;
5268 htmlFile <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
5270 htmlFile <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
5271 htmlFile <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
5272 "text-align: center;}"
5274 htmlFile <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
5275 htmlFile <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
5276 htmlFile <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
5277 htmlFile <<
" td.s5 { font-family: arial, arial ce, helvetica; background-color: #FF00FF; }" << std::endl;
5278 htmlFile <<
" td.s6 { font-family: arial, arial ce, helvetica; background-color: #9ACD32; }" << std::endl;
5279 htmlFile <<
" td.s7 { font-family: arial, arial ce, helvetica; background-color: #32CD32; }" << std::endl;
5280 htmlFile <<
" td.s8 { font-family: arial, arial ce, helvetica; background-color: #00FFFF; }" << std::endl;
5281 htmlFile <<
" td.s9 { font-family: arial, arial ce, helvetica; background-color: #FFE4E1; }" << std::endl;
5282 htmlFile <<
" td.s10 { font-family: arial, arial ce, helvetica; background-color: #A0522D; }" << std::endl;
5283 htmlFile <<
" td.s11 { font-family: arial, arial ce, helvetica; background-color: #1E90FF; }" << std::endl;
5284 htmlFile <<
" td.s12 { font-family: arial, arial ce, helvetica; background-color: #00BFFF; }" << std::endl;
5285 htmlFile <<
" td.s13 { font-family: arial, arial ce, helvetica; background-color: #FFFF00; }" << std::endl;
5286 htmlFile <<
" td.s14 { font-family: arial, arial ce, helvetica; background-color: #B8860B; }" << std::endl;
5287 htmlFile <<
"</style>" << std::endl;
5288 htmlFile <<
"<body>" << std::endl;
5290 htmlFile <<
"<h1> HCAL BARREL, RUN = " <<
runnumber <<
" </h1>" << std::endl;
5292 htmlFile <<
"<h1> HCAL ENDCAP, RUN = " <<
runnumber <<
" </h1>" << std::endl;
5294 htmlFile <<
"<h1> HCAL OUTER, RUN = " <<
runnumber <<
" </h1>" << std::endl;
5296 htmlFile <<
"<h1> HCAL FORWARD, RUN = " <<
runnumber <<
" </h1>" << std::endl;
5297 htmlFile <<
"<br>" << std::endl;
5299 htmlFile <<
"<h2> 1. Analysis results for HB</h2>" << std::endl;
5301 htmlFile <<
"<h2> 1. Analysis results for HE</h2>" << std::endl;
5303 htmlFile <<
"<h2> 1. Analysis results for HO</h2>" << std::endl;
5305 htmlFile <<
"<h2> 1. Analysis results for HF</h2>" << std::endl;
5306 htmlFile <<
"<table width=\"600\">" << std::endl;
5307 htmlFile <<
"<tr>" << std::endl;
5310 htmlFile <<
" <td><a href=\"HB_Tile.html\">Megatile Channels</a></td>" << std::endl;
5311 htmlFile <<
" <td><a href=\"HB_Calib.html\">Calibration Channels</a></td>" << std::endl;
5312 htmlFile <<
" <td><a href=\"HB_Drift.html\">Gain Stability</a></td>" << std::endl;
5313 htmlFile <<
" <td><a href=\"HB_Pedestals.html\">Pedestals</a></td>" << std::endl;
5314 htmlFile <<
" <td><a href=\"HB_Shapes.html\">ADC Shapes</a></td>" << std::endl;
5325 htmlFile <<
" <td><a href=\"HE_Tile.html\">Megatile Channels</a></td>" << std::endl;
5326 htmlFile <<
" <td><a href=\"HE_Calib.html\">Calibration Channels</a></td>" << std::endl;
5327 htmlFile <<
" <td><a href=\"HE_Drift.html\">Gain Stability</a></td>" << std::endl;
5328 htmlFile <<
" <td><a href=\"HE_Pedestals.html\">Pedestals</a></td>" << std::endl;
5329 htmlFile <<
" <td><a href=\"HE_Shapes.html\">ADC Shapes</a></td>" << std::endl;
5330 htmlFile <<
" <td><a href=\"HE_IterationMethod.html\">Iteration Method</a></td>" << std::endl;
5349 htmlFile <<
" <td><a "
5350 "href=\"https://cms-cpt-software.web.cern.ch/cms-cpt-software/General/Validation/SVSuite/"
5351 "HcalRemoteMonitoring/RMT/LED_"
5352 <<
runnumber <<
"/HO_Tile.html\">Megatile Channels</a></td>" << std::endl;
5353 htmlFile <<
" <td><a "
5354 "href=\"https://cms-cpt-software.web.cern.ch/cms-cpt-software/General/Validation/SVSuite/"
5355 "HcalRemoteMonitoring/RMT/LED_"
5356 <<
runnumber <<
"/HO_Calib.html\">Calibration Channels</a></td>" << std::endl;
5357 htmlFile <<
" <td><a "
5358 "href=\"https://cms-cpt-software.web.cern.ch/cms-cpt-software/General/Validation/SVSuite/"
5359 "HcalRemoteMonitoring/RMT/LED_"
5360 <<
runnumber <<
"/HO_Drift.html\">Gain Stability</a></td>" << std::endl;
5361 htmlFile <<
" <td><a "
5362 "href=\"https://cms-cpt-software.web.cern.ch/cms-cpt-software/General/Validation/SVSuite/"
5363 "HcalRemoteMonitoring/RMT/LED_"
5364 <<
runnumber <<
"/HO_Pedestals.html\">Pedestals</a></td>" << std::endl;
5365 htmlFile <<
" <td><a "
5366 "href=\"https://cms-cpt-software.web.cern.ch/cms-cpt-software/General/Validation/SVSuite/"
5367 "HcalRemoteMonitoring/RMT/LED_"
5368 <<
runnumber <<
"/HO_Shapes.html\">ADC Shapes</a></td>" << std::endl;
5378 htmlFile <<
" <td><a "
5379 "href=\"https://cms-cpt-software.web.cern.ch/cms-cpt-software/General/Validation/SVSuite/"
5380 "HcalRemoteMonitoring/RMT/LED_"
5381 <<
runnumber <<
"/HF_Tile.html\">Megatile Channels</a></td>" << std::endl;
5382 htmlFile <<
" <td><a "
5383 "href=\"https://cms-cpt-software.web.cern.ch/cms-cpt-software/General/Validation/SVSuite/"
5384 "HcalRemoteMonitoring/RMT/LED_"
5385 <<
runnumber <<
"/HF_Calib.html\">Calibration Channels</a></td>" << std::endl;
5386 htmlFile <<
" <td><a "
5387 "href=\"https://cms-cpt-software.web.cern.ch/cms-cpt-software/General/Validation/SVSuite/"
5388 "HcalRemoteMonitoring/RMT/LED_"
5389 <<
runnumber <<
"/HF_Drift.html\">Gain Stability</a></td>" << std::endl;
5390 htmlFile <<
" <td><a "
5391 "href=\"https://cms-cpt-software.web.cern.ch/cms-cpt-software/General/Validation/SVSuite/"
5392 "HcalRemoteMonitoring/RMT/LED_"
5393 <<
runnumber <<
"/HF_Pedestals.html\">Pedestals</a></td>" << std::endl;
5394 htmlFile <<
" <td><a "
5395 "href=\"https://cms-cpt-software.web.cern.ch/cms-cpt-software/General/Validation/SVSuite/"
5396 "HcalRemoteMonitoring/RMT/LED_"
5397 <<
runnumber <<
"/HF_Shapes.html\">ADC Shapes</a></td>" << std::endl;
5400 htmlFile <<
"</tr>" << std::endl;
5401 htmlFile <<
"</table>" << std::endl;
5402 htmlFile <<
"<br>" << std::endl;
5404 htmlFile <<
"<h2> 2.Status HB over all criteria </h2>" << std::endl;
5406 htmlFile <<
"<h2> 2.Status HE over all criteria </h2>" << std::endl;
5408 htmlFile <<
"<h2> 2.Status HO over all criteria </h2>" << std::endl;
5410 htmlFile <<
"<h2> 2.Status HF over all criteria </h2>" << std::endl;
5411 htmlFile <<
"<h3> 2.A.Channel map for each Depth </h3>" << std::endl;
5412 htmlFile <<
"<h4> Channel legend: green - good, red - bad (rate of failures at least 0.1), yellow - at least 2% "
5413 "gain drift, white - not applicable or out of range </h4>"
5416 htmlFile <<
" <img src=\"MAPHB.png\" />" << std::endl;
5418 htmlFile <<
" <img src=\"MAPHE.png\" />" << std::endl;
5420 htmlFile <<
" <img src=\"MAPHO.png\" />" << std::endl;
5422 htmlFile <<
" <img src=\"MAPHF.png\" />" << std::endl;
5423 htmlFile <<
"<br>" << std::endl;
5425 htmlFile <<
"<h3> 2.B.List of Bad channels (rate > 0.1) and its rates for each RMT criteria (for GS - %) </h3>"
5428 htmlFile <<
" <td><a href=\"HELP.html\"> Description of criteria for bad channel selection</a></td>" << std::endl;
5431 htmlFile <<
"<table>" << std::endl;
5433 htmlFile <<
"<td class=\"s4\" align=\"center\">#</td>" << std::endl;
5434 htmlFile <<
"<td class=\"s1\" align=\"center\">ETA</td>" << std::endl;
5435 htmlFile <<
"<td class=\"s1\" align=\"center\">PHI</td>" << std::endl;
5436 htmlFile <<
"<td class=\"s1\" align=\"center\">DEPTH</td>" << std::endl;
5437 htmlFile <<
"<td class=\"s1\" align=\"center\">RBX</td>" << std::endl;
5438 htmlFile <<
"<td class=\"s1\" align=\"center\">RM</td>" << std::endl;
5439 htmlFile <<
"<td class=\"s1\" align=\"center\">PIXEL</td>" << std::endl;
5440 htmlFile <<
"<td class=\"s1\" align=\"center\">RM_FIBER</td>" << std::endl;
5441 htmlFile <<
"<td class=\"s1\" align=\"center\">FIBER_CH</td>" << std::endl;
5442 htmlFile <<
"<td class=\"s1\" align=\"center\">QIE</td>" << std::endl;
5443 htmlFile <<
"<td class=\"s1\" align=\"center\">ADC</td>" << std::endl;
5444 htmlFile <<
"<td class=\"s1\" align=\"center\">CRATE</td>" << std::endl;
5445 htmlFile <<
"<td class=\"s1\" align=\"center\">DCC</td>" << std::endl;
5446 htmlFile <<
"<td class=\"s1\" align=\"center\">SPIGOT</td>" << std::endl;
5447 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FIBER</td>" << std::endl;
5448 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_SLOT</td>" << std::endl;
5449 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FPGA</td>" << std::endl;
5450 htmlFile <<
"<td class=\"s5\" align=\"center\">Cm</td>" << std::endl;
5451 htmlFile <<
"<td class=\"s5\" align=\"center\">Am</td>" << std::endl;
5452 htmlFile <<
"<td class=\"s5\" align=\"center\">Wm</td>" << std::endl;
5453 htmlFile <<
"<td class=\"s5\" align=\"center\">Rm</td>" << std::endl;
5454 htmlFile <<
"<td class=\"s5\" align=\"center\">TNm</td>" << std::endl;
5455 htmlFile <<
"<td class=\"s5\" align=\"center\">TXm</td>" << std::endl;
5456 htmlFile <<
"<td class=\"s9\" align=\"center\">GS (%)</td>" << std::endl;
5457 htmlFile <<
"<td class=\"s4\" align=\"center\">Pm</td>" << std::endl;
5458 htmlFile <<
"<td class=\"s4\" align=\"center\">pWm</td>" << std::endl;
5459 htmlFile <<
"<td class=\"s8\" align=\"center\">Cc</td>" << std::endl;
5460 htmlFile <<
"<td class=\"s8\" align=\"center\">Ac</td>" << std::endl;
5461 htmlFile <<
"<td class=\"s8\" align=\"center\">Wc</td>" << std::endl;
5462 htmlFile <<
"<td class=\"s8\" align=\"center\">Rc</td>" << std::endl;
5463 htmlFile <<
"<td class=\"s8\" align=\"center\">TNc</td>" << std::endl;
5464 htmlFile <<
"<td class=\"s8\" align=\"center\">TXc</td>" << std::endl;
5466 htmlFile <<
"</tr>" << std::endl;
5468 for (
int i = 1;
i <= NBad;
i++) {
5469 if ((ind % 2) == 1) {
5470 raw_class =
"<td class=\"s2\" align=\"center\">";
5471 raw_class1 =
"<td class=\"s6\" align=\"center\">";
5472 raw_class2 =
"<td class=\"s11\" align=\"center\">";
5473 raw_class3 =
"<td class=\"s13\" align=\"center\">";
5476 raw_class =
"<td class=\"s3\" align=\"center\">";
5477 raw_class1 =
"<td class=\"s7\" align=\"center\">";
5478 raw_class2 =
"<td class=\"s12\" align=\"center\">";
5479 raw_class3 =
"<td class=\"s14\" align=\"center\">";
5483 if ((ce.
size() >= 1) && (Sub[2][
i] == sub)) {
5484 if (Sub[2][
i] == 1) {
5485 ce =
db.find(
"subdet",
"HB").find(
"Eta", Eta[2][
i]).find(
"Phi",
Phi[2][
i]).find(
"Depth",
Depth[2][
i]);
5486 if (ce.
size() == 0) {
5489 }
else if (ce.
size() > 1) {
5490 cout <<
"Warning: More than one line correspond to such HB, Eta=" << Eta[2][
i] <<
", Phi=" <<
Phi[2][
i]
5491 <<
", Depth=" <<
Depth[2][
i] <<
" in database" << endl;
5494 if (Sub[2][
i] == 2) {
5495 ce =
db.find(
"subdet",
"HE").find(
"Eta", Eta[2][
i]).find(
"Phi",
Phi[2][
i]).find(
"Depth",
Depth[2][
i]);
5496 if (ce.
size() == 0) {
5499 }
else if (ce.
size() > 1) {
5500 cout <<
"Warning: More than one line correspond to such HE, Eta=" << Eta[2][
i] <<
", Phi=" <<
Phi[2][
i]
5501 <<
", Depth=" <<
Depth[2][
i] <<
" in database" << endl;
5504 if (Sub[2][
i] == 3) {
5505 ce =
db.find(
"subdet",
"HO").find(
"Eta", Eta[2][
i]).find(
"Phi",
Phi[2][
i]).find(
"Depth",
Depth[2][
i]);
5506 if (ce.
size() == 0) {
5509 }
else if (ce.
size() > 1) {
5510 cout <<
"Warning: More than one line correspond to such HO, Eta=" << Eta[2][
i] <<
", Phi=" <<
Phi[2][
i]
5511 <<
", Depth=" <<
Depth[2][
i] <<
" in database" << endl;
5514 if (Sub[2][
i] == 4) {
5515 ce =
db.find(
"subdet",
"HF").find(
"Eta", Eta[2][
i]).find(
"Phi",
Phi[2][
i]).find(
"Depth",
Depth[2][
i]);
5516 if (ce.
size() == 0) {
5519 }
else if (ce.
size() > 1) {
5520 cout <<
"Warning: More than one line correspond to such HF, Eta=" << Eta[2][
i] <<
", Phi=" <<
Phi[2][
i]
5521 <<
", Depth=" <<
Depth[2][
i] <<
" in database" << endl;
5524 htmlFile <<
"<tr>" << std::endl;
5525 htmlFile <<
"<td class=\"s4\" align=\"center\">" << ind + 1 <<
"</td>" << std::endl;
5526 htmlFile << raw_class << Eta[2][
i] <<
"</td>" << std::endl;
5527 htmlFile << raw_class <<
Phi[2][
i] <<
"</td>" << std::endl;
5528 htmlFile << raw_class <<
Depth[2][
i] <<
"</td>" << std::endl;
5529 htmlFile << raw_class << ce[0].RBX <<
"</td>" << std::endl;
5530 htmlFile << raw_class << ce[0].RM <<
"</td>" << std::endl;
5531 htmlFile << raw_class << ce[0].Pixel <<
"</td>" << std::endl;
5532 htmlFile << raw_class << ce[0].RMfiber <<
"</td>" << std::endl;
5533 htmlFile << raw_class << ce[0].FiberCh <<
"</td>" << std::endl;
5534 htmlFile << raw_class << ce[0].QIE <<
"</td>" << std::endl;
5535 htmlFile << raw_class << ce[0].ADC <<
"</td>" << std::endl;
5536 htmlFile << raw_class << ce[0].VMECardID <<
"</td>" << std::endl;
5537 htmlFile << raw_class << ce[0].dccID <<
"</td>" << std::endl;
5538 htmlFile << raw_class << ce[0].Spigot <<
"</td>" << std::endl;
5539 htmlFile << raw_class << ce[0].FiberIndex <<
"</td>" << std::endl;
5540 htmlFile << raw_class << ce[0].HtrSlot <<
"</td>" << std::endl;
5541 htmlFile << raw_class << ce[0].HtrTB <<
"</td>" << std::endl;
5542 htmlFile << raw_class1 << Map_Ampl[1][Sub[2][
i]][
Depth[2][
i]]->GetBinContent(Eta[2][
i] + 41,
Phi[2][
i] + 1)
5543 <<
"</td>" << std::endl;
5544 htmlFile << raw_class1 << Map_Ampl[2][Sub[2][
i]][
Depth[2][
i]]->GetBinContent(Eta[2][
i] + 41,
Phi[2][
i] + 1)
5545 <<
"</td>" << std::endl;
5546 htmlFile << raw_class1 << Map_Ampl[3][Sub[2][
i]][
Depth[2][
i]]->GetBinContent(Eta[2][
i] + 41,
Phi[2][
i] + 1)
5547 <<
"</td>" << std::endl;
5548 htmlFile << raw_class1 << Map_Ampl[4][Sub[2][
i]][
Depth[2][
i]]->GetBinContent(Eta[2][
i] + 41,
Phi[2][
i] + 1)
5549 <<
"</td>" << std::endl;
5550 htmlFile << raw_class1 << Map_Ampl[5][Sub[2][
i]][
Depth[2][
i]]->GetBinContent(Eta[2][
i] + 41,
Phi[2][
i] + 1)
5551 <<
"</td>" << std::endl;
5552 htmlFile << raw_class1 << Map_Ampl[6][Sub[2][
i]][
Depth[2][
i]]->GetBinContent(Eta[2][
i] + 41,
Phi[2][
i] + 1)
5553 <<
"</td>" << std::endl;
5554 htmlFile << raw_class3 << Map_Ampl[21][Sub[2][
i]][
Depth[2][
i]]->GetBinContent(Eta[2][
i] + 41,
Phi[2][
i] + 1)
5555 <<
"</td>" << std::endl;
5556 htmlFile << raw_class << Map_Ampl[31][Sub[2][
i]][
Depth[2][
i]]->GetBinContent(Eta[2][
i] + 41,
Phi[2][
i] + 1)
5557 <<
"</td>" << std::endl;
5558 htmlFile << raw_class << Map_Ampl[32][Sub[2][
i]][
Depth[2][
i]]->GetBinContent(Eta[2][
i] + 41,
Phi[2][
i] + 1)
5559 <<
"</td>" << std::endl;
5560 htmlFile << raw_class2 << Map_Ampl[11][Sub[2][
i]][
Depth[2][
i]]->GetBinContent(Eta[2][
i] + 41,
Phi[2][
i] + 1)
5561 <<
"</td>" << std::endl;
5562 htmlFile << raw_class2 << Map_Ampl[12][Sub[2][
i]][
Depth[2][
i]]->GetBinContent(Eta[2][
i] + 41,
Phi[2][
i] + 1)
5563 <<
"</td>" << std::endl;
5564 htmlFile << raw_class2 << Map_Ampl[13][Sub[2][
i]][
Depth[2][
i]]->GetBinContent(Eta[2][
i] + 41,
Phi[2][
i] + 1)
5565 <<
"</td>" << std::endl;
5566 htmlFile << raw_class2 << Map_Ampl[14][Sub[2][
i]][
Depth[2][
i]]->GetBinContent(Eta[2][
i] + 41,
Phi[2][
i] + 1)
5567 <<
"</td>" << std::endl;
5568 htmlFile << raw_class2 << Map_Ampl[15][Sub[2][
i]][
Depth[2][
i]]->GetBinContent(Eta[2][
i] + 41,
Phi[2][
i] + 1)
5569 <<
"</td>" << std::endl;
5570 htmlFile << raw_class2 << Map_Ampl[16][Sub[2][
i]][
Depth[2][
i]]->GetBinContent(Eta[2][
i] + 41,
Phi[2][
i] + 1)
5571 <<
"</td>" << std::endl;
5572 htmlFile <<
"</tr>" << std::endl;
5577 htmlFile <<
"</table>" << std::endl;
5578 htmlFile <<
"<br>" << std::endl;
5580 htmlFile <<
"<h3> 2.C.List of Gain unstable channels and its value in % (for other criterias - rate)</h3>"
5582 htmlFile <<
"<table>" << std::endl;
5584 htmlFile <<
"<td class=\"s4\" align=\"center\">#</td>" << std::endl;
5585 htmlFile <<
"<td class=\"s1\" align=\"center\">ETA</td>" << std::endl;
5586 htmlFile <<
"<td class=\"s1\" align=\"center\">PHI</td>" << std::endl;
5587 htmlFile <<
"<td class=\"s1\" align=\"center\">DEPTH</td>" << std::endl;
5588 htmlFile <<
"<td class=\"s1\" align=\"center\">RBX</td>" << std::endl;
5589 htmlFile <<
"<td class=\"s1\" align=\"center\">RM</td>" << std::endl;
5590 htmlFile <<
"<td class=\"s1\" align=\"center\">PIXEL</td>" << std::endl;
5591 htmlFile <<
"<td class=\"s1\" align=\"center\">RM_FIBER</td>" << std::endl;
5592 htmlFile <<
"<td class=\"s1\" align=\"center\">FIBER_CH</td>" << std::endl;
5593 htmlFile <<
"<td class=\"s1\" align=\"center\">QIE</td>" << std::endl;
5594 htmlFile <<
"<td class=\"s1\" align=\"center\">ADC</td>" << std::endl;
5595 htmlFile <<
"<td class=\"s1\" align=\"center\">CRATE</td>" << std::endl;
5596 htmlFile <<
"<td class=\"s1\" align=\"center\">DCC</td>" << std::endl;
5597 htmlFile <<
"<td class=\"s1\" align=\"center\">SPIGOT</td>" << std::endl;
5598 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FIBER</td>" << std::endl;
5599 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_SLOT</td>" << std::endl;
5600 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FPGA</td>" << std::endl;
5601 htmlFile <<
"<td class=\"s5\" align=\"center\">Cm</td>" << std::endl;
5602 htmlFile <<
"<td class=\"s5\" align=\"center\">Am</td>" << std::endl;
5603 htmlFile <<
"<td class=\"s5\" align=\"center\">Wm</td>" << std::endl;
5604 htmlFile <<
"<td class=\"s5\" align=\"center\">Rm</td>" << std::endl;
5605 htmlFile <<
"<td class=\"s5\" align=\"center\">TNm</td>" << std::endl;
5606 htmlFile <<
"<td class=\"s5\" align=\"center\">TXm</td>" << std::endl;
5607 htmlFile <<
"<td class=\"s9\" align=\"center\">GS(%)</td>" << std::endl;
5608 htmlFile <<
"<td class=\"s4\" align=\"center\">Pm</td>" << std::endl;
5609 htmlFile <<
"<td class=\"s4\" align=\"center\">pWm</td>" << std::endl;
5610 htmlFile <<
"<td class=\"s8\" align=\"center\">Cc</td>" << std::endl;
5611 htmlFile <<
"<td class=\"s8\" align=\"center\">Ac</td>" << std::endl;
5612 htmlFile <<
"<td class=\"s8\" align=\"center\">Wc</td>" << std::endl;
5613 htmlFile <<
"<td class=\"s8\" align=\"center\">Rc</td>" << std::endl;
5614 htmlFile <<
"<td class=\"s8\" align=\"center\">TNc</td>" << std::endl;
5615 htmlFile <<
"<td class=\"s8\" align=\"center\">TXc</td>" << std::endl;
5616 htmlFile <<
"</tr>" << std::endl;
5618 for (
int i = 1;
i <= NWarn;
i++) {
5619 if ((ind % 2) == 1) {
5620 raw_class =
"<td class=\"s2\" align=\"center\">";
5621 raw_class1 =
"<td class=\"s6\" align=\"center\">";
5622 raw_class2 =
"<td class=\"s11\" align=\"center\">";
5623 raw_class3 =
"<td class=\"s13\" align=\"center\">";
5626 raw_class =
"<td class=\"s3\" align=\"center\">";
5627 raw_class1 =
"<td class=\"s7\" align=\"center\">";
5628 raw_class2 =
"<td class=\"s12\" align=\"center\">";
5629 raw_class3 =
"<td class=\"s14\" align=\"center\">";
5633 if ((ce.
size() >= 1) && (Sub[1][
i] == sub)) {
5634 if (Sub[1][
i] == 1) {
5635 ce =
db.find(
"subdet",
"HB").find(
"Eta", Eta[1][
i]).find(
"Phi",
Phi[1][
i]).find(
"Depth",
Depth[1][
i]);
5636 if (ce.
size() == 0) {
5639 }
else if (ce.
size() > 1) {
5640 cout <<
"Warning: More than one line correspond to such HB, Eta=" << Eta[1][
i] <<
", Phi=" <<
Phi[1][
i]
5641 <<
", Depth=" <<
Depth[1][
i] <<
" in database" << endl;
5644 if (Sub[1][
i] == 2) {
5645 ce =
db.find(
"subdet",
"HE").find(
"Eta", Eta[1][
i]).find(
"Phi",
Phi[1][
i]).find(
"Depth",
Depth[1][
i]);
5646 if (ce.
size() == 0) {
5649 }
else if (ce.
size() > 1) {
5650 cout <<
"Warning: More than one line correspond to such HE, Eta=" << Eta[1][
i] <<
", Phi=" <<
Phi[1][
i]
5651 <<
", Depth=" <<
Depth[1][
i] <<
" in database" << endl;
5654 if (Sub[1][
i] == 3) {
5655 ce =
db.find(
"subdet",
"HO").find(
"Eta", Eta[1][
i]).find(
"Phi",
Phi[1][
i]).find(
"Depth",
Depth[1][
i]);
5656 if (ce.
size() == 0) {
5659 }
else if (ce.
size() > 1) {
5660 cout <<
"Warning: More than one line correspond to such HO, Eta=" << Eta[1][
i] <<
", Phi=" <<
Phi[1][
i]
5661 <<
", Depth=" <<
Depth[1][
i] <<
" in database" << endl;
5664 if (Sub[1][
i] == 4) {
5665 ce =
db.find(
"subdet",
"HF").find(
"Eta", Eta[1][
i]).find(
"Phi",
Phi[1][
i]).find(
"Depth",
Depth[1][
i]);
5666 if (ce.
size() == 0) {
5669 }
else if (ce.
size() > 1) {
5670 cout <<
"Warning: More than one line correspond to such HF, Eta=" << Eta[1][
i] <<
", Phi=" <<
Phi[1][
i]
5671 <<
", Depth=" <<
Depth[1][
i] <<
" in database" << endl;
5674 htmlFile <<
"<td class=\"s4\" align=\"center\">" << ind + 1 <<
"</td>" << std::endl;
5675 htmlFile << raw_class << Eta[1][
i] <<
"</td>" << std::endl;
5676 htmlFile << raw_class <<
Phi[1][
i] <<
"</td>" << std::endl;
5677 htmlFile << raw_class <<
Depth[1][
i] <<
"</td>" << std::endl;
5678 htmlFile << raw_class << ce[0].RBX <<
"</td>" << std::endl;
5679 htmlFile << raw_class << ce[0].RM <<
"</td>" << std::endl;
5680 htmlFile << raw_class << ce[0].Pixel <<
"</td>" << std::endl;
5681 htmlFile << raw_class << ce[0].RMfiber <<
"</td>" << std::endl;
5682 htmlFile << raw_class << ce[0].FiberCh <<
"</td>" << std::endl;
5683 htmlFile << raw_class << ce[0].QIE <<
"</td>" << std::endl;
5684 htmlFile << raw_class << ce[0].ADC <<
"</td>" << std::endl;
5685 htmlFile << raw_class << ce[0].VMECardID <<
"</td>" << std::endl;
5686 htmlFile << raw_class << ce[0].dccID <<
"</td>" << std::endl;
5687 htmlFile << raw_class << ce[0].Spigot <<
"</td>" << std::endl;
5688 htmlFile << raw_class << ce[0].FiberIndex <<
"</td>" << std::endl;
5689 htmlFile << raw_class << ce[0].HtrSlot <<
"</td>" << std::endl;
5690 htmlFile << raw_class << ce[0].HtrTB <<
"</td>" << std::endl;
5691 htmlFile << raw_class1 << Map_Ampl[1][Sub[1][
i]][
Depth[1][
i]]->GetBinContent(Eta[1][
i] + 41,
Phi[1][
i] + 1)
5692 <<
"</td>" << std::endl;
5693 htmlFile << raw_class1 << Map_Ampl[2][Sub[1][
i]][
Depth[1][
i]]->GetBinContent(Eta[1][
i] + 41,
Phi[1][
i] + 1)
5694 <<
"</td>" << std::endl;
5695 htmlFile << raw_class1 << Map_Ampl[3][Sub[1][
i]][
Depth[1][
i]]->GetBinContent(Eta[1][
i] + 41,
Phi[1][
i] + 1)
5696 <<
"</td>" << std::endl;
5697 htmlFile << raw_class1 << Map_Ampl[4][Sub[1][
i]][
Depth[1][
i]]->GetBinContent(Eta[1][
i] + 41,
Phi[1][
i] + 1)
5698 <<
"</td>" << std::endl;
5699 htmlFile << raw_class1 << Map_Ampl[5][Sub[1][
i]][
Depth[1][
i]]->GetBinContent(Eta[1][
i] + 41,
Phi[1][
i] + 1)
5700 <<
"</td>" << std::endl;
5701 htmlFile << raw_class1 << Map_Ampl[6][Sub[1][
i]][
Depth[1][
i]]->GetBinContent(Eta[1][
i] + 41,
Phi[1][
i] + 1)
5702 <<
"</td>" << std::endl;
5703 htmlFile << raw_class3 << Map_Ampl[21][Sub[1][
i]][
Depth[1][
i]]->GetBinContent(Eta[1][
i] + 41,
Phi[1][
i] + 1)
5704 <<
"</td>" << std::endl;
5705 htmlFile << raw_class << Map_Ampl[31][Sub[1][
i]][
Depth[1][
i]]->GetBinContent(Eta[1][
i] + 41,
Phi[1][
i] + 1)
5706 <<
"</td>" << std::endl;
5707 htmlFile << raw_class << Map_Ampl[32][Sub[1][
i]][
Depth[1][
i]]->GetBinContent(Eta[1][
i] + 41,
Phi[1][
i] + 1)
5708 <<
"</td>" << std::endl;
5709 htmlFile << raw_class2 << Map_Ampl[11][Sub[1][
i]][
Depth[1][
i]]->GetBinContent(Eta[1][
i] + 41,
Phi[1][
i] + 1)
5710 <<
"</td>" << std::endl;
5711 htmlFile << raw_class2 << Map_Ampl[12][Sub[1][
i]][
Depth[1][
i]]->GetBinContent(Eta[1][
i] + 41,
Phi[1][
i] + 1)
5712 <<
"</td>" << std::endl;
5713 htmlFile << raw_class2 << Map_Ampl[13][Sub[1][
i]][
Depth[1][
i]]->GetBinContent(Eta[1][
i] + 41,
Phi[1][
i] + 1)
5714 <<
"</td>" << std::endl;
5715 htmlFile << raw_class2 << Map_Ampl[14][Sub[1][
i]][
Depth[1][
i]]->GetBinContent(Eta[1][
i] + 41,
Phi[1][
i] + 1)
5716 <<
"</td>" << std::endl;
5717 htmlFile << raw_class2 << Map_Ampl[15][Sub[1][
i]][
Depth[1][
i]]->GetBinContent(Eta[1][
i] + 41,
Phi[1][
i] + 1)
5718 <<
"</td>" << std::endl;
5719 htmlFile << raw_class2 << Map_Ampl[16][Sub[1][
i]][
Depth[1][
i]]->GetBinContent(Eta[1][
i] + 41,
Phi[1][
i] + 1)
5720 <<
"</td>" << std::endl;
5721 htmlFile <<
"</tr>" << std::endl;
5722 htmlFile <<
"</tr>" << std::endl;
5726 htmlFile <<
"</table>" << std::endl;
5727 htmlFile <<
"<br>" << std::endl;
5729 htmlFile <<
"<h3> 2.D.List of channels with Bad Pedestals (rate > 0.1) and its rates (for GS - %)</h3>"
5731 htmlFile <<
"<table>" << std::endl;
5733 htmlFile <<
"<td class=\"s4\" align=\"center\">#</td>" << std::endl;
5734 htmlFile <<
"<td class=\"s1\" align=\"center\">ETA</td>" << std::endl;
5735 htmlFile <<
"<td class=\"s1\" align=\"center\">PHI</td>" << std::endl;
5736 htmlFile <<
"<td class=\"s1\" align=\"center\">DEPTH</td>" << std::endl;
5737 htmlFile <<
"<td class=\"s1\" align=\"center\">RBX</td>" << std::endl;
5738 htmlFile <<
"<td class=\"s1\" align=\"center\">RM</td>" << std::endl;
5739 htmlFile <<
"<td class=\"s1\" align=\"center\">PIXEL</td>" << std::endl;
5740 htmlFile <<
"<td class=\"s1\" align=\"center\">RM_FIBER</td>" << std::endl;
5741 htmlFile <<
"<td class=\"s1\" align=\"center\">FIBER_CH</td>" << std::endl;
5742 htmlFile <<
"<td class=\"s1\" align=\"center\">QIE</td>" << std::endl;
5743 htmlFile <<
"<td class=\"s1\" align=\"center\">ADC</td>" << std::endl;
5744 htmlFile <<
"<td class=\"s1\" align=\"center\">CRATE</td>" << std::endl;
5745 htmlFile <<
"<td class=\"s1\" align=\"center\">DCC</td>" << std::endl;
5746 htmlFile <<
"<td class=\"s1\" align=\"center\">SPIGOT</td>" << std::endl;
5747 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FIBER</td>" << std::endl;
5748 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_SLOT</td>" << std::endl;
5749 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FPGA</td>" << std::endl;
5750 htmlFile <<
"<td class=\"s5\" align=\"center\">Cm</td>" << std::endl;
5751 htmlFile <<
"<td class=\"s5\" align=\"center\">Am</td>" << std::endl;
5752 htmlFile <<
"<td class=\"s5\" align=\"center\">Wm</td>" << std::endl;
5753 htmlFile <<
"<td class=\"s5\" align=\"center\">Rm</td>" << std::endl;
5754 htmlFile <<
"<td class=\"s5\" align=\"center\">TNm</td>" << std::endl;
5755 htmlFile <<
"<td class=\"s5\" align=\"center\">TXm</td>" << std::endl;
5756 htmlFile <<
"<td class=\"s9\" align=\"center\">GS(%)</td>" << std::endl;
5757 htmlFile <<
"<td class=\"s4\" align=\"center\">Pm</td>" << std::endl;
5758 htmlFile <<
"<td class=\"s4\" align=\"center\">pWm</td>" << std::endl;
5759 htmlFile <<
"<td class=\"s8\" align=\"center\">Cc</td>" << std::endl;
5760 htmlFile <<
"<td class=\"s8\" align=\"center\">Ac</td>" << std::endl;
5761 htmlFile <<
"<td class=\"s8\" align=\"center\">Wc</td>" << std::endl;
5762 htmlFile <<
"<td class=\"s8\" align=\"center\">Rc</td>" << std::endl;
5763 htmlFile <<
"<td class=\"s8\" align=\"center\">TNc</td>" << std::endl;
5764 htmlFile <<
"<td class=\"s8\" align=\"center\">TXc</td>" << std::endl;
5765 htmlFile <<
"</tr>" << std::endl;
5767 for (
int i = 1;
i <= NPed;
i++) {
5768 if ((ind % 2) == 1) {
5769 raw_class =
"<td class=\"s2\" align=\"center\">";
5770 raw_class1 =
"<td class=\"s6\" align=\"center\">";
5771 raw_class2 =
"<td class=\"s11\" align=\"center\">";
5772 raw_class3 =
"<td class=\"s13\" align=\"center\">";
5775 raw_class =
"<td class=\"s3\" align=\"center\">";
5776 raw_class1 =
"<td class=\"s7\" align=\"center\">";
5777 raw_class2 =
"<td class=\"s12\" align=\"center\">";
5778 raw_class3 =
"<td class=\"s14\" align=\"center\">";
5782 if ((ce.
size() >= 1) && (Sub[3][
i] == sub)) {
5783 if (Sub[3][
i] == 1) {
5784 ce =
db.find(
"subdet",
"HB").find(
"Eta", Eta[3][
i]).find(
"Phi",
Phi[3][
i]).find(
"Depth",
Depth[3][
i]);
5785 if (ce.
size() == 0) {
5788 }
else if (ce.
size() > 1) {
5789 cout <<
"Warning: More than one line correspond to such HB, Eta=" << Eta[3][
i] <<
", Phi=" <<
Phi[3][
i]
5790 <<
", Depth=" <<
Depth[3][
i] <<
" in database" << endl;
5793 if (Sub[3][
i] == 2) {
5794 ce =
db.find(
"subdet",
"HE").find(
"Eta", Eta[3][
i]).find(
"Phi",
Phi[3][
i]).find(
"Depth",
Depth[3][
i]);
5795 if (ce.
size() == 0) {
5798 }
else if (ce.
size() > 1) {
5799 cout <<
"Warning: More than one line correspond to such HE, Eta=" << Eta[3][
i] <<
", Phi=" <<
Phi[3][
i]
5800 <<
", Depth=" <<
Depth[3][
i] <<
" in database" << endl;
5803 if (Sub[3][
i] == 3) {
5804 ce =
db.find(
"subdet",
"HO").find(
"Eta", Eta[3][
i]).find(
"Phi",
Phi[3][
i]).find(
"Depth",
Depth[3][
i]);
5805 if (ce.
size() == 0) {
5808 }
else if (ce.
size() > 1) {
5809 cout <<
"Warning: More than one line correspond to such HO, Eta=" << Eta[3][
i] <<
", Phi=" <<
Phi[3][
i]
5810 <<
", Depth=" <<
Depth[3][
i] <<
" in database" << endl;
5813 if (Sub[3][
i] == 4) {
5814 ce =
db.find(
"subdet",
"HF").find(
"Eta", Eta[3][
i]).find(
"Phi",
Phi[3][
i]).find(
"Depth",
Depth[3][
i]);
5815 if (ce.
size() == 0) {
5818 }
else if (ce.
size() > 1) {
5819 cout <<
"Warning: More than one line correspond to such HF, Eta=" << Eta[3][
i] <<
", Phi=" <<
Phi[3][
i]
5820 <<
", Depth=" <<
Depth[3][
i] <<
" in database" << endl;
5823 htmlFile <<
"<td class=\"s4\" align=\"center\">" << ind + 1 <<
"</td>" << std::endl;
5824 htmlFile << raw_class << Eta[3][
i] <<
"</td>" << std::endl;
5825 htmlFile << raw_class <<
Phi[3][
i] <<
"</td>" << std::endl;
5826 htmlFile << raw_class <<
Depth[3][
i] <<
"</td>" << std::endl;
5827 htmlFile << raw_class << ce[0].RBX <<
"</td>" << std::endl;
5828 htmlFile << raw_class << ce[0].RM <<
"</td>" << std::endl;
5829 htmlFile << raw_class << ce[0].Pixel <<
"</td>" << std::endl;
5830 htmlFile << raw_class << ce[0].RMfiber <<
"</td>" << std::endl;
5831 htmlFile << raw_class << ce[0].FiberCh <<
"</td>" << std::endl;
5832 htmlFile << raw_class << ce[0].QIE <<
"</td>" << std::endl;
5833 htmlFile << raw_class << ce[0].ADC <<
"</td>" << std::endl;
5834 htmlFile << raw_class << ce[0].VMECardID <<
"</td>" << std::endl;
5835 htmlFile << raw_class << ce[0].dccID <<
"</td>" << std::endl;
5836 htmlFile << raw_class << ce[0].Spigot <<
"</td>" << std::endl;
5837 htmlFile << raw_class << ce[0].FiberIndex <<
"</td>" << std::endl;
5838 htmlFile << raw_class << ce[0].HtrSlot <<
"</td>" << std::endl;
5839 htmlFile << raw_class << ce[0].HtrTB <<
"</td>" << std::endl;
5840 htmlFile << raw_class1 << Map_Ampl[1][Sub[3][
i]][
Depth[3][
i]]->GetBinContent(Eta[3][
i] + 41,
Phi[3][
i] + 1)
5841 <<
"</td>" << std::endl;
5842 htmlFile << raw_class1 << Map_Ampl[2][Sub[3][
i]][
Depth[3][
i]]->GetBinContent(Eta[3][
i] + 41,
Phi[3][
i] + 1)
5843 <<
"</td>" << std::endl;
5844 htmlFile << raw_class1 << Map_Ampl[3][Sub[3][
i]][
Depth[3][
i]]->GetBinContent(Eta[3][
i] + 41,
Phi[3][
i] + 1)
5845 <<
"</td>" << std::endl;
5846 htmlFile << raw_class1 << Map_Ampl[4][Sub[3][
i]][
Depth[3][
i]]->GetBinContent(Eta[3][
i] + 41,
Phi[3][
i] + 1)
5847 <<
"</td>" << std::endl;
5848 htmlFile << raw_class1 << Map_Ampl[5][Sub[3][
i]][
Depth[3][
i]]->GetBinContent(Eta[3][
i] + 41,
Phi[3][
i] + 1)
5849 <<
"</td>" << std::endl;
5850 htmlFile << raw_class1 << Map_Ampl[6][Sub[3][
i]][
Depth[3][
i]]->GetBinContent(Eta[3][
i] + 41,
Phi[3][
i] + 1)
5851 <<
"</td>" << std::endl;
5852 htmlFile << raw_class3 << Map_Ampl[21][Sub[3][
i]][
Depth[3][
i]]->GetBinContent(Eta[3][
i] + 41,
Phi[3][
i] + 1)
5853 <<
"</td>" << std::endl;
5854 htmlFile << raw_class << Map_Ampl[31][Sub[3][
i]][
Depth[3][
i]]->GetBinContent(Eta[3][
i] + 41,
Phi[3][
i] + 1)
5855 <<
"</td>" << std::endl;
5856 htmlFile << raw_class << Map_Ampl[32][Sub[3][
i]][
Depth[3][
i]]->GetBinContent(Eta[3][
i] + 41,
Phi[3][
i] + 1)
5857 <<
"</td>" << std::endl;
5858 htmlFile << raw_class2 << Map_Ampl[11][Sub[3][
i]][
Depth[3][
i]]->GetBinContent(Eta[3][
i] + 41,
Phi[3][
i] + 1)
5859 <<
"</td>" << std::endl;
5860 htmlFile << raw_class2 << Map_Ampl[12][Sub[3][
i]][
Depth[3][
i]]->GetBinContent(Eta[3][
i] + 41,
Phi[3][
i] + 1)
5861 <<
"</td>" << std::endl;
5862 htmlFile << raw_class2 << Map_Ampl[13][Sub[3][
i]][
Depth[3][
i]]->GetBinContent(Eta[3][
i] + 41,
Phi[3][
i] + 1)
5863 <<
"</td>" << std::endl;
5864 htmlFile << raw_class2 << Map_Ampl[14][Sub[3][
i]][
Depth[3][
i]]->GetBinContent(Eta[3][
i] + 41,
Phi[3][
i] + 1)
5865 <<
"</td>" << std::endl;
5866 htmlFile << raw_class2 << Map_Ampl[15][Sub[3][
i]][
Depth[3][
i]]->GetBinContent(Eta[3][
i] + 41,
Phi[3][
i] + 1)
5867 <<
"</td>" << std::endl;
5868 htmlFile << raw_class2 << Map_Ampl[16][Sub[3][
i]][
Depth[3][
i]]->GetBinContent(Eta[3][
i] + 41,
Phi[3][
i] + 1)
5869 <<
"</td>" << std::endl;
5870 htmlFile <<
"</tr>" << std::endl;
5871 htmlFile <<
"</tr>" << std::endl;
5875 htmlFile <<
"</table>" << std::endl;
5877 htmlFile <<
"</body> " << std::endl;
5878 htmlFile <<
"</html> " << std::endl;
5885 std::cout <<
"************ Start creating description HELP html file:" << std::endl;
5889 htmlFile.open(
"HELP.html");
5890 htmlFile <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
5891 htmlFile <<
"<head>" << std::endl;
5892 htmlFile <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
5893 htmlFile <<
"<title> Remote Monitoring Tool </title>" << std::endl;
5894 htmlFile <<
"<style type=\"text/css\">" << std::endl;
5895 htmlFile <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
5897 htmlFile <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
5898 htmlFile <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
5899 "text-align: center;}"
5901 htmlFile <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
5902 htmlFile <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
5903 htmlFile <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
5904 htmlFile <<
"</style>" << std::endl;
5905 htmlFile <<
"<body>" << std::endl;
5906 htmlFile <<
"<h1> Description of Remote Monitoring Tool criteria for bad channel selection</h1>" << std::endl;
5907 htmlFile <<
"<br>" << std::endl;
5908 htmlFile <<
"<h3> - C means CAPID Errors assuming we inspect CAPID non-rotation,error & validation bits, and for "
5909 "this criterion - no need to apply any cuts to select bcs.</h3> "
5911 htmlFile <<
"<br>" << std::endl;
5912 htmlFile <<
"<h3> - A means full amplitude, collected over all time slices </h3> " << std::endl;
5913 htmlFile <<
"<h3> - R means ratio criterion where we define as a bad, the channels, for which the signal portion in "
5914 "4 middle TSs(plus one, minus two around TS with maximal amplitude) is out of some range of reasonable "
5917 htmlFile <<
"<br>" << std::endl;
5918 htmlFile <<
"<h3> - W means width of shape distribution. Width is defined as square root from dispersion. </h3> "
5920 htmlFile <<
"<br>" << std::endl;
5921 htmlFile <<
"<h3> - TN means mean time position of adc signal. </h3> " << std::endl;
5922 htmlFile <<
"<br>" << std::endl;
5923 htmlFile <<
"<h3> - TX means TS number of maximum signal </h3> " << std::endl;
5924 htmlFile <<
"<br>" << std::endl;
5925 htmlFile <<
"<h3> - m means megatile channels. For example Am means Amplitude criteria for megatile channels </h3> "
5927 htmlFile <<
"<br>" << std::endl;
5929 <<
"<h3> - c means calibration channels. For example Ac means Amplitude criteria for calibration channels </h3> "
5931 htmlFile <<
"<br>" << std::endl;
5932 htmlFile <<
"<h3> - Pm means Pedestals. </h3> " << std::endl;
5933 htmlFile <<
"<br>" << std::endl;
5934 htmlFile <<
"<h3> - pWm means pedestal Width. </h3> " << std::endl;
5935 htmlFile <<
"<br>" << std::endl;
5936 htmlFile <<
"</body> " << std::endl;
5937 htmlFile <<
"</html> " << std::endl;
5943 std::cout <<
"************ Start creating MAP html file: - rather long time needed, waiting please" << std::endl;
5946 htmlFile.open(
"MAP.html");
5947 htmlFile <<
"</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
5948 htmlFile <<
"<head>" << std::endl;
5949 htmlFile <<
"<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
5950 htmlFile <<
"<title> Remote Monitoring Tool </title>" << std::endl;
5951 htmlFile <<
"<style type=\"text/css\">" << std::endl;
5952 htmlFile <<
" body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
5954 htmlFile <<
" td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
5955 htmlFile <<
" td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
5956 "text-align: center;}"
5958 htmlFile <<
" td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
5959 htmlFile <<
" td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
5960 htmlFile <<
" td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
5961 htmlFile <<
" td.s5 { font-family: arial, arial ce, helvetica; background-color: #FF00FF; }" << std::endl;
5962 htmlFile <<
" td.s6 { font-family: arial, arial ce, helvetica; background-color: #9ACD32; }" << std::endl;
5963 htmlFile <<
" td.s7 { font-family: arial, arial ce, helvetica; background-color: #32CD32; }" << std::endl;
5964 htmlFile <<
"</style>" << std::endl;
5965 htmlFile <<
"<body>" << std::endl;
5967 htmlFile <<
"<h1> Remote Monitoring Tool, LED RUN = " <<
runnumber <<
". </h1>" << std::endl;
5968 htmlFile <<
"<br>" << std::endl;
5970 htmlFile <<
"<h2> 1. Analysis results for subdetectors </h2>" << std::endl;
5971 htmlFile <<
"<table width=\"400\">" << std::endl;
5972 htmlFile <<
"<tr>" << std::endl;
5974 htmlFile <<
" <td><a href=\"HB.html\">HB</a></td>" << std::endl;
5975 htmlFile <<
" <td><a href=\"HE.html\">HE</a></td>" << std::endl;
5976 htmlFile <<
" <td><a href=\"HO.html\">HO</a></td>" << std::endl;
5977 htmlFile <<
" <td><a href=\"HF.html\">HF</a></td>" << std::endl;
5985 htmlFile <<
"</tr>" << std::endl;
5986 htmlFile <<
"</table>" << std::endl;
5987 htmlFile <<
"<br>" << std::endl;
5989 htmlFile <<
"<h2> 2. Amplitude summed over all sub-detector channels vs first 1000 events of this Run </h2>"
5991 htmlFile <<
"<h3> 2.A. Total subdetector Amplitude vs iEvent </h3>" << std::endl;
5992 htmlFile <<
" <img src=\"EVENTDEPENDENCE.png\" />" << std::endl;
5993 htmlFile <<
"<br>" << std::endl;
5994 htmlFile <<
"<br>" << std::endl;
5995 htmlFile <<
"<br>" << std::endl;
5997 htmlFile <<
"<h2> 3. HCAL status over all criteria and subdetectors </h2>" << std::endl;
5998 htmlFile <<
"<h3> 3.A. Channels in detector space </h3>" << std::endl;
5999 htmlFile <<
"<h4> Legend for channel status: green - good, red - bad, yellow - at least 2% gain drift, white - not "
6000 "applicable or out of range </h4>"
6002 htmlFile <<
" <img src=\"MAP.png\" />" << std::endl;
6003 htmlFile <<
"<br>" << std::endl;
6004 htmlFile <<
"<br>" << std::endl;
6006 htmlFile <<
"<h3> 3.B. List of Bad channels </h3>" << std::endl;
6008 htmlFile <<
" <td><a href=\"HELP.html\"> Description of criteria for bad channel selection</a></td>" << std::endl;
6010 htmlFile <<
"<table>" << std::endl;
6012 htmlFile <<
"<td class=\"s4\" align=\"center\">#</td>" << std::endl;
6013 htmlFile <<
"<td class=\"s1\" align=\"center\">ETA</td>" << std::endl;
6014 htmlFile <<
"<td class=\"s1\" align=\"center\">PHI</td>" << std::endl;
6015 htmlFile <<
"<td class=\"s1\" align=\"center\">DEPTH</td>" << std::endl;
6016 htmlFile <<
"<td class=\"s1\" align=\"center\">RBX</td>" << std::endl;
6017 htmlFile <<
"<td class=\"s1\" align=\"center\">RM</td>" << std::endl;
6018 htmlFile <<
"<td class=\"s1\" align=\"center\">PIXEL</td>" << std::endl;
6019 htmlFile <<
"<td class=\"s1\" align=\"center\">RM_FIBER</td>" << std::endl;
6020 htmlFile <<
"<td class=\"s1\" align=\"center\">FIBER_CH</td>" << std::endl;
6021 htmlFile <<
"<td class=\"s1\" align=\"center\">QIE</td>" << std::endl;
6022 htmlFile <<
"<td class=\"s1\" align=\"center\">ADC</td>" << std::endl;
6023 htmlFile <<
"<td class=\"s1\" align=\"center\">CRATE</td>" << std::endl;
6024 htmlFile <<
"<td class=\"s1\" align=\"center\">DCC</td>" << std::endl;
6025 htmlFile <<
"<td class=\"s1\" align=\"center\">SPIGOT</td>" << std::endl;
6026 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FIBER</td>" << std::endl;
6027 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_SLOT</td>" << std::endl;
6028 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FPGA</td>" << std::endl;
6029 htmlFile <<
"<td class=\"s5\" align=\"center\">RMT-criteria</td>" << std::endl;
6030 htmlFile <<
"</tr>" << std::endl;
6034 for (
int i = 1;
i <= NBad;
i++) {
6035 if ((ind % 2) == 1) {
6036 raw_class =
"<td class=\"s2\" align=\"center\">";
6037 raw_class1 =
"<td class=\"s6\" align=\"center\">";
6039 raw_class =
"<td class=\"s3\" align=\"center\">";
6040 raw_class1 =
"<td class=\"s7\" align=\"center\">";
6043 const CellDB ce =
db.find(
"Eta", Eta[2][
i]).find(
"Phi",
Phi[2][
i]).find(
"Depth",
Depth[2][
i]);
6044 if (ce.
size() == 0) {
6050 if (ce.
size() >= 1) {
6051 htmlFile <<
"<tr>" << std::endl;
6052 htmlFile <<
"<td class=\"s1\" align=\"center\">" << ind + 1 <<
"</td>" << std::endl;
6053 htmlFile << raw_class << Eta[2][
i] <<
"</td>" << std::endl;
6054 htmlFile << raw_class <<
Phi[2][
i] <<
"</td>" << std::endl;
6055 htmlFile << raw_class <<
Depth[2][
i] <<
"</td>" << std::endl;
6056 htmlFile << raw_class << ce[0].RBX <<
"</td>" << std::endl;
6057 htmlFile << raw_class << ce[0].RM <<
"</td>" << std::endl;
6058 htmlFile << raw_class << ce[0].Pixel <<
"</td>" << std::endl;
6059 htmlFile << raw_class << ce[0].RMfiber <<
"</td>" << std::endl;
6060 htmlFile << raw_class << ce[0].FiberCh <<
"</td>" << std::endl;
6061 htmlFile << raw_class << ce[0].QIE <<
"</td>" << std::endl;
6062 htmlFile << raw_class << ce[0].ADC <<
"</td>" << std::endl;
6063 htmlFile << raw_class << ce[0].VMECardID <<
"</td>" << std::endl;
6064 htmlFile << raw_class << ce[0].dccID <<
"</td>" << std::endl;
6065 htmlFile << raw_class << ce[0].Spigot <<
"</td>" << std::endl;
6066 htmlFile << raw_class << ce[0].FiberIndex <<
"</td>" << std::endl;
6067 htmlFile << raw_class << ce[0].HtrSlot <<
"</td>" << std::endl;
6068 htmlFile << raw_class << ce[0].HtrTB <<
"</td>" << std::endl;
6069 htmlFile << raw_class1 << Comment[2][
i] <<
"</td>" << std::endl;
6070 htmlFile <<
"</tr>" << std::endl;
6075 htmlFile <<
"</table>" << std::endl;
6076 htmlFile <<
"<br>" << std::endl;
6078 htmlFile <<
"<h3> 2.C.List of Gain unstable channels </h3>" << std::endl;
6079 htmlFile <<
" <td><a href=\"HELP.html\"> Description of criteria for bad channel selection</a></td>" << std::endl;
6082 htmlFile <<
"<table>" << std::endl;
6084 htmlFile <<
"<td class=\"s4\" align=\"center\">#</td>" << std::endl;
6085 htmlFile <<
"<td class=\"s1\" align=\"center\">ETA</td>" << std::endl;
6086 htmlFile <<
"<td class=\"s1\" align=\"center\">PHI</td>" << std::endl;
6087 htmlFile <<
"<td class=\"s1\" align=\"center\">DEPTH</td>" << std::endl;
6088 htmlFile <<
"<td class=\"s1\" align=\"center\">RBX</td>" << std::endl;
6089 htmlFile <<
"<td class=\"s1\" align=\"center\">RM</td>" << std::endl;
6090 htmlFile <<
"<td class=\"s1\" align=\"center\">PIXEL</td>" << std::endl;
6091 htmlFile <<
"<td class=\"s1\" align=\"center\">RM_FIBER</td>" << std::endl;
6092 htmlFile <<
"<td class=\"s1\" align=\"center\">FIBER_CH</td>" << std::endl;
6093 htmlFile <<
"<td class=\"s1\" align=\"center\">QIE</td>" << std::endl;
6094 htmlFile <<
"<td class=\"s1\" align=\"center\">ADC</td>" << std::endl;
6095 htmlFile <<
"<td class=\"s1\" align=\"center\">CRATE</td>" << std::endl;
6096 htmlFile <<
"<td class=\"s1\" align=\"center\">DCC</td>" << std::endl;
6097 htmlFile <<
"<td class=\"s1\" align=\"center\">SPIGOT</td>" << std::endl;
6098 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FIBER</td>" << std::endl;
6099 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_SLOT</td>" << std::endl;
6100 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FPGA</td>" << std::endl;
6101 htmlFile <<
"<td class=\"s5\" align=\"center\">Failed criteria</td>" << std::endl;
6102 htmlFile <<
"</tr>" << std::endl;
6104 for (
int i = 1;
i <= NWarn;
i++) {
6105 if ((ind % 2) == 1) {
6106 raw_class =
"<td class=\"s2\" align=\"center\">";
6107 raw_class1 =
"<td class=\"s6\" align=\"center\">";
6109 raw_class =
"<td class=\"s3\" align=\"center\">";
6110 raw_class1 =
"<td class=\"s7\" align=\"center\">";
6113 const CellDB ce =
db.find(
"Eta", Eta[1][
i]).find(
"Phi",
Phi[1][
i]).find(
"Depth",
Depth[1][
i]);
6114 if (ce.
size() == 0) {
6120 if (ce.
size() >= 1) {
6121 htmlFile <<
"<tr>" << std::endl;
6122 htmlFile <<
"<td class=\"s1\" align=\"center\">" << ind + 1 <<
"</td>" << std::endl;
6123 htmlFile << raw_class << Eta[1][
i] <<
"</td>" << std::endl;
6124 htmlFile << raw_class <<
Phi[1][
i] <<
"</td>" << std::endl;
6125 htmlFile << raw_class <<
Depth[1][
i] <<
"</td>" << std::endl;
6126 htmlFile << raw_class << ce[0].RBX <<
"</td>" << std::endl;
6127 htmlFile << raw_class << ce[0].RM <<
"</td>" << std::endl;
6128 htmlFile << raw_class << ce[0].Pixel <<
"</td>" << std::endl;
6129 htmlFile << raw_class << ce[0].RMfiber <<
"</td>" << std::endl;
6130 htmlFile << raw_class << ce[0].FiberCh <<
"</td>" << std::endl;
6131 htmlFile << raw_class << ce[0].QIE <<
"</td>" << std::endl;
6132 htmlFile << raw_class << ce[0].ADC <<
"</td>" << std::endl;
6133 htmlFile << raw_class << ce[0].VMECardID <<
"</td>" << std::endl;
6134 htmlFile << raw_class << ce[0].dccID <<
"</td>" << std::endl;
6135 htmlFile << raw_class << ce[0].Spigot <<
"</td>" << std::endl;
6136 htmlFile << raw_class << ce[0].FiberIndex <<
"</td>" << std::endl;
6137 htmlFile << raw_class << ce[0].HtrSlot <<
"</td>" << std::endl;
6138 htmlFile << raw_class << ce[0].HtrTB <<
"</td>" << std::endl;
6139 htmlFile << raw_class1 << Comment[1][
i] <<
"</td>" << std::endl;
6140 htmlFile <<
"</tr>" << std::endl;
6146 htmlFile <<
"</table>" << std::endl;
6147 htmlFile <<
"<br>" << std::endl;
6149 htmlFile <<
"<h3> 2.D.List of channels with bad Pedestals </h3>" << std::endl;
6150 htmlFile <<
" <td><a href=\"HELP.html\"> Description of criteria for bad channel selection</a></td>" << std::endl;
6153 htmlFile <<
"<table>" << std::endl;
6155 htmlFile <<
"<td class=\"s4\" align=\"center\">#</td>" << std::endl;
6156 htmlFile <<
"<td class=\"s1\" align=\"center\">ETA</td>" << std::endl;
6157 htmlFile <<
"<td class=\"s1\" align=\"center\">PHI</td>" << std::endl;
6158 htmlFile <<
"<td class=\"s1\" align=\"center\">DEPTH</td>" << std::endl;
6159 htmlFile <<
"<td class=\"s1\" align=\"center\">RBX</td>" << std::endl;
6160 htmlFile <<
"<td class=\"s1\" align=\"center\">RM</td>" << std::endl;
6161 htmlFile <<
"<td class=\"s1\" align=\"center\">PIXEL</td>" << std::endl;
6162 htmlFile <<
"<td class=\"s1\" align=\"center\">RM_FIBER</td>" << std::endl;
6163 htmlFile <<
"<td class=\"s1\" align=\"center\">FIBER_CH</td>" << std::endl;
6164 htmlFile <<
"<td class=\"s1\" align=\"center\">QIE</td>" << std::endl;
6165 htmlFile <<
"<td class=\"s1\" align=\"center\">ADC</td>" << std::endl;
6166 htmlFile <<
"<td class=\"s1\" align=\"center\">CRATE</td>" << std::endl;
6167 htmlFile <<
"<td class=\"s1\" align=\"center\">DCC</td>" << std::endl;
6168 htmlFile <<
"<td class=\"s1\" align=\"center\">SPIGOT</td>" << std::endl;
6169 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FIBER</td>" << std::endl;
6170 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_SLOT</td>" << std::endl;
6171 htmlFile <<
"<td class=\"s1\" align=\"center\">HTR_FPGA</td>" << std::endl;
6172 htmlFile <<
"<td class=\"s5\" align=\"center\">Failed criteria</td>" << std::endl;
6173 htmlFile <<
"</tr>" << std::endl;
6175 for (
int i = 1;
i <= NPed;
i++) {
6176 if ((ind % 2) == 1) {
6177 raw_class =
"<td class=\"s2\" align=\"center\">";
6178 raw_class1 =
"<td class=\"s6\" align=\"center\">";
6180 raw_class =
"<td class=\"s3\" align=\"center\">";
6181 raw_class1 =
"<td class=\"s7\" align=\"center\">";
6184 const CellDB ce =
db.find(
"Eta", Eta[3][
i]).find(
"Phi",
Phi[3][
i]).find(
"Depth",
Depth[3][
i]);
6185 if (ce.
size() == 0) {
6191 if (ce.
size() >= 1) {
6192 htmlFile <<
"<tr>" << std::endl;
6193 htmlFile <<
"<td class=\"s1\" align=\"center\">" << ind + 1 <<
"</td>" << std::endl;
6194 htmlFile << raw_class << Eta[3][
i] <<
"</td>" << std::endl;
6195 htmlFile << raw_class <<
Phi[3][
i] <<
"</td>" << std::endl;
6196 htmlFile << raw_class <<
Depth[3][
i] <<
"</td>" << std::endl;
6197 htmlFile << raw_class << ce[0].RBX <<
"</td>" << std::endl;
6198 htmlFile << raw_class << ce[0].RM <<
"</td>" << std::endl;
6199 htmlFile << raw_class << ce[0].Pixel <<
"</td>" << std::endl;
6200 htmlFile << raw_class << ce[0].RMfiber <<
"</td>" << std::endl;
6201 htmlFile << raw_class << ce[0].FiberCh <<
"</td>" << std::endl;
6202 htmlFile << raw_class << ce[0].QIE <<
"</td>" << std::endl;
6203 htmlFile << raw_class << ce[0].ADC <<
"</td>" << std::endl;
6204 htmlFile << raw_class << ce[0].VMECardID <<
"</td>" << std::endl;
6205 htmlFile << raw_class << ce[0].dccID <<
"</td>" << std::endl;
6206 htmlFile << raw_class << ce[0].Spigot <<
"</td>" << std::endl;
6207 htmlFile << raw_class << ce[0].FiberIndex <<
"</td>" << std::endl;
6208 htmlFile << raw_class << ce[0].HtrSlot <<
"</td>" << std::endl;
6209 htmlFile << raw_class << ce[0].HtrTB <<
"</td>" << std::endl;
6210 htmlFile << raw_class1 << Comment[3][
i] <<
"</td>" << std::endl;
6211 htmlFile <<
"</tr>" << std::endl;
6217 htmlFile <<
"</table>" << std::endl;
6219 htmlFile <<
"</body> " << std::endl;
6220 htmlFile <<
"</html> " << std::endl;