]>
Commit | Line | Data |
---|---|---|
cd286c84 | 1 | /************************************************************************** |
2 | * Author: Panos Christakoglou. * | |
3 | * Contributors are mentioned in the code where appropriate. * | |
4 | * * | |
5 | * Permission to use, copy, modify and distribute this software and its * | |
6 | * documentation strictly for non-commercial purposes is hereby granted * | |
7 | * without fee, provided that the above copyright notice appears in all * | |
8 | * copies and that both the copyright notice and this permission notice * | |
9 | * appear in the supporting documentation. The authors make no claims * | |
10 | * about the suitability of this software for any purpose. It is * | |
11 | * provided "as is" without express or implied warranty. * | |
12 | **************************************************************************/ | |
13 | ||
14 | /* $Id$ */ | |
15 | ||
16 | //----------------------------------------------------------------- | |
17 | // AliAnalysisTrackCuts class | |
18 | // This is the class to deal with the event and track level cuts | |
19 | // Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch | |
20 | //----------------------------------------------------------------- | |
21 | ||
22 | ||
23 | ||
24 | //ROOT | |
cd286c84 | 25 | #include <TPaveText.h> |
26 | #include <TText.h> | |
27 | #include <TLine.h> | |
28 | #include <TCanvas.h> | |
bb2f4e93 | 29 | #include <TObjArray.h> |
30 | #include <Riostream.h> | |
cd286c84 | 31 | |
32 | #include "AliLog.h" | |
7fe612db | 33 | |
cd286c84 | 34 | #include "AliESDtrack.h" |
35 | #include "AliESD.h" | |
36 | ||
37 | #include "AliAnalysisTrackCuts.h" | |
38 | ||
39 | ClassImp(AliAnalysisTrackCuts) | |
40 | ||
41 | //----------------------------------------// | |
42 | AliAnalysisTrackCuts::AliAnalysisTrackCuts() | |
43 | { | |
7fe612db | 44 | //Default constructor. |
45 | //Calls the Reset method. | |
cd286c84 | 46 | Reset(); |
47 | } | |
48 | ||
49 | //----------------------------------------// | |
50 | AliAnalysisTrackCuts::~AliAnalysisTrackCuts() | |
51 | { | |
7fe612db | 52 | //Destructor. |
bb2f4e93 | 53 | delete fAcceptedParticleList; |
cd286c84 | 54 | } |
55 | ||
56 | //----------------------------------------// | |
57 | void AliAnalysisTrackCuts::Reset() | |
58 | { | |
7fe612db | 59 | //Assigns dummy values to every private member. |
cd286c84 | 60 | fPxMin = -1000.0; |
61 | fPxMax = 1000.0; | |
62 | fPyMin = -1000.0; | |
63 | fPyMax = 1000.0; | |
64 | fPzMin = -1000.0; | |
65 | fPzMax = 1000.0; | |
66 | fPtMin = 0.0; | |
67 | fPtMax = 1000.0; | |
68 | fPMin = 0.0; | |
69 | fPMax = 1000.0; | |
70 | fBrMin = 0.0; | |
71 | fBrMax = 1000.0; | |
72 | fBzMin = 0.0; | |
73 | fBzMax = 1000.0; | |
74 | fEtaMin = -100.0; | |
75 | fEtaMax = 100.0; | |
76 | fRapMin = -100.0; | |
77 | fRapMax = 100.0; | |
78 | ||
79 | fP = 0; | |
80 | fPt = 0; | |
81 | fPx = 0; | |
82 | fPy = 0; | |
83 | fPz = 0; | |
84 | fbr = 0; | |
85 | fbz = 0; | |
86 | fEta = 0; | |
87 | fRap = 0; | |
88 | fTotalTracks = 0; | |
89 | fAcceptedTracks = 0; | |
90 | ||
91 | fFlagP = 0; | |
92 | fFlagPt = 0; | |
93 | fFlagPx = 0; | |
94 | fFlagPy = 0; | |
95 | fFlagPz = 0; | |
96 | fFlagEta = 0; | |
97 | fFlagRap = 0; | |
98 | fFlagbr = 0; | |
99 | fFlagbz = 0; | |
bb2f4e93 | 100 | |
101 | fAcceptedParticleList = new TObjArray(); | |
cd286c84 | 102 | } |
103 | ||
bb2f4e93 | 104 | |
cd286c84 | 105 | //----------------------------------------// |
106 | void AliAnalysisTrackCuts::SetPxRange(Float_t r1, Float_t r2) | |
107 | { | |
7fe612db | 108 | //Sets the range for the momentum x component. |
cd286c84 | 109 | fPxMin = r1; |
110 | fPxMax = r2; | |
111 | fFlagPx = 1; | |
112 | } | |
113 | ||
114 | //----------------------------------------// | |
115 | void AliAnalysisTrackCuts::SetPyRange(Float_t r1, Float_t r2) | |
116 | { | |
7fe612db | 117 | //Sets the range for the momentum y component. |
cd286c84 | 118 | fPyMin = r1; |
119 | fPyMax = r2; | |
120 | fFlagPy = 1; | |
121 | } | |
122 | ||
123 | //----------------------------------------// | |
124 | void AliAnalysisTrackCuts::SetPzRange(Float_t r1, Float_t r2) | |
125 | { | |
7fe612db | 126 | //Sets the range for the momentum z component. |
cd286c84 | 127 | fPzMin = r1; |
128 | fPzMax = r2; | |
129 | fFlagPy = 1; | |
130 | } | |
131 | ||
132 | //----------------------------------------// | |
133 | void AliAnalysisTrackCuts::SetPRange(Float_t r1, Float_t r2) | |
134 | { | |
7fe612db | 135 | //Sets the range for the momentum. |
cd286c84 | 136 | fPMin = r1; |
137 | fPMax = r2; | |
138 | fFlagPz = 1; | |
139 | } | |
140 | ||
141 | //----------------------------------------// | |
142 | void AliAnalysisTrackCuts::SetPtRange(Float_t r1, Float_t r2) | |
143 | { | |
7fe612db | 144 | //Sets the range for the teransverse momentum. |
cd286c84 | 145 | fPtMin = r1; |
146 | fPtMax = r2; | |
147 | fFlagPt = 1; | |
148 | } | |
149 | ||
150 | //----------------------------------------// | |
151 | void AliAnalysisTrackCuts::SetBrRange(Float_t r1, Float_t r2) | |
152 | { | |
7fe612db | 153 | //Sets the range of the closest approach of the track |
154 | //to the primary vertex in the r-phi plane. | |
cd286c84 | 155 | fBrMin = r1; |
156 | fBrMax = r2; | |
157 | fFlagbr = 1; | |
158 | } | |
159 | ||
160 | //----------------------------------------// | |
161 | void AliAnalysisTrackCuts::SetBzRange(Float_t r1, Float_t r2) | |
162 | { | |
7fe612db | 163 | //Sets the range of the closest approach of the track |
164 | //to the primary vertex in the beam axis. | |
cd286c84 | 165 | fBzMin = r1; |
166 | fBzMax = r2; | |
167 | fFlagbz = 1; | |
168 | } | |
169 | ||
170 | //----------------------------------------// | |
171 | void AliAnalysisTrackCuts::SetEtaRange(Float_t r1, Float_t r2) | |
172 | { | |
7fe612db | 173 | //Sets the range of the pseudo-rapidity. |
cd286c84 | 174 | fEtaMin = r1; |
175 | fEtaMax = r2; | |
176 | fFlagEta = 1; | |
177 | } | |
178 | ||
179 | //----------------------------------------// | |
180 | void AliAnalysisTrackCuts::SetRapRange(Float_t r1, Float_t r2) | |
181 | { | |
7fe612db | 182 | //Sets the range of the rapidity. |
cd286c84 | 183 | fRapMin = r1; |
184 | fRapMax = r2; | |
185 | fFlagRap = 1; | |
186 | } | |
187 | ||
188 | //----------------------------------------// | |
189 | void AliAnalysisTrackCuts::GetTrackStats() | |
190 | { | |
7fe612db | 191 | //Gets the statistics. |
192 | //fTotalTracks is the total number of tracks. | |
193 | //fAcceptedTracks is the number of accepted tracks after the cuts. | |
cd286c84 | 194 | AliInfo(Form("Total number of tracks: %d",fTotalTracks)); |
195 | AliInfo(Form("Total number of accepted tracks: %d",fAcceptedTracks)); | |
196 | } | |
197 | ||
198 | //----------------------------------------// | |
199 | void AliAnalysisTrackCuts::GetPStats() | |
200 | { | |
7fe612db | 201 | //Gets the momentum statistics. |
202 | //Prints the percentage of tracks rejected due to this cut. | |
203 | AliInfo(Form("P range: [%f,%f]",fPMin,fPMax)); | |
cd286c84 | 204 | if(fTotalTracks != 0) |
205 | AliInfo(Form("Tracks rejected: %f",100.0*fP/fTotalTracks)); | |
206 | } | |
207 | ||
208 | //----------------------------------------// | |
209 | void AliAnalysisTrackCuts::GetPtStats() | |
210 | { | |
7fe612db | 211 | //Gets the transverse momentum statistics. |
212 | //Prints the percentage of tracks rejected due to this cut. | |
cd286c84 | 213 | AliInfo(Form("Pt range: [%f,%f]",fPtMin,fPtMax)); |
214 | if(fTotalTracks != 0) | |
215 | AliInfo(Form("Tracks rejected: %f",100.0*fPt/fTotalTracks)); | |
216 | } | |
217 | ||
218 | //----------------------------------------// | |
219 | void AliAnalysisTrackCuts::GetPxStats() | |
220 | { | |
7fe612db | 221 | //Gets the x momentum statistics. |
222 | //Prints the percentage of tracks rejected due to this cut. | |
cd286c84 | 223 | AliInfo(Form("Px range: [%f,%f]",fPxMin,fPxMax)); |
224 | if(fTotalTracks != 0) | |
225 | AliInfo(Form("Tracks rejected: %f",100.0*fPx/fTotalTracks)); | |
226 | } | |
227 | ||
228 | //----------------------------------------// | |
229 | void AliAnalysisTrackCuts::GetPyStats() | |
230 | { | |
7fe612db | 231 | //Gets the y momentum statistics. |
232 | //Prints the percentage of tracks rejected due to this cut. | |
cd286c84 | 233 | AliInfo(Form("Py range: [%f,%f]",fPyMin,fPyMax)); |
234 | if(fTotalTracks != 0) | |
235 | AliInfo(Form("Tracks rejected: %f",100.0*fPy/fTotalTracks)); | |
236 | } | |
237 | ||
238 | //----------------------------------------// | |
239 | void AliAnalysisTrackCuts::GetPzStats() | |
240 | { | |
7fe612db | 241 | //Gets the z momentum statistics. |
242 | //Prints the percentage of tracks rejected due to this cut. | |
cd286c84 | 243 | AliInfo(Form("Pz range: [%f,%f]",fPzMin,fPzMax)); |
244 | if(fTotalTracks != 0) | |
245 | AliInfo(Form("Tracks rejected: %f",100.0*fPz/fTotalTracks)); | |
246 | } | |
247 | ||
248 | //----------------------------------------// | |
249 | void AliAnalysisTrackCuts::GetEtaStats() | |
250 | { | |
7fe612db | 251 | //Gets the pseudo-rapidity statistics. |
252 | //Prints the percentage of tracks rejected due to this cut. | |
cd286c84 | 253 | AliInfo(Form("eta range: [%f,%f]",fEtaMin,fEtaMax)); |
254 | if(fTotalTracks != 0) | |
255 | AliInfo(Form("Tracks rejected: %f",100.0*fEta/fTotalTracks)); | |
256 | } | |
257 | ||
258 | //----------------------------------------// | |
259 | void AliAnalysisTrackCuts::GetRapStats() | |
260 | { | |
7fe612db | 261 | //Gets the rapidity statistics. |
262 | //Prints the percentage of tracks rejected due to this cut. | |
cd286c84 | 263 | AliInfo(Form("y range: [%f,%f]",fRapMin,fRapMax)); |
264 | if(fTotalTracks != 0) | |
265 | AliInfo(Form("Tracks rejected: %f",100.0*fRap/fTotalTracks)); | |
266 | } | |
267 | ||
268 | //----------------------------------------// | |
269 | void AliAnalysisTrackCuts::GetBrStats() | |
270 | { | |
7fe612db | 271 | //Gets the statistics fro the closest distance of |
272 | //the track to the primary vertex in the r-phi plane. | |
273 | //Prints the percentage of tracks rejected due to this cut. | |
cd286c84 | 274 | AliInfo(Form("br range: [%f,%f]",fBrMin,fBrMax)); |
275 | if(fTotalTracks != 0) | |
276 | AliInfo(Form("Tracks rejected: %f",100.0*fbr/fTotalTracks)); | |
277 | } | |
278 | ||
279 | //----------------------------------------// | |
280 | void AliAnalysisTrackCuts::GetBzStats() | |
281 | { | |
7fe612db | 282 | //Gets the statistics fro the closest distance of |
283 | //the track to the primary vertex in the beam axis. | |
284 | //Prints the percentage of tracks rejected due to this cut. | |
cd286c84 | 285 | AliInfo(Form("bz range: [%f,%f]",fBzMin,fBzMax)); |
286 | if(fTotalTracks != 0) | |
287 | AliInfo(Form("Tracks rejected: %f",100.0*fbz/fTotalTracks)); | |
288 | } | |
289 | ||
290 | ||
291 | //----------------------------------------// | |
292 | Bool_t AliAnalysisTrackCuts::IsAccepted(AliESD *esd ,AliESDtrack *esdtrack) | |
293 | { | |
7fe612db | 294 | //Returns true if the tracks is accepted otherwise false. |
cd286c84 | 295 | fTotalTracks++; |
296 | ||
297 | //momentum related calculations | |
298 | Double_t p[3]; | |
299 | esdtrack->GetPxPyPz(p); | |
bb2f4e93 | 300 | Float_t momentum = TMath::Sqrt(pow(p[0],2) + pow(p[1],2) + pow(p[2],2)); |
301 | Float_t pt = TMath::Sqrt(pow(p[0],2) + pow(p[1],2)); | |
302 | Float_t energy = TMath::Sqrt(pow(esdtrack->GetMass(),2) + pow(momentum,2)); | |
cd286c84 | 303 | |
304 | //y-eta related calculations | |
bb2f4e93 | 305 | Float_t eta = -100.; |
306 | Float_t y = -100.; | |
307 | if((momentum != TMath::Abs(p[2]))&&(momentum != 0)) | |
308 | eta = 0.5*TMath::Log((momentum + p[2])/(momentum - p[2])); | |
309 | if((energy != TMath::Abs(p[2]))&&(momentum != 0)) | |
310 | y = 0.5*TMath::Log((energy + p[2])/(energy - p[2])); | |
cd286c84 | 311 | |
312 | //impact parameter related calculations | |
7fe612db | 313 | Double_t trackPosition[3]; |
314 | esdtrack->GetXYZ(trackPosition); | |
315 | const AliESDVertex * vertexIn = esd->GetVertex(); | |
316 | Double_t vertexPosition[3]; | |
317 | vertexIn->GetXYZ(vertexPosition); | |
318 | for (Int_t ii=0; ii<3; ii++) trackPosition[ii] -= vertexPosition[ii]; | |
cd286c84 | 319 | |
7fe612db | 320 | Float_t br = Float_t(TMath::Sqrt(pow(trackPosition[0],2) + pow(trackPosition[1],2))); |
321 | Float_t bz = Float_t(TMath::Abs(trackPosition[2])); | |
cd286c84 | 322 | |
bb2f4e93 | 323 | if((momentum < fPMin) || (momentum > fPMax)) { |
324 | fP++; | |
325 | return kFALSE; | |
326 | } | |
327 | if((pt < fPtMin) || (pt > fPtMax)) { | |
328 | fPt++; | |
329 | return kFALSE; | |
330 | } | |
331 | if((p[0] < fPxMin) || (p[0] > fPxMax)) { | |
332 | fPx++; | |
333 | return kFALSE; | |
334 | } | |
335 | if((p[1] < fPyMin) || (p[1] > fPyMax)) { | |
336 | fPy++; | |
337 | return kFALSE; | |
338 | } | |
339 | if((p[2] < fPzMin) || (p[2] > fPzMax)) { | |
340 | fPz++; | |
341 | return kFALSE; | |
342 | } | |
343 | if((br < fBrMin) || (br > fBrMax)) { | |
344 | fbr++; | |
345 | return kFALSE; | |
346 | } | |
347 | if((bz < fBzMin) || (bz > fBzMax)) { | |
348 | fbz++; | |
349 | return kFALSE; | |
350 | } | |
351 | if((eta < fEtaMin) || (eta > fEtaMax)) { | |
352 | fEta++; | |
353 | return kFALSE; | |
354 | } | |
355 | if((y < fRapMin) || (y > fRapMax)) { | |
356 | fRap++; | |
357 | return kFALSE; | |
358 | } | |
cd286c84 | 359 | |
360 | fAcceptedTracks++; | |
361 | ||
362 | return kTRUE; | |
363 | } | |
364 | ||
365 | ||
bb2f4e93 | 366 | //----------------------------------------// |
367 | TObjArray *AliAnalysisTrackCuts::GetAcceptedParticles(AliESD *esd) | |
368 | { | |
369 | // Returns a list of all tracks that pass the cuts | |
370 | fAcceptedParticleList->Clear(); | |
371 | for (Int_t iTrack = 0; iTrack < esd->GetNumberOfTracks(); iTrack++) { | |
372 | AliESDtrack* track = esd->GetTrack(iTrack); | |
373 | ||
374 | if(IsAccepted(esd,track)) fAcceptedParticleList->Add(track); | |
375 | } | |
376 | ||
377 | return fAcceptedParticleList; | |
378 | } | |
379 | ||
cd286c84 | 380 | //----------------------------------------// |
381 | TPaveText *AliAnalysisTrackCuts::GetTrackCuts() | |
382 | { | |
7fe612db | 383 | //Shows a TPaveText with all the track cuts stats. |
cd286c84 | 384 | TCanvas *ccuts2 = new TCanvas("ccuts2","Track cuts",410,10,400,400); |
385 | ccuts2->SetFillColor(10); | |
386 | ccuts2->SetHighLightColor(10); | |
387 | ||
388 | TPaveText *pave = new TPaveText(0.01,0.01,0.98,0.98); | |
389 | pave->SetFillColor(3); | |
7fe612db | 390 | Char_t cutName[256]; |
cd286c84 | 391 | |
392 | TLine *l1 = pave->AddLine(0,0.89,1,0.89); | |
393 | l1->SetLineWidth(2); | |
394 | TLine *l2 = pave->AddLine(0,0.79,1,0.79); | |
395 | l2->SetLineWidth(2); | |
396 | TLine *l3 = pave->AddLine(0,0.69,1,0.69); | |
397 | l3->SetLineWidth(2); | |
398 | TLine *l4 = pave->AddLine(0,0.59,1,0.59); | |
399 | l4->SetLineWidth(2); | |
400 | TLine *l5 = pave->AddLine(0,0.49,1,0.49); | |
401 | l5->SetLineWidth(2); | |
402 | TLine *l6 = pave->AddLine(0,0.39,1,0.39); | |
403 | l6->SetLineWidth(2); | |
404 | TLine *l7 = pave->AddLine(0,0.29,1,0.29); | |
405 | l7->SetLineWidth(2); | |
406 | TLine *l8 = pave->AddLine(0,0.19,1,0.19); | |
407 | l8->SetLineWidth(2); | |
408 | TLine *l9 = pave->AddLine(0,0.09,1,0.09); | |
409 | l9->SetLineWidth(2); | |
410 | ||
7fe612db | 411 | sprintf(cutName,"Total number of tracks: %d",fTotalTracks); |
412 | TText *t1 = pave->AddText(cutName); | |
cd286c84 | 413 | t1->SetTextColor(1); |
414 | t1->SetTextSize(0.04); | |
415 | t1->SetTextAlign(11); | |
416 | ||
7fe612db | 417 | sprintf(cutName,"Total number of accepted tracks: %d",fAcceptedTracks); |
418 | t1 = pave->AddText(cutName); | |
cd286c84 | 419 | t1->SetTextColor(1); |
420 | t1->SetTextSize(0.04); | |
421 | t1->SetTextAlign(11); | |
422 | ||
7fe612db | 423 | sprintf(cutName,"P range: [%f,%f]",fPMin,fPMax); |
424 | t1 = pave->AddText(cutName); | |
cd286c84 | 425 | t1->SetTextColor(1); |
426 | t1->SetTextSize(0.04); | |
427 | t1->SetTextAlign(11); | |
7fe612db | 428 | sprintf(cutName,"Tracks rejected: %f",100.0*fP/fTotalTracks); |
429 | t1 = pave->AddText(cutName); | |
cd286c84 | 430 | t1->SetTextColor(1); |
431 | t1->SetTextSize(0.04); | |
432 | t1->SetTextAlign(11); | |
433 | ||
7fe612db | 434 | sprintf(cutName,"Pt range: [%f,%f]",fPtMin,fPtMax); |
435 | t1 = pave->AddText(cutName); | |
cd286c84 | 436 | t1->SetTextColor(1); |
437 | t1->SetTextSize(0.04); | |
438 | t1->SetTextAlign(11); | |
7fe612db | 439 | sprintf(cutName,"Tracks rejected: %f",100.0*fPt/fTotalTracks); |
440 | t1 = pave->AddText(cutName); | |
cd286c84 | 441 | t1->SetTextColor(1); |
442 | t1->SetTextSize(0.04); | |
443 | t1->SetTextAlign(11); | |
444 | ||
7fe612db | 445 | sprintf(cutName,"Px range: [%f,%f]",fPxMin,fPxMax); |
446 | t1 = pave->AddText(cutName); | |
cd286c84 | 447 | t1->SetTextColor(1); |
448 | t1->SetTextSize(0.04); | |
449 | t1->SetTextAlign(11); | |
7fe612db | 450 | sprintf(cutName,"Tracks rejected: %f",100.0*fPx/fTotalTracks); |
451 | t1 = pave->AddText(cutName); | |
cd286c84 | 452 | t1->SetTextColor(1); |
453 | t1->SetTextSize(0.04); | |
454 | t1->SetTextAlign(11); | |
455 | ||
7fe612db | 456 | sprintf(cutName,"Py range: [%f,%f]",fPyMin,fPyMax); |
457 | t1 = pave->AddText(cutName); | |
cd286c84 | 458 | t1->SetTextColor(1); |
459 | t1->SetTextSize(0.04); | |
460 | t1->SetTextAlign(11); | |
7fe612db | 461 | sprintf(cutName,"Tracks rejected: %f",100.0*fPy/fTotalTracks); |
462 | t1 = pave->AddText(cutName); | |
cd286c84 | 463 | t1->SetTextColor(1); |
464 | t1->SetTextSize(0.04); | |
465 | t1->SetTextAlign(11); | |
466 | ||
7fe612db | 467 | sprintf(cutName,"Pz range: [%f,%f]",fPzMin,fPzMax); |
468 | t1 = pave->AddText(cutName); | |
cd286c84 | 469 | t1->SetTextColor(1); |
470 | t1->SetTextSize(0.04); | |
471 | t1->SetTextAlign(11); | |
7fe612db | 472 | sprintf(cutName,"Tracks rejected: %f",100.0*fPz/fTotalTracks); |
473 | t1 = pave->AddText(cutName); | |
cd286c84 | 474 | t1->SetTextColor(1); |
475 | t1->SetTextSize(0.04); | |
476 | t1->SetTextAlign(11); | |
477 | ||
7fe612db | 478 | sprintf(cutName,"br range: [%f,%f]",fBrMin,fBrMax); |
479 | t1 = pave->AddText(cutName); | |
cd286c84 | 480 | t1->SetTextColor(1); |
481 | t1->SetTextSize(0.04); | |
482 | t1->SetTextAlign(11); | |
7fe612db | 483 | sprintf(cutName,"Tracks rejected: %f",100.0*fbr/fTotalTracks); |
484 | t1 = pave->AddText(cutName); | |
cd286c84 | 485 | t1->SetTextColor(1); |
486 | t1->SetTextSize(0.04); | |
487 | t1->SetTextAlign(11); | |
488 | ||
7fe612db | 489 | sprintf(cutName,"bz range: [%f,%f]",fBzMin,fBzMax); |
490 | t1 = pave->AddText(cutName); | |
cd286c84 | 491 | t1->SetTextColor(1); |
492 | t1->SetTextSize(0.04); | |
493 | t1->SetTextAlign(11); | |
7fe612db | 494 | sprintf(cutName,"Tracks rejected: %f",100.0*fbz/fTotalTracks); |
495 | t1 = pave->AddText(cutName); | |
cd286c84 | 496 | t1->SetTextColor(1); |
497 | t1->SetTextSize(0.04); | |
498 | t1->SetTextAlign(11); | |
499 | ||
7fe612db | 500 | sprintf(cutName,"eta range: [%f,%f]",fEtaMin,fEtaMax); |
501 | t1 = pave->AddText(cutName); | |
cd286c84 | 502 | t1->SetTextColor(1); |
503 | t1->SetTextSize(0.04); | |
504 | t1->SetTextAlign(11); | |
7fe612db | 505 | sprintf(cutName,"Tracks rejected: %f",100.0*fEta/fTotalTracks); |
506 | t1 = pave->AddText(cutName); | |
cd286c84 | 507 | t1->SetTextColor(1); |
508 | t1->SetTextSize(0.04); | |
509 | t1->SetTextAlign(11); | |
510 | ||
7fe612db | 511 | sprintf(cutName,"y range: [%f,%f]",fRapMin,fRapMax); |
512 | t1 = pave->AddText(cutName); | |
cd286c84 | 513 | t1->SetTextColor(1); |
514 | t1->SetTextSize(0.04); | |
515 | t1->SetTextAlign(11); | |
7fe612db | 516 | sprintf(cutName,"Tracks rejected: %f",100.0*fRap/fTotalTracks); |
517 | t1 = pave->AddText(cutName); | |
cd286c84 | 518 | t1->SetTextColor(1); |
519 | t1->SetTextSize(0.04); | |
520 | t1->SetTextAlign(11); | |
521 | ||
522 | return pave; | |
523 | } | |
524 | ||
525 | //----------------------------------------// | |
526 | void AliAnalysisTrackCuts::PrintTrackCuts() | |
527 | { | |
7fe612db | 528 | //Prints the track cut stats. |
cd286c84 | 529 | //GetTrackCuts()->Draw(); |
530 | ||
531 | AliInfo(Form("**************TRACK CUTS**************")); | |
532 | GetTrackStats(); | |
533 | if(fFlagP) | |
534 | GetPStats(); | |
535 | if(fFlagPt) | |
536 | GetPtStats(); | |
537 | if(fFlagPx) | |
538 | GetPxStats(); | |
539 | if(fFlagPy) | |
540 | GetPyStats(); | |
541 | if(fFlagPz) | |
542 | GetPzStats(); | |
543 | if(fFlagEta) | |
544 | GetEtaStats(); | |
545 | if(fFlagRap) | |
546 | GetRapStats(); | |
547 | if(fFlagbr) | |
548 | GetBrStats(); | |
549 | if(fFlagbz) | |
550 | GetBzStats(); | |
551 | AliInfo(Form("**************************************")); | |
552 | } |