]>
Commit | Line | Data |
---|---|---|
f8d0e078 | 1 | void PlotITSTrackingEff(TString filename="ITS.Performance.root", |
2 | TString part="Pi", | |
3 | TString partforgraph="pions", | |
4 | Int_t pdgcode=211, | |
5 | Bool_t useAbsPdg=kTRUE, | |
6 | Bool_t nofakes=kTRUE, | |
7 | Bool_t askITSrefit=kTRUE, | |
8 | Int_t minTPCcls=1) | |
9 | { | |
10 | // | |
11 | // Macro to plot ITS tracking efficiency from ITS.Performance.root | |
12 | // A. Dainese | |
13 | // | |
14 | ||
15 | //Open File | |
16 | if(gSystem->AccessPathName(filename.Data())) { | |
17 | printf("file not found!\n"); | |
18 | return; | |
19 | } | |
20 | TFile *file= TFile::Open(filename.Data()); | |
21 | cout<<"Open File "<<filename<<endl; | |
22 | ||
b7fb742d | 23 | |
24 | ||
f8d0e078 | 25 | TList *list = (TList*)file->Get("cOutputITS"); |
b7fb742d | 26 | TDirectoryFile *dir=0; |
27 | if(!list) { | |
28 | dir=(TDirectoryFile*)file->GetDirectory("ITS_Performance"); | |
29 | if(dir) list = (TList*)dir->Get("cOutputITS"); | |
30 | } | |
31 | ||
32 | ||
33 | ||
f8d0e078 | 34 | TNtuple *ntTracks = (TNtuple*)list->FindObject("fNtupleESDTracks"); |
35 | ||
36 | //Getting and Addressing NTuples | |
37 | Float_t pt,ptmes,eta,phi,pdg,d0True,d0TV,d0zTV,sigmad0zTV,d0All,d0Oth,sigmad0Oth,ITSflag,sigmad0TV,sigmad0All; | |
38 | ntTracks->SetBranchAddress("pt",&ptmes); | |
39 | ntTracks->SetBranchAddress("ptMC",&pt); | |
40 | ntTracks->SetBranchAddress("eta",&eta); | |
41 | ntTracks->SetBranchAddress("phi",&phi); | |
42 | ntTracks->SetBranchAddress("pdgMC",&pdg); | |
43 | ntTracks->SetBranchAddress("d0MC",&d0True); | |
44 | ntTracks->SetBranchAddress("d0MCv",&d0TV); | |
45 | ntTracks->SetBranchAddress("z0MCv",&d0zTV); | |
46 | ntTracks->SetBranchAddress("sigmad0MCv",&sigmad0TV); | |
47 | ntTracks->SetBranchAddress("sigmaz0MCv",&sigmad0zTV); | |
48 | ntTracks->SetBranchAddress("d0",&d0All); | |
49 | ntTracks->SetBranchAddress("sigmad0",&sigmad0All); | |
50 | ntTracks->SetBranchAddress("ITSflag",&ITSflag); | |
51 | ||
52 | ||
53 | TString titlegraph1,titlefile; | |
54 | Int_t ntracks,nITSsel,nfakes=0; | |
55 | const Int_t nPtBins=10; | |
56 | Double_t meanpt[nPtBins]; | |
57 | /////////////////////////////////////////////////////////////////////////// | |
58 | Double_t nprimgen[nPtBins]; | |
59 | Float_t nfiles=48.; if(!useAbsPdg) nfiles*=0.5; | |
60 | for(Int_t j=0; j<nPtBins; j++) nprimgen[j]=nfiles*50.;// *18.; | |
61 | // the factor 50 is for the cut |eta|<0.9 | |
62 | // the factor 18 is for the cut 0.9<|eta|<1.4 | |
63 | /////////////////////////////////////////////////////////////////////////// | |
64 | Double_t n6ITSclspart[nPtBins],n5ITSclspart[nPtBins],n4ITSclspart[nPtBins],n3ITSclspart[nPtBins],n2ITSclspart[nPtBins],n1ITSclspart[nPtBins]; | |
65 | Double_t n6ITSclsparttoTPC[nPtBins],n5ITSclsparttoTPC[nPtBins],n4ITSclsparttoTPC[nPtBins],n3ITSclsparttoTPC[nPtBins],n2ITSclsparttoTPC[nPtBins]; | |
66 | Double_t nSPD[nPtBins],n2ITS[nPtBins],n3ITS[nPtBins],n4ITS[nPtBins],n5ITS[nPtBins],n6ITS[nPtBins],n456ITS[nPtBins],ptbinning[2*nPtBins],ntottr[nPtBins]; | |
67 | Double_t nTPCnorm6[nPtBins],n1ITSnorm6[nPtBins],n2ITSnorm6[nPtBins],n3ITSnorm6[nPtBins],n4ITSnorm6[nPtBins],n5ITSnorm6[nPtBins],n6ITSnorm6[nPtBins],n456ITSnorm6[nPtBins],n4ITSnorm5[nPtBins],n5ITSnorm5[nPtBins],n3ITSnorm4[nPtBins],n4ITSnorm4[nPtBins],n2ITSnorm3[nPtBins],n3ITSnorm3[nPtBins],n1ITSnorm2[nPtBins],n2ITSnorm2[nPtBins]; | |
68 | Double_t nSPDtoGen[nPtBins],n2ITStoGen[nPtBins],n3ITStoGen[nPtBins],n4ITStoGen[nPtBins],n5ITStoGen[nPtBins],n6ITStoGen[nPtBins],n456ITStoGen[nPtBins],nTPCtoGen[nPtBins]; | |
69 | Double_t nTPCto6cls[nPtBins],n1ITSto6cls[nPtBins],n2ITSto6cls[nPtBins],n3ITSto6cls[nPtBins],n4ITSto6cls[nPtBins],n5ITSto6cls[nPtBins],n4ITSto5cls[nPtBins],n5ITSto5cls[nPtBins],n3ITSto4cls[nPtBins],n4ITSto4cls[nPtBins],n2ITSto3cls[nPtBins],n3ITSto3cls[nPtBins],n1ITSto2cls[nPtBins],n2ITSto2cls[nPtBins],n6ITSto6cls[nPtBins],n456ITSto6cls[nPtBins]; | |
70 | Double_t n330[nPtBins],n331[nPtBins],n332[nPtBins],n313[nPtBins],n323[nPtBins],n133[nPtBins],n233[nPtBins],nOTHERS[nPtBins],nSSD[nPtBins],nSDD[nPtBins]; | |
71 | ||
72 | Double_t sigmnSPD[nPtBins],sigmn4ITS[nPtBins],sigmn5ITS[nPtBins],sigmn6ITS[nPtBins],sigmn456ITS[nPtBins],ptbinning[2*nPtBins],ntottr[nPtBins]; | |
73 | Double_t sigmnSPDtoGen[nPtBins],sigmn2ITStoGen[nPtBins],sigmn3ITStoGen[nPtBins],sigmn4ITStoGen[nPtBins],sigmn5ITStoGen[nPtBins],sigmn6ITStoGen[nPtBins],sigmn456ITStoGen[nPtBins],sigmnTPCtoGen[nPtBins]; | |
74 | Double_t sigmnTPCto6cls[nPtBins],sigmn1ITSto6cls[nPtBins],sigmn2ITSto6cls[nPtBins],sigmn3ITSto6cls[nPtBins],sigmn4ITSto6cls[nPtBins],sigmn5ITSto6cls[nPtBins],sigmn6ITSto6cls[nPtBins],sigmn456ITSto6cls[nPtBins],sigmn4ITSto5cls[nPtBins],sigmn5ITSto5cls[nPtBins],sigmn3ITSto4cls[nPtBins],sigmn4ITSto4cls[nPtBins],sigmn2ITSto3cls[nPtBins],sigmn3ITSto3cls[nPtBins],sigmn1ITSto2cls[nPtBins],sigmn2ITSto2cls[nPtBins]; | |
75 | Double_t sigmn330[nPtBins],sigmn331[nPtBins],sigmn332[nPtBins],sigmn313[nPtBins],sigmn323[nPtBins],sigmn133[nPtBins],sigmn233[nPtBins],sigmnOTHERS[nPtBins],sigmnSSD[nPtBins],sigmnSDD[nPtBins]; | |
76 | Double_t sigmn6ITSclsparttoTPC[nPtBins],sigmn5ITSclsparttoTPC[nPtBins],sigmn4ITSclsparttoTPC[nPtBins],sigmn3ITSclsparttoTPC[nPtBins],sigmn2ITSclsparttoTPC[nPtBins]; | |
77 | ||
78 | Double_t errx[nPtBins]; | |
79 | ||
80 | TGraphErrors *gr4,*gr5,*gr6,*gr456,*grSPDtoGen,*gr2toGen,*gr3toGen,*gr4toGen,*gr5toGen,*gr6toGen,*gr456toGen,*grTPCtoGen,*grTPCto6cls,*gr1to6cls,*gr2to6cls,*gr3to6cls,*gr4to6cls,*gr5to6cls,*gr6to6cls,*gr456to6cls,*gr4to5cls,*gr5to5cls,*gr3to4cls,*gr4to4cls,*gr2to3cls,*gr3to3cls,*gr1to2cls,*gr2to2cls,*gr330,*gr331,*gr332,*gr313,*gr323,*gr133,*gr233,*grOTHERS,*grSSD,*grSPD,*gr6clspart,*gr5clspart,*gr4clspart,*gr2ITSclsparttoTPC,*gr3ITSclsparttoTPC,*gr4ITSclsparttoTPC,*gr5ITSclsparttoTPC,*gr6ITSclsparttoTPC; | |
81 | ||
82 | for(Int_t j=0;j<nPtBins;j++) { | |
83 | n1ITSclspart[j]=0.; | |
84 | n2ITSclspart[j]=0.; | |
85 | n3ITSclspart[j]=0.; | |
86 | n4ITSclspart[j]=0.; | |
87 | n5ITSclspart[j]=0.; | |
88 | n6ITSclspart[j]=0.; | |
89 | nSPD[j]=0.; | |
90 | n2ITS[j]=0.; | |
91 | n3ITS[j]=0.; | |
92 | n4ITS[j]=0.; | |
93 | n5ITS[j]=0.; | |
94 | n6ITS[j]=0.; | |
95 | n456ITS[j]=0.; | |
96 | n1ITSnorm6[j]=0.; | |
97 | n2ITSnorm6[j]=0.; | |
98 | n3ITSnorm6[j]=0.; | |
99 | n4ITSnorm6[j]=0.; | |
100 | n5ITSnorm6[j]=0.; | |
101 | n6ITSnorm6[j]=0.; | |
102 | n456ITSnorm6[j]=0.; | |
103 | n4ITSnorm5[j]=0.; | |
104 | n5ITSnorm5[j]=0.; | |
105 | n3ITSnorm4[j]=0.; | |
106 | n4ITSnorm4[j]=0.; | |
107 | n2ITSnorm3[j]=0.; | |
108 | n3ITSnorm3[j]=0.; | |
109 | n1ITSnorm2[j]=0.; | |
110 | n2ITSnorm2[j]=0.; | |
111 | nSPDtoGen[j]=0.; | |
112 | n2ITStoGen[j]=0.; | |
113 | n3ITStoGen[j]=0.; | |
114 | n4ITStoGen[j]=0.; | |
115 | n5ITStoGen[j]=0.; | |
116 | n6ITStoGen[j]=0.; | |
117 | n456ITStoGen[j]=0.; | |
118 | nTPCtoGen[j]=0.; | |
119 | n1ITSto6cls[j]=0.; | |
120 | n2ITSto6cls[j]=0.; | |
121 | n3ITSto6cls[j]=0.; | |
122 | n4ITSto6cls[j]=0.; | |
123 | n5ITSto6cls[j]=0.; | |
124 | n6ITSto6cls[j]=0.; | |
125 | n4ITSto5cls[j]=0.; | |
126 | n5ITSto5cls[j]=0.; | |
127 | n3ITSto4cls[j]=0.; | |
128 | n4ITSto4cls[j]=0.; | |
129 | n2ITSto3cls[j]=0.; | |
130 | n3ITSto3cls[j]=0.; | |
131 | n1ITSto2cls[j]=0.; | |
132 | n2ITSto2cls[j]=0.; | |
133 | n456ITSto6cls[j]=0.; | |
134 | nTPCto6cls[j]=0.; | |
135 | n330[j]=0; | |
136 | n331[j]=0; | |
137 | n332[j]=0; | |
138 | n313[j]=0; | |
139 | n323[j]=0; | |
140 | n133[j]=0; | |
141 | n233[j]=0; | |
142 | nOTHERS[j]=0; | |
143 | nSDD[j]=0.; | |
144 | nSSD[j]=0.; | |
145 | errx[j]=0.; | |
146 | ntottr[j]=0; | |
147 | meanpt[j]=0; | |
148 | } | |
149 | ||
150 | ptbinning[0]=0.15; | |
151 | ptbinning[1]=0.35; | |
152 | ptbinning[2]=0.4; | |
153 | ptbinning[3]=0.6; | |
154 | ptbinning[4]=0.7; | |
155 | ptbinning[5]=0.85; | |
156 | ptbinning[6]=0.85; | |
157 | ptbinning[7]=1.2; | |
158 | ptbinning[8]=1.7; | |
159 | ptbinning[9]=2.3; | |
160 | ptbinning[10]=3.6; | |
161 | ptbinning[11]=4.4; | |
162 | ptbinning[12]=6.5; | |
163 | ptbinning[13]=7.5; | |
164 | ptbinning[14]=8.5; | |
165 | ptbinning[15]=11.5; | |
166 | ptbinning[16]=18.5; | |
167 | ptbinning[17]=21.5; | |
168 | ptbinning[18]=27.5; | |
169 | ptbinning[19]=32.5; | |
170 | ||
171 | ||
172 | ||
173 | ||
174 | ||
175 | // ------------ Starting Loop on Tracks ---------- | |
176 | ntracks=ntTracks->GetEntries(); | |
177 | printf("number of Tracks %d \n",ntracks); | |
178 | ||
179 | for (Int_t j=0;j<ntracks;j++) { | |
180 | if(j%10000==0) printf("Reading track %d\n",j); | |
181 | ntTracks->GetEvent(j); | |
182 | if(TMath::Abs(d0True)>1.) continue; // only primaries | |
183 | if(TMath::Abs(eta)>0.9) continue; // only tracks with |etapart|<0.9 | |
184 | //if(TMath::Abs(eta)<0.9 || TMath::Abs(eta)>1.4) continue; // only tracks with 0.9<|etapart|<1.4 | |
185 | Float_t theta = 2.*TMath::ATan(TMath::Exp(-eta)); | |
186 | //if(TMath::Abs(TMath::Abs(phi)-0.5*TMath::Pi())>0.5 || TMath::Abs(theta-0.5*TMath::Pi())>0.5) continue; | |
187 | //if(phi<(.5+0.25)*TMath::Pi() || phi>(.5+0.45)*TMath::Pi()) continue; | |
188 | if(ITSflag<0) nfakes++; | |
189 | //printf(" %d\n",ITSflag); | |
190 | if(nofakes && ITSflag<0) continue; // reject fakes | |
191 | ITSflag=TMath::Abs(ITSflag); | |
192 | //printf("%d\n",ITSflag); | |
193 | Int_t ITSflagorig=ITSflag; | |
194 | Int_t nTPCcls = (Int_t)(ITSflag/100000); | |
195 | ITSflag -= nTPCcls*100000; | |
196 | Int_t nITSclspart = (Int_t)(ITSflag/10000); | |
197 | ITSflag -= nITSclspart*10000; | |
198 | //printf("%d\n",ITSflag); | |
199 | Int_t nITSclsassign = (Int_t)(ITSflag/1000); | |
200 | ITSflag -= nITSclsassign*1000; | |
201 | //printf("%d\n",ITSflag); | |
202 | //printf("%d\n",ITSflag); | |
203 | nITSsel=ITSnCluster(ITSflag); | |
204 | ||
205 | ||
206 | if(nTPCcls<=minTPCcls) continue; | |
207 | ||
208 | if(useAbsPdg) pdg=TMath::Abs(pdg); | |
209 | if(pdg!=pdgcode) continue; | |
210 | ||
211 | for (Int_t k=0; k<nPtBins; k++) { | |
212 | if(ptbinning[2*k]<pt&&pt<ptbinning[2*k+1]) { | |
213 | //if(nITSclspart==3) {nITSclspart=5;}else{nITSclspart=-1;} | |
214 | if(ptmes>0.) { | |
215 | ntottr[k]+=1.; | |
216 | meanpt[k]+=pt; | |
217 | if(nITSclspart==6) n6ITSclspart[k]+=1.; | |
218 | if(nITSclspart==5) n5ITSclspart[k]+=1.; | |
219 | if(nITSclspart==4) n4ITSclspart[k]+=1.; | |
220 | if(nITSclspart==3) n3ITSclspart[k]+=1.; | |
221 | if(nITSclspart==2) n2ITSclspart[k]+=1.; | |
222 | } | |
223 | if(askITSrefit && sigmad0TV<0.) continue; | |
224 | if(nITSclsassign!=nITSsel) cout<<" ERROR "<<ITSflag<<" "<<nITSclsassign<<" "<<nITSsel<<" "<<ITSflagorig<<endl; | |
225 | ||
226 | if(nITSsel==2) n2ITS[k]+=1.; | |
227 | if(nITSsel==3) n3ITS[k]+=1.; | |
228 | if(nITSsel==4) n4ITS[k]+=1.; | |
229 | if(nITSsel==5) n5ITS[k]+=1.; | |
230 | if(nITSsel==6) n6ITS[k]+=1.; | |
231 | ||
232 | if(((Int_t)ITSflag)%10==3) nSPD[k]+=1.; // both SPD | |
233 | ||
234 | if(nITSclspart==6) { | |
235 | if(nITSsel==1) n1ITSnorm6[k]+=1.; | |
236 | if(nITSsel==2) n2ITSnorm6[k]+=1.; | |
237 | if(nITSsel==3) n3ITSnorm6[k]+=1.; | |
238 | if(nITSsel==4) n4ITSnorm6[k]+=1.; | |
239 | if(nITSsel==5) n5ITSnorm6[k]+=1.; | |
240 | if(nITSsel==6) n6ITSnorm6[k]+=1.; | |
241 | } | |
242 | if(nITSclspart==5) { | |
243 | if(nITSsel==4) n4ITSnorm5[k]+=1.; | |
244 | if(nITSsel==5) n5ITSnorm5[k]+=1.; | |
245 | } | |
246 | if(nITSclspart==4) { | |
247 | if(nITSsel==3) n3ITSnorm4[k]+=1.; | |
248 | if(nITSsel==4) n4ITSnorm4[k]+=1.; | |
249 | } | |
250 | if(nITSclspart==3) { | |
251 | if(nITSsel==2) n2ITSnorm3[k]+=1.; | |
252 | if(nITSsel==3) n3ITSnorm3[k]+=1.; | |
253 | } | |
254 | if(nITSclspart==2) { | |
255 | if(nITSsel==1) n1ITSnorm2[k]+=1.; | |
256 | if(nITSsel==2) n2ITSnorm2[k]+=1.; | |
257 | } | |
258 | ||
259 | if(k==nPtBins-1 && nITSclspart==5 && nITSsel==4) printf("nClustersPart %d nClustersTrack %d Map %d\n",nITSclspart,nITSsel,ITSflag); | |
260 | ||
261 | //5 points array | |
262 | if(nITSclspart==5) { | |
263 | if(ITSflag==332) { | |
264 | n332[k]+=1.; | |
265 | } else if(ITSflag==331) { | |
266 | n331[k]+=1.; | |
267 | } else if(ITSflag==323) { | |
268 | n323[k]+=1.; | |
269 | } else if(ITSflag==313) { | |
270 | n313[k]+=1.; | |
271 | } else if(ITSflag==233) { | |
272 | n233[k]+=1.; | |
273 | } else if(ITSflag==133) { | |
274 | n133[k]+=1.; | |
275 | } | |
276 | } | |
277 | if(ITSflag==330) { | |
278 | n330[k]+=1.; | |
279 | } else if(ITSflag!=333) { | |
280 | nOTHERS[k]+=1.; | |
281 | } | |
282 | ||
283 | } | |
284 | } | |
285 | ||
286 | } //end loop on tracks | |
287 | ||
288 | printf("%d %d %d %d %d\n",n2ITS[9],n3ITS[9],n4ITS[9],n5ITS[9],n6ITS[9]); | |
289 | ||
290 | for(Int_t k=0;k<nPtBins;k++) { | |
291 | if(n6ITSclspart[k]<1) n6ITSclspart[k]=1.; | |
292 | if(n5ITSclspart[k]<1) n5ITSclspart[k]=1.; | |
293 | if(n4ITSclspart[k]<1) n4ITSclspart[k]=1.; | |
294 | if(n3ITSclspart[k]<1) n3ITSclspart[k]=1.; | |
295 | if(n2ITSclspart[k]<1) n2ITSclspart[k]=1.; | |
296 | if(n1ITSclspart[k]<1) n1ITSclspart[k]=1.; | |
297 | ||
298 | //cout<<n1ITSclspart[k]<<" "<<n2ITSclspart[k]<<" "<<n3ITSclspart[k]<<" "<<n4ITSclspart[k]<<" "<<n5ITSclspart[k]<<" "<<n6ITSclspart[k]<<endl; | |
299 | ||
300 | if(ntottr[k]!=0) { | |
301 | meanpt[k]=meanpt[k]/ntottr[k]; | |
302 | ||
303 | nSPDtoGen[k]=nSPD[k]/nprimgen[k]; | |
304 | n2ITStoGen[k]=n2ITS[k]/nprimgen[k]; | |
305 | n3ITStoGen[k]=n3ITS[k]/nprimgen[k]; | |
306 | n4ITStoGen[k]=n4ITS[k]/nprimgen[k]; | |
307 | n5ITStoGen[k]=n5ITS[k]/nprimgen[k]; | |
308 | n6ITStoGen[k]=n6ITS[k]/nprimgen[k]; | |
309 | nTPCtoGen[k]=ntottr[k]/nprimgen[k]; | |
310 | n456ITStoGen[k]=n4ITStoGen[k]+n5ITStoGen[k]+n6ITStoGen[k]; | |
311 | ||
312 | n1ITSto6cls[k]=n1ITSnorm6[k]/n6ITSclspart[k]; | |
313 | n2ITSto6cls[k]=n2ITSnorm6[k]/n6ITSclspart[k]; | |
314 | n3ITSto6cls[k]=n3ITSnorm6[k]/n6ITSclspart[k]; | |
315 | n4ITSto6cls[k]=n4ITSnorm6[k]/n6ITSclspart[k]; | |
316 | n5ITSto6cls[k]=n5ITSnorm6[k]/n6ITSclspart[k]; | |
317 | n6ITSto6cls[k]=n6ITSnorm6[k]/n6ITSclspart[k]; | |
318 | n4ITSto5cls[k]=n4ITSnorm5[k]/n5ITSclspart[k]; | |
319 | n5ITSto5cls[k]=n5ITSnorm5[k]/n5ITSclspart[k]; | |
320 | n3ITSto4cls[k]=n3ITSnorm4[k]/n4ITSclspart[k]; | |
321 | n4ITSto4cls[k]=n4ITSnorm4[k]/n4ITSclspart[k]; | |
322 | n2ITSto3cls[k]=n2ITSnorm3[k]/n3ITSclspart[k]; | |
323 | n3ITSto3cls[k]=n3ITSnorm3[k]/n3ITSclspart[k]; | |
324 | n1ITSto2cls[k]=n1ITSnorm2[k]/n2ITSclspart[k]; | |
325 | n2ITSto2cls[k]=n2ITSnorm2[k]/n2ITSclspart[k]; | |
326 | ||
327 | nTPCto6cls[k]=ntottr[k]/n6ITSclspart[k]; | |
328 | n456ITSto6cls[k]=n4ITSto6cls[k]+n5ITSto6cls[k]+n6ITSto6cls[k]; | |
329 | //cout<<meanpt[k]<<" "<<n6ITSnorm6[k]<<" "<<n6ITSclspart[k]<<endl; | |
330 | ||
331 | n6ITSclsparttoTPC[k]=n6ITSclspart[k]/ntottr[k]; | |
332 | n5ITSclsparttoTPC[k]=n5ITSclspart[k]/ntottr[k]; | |
333 | n4ITSclsparttoTPC[k]=n4ITSclspart[k]/ntottr[k]; | |
334 | n3ITSclsparttoTPC[k]=n3ITSclspart[k]/ntottr[k]; | |
335 | n2ITSclsparttoTPC[k]=n2ITSclspart[k]/ntottr[k]; | |
336 | ||
337 | n4ITS[k]=n4ITS[k]/ntottr[k]; | |
338 | n5ITS[k]=n5ITS[k]/ntottr[k]; | |
339 | n6ITS[k]=n6ITS[k]/ntottr[k]; | |
340 | ||
341 | n330[k]=n330[k]/ntottr[k]; | |
342 | n331[k]=n331[k]/n5ITSclspart[k]; | |
343 | n332[k]=n332[k]/n5ITSclspart[k]; | |
344 | n313[k]=n313[k]/n5ITSclspart[k]; | |
345 | n323[k]=n323[k]/n5ITSclspart[k]; | |
346 | n133[k]=n133[k]/n5ITSclspart[k]; | |
347 | n233[k]=n233[k]/n5ITSclspart[k]; | |
348 | nOTHERS[k]=nOTHERS[k]/ntottr[k]; | |
349 | n456ITS[k]=n4ITS[k]+n5ITS[k]+n6ITS[k]; | |
350 | nSSD[k]=n133[k]+n233[k]; | |
351 | nSDD[k]=n323[k]+n313[k]; | |
352 | ||
353 | ||
354 | sigmn4ITS[k]=TMath::Sqrt(n4ITS[k]*(1-n4ITS[k])/ntottr[k]); | |
355 | sigmn5ITS[k]=TMath::Sqrt(n5ITS[k]*(1-n5ITS[k])/ntottr[k]); | |
356 | sigmn6ITS[k]=TMath::Sqrt(n6ITS[k]*(1-n6ITS[k])/ntottr[k]); | |
357 | sigmn456ITS[k]=TMath::Sqrt(n456ITS[k]*(1-n456ITS[k])/ntottr[k]); | |
358 | ||
359 | sigmn2ITSclsparttoTPC[k]=TMath::Sqrt(n2ITSclsparttoTPC[k]*(1-n2ITSclsparttoTPC[k])/ntottr[k]); | |
360 | sigmn3ITSclsparttoTPC[k]=TMath::Sqrt(n3ITSclsparttoTPC[k]*(1-n3ITSclsparttoTPC[k])/ntottr[k]); | |
361 | sigmn4ITSclsparttoTPC[k]=TMath::Sqrt(n4ITSclsparttoTPC[k]*(1-n4ITSclsparttoTPC[k])/ntottr[k]); | |
362 | sigmn5ITSclsparttoTPC[k]=TMath::Sqrt(n5ITSclsparttoTPC[k]*(1-n5ITSclsparttoTPC[k])/ntottr[k]); | |
363 | sigmn6ITSclsparttoTPC[k]=TMath::Sqrt(n6ITSclsparttoTPC[k]*(1-n6ITSclsparttoTPC[k])/ntottr[k]); | |
364 | ||
365 | sigmnSPDtoGen[k]=TMath::Sqrt(nSPDtoGen[k]*(1-nSPDtoGen[k])/nprimgen[k]); | |
366 | sigmn2ITStoGen[k]=TMath::Sqrt(n2ITStoGen[k]*(1-n2ITStoGen[k])/nprimgen[k]); | |
367 | sigmn3ITStoGen[k]=TMath::Sqrt(n3ITStoGen[k]*(1-n3ITStoGen[k])/nprimgen[k]); | |
368 | sigmn4ITStoGen[k]=TMath::Sqrt(n4ITStoGen[k]*(1-n4ITStoGen[k])/nprimgen[k]); | |
369 | sigmn5ITStoGen[k]=TMath::Sqrt(n5ITStoGen[k]*(1-n5ITStoGen[k])/nprimgen[k]); | |
370 | sigmn6ITStoGen[k]=TMath::Sqrt(n6ITStoGen[k]*(1-n6ITStoGen[k])/nprimgen[k]); | |
371 | sigmn456ITStoGen[k]=TMath::Sqrt(n456ITStoGen[k]*(1-n456ITStoGen[k])/nprimgen[k]); | |
372 | sigmnTPCtoGen[k]=TMath::Sqrt(nTPCtoGen[k]*(1-nTPCtoGen[k])/nprimgen[k]); | |
373 | sigmnTPCto6cls[k]=TMath::Sqrt(nTPCto6cls[k]*(1-nTPCto6cls[k])/n6ITSclspart[k]); | |
374 | ||
375 | sigmn1ITSto6cls[k]=TMath::Sqrt(n1ITSto6cls[k]*(1-n1ITSto6cls[k])/n6ITSclspart[k]); | |
376 | sigmn2ITSto6cls[k]=TMath::Sqrt(n2ITSto6cls[k]*(1-n2ITSto6cls[k])/n6ITSclspart[k]); | |
377 | sigmn3ITSto6cls[k]=TMath::Sqrt(n3ITSto6cls[k]*(1-n3ITSto6cls[k])/n6ITSclspart[k]); | |
378 | sigmn4ITSto6cls[k]=TMath::Sqrt(n4ITSto6cls[k]*(1-n4ITSto6cls[k])/n6ITSclspart[k]); | |
379 | sigmn5ITSto6cls[k]=TMath::Sqrt(n5ITSto6cls[k]*(1-n5ITSto6cls[k])/n6ITSclspart[k]); | |
380 | sigmn6ITSto6cls[k]=TMath::Sqrt(n6ITSto6cls[k]*(1-n6ITSto6cls[k])/n6ITSclspart[k]); | |
381 | sigmn4ITSto5cls[k]=TMath::Sqrt(n4ITSto5cls[k]*(1-n4ITSto5cls[k])/n5ITSclspart[k]); | |
382 | sigmn5ITSto5cls[k]=TMath::Sqrt(n5ITSto5cls[k]*(1-n5ITSto5cls[k])/n5ITSclspart[k]); | |
383 | sigmn3ITSto4cls[k]=TMath::Sqrt(n3ITSto4cls[k]*(1-n3ITSto4cls[k])/n4ITSclspart[k]); | |
384 | sigmn4ITSto4cls[k]=TMath::Sqrt(n4ITSto4cls[k]*(1-n4ITSto4cls[k])/n4ITSclspart[k]); | |
385 | sigmn2ITSto3cls[k]=TMath::Sqrt(n2ITSto3cls[k]*(1-n2ITSto3cls[k])/n3ITSclspart[k]); | |
386 | sigmn3ITSto3cls[k]=TMath::Sqrt(n3ITSto3cls[k]*(1-n3ITSto3cls[k])/n3ITSclspart[k]); | |
387 | sigmn1ITSto2cls[k]=TMath::Sqrt(n1ITSto2cls[k]*(1-n1ITSto2cls[k])/n2ITSclspart[k]); | |
388 | sigmn2ITSto2cls[k]=TMath::Sqrt(n2ITSto2cls[k]*(1-n2ITSto2cls[k])/n2ITSclspart[k]); | |
389 | sigmn456ITSto6cls[k]=TMath::Sqrt(n456ITSto6cls[k]*(1-n456ITSto6cls[k])/n6ITSclspart[k]); | |
390 | ||
391 | sigmn330[k]=TMath::Sqrt(n330[k]*(1-n330[k])/ntottr[k]); | |
392 | sigmn331[k]=TMath::Sqrt(n331[k]*(1-n331[k])/ntottr[k]); | |
393 | sigmn332[k]=TMath::Sqrt(n332[k]*(1-n332[k])/ntottr[k]); | |
394 | sigmn313[k]=TMath::Sqrt(n313[k]*(1-n313[k])/ntottr[k]); | |
395 | sigmn323[k]=TMath::Sqrt(n323[k]*(1-n323[k])/ntottr[k]); | |
396 | sigmn133[k]=TMath::Sqrt(n133[k]*(1-n133[k])/ntottr[k]); | |
397 | sigmn233[k]=TMath::Sqrt(n233[k]*(1-n233[k])/ntottr[k]); | |
398 | ||
399 | ||
400 | sigmnOTHERS[k]=TMath::Sqrt(nOTHERS[k]*(1-nOTHERS[k])/ntottr[k]); | |
401 | sigmnSSD[k]=TMath::Sqrt((n133[k]+n233[k])*(1-n133[k]-n233[k])/ntottr[k]); | |
402 | sigmnSDD[k]=TMath::Sqrt((n323[k]+n313[k])*(1-n323[k]-n313[k])/ntottr[k]); | |
403 | } else { | |
404 | meanpt[k]=(ptbinning[2*k+1]+ptbinning[2*k])/2.; | |
405 | } | |
406 | ||
407 | } // end loop on pt bins | |
408 | ||
409 | //-------DRAWING TGRAPH-------- | |
410 | ||
411 | const int cWidth = 500; | |
412 | const int cHeight = (int)(500*(29.7/21.)); | |
413 | ||
414 | TCanvas* ceff0 = new TCanvas("ceff0","ceff0",cWidth,cHeight); | |
415 | ceff0->SetLogx(); | |
416 | ceff0->SetGridy(); | |
417 | ||
418 | gr4 = new TGraphErrors(nPtBins,meanpt,n4ITS,errx,sigmn4ITS); | |
419 | gr4->SetName("mygraph04ITS"); | |
420 | gr4->SetTitle("ITS tracking efficiency (B=0.5T, no misal.)"); | |
421 | gr4->SetLineColor(1); | |
422 | gr4->SetLineWidth(1); | |
423 | gr4->SetMarkerColor(2); | |
424 | gr4->SetMarkerStyle(21); | |
425 | gr4->SetMarkerSize(1); | |
426 | gr4->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
427 | gr4->GetYaxis()->SetTitle("ITS efficiency (normalized to TPC trks)"); | |
428 | gr4->SetMaximum(1.2); | |
429 | gr4->SetMinimum(0.); | |
430 | gr4->Draw("AP"); | |
431 | ||
432 | gr5 = new TGraphErrors(nPtBins,meanpt,n5ITS,errx,sigmn5ITS); | |
433 | gr5->SetName("mygraph05ITS"); | |
434 | gr5->SetLineColor(1); | |
435 | gr5->SetLineWidth(1); | |
436 | gr5->SetMarkerColor(8); | |
437 | gr5->SetMarkerStyle(21); | |
438 | gr5->SetMarkerSize(1.); | |
439 | gr5->SetTitle(titlegraph1); | |
440 | gr5->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
441 | gr5->GetYaxis()->SetTitle(""); | |
442 | gr5->Draw("P"); | |
443 | ||
444 | gr6 = new TGraphErrors(nPtBins,meanpt,n6ITS,errx,sigmn6ITS); | |
445 | gr6->SetName("mygraph06ITS"); | |
446 | gr6->SetLineColor(1); | |
447 | gr6->SetLineWidth(1); | |
448 | gr6->SetMarkerColor(4); | |
449 | gr6->SetMarkerStyle(21); | |
450 | gr6->SetMarkerSize(1.); | |
451 | gr6->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
452 | gr6->GetYaxis()->SetTitle(""); | |
453 | gr6->Draw("P"); | |
454 | ||
455 | gr456 = new TGraphErrors(nPtBins,meanpt,n456ITS,errx,sigmn456ITS); | |
456 | gr456->SetName("mygraph456ITS"); | |
457 | gr456->SetLineColor(1); | |
458 | gr456->SetLineWidth(1); | |
459 | gr456->SetMarkerColor(1); | |
460 | gr456->SetMarkerStyle(21); | |
461 | gr456->SetMarkerSize(1.); | |
462 | gr456->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
463 | gr456->GetYaxis()->SetTitle(""); | |
464 | gr456->Draw("P"); | |
465 | ||
466 | TLegend *l0 = new TLegend(0.5,0.5,0.9,0.9); | |
467 | l0->SetFillStyle(0); | |
468 | l0->SetBorderSize(0); | |
469 | l0->AddEntry(gr4,"kTPCin + 4 ITS cls","p"); | |
470 | l0->AddEntry(gr5,"kTPCin + 5 ITS cls","p"); | |
471 | l0->AddEntry(gr6,"kTPCin + 6 ITS cls","p"); | |
472 | l0->AddEntry(gr456,"kTPCin + 4or5or6 ITS cls","p"); | |
473 | l0->Draw(); | |
474 | ||
475 | TCanvas* ceff1 = new TCanvas("ceff1","ceff1",cWidth,cHeight); | |
476 | ceff1->SetLogx(); | |
477 | ceff1->SetGridy(); | |
478 | ||
479 | gr4toGen = new TGraphErrors(nPtBins,meanpt,n4ITStoGen,errx,sigmn4ITStoGen); | |
480 | gr4toGen->SetName("mygraph04ITStoGen"); | |
481 | gr4toGen->SetTitle("Physical tracking efficiency (B=0.5T, no misal.)"); | |
482 | gr4toGen->SetLineColor(1); | |
483 | gr4toGen->SetLineWidth(1); | |
484 | gr4toGen->SetMarkerColor(2); | |
485 | gr4toGen->SetMarkerStyle(24); | |
486 | gr4toGen->SetMarkerSize(1.); | |
487 | gr4toGen->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
488 | gr4toGen->GetYaxis()->SetTitle("Physical efficiency (normalized to generated)"); | |
489 | gr4toGen->SetMaximum(1.2); | |
490 | gr4toGen->SetMinimum(0.); | |
491 | gr4toGen->Draw("AP"); | |
492 | ||
493 | gr2toGen = new TGraphErrors(nPtBins,meanpt,n2ITStoGen,errx,sigmn2ITStoGen); | |
494 | gr2toGen->SetName("mygraph02ITStoGen"); | |
495 | gr2toGen->SetLineColor(1); | |
496 | gr2toGen->SetLineWidth(1); | |
497 | gr2toGen->SetMarkerColor(1); | |
498 | gr2toGen->SetMarkerStyle(20); | |
499 | gr2toGen->SetMarkerSize(1.); | |
500 | gr2toGen->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
501 | gr2toGen->GetYaxis()->SetTitle(""); | |
502 | gr2toGen->Draw("P"); | |
503 | ||
504 | gr3toGen = new TGraphErrors(nPtBins,meanpt,n3ITStoGen,errx,sigmn3ITStoGen); | |
505 | gr3toGen->SetName("mygraph03ITStoGen"); | |
506 | gr3toGen->SetLineColor(1); | |
507 | gr3toGen->SetLineWidth(1); | |
508 | gr3toGen->SetMarkerColor(2); | |
509 | gr3toGen->SetMarkerStyle(21); | |
510 | gr3toGen->SetMarkerSize(1.); | |
511 | gr3toGen->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
512 | gr3toGen->GetYaxis()->SetTitle(""); | |
513 | gr3toGen->Draw("P"); | |
514 | ||
515 | gr5toGen = new TGraphErrors(nPtBins,meanpt,n5ITStoGen,errx,sigmn5ITStoGen); | |
516 | gr5toGen->SetName("mygraph05ITStoGen"); | |
517 | gr5toGen->SetLineColor(1); | |
518 | gr5toGen->SetLineWidth(1); | |
519 | gr5toGen->SetMarkerColor(8); | |
520 | gr5toGen->SetMarkerStyle(24); | |
521 | gr5toGen->SetMarkerSize(1.); | |
522 | gr5toGen->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
523 | gr5toGen->GetYaxis()->SetTitle(""); | |
524 | gr5toGen->Draw("P"); | |
525 | ||
526 | gr6toGen = new TGraphErrors(nPtBins,meanpt,n6ITStoGen,errx,sigmn6ITStoGen); | |
527 | gr6toGen->SetName("mygraph06ITStoGen"); | |
528 | gr6toGen->SetLineColor(1); | |
529 | gr6toGen->SetLineWidth(1); | |
530 | gr6toGen->SetMarkerColor(4); | |
531 | gr6toGen->SetMarkerStyle(24); | |
532 | gr6toGen->SetMarkerSize(1.); | |
533 | gr6toGen->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
534 | gr6toGen->GetYaxis()->SetTitle(""); | |
535 | gr6toGen->Draw("P"); | |
536 | ||
537 | gr456toGen = new TGraphErrors(nPtBins,meanpt,n456ITStoGen,errx,sigmn456ITStoGen); | |
538 | gr456toGen->SetName("mygraph0456ITStoGen"); | |
539 | gr456toGen->SetLineColor(1); | |
540 | gr456toGen->SetLineWidth(1); | |
541 | gr456toGen->SetMarkerColor(1); | |
542 | gr456toGen->SetMarkerStyle(24); | |
543 | gr456toGen->SetMarkerSize(1.); | |
544 | gr456toGen->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
545 | gr456toGen->GetYaxis()->SetTitle(""); | |
546 | //gr456toGen->Draw("P"); | |
547 | ||
548 | ||
549 | grTPCtoGen = new TGraphErrors(nPtBins,meanpt,nTPCtoGen,errx,sigmnTPCtoGen); | |
550 | grTPCtoGen->SetName("mygraph0TPCtoGen"); | |
551 | grTPCtoGen->SetLineColor(1); | |
552 | grTPCtoGen->SetLineWidth(1); | |
553 | grTPCtoGen->SetMarkerColor(6); | |
554 | grTPCtoGen->SetMarkerStyle(20); | |
555 | grTPCtoGen->SetMarkerSize(1.); | |
556 | grTPCtoGen->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
557 | grTPCtoGen->GetYaxis()->SetTitle(""); | |
558 | grTPCtoGen->Draw("P"); | |
559 | ||
560 | grSPDtoGen = new TGraphErrors(nPtBins,meanpt,nSPDtoGen,errx,sigmnSPDtoGen); | |
561 | grSPDtoGen->SetName("mygraph0SPDtoGen"); | |
562 | grSPDtoGen->SetLineColor(1); | |
563 | grSPDtoGen->SetLineWidth(1); | |
564 | grSPDtoGen->SetMarkerColor(9); | |
565 | grSPDtoGen->SetMarkerStyle(22); | |
566 | grSPDtoGen->SetMarkerSize(1.3); | |
567 | grSPDtoGen->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
568 | grSPDtoGen->GetYaxis()->SetTitle(""); | |
569 | grSPDtoGen->Draw("P"); | |
570 | ||
571 | ||
572 | TLegend *l1 = new TLegend(0.5,0.5,0.9,0.9); | |
573 | l1->SetFillStyle(0); | |
574 | l1->SetBorderSize(0); | |
575 | l1->AddEntry(grTPCtoGen,"kTPCin","p"); | |
576 | l1->AddEntry(grSPDtoGen,"kTPCin + 2 SPD cls","p"); | |
577 | l1->AddEntry(gr2toGen,"kTPCin + 2 ITS cls","p"); | |
578 | l1->AddEntry(gr3toGen,"kTPCin + 3 ITS cls","p"); | |
579 | l1->AddEntry(gr4toGen,"kTPCin + 4 ITS cls","p"); | |
580 | l1->AddEntry(gr5toGen,"kTPCin + 5 ITS cls","p"); | |
581 | l1->AddEntry(gr6toGen,"kTPCin + 6 ITS cls","p"); | |
582 | //l1->AddEntry(gr456toGen,"kTPCin + 4or5or6 ITS cls","p"); | |
583 | l1->Draw(); | |
584 | ||
585 | ||
586 | ||
587 | TCanvas* ceff2_6 = new TCanvas("ceff2_6","ceff2_6",cWidth,cHeight); | |
588 | ceff2_6->SetLogx(); | |
589 | ceff2_6->SetGridy(); | |
590 | ||
591 | gr4to6cls = new TGraphErrors(nPtBins,meanpt,n4ITSto6cls,errx,sigmn4ITSto6cls); | |
592 | gr4to6cls->SetName("mygraph04ITSto6cls"); | |
593 | gr4to6cls->SetTitle("ITS tracking efficiency (B=0.5T, no misal.)"); | |
594 | gr4to6cls->SetLineColor(1); | |
595 | gr4to6cls->SetLineWidth(1); | |
596 | gr4to6cls->SetMarkerColor(2); | |
597 | gr4to6cls->SetMarkerStyle(24); | |
598 | gr4to6cls->SetMarkerSize(1.); | |
599 | gr4to6cls->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
600 | gr4to6cls->GetYaxis()->SetTitle("ITS efficiency (normalized to kTPCin with 6 ITS cls)"); | |
601 | gr4to6cls->SetMaximum(1.2); | |
602 | gr4to6cls->SetMinimum(0.); | |
603 | gr4to6cls->Draw("AP"); | |
604 | ||
605 | gr5to6cls = new TGraphErrors(nPtBins,meanpt,n5ITSto6cls,errx,sigmn5ITSto6cls); | |
606 | gr5to6cls->SetName("mygraph05ITSto6cls"); | |
607 | gr5to6cls->SetLineColor(1); | |
608 | gr5to6cls->SetLineWidth(1); | |
609 | gr5to6cls->SetMarkerColor(8); | |
610 | gr5to6cls->SetMarkerStyle(25); | |
611 | gr5to6cls->SetMarkerSize(1.); | |
612 | gr5to6cls->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
613 | gr5to6cls->GetYaxis()->SetTitle(""); | |
614 | gr5to6cls->Draw("P"); | |
615 | ||
616 | gr6to6cls = new TGraphErrors(nPtBins,meanpt,n6ITSto6cls,errx,sigmn6ITSto6cls); | |
617 | gr6to6cls->SetName("mygraph06ITSto6cls"); | |
618 | gr6to6cls->SetLineColor(1); | |
619 | gr6to6cls->SetLineWidth(1); | |
620 | gr6to6cls->SetMarkerColor(4); | |
621 | gr6to6cls->SetMarkerStyle(26); | |
622 | gr6to6cls->SetMarkerSize(1.); | |
623 | gr6to6cls->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
624 | gr6to6cls->GetYaxis()->SetTitle(""); | |
625 | gr6to6cls->Draw("P"); | |
626 | ||
627 | gr3to6cls = new TGraphErrors(nPtBins,meanpt,n3ITSto6cls,errx,sigmn3ITSto6cls); | |
628 | gr3to6cls->SetName("mygraph03ITSto6cls"); | |
629 | gr3to6cls->SetLineColor(1); | |
630 | gr3to6cls->SetLineWidth(1); | |
631 | gr3to6cls->SetMarkerColor(9); | |
632 | gr3to6cls->SetMarkerStyle(27); | |
633 | gr3to6cls->SetMarkerSize(1.); | |
634 | gr3to6cls->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
635 | gr3to6cls->GetYaxis()->SetTitle(""); | |
636 | gr3to6cls->Draw("P"); | |
637 | ||
638 | gr2to6cls = new TGraphErrors(nPtBins,meanpt,n2ITSto6cls,errx,sigmn2ITSto6cls); | |
639 | gr2to6cls->SetName("mygraph02ITSto6cls"); | |
640 | gr2to6cls->SetLineColor(1); | |
641 | gr2to6cls->SetLineWidth(1); | |
642 | gr2to6cls->SetMarkerColor(1); | |
643 | gr2to6cls->SetMarkerStyle(28); | |
644 | gr2to6cls->SetMarkerSize(1.); | |
645 | gr2to6cls->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
646 | gr2to6cls->GetYaxis()->SetTitle(""); | |
647 | gr2to6cls->Draw("P"); | |
648 | ||
649 | gr1to6cls = new TGraphErrors(nPtBins,meanpt,n1ITSto6cls,errx,sigmn1ITSto6cls); | |
650 | gr1to6cls->SetName("mygraph01ITSto6cls"); | |
651 | gr1to6cls->SetLineColor(1); | |
652 | gr1to6cls->SetLineWidth(1); | |
653 | gr1to6cls->SetMarkerColor(6); | |
654 | gr1to6cls->SetMarkerStyle(29); | |
655 | gr1to6cls->SetMarkerSize(1.); | |
656 | gr1to6cls->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
657 | gr1to6cls->GetYaxis()->SetTitle(""); | |
658 | gr1to6cls->Draw("P"); | |
659 | ||
660 | ||
661 | TLegend *l2_6 = new TLegend(0.5,0.5,0.9,0.9); | |
662 | l2_6->SetFillStyle(0); | |
663 | l2_6->SetBorderSize(0); | |
664 | l2_6->AddEntry(gr6to6cls,"kTPCin + 6 ITS cls","p"); | |
665 | l2_6->AddEntry(gr5to6cls,"kTPCin + 5 ITS cls","p"); | |
666 | l2_6->AddEntry(gr4to6cls,"kTPCin + 4 ITS cls","p"); | |
667 | l2_6->AddEntry(gr3to6cls,"kTPCin + 3 ITS cls","p"); | |
668 | l2_6->AddEntry(gr2to6cls,"kTPCin + 2 ITS cls","p"); | |
669 | l2_6->AddEntry(gr1to6cls,"kTPCin + 1 ITS cls","p"); | |
670 | l2_6->Draw(); | |
671 | ||
672 | TCanvas* ceff2_5 = new TCanvas("ceff2_5","ceff2_5",cWidth,cHeight); | |
673 | ceff2_5->SetLogx(); | |
674 | ceff2_5->SetGridy(); | |
675 | ||
676 | gr4to5cls = new TGraphErrors(nPtBins,meanpt,n4ITSto5cls,errx,sigmn4ITSto5cls); | |
677 | gr4to5cls->SetName("mygraph04ITSto5cls"); | |
678 | gr4to5cls->SetTitle("ITS tracking efficiency (B=0.5T, no misal.)"); | |
679 | gr4to5cls->SetLineColor(1); | |
680 | gr4to5cls->SetLineWidth(1); | |
681 | gr4to5cls->SetMarkerColor(2); | |
682 | gr4to5cls->SetMarkerStyle(24); | |
683 | gr4to5cls->SetMarkerSize(1.); | |
684 | gr4to5cls->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
685 | gr4to5cls->GetYaxis()->SetTitle("ITS efficiency (normalized to kTPCin with 5 ITS cls)"); | |
686 | gr4to5cls->SetMaximum(1.2); | |
687 | gr4to5cls->SetMinimum(0.); | |
688 | gr4to5cls->Draw("AP"); | |
689 | ||
690 | gr5to5cls = new TGraphErrors(nPtBins,meanpt,n5ITSto5cls,errx,sigmn5ITSto5cls); | |
691 | gr5to5cls->SetName("mygraph05ITSto5cls"); | |
692 | gr5to5cls->SetLineColor(1); | |
693 | gr5to5cls->SetLineWidth(1); | |
694 | gr5to5cls->SetMarkerColor(1); | |
695 | gr5to5cls->SetMarkerStyle(25); | |
696 | gr5to5cls->SetMarkerSize(1.); | |
697 | gr5to5cls->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
698 | gr5to5cls->GetYaxis()->SetTitle(""); | |
699 | gr5to5cls->Draw("P"); | |
700 | ||
701 | TLegend *l2_5 = new TLegend(0.5,0.5,0.9,0.9); | |
702 | l2_5->SetFillStyle(0); | |
703 | l2_5->SetBorderSize(0); | |
704 | l2_5->AddEntry(gr5to5cls,"kTPCin + 5 ITS cls","p"); | |
705 | l2_5->AddEntry(gr4to5cls,"kTPCin + 4 ITS cls","p"); | |
706 | l2_5->Draw(); | |
707 | ||
708 | TCanvas* ceff2_4 = new TCanvas("ceff2_4","ceff2_4",cWidth,cHeight); | |
709 | ceff2_4->SetLogx(); | |
710 | ceff2_4->SetGridy(); | |
711 | ||
712 | gr4to4cls = new TGraphErrors(nPtBins,meanpt,n4ITSto4cls,errx,sigmn4ITSto4cls); | |
713 | gr4to4cls->SetName("mygraph04ITSto4cls"); | |
714 | gr4to4cls->SetTitle("ITS tracking efficiency (B=0.5T, no misal.)"); | |
715 | gr4to4cls->SetLineColor(1); | |
716 | gr4to4cls->SetLineWidth(1); | |
717 | gr4to4cls->SetMarkerColor(2); | |
718 | gr4to4cls->SetMarkerStyle(24); | |
719 | gr4to4cls->SetMarkerSize(1.); | |
720 | gr4to4cls->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
721 | gr4to4cls->GetYaxis()->SetTitle("ITS efficiency (normalized to kTPCin with 4 ITS cls)"); | |
722 | gr4to4cls->SetMaximum(1.2); | |
723 | gr4to4cls->SetMinimum(0.); | |
724 | gr4to4cls->Draw("AP"); | |
725 | ||
726 | gr3to4cls = new TGraphErrors(nPtBins,meanpt,n3ITSto4cls,errx,sigmn3ITSto4cls); | |
727 | gr3to4cls->SetName("mygraph03ITSto4cls"); | |
728 | gr3to4cls->SetLineColor(1); | |
729 | gr3to4cls->SetLineWidth(1); | |
730 | gr3to4cls->SetMarkerColor(1); | |
731 | gr3to4cls->SetMarkerStyle(25); | |
732 | gr3to4cls->SetMarkerSize(1.); | |
733 | gr3to4cls->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
734 | gr3to4cls->GetYaxis()->SetTitle(""); | |
735 | gr3to4cls->Draw("P"); | |
736 | ||
737 | TLegend *l2_4 = new TLegend(0.5,0.5,0.9,0.9); | |
738 | l2_4->SetFillStyle(0); | |
739 | l2_4->SetBorderSize(0); | |
740 | l2_4->AddEntry(gr4to4cls,"kTPCin + 4 ITS cls","p"); | |
741 | l2_4->AddEntry(gr3to4cls,"kTPCin + 3 ITS cls","p"); | |
742 | l2_4->Draw(); | |
743 | ||
744 | TCanvas* ceff2_3 = new TCanvas("ceff2_3","ceff2_3",cWidth,cHeight); | |
745 | ceff2_3->SetLogx(); | |
746 | ceff2_3->SetGridy(); | |
747 | ||
748 | gr3to3cls = new TGraphErrors(nPtBins,meanpt,n3ITSto3cls,errx,sigmn3ITSto3cls); | |
749 | gr3to3cls->SetName("mygraph03ITSto3cls"); | |
750 | gr3to3cls->SetTitle("ITS tracking efficiency (B=0.5T, no misal.)"); | |
751 | gr3to3cls->SetLineColor(1); | |
752 | gr3to3cls->SetLineWidth(1); | |
753 | gr3to3cls->SetMarkerColor(2); | |
754 | gr3to3cls->SetMarkerStyle(24); | |
755 | gr3to3cls->SetMarkerSize(1.); | |
756 | gr3to3cls->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
757 | gr3to3cls->GetYaxis()->SetTitle("ITS efficiency (normalized to kTPCin with 3 ITS cls)"); | |
758 | gr3to3cls->SetMaximum(1.2); | |
759 | gr3to3cls->SetMinimum(0.); | |
760 | gr3to3cls->Draw("AP"); | |
761 | ||
762 | gr2to3cls = new TGraphErrors(nPtBins,meanpt,n2ITSto3cls,errx,sigmn2ITSto3cls); | |
763 | gr2to3cls->SetName("mygraph02ITSto3cls"); | |
764 | gr2to3cls->SetLineColor(1); | |
765 | gr2to3cls->SetLineWidth(1); | |
766 | gr2to3cls->SetMarkerColor(1); | |
767 | gr2to3cls->SetMarkerStyle(25); | |
768 | gr2to3cls->SetMarkerSize(1.); | |
769 | gr2to3cls->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
770 | gr2to3cls->GetYaxis()->SetTitle(""); | |
771 | gr2to3cls->Draw("P"); | |
772 | ||
773 | TLegend *l2_3 = new TLegend(0.5,0.5,0.9,0.9); | |
774 | l2_3->SetFillStyle(0); | |
775 | l2_3->SetBorderSize(0); | |
776 | l2_3->AddEntry(gr3to3cls,"kTPCin + 3 ITS cls","p"); | |
777 | l2_3->AddEntry(gr2to3cls,"kTPCin + 2 ITS cls","p"); | |
778 | l2_3->Draw(); | |
779 | ||
780 | TCanvas* ceff2_2 = new TCanvas("ceff2_2","ceff2_2",cWidth,cHeight); | |
781 | ceff2_2->SetLogx(); | |
782 | ceff2_2->SetGridy(); | |
783 | ||
784 | gr1to2cls = new TGraphErrors(nPtBins,meanpt,n1ITSto2cls,errx,sigmn1ITSto2cls); | |
785 | gr1to2cls->SetName("mygraph01ITSto2cls"); | |
786 | gr1to2cls->SetTitle("ITS tracking efficiency (B=0.5T, no misal.)"); | |
787 | gr1to2cls->SetLineColor(1); | |
788 | gr1to2cls->SetLineWidth(1); | |
789 | gr1to2cls->SetMarkerColor(2); | |
790 | gr1to2cls->SetMarkerStyle(24); | |
791 | gr1to2cls->SetMarkerSize(1.); | |
792 | gr1to2cls->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
793 | gr1to2cls->GetYaxis()->SetTitle("ITS efficiency (normalized to kTPCin with 2 ITS cls)"); | |
794 | gr1to2cls->SetMaximum(1.2); | |
795 | gr1to2cls->SetMinimum(0.); | |
796 | gr1to2cls->Draw("AP"); | |
797 | ||
798 | gr2to2cls = new TGraphErrors(nPtBins,meanpt,n2ITSto2cls,errx,sigmn2ITSto2cls); | |
799 | gr2to2cls->SetName("mygraph02ITSto2cls"); | |
800 | gr2to2cls->SetLineColor(1); | |
801 | gr2to2cls->SetLineWidth(1); | |
802 | gr2to2cls->SetMarkerColor(1); | |
803 | gr2to2cls->SetMarkerStyle(25); | |
804 | gr2to2cls->SetMarkerSize(1.); | |
805 | gr2to2cls->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
806 | gr2to2cls->GetYaxis()->SetTitle(""); | |
807 | gr2to2cls->Draw("P"); | |
808 | ||
809 | TLegend *l2_2 = new TLegend(0.5,0.5,0.9,0.9); | |
810 | l2_2->SetFillStyle(0); | |
811 | l2_2->SetBorderSize(0); | |
812 | l2_2->AddEntry(gr2to2cls,"kTPCin + 2 ITS cls","p"); | |
813 | l2_2->AddEntry(gr1to2cls,"kTPCin + 1 ITS cls","p"); | |
814 | l2_2->Draw(); | |
815 | ||
816 | ||
817 | TCanvas* ceff3 = new TCanvas("ceff3","ceff3",cWidth,cHeight); | |
818 | ceff3->SetLogx(); | |
819 | ceff3->SetGridy(); | |
820 | ||
821 | gr4ITSclsparttoTPC = new TGraphErrors(nPtBins,meanpt,n4ITSclsparttoTPC,errx,sigmn4ITSclsparttoTPC); | |
822 | gr4ITSclsparttoTPC->SetName("mygraph04ITSclsparttoTPC"); | |
823 | gr4ITSclsparttoTPC->SetTitle("Number of produced clusters (B=0.5T, no misal.)"); | |
824 | gr4ITSclsparttoTPC->SetLineColor(1); | |
825 | gr4ITSclsparttoTPC->SetLineWidth(1); | |
826 | gr4ITSclsparttoTPC->SetMarkerColor(2); | |
827 | gr4ITSclsparttoTPC->SetMarkerStyle(22); | |
828 | gr4ITSclsparttoTPC->SetMarkerSize(1.); | |
829 | gr4ITSclsparttoTPC->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
830 | gr4ITSclsparttoTPC->GetYaxis()->SetTitle("Fraction of primary kTPCin tracks producing N clusters"); | |
831 | gr4ITSclsparttoTPC->SetMaximum(1.2); | |
832 | gr4ITSclsparttoTPC->SetMinimum(0.); | |
833 | gr4ITSclsparttoTPC->Draw("AP"); | |
834 | ||
835 | gr5ITSclsparttoTPC = new TGraphErrors(nPtBins,meanpt,n5ITSclsparttoTPC,errx,sigmn5ITSclsparttoTPC); | |
836 | gr5ITSclsparttoTPC->SetName("mygraph05ITSclsparttoTPC"); | |
837 | gr5ITSclsparttoTPC->SetLineColor(1); | |
838 | gr5ITSclsparttoTPC->SetLineWidth(1); | |
839 | gr5ITSclsparttoTPC->SetMarkerColor(8); | |
840 | gr5ITSclsparttoTPC->SetMarkerStyle(22); | |
841 | gr5ITSclsparttoTPC->SetMarkerSize(1.); | |
842 | gr5ITSclsparttoTPC->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
843 | gr5ITSclsparttoTPC->GetYaxis()->SetTitle(""); | |
844 | gr5ITSclsparttoTPC->Draw("P"); | |
845 | ||
846 | gr6ITSclsparttoTPC = new TGraphErrors(nPtBins,meanpt,n6ITSclsparttoTPC,errx,sigmn6ITSclsparttoTPC); | |
847 | gr6ITSclsparttoTPC->SetName("mygraph06ITSITSclsparttoTPC"); | |
848 | gr6ITSclsparttoTPC->SetLineColor(1); | |
849 | gr6ITSclsparttoTPC->SetLineWidth(1); | |
850 | gr6ITSclsparttoTPC->SetMarkerColor(4); | |
851 | gr6ITSclsparttoTPC->SetMarkerStyle(22); | |
852 | gr6ITSclsparttoTPC->SetMarkerSize(1.); | |
853 | gr6ITSclsparttoTPC->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
854 | gr6ITSclsparttoTPC->GetYaxis()->SetTitle(""); | |
855 | gr6ITSclsparttoTPC->Draw("P"); | |
856 | ||
857 | gr3ITSclsparttoTPC = new TGraphErrors(nPtBins,meanpt,n3ITSclsparttoTPC,errx,sigmn3ITSclsparttoTPC); | |
858 | gr3ITSclsparttoTPC->SetName("mygraph03ITSITSclsparttoTPC"); | |
859 | gr3ITSclsparttoTPC->SetLineColor(1); | |
860 | gr3ITSclsparttoTPC->SetLineWidth(1); | |
861 | gr3ITSclsparttoTPC->SetMarkerColor(6); | |
862 | gr3ITSclsparttoTPC->SetMarkerStyle(22); | |
863 | gr3ITSclsparttoTPC->SetMarkerSize(1.); | |
864 | gr3ITSclsparttoTPC->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
865 | gr3ITSclsparttoTPC->GetYaxis()->SetTitle(""); | |
866 | gr3ITSclsparttoTPC->Draw("P"); | |
867 | ||
868 | gr2ITSclsparttoTPC = new TGraphErrors(nPtBins,meanpt,n2ITSclsparttoTPC,errx,sigmn2ITSclsparttoTPC); | |
869 | gr2ITSclsparttoTPC->SetName("mygraph06ITSITSclsparttoTPC"); | |
870 | gr2ITSclsparttoTPC->SetLineColor(1); | |
871 | gr2ITSclsparttoTPC->SetLineWidth(1); | |
872 | gr2ITSclsparttoTPC->SetMarkerColor(1); | |
873 | gr2ITSclsparttoTPC->SetMarkerStyle(22); | |
874 | gr2ITSclsparttoTPC->SetMarkerSize(1.); | |
875 | gr2ITSclsparttoTPC->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
876 | gr2ITSclsparttoTPC->GetYaxis()->SetTitle(""); | |
877 | gr2ITSclsparttoTPC->Draw("P"); | |
878 | ||
879 | TLegend *l3 = new TLegend(0.5,0.5,0.9,0.9); | |
880 | l3->SetFillStyle(0); | |
881 | l3->SetBorderSize(0); | |
882 | l3->AddEntry(gr2ITSclsparttoTPC,"2 ITS cls","p"); | |
883 | l3->AddEntry(gr3ITSclsparttoTPC,"3 ITS cls","p"); | |
884 | l3->AddEntry(gr4ITSclsparttoTPC,"4 ITS cls","p"); | |
885 | l3->AddEntry(gr5ITSclsparttoTPC,"5 ITS cls","p"); | |
886 | l3->AddEntry(gr6ITSclsparttoTPC,"6 ITS cls","p"); | |
887 | l3->Draw(); | |
888 | ||
889 | ||
890 | ////////////--------------5 POINTS SCENARIO | |
891 | ||
892 | TCanvas* fitting1 = new TCanvas("fitting1","5 Points Scenario tracks analysis",cWidth,cHeight); | |
893 | fitting1->Divide(3,2); | |
894 | fitting1->cd(1); | |
895 | // gPad->SetLogy(); | |
896 | gPad->SetLogx(); | |
897 | gPad->SetGridx(); | |
898 | gPad->SetGridy(); | |
899 | gr133 = new TGraphErrors(nPtBins,meanpt,n133,errx,sigmn133); | |
900 | gr133->SetName("mygraph133"); | |
901 | gr133->SetLineColor(1); | |
902 | gr133->SetLineWidth(1); | |
903 | gr133->SetMarkerColor(4); | |
904 | gr133->SetMarkerStyle(21); | |
905 | gr133->SetMarkerSize(.5); | |
906 | titlegraph1="NTracks without SSD2 point for "; | |
907 | //titlegraph1="d_{0}(r#phi) Resolution for "; | |
908 | titlegraph1.Append(partforgraph); | |
909 | // titlegraph1.Append(" using True Vertex"); | |
910 | gr133->SetTitle(titlegraph1); | |
911 | gr133->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
912 | gr133->GetYaxis()->SetTitle(""); | |
913 | gr133->Draw("AP"); | |
914 | ||
915 | fitting1->cd(4); | |
916 | // gPad->SetLogy(); | |
917 | gPad->SetLogx(); | |
918 | gPad->SetGridx(); | |
919 | gPad->SetGridy(); | |
920 | gr233 = new TGraphErrors(nPtBins,meanpt,n233,errx,sigmn233); | |
921 | gr233->SetName("mygraph233"); | |
922 | gr233->SetLineColor(1); | |
923 | gr233->SetLineWidth(1); | |
924 | gr233->SetMarkerColor(4); | |
925 | gr233->SetMarkerStyle(21); | |
926 | gr233->SetMarkerSize(.5); | |
927 | //titlegraph1="d_{0}(r#phi) Resolution for "; | |
928 | titlegraph1="NTracks without SSD1 point for "; | |
929 | titlegraph1.Append(partforgraph); | |
930 | // titlegraph1.Append(" using Reconstructed Vertex"); | |
931 | gr233->SetTitle(titlegraph1); | |
932 | gr233->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
933 | gr233->GetYaxis()->SetTitle(""); | |
934 | gr233->Draw("AP"); | |
935 | ||
936 | fitting1->cd(2); | |
937 | // gPad->SetLogy(); | |
938 | gPad->SetLogx(); | |
939 | gPad->SetGridx(); | |
940 | gPad->SetGridy(); | |
941 | gr313 = new TGraphErrors(nPtBins,meanpt,n313,errx,sigmn313); | |
942 | gr313->SetName("mygraph313"); | |
943 | gr313->SetLineColor(1); | |
944 | gr313->SetLineWidth(1); | |
945 | gr313->SetMarkerColor(4); | |
946 | gr313->SetMarkerStyle(21); | |
947 | gr313->SetMarkerSize(.5); | |
948 | titlegraph1="NTracks without SDD2 point for "; | |
949 | titlegraph1.Append(partforgraph); | |
950 | // titlegraph1.Append(" using Vertex on the Fly"); | |
951 | gr313->SetTitle(titlegraph1); | |
952 | gr313->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
953 | gr313->GetYaxis()->SetTitle(""); | |
954 | gr313->Draw("AP"); | |
955 | ||
956 | fitting1->cd(5); | |
957 | // gPad->SetLogy(); | |
958 | gPad->SetLogx(); | |
959 | gPad->SetGridx(); | |
960 | gPad->SetGridy(); | |
961 | gr323 = new TGraphErrors(nPtBins,meanpt,n323,errx,sigmn323); | |
962 | gr323->SetName("mygraph323"); | |
963 | gr323->SetLineColor(1); | |
964 | gr323->SetLineWidth(1); | |
965 | gr323->SetMarkerColor(4); | |
966 | gr323->SetMarkerStyle(21); | |
967 | gr323->SetMarkerSize(.5); | |
968 | titlegraph1="NTracks without SDD1 point for "; | |
969 | titlegraph1.Append(partforgraph); | |
970 | // titlegraph1.Append(" using Vertex on the Fly"); | |
971 | gr323->SetTitle(titlegraph1); | |
972 | gr323->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
973 | gr323->GetYaxis()->SetTitle(""); | |
974 | gr323->Draw("AP"); | |
975 | ||
976 | fitting1->cd(3); | |
977 | // gPad->SetLogy(); | |
978 | gPad->SetLogx(); | |
979 | gPad->SetGridx(); | |
980 | gPad->SetGridy(); | |
981 | gr331 = new TGraphErrors(nPtBins,meanpt,n331,errx,sigmn331); | |
982 | gr331->SetName("mygraph331"); | |
983 | gr331->SetLineColor(1); | |
984 | gr331->SetLineWidth(1); | |
985 | gr331->SetMarkerColor(4); | |
986 | gr331->SetMarkerStyle(21); | |
987 | gr331->SetMarkerSize(.5); | |
988 | titlegraph1="NTracks without SPD2 point for "; | |
989 | titlegraph1.Append(partforgraph); | |
990 | // titlegraph1.Append(" using Vertex on the Fly"); | |
991 | gr331->SetTitle(titlegraph1); | |
992 | gr331->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
993 | gr331->GetYaxis()->SetTitle(""); | |
994 | gr331->Draw("AP"); | |
995 | ||
996 | fitting1->cd(6); | |
997 | // gPad->SetLogy(); | |
998 | gPad->SetLogx(); | |
999 | gPad->SetGridx(); | |
1000 | gPad->SetGridy(); | |
1001 | gr332 = new TGraphErrors(nPtBins,meanpt,n332,errx,sigmn332); | |
1002 | gr332->SetName("mygraph332"); | |
1003 | gr332->SetLineColor(1); | |
1004 | gr332->SetLineWidth(1); | |
1005 | gr332->SetMarkerColor(4); | |
1006 | gr332->SetMarkerStyle(21); | |
1007 | gr332->SetMarkerSize(.5); | |
1008 | titlegraph1="NTracks without SPD1 point for "; | |
1009 | titlegraph1.Append(partforgraph); | |
1010 | // titlegraph1.Append(" using Vertex on the Fly"); | |
1011 | gr332->SetTitle(titlegraph1); | |
1012 | gr332->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
1013 | gr332->GetYaxis()->SetTitle(""); | |
1014 | gr332->Draw("AP"); | |
1015 | ||
1016 | ||
1017 | TCanvas* fitting2 = new TCanvas("fitting2","SPD Scenario tracks analysis",cWidth,cHeight); | |
1018 | fitting2->Divide(3,2); | |
1019 | ||
1020 | fitting2->cd(1); | |
1021 | gPad->SetLogx(); | |
1022 | gPad->SetGridx(); | |
1023 | gPad->SetGridy(); | |
1024 | gr331->Draw("AP"); | |
1025 | ||
1026 | fitting2->cd(2); | |
1027 | gPad->SetLogx(); | |
1028 | gPad->SetGridx(); | |
1029 | gPad->SetGridy(); | |
1030 | gr332->Draw("AP"); | |
1031 | ||
1032 | fitting2->cd(3); | |
1033 | // gPad->SetLogy(); | |
1034 | gPad->SetLogx(); | |
1035 | gPad->SetGridx(); | |
1036 | gPad->SetGridy(); | |
1037 | gr330 = new TGraphErrors(nPtBins,meanpt,n330,errx,sigmn330); | |
1038 | gr330->SetName("mygraph330"); | |
1039 | gr330->SetLineColor(1); | |
1040 | gr330->SetLineWidth(1); | |
1041 | gr330->SetMarkerColor(4); | |
1042 | gr330->SetMarkerStyle(21); | |
1043 | gr330->SetMarkerSize(.5); | |
1044 | titlegraph1="NTracks without 2 SPD points for "; | |
1045 | //titlegraph1="d_{0}(r#phi) Resolution for "; | |
1046 | titlegraph1.Append(partforgraph); | |
1047 | // titlegraph1.Append(" using True Vertex"); | |
1048 | gr330->SetTitle(titlegraph1); | |
1049 | gr330->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
1050 | gr330->GetYaxis()->SetTitle(""); | |
1051 | gr330->Draw("AP"); | |
1052 | ||
1053 | fitting2->cd(4); | |
1054 | // gPad->SetLogy(); | |
1055 | gPad->SetLogx(); | |
1056 | gPad->SetGridx(); | |
1057 | gPad->SetGridy(); | |
1058 | grSSD = new TGraphErrors(nPtBins,meanpt,nSSD,errx,sigmnSSD); | |
1059 | grSSD->SetName("mygraphSSD"); | |
1060 | grSSD->SetLineColor(1); | |
1061 | grSSD->SetLineWidth(1); | |
1062 | grSSD->SetMarkerColor(4); | |
1063 | grSSD->SetMarkerStyle(21); | |
1064 | grSSD->SetMarkerSize(.5); | |
1065 | titlegraph1="NTracks without one SSD point for "; | |
1066 | //titlegraph1="d_{0}(r#phi) Resolution for "; | |
1067 | titlegraph1.Append(partforgraph); | |
1068 | // titlegraph1.Append(" using True Vertex"); | |
1069 | grSSD->SetTitle(titlegraph1); | |
1070 | grSSD->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
1071 | grSSD->GetYaxis()->SetTitle(""); | |
1072 | grSSD->Draw("AP"); | |
1073 | ||
1074 | fitting2->cd(5); | |
1075 | // gPad->SetLogy(); | |
1076 | gPad->SetLogx(); | |
1077 | gPad->SetGridx(); | |
1078 | gPad->SetGridy(); | |
1079 | grSDD = new TGraphErrors(nPtBins,meanpt,nSDD,errx,sigmnSDD); | |
1080 | grSDD->SetName("mygraphSDD"); | |
1081 | grSDD->SetLineColor(1); | |
1082 | grSDD->SetLineWidth(1); | |
1083 | grSDD->SetMarkerColor(4); | |
1084 | grSDD->SetMarkerStyle(21); | |
1085 | grSDD->SetMarkerSize(.5); | |
1086 | titlegraph1="NTracks without one SDD point for "; | |
1087 | //titlegraph1="d_{0}(r#phi) Resolution for "; | |
1088 | titlegraph1.Append(partforgraph); | |
1089 | // titlegraph1.Append(" using True Vertex"); | |
1090 | grSDD->SetTitle(titlegraph1); | |
1091 | grSDD->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
1092 | grSDD->GetYaxis()->SetTitle(""); | |
1093 | grSDD->Draw("AP"); | |
1094 | ||
1095 | fitting2->cd(6); | |
1096 | // gPad->SetLogy(); | |
1097 | gPad->SetLogx(); | |
1098 | gPad->SetGridx(); | |
1099 | gPad->SetGridy(); | |
1100 | grOTHERS = new TGraphErrors(nPtBins,meanpt,nOTHERS,errx,sigmnOTHERS); | |
1101 | grOTHERS->SetName("mygraphOTHERS"); | |
1102 | grOTHERS->SetLineColor(1); | |
1103 | grOTHERS->SetLineWidth(1); | |
1104 | grOTHERS->SetMarkerColor(4); | |
1105 | grOTHERS->SetMarkerStyle(21); | |
1106 | grOTHERS->SetMarkerSize(.5); | |
1107 | titlegraph1="NTracks with 4 points (2 SPD+ ?)for "; | |
1108 | //titlegraph1="d_{0}(r#phi) Resolution for "; | |
1109 | titlegraph1.Append(partforgraph); | |
1110 | // titlegraph1.Append(" using True Vertex"); | |
1111 | grOTHERS->SetTitle(titlegraph1); | |
1112 | grOTHERS->GetXaxis()->SetTitle("p_{t} [GeV/c] "); | |
1113 | grOTHERS->GetYaxis()->SetTitle(""); | |
1114 | grOTHERS->Draw("AP"); | |
1115 | ||
1116 | ceff0->cd(); | |
1117 | gr330->Draw("p"); | |
1118 | gr331->Draw("p"); | |
1119 | gr332->Draw("p"); | |
1120 | grSSD->Draw("p"); | |
1121 | grSDD->Draw("p"); | |
1122 | // gr313->Draw("p"); | |
1123 | // gr323->Draw("p"); | |
1124 | //gr133->Draw("p"); | |
1125 | //gr233->Draw("p"); | |
1126 | ||
1127 | ||
1128 | //---------CLOSE EVRYTHING AND SAVE------------ | |
1129 | TFile *outfile = new TFile("EfficienciesAnalysis.root","recreate"); | |
1130 | gr4->Write(); | |
1131 | gr5->Write(); | |
1132 | gr6->Write(); | |
1133 | gr456->Write(); | |
1134 | gr4toGen->Write(); | |
1135 | gr5toGen->Write(); | |
1136 | gr6toGen->Write(); | |
1137 | gr456toGen->Write(); | |
1138 | grTPCtoGen->Write(); | |
1139 | gr4to6cls->Write(); | |
1140 | gr5to6cls->Write(); | |
1141 | gr6to6cls->Write(); | |
1142 | //gr456to6cls->Write(); | |
1143 | //gr330->Write(); | |
1144 | //gr331->Write(); | |
1145 | //gr332->Write(); | |
1146 | //gr323->Write(); | |
1147 | //gr313->Write(); | |
1148 | //gr133->Write(); | |
1149 | //gr233->Write(); | |
1150 | //grOTHERS->Write(); | |
1151 | //grSPD->Write(); | |
1152 | //grSSD->Write(); | |
1153 | //grSDD->Write(); | |
1154 | outfile->Close(); | |
1155 | ||
1156 | ||
1157 | printf("Number of fakes: %d\n",nfakes); | |
1158 | return; | |
1159 | } | |
1160 | //-------------------------------------------------------------------------- | |
1161 | Int_t ITSnCluster(Int_t ITSf) | |
1162 | { | |
1163 | Int_t sign,aITSf,n0,n3,aux,ITSsel;//be careful!:working with integer! | |
1164 | n0=0; | |
1165 | n3=0; | |
1166 | aITSf=TMath::Abs(ITSf); | |
1167 | if(aITSf==0)sign=0; | |
1168 | else if (aITSf==ITSf)sign=1; | |
1169 | else if(aITSf==-ITSf)sign=-1; | |
1170 | ||
1171 | if (aITSf/100<1)n0++; | |
1172 | n3=aITSf/300; | |
1173 | aux=(aITSf-(aITSf/100)*100); | |
1174 | if(aux/10<1)n0++; | |
1175 | n3+=aux/30; | |
1176 | aux=(aux-(aux/10)*10); | |
1177 | if (aux==0)n0++; | |
1178 | n3+=aux/3; | |
1179 | ITSsel=3+n3-n0; | |
1180 | ||
1181 | if(ITSsel>6) { | |
1182 | cout<<"Wrong ITSflag assignment!"<<endl; | |
1183 | return 99; | |
1184 | } | |
1185 | ||
1186 | return ITSsel*sign; | |
1187 | } | |
1188 | //---------------------------------------------------------------------------- |