FairRoot/PandaRoot
plot_acceptance_tpc.C
Go to the documentation of this file.
1 {
2  TString inFile="out_test_2pi_tpc_a.root";
3 
4 
5  TFile *f = TFile::Open(inFile);
6 
7 
8  gStyle->SetOptStat(kFALSE);
9  gStyle->SetPalette(1);
10 
11  TCanvas *c4=new TCanvas("c4","",800,800);
12  c4->Divide(1,3);
13  c4->cd(1);
14  nt->Draw("mc_p>>hMcP(100,0,5)");
15  nt->Draw("mc_p>>hMcAccTpcP(100,0,5)","mc_tpc>0","E1");
16  hMcAccTpcP->Divide(hMcP);
17  hMcAccTpcP->SetTitle("Geometrical Acceptance");
18  hMcAccTpcP->GetXaxis()->SetTitle("Momentum (GeV)");
19  hMcAccTpcP->GetYaxis()->SetTitle("Acceptance");
20  c4->cd(2);
21  nt->Draw("mc_theta>>hMcTheta(50,0,180)");
22  nt->Draw("mc_theta>>hMcAccTpcTheta(50,0,180)","mc_tpc>0","E1");
23  hMcAccTpcTheta->Divide(hMcTheta);
24  hMcAccTpcTheta->SetTitle("Geometrical Acceptance");
25  hMcAccTpcTheta->GetXaxis()->SetTitle("#theta (degree)");
26  hMcAccTpcTheta->GetYaxis()->SetTitle("Acceptance");
27  c4->cd(3);
28  nt->Draw("mc_phi>>hMcPhi(50,-200,200)");
29  nt->Draw("mc_phi>>hMcAccTpcPhi(50,-200,200)","mc_tpc>0","E1");
30  hMcAccTpcPhi->Divide(hMcPhi);
31  hMcAccTpcPhi->SetTitle("Geometrical Acceptance");
32  hMcAccTpcPhi->GetXaxis()->SetTitle("#phi (degree)");
33  hMcAccTpcPhi->GetYaxis()->SetTitle("Acceptance");
34 
35 
36  TCanvas *c5=new TCanvas("c5","",800,800);
37  float numero=ntEvt->GetEntries();
38  c5->cd();
39  TH1F *f1=new TH1F("f1","",100,0,5);
40  ntEvt.Draw("acc_tpc>>f1");
41  f1->SetTitle("Geometrical Global Acceptance");
42  f1->GetXaxis()->SetTitle("Primary Tracks");
43  f1->GetYaxis()->SetTitle("Tpc Acceptance");
44  f1->GetYaxis()->SetTitleOffset(1.5);
45  f1->Draw();
46  f1->Scale(1/numero);
47 
48 
49  TCanvas *c6=new TCanvas("c6","",800,800);
50  c6->Divide(1,3);
51  c6->cd(1);
52  nt->Draw("mc_p>>hMcP(100,0,5)");
53  nt->Draw("mc_p>>hRecoEffP(100,0,5)","mult>0","E1");
54  hRecoEffP->Divide(hMcP);
55  hRecoEffP->SetTitle("Pattern Recognition Efficiency");
56  hRecoEffP->GetXaxis()->SetTitle("Momentum (GeV)");
57  hRecoEffP->GetYaxis()->SetTitle("Efficiency");
58  hRecoEffP->Draw();
59  c6->cd(2);
60  nt->Draw("mc_theta>>hMcTheta(50,0,180)");
61  nt->Draw("mc_theta>>hRecoEffTheta(50,0,180)","mult>0","E1");
62  hRecoEffTheta->Divide(hMcTheta);
63  hRecoEffTheta->SetTitle("Pattern Recognition Efficiency");
64  hRecoEffTheta->GetXaxis()->SetTitle("#theta (degree)");
65  hRecoEffTheta->GetYaxis()->SetTitle("Efficiency");
66  hRecoEffTheta->Draw();
67  c6->cd(3);
68  nt->Draw("mc_phi>>hMcPhi(50,-200,200)");
69  nt->Draw("mc_phi>>hRecoEffPhi(50,-200,200)","mult>0","E1");
70  hRecoEffPhi->Divide(hMcPhi);
71  hRecoEffPhi->SetTitle("Pattern Recognition Efficiency");
72  hRecoEffPhi->GetXaxis()->SetTitle("#phi (degree)");
73  hRecoEffPhi->GetYaxis()->SetTitle("Efficiency");
74  hRecoEffPhi->Draw();
75 
76  TCanvas *c7=new TCanvas("c7","",800,800);
77 
78  c7->cd();
79  TH1F *f1=new TH1F("f1","",100,0,5);
80  ntEvt.Draw("cand>>f1");
81  f1->SetTitle("Number of candidates");
82  f1->GetXaxis()->SetTitle("Candidates");
83  f1->GetYaxis()->SetTitle("1/evt");
84  f1->GetYaxis()->SetTitleOffset(1.5);
85  f1->Draw();
86  f1->Scale(1/numero);
87 
88  TCanvas *c8=new TCanvas("c8","",800,800);
89 
90  c8->cd();
91  TH1F *f1=new TH1F("f1","",100,0,5);
92  ntEvt.Draw("eff>>f1");
93  f1->SetTitle("Number of reconstructed primary tracks");
94  f1->GetXaxis()->SetTitle("Primary Tracks");
95  f1->GetYaxis()->SetTitle("Efficiency");
96  f1->GetYaxis()->SetTitleOffset(1.5);
97  f1->Draw();
98  f1->Scale(1/numero);
99 
100  TCanvas *c9=new TCanvas("c9","",800,800);
101  c9->Divide(3,2);
102  c9->cd(1);
103  nt->Draw("(mc_p-p):mc_p>>hresp_p(100,0,5,100,-0.5,0.5)","mult>0 && (stt>0||tpc>0)","colz");
104  hresp_p->SetTitle("Resolution");
105  hresp_p->GetXaxis()->SetTitle("MC Momentum (GeV)");
106  hresp_p->GetYaxis()->SetTitle("(MC Mom - Reco Mom )");
107  hresp_p->GetYaxis()->SetTitleOffset(1.5);
108 
109  c9->cd(2);
110  nt->Draw("(mc_theta-theta):mc_theta>>hrestheta_theta(100,0,100,100,-2,2)","mult>0 && (stt>0||tpc>0)","colz");
111  hrestheta_theta->SetTitle("Resolution");
112  hrestheta_theta->GetXaxis()->SetTitle("MC #theta (degree)");
113  hrestheta_theta->GetYaxis()->SetTitle("Mc #theta - Reco #theta ");
114  hrestheta_theta->GetYaxis()->SetTitleOffset(1.5);
115 
116  c9->cd(3);
117  nt->Draw("(mc_p-p):mc_theta>>hresp_theta(100,0,100,100,-0.5,0.5)","mult>0 && (stt>0||tpc>0)","colz");
118  hresp_theta->SetTitle("Resolution");
119  hresp_theta->GetXaxis()->SetTitle("MC #theta (degree)");
120  hresp_theta->GetYaxis()->SetTitle("MC Mom - Reco Mom");
121  hresp_theta->GetYaxis()->SetTitleOffset(1.5);
122 
123  c9->cd(4);
124  nt->Draw("(mc_theta-theta):mc_p>>hrestheta_p(100,0,5,100,-2,2)","mult>0 && (stt>0||tpc>0)","colz");
125  hrestheta_p->SetTitle("Resolution");
126  hrestheta_p->GetXaxis()->SetTitle("MC Momentum (GeV)");
127  hrestheta_p->GetYaxis()->SetTitle("Mc #theta - Reco #theta ");
128  hrestheta_p->GetYaxis()->SetTitleOffset(1.5);
129 
130  c9->cd(5);
131  nt->Draw("(mc_phi-phi):mc_phi>>hresphi_phi(100,-200,200,100,-2,2)","mult>0 && (stt>0||tpc>0)","colz");
132  hresphi_phi->SetTitle("Resolution");
133  hresphi_phi->GetXaxis()->SetTitle("MC Phi (degree)");
134  hresphi_phi->GetYaxis()->SetTitle("Mc #phi - Reco #phi ");
135  hresphi_phi->GetYaxis()->SetTitleOffset(1.5);
136 
137  c9->Update();
138 
139  TCanvas *c20=new TCanvas("c20","",800,800);
140  c20->cd();
141  TH1F *hist=new TH1F("hist","Total Momentum distribution",100,0,10);
142  hist->GetXaxis()->SetTitle("MC Momentum (GeV)");
143  nt->Draw("p>>hist","mult>0 && (stt>0 || tpc>0)");
144 
145  TCanvas *c21=new TCanvas("c21","",800,800);
146  c21->cd();
147  TH1F *hist2=new TH1F("hist2","#theta Angle Distribution",100,0,180);
148  hist2->GetXaxis()->SetTitle("Theta (degree)");
149  nt->Draw("theta>>hist2","mult>0 && (stt>0 || tpc>0)");
150 
151  TCanvas *c22=new TCanvas("c22","",800,800);
152  c22->cd();
153  TH1F *hist3=new TH1F("hist3","(Reconstructed Momentum - MC Momentum )/MC Momentum",100,-1,1);
154  hist3->SetStats(kTRUE);
155  hist3->GetXaxis()->SetTitle("(Reco-MC)/MC");
156  nt->Draw("(mc_p-p)/mc_p>>hist3","mult>0 && (stt>0 || tpc>0)");
157  TF1 *f10 = new TF1("f10","gaus",-0.09,0.09);
158  hist3->Fit(f10,"R");
159 
160 
161 }
c5
Definition: plot_dirc.C:75
TF1 * f10
c4
Definition: plot_dirc.C:71
TF1 * f1
Definition: reco_analys2.C:50
TCanvas * c7
TCanvas * c21
TH1D * hist3
Definition: hist-t7.C:84
float numero
TString inFile
Definition: hit_dirc.C:8
TH1D * hist2
Definition: hist-t7.C:82
TFile * f
Definition: bump_analys.C:12
TCanvas * c22
TCanvas * c20
TH1F * hist
TCanvas * c8