Theta resolution--------------------------------------------------------------------------————
Misalignment constants -----------------------------------------------------------——
END (Misalignment constants) --------------------------------------------------------—
12 gStyle->SetLabelSize(0.045,
"xyz");
13 gStyle->SetTitleXSize(0.04);
14 gStyle->SetTitleYSize(0.04);
15 gStyle->SetTitleYOffset(1.2);
16 TString pathG1=pathGi+
"3000000/mom_15/";
17 TString pathG2=pathGi+
"3000000/mom_15/";
18 const int colors[4] = {28,kAzure+2,46,8};
19 const int colors_a[4] = {kViolet-6,kOrange+7,kGreen+3,kRed+1};
20 const int ntrksSample = 1e4;
21 const double i_TrksSimi = 100./ntrksSample;
23 double v_Dt[nParDt]={0, 50, 100, 200, 300, 400, 500, 600, 800, 1000};
25 double v_Da[nParDa]={0,1,3,5};
27 double TrksSim[nParDa][nParDt];
29 double TrksBef[nParDa][nParDt];
30 double TrksAft[nParDa][nParDt];
31 double TrksDiff[nParDa][nParDt];
32 double TrksKnossos[nParDa][nParDt], errTrksKnossos[nParDa][nParDt];
33 double TrksKnossos0[nParDa][nParDt], errTrksKnossos0[nParDa][nParDt];
36 TString resname= pathG1+
"/Results1SampleSummary_BOX";
37 TString resname_pdf = resname+
".pdf";
38 TString resname_pdf_o = resname_pdf+
"(";
39 TString resname_pdf_c = resname_pdf+
")";
41 double mis_b[nParDa][6][nParDt];
42 double mis_a[nParDa][6][nParDt];
43 double mis_v_b[nParDa][6][nParDt];
44 double mis_v_a[nParDa][6][nParDt];
46 double theta_mean_b[nParDa][nParDt], theta_mean_a[nParDa][nParDt], theta_mean_r[nParDa][nParDt];
47 double theta_rms_b[nParDa][nParDt], theta_rms_a[nParDa][nParDt], theta_rms_r[nParDa][nParDt];
49 double err_theta_mean_b[nParDa][nParDt], err_theta_mean_a[nParDa][nParDt], err_theta_mean_r[nParDa][nParDt];
50 double err_theta_rms_b[nParDa][nParDt], err_theta_rms_a[nParDa][nParDt], err_theta_rms_r[nParDa][nParDt];
54 for(
int ipart=0;ipart<nParDa;ipart++){
55 for(
int i=0;
i<nParDt;
i++){
56 TrksSim[ipart][
i]=ntrksSample ;
57 theta_mean_b[ipart][
i] = 0;
58 theta_mean_a[ipart][
i] = 0;
59 theta_mean_r[ipart][
i] = 0;
60 theta_rms_b[ipart][
i] = 0;
61 theta_rms_a[ipart][
i] = 0;
62 theta_rms_r[ipart][
i] = 0;
66 for(
int ipart=0;ipart<nParDa;ipart++){
67 for(
int i=0;
i<nParDt;
i++){
70 int nTrks = TrksSim[ipart][
i];
73 if(rt_sc<3) pathG = pathG2;
89 name3+=
"/Lumi_QA_after.root";
99 TFile *
f1 =
new TFile(name1,
"READ");
100 if (f1->IsZombie()) {
101 std::cout <<
"!!! Error opening file " <<name1<< std::endl;
108 hbefore = (TH1*)f1->Get(
"NearIP/hResTheta");
110 hbefore->SetName(
"hResThetaBefore");
111 hbefore->SetTitle(
"#theta resolution");
113 TrksBef[ipart][
i] = hbefore->GetEntries();
115 theta_mean_b[ipart][
i] = 1e3*(hbefore->GetMean());
116 theta_rms_b[ipart][
i] = 1e3*(hbefore->GetRMS());
117 err_theta_mean_b[ipart][
i] = 1e3*(hbefore->GetMeanError());
118 err_theta_rms_b[ipart][
i] = 1e3*(hbefore->GetRMSError());
120 TFile *
f2 =
new TFile(name2,
"READ");
121 if (f2->IsZombie()) {
122 std::cout <<
"!!! Error opening file " <<name2<< std::endl;
126 hafter = (TH1F*)f2->Get(
"NearIP/hResTheta");
127 hafter->SetName(
"hResThetaAfter");
128 hafter->SetTitle(
"#theta resolution");
130 TrksAft[ipart][
i] = hafter->GetEntries();
131 TrksDiff[ipart][
i] = (TrksAft[ipart][
i] - TrksBef[ipart][
i]);
133 theta_mean_a[ipart][
i] = 1e3*(hafter->GetMean());
134 theta_rms_a[ipart][
i] = 1e3*(hafter->GetRMS());
135 err_theta_mean_a[ipart][
i] = 1e3*(hafter->GetMeanError());
136 err_theta_rms_a[ipart][
i] = 3*1e3*(hafter->GetRMSError());
138 TFile *
f3 =
new TFile(name3,
"READ");
139 if (f3->IsZombie()) {
140 std::cout <<
"!!! Error opening file " <<name2<< std::endl;
144 hrefer = (TH1F*)f3->Get(
"NearIP/hResTheta");
145 hrefer->SetName(
"hResThetaRef");
146 hrefer->SetTitle(
"#theta resolution");
148 theta_mean_r[ipart][
i] = 1e3*(hrefer->GetMean());
149 theta_rms_r[ipart][
i] = 1e3*(hrefer->GetRMS());
150 err_theta_mean_r[ipart][
i] = 1e3*(hrefer->GetMeanError());
151 err_theta_rms_r[ipart][
i] = 1e3*(hrefer->GetRMSError());
163 namemisc+=
"/KnossosResults.root";
164 TFile *fmisc =
new TFile(namemisc,
"READ");
165 if (fmisc->IsZombie()) {
166 std::cout <<
"!!! Error opening file " <<namemisc<< std::endl;
169 TH2F *hStatKnossos = (TH2F*)fmisc->Get(
"haStat_out");
170 TrksKnossos[ipart][
i] = hStatKnossos->ProjectionY()->GetMean();
171 errTrksKnossos[ipart][
i] = hStatKnossos->ProjectionY()->GetRMS();
172 TH2F *hStatKnossos0 = (TH2F*)fmisc->Get(
"haStat_in");
173 TrksKnossos0[ipart][
i] = hStatKnossos0->ProjectionY()->GetMean();
174 errTrksKnossos0[ipart][
i] = hStatKnossos0->ProjectionY()->GetRMS();
175 TH2F *hmis_b_0 = (TH2F*)fmisc->Get(
"mis_before_0");
176 mis_b[ipart][0][
i] = 1e4*(hmis_b_0->ProjectionY()->GetRMS());
177 TH2F *hmis_b_1 = (TH2F*)fmisc->Get(
"mis_before_1");
178 mis_b[ipart][1][
i] = 1e4*(hmis_b_1->ProjectionY()->GetRMS());
179 TH2F *hmis_b_2 = (TH2F*)fmisc->Get(
"mis_before_2");
180 mis_b[ipart][2][
i] = 1e4*(hmis_b_2->ProjectionY()->GetRMS());
181 TH2F *hmis_b_3 = (TH2F*)fmisc->Get(
"mis_before_3");
182 mis_b[ipart][3][
i] = 1e3*(hmis_b_3->ProjectionY()->GetRMS());
183 TH2F *hmis_b_4 = (TH2F*)fmisc->Get(
"mis_before_4");
184 mis_b[ipart][4][
i] = 1e3*(hmis_b_4->ProjectionY()->GetRMS());
185 TH2F *hmis_b_5 = (TH2F*)fmisc->Get(
"mis_before_5");
186 mis_b[ipart][5][
i] = 1e3*(hmis_b_5->ProjectionY()->GetRMS());
188 TH2F *hmis_a_0 = (TH2F*)fmisc->Get(
"mis_diff_0");
189 mis_a[ipart][0][
i] = 1e4*(hmis_a_0->ProjectionY()->GetRMS());
190 TH2F *hmis_a_1 = (TH2F*)fmisc->Get(
"mis_diff_1");
191 mis_a[ipart][1][
i] = 1e4*(hmis_a_1->ProjectionY()->GetRMS());
192 TH2F *hmis_a_2 = (TH2F*)fmisc->Get(
"mis_diff_2");
193 mis_a[ipart][2][
i] = 1e4*(hmis_a_2->ProjectionY()->GetRMS());
194 TH2F *hmis_a_3 = (TH2F*)fmisc->Get(
"mis_diff_3");
195 mis_a[ipart][3][
i] = 1e3*(hmis_a_3->ProjectionY()->GetRMS());
196 TH2F *hmis_a_4 = (TH2F*)fmisc->Get(
"mis_diff_4");
197 mis_a[ipart][4][
i] = 1e3*(hmis_a_4->ProjectionY()->GetRMS());
198 TH2F *hmis_a_5 = (TH2F*)fmisc->Get(
"mis_diff_5");
199 mis_a[ipart][5][
i] = 1e3*(hmis_a_5->ProjectionY()->GetRMS());
202 mis_v_b[ipart][0][
i] = 1e4*(hmis_b_0->ProjectionY()->GetMean());
203 mis_v_b[ipart][1][
i] = 1e4*(hmis_b_1->ProjectionY()->GetMean());
204 mis_v_b[ipart][2][
i] = 1e4*(hmis_b_2->ProjectionY()->GetMean());
205 mis_v_b[ipart][3][
i] = 1e3*(hmis_b_3->ProjectionY()->GetMean());
206 mis_v_b[ipart][4][
i] = 1e3*(hmis_b_4->ProjectionY()->GetMean());
207 mis_v_b[ipart][5][
i] = 1e3*(hmis_b_5->ProjectionY()->GetMean());
209 mis_v_a[ipart][0][
i] = 1e4*(hmis_a_0->ProjectionY()->GetMean());
210 mis_v_a[ipart][1][
i] = 1e4*(hmis_a_1->ProjectionY()->GetMean());
211 mis_v_a[ipart][2][
i] = 1e4*(hmis_a_2->ProjectionY()->GetMean());
212 mis_v_a[ipart][3][
i] = 1e3*(hmis_a_3->ProjectionY()->GetMean());
213 mis_v_a[ipart][4][
i] = 1e3*(hmis_a_4->ProjectionY()->GetMean());
214 mis_v_a[ipart][5][
i] = 1e3*(hmis_a_5->ProjectionY()->GetMean());
223 double min_theta_mean_b = theta_mean_b[0][0], min_theta_rms_b = theta_rms_b[0][0];
224 double min_theta_mean_a = theta_mean_a[0][0], min_theta_rms_a = theta_rms_a[0][0];
225 double max_theta_mean_b = theta_mean_b[0][0], max_theta_rms_b = theta_rms_b[0][0];
226 double max_theta_mean_a = theta_mean_a[0][0], max_theta_rms_a = theta_rms_a[0][0];
227 for(
int ipart=0;ipart<nParDa;ipart++){
228 for(
int i=0;
i<nParDt;
i++){
229 if(min_theta_mean_b>theta_mean_b[ipart][
i]) min_theta_mean_b = theta_mean_b[ipart][
i];
230 if(max_theta_mean_b<theta_mean_b[ipart][i]) max_theta_mean_b = theta_mean_b[ipart][
i];
231 if(min_theta_mean_a>theta_mean_a[ipart][i]) min_theta_mean_a = theta_mean_a[ipart][
i];
232 if(max_theta_mean_a<theta_mean_a[ipart][i]) max_theta_mean_a = theta_mean_a[ipart][
i];
234 if(min_theta_rms_b>theta_rms_b[ipart][i]) min_theta_rms_b = theta_rms_b[ipart][
i];
235 if(max_theta_rms_b<theta_rms_b[ipart][i]) max_theta_rms_b = theta_rms_b[ipart][
i];
236 if(min_theta_rms_a>theta_rms_a[ipart][i]) min_theta_rms_a = theta_rms_a[ipart][
i];
237 if(max_theta_rms_a<theta_rms_a[ipart][i]) max_theta_rms_a = theta_rms_a[ipart][
i];
241 for(
int ipart=0;ipart<nParDa;ipart++){
242 for(
int i=0;i<nParDt;i++){
244 if(min_theta_mean_b>theta_mean_r[ipart][i]) min_theta_mean_b = theta_mean_r[ipart][
i];
245 if(max_theta_mean_b<theta_mean_r[ipart][i]) max_theta_mean_b = theta_mean_r[ipart][
i];
246 if(min_theta_mean_a>theta_mean_r[ipart][i]) min_theta_mean_a = theta_mean_r[ipart][
i];
247 if(max_theta_mean_a<theta_mean_r[ipart][i]) max_theta_mean_a = theta_mean_r[ipart][
i];
249 if(min_theta_rms_b>theta_rms_r[ipart][i]) min_theta_rms_b = theta_rms_r[ipart][
i];
250 if(max_theta_rms_b<theta_rms_r[ipart][i]) max_theta_rms_b = theta_rms_r[ipart][
i];
251 if(min_theta_rms_a>theta_rms_r[ipart][i]) min_theta_rms_a = theta_rms_r[ipart][
i];
252 if(max_theta_rms_a<theta_rms_r[ipart][i]) max_theta_rms_a = theta_rms_r[ipart][
i];
257 TLegend *leg_b =
new TLegend(0.83,0.65,0.97,0.97);
258 leg_b->SetFillColor(0);
259 TLegend *leg_a =
new TLegend(0.83,0.65,0.97,0.97);
260 leg_a->SetFillColor(0);
264 TMultiGraph *mgr_theta =
new TMultiGraph();
265 TMultiGraph *mgr_theta_b =
new TMultiGraph();
266 TGraphErrors *gr_theta_b[nParDa],*gr_theta_a[nParDa],*gr_theta_r[nParDa];
267 for(
int ipart=0;ipart<nParDa;ipart++){
270 gr_theta_b[ipart] =
new TGraphErrors(nParDt,v_Dt,theta_mean_b[ipart],0,err_theta_mean_b[ipart]);
271 gr_theta_b[ipart]->SetMarkerStyle(20+ipart);
274 gr_theta_b[ipart]->SetMarkerColor(colors[ipart]);
275 gr_theta_b[ipart]->SetLineColor(colors[ipart]);
277 gr_theta_b[ipart]->SetMarkerSize(1.7+ipart*0.3);
278 gr_theta_a[ipart] =
new TGraphErrors(nParDt,v_Dt,theta_mean_a[ipart],0,err_theta_mean_a[ipart]);
279 gr_theta_a[ipart]->SetMarkerStyle(20+ipart);
281 gr_theta_a[ipart]->SetMarkerColor(colors_a[ipart]);
282 gr_theta_a[ipart]->SetLineColor(colors_a[ipart]);
283 gr_theta_a[ipart]->SetMarkerSize(1.7+ipart*0.3);
284 mgr_theta_b->Add(gr_theta_b[ipart]);
285 mgr_theta->Add(gr_theta_a[ipart]);
287 gr_theta_r[ipart] =
new TGraphErrors(nParDt,v_Dt,theta_mean_r[ipart],0,err_theta_mean_r[ipart]);
288 gr_theta_r[ipart]->SetMarkerStyle(20+ipart);
289 gr_theta_r[ipart]->SetMarkerColor(kGray+3);
290 gr_theta_r[ipart]->SetMarkerSize(2.7);
291 mgr_theta_b->Add(gr_theta_r[ipart]);
292 mgr_theta->Add(gr_theta_r[ipart]);
294 leg_b->AddEntry(gr_theta_r[ipart],
"ideal",
"lep");
295 leg_a->AddEntry(gr_theta_r[ipart],
"ideal",
"lep");
297 TString dRName =
"#Delta_{r} = ";
298 dRName +=v_Da[ipart];
304 leg_b->AddEntry(gr_theta_b[ipart],dRName_b,
"lep");
305 leg_a->AddEntry(gr_theta_a[ipart],dRName_b,
"lep");
308 mgr_theta_b->Draw(
"AP");
310 mgr_theta_b->SetTitle(
"Before");
311 mgr_theta_b->GetXaxis()->SetTitle(
"#Delta_{t}, #mum");
312 mgr_theta_b->GetYaxis()->SetTitle(
"#theta_{mean}, #murad");
313 mgr_theta_b->GetHistogram()->SetMaximum(1.1*max_theta_mean_b);
314 mgr_theta_b->GetHistogram()->SetMinimum(0.9*min_theta_mean_b);
315 if(min_theta_mean_b<0) mgr_theta_b->GetHistogram()->SetMinimum(1.1*min_theta_mean_b);
316 if(max_theta_mean_b<0) mgr_theta_b->GetHistogram()->SetMaximum(0.9*max_theta_mean_b);
317 c1.Print(resname_pdf_o);
321 mgr_theta->Draw(
"AP");
323 mgr_theta->SetTitle(
"After");
324 mgr_theta->GetXaxis()->SetTitle(
"#Delta_{t}, #mum");
325 mgr_theta->GetYaxis()->SetTitle(
"#theta_{mean}, #murad");
326 cout<<max_theta_mean_a<<
" "<<-0.1*
fabs(max_theta_mean_a)<<endl;
327 if(max_theta_mean_a>0) mgr_theta->GetHistogram()->SetMaximum(-0.1*
fabs(max_theta_mean_a));
328 else mgr_theta->GetHistogram()->SetMaximum(1.3*max_theta_mean_a);
329 if(min_theta_mean_a<0) mgr_theta->GetHistogram()->SetMinimum(-1.3*
fabs(min_theta_mean_a));
330 else mgr_theta->GetHistogram()->SetMinimum(0.7*min_theta_mean_a);
332 c1.Print(resname_pdf_o);
335 TMultiGraph *mgr_theta_rms =
new TMultiGraph();
336 TMultiGraph *mgr_theta_b_rms =
new TMultiGraph();
337 for(
int ipart=0;ipart<nParDa;ipart++){
338 gr_theta_b[ipart] =
new TGraphErrors(nParDt,v_Dt,theta_rms_b[ipart],0,err_theta_rms_b[ipart]);
339 gr_theta_b[ipart]->SetMarkerStyle(20+ipart);
341 gr_theta_b[ipart]->SetMarkerColor(colors[ipart]);
342 gr_theta_b[ipart]->SetLineColor(colors[ipart]);
343 gr_theta_b[ipart]->SetMarkerSize(1.7+ipart*0.3);
344 gr_theta_a[ipart] =
new TGraphErrors(nParDt,v_Dt,theta_rms_a[ipart],0,err_theta_rms_a[ipart]);
345 gr_theta_a[ipart]->SetMarkerStyle(20+ipart);
347 gr_theta_a[ipart]->SetMarkerColor(colors_a[ipart]);
348 gr_theta_a[ipart]->SetLineColor(colors_a[ipart]);
349 gr_theta_a[ipart]->SetMarkerSize(1.7+ipart*0.3);
350 mgr_theta_b_rms->Add(gr_theta_b[ipart]);
351 mgr_theta_rms->Add(gr_theta_a[ipart]);
353 gr_theta_r[ipart] =
new TGraphErrors(nParDt,v_Dt,theta_rms_r[ipart],0,err_theta_rms_r[ipart]);
354 gr_theta_r[ipart]->SetMarkerStyle(20+ipart);
355 gr_theta_r[ipart]->SetMarkerColor(kGray+3);
356 gr_theta_r[ipart]->SetMarkerSize(2.7);
357 mgr_theta_b_rms->Add(gr_theta_r[ipart]);
358 mgr_theta_rms->Add(gr_theta_r[ipart]);
362 mgr_theta_b_rms->Draw(
"AP");
364 mgr_theta_b_rms->GetXaxis()->SetTitle(
"#Delta_{t}, #mum");
365 mgr_theta_b_rms->GetYaxis()->SetTitle(
"#theta_{rms}, #murad");
366 mgr_theta_b_rms->GetHistogram()->SetMaximum(1.1*max_theta_rms_b);
367 mgr_theta_b_rms->GetHistogram()->SetMinimum(0.9*min_theta_rms_b);
368 mgr_theta_b_rms->SetTitle(
"Before");
369 c1.Print(resname_pdf_o);
373 mgr_theta_rms->Draw(
"AP");
375 mgr_theta_rms->GetXaxis()->SetTitle(
"#Delta_{t}, #mum");
376 mgr_theta_rms->GetYaxis()->SetTitle(
"#theta_{rms}, #murad");
377 mgr_theta_rms->GetHistogram()->SetMaximum(1.1*max_theta_rms_a);
378 mgr_theta_rms->GetHistogram()->SetMinimum(0.9*min_theta_rms_a);
379 mgr_theta_rms->SetTitle(
"After");
380 c1.Print(resname_pdf_o);
384 TGraphErrors *gr_mis_b[6][nParDa];
385 TGraphErrors *gr_mis_a[6][nParDa];
386 TMultiGraph *mgr_mis[6];
387 TMultiGraph *mgr_mis_b[6];
388 for(
int ialc=0;ialc<6;ialc++){
389 mgr_mis[ialc] =
new TMultiGraph();
390 mgr_mis_b[ialc] =
new TMultiGraph();
392 for(
int ipart=0;ipart<nParDa;ipart++){
393 for(
int ialc=0;ialc<6;ialc++){
394 gr_mis_b[ialc][ipart] =
new TGraphErrors(nParDt,v_Dt,mis_v_b[ipart][ialc],0,mis_b[ipart][ialc]);
395 gr_mis_b[ialc][ipart]->SetMarkerStyle(20+ipart);
396 gr_mis_b[ialc][ipart]->SetMarkerColor(colors[ipart]);
397 gr_mis_b[ialc][ipart]->SetLineColor(colors[ipart]);
398 gr_mis_b[ialc][ipart]->SetMarkerSize(1.7+ipart*0.3);
399 gr_mis_a[ialc][ipart] =
new TGraphErrors(nParDt,v_Dt,mis_v_a[ipart][ialc],0,mis_a[ipart][ialc]);
400 gr_mis_a[ialc][ipart]->SetMarkerStyle(20+ipart);
401 gr_mis_a[ialc][ipart]->SetMarkerColor(colors_a[ipart]);
402 gr_mis_a[ialc][ipart]->SetMarkerSize(1.7+ipart*0.3);
403 gr_mis_a[ialc][ipart]->SetLineColor(colors_a[ipart]);
404 mgr_mis_b[ialc]->Add(gr_mis_b[ialc][ipart]);
405 mgr_mis[ialc]->Add(gr_mis_a[ialc][ipart]);
408 for(
int ialc=0;ialc<6;ialc++){
409 if(ialc<2 || ialc==5){
410 mgr_mis_b[ialc]->Draw(
"AP");
412 mgr_mis_b[ialc]->GetXaxis()->SetTitle(
"#Delta_{t}, #mum");
413 mgr_mis_b[ialc]->GetHistogram()->SetMaximum(1200.);
414 mgr_mis_b[ialc]->GetHistogram()->SetMinimum(-1200.);
416 mgr_mis_b[ialc]->GetHistogram()->SetMaximum(10.);
417 mgr_mis_b[ialc]->GetHistogram()->SetMinimum(-10.);
419 mgr_mis_b[ialc]->SetTitle(
"Before");
420 if(ialc==0) mgr_mis_b[ialc]->GetYaxis()->SetTitle(
"#Delta_{x}, #mum");
421 if(ialc==1) mgr_mis_b[ialc]->GetYaxis()->SetTitle(
"#Delta_{y}, #mum");
422 if(ialc==2) mgr_mis_b[ialc]->GetYaxis()->SetTitle(
"#Delta_{z}, #mum");
423 if(ialc==3) mgr_mis_b[ialc]->GetYaxis()->SetTitle(
"#Delta_{#alpha}, mrad");
424 if(ialc==4) mgr_mis_b[ialc]->GetYaxis()->SetTitle(
"#Delta_{#beta}, mrad");
425 if(ialc==5) mgr_mis_b[ialc]->GetYaxis()->SetTitle(
"#Delta_{#gamma}, mrad");
426 c1.Print(resname_pdf_o);
429 mgr_mis[ialc]->Draw(
"AP");
431 mgr_mis[ialc]->GetXaxis()->SetTitle(
"#Delta_{t}, #mum");
432 mgr_mis[ialc]->GetHistogram()->SetMaximum(10.);
433 mgr_mis[ialc]->GetHistogram()->SetMinimum(-10.);
435 mgr_mis[ialc]->GetHistogram()->SetMaximum(5.);
436 mgr_mis[ialc]->GetHistogram()->SetMinimum(-5.);
438 mgr_mis[ialc]->SetTitle(
"After");
439 if(ialc==0) mgr_mis[ialc]->GetYaxis()->SetTitle(
"#Delta_{x}, #mum");
440 if(ialc==1) mgr_mis[ialc]->GetYaxis()->SetTitle(
"#Delta_{y}, #mum");
441 if(ialc==2) mgr_mis[ialc]->GetYaxis()->SetTitle(
"#Delta_{z}, #mum");
442 if(ialc==3) mgr_mis[ialc]->GetYaxis()->SetTitle(
"#Delta_{#alpha}, mrad");
443 if(ialc==4) mgr_mis[ialc]->GetYaxis()->SetTitle(
"#Delta_{#beta}, mrad");
444 if(ialc==5) mgr_mis[ialc]->GetYaxis()->SetTitle(
"#Delta_{#gamma}, mrad");
445 c1.Print(resname_pdf_o);
453 TLegend *leg2 =
new TLegend(0.13,0.13,0.38,0.52);
454 leg2->SetFillColor(0);
456 TMultiGraph *mgr_stat =
new TMultiGraph();
457 TMultiGraph *mgr_stat_kn =
new TMultiGraph();
458 TGraphErrors *grstatBef[nParDa], *grstatAft[nParDa];
459 TGraphErrors *grstatKnossos[nParDa];
460 TGraphErrors *grstatKnossos0[nParDa];
461 for(
int ipart=0;ipart<nParDa;ipart++){
462 grstatBef[ipart] =
new TGraphErrors(nParDt,v_Dt,TrksBef[ipart],0,0);
463 grstatBef[ipart]->SetMarkerStyle(20+ipart);
464 grstatBef[ipart]->SetMarkerColor(colors[ipart]);
465 grstatBef[ipart]->SetMarkerSize(1.7+ipart*0.3);
467 grstatKnossos0[ipart] =
new TGraphErrors(nParDt,v_Dt,TrksKnossos0[ipart],0,errTrksKnossos0[ipart]);
468 grstatKnossos0[ipart]->SetMarkerStyle(20+ipart);
469 grstatKnossos0[ipart]->SetMarkerColor(colors[ipart]);
470 grstatKnossos0[ipart]->SetLineColor(colors[ipart]);
471 grstatKnossos0[ipart]->SetMarkerSize(1.7+ipart*0.3);
472 mgr_stat_kn->Add(grstatKnossos0[ipart]);
473 grstatKnossos[ipart] =
new TGraphErrors(nParDt,v_Dt,TrksKnossos[ipart],0,errTrksKnossos[ipart]);
474 grstatKnossos[ipart]->SetMarkerStyle(20+ipart);
475 grstatKnossos[ipart]->SetMarkerColor(colors_a[ipart]);
476 grstatKnossos[ipart]->SetLineColor(colors_a[ipart]);
477 grstatKnossos[ipart]->SetMarkerSize(1.7+ipart*0.3);
478 TString dRName =
"#Delta_{r} = ";
479 dRName +=v_Da[ipart];
480 TString dRName_b = dRName+
" (input)";
481 TString dRName_a = dRName+
" (last iter)";
482 leg2->AddEntry(grstatKnossos0[ipart],dRName_b,
"lep");
483 leg2->AddEntry(grstatKnossos[ipart],dRName_a,
"lep");
485 mgr_stat_kn->Add(grstatKnossos[ipart]);
486 grstatAft[ipart] =
new TGraphErrors(nParDt,v_Dt,TrksAft[ipart],0,0);
487 grstatAft[ipart]->SetMarkerStyle(20+ipart);
488 grstatAft[ipart]->SetMarkerSize(1.7+ipart*0.3);
489 grstatAft[ipart]->SetMarkerColor(kOrange+7);
490 mgr_stat->Add(grstatBef[ipart]);
491 mgr_stat->Add(grstatAft[ipart]);
501 mgr_stat_kn->Draw(
"AP");
502 mgr_stat_kn->SetTitle(
"#trks used in Millepede (av. per sector)");
503 mgr_stat_kn->GetXaxis()->SetTitle(
"#Delta_{t}, #mum");
504 mgr_stat_kn->GetYaxis()->SetTitle(
"N_{REC}");
506 c1.Print(resname_pdf_c);
friend F32vec4 fabs(const F32vec4 &a)