FairRoot/PandaRoot
plot_eta_c.C
Go to the documentation of this file.
1 {
2  bool vtxfit=0;
3 
4  if (vtxfit)
5  TString inFile="etac_histo_vtx.root";
6  else
7  TString inFile="etac_histo_4c.root";
8 
9 // gStyle->SetLabelSize(0.08);
10 // gStyle->SetTitleSize(0.08);
11 
12  TFile *f = TFile::Open(inFile);
13  TVectorD *n_etac = (TVectorD*)f->Get("n_etac");
14  TVectorD *n_events = (TVectorD*)f->Get("n_events");
15 
16  TH1F *h_etac_nocut=(TH1F *)f->Get("h_etac_nocut");
17  h_etac_nocut->UseCurrentStyle();
18  TH1F *h_etac_pid=(TH1F *)f->Get("h_etac_pid");
19  h_etac_pid->UseCurrentStyle();
20  TH1F *h_etac_phimass=(TH1F *)f->Get("h_etac_phimass");
21  h_etac_phimass->UseCurrentStyle();
22  TH1F *h_etac_vtx=(TH1F *)f->Get("h_etac_vtx");
23  h_etac_vtx->UseCurrentStyle();
24  TH1F *h_etac_4c=(TH1F *)f->Get("h_etac_4c");
25  h_etac_4c->UseCurrentStyle();
26 
27  TH1F *h_mphi_nocuts=(TH1F *)f->Get("h_mphi_nocuts");
28  h_mphi_nocuts->UseCurrentStyle();
29  TH1F *h_mphi_pid=(TH1F *)f->Get("h_mphi_pid");
30  h_mphi_pid->UseCurrentStyle();
31  TH1F *h_mphi_vtx=(TH1F *)f->Get("h_mphi_vtx");
32  h_mphi_vtx->UseCurrentStyle();
33  TH1F *h_mphi_4c=(TH1F *)f->Get("h_mphi_4c");
34  h_mphi_4c->UseCurrentStyle();
35  TH1F *h_mphi_final=(TH1F *)f->Get("h_mphi_final");
36  h_mphi_final->UseCurrentStyle();
37 
38  TH1F *nc=(TH1F *)f->Get("nc");
39  nc->UseCurrentStyle();
40 
41  TH1F *h_chi2_4c=(TH1F *)f->Get("h_chi2_4c");
42  h_chi2_4c->UseCurrentStyle();
43  TH1F *h_chi2_vtx=(TH1F *)f->Get("h_chi2_vtx");
44  h_chi2_vtx->UseCurrentStyle();
45  TH1F *hvzpos=(TH1F *)f->Get("hvzpos");
46  hvzpos->UseCurrentStyle();
47  TH2F *hvpos=(TH2F *)f->Get("hvpos");
48  hvpos->UseCurrentStyle();
49 
50  TCanvas *c1=new TCanvas("c1","c1",600,600);
51  nc->Draw();
52 
53  TCanvas *c2=new TCanvas("c2","c2",600,600);
54  c2->Divide(1,2);
55  c2->cd(1);
56  h_mphi_nocuts->Draw();
57  c2->cd(2);
58  h_etac_nocut->Draw();
59 
60  TCanvas *c3=new TCanvas("c3","c3",600,600);
61  c3->Divide(1,2);
62  c3->cd(1);
63  h_mphi_pid->Draw();
64  c3->cd(2);
65  h_etac_pid->Draw();
66 
67  TCanvas *c4=new TCanvas("c4","c4",600,600);
68  c4->Divide(1,2);
69  c4->cd(1);
70  h_mphi_4c->Draw();
71  c4->cd(2);
72  h_etac_4c->Draw();
73 
74  TCanvas *c5=new TCanvas("c5","c5",600,600);
75  c5->Divide(1,2);
76  c5->cd(1);
77  h_mphi_final->Draw();
78 
79  double mean_phi=1.1;
80  double rms_phi=0.1;
81 
82  TF1 *f1_phi = new TF1("f1_phi","gaus",0.9,1.1);
83  h_mphi_final->Fit(f1_phi,"R","",mean_phi-1.6*rms_phi,mean_phi+1.6*rms_phi);
84 
85  double sigma1_phi=f1_phi->GetParameter(2);
86  double mean1_phi=f1_phi->GetParameter(1);
87 
88  TF1 *f2_phi = new TF1("f2_phi","gaus",0.9,1.1);
89  h_mphi_final->Fit(f2_phi,"R","",mean1_phi-1.6*sigma1_phi,mean1_phi+1.6*sigma1_phi);
90 
91  double sigma2_phi=f2_phi->GetParameter(2);
92  std::cout<<"sigma phi="<<sigma2_phi<<std::endl;
93 
94  c5->cd(2);
95  h_etac_phimass->Draw();
96  // fit eta_c
97  double mean=h_etac_phimass->GetMean();
98  double rms=h_etac_phimass->GetRMS();
99 
100  TF1 *f1 = new TF1("f1","gaus",2.8,3.2);
101  h_etac_phimass->Fit(f1,"R","",mean-1.6*rms,mean+1.6*rms);
102 
103  double sigma1=f1->GetParameter(2);
104  double mean1=f1->GetParameter(1);
105 
106  TF1 *f2 = new TF1("f2","gaus",2.8,3.2);
107  h_etac_phimass->Fit(f2,"R","",mean1-1.6*sigma1,mean1+1.6*sigma1);
108 
109  double sigma2=f2->GetParameter(2);
110  std::cout<<"sigma="<<sigma2<<std::endl;
111 
112  TCanvas *c6=new TCanvas("c6","c6",600,600);
113  h_chi2_4c->Draw();
114 
115  if (vtxfit)
116  {
117  TCanvas *c7=new TCanvas("c7","c7",600,600);
118  hvpos->Draw();
119 
120  TCanvas *c8=new TCanvas("c8","c8",600,600);
121  hvzpos->Draw();
122 
123  TCanvas *c9=new TCanvas("c9","c9",600,600);
124  h_chi2_vtx->Draw();
125 
126  TCanvas *c10=new TCanvas("c10","c10",600,600);
127  c10->Divide(1,2);
128  c10->cd(1);
129  h_mphi_vtx->Draw();
130  c10->cd(2);
131  h_etac_vtx->Draw();
132  }
133 }
TH1F * h_chi2_vtx
c5
Definition: plot_dirc.C:75
TH1F * h_etac_nocut
Definition: plot_eta_c_stt.C:7
c4
Definition: plot_dirc.C:71
TF1 * f1
Definition: reco_analys2.C:50
TH1F * h_etac_4c
TH1F * hvzpos
TCanvas * c10
c2
Definition: plot_dirc.C:39
TString inFile
Definition: hit_dirc.C:8
TH1F * h_mphi_nocuts
TCanvas * c7
TH1F * h_mphi_4c
TH1F * h_etac_vtx
Definition: plot_eta_c_stt.C:9
TH1F * h_chi2_4c
TH1F * h_mphi_vtx
TFile * f
Definition: bump_analys.C:12
TH1F * n_events
c1
Definition: plot_dirc.C:35
c3
Definition: plot_dirc.C:50
TH1F * h_etac_pid
Definition: plot_eta_c_stt.C:8
double sigma1
Definition: reco_analys2.C:57
TFile * f2
Double_t mean[nsteps]
Definition: dedx_bands.C:65
TH1F * h_mphi_pid
TCanvas * c8
TH2F * hvpos
TH1F * nc