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