FairRoot/PandaRoot
Functions
TOTALSummaryAlign.C File Reference
#include <TFile.h>
#include <TH1.h>
#include <TH2.h>
#include <TString.h>
#include <TCanvas.h>
#include <sstream>

Go to the source code of this file.

Functions

int TOTALSummaryAlign (TString pathG="/panda/pandaroot/macro/lmd/tmpOutputAlignDPM/", double tr_sc=200, double rt_sc=3)
 

Function Documentation

int TOTALSummaryAlign ( TString  pathG = "/panda/pandaroot/macro/lmd/tmpOutputAlignDPM/",
double  tr_sc = 200,
double  rt_sc = 3 
)

Misalignment constants -----------------------------------------------------————

END (Misalignment constants) --------------------------------------------------———

Theta resolution--------------------------------------------------------------------------------——

END (Theta resolution) ------------------------------------------------------------—

Definition at line 10 of file TOTALSummaryAlign.C.

References c1, f, f1, f2, f3, g, i, name1, name2, name3, out, and TString.

11 {
12  // const int nS=8;
13  // double TrksSim[nS]={10000, 100000, 200000, 300000, 400000, 500000, 700000, 1000000};
14  const int nS=7;
15  double TrksSim[nS]={10000, 100000, 200000, 300000, 500000, 700000, 1000000};
16  // double TrksSim[nS]={10, 100, 200, 300, 400, 500, 700, 1000};
17  // double Trks[nS]={1000,5000,10000};
18  //How to save data
19  TString resname= pathG+"/ResultsTOTALSummary_";
20  resname+=tr_sc;
21  resname+="um_";
22  resname+=rt_sc;
23  resname+="mrad";
24 
25  TString resname_pdf = resname+".pdf";
26  TString resname_pdf_o = resname_pdf+"(";
27  TString resname_pdf_c = resname_pdf+")";
28 
29  double mis_b[6][nS];
30  double mis_a[6][nS];
31 
32  double theta_mean_b[nS], theta_mean_a[nS], theta_mean_r[nS];
33  double theta_rms_b[nS], theta_rms_a[nS], theta_rms_r[nS];
34 
35 
36  for(int i=0;i<nS;i++){
37  nTrks = TrksSim[i];
38  //Where search for files
39  TString path = pathG+"/results/";
40  // path+=tr_sc;
41  // path+="mkm_";
42  // path+=rt_sc;
43  // path+="mrad_";
44  // path+=nTrks;
45  // path+="events/";
46 
47  // // ///Residuals files for estimate of trks/sector ------------------------------------------------------------------------------
48  TString nameresb0 = path + "/hitsRes_before_alignment_sector0.root";
49  TString nameresb1 = path + "/hitsRes_before_alignment_sector1.root";
50  TString nameresb2 = path + "/hitsRes_before_alignment_sector2.root";
51  TString nameresb3 = path + "/hitsRes_before_alignment_sector3.root";
52  TString nameresb4 = path + "/hitsRes_before_alignment_sector4.root";
53  TString nameresb5 = path + "/hitsRes_before_alignment_sector5.root";
54  TString nameresb6 = path + "/hitsRes_before_alignment_sector6.root";
55  TString nameresb7 = path + "/hitsRes_before_alignment_sector7.root";
56  TString nameresb8 = path + "/hitsRes_before_alignment_sector8.root";
57  TString nameresb9 = path + "/hitsRes_before_alignment_sector9.root";
58  TFile *fresb0 = new TFile(nameresb0,"READ");
59  if (fresb0->IsZombie()) {
60  std::cout << "!!! Error opening file " <<nameresb0<< std::endl;
61  // return;
62  }
63  TFile *fresb1 = new TFile(nameresb1,"READ");
64  if (fresb1->IsZombie()) {
65  std::cout << "!!! Error opening file " <<nameresb1<< std::endl;
66  // return;
67  }
68  TFile *fresb2 = new TFile(nameresb2,"READ");
69  if (fresb2->IsZombie()) {
70  std::cout << "!!! Error opening file " <<nameresb2<< std::endl;
71  // return;
72  }
73  TFile *fresb3 = new TFile(nameresb3,"READ");
74  if (fresb3->IsZombie()) {
75  std::cout << "!!! Error opening file " <<nameresb3<< std::endl;
76  // return;
77  }
78  TFile *fresb4 = new TFile(nameresb4,"READ");
79  if (fresb4->IsZombie()) {
80  std::cout << "!!! Error opening file " <<nameresb4<< std::endl;
81  // return;
82  }
83  TFile *fresb5 = new TFile(nameresb5,"READ");
84  if (fresb5->IsZombie()) {
85  std::cout << "!!! Error opening file " <<nameresb5<< std::endl;
86  // return;
87  }
88  TFile *fresb6 = new TFile(nameresb5,"READ");
89  if (fresb6->IsZombie()) {
90  std::cout << "!!! Error opening file " <<nameresb6<< std::endl;
91  // return;
92  }
93  TFile *fresb7 = new TFile(nameresb7,"READ");
94  if (fresb7->IsZombie()) {
95  std::cout << "!!! Error opening file " <<nameresb7<< std::endl;
96  // return;
97  }
98  TFile *fresb8 = new TFile(nameresb8,"READ");
99  if (fresb8->IsZombie()) {
100  std::cout << "!!! Error opening file " <<nameresb8<< std::endl;
101  // return;
102  }
103  TFile *fresb9 = new TFile(nameresb9,"READ");
104  if (fresb9->IsZombie()) {
105  std::cout << "!!! Error opening file " <<nameresb9<< std::endl;
106  // return;
107  }
108  int trksCur = 0;
109  TNtuple* hntuple0 = (TNtuple*)fresb0->Get("nhits");
110  trksCur+= 0.25*(hntuple0->GetEntries());
111  TNtuple* hntuple1 = (TNtuple*)fresb1->Get("nhits");
112  trksCur+= 0.25*(hntuple1->GetEntries());
113  TNtuple* hntuple2 = (TNtuple*)fresb2->Get("nhits");
114  trksCur+= 0.25*(hntuple2->GetEntries());
115  TNtuple* hntuple3 = (TNtuple*)fresb3->Get("nhits");
116  trksCur+= 0.25*(hntuple3->GetEntries());
117  TNtuple* hntuple4 = (TNtuple*)fresb4->Get("nhits");
118  trksCur+= 0.25*(hntuple4->GetEntries());
119  TNtuple* hntuple5 = (TNtuple*)fresb5->Get("nhits");
120  trksCur+= 0.25*(hntuple5->GetEntries());
121  TNtuple* hntuple6 = (TNtuple*)fresb6->Get("nhits");
122  trksCur+= 0.25*(hntuple6->GetEntries());
123  TNtuple* hntuple7 = (TNtuple*)fresb7->Get("nhits");
124  trksCur+= 0.25*(hntuple7->GetEntries());
125  TNtuple* hntuple8 = (TNtuple*)fresb8->Get("nhits");
126  trksCur+= 0.25*(hntuple8->GetEntries());
127  TNtuple* hntuple9 = (TNtuple*)fresb9->Get("nhits");
128  trksCur+= 0.25*(hntuple9->GetEntries());
129  Trks[i] = int(trksCur*0.1);
130 
132  TString namemisc = path + "/KnossosResults.root";
133  TFile *fmisc = new TFile(namemisc,"READ");
134  if (fmisc->IsZombie()) {
135  std::cout << "!!! Error opening file " <<namemisc<< std::endl;
136  // return;
137  }
138  TH2F *hmis_b_0 = (TH2F*)fmisc->Get("mis_before_0");
139  mis_b[0][i] = 1e4*(hmis_b_0->ProjectionY()->GetRMS());
140  TH2F *hmis_b_1 = (TH2F*)fmisc->Get("mis_before_1");
141  mis_b[1][i] = 1e4*(hmis_b_1->ProjectionY()->GetRMS());
142  TH2F *hmis_b_2 = (TH2F*)fmisc->Get("mis_before_2");
143  mis_b[2][i] = 1e4*(hmis_b_2->ProjectionY()->GetRMS());
144  TH2F *hmis_b_3 = (TH2F*)fmisc->Get("mis_before_3");
145  mis_b[3][i] = 1e3*(hmis_b_3->ProjectionY()->GetRMS());
146  TH2F *hmis_b_4 = (TH2F*)fmisc->Get("mis_before_4");
147  mis_b[4][i] = 1e3*(hmis_b_4->ProjectionY()->GetRMS());
148  TH2F *hmis_b_5 = (TH2F*)fmisc->Get("mis_before_5");
149  mis_b[5][i] = 1e3*(hmis_b_5->ProjectionY()->GetRMS());
150 
151  TH2F *hmis_a_0 = (TH2F*)fmisc->Get("mis_diff_0");
152  mis_a[0][i] = 1e4*(hmis_a_0->ProjectionY()->GetRMS());
153  TH2F *hmis_a_1 = (TH2F*)fmisc->Get("mis_diff_1");
154  mis_a[1][i] = 1e4*(hmis_a_1->ProjectionY()->GetRMS());
155  TH2F *hmis_a_2 = (TH2F*)fmisc->Get("mis_diff_2");
156  mis_a[2][i] = 1e4*(hmis_a_2->ProjectionY()->GetRMS());
157  TH2F *hmis_a_3 = (TH2F*)fmisc->Get("mis_diff_3");
158  mis_a[3][i] = 1e3*(hmis_a_3->ProjectionY()->GetRMS());
159  TH2F *hmis_a_4 = (TH2F*)fmisc->Get("mis_diff_4");
160  mis_a[4][i] = 1e3*(hmis_a_4->ProjectionY()->GetRMS());
161  TH2F *hmis_a_5 = (TH2F*)fmisc->Get("mis_diff_5");
162  mis_a[5][i] = 1e3*(hmis_a_5->ProjectionY()->GetRMS());
164 
165 
167  TString name1 = path + "/Lumi_out_MC_and_REC_trks_matches_with_IDs0_dr_";
168  name1+=tr_sc;
169  name1+="_da_";
170  name1+=rt_sc;
171  name1+="_before.root";
172 
173  TString name2 = path + "/Lumi_out_MC_and_REC_trks_matches_with_IDs0_dr_";
174  name2+=tr_sc;
175  name2+="_da_";
176  name2+=rt_sc;
177  name2+="_after.root";
178 
179  TString name3 = pathG+"/results_0mkm_0mrad_";
180  name3+=nTrks;
181  name3+="events/Lumi_out_MC_and_REC_trks_matches_with_IDs0_dr_0_da_0_before.root";
182 
183  // TH1F *hbeforetmp; TH1F *haftertmp;
184  TH1F *hbefore;
185  TH1F *hafter;
186  TH1F *hrefer;
187 
188  TFile *f1 = new TFile(name1,"READ");
189  if (f1->IsZombie()) {
190  std::cout << "!!! Error opening file " <<name1<< std::endl;
191  // return;
192  }
193 
194  hbefore = (TH1F*)f1->Get("hResTheta");
195  hbefore->SetName("hResThetaBefore");
196  hbefore->SetTitle("#theta resolution");
197  // hbefore->Print();
198  TF1 *funrth_b = new TF1("fitrth_b","gaus",-0.01,0.01);
199  funrth_b->SetParameters(100,0,3e-3);
200  funrth_b->SetParNames("Constant","Mean","Sigma");
201  hbefore->Fit(funrth_b);
202  theta_mean_b[i] = 1e6*(funrth_b->GetParameter("Mean"));
203  theta_rms_b[i] = 1e6*(funrth_b->GetParameter("Sigma"));
204 
205 
206  TFile *f2 = new TFile(name2,"READ");
207  if (f2->IsZombie()) {
208  std::cout << "!!! Error opening file " <<name2<< std::endl;
209  // return;
210  }
211 
212  hafter = (TH1F*)f2->Get("hResTheta");
213  hafter->SetName("hResThetaAfter");
214  hafter->SetTitle("#theta resolution");
215 
216  TF1 *funrth_a = new TF1("fitrth_a","gaus",-0.01,0.01);
217  funrth_a->SetParameters(100,0,3e-3);
218  funrth_a->SetParNames("Constant","Mean","Sigma");
219  hafter->Fit(funrth_a);
220 
221  theta_mean_a[i] = 1e6*(funrth_a->GetParameter("Mean"));
222  theta_rms_a[i] = 1e6*(funrth_a->GetParameter("Sigma"));
223 
224  TFile *f3 = new TFile(name3,"READ");
225  if (f3->IsZombie()) {
226  std::cout << "!!! Error opening file " <<name2<< std::endl;
227  // return;
228  }
229 
230  hrefer = (TH1F*)f3->Get("hResTheta");
231  hrefer->SetName("hResThetaRef");
232  hrefer->SetTitle("#theta resolution");
233 
234  TF1 *funrth_r = new TF1("fitrth_r","gaus",-0.01,0.01);
235  funrth_r->SetParameters(100,0,3e-3);
236  funrth_r->SetParNames("Constant","Mean","Sigma");
237  hrefer->Fit(funrth_r);
238  theta_mean_r[i] = 1e6*(funrth_r->GetParameter("Mean"));
239  theta_rms_r[i] = 1e6*(funrth_r->GetParameter("Sigma"));
241  }
242  TCanvas c1;
243  TGraph *grstat = new TGraph(nS,TrksSim,Trks);
244  grstat->SetMarkerStyle(22);
245  grstat->SetMarkerSize(2.5);
246  grstat->Draw("APL");
247  // grstat->GetYaxis()->SetTitle("Average number of rec. trks per sector");
248  grstat->GetXaxis()->SetTitle("Number of sim. trks");
249  grstat->SetTitle("Average number of rec. trks per sector (used in Knossos)");
250  c1.Print(resname_pdf_o); //write canvas and keep the ps file open
251  c1.Clear();
252  //put together missalignment consts results
253  TGraph *gr_mis_b[6];
254  TGraph *gr_mis_a[6];
255  TMultiGraph *mgr_mis[6];
256 
257  for (int g=0;g<6;g++){
258  gr_mis_b[g] = new TGraph(nS,Trks,mis_b[g]);
259  gr_mis_b[g]->SetMarkerStyle(20);
260  gr_mis_b[g]->SetMarkerColor(kGreen-3);
261  gr_mis_b[g]->SetMarkerSize(2.5);
262  gr_mis_a[g] = new TGraph(nS,Trks,mis_a[g]);
263  gr_mis_a[g]->SetMarkerStyle(29);
264  gr_mis_a[g]->SetMarkerColor(kOrange+7);
265  gr_mis_a[g]->SetMarkerSize(2.5);
266  mgr_mis[g] = new TMultiGraph();
267  mgr_mis[g]->Add(gr_mis_b[g]);
268  mgr_mis[g]->Add(gr_mis_a[g]);
269  mgr_mis[g]->Draw("AP");
270  mgr_mis[g]->GetXaxis()->SetTitle("Average number of rec. trks per sector");
271  if(g==0) mgr_mis[g]->GetYaxis()->SetTitle("#Delta_{x}, #mum");
272  if(g==1) mgr_mis[g]->GetYaxis()->SetTitle("#Delta_{y}, #mum");
273  if(g==2) mgr_mis[g]->GetYaxis()->SetTitle("#Delta_{z}, #mum");
274  if(g==3) mgr_mis[g]->GetYaxis()->SetTitle("#Delta_{#alpha}, mrad");
275  if(g==4) mgr_mis[g]->GetYaxis()->SetTitle("#Delta_{#beta}, mrad");
276  if(g==5) mgr_mis[g]->GetYaxis()->SetTitle("#Delta_{#gamma}, mrad");
277  // char histoName[100];
278  // sprintf(histoName, "misalignemt_param_%d",g);
279  // mgr_mis[g]->GetYaxis()->SetTitle(histoName);
280  if(g<2 || g==5) c1.Print(resname_pdf_o); //write canvas and keep the ps file open
281  c1.Clear();
282  }
283 
284  //put together theta resolution results
285  TGraph *gr_theta_b = new TGraph(nS,Trks, theta_mean_b);
286  gr_theta_b->SetMarkerStyle(20);
287  gr_theta_b->SetMarkerColor(kGreen-3);
288  gr_theta_b->SetMarkerSize(2.5);
289  TGraph *gr_theta_a = new TGraph(nS,Trks, theta_mean_a);
290  gr_theta_a->SetMarkerStyle(29);
291  gr_theta_a->SetMarkerColor(kOrange+7);
292  gr_theta_a->SetMarkerSize(2.5);
293  TGraph *gr_theta_r = new TGraph(nS,Trks, theta_mean_r);
294  gr_theta_r->SetMarkerStyle(21);
295  gr_theta_r->SetMarkerColor(15);
296  gr_theta_r->SetMarkerSize(2.5);
297 
298 
299  TMultiGraph *mgr_theta = new TMultiGraph();
300  // mgr_theta->Add(gr_theta_b);
301  mgr_theta->Add(gr_theta_r);
302  mgr_theta->Add(gr_theta_a);
303 
304  mgr_theta->Draw("AP");
305  mgr_theta->GetXaxis()->SetTitle("Average number of rec. trks per sector");
306  mgr_theta->GetYaxis()->SetTitle("#theta_{mean}, #murad");
307  c1.Print(resname_pdf_o); //write canvas and keep the ps file open
308  c1.Clear();
309 
310  TGraphErrors *gr_theta_rms_b = new TGraphErrors(nS,Trks,theta_rms_b);
311  gr_theta_rms_b->SetMarkerStyle(20);
312  gr_theta_rms_b->SetMarkerColor(kGreen-3);
313  gr_theta_rms_b->SetMarkerSize(2.5);
314  TGraphErrors *gr_theta_rms_a = new TGraphErrors(nS,Trks,theta_rms_a);
315  gr_theta_rms_a->SetMarkerStyle(29);
316  gr_theta_rms_a->SetMarkerColor(kOrange+7);
317  gr_theta_rms_a->SetMarkerSize(2.5);
318  TGraphErrors *gr_theta_rms_r = new TGraphErrors(nS,Trks,theta_rms_r);
319  gr_theta_rms_r->SetMarkerStyle(21);
320  gr_theta_rms_r->SetMarkerColor(15);
321  gr_theta_rms_r->SetMarkerSize(2.5);
322  TMultiGraph *mgr_theta_rms = new TMultiGraph();
323  // mgr_theta_rms->Add(gr_theta_rms_b);
324  mgr_theta_rms->Add(gr_theta_rms_r);
325  mgr_theta_rms->Add(gr_theta_rms_a);
326  mgr_theta_rms->Draw("AP");
327  mgr_theta_rms->GetXaxis()->SetTitle("Average number of rec. trks per sector");
328  mgr_theta_rms->GetYaxis()->SetTitle("#theta_{#sigma}, #murad");
329  c1.Print(resname_pdf_c); //write canvas and close ps file
330 
331  TString out = resname+".root";
332  TFile *f = new TFile(out,"RECREATE");
333  for (int g=0;g<6;g++){
334  gr_mis_b[g]->Write();
335  gr_mis_a[g]->Write();
336  mgr_mis[g]->Write();
337  }
338  gr_theta_b->Write();
339  gr_theta_r->Write();
340  gr_theta_a->Write();
341  mgr_theta->Write();
342  gr_theta_rms_b->Write();
343  gr_theta_rms_r->Write();
344  gr_theta_rms_a->Write();
345  mgr_theta_rms->Write();
346  f->Write();
347  f->Close();
348 
349 // // ///Residuals ------------------------------------------------------------------------------
350 // TString nameresb0 = path + "/hitsRes_before_alignment_sector0.root";
351 // TString nameresa0 = path + "/hitsRes_after_alignment_sector0.root";
352 // TString nameresb1 = path + "/hitsRes_before_alignment_sector1.root";
353 // TString nameresa1 = path + "/hitsRes_after_alignment_sector1.root";
354 // TString nameresb2 = path + "/hitsRes_before_alignment_sector2.root";
355 // TString nameresa2 = path + "/hitsRes_after_alignment_sector2.root";
356 // TString nameresb3 = path + "/hitsRes_before_alignment_sector3.root";
357 // TString nameresa3 = path + "/hitsRes_after_alignment_sector3.root";
358 // TString nameresb4 = path + "/hitsRes_before_alignment_sector4.root";
359 // TString nameresa4 = path + "/hitsRes_after_alignment_sector4.root";
360 
361 // TFile *fresb0 = new TFile(nameresb0,"READ");
362 // if (fresb0->IsZombie()) {
363 // std::cout << "!!! Error opening file " <<nameresb0<< std::endl;
364 // // return;
365 // }
366 // TFile *fresa0 = new TFile(nameresa0,"READ");
367 // if (fresa0->IsZombie()) {
368 // std::cout << "!!! Error opening file " <<nameresa0<< std::endl;
369 // //return;
370 // }
371 // TFile *fresb1 = new TFile(nameresb1,"READ");
372 // if (fresb1->IsZombie()) {
373 // std::cout << "!!! Error opening file " <<nameresb1<< std::endl;
374 // // return;
375 // }
376 // TFile *fresa1 = new TFile(nameresa1,"READ");
377 // if (fresa1->IsZombie()) {
378 // std::cout << "!!! Error opening file " <<nameresa1<< std::endl;
379 // //return;
380 // }
381 // TFile *fresb2 = new TFile(nameresb2,"READ");
382 // if (fresb2->IsZombie()) {
383 // std::cout << "!!! Error opening file " <<nameresb2<< std::endl;
384 // // return;
385 // }
386 // TFile *fresa2 = new TFile(nameresa2,"READ");
387 // if (fresa2->IsZombie()) {
388 // std::cout << "!!! Error opening file " <<nameresa2<< std::endl;
389 // //return;
390 // }
391 // TFile *fresb3 = new TFile(nameresb3,"READ");
392 // if (fresb3->IsZombie()) {
393 // std::cout << "!!! Error opening file " <<nameresb3<< std::endl;
394 // // return;
395 // }
396 // TFile *fresa3 = new TFile(nameresa3,"READ");
397 // if (fresa3->IsZombie()) {
398 // std::cout << "!!! Error opening file " <<nameresa3<< std::endl;
399 // //return;
400 // }
401 // TFile *fresb4 = new TFile(nameresb4,"READ");
402 // if (fresb4->IsZombie()) {
403 // std::cout << "!!! Error opening file " <<nameresb4<< std::endl;
404 // // return;
405 // }
406 // TFile *fresa4 = new TFile(nameresa4,"READ");
407 // if (fresa4->IsZombie()) {
408 // std::cout << "!!! Error opening file " <<nameresa4<< std::endl;
409 // //return;
410 // }
411 
412 // TH2F *hresxb0 = (TH2F*)fresb0->Get("resx");
413 // TH2F *hresxa0 = (TH2F*)fresa0->Get("resx");
414 // TH2F *hresyb0 = (TH2F*)fresb0->Get("resy");
415 // TH2F *hresya0 = (TH2F*)fresa0->Get("resy");
416 
417 // TH2F *hresxb1 = (TH2F*)fresb1->Get("resx");
418 // TH2F *hresxa1 = (TH2F*)fresa1->Get("resx");
419 // TH2F *hresyb1 = (TH2F*)fresb1->Get("resy");
420 // TH2F *hresya1 = (TH2F*)fresa1->Get("resy");
421 // TH2F *hresxb2 = (TH2F*)fresb2->Get("resx");
422 // TH2F *hresxa2 = (TH2F*)fresa2->Get("resx");
423 // TH2F *hresyb2 = (TH2F*)fresb2->Get("resy");
424 // TH2F *hresya2 = (TH2F*)fresa2->Get("resy");
425 // TH2F *hresxb3 = (TH2F*)fresb3->Get("resx");
426 // TH2F *hresxa3 = (TH2F*)fresa3->Get("resx");
427 // TH2F *hresyb3 = (TH2F*)fresb3->Get("resy");
428 // TH2F *hresya3 = (TH2F*)fresa3->Get("resy");
429 // TH2F *hresxb4 = (TH2F*)fresb4->Get("resx");
430 // TH2F *hresxa4 = (TH2F*)fresa4->Get("resx");
431 // TH2F *hresyb4 = (TH2F*)fresb4->Get("resy");
432 // TH2F *hresya4 = (TH2F*)fresa4->Get("resy");
433 
434 // // /// END (Residuals) -----------------------------------------------------------------------
435 
436 
437 
438 
439  // TCanvas c1("c1");
440  // hrefer->SetLineStyle(2);
441  // hrefer->SetLineColor(13);
442  // hrefer->SetFillColor(kGray);
443  // hrefer->SetFillStyle(3003);
444  // hrefer->Draw();
445  // hbefore->SetLineColor(kGreen-3);
446  // hbefore->SetFillColor(kGreen-3);
447  // hbefore->SetFillStyle(3335);
448  // hbefore->Draw("same");
449  // hafter->SetLineColor(kOrange+7);
450  // hafter->SetFillColor(kOrange+7);
451  // hafter->SetFillStyle(3353);
452  // hafter->Draw("same");
453 
454  // c1.Print(resname_pdf_o); //write canvas and keep the ps file open
455 
456 
457  // TCanvas c3("c3");
458  // hmis_b_0->SetTitle("translation x");
459  // hmis_b_0->GetXaxis()->SetTitle("module#");
460  // hmis_b_0->GetYaxis()->SetTitle("#Delta_{x}, cm");
461  // hmis_b_0->SetMarkerStyle(21);
462  // hmis_b_0->SetMarkerColor(kGreen-3);
463  // hmis_b_0->SetLineColor(kGreen-3);
464  // hmis_b_0->SetMarkerSize(2.);
465  // //hmis_b_0->SetMaximum(tr_sc*1.1*1e-4);
466  // // hmis_b_0->SetMinimum(0.);
467  // hmis_b_0->Draw("BOX");
468  // // c3.Print(resname_pdf_o); //write canvas and keep the ps file open
469  // hmis_a_0->SetTitle("translation x");
470  // hmis_a_0->GetXaxis()->SetTitle("module#");
471  // hmis_a_0->GetYaxis()->SetTitle("#Delta_{x}, cm");
472  // hmis_a_0->SetMarkerStyle(22);
473  // hmis_a_0->SetMarkerColor(kOrange+7);
474  // hmis_a_0->SetLineColor(kOrange+7);
475  // hmis_a_0->SetMarkerSize(2.);
476  // // hmis_a_0->SetMaximum(tr_sc*1.1*1e-4);
477  // // hmis_a_0->SetMinimum(0.);
478  // hmis_a_0->Draw("BOX;same");
479  // c3.Print(resname_pdf_o); //write canvas and keep the ps file open
480 
481  // TH1D* hconst_b_0 = hmis_b_0->ProjectionY();
482  // TH1D* hconst_a_0 = hmis_a_0->ProjectionY();
483  // hconst_b_0->SetLineColor(kGreen-3);
484  // hconst_a_0->SetLineColor(kOrange+7);
485  // hconst_a_0->Draw();
486  // hconst_b_0->Draw("same");
487  // c3.Print(resname_pdf_o); //write canvas and keep the ps file open
488  // hmis_b_1->SetTitle("translation y");
489  // hmis_b_1->GetXaxis()->SetTitle("module#");
490  // hmis_b_1->GetYaxis()->SetTitle("#Delta_{y}, cm");
491  // hmis_b_1->SetMarkerStyle(21);
492  // hmis_b_1->SetMarkerColor(kGreen-3);
493  // hmis_b_1->SetLineColor(kGreen-3);
494  // hmis_b_1->SetMarkerSize(2.);
495  // // hmis_b_1->SetMaximum(tr_sc*1.1*1e-4);
496  // // hmis_b_1->SetMinimum(0.);
497  // hmis_b_1->Draw("BOX");
498  // // c3.Print(resname_pdf_o); //write canvas and keep the ps file open
499  // hmis_a_1->SetTitle("translation y");
500  // hmis_a_1->GetXaxis()->SetTitle("module#");
501  // hmis_a_1->GetYaxis()->SetTitle("#Delta_{y}, cm");
502  // hmis_a_1->SetMarkerStyle(22);
503  // hmis_a_1->SetMarkerColor(kOrange+7);
504  // hmis_a_1->SetLineColor(kOrange+7);
505  // hmis_a_1->SetMarkerSize(2.);
506  // // hmis_a_1->SetMaximum(tr_sc*1.1*1e-4);
507  // // hmis_a_1->SetMinimum(0.);
508  // hmis_a_1->Draw("BOX;same");
509  // c3.Print(resname_pdf_o); //write canvas and keep the ps file open
510  // TH1D* hconst_b_1 = hmis_b_1->ProjectionY();
511  // TH1D* hconst_a_1 = hmis_a_1->ProjectionY();
512  // hconst_b_1->SetLineColor(kGreen-3);
513  // hconst_a_1->SetLineColor(kOrange+7);
514  // hconst_a_1->Draw();
515  // hconst_b_1->Draw("same");
516  // c3.Print(resname_pdf_o); //write canvas and keep the ps file open
517 
518  // hmis_b_2->SetTitle("translation z");
519  // hmis_b_2->GetXaxis()->SetTitle("module#");
520  // hmis_b_2->GetYaxis()->SetTitle("#Delta_{z}, cm");
521  // hmis_b_2->SetMarkerStyle(21);
522  // hmis_b_2->SetMarkerColor(kGreen-3);
523  // hmis_b_2->SetLineColor(kGreen-3);
524  // hmis_b_2->SetMarkerSize(2.);
525  // // hmis_b_2->SetMaximum(tr_sc*1.1*1e-4);
526  // // hmis_b_2->SetMinimum(0.);
527  // hmis_b_2->Draw("BOX");
528  // // c3.Print(resname_pdf_o); //write canvas and keep the ps file open
529  // hmis_a_2->SetTitle("translation z");
530  // hmis_a_2->GetXaxis()->SetTitle("module#");
531  // hmis_a_2->GetYaxis()->SetTitle("#Delta_{z}, cm");
532  // hmis_a_2->SetMarkerStyle(22);
533  // hmis_a_2->SetMarkerColor(kOrange+7);
534  // hmis_a_2->SetLineColor(kOrange+7);
535  // hmis_a_2->SetMarkerSize(2.);
536  // // hmis_a_2->SetMaximum(tr_sc*1.1*1e-4);
537  // // hmis_a_2->SetMinimum(0.);
538  // hmis_a_2->Draw("BOX;same");
539  // // c3.Print(resname_pdf_o); //write canvas and keep the ps file open
540  // hmis_b_3->SetTitle("rotation x");
541  // hmis_b_3->GetXaxis()->SetTitle("module#");
542  // hmis_b_3->GetYaxis()->SetTitle("#Delta_{#alpha}, rad");
543  // hmis_b_3->SetMarkerStyle(21);
544  // hmis_b_3->SetMarkerColor(kGreen-3);
545  // hmis_b_3->SetLineColor(kGreen-3);
546  // hmis_b_3->SetMarkerSize(2.);
547  // // hmis_b_3->SetMaximum(rt_sc*10.1*1e-3);
548  // // hmis_b_3->SetMinimum(0.);
549  // hmis_b_3->Draw("BOX");
550  // // c3.Print(resname_pdf_o); //write canvas and keep the ps file open
551  // hmis_a_3->SetTitle("rotation x");
552  // hmis_a_3->GetXaxis()->SetTitle("module#");
553  // hmis_a_3->GetYaxis()->SetTitle("#Delta_{#alpha}, rad");
554  // hmis_a_3->SetMarkerStyle(22);
555  // hmis_a_3->SetMarkerColor(kOrange+7);
556  // hmis_a_3->SetLineColor(kOrange+7);
557  // hmis_a_3->SetMarkerSize(2.);
558  // // hmis_a_3->SetMaximum(rt_sc*10.1*1e-3);
559  // // hmis_a_3->SetMinimum(0.);
560  // hmis_a_3->Draw("BOX;same");
561  // // c3.Print(resname_pdf_o); //write canvas and keep the ps file open
562  // hmis_b_4->SetTitle("rotation y");
563  // hmis_b_4->GetXaxis()->SetTitle("module#");
564  // hmis_b_4->GetYaxis()->SetTitle("#Delta_{#beta}, rad");
565  // hmis_b_4->SetMarkerStyle(21);
566  // hmis_b_4->SetMarkerColor(kGreen-3);
567  // hmis_b_4->SetLineColor(kGreen-3);
568  // hmis_b_4->SetMarkerSize(2.);
569  // // hmis_b_4->SetMaximum(rt_sc*10.1*1e-3);
570  // // hmis_b_4->SetMinimum(0.);
571  // hmis_b_4->Draw("BOX");
572  // // c3.Print(resname_pdf_o); //write canvas and keep the ps file open
573  // hmis_a_4->SetTitle("rotation y");
574  // hmis_a_4->GetXaxis()->SetTitle("module#");
575  // hmis_a_4->GetYaxis()->SetTitle("#Delta_{#beta}, rad");
576  // hmis_a_4->SetMarkerStyle(22);
577  // hmis_a_4->SetMarkerColor(kOrange+7);
578  // hmis_a_4->SetLineColor(kOrange+7);
579  // hmis_a_4->SetMarkerSize(2.);
580  // // hmis_a_4->SetMaximum(rt_sc*10.1*1e-3);
581  // // hmis_a_4->SetMinimum(0.);
582  // hmis_a_4->Draw("BOX;same");
583  // // c3.Print(resname_pdf_o); //write canvas and keep the ps file open
584  // hmis_b_5->SetTitle("rotation z");
585  // hmis_b_5->GetXaxis()->SetTitle("module#");
586  // hmis_b_5->GetYaxis()->SetTitle("#Delta_{#gamma}, rad");
587  // hmis_b_5->SetMarkerStyle(21);
588  // hmis_b_5->SetMarkerColor(kGreen-3);
589  // hmis_b_5->SetLineColor(kGreen-3);
590  // hmis_b_5->SetMarkerSize(2.);
591  // // hmis_b_5->SetMaximum(rt_sc*1.1*1e-3);
592  // // hmis_b_5->SetMinimum(0.);
593  // hmis_b_5->Draw("BOX");
594  // // c3.Print(resname_pdf_o); //write canvas and keep the ps file open
595  // hmis_a_5->SetTitle("rotation z");
596  // hmis_a_5->GetXaxis()->SetTitle("module#");
597  // hmis_a_5->GetYaxis()->SetTitle("#Delta_{#gamma}, rad");
598  // hmis_a_5->SetMarkerStyle(22);
599  // hmis_a_5->SetMarkerColor(kOrange+7);
600  // hmis_a_5->SetLineColor(kOrange+7);
601  // hmis_a_5->SetMarkerSize(2.);
602  // // hmis_a_5->SetMaximum(rt_sc*1.1*1e-3);
603  // // hmis_a_5->SetMinimum(0.);
604  // hmis_a_5->Draw("BOX;same");
605 
606  // c3.Print(resname_pdf_o); //write canvas and keep the ps file open
607 
608  // TH1D* hconst_b_5 = hmis_b_5->ProjectionY();
609  // TH1D* hconst_a_5 = hmis_a_5->ProjectionY();
610  // hconst_b_5->SetLineColor(kGreen-3);
611  // hconst_a_5->SetLineColor(kOrange+7);
612  // hconst_a_5->Draw();
613  // hconst_b_5->Draw("same");
614  // c3.Print(resname_pdf_o); //write canvas and keep the ps file open
615 
616  // TCanvas c2("residualsx");
617  // // c2.Divide(3,2);
618  // hresxb0->SetMarkerStyle(6);
619  // hresxb0->SetTitle("sector 0");
620  // hresxb0->SetMarkerColor(kGreen-3);
621  // hresxb0->SetLineColor(kGreen-3);
622  // hresyb0->SetMarkerStyle(6);
623  // hresyb0->SetTitle("sector 0");
624  // hresyb0->SetMarkerColor(kGreen-3);
625  // hresyb0->SetLineColor(kGreen-3);
626  // hresxa0->SetMarkerStyle(6);
627  // hresxa0->SetMarkerColor(kOrange+7);
628  // hresxa0->SetLineColor(kOrange+7);
629  // hresya0->SetMarkerStyle(6);
630  // hresya0->SetMarkerColor(kOrange+7);
631  // hresya0->SetLineColor(kOrange+7);
632 
633  // hresxb1->SetMarkerStyle(6);
634  // hresxb1->SetMarkerColor(kGreen-3);
635  // hresxb1->SetLineColor(kGreen-3);
636  // hresyb1->SetMarkerStyle(6);
637  // hresyb1->SetMarkerColor(kGreen-3);
638  // hresyb1->SetLineColor(kGreen-3);
639  // hresxa1->SetMarkerStyle(6);
640  // hresxa1->SetMarkerColor(kOrange+7);
641  // hresxa1->SetLineColor(kOrange+7);
642  // hresya1->SetMarkerStyle(6);
643  // hresya1->SetMarkerColor(kOrange+7);
644  // hresya1->SetLineColor(kOrange+7);
645  // hresxb1->SetTitle("sector 1");
646  // hresyb1->SetTitle("sector 1");
647 
648  // hresxb2->SetMarkerStyle(6);
649  // hresxb2->SetMarkerColor(kGreen-3);
650  // hresxb2->SetLineColor(kGreen-3);
651  // hresyb2->SetMarkerStyle(6);
652  // hresyb2->SetMarkerColor(kGreen-3);
653  // hresyb2->SetLineColor(kGreen-3);
654  // hresxa2->SetMarkerStyle(6);
655  // hresxa2->SetMarkerColor(kOrange+7);
656  // hresxa2->SetLineColor(kOrange+7);
657  // hresya2->SetMarkerStyle(6);
658  // hresya2->SetMarkerColor(kOrange+7);
659  // hresya2->SetLineColor(kOrange+7);
660  // hresxb2->SetTitle("sector 2");
661  // hresyb2->SetTitle("sector 2");
662 
663  // hresxb3->SetMarkerStyle(6);
664  // hresxb3->SetMarkerColor(kGreen-3);
665  // hresxb3->SetLineColor(kGreen-3);
666  // hresyb3->SetMarkerStyle(6);
667  // hresyb3->SetMarkerColor(kGreen-3);
668  // hresyb3->SetLineColor(kGreen-3);
669  // hresxa3->SetMarkerStyle(6);
670  // hresxa3->SetMarkerColor(kOrange+7);
671  // hresxa3->SetLineColor(kOrange+7);
672  // hresya3->SetMarkerStyle(6);
673  // hresya3->SetMarkerColor(kOrange+7);
674  // hresya3->SetLineColor(kOrange+7);
675  // hresxb3->SetTitle("sector 3");
676  // hresyb3->SetTitle("sector 3");
677 
678  // hresxb4->SetMarkerStyle(6);
679  // hresxb4->SetMarkerColor(kGreen-3);
680  // hresxb4->SetLineColor(kGreen-3);
681  // hresyb4->SetMarkerStyle(6);
682  // hresyb4->SetMarkerColor(kGreen-3);
683  // hresyb4->SetLineColor(kGreen-3);
684  // hresxa4->SetMarkerStyle(6);
685  // hresxa4->SetMarkerColor(kOrange+7);
686  // hresxa4->SetLineColor(kOrange+7);
687  // hresya4->SetMarkerStyle(6);
688  // hresya4->SetMarkerColor(kOrange+7);
689  // hresya4->SetLineColor(kOrange+7);
690  // hresxb4->SetTitle("sector 4");
691  // hresyb4->SetTitle("sector 4");
692 
693  // // c2.cd(1);
694  // hresxb0->Draw("BOX");
695  // hresxa0->Draw("BOX;same");
696  // c2.Print(resname_pdf_o); //write canvas and keep the ps file open
697  // // c2.cd(2);
698  // hresxb1->Draw("BOX");
699  // hresxa1->Draw("BOX;same");
700  // c2.Print(resname_pdf_o); //write canvas and keep the ps file open
701  // // c2.cd(3);
702  // hresxb2->Draw("BOX");
703  // hresxa2->Draw("BOX;same");
704  // c2.Print(resname_pdf_o); //write canvas and keep the ps file open
705  // // c2.cd(4);
706  // hresxb3->Draw("BOX");
707  // hresxa3->Draw("BOX;same");
708  // c2.Print(resname_pdf_o); //write canvas and keep the ps file open
709  // // c2.cd(5);
710  // hresxb4->Draw("BOX");
711  // hresxa4->Draw("BOX;same");
712  // c2.Print(resname_pdf_o); //write canvas and keep the ps file open
713 
714  // TCanvas c4("residualsy");
715  // // c4.Divide(3,2);
716  // // c4.cd(1);
717  // hresyb0->Draw("BOX");
718  // hresya0->Draw("BOX;same");
719  // c4.Print(resname_pdf_o); //write canvas and keep the ps file open
720  // // c4.cd(2);
721  // hresyb1->Draw("BOX");
722  // hresya1->Draw("BOX;same");
723  // c4.Print(resname_pdf_o); //write canvas and keep the ps file open
724  // // c4.cd(3);
725  // hresyb2->Draw("BOX");
726  // hresya2->Draw("BOX;same");
727  // c4.Print(resname_pdf_o); //write canvas and keep the ps file open
728  // /// c4.cd(4);
729  // hresyb3->Draw("BOX");
730  // hresya3->Draw("BOX;same");
731  // c4.Print(resname_pdf_o); //write canvas and keep the ps file open
732  // // c4.cd(5);
733  // hresyb4->Draw("BOX");
734  // hresya4->Draw("BOX;same");
735  // //c4.Print(resname_pdf_o); //write canvas and keep the ps file open
736  // TString resname_pdf_c = resname_pdf+")";
737  // c4.Print(resname_pdf_c); //canvas is added to "c3.ps" and ps file is closed
738 
739  // // ---- Output file ----------------------------------------------------------------
740  // TString out = resname+".root";
741  // TFile *f = new TFile(out,"RECREATE");
742  // hrefer->Write();
743  // hbefore->Write();
744  // hafter->Write();
745  // hmis_b_0->Write();
746  // hmis_a_0->Write();
747  // hmis_b_1->Write();
748  // hmis_a_1->Write();
749  // hmis_b_2->Write();
750  // hmis_a_2->Write();
751  // hmis_b_3->Write();
752  // hmis_a_3->Write();
753  // hmis_b_4->Write();
754  // hmis_a_4->Write();
755  // hmis_b_5->Write();
756  // hmis_a_5->Write();
757 
758  // f->Write();
759  // f->Close();
760  // // // ---------------------------------------------------------------------------------
761  return 0;
762 }
Int_t i
Definition: run_full.C:25
TF1 * f1
Definition: reco_analys2.C:50
TFile * g
TFile * f3
TFile * f
Definition: bump_analys.C:12
TFile * out
Definition: reco_muo.C:20
c1
Definition: plot_dirc.C:35
TFile * f2