FairRoot/PandaRoot
plot_eta_c_tpc.C
Go to the documentation of this file.
1 {
2  bool saveHistos=false;
3  TString inFile="etac_histo_tpc.root";
4 
5  TFile *f = TFile::Open(inFile);
6 
7  TH1F *h_etac_nocut=(TH1F *)f->Get("h_etac_nocut");
8  TH1F *h_etac_pid=(TH1F *)f->Get("h_etac_pid");
9  TH1F *h_etac_vtx=(TH1F *)f->Get("h_etac_vtx");
10  TH1F *h_etac_4c=(TH1F *)f->Get("h_etac_4c");
11  TH1F *h_etac_phimass_4c=(TH1F *)f->Get("h_etac_phimass_4c");
12  TH1F *h_etac_phimass_vtx=(TH1F *)f->Get("h_etac_phimass_vtx");
13  TH1F *h_etac_phimassfit=(TH1F *)f->Get("h_etac_phimassfit");
14 
15  TH1F *h_mphi_nocuts=(TH1F *)f->Get("h_mphi_nocuts");
16  TH1F *h_mphi_pid=(TH1F *)f->Get("h_mphi_pid");
17  TH1F *h_mphi_vtx=(TH1F *)f->Get("h_mphi_vtx");
18  TH1F *h_mphi_4c=(TH1F *)f->Get("h_mphi_4c");
19  TH1F *h_mphi_final_4c=(TH1F *)f->Get("h_mphi_final_4c");
20  TH1F *h_mphi_final_vtx=(TH1F *)f->Get("h_mphi_final_vtx");
21  TH1F *h_mphi_final_massfit=(TH1F *)f->Get("h_mphi_final_massfit");
22 
23 
24  TH1F *nc=(TH1F *)f->Get("nc");
25 
26  TH1F *h_chi2_4c=(TH1F *)f->Get("h_chi2_4c");
27  TH1F *h_chi2b_4c=(TH1F *)f->Get("h_chi2b_4c");
28 
29  TH1F *h_chi2_vtx=(TH1F *)f->Get("h_chi2_vtx");
30  TH1F *h_chi2b_vtx=(TH1F *)f->Get("h_chi2b_vtx");
31  TH1F *hvzpos=(TH1F *)f->Get("hvzpos");
32  TH2F *hvpos=(TH2F *)f->Get("hvpos");
33 
34  TH1F *hvtxresX=(TH1F *)f->Get("hvtxresX");
35  TH1F *hvtxresY=(TH1F *)f->Get("hvtxresY");
36  TH1F *hvtxresZ=(TH1F *)f->Get("hvtxresZ");
37 
38  TH1F *n_etac_4c=(TH1F *)f->Get("n_etac_4c");
39  TH1F *n_etac_vtx=(TH1F *)f->Get("n_etac_vtx");
40  TH1F *n_events=(TH1F *)f->Get("n_events");
41 
42  double eff1=n_etac_4c->GetBinContent(1)/n_events->GetBinContent(1);
43  std::cout<<"Efficiency (4C-fit) = "<<eff1<<std::endl;
44  double eff2=n_etac_vtx->GetBinContent(1)/n_events->GetBinContent(1);
45  std::cout<<"Efficiency (vertex fit) = "<<eff2<<std::endl;
46 
47  // Max efficiency
48  // Numebr of events with >=4 reconstructed tracks
49  std::cout<<"Max efficiency="<<nc->Integral(5,20)/nc->GetEntries()<<std::endl;
50 
51  TCanvas *c1=new TCanvas("c1","N charged",600,600);
52  nc->Draw();
53  if (saveHistos) c1->SaveAs("n_charged_tpc.png");
54 
55  TCanvas *c2=new TCanvas("c2","No cuts",600,600);
56  c2->Divide(1,2);
57  c2->cd(1);
58  h_mphi_nocuts->SetTitleSize(18);
59  h_mphi_nocuts->GetXaxis()->SetTitleSize(0.05);
60  h_mphi_nocuts->GetXaxis()->SetLabelSize(0.06);
61  h_mphi_nocuts->GetXaxis()->SetTitleSize(0.05);
62  h_mphi_nocuts->GetYaxis()->SetLabelSize(0.06);
63  h_mphi_nocuts->Draw();
64  TLine *l1=new TLine(1.12,0,1.12,35000);
65  l1->SetLineColor(2);
66  l1->SetLineWidth(2);
67  l1->Draw();
68 
69  c2->cd(2);
70  h_etac_nocut->SetTitleSize(18);
71  h_etac_nocut->GetXaxis()->SetTitleSize(0.05);
72  h_etac_nocut->GetXaxis()->SetLabelSize(0.06);
73  h_etac_nocut->GetXaxis()->SetTitleSize(0.05);
74  h_etac_nocut->GetYaxis()->SetLabelSize(0.06);
75  h_etac_nocut->Draw();
76  if (saveHistos) c2->SaveAs("m_nocuts_tpc.png");
77 
78  TCanvas *c3=new TCanvas("c3","MC PID",600,600);
79  c3->Divide(1,2);
80  c3->cd(1);
81  h_mphi_pid->SetTitleSize(18);
82  h_mphi_pid->GetXaxis()->SetTitleSize(0.05);
83  h_mphi_pid->GetXaxis()->SetLabelSize(0.06);
84  h_mphi_pid->GetXaxis()->SetTitleSize(0.05);
85  h_mphi_pid->GetYaxis()->SetLabelSize(0.06);
86  h_mphi_pid->Draw();
87 
88  TLine *l2=new TLine(1.12,0,1.12,35000);
89  l2->SetLineColor(2);
90  l2->SetLineWidth(2);
91  l2->Draw();
92 
93  c3->cd(2);
94  h_etac_pid->SetTitleSize(18);
95  h_etac_pid->GetXaxis()->SetTitleSize(0.05);
96  h_etac_pid->GetXaxis()->SetLabelSize(0.06);
97  h_etac_pid->GetXaxis()->SetTitleSize(0.05);
98  h_etac_pid->GetYaxis()->SetLabelSize(0.06);
99  h_etac_pid->Draw();
100  if (saveHistos) c3->SaveAs("m_pid_tpc.png");
101 
103 // TCanvas *c4=new TCanvas("c4","chi2 (4C-fit)",600,600);
104 // c4->Divide(2,1);
105 // c4->cd(1);
106 // h_chi2_4c->Draw();
107 // c4->cd(2);
108 // h_chi2b_4c->Draw();
109 // if (saveHistos) c4->SaveAs("chi2_4c_tpc.png");
110 //
111 // TCanvas *c5=new TCanvas("c5","m (4C-fit)",600,600);
112 // c5->Divide(1,2);
113 // c5->cd(1);
114 // h_mphi_4c->Draw();
115 // c5->cd(2);
116 // h_etac_4c->Draw();
117 // if (saveHistos) c5->SaveAs("m_4c_tpc.png");
118 
120  TCanvas *c6=new TCanvas("c6","Vertex position",600,600);
121  c6->Divide(2,1);
122  c6->cd(1);
123  hvpos->Draw();
124  c6->cd(2);
125  hvzpos->Draw();
126  if (saveHistos) c6->SaveAs("vertex_pos_tpc.png");
127 
128 // TCanvas *c7=new TCanvas("c7","Vertex fit chi2",600,600);
129 // c7->Divide(2,1);
130 // c7->cd(1);
131 // h_chi2_vtx->Draw();
132 // c7->cd(2);
133 // h_chi2b_vtx->Draw();
134 // if (saveHistos) c7->SaveAs("chi2_vtx_tpc.png");
135 
136  TCanvas *c8=new TCanvas("c8","Vertex resolution",600,600);
137  c8->Divide(2,2);
138  c8->cd(1);
139  hvtxresX->Draw();
140 
141  TF1 *f1_vtxx= new TF1("f1_vtxx","gaus",-1.,1.);
142  hvtxresX->Fit(f1_vtxx,"R","",-1,1.);
143  double mean_x=f1_vtxx->GetParameter(1);
144  double sigma_x=f1_vtxx->GetParameter(2);
145  TF1 *f2_vtxx= new TF1("f2_vtxx","gaus",-1.,1.);
146  hvtxresX->Fit(f2_vtxx,"R","",mean_x-1.6*sigma_x,mean_x+1.6*sigma_x);
147  double mean_x2=f2_vtxx->GetParameter(1);
148  double sigma_x2=f2_vtxx->GetParameter(2);
149  std::cout<<"!!!!!!!!!! vertex x resolution = "<<sigma_x2<<std::endl;
150 
151  c8->cd(2);
152  hvtxresY->Draw();
153  TF1 *f1_vtxy= new TF1("f1_vtxy","gaus",-1.,1.);
154  hvtxresY->Fit(f1_vtxy,"R","",-1,1.);
155  double mean_y=f1_vtxy->GetParameter(1);
156  double sigma_y=f1_vtxy->GetParameter(2);
157  TF1 *f2_vtxy= new TF1("f2_vtxy","gaus",-1.,1.);
158  hvtxresY->Fit(f2_vtxy,"R","",mean_y-1.6*sigma_y,mean_y+1.6*sigma_y);
159  double mean_y2=f2_vtxy->GetParameter(1);
160  double sigma_y2=f2_vtxy->GetParameter(2);
161  std::cout<<"!!!!!!!!!! vertex y resolution = "<<sigma_y2<<std::endl;
162 
163  c8->cd(3);
164  hvtxresZ->Draw();
165  TF1 *f1_vtxz= new TF1("f1_vtxz","gaus",-1.,1.);
166  hvtxresZ->Fit(f1_vtxz,"R","",-1,1.);
167  double mean_z=f1_vtxz->GetParameter(1);
168  double sigma_z=f1_vtxz->GetParameter(2);
169  TF1 *f2_vtxz= new TF1("f2_vtxz","gaus",-1.,1.);
170  hvtxresZ->Fit(f2_vtxz,"R","",mean_z-1.6*sigma_z,mean_z+1.6*sigma_z);
171  double mean_z2=f2_vtxz->GetParameter(1);
172  double sigma_z2=f2_vtxz->GetParameter(2);
173  std::cout<<"!!!!!!!!!! vertex z resolution = "<<sigma_z2<<std::endl;
174 
175 
176  if (saveHistos) c8->SaveAs("vertex_res_tpc.png");
177 
178  TCanvas *c9=new TCanvas("c9","m vertex",600,600);
179  c9->Divide(1,2);
180  c9->cd(1);
181  h_mphi_vtx->SetTitleSize(18);
182  h_mphi_vtx->GetXaxis()->SetTitleSize(0.05);
183  h_mphi_vtx->GetXaxis()->SetLabelSize(0.06);
184  h_mphi_vtx->GetXaxis()->SetTitleSize(0.05);
185  h_mphi_vtx->GetYaxis()->SetLabelSize(0.06);
186  h_mphi_vtx->Draw();
187  c9->cd(2);
188  h_etac_vtx->SetTitleSize(18);
189  h_etac_vtx->GetXaxis()->SetTitleSize(0.05);
190  h_etac_vtx->GetXaxis()->SetLabelSize(0.06);
191  h_etac_vtx->GetXaxis()->SetTitleSize(0.05);
192  h_etac_vtx->GetYaxis()->SetLabelSize(0.06);
193  h_etac_vtx->Draw();
194  if (saveHistos) c9->SaveAs("m_vtx_tpc.png");
195 
196 
197  double mean_phi, range_phi, sigma1_phi, mean1_phi, sigma2_phi, mean_etac, range_etac;
198  double sigma1, mean1, sigma2;
199 
201 // TCanvas *c10=new TCanvas("c10","Mass final (4C-fit)",600,600);
202 // c10->Divide(1,2);
203 // c10->cd(1);
204 // h_mphi_final_4c->Draw();
205 //
206 // mean_phi=1.02;
207 // range_phi=0.02;
208 //
209 // TF1 *f1_phi_4c = new TF1("f1_phi_4c","gaus",0.9,1.1);
210 // h_mphi_final_4c->Fit(f1_phi_4c,"R","",mean_phi-range_phi,mean_phi+range_phi);
211 //
212 // sigma1_phi=f1_phi_4c->GetParameter(2);
213 // mean1_phi=f1_phi_4c->GetParameter(1);
214 //
215 // TF1 *f2_phi_4c = new TF1("f2_phi_4c","gaus",0.9,1.1);
216 // h_mphi_final_4c->Fit(f2_phi_4c,"R","",mean1_phi-1.6*sigma1_phi,mean1_phi+1.6*sigma1_phi);
217 //
218 // sigma2_phi=f2_phi_4c->GetParameter(2);
219 // std::cout<<"!!!!!!!!!!!!!!!! sigma phi (4c-fit)="<<sigma2_phi<<std::endl;
220 //
221 // c10->cd(2);
222 // h_etac_phimass_4c->Draw();
223 // // fit eta_c
224 // mean_etac=2.98;
225 // range_etac=0.1;
226 //
227 // TF1 *f1_4c = new TF1("f1_4c","gaus",2.8,3.2);
228 // h_etac_phimass_4c->Fit(f1_4c,"R","",mean_etac-range_etac,mean_etac+range_etac);
229 //
230 // sigma1=f1_4c->GetParameter(2);
231 // mean1=f1_4c->GetParameter(1);
232 //
233 // TF1 *f2_4c = new TF1("f2_4c","gaus",2.8,3.2);
234 // h_etac_phimass_4c->Fit(f2_4c,"R","",mean1-1.6*sigma1,mean1+1.6*sigma1);
235 //
236 // sigma2=f2_4c->GetParameter(2);
237 // std::cout<<"!!!!!!!!!!!!! sigma eta_c (4c-fit) ="<<sigma2<<std::endl;
238 //
239 // if (saveHistos) c10->SaveAs("m_final_4c_tpc.png");
240 
242  TCanvas *c11=new TCanvas("c11","Mass final (Vertex fit)",600,600);
243  c11->Divide(1,2);
244  c11->cd(1);
245  h_mphi_final_vtx->SetTitleSize(18);
246  h_mphi_final_vtx->GetXaxis()->SetTitleSize(0.05);
247  h_mphi_final_vtx->GetXaxis()->SetLabelSize(0.06);
248  h_mphi_final_vtx->GetXaxis()->SetTitleSize(0.05);
249  h_mphi_final_vtx->GetYaxis()->SetLabelSize(0.06);
250 
251  h_mphi_final_vtx->Draw();
252 
253  mean_phi=1.02;
254  range_phi=0.02;
255 
256  TF1 *f1_phi_vtx = new TF1("f1_phi_vtx","gaus",0.9,1.1);
257  h_mphi_final_vtx->Fit(f1_phi_vtx,"R","",mean_phi-range_phi,mean_phi+range_phi);
258 
259  sigma1_phi=f1_phi_vtx->GetParameter(2);
260  mean1_phi=f1_phi_vtx->GetParameter(1);
261 
262  TF1 *f2_phi_vtx = new TF1("f2_phi_vtx","gaus",0.9,1.1);
263  h_mphi_final_vtx->Fit(f2_phi_vtx,"R","",mean1_phi-1.6*sigma1_phi,mean1_phi+1.6*sigma1_phi);
264 
265  sigma2_phi=f2_phi_vtx->GetParameter(2);
266  std::cout<<"!!!!!!!!!!!! sigma phi (vertex fit)="<<sigma2_phi<<std::endl;
267 
268  TLine *l3=new TLine(1.0,0,1.0,7000);
269  l3->SetLineColor(4);
270  l3->SetLineWidth(2);
271  l3->Draw();
272 
273  TLine *l4=new TLine(1.04,0,1.04,7000);
274  l4->SetLineColor(4);
275  l4->SetLineWidth(2);
276  l4->Draw();
277 
278 
279  c11->cd(2);
280  h_etac_phimass_vtx->SetTitleSize(18);
281  h_etac_phimass_vtx->GetXaxis()->SetTitleSize(0.05);
282  h_etac_phimass_vtx->GetXaxis()->SetLabelSize(0.06);
283  h_etac_phimass_vtx->GetXaxis()->SetTitleSize(0.05);
284  h_etac_phimass_vtx->GetYaxis()->SetLabelSize(0.06);
285 
286  h_etac_phimass_vtx->Draw();
287  // fit eta_c
288  mean_etac=2.98;
289  range_etac=0.1;
290 
291  TF1 *f1_vtx = new TF1("f1_vtx","gaus",2.8,3.2);
292  h_etac_phimass_vtx->Fit(f1_vtx,"R","",mean_etac-range_etac,mean_etac+range_etac);
293 
294  sigma1=f1_vtx->GetParameter(2);
295  mean1=f1_vtx->GetParameter(1);
296 
297  TF1 *f2_vtx = new TF1("f2_vtx","gaus",2.8,3.2);
298  h_etac_phimass_vtx->Fit(f2_vtx,"R","",mean1-1.6*sigma1,mean1+1.6*sigma1);
299 
300  sigma2=f2_vtx->GetParameter(2);
301  std::cout<<"!!!!!!!!!!!!!!! sigma eta_c (vertex fit) ="<<sigma2<<std::endl;
302 
303  TLine *l5=new TLine(2.9,0,2.9,2200);
304  l5->SetLineColor(4);
305  l5->SetLineWidth(2);
306  l5->Draw();
307 
308  TLine *l6=new TLine(3.06,0,3.06,2200);
309  l6->SetLineColor(4);
310  l6->SetLineWidth(2);
311  l6->Draw();
312 
313  if (saveHistos) c11->SaveAs("m_final_vtx_tpc.png");
314 
316 // TCanvas *c12=new TCanvas("c12","Mass final (phi mass fit)",600,600);
317 // c12->Divide(1,2);
318 // c12->cd(1);
319 // h_mphi_final_massfit->Draw();
320 //
321 // mean_phi=1.02;
322 // range_phi=0.02;
323 //
324 // TF1 *f1_phi_mass = new TF1("f1_phi_mass","gaus",0.9,1.1);
325 // h_mphi_final_massfit->Fit(f1_phi_mass,"R","",mean_phi-range_phi,mean_phi+range_phi);
326 //
327 // sigma1_phi=f1_phi_mass->GetParameter(2);
328 // mean1_phi=f1_phi_mass->GetParameter(1);
329 //
330 // TF1 *f2_phi_mass = new TF1("f2_phi_mass","gaus",0.9,1.1);
331 // h_mphi_final_massfit->Fit(f2_phi_mass,"R","",mean1_phi-1.6*sigma1_phi,mean1_phi+1.6*sigma1_phi);
332 //
333 // sigma2_phi=f2_phi_mass->GetParameter(2);
334 // std::cout<<"!!!!!!!!!!!! sigma phi (phi mass fit)="<<sigma2_phi<<std::endl;
335 //
336 // c12->cd(2);
337 // h_etac_phimassfit->Draw();
338 // // fit eta_c
339 // mean_etac=2.98;
340 // range_etac=0.1;
341 //
342 // TF1 *f1_mass = new TF1("f1_mass","gaus",2.8,3.2);
343 // h_etac_phimassfit->Fit(f1_mass,"R","",mean_etac-range_etac,mean_etac+range_etac);
344 //
345 // sigma1=f1_mass->GetParameter(2);
346 // mean1=f1_mass->GetParameter(1);
347 //
348 // TF1 *f2_mass = new TF1("f2_mass","gaus",2.8,3.2);
349 // h_etac_phimassfit->Fit(f2_mass,"R","",mean1-1.6*sigma1,mean1+1.6*sigma1);
350 //
351 // sigma2=f2_mass->GetParameter(2);
352 // std::cout<<"!!!!!!!!!!!!!!! sigma eta_c (phi mass fit) ="<<sigma2<<std::endl;
353 //
354 // if (saveHistos) c12->SaveAs("m_final_phimass_tpc.png");
355 
356 }
TH1F * hvtxresZ
TH1F * h_etac_phimass_4c
TH1F * h_mphi_final_massfit
TCanvas * c11
TH1F * h_mphi_nocuts
TH1F * h_mphi_4c
TH1F * h_chi2_4c
TH1F * nc
TH1F * n_etac_4c
c2
Definition: plot_dirc.C:39
TH1F * h_chi2b_4c
TH1F * h_mphi_pid
TString inFile
Definition: plot_eta_c_tpc.C:3
TH1F * h_etac_nocut
Definition: plot_eta_c_tpc.C:7
TH1F * h_chi2_vtx
TH1F * h_etac_4c
TH1F * hvzpos
TH1F * h_etac_phimassfit
TH1F * h_chi2b_vtx
TH1F * n_etac_vtx
double eff1
c1
Definition: plot_dirc.C:35
TH1F * h_mphi_final_4c
TFile * f
Definition: plot_eta_c_tpc.C:5
TH2F * hvpos
c3
Definition: plot_dirc.C:50
TH1F * h_mphi_final_vtx
double sigma1
Definition: reco_analys2.C:57
TH1F * hvtxresX
TH1F * hvtxresY
TH1F * h_mphi_vtx
TH1F * h_etac_vtx
Definition: plot_eta_c_tpc.C:9
TH1F * n_events
TH1F * h_etac_pid
Definition: plot_eta_c_tpc.C:8
TCanvas * c8
TH1F * h_etac_phimass_vtx