]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HBTAN/AliHBTWeightashbtCorrFctn.cxx
First attempt to Asimuthaly Sensitive HBT (G.Galazka)
[u/mrichter/AliRoot.git] / HBTAN / AliHBTWeightashbtCorrFctn.cxx
CommitLineData
941811c2 1#include "AliHBTWeightashbtCorrFctn.h"
2#include <TH1.h>
3#include <Riostream.h>
4
5///////////////////////////////////////////////////////
6// //
7// AliHBTWeightashbtCorrFctn.h //
8// //
9// Class for calculating 3D ashbt correlation //
10// functions //
11// //
12///////////////////////////////////////////////////////
13
14ClassImp(AliHBTWeightashbtCorrFctn)
15
16AliHBTWeightashbtCorrFctn::AliHBTWeightashbtCorrFctn(const char* name, const char* title):
17 AliHBTOnePairFctn1D(name,title),
18
19 fWeightNumOut1(0x0),
20 fWeightNumOut2(0x0),
21 fWeightNumOut3(0x0),
22 fWeightNumOut4(0x0),
23 fWeightNumOut5(0x0),
24 fWeightNumOut6(0x0),
25 fWeightNumOut7(0x0),
26 fWeightNumOut8(0x0),
27
28 fWeightDenOut1(0x0),
29 fWeightDenOut2(0x0),
30 fWeightDenOut3(0x0),
31 fWeightDenOut4(0x0),
32 fWeightDenOut5(0x0),
33 fWeightDenOut6(0x0),
34 fWeightDenOut7(0x0),
35 fWeightDenOut8(0x0),
36
37 fWeightRatOut1(0x0),
38 fWeightRatOut2(0x0),
39 fWeightRatOut3(0x0),
40 fWeightRatOut4(0x0),
41 fWeightRatOut5(0x0),
42 fWeightRatOut6(0x0),
43 fWeightRatOut7(0x0),
44 fWeightRatOut8(0x0),
45
46
47 fWeightNumSide1(0x0),
48 fWeightNumSide2(0x0),
49 fWeightNumSide3(0x0),
50 fWeightNumSide4(0x0),
51 fWeightNumSide5(0x0),
52 fWeightNumSide6(0x0),
53 fWeightNumSide7(0x0),
54 fWeightNumSide8(0x0),
55
56 fWeightDenSide1(0x0),
57 fWeightDenSide2(0x0),
58 fWeightDenSide3(0x0),
59 fWeightDenSide4(0x0),
60 fWeightDenSide5(0x0),
61 fWeightDenSide6(0x0),
62 fWeightDenSide7(0x0),
63 fWeightDenSide8(0x0),
64
65 fWeightRatSide1(0x0),
66 fWeightRatSide2(0x0),
67 fWeightRatSide3(0x0),
68 fWeightRatSide4(0x0),
69 fWeightRatSide5(0x0),
70 fWeightRatSide6(0x0),
71 fWeightRatSide7(0x0),
72 fWeightRatSide8(0x0),
73
74 fWeightNumLong1(0x0),
75 fWeightNumLong2(0x0),
76 fWeightNumLong3(0x0),
77 fWeightNumLong4(0x0),
78 fWeightNumLong5(0x0),
79 fWeightNumLong6(0x0),
80 fWeightNumLong7(0x0),
81 fWeightNumLong8(0x0),
82
83 fWeightDenLong1(0x0),
84 fWeightDenLong2(0x0),
85 fWeightDenLong3(0x0),
86 fWeightDenLong4(0x0),
87 fWeightDenLong5(0x0),
88 fWeightDenLong6(0x0),
89 fWeightDenLong7(0x0),
90 fWeightDenLong8(0x0),
91
92 fWeightRatLong1(0x0),
93 fWeightRatLong2(0x0),
94 fWeightRatLong3(0x0),
95 fWeightRatLong4(0x0),
96 fWeightRatLong5(0x0),
97 fWeightRatLong6(0x0),
98 fWeightRatLong7(0x0),
99 fWeightRatLong8(0x0)
100
101
102{
103//ctor
104}
105/******************************************************************/
106AliHBTWeightashbtCorrFctn::AliHBTWeightashbtCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval):
107 AliHBTOnePairFctn1D(name,title,nbins,maxXval,minXval),
108
109 fWeightNumOut1(0x0),
110 fWeightNumOut2(0x0),
111 fWeightNumOut3(0x0),
112 fWeightNumOut4(0x0),
113 fWeightNumOut5(0x0),
114 fWeightNumOut6(0x0),
115 fWeightNumOut7(0x0),
116 fWeightNumOut8(0x0),
117
118 fWeightDenOut1(0x0),
119 fWeightDenOut2(0x0),
120 fWeightDenOut3(0x0),
121 fWeightDenOut4(0x0),
122 fWeightDenOut5(0x0),
123 fWeightDenOut6(0x0),
124 fWeightDenOut7(0x0),
125 fWeightDenOut8(0x0),
126
127 fWeightRatOut1(0x0),
128 fWeightRatOut2(0x0),
129 fWeightRatOut3(0x0),
130 fWeightRatOut4(0x0),
131 fWeightRatOut5(0x0),
132 fWeightRatOut6(0x0),
133 fWeightRatOut7(0x0),
134 fWeightRatOut8(0x0),
135
136
137 fWeightNumSide1(0x0),
138 fWeightNumSide2(0x0),
139 fWeightNumSide3(0x0),
140 fWeightNumSide4(0x0),
141 fWeightNumSide5(0x0),
142 fWeightNumSide6(0x0),
143 fWeightNumSide7(0x0),
144 fWeightNumSide8(0x0),
145
146 fWeightDenSide1(0x0),
147 fWeightDenSide2(0x0),
148 fWeightDenSide3(0x0),
149 fWeightDenSide4(0x0),
150 fWeightDenSide5(0x0),
151 fWeightDenSide6(0x0),
152 fWeightDenSide7(0x0),
153 fWeightDenSide8(0x0),
154
155 fWeightRatSide1(0x0),
156 fWeightRatSide2(0x0),
157 fWeightRatSide3(0x0),
158 fWeightRatSide4(0x0),
159 fWeightRatSide5(0x0),
160 fWeightRatSide6(0x0),
161 fWeightRatSide7(0x0),
162 fWeightRatSide8(0x0),
163
164 fWeightNumLong1(0x0),
165 fWeightNumLong2(0x0),
166 fWeightNumLong3(0x0),
167 fWeightNumLong4(0x0),
168 fWeightNumLong5(0x0),
169 fWeightNumLong6(0x0),
170 fWeightNumLong7(0x0),
171 fWeightNumLong8(0x0),
172
173 fWeightDenLong1(0x0),
174 fWeightDenLong2(0x0),
175 fWeightDenLong3(0x0),
176 fWeightDenLong4(0x0),
177 fWeightDenLong5(0x0),
178 fWeightDenLong6(0x0),
179 fWeightDenLong7(0x0),
180 fWeightDenLong8(0x0),
181
182 fWeightRatLong1(0x0),
183 fWeightRatLong2(0x0),
184 fWeightRatLong3(0x0),
185 fWeightRatLong4(0x0),
186 fWeightRatLong5(0x0),
187 fWeightRatLong6(0x0),
188 fWeightRatLong7(0x0),
189 fWeightRatLong8(0x0)
190
191
192{
193BuildHistos(nbins, maxXval, minXval);
194//ctor
195}
196
197/******************************************************************/
198AliHBTWeightashbtCorrFctn::AliHBTWeightashbtCorrFctn(const AliHBTWeightashbtCorrFctn& in):
199 AliHBTOnePairFctn1D(in),
200 fWeightNumOut1(0x0),
201 fWeightNumOut2(0x0),
202 fWeightNumOut3(0x0),
203 fWeightNumOut4(0x0),
204 fWeightNumOut5(0x0),
205 fWeightNumOut6(0x0),
206 fWeightNumOut7(0x0),
207 fWeightNumOut8(0x0),
208
209 fWeightDenOut1(0x0),
210 fWeightDenOut2(0x0),
211 fWeightDenOut3(0x0),
212 fWeightDenOut4(0x0),
213 fWeightDenOut5(0x0),
214 fWeightDenOut6(0x0),
215 fWeightDenOut7(0x0),
216 fWeightDenOut8(0x0),
217
218 fWeightRatOut1(0x0),
219 fWeightRatOut2(0x0),
220 fWeightRatOut3(0x0),
221 fWeightRatOut4(0x0),
222 fWeightRatOut5(0x0),
223 fWeightRatOut6(0x0),
224 fWeightRatOut7(0x0),
225 fWeightRatOut8(0x0),
226
227
228 fWeightNumSide1(0x0),
229 fWeightNumSide2(0x0),
230 fWeightNumSide3(0x0),
231 fWeightNumSide4(0x0),
232 fWeightNumSide5(0x0),
233 fWeightNumSide6(0x0),
234 fWeightNumSide7(0x0),
235 fWeightNumSide8(0x0),
236
237 fWeightDenSide1(0x0),
238 fWeightDenSide2(0x0),
239 fWeightDenSide3(0x0),
240 fWeightDenSide4(0x0),
241 fWeightDenSide5(0x0),
242 fWeightDenSide6(0x0),
243 fWeightDenSide7(0x0),
244 fWeightDenSide8(0x0),
245
246 fWeightRatSide1(0x0),
247 fWeightRatSide2(0x0),
248 fWeightRatSide3(0x0),
249 fWeightRatSide4(0x0),
250 fWeightRatSide5(0x0),
251 fWeightRatSide6(0x0),
252 fWeightRatSide7(0x0),
253 fWeightRatSide8(0x0),
254
255 fWeightNumLong1(0x0),
256 fWeightNumLong2(0x0),
257 fWeightNumLong3(0x0),
258 fWeightNumLong4(0x0),
259 fWeightNumLong5(0x0),
260 fWeightNumLong6(0x0),
261 fWeightNumLong7(0x0),
262 fWeightNumLong8(0x0),
263
264 fWeightDenLong1(0x0),
265 fWeightDenLong2(0x0),
266 fWeightDenLong3(0x0),
267 fWeightDenLong4(0x0),
268 fWeightDenLong5(0x0),
269 fWeightDenLong6(0x0),
270 fWeightDenLong7(0x0),
271 fWeightDenLong8(0x0),
272
273 fWeightRatLong1(0x0),
274 fWeightRatLong2(0x0),
275 fWeightRatLong3(0x0),
276 fWeightRatLong4(0x0),
277 fWeightRatLong5(0x0),
278 fWeightRatLong6(0x0),
279 fWeightRatLong7(0x0),
280 fWeightRatLong8(0x0)
281
282
283 {
284//ctor
285}
286
287/******************************************************************/
288
289AliHBTWeightashbtCorrFctn::~AliHBTWeightashbtCorrFctn()
290{
291 //dtor
292 delete fWeightNumOut1;
293 delete fWeightNumOut2;
294 delete fWeightNumOut3;
295 delete fWeightNumOut4;
296 delete fWeightNumOut5;
297 delete fWeightNumOut6;
298 delete fWeightNumOut7;
299 delete fWeightNumOut8;
300
301 delete fWeightDenOut1;
302 delete fWeightDenOut2;
303 delete fWeightDenOut3;
304 delete fWeightDenOut4;
305 delete fWeightDenOut5;
306 delete fWeightDenOut6;
307 delete fWeightDenOut7;
308 delete fWeightDenOut8;
309
310 delete fWeightRatOut1;
311 delete fWeightRatOut2;
312 delete fWeightRatOut3;
313 delete fWeightRatOut4;
314 delete fWeightRatOut5;
315 delete fWeightRatOut6;
316 delete fWeightRatOut7;
317 delete fWeightRatOut8;
318
319
320 delete fWeightNumSide1;
321 delete fWeightNumSide2;
322 delete fWeightNumSide3;
323 delete fWeightNumSide4;
324 delete fWeightNumSide5;
325 delete fWeightNumSide6;
326 delete fWeightNumSide7;
327 delete fWeightNumSide8;
328
329 delete fWeightDenSide1;
330 delete fWeightDenSide2;
331 delete fWeightDenSide3;
332 delete fWeightDenSide4;
333 delete fWeightDenSide5;
334 delete fWeightDenSide6;
335 delete fWeightDenSide7;
336 delete fWeightDenSide8;
337
338 delete fWeightRatSide1;
339 delete fWeightRatSide2;
340 delete fWeightRatSide3;
341 delete fWeightRatSide4;
342 delete fWeightRatSide5;
343 delete fWeightRatSide6;
344 delete fWeightRatSide7;
345 delete fWeightRatSide8;
346
347 delete fWeightNumLong1;
348 delete fWeightNumLong2;
349 delete fWeightNumLong3;
350 delete fWeightNumLong4;
351 delete fWeightNumLong5;
352 delete fWeightNumLong6;
353 delete fWeightNumLong7;
354 delete fWeightNumLong8;
355
356 delete fWeightDenLong1;
357 delete fWeightDenLong2;
358 delete fWeightDenLong3;
359 delete fWeightDenLong4;
360 delete fWeightDenLong5;
361 delete fWeightDenLong6;
362 delete fWeightDenLong7;
363 delete fWeightDenLong8;
364
365 delete fWeightRatLong1;
366 delete fWeightRatLong2;
367 delete fWeightRatLong3;
368 delete fWeightRatLong4;
369 delete fWeightRatLong5;
370 delete fWeightRatLong6;
371 delete fWeightRatLong7;
372 delete fWeightRatLong8;
373
374}
375
376/******************************************************************/
377void AliHBTWeightashbtCorrFctn::WriteFunction()
378{
379//out
380 Double_t out1scale = Scale(fWeightNumOut1,fWeightDenOut1);
381 cout <<"out1scale = "<<out1scale<<endl;
382 fWeightRatOut1->Divide(fWeightNumOut1,fWeightDenOut1,out1scale);
383
384 Double_t out2scale = Scale(fWeightNumOut2,fWeightDenOut2);
385 cout <<"out2scale = "<<out2scale<<endl;
386 fWeightRatOut2->Divide(fWeightNumOut2,fWeightDenOut2,out2scale);
387
388 Double_t out3scale = Scale(fWeightNumOut3,fWeightDenOut3);
389 cout <<"out3scale = "<<out3scale<<endl;
390 fWeightRatOut3->Divide(fWeightNumOut3,fWeightDenOut3,out3scale);
391
392 Double_t out4scale = Scale(fWeightNumOut4,fWeightDenOut4);
393 cout <<"out4scale = "<<out4scale<<endl;
394 fWeightRatOut4->Divide(fWeightNumOut4,fWeightDenOut4,out4scale);
395
396 Double_t out5scale = Scale(fWeightNumOut5,fWeightDenOut5);
397 cout <<"out5scale = "<<out5scale<<endl;
398 fWeightRatOut5->Divide(fWeightNumOut5,fWeightDenOut5,out5scale);
399
400 Double_t out6scale = Scale(fWeightNumOut6,fWeightDenOut6);
401 cout <<"out6scale = "<<out6scale<<endl;
402 fWeightRatOut6->Divide(fWeightNumOut6,fWeightDenOut6,out6scale);
403
404 Double_t out7scale = Scale(fWeightNumOut7,fWeightDenOut7);
405 cout <<"out7scale = "<<out7scale<<endl;
406 fWeightRatOut7->Divide(fWeightNumOut7,fWeightDenOut7,out7scale);
407
408 Double_t out8scale = Scale(fWeightNumOut8,fWeightDenOut8);
409 cout <<"out8scale = "<<out8scale<<endl;
410 fWeightRatOut8->Divide(fWeightNumOut8,fWeightDenOut8,out8scale);
411
412 //side
413 Double_t side1scale = Scale(fWeightNumSide1,fWeightDenSide1);
414 cout <<"side1scale = "<<side1scale<<endl;
415 fWeightRatSide1->Divide(fWeightNumSide1,fWeightDenSide1,side1scale);
416
417 Double_t side2scale = Scale(fWeightNumSide2,fWeightDenSide2);
418 cout <<"side2scale = "<<side2scale<<endl;
419 fWeightRatSide2->Divide(fWeightNumSide2,fWeightDenSide2,side2scale);
420
421 Double_t side3scale = Scale(fWeightNumSide3,fWeightDenSide3);
422 cout <<"side3scale = "<<side3scale<<endl;
423 fWeightRatSide3->Divide(fWeightNumSide3,fWeightDenSide3,side3scale);
424
425 Double_t side4scale = Scale(fWeightNumSide4,fWeightDenSide4);
426 cout <<"side4scale = "<<side4scale<<endl;
427 fWeightRatSide4->Divide(fWeightNumSide4,fWeightDenSide4,side4scale);
428
429 Double_t side5scale = Scale(fWeightNumSide5,fWeightDenSide5);
430 cout <<"side5scale = "<<side5scale<<endl;
431 fWeightRatSide5->Divide(fWeightNumSide5,fWeightDenSide5,side5scale);
432
433 Double_t side6scale = Scale(fWeightNumSide6,fWeightDenSide6);
434 cout <<"side6scale = "<<side6scale<<endl;
435 fWeightRatSide6->Divide(fWeightNumSide6,fWeightDenSide6,side6scale);
436
437 Double_t side7scale = Scale(fWeightNumSide7,fWeightDenSide7);
438 cout <<"side7scale = "<<side7scale<<endl;
439 fWeightRatSide7->Divide(fWeightNumSide7,fWeightDenSide7,side7scale);
440
441 Double_t side8scale = Scale(fWeightNumSide8,fWeightDenSide8);
442 cout <<"side8scale = "<<side8scale<<endl;
443 fWeightRatSide8->Divide(fWeightNumSide8,fWeightDenSide8,side8scale);
444
445//long
446
447 Double_t long1scale = Scale(fWeightNumLong1,fWeightDenLong1);
448 cout <<"long1scale = "<<long1scale<<endl;
449 fWeightRatLong1->Divide(fWeightNumLong1,fWeightDenLong1,long1scale);
450
451 Double_t long2scale = Scale(fWeightNumLong2,fWeightDenLong2);
452 cout <<"long2scale = "<<long2scale<<endl;
453 fWeightRatLong2->Divide(fWeightNumLong2,fWeightDenLong2,long2scale);
454
455 Double_t long3scale = Scale(fWeightNumLong3,fWeightDenLong3);
456 cout <<"long3scale = "<<long3scale<<endl;
457 fWeightRatLong3->Divide(fWeightNumLong3,fWeightDenLong3,long3scale);
458
459 Double_t long4scale = Scale(fWeightNumLong4,fWeightDenLong4);
460 cout <<"long4scale = "<<long4scale<<endl;
461 fWeightRatLong4->Divide(fWeightNumLong4,fWeightDenLong4,long4scale);
462
463 Double_t long5scale = Scale(fWeightNumLong5,fWeightDenLong5);
464 cout <<"long5scale = "<<long5scale<<endl;
465 fWeightRatLong5->Divide(fWeightNumLong5,fWeightDenLong5,long5scale);
466
467 Double_t long6scale = Scale(fWeightNumLong6,fWeightDenLong6);
468 cout <<"long6scale = "<<long6scale<<endl;
469 fWeightRatLong6->Divide(fWeightNumLong6,fWeightDenLong6,long6scale);
470
471 Double_t long7scale = Scale(fWeightNumLong7,fWeightDenLong7);
472 cout <<"long7scale = "<<long7scale<<endl;
473 fWeightRatLong7->Divide(fWeightNumLong7,fWeightDenLong7,long7scale);
474
475 Double_t long8scale = Scale(fWeightNumLong8,fWeightDenLong8);
476 cout <<"long8scale = "<<long8scale<<endl;
477 fWeightRatLong8->Divide(fWeightNumLong8,fWeightDenLong8,long8scale);
478
479 fWeightNumOut1->Write();
480 fWeightNumOut2->Write();
481 fWeightNumOut3->Write();
482 fWeightNumOut4->Write();
483 fWeightNumOut5->Write();
484 fWeightNumOut6->Write();
485 fWeightNumOut7->Write();
486 fWeightNumOut8->Write();
487
488 fWeightDenOut1->Write();
489 fWeightDenOut2->Write();
490 fWeightDenOut3->Write();
491 fWeightDenOut4->Write();
492 fWeightDenOut5->Write();
493 fWeightDenOut6->Write();
494 fWeightDenOut7->Write();
495 fWeightDenOut8->Write();
496
497 fWeightRatOut1->Write();
498 fWeightRatOut2->Write();
499 fWeightRatOut3->Write();
500 fWeightRatOut4->Write();
501 fWeightRatOut5->Write();
502 fWeightRatOut6->Write();
503 fWeightRatOut7->Write();
504 fWeightRatOut8->Write();
505
506
507 fWeightNumSide1->Write();
508 fWeightNumSide2->Write();
509 fWeightNumSide3->Write();
510 fWeightNumSide4->Write();
511 fWeightNumSide5->Write();
512 fWeightNumSide6->Write();
513 fWeightNumSide7->Write();
514 fWeightNumSide8->Write();
515
516 fWeightDenSide1->Write();
517 fWeightDenSide2->Write();
518 fWeightDenSide3->Write();
519 fWeightDenSide4->Write();
520 fWeightDenSide5->Write();
521 fWeightDenSide6->Write();
522 fWeightDenSide7->Write();
523 fWeightDenSide8->Write();
524
525 fWeightRatSide1->Write();
526 fWeightRatSide2->Write();
527 fWeightRatSide3->Write();
528 fWeightRatSide4->Write();
529 fWeightRatSide5->Write();
530 fWeightRatSide6->Write();
531 fWeightRatSide7->Write();
532 fWeightRatSide8->Write();
533
534 fWeightNumLong1->Write();
535 fWeightNumLong2->Write();
536 fWeightNumLong3->Write();
537 fWeightNumLong4->Write();
538 fWeightNumLong5->Write();
539 fWeightNumLong6->Write();
540 fWeightNumLong7->Write();
541 fWeightNumLong8->Write();
542
543 fWeightDenLong1->Write();
544 fWeightDenLong2->Write();
545 fWeightDenLong3->Write();
546 fWeightDenLong4->Write();
547 fWeightDenLong5->Write();
548 fWeightDenLong6->Write();
549 fWeightDenLong7->Write();
550 fWeightDenLong8->Write();
551
552 fWeightRatLong1->Write();
553 fWeightRatLong2->Write();
554 fWeightRatLong3->Write();
555 fWeightRatLong4->Write();
556 fWeightRatLong5->Write();
557 fWeightRatLong6->Write();
558 fWeightRatLong7->Write();
559 fWeightRatLong8->Write();
560
561}
562
563//-------------------------------------
564void AliHBTWeightashbtCorrFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
565{
566 //Fills the numerator using pair from the same event
567
568 trackpair = CheckPair(trackpair);
569 if(partpair == 0x0) return;
570 if(trackpair == 0x0) return;
571
572 Double_t weight = 1.0;
573
574 Double_t rplane=0.; //reaction plane angle - 2 B determined
575 Double_t phi=(trackpair->Particle1()->Phi()+trackpair->Particle2()->Phi())/2.-rplane; //deltaphi bo nie mam nic innego pod reka
576 phi=phi*360/(2*TMath::Pi());
577 Double_t qout=trackpair->GetQOutLCMS();
578 Double_t qside=trackpair->GetQSideLCMS();
579 Double_t qlong=trackpair->GetQLongLCMS();
580
581 if ( trackpair && partpair)
582 {
583 if ( ( trackpair->Particle1()->GetPdgCode() == partpair->Particle1()->GetPdgCode()) &&
584 ( trackpair->Particle2()->GetPdgCode() == partpair->Particle2()->GetPdgCode()) )
585 {
586 weight=partpair->GetWeight();
587 }
588
589
590 if((phi>=0.) && (phi <45.))
591 {
592 fWeightNumOut1->Fill(qout,weight);
593 fWeightNumSide1->Fill(qside,weight);
594 fWeightNumLong1->Fill(qlong,weight);
595 }
596 else if((phi>=45.) && (phi <90.))
597 {
598 fWeightNumOut2->Fill(qout,weight);
599 fWeightNumSide2->Fill(qside,weight);
600 fWeightNumLong2->Fill(qlong,weight);
601 }
602 else if((phi>=90.) && (phi <135.))
603 {
604 fWeightNumOut3->Fill(qout,weight);
605 fWeightNumSide3->Fill(qside,weight);
606 fWeightNumLong3->Fill(qlong,weight);
607 }
608 else if((phi>=135.) && (phi <180.))
609 {
610 fWeightNumOut4->Fill(qout,weight);
611 fWeightNumSide4->Fill(qside,weight);
612 fWeightNumLong4->Fill(qlong,weight);
613 }
614 else if((phi>=180.) && (phi <225.))
615 {
616 fWeightNumOut5->Fill(qout,weight);
617 fWeightNumSide5->Fill(qside,weight);
618 fWeightNumLong5->Fill(qlong,weight);
619 }
620 else if((phi>=225.) && (phi <270.))
621 {
622 fWeightNumOut6->Fill(qout,weight);
623 fWeightNumSide6->Fill(qside,weight);
624 fWeightNumLong6->Fill(qlong,weight);
625 }
626 else if((phi>=270.) && (phi <315.))
627 {
628 fWeightNumOut7->Fill(qout,weight);
629 fWeightNumSide7->Fill(qside,weight);
630 fWeightNumLong7->Fill(qlong,weight);
631 }
632 else if((phi>=315.) && (phi <360.))
633 {
634 fWeightNumOut8->Fill(qout,weight);
635 fWeightNumSide8->Fill(qside,weight);
636 fWeightNumLong8->Fill(qlong,weight);
637 }
638 }
639
640
641}
642
643/****************************************************************/
644void AliHBTWeightashbtCorrFctn::Init()
645{
646 fWeightNumOut1->Reset();
647 fWeightNumOut2->Reset();
648 fWeightNumOut3->Reset();
649 fWeightNumOut4->Reset();
650 fWeightNumOut5->Reset();
651 fWeightNumOut6->Reset();
652 fWeightNumOut7->Reset();
653 fWeightNumOut8->Reset();
654
655 fWeightDenOut1->Reset();
656 fWeightDenOut2->Reset();
657 fWeightDenOut3->Reset();
658 fWeightDenOut4->Reset();
659 fWeightDenOut5->Reset();
660 fWeightDenOut6->Reset();
661 fWeightDenOut7->Reset();
662 fWeightDenOut8->Reset();
663
664 fWeightRatOut1->Reset();
665 fWeightRatOut2->Reset();
666 fWeightRatOut3->Reset();
667 fWeightRatOut4->Reset();
668 fWeightRatOut5->Reset();
669 fWeightRatOut6->Reset();
670 fWeightRatOut7->Reset();
671 fWeightRatOut8->Reset();
672
673
674 fWeightNumSide1->Reset();
675 fWeightNumSide2->Reset();
676 fWeightNumSide3->Reset();
677 fWeightNumSide4->Reset();
678 fWeightNumSide5->Reset();
679 fWeightNumSide6->Reset();
680 fWeightNumSide7->Reset();
681 fWeightNumSide8->Reset();
682
683 fWeightDenSide1->Reset();
684 fWeightDenSide2->Reset();
685 fWeightDenSide3->Reset();
686 fWeightDenSide4->Reset();
687 fWeightDenSide5->Reset();
688 fWeightDenSide6->Reset();
689 fWeightDenSide7->Reset();
690 fWeightDenSide8->Reset();
691
692 fWeightRatSide1->Reset();
693 fWeightRatSide2->Reset();
694 fWeightRatSide3->Reset();
695 fWeightRatSide4->Reset();
696 fWeightRatSide5->Reset();
697 fWeightRatSide6->Reset();
698 fWeightRatSide7->Reset();
699 fWeightRatSide8->Reset();
700
701 fWeightNumLong1->Reset();
702 fWeightNumLong2->Reset();
703 fWeightNumLong3->Reset();
704 fWeightNumLong4->Reset();
705 fWeightNumLong5->Reset();
706 fWeightNumLong6->Reset();
707 fWeightNumLong7->Reset();
708 fWeightNumLong8->Reset();
709
710 fWeightDenLong1->Reset();
711 fWeightDenLong2->Reset();
712 fWeightDenLong3->Reset();
713 fWeightDenLong4->Reset();
714 fWeightDenLong5->Reset();
715 fWeightDenLong6->Reset();
716 fWeightDenLong7->Reset();
717 fWeightDenLong8->Reset();
718
719 fWeightRatLong1->Reset();
720 fWeightRatLong2->Reset();
721 fWeightRatLong3->Reset();
722 fWeightRatLong4->Reset();
723 fWeightRatLong5->Reset();
724 fWeightRatLong6->Reset();
725 fWeightRatLong7->Reset();
726 fWeightRatLong8->Reset();
727
728
729 }
730/****************************************************************/
731
732
733void AliHBTWeightashbtCorrFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
734{
735
736 trackpair = CheckPair(trackpair);
737 Double_t rplane=0.; //reaction plane angle - 2 B determined
738 Double_t phi=(trackpair->Particle1()->Phi()+trackpair->Particle2()->Phi())/2.-rplane; //deltaphi bo nie mam nic innego pod reka
739 phi=phi*360/(2*TMath::Pi());
740 Double_t qout=trackpair->GetQOutLCMS();
741 Double_t qside=trackpair->GetQSideLCMS();
742 Double_t qlong=trackpair->GetQLongLCMS();
743
744
745if ( trackpair && partpair)
746 {
747
748 if((phi>=0.) && (phi <45.))
749 {
750 fWeightDenOut1->Fill(qout);
751 fWeightDenSide1->Fill(qside);
752 fWeightDenLong1->Fill(qlong);
753 }
754 else if((phi>=45.) && (phi <90.))
755 {
756 fWeightDenOut2->Fill(qout);
757 fWeightDenSide2->Fill(qside);
758 fWeightDenLong2->Fill(qlong);
759 }
760 else if((phi>=90.) && (phi <135.))
761 {
762 fWeightDenOut3->Fill(qout);
763 fWeightDenSide3->Fill(qside);
764 fWeightDenLong3->Fill(qlong);
765 }
766 else if((phi>=135.) && (phi <180.))
767 {
768 fWeightDenOut4->Fill(qout);
769 fWeightDenSide4->Fill(qside);
770 fWeightDenLong4->Fill(qlong);
771 }
772 else if((phi>=180.) && (phi <225.))
773 {
774 fWeightDenOut5->Fill(qout);
775 fWeightDenSide5->Fill(qside);
776 fWeightDenLong5->Fill(qlong);
777 }
778 else if((phi>=225.) && (phi <270.))
779 {
780 fWeightDenOut6->Fill(qout);
781 fWeightDenSide6->Fill(qside);
782 fWeightDenLong6->Fill(qlong);
783 }
784 else if((phi>=270.) && (phi <315.))
785 {
786 fWeightDenOut7->Fill(qout);
787 fWeightDenSide7->Fill(qside);
788 fWeightDenLong7->Fill(qlong);
789 }
790 else if((phi>=315.) && (phi <360.))
791 {
792 fWeightDenOut8->Fill(qout);
793 fWeightDenSide8->Fill(qside);
794 fWeightDenLong8->Fill(qlong);
795 }
796 }
797
798}
799
800
801/******************************************************************/
802
803void AliHBTWeightashbtCorrFctn::BuildHistos(Int_t nbins, Float_t max, Float_t min)
804{
805
806
807 TString nameNumOut1 = "NumOut0-45deg";
808 TString nameNumOut2 = "NumOut45-90deg";
809 TString nameNumOut3 = "NumOut90-135deg";
810 TString nameNumOut4 = "NumOut135-180deg";
811 TString nameNumOut5 = "NumOut180-225deg";
812 TString nameNumOut6 = "NumOut225-270deg";
813 TString nameNumOut7 = "NumOut270-315deg";
814 TString nameNumOut8 = "NumOut315-360deg";
815
816
817 TString nameDenOut1 = "DenOut0-45deg";
818 TString nameDenOut2 = "DenOut45-90deg";
819 TString nameDenOut3 = "DenOut90-135deg";
820 TString nameDenOut4 = "DenOut135-180deg";
821 TString nameDenOut5 = "DenOut180-225deg";
822 TString nameDenOut6 = "DenOut225-270deg";
823 TString nameDenOut7 = "DenOut270-315deg";
824 TString nameDenOut8 = "DenOut315-360deg";
825
826
827 TString nameRatOut1 = "RatOut0-45deg";
828 TString nameRatOut2 = "RatOut45-90deg";
829 TString nameRatOut3 = "RatOut90-135deg";
830 TString nameRatOut4 = "RatOut135-180deg";
831 TString nameRatOut5 = "RatOut180-225deg";
832 TString nameRatOut6 = "RatOut225-270deg";
833 TString nameRatOut7 = "RatOut270-315deg";
834 TString nameRatOut8 = "RatOut315-360deg";
835
836 TString nameNumSide1 = "NumSide0-45deg";
837 TString nameNumSide2 = "NumSide45-90deg";
838 TString nameNumSide3 = "NumSide90-135deg";
839 TString nameNumSide4 = "NumSide135-180deg";
840 TString nameNumSide5 = "NumSide180-225deg";
841 TString nameNumSide6 = "NumSide225-270deg";
842 TString nameNumSide7 = "NumSide270-315deg";
843 TString nameNumSide8 = "NumSide315-360deg";
844
845
846 TString nameDenSide1 = "DenSide0-45deg";
847 TString nameDenSide2 = "DenSide45-90deg";
848 TString nameDenSide3 = "DenSide90-135deg";
849 TString nameDenSide4 = "DenSide135-180deg";
850 TString nameDenSide5 = "DenSide180-225deg";
851 TString nameDenSide6 = "DenSide225-270deg";
852 TString nameDenSide7 = "DenSide270-315deg";
853 TString nameDenSide8 = "DenSide315-360deg";
854
855
856 TString nameRatSide1 = "RatSide0-45deg";
857 TString nameRatSide2 = "RatSide45-90deg";
858 TString nameRatSide3 = "RatSide90-135deg";
859 TString nameRatSide4 = "RatSide135-180deg";
860 TString nameRatSide5 = "RatSide180-225deg";
861 TString nameRatSide6 = "RatSide225-270deg";
862 TString nameRatSide7 = "RatSide270-315deg";
863 TString nameRatSide8 = "RatSide315-360deg";
864
865 TString nameNumLong1 = "NumLong0-45deg";
866 TString nameNumLong2 = "NumLong45-90deg";
867 TString nameNumLong3 = "NumLong90-135deg";
868 TString nameNumLong4 = "NumLong135-180deg";
869 TString nameNumLong5 = "NumLong180-225deg";
870 TString nameNumLong6 = "NumLong225-270deg";
871 TString nameNumLong7 = "NumLong270-315deg";
872 TString nameNumLong8 = "NumLong315-360deg";
873
874
875 TString nameDenLong1 = "DenLong0-45deg";
876 TString nameDenLong2 = "DenLong45-90deg";
877 TString nameDenLong3 = "DenLong90-135deg";
878 TString nameDenLong4 = "DenLong135-180deg";
879 TString nameDenLong5 = "DenLong180-225deg";
880 TString nameDenLong6 = "DenLong225-270deg";
881 TString nameDenLong7 = "DenLong270-315deg";
882 TString nameDenLong8 = "DenLong315-360deg";
883
884
885 TString nameRatLong1 = "RatLong0-45deg";
886 TString nameRatLong2 = "RatLong45-90deg";
887 TString nameRatLong3 = "RatLong90-135deg";
888 TString nameRatLong4 = "RatLong135-180deg";
889 TString nameRatLong5 = "RatLong180-225deg";
890 TString nameRatLong6 = "RatLong225-270deg";
891 TString nameRatLong7 = "RatLong270-315deg";
892 TString nameRatLong8 = "RatLong315-360deg";
893
894 fWeightNumOut1 = new TH1D(nameNumOut1.Data(),nameNumOut1.Data(),nbins,min,max);
895 fWeightNumOut2 = new TH1D(nameNumOut2.Data(),nameNumOut2.Data(),nbins,min,max);
896 fWeightNumOut3 = new TH1D(nameNumOut3.Data(),nameNumOut3.Data(),nbins,min,max);
897 fWeightNumOut4 = new TH1D(nameNumOut4.Data(),nameNumOut4.Data(),nbins,min,max);
898 fWeightNumOut5 = new TH1D(nameNumOut5.Data(),nameNumOut5.Data(),nbins,min,max);
899 fWeightNumOut6 = new TH1D(nameNumOut6.Data(),nameNumOut6.Data(),nbins,min,max);
900 fWeightNumOut7 = new TH1D(nameNumOut7.Data(),nameNumOut7.Data(),nbins,min,max);
901 fWeightNumOut8 = new TH1D(nameNumOut8.Data(),nameNumOut8.Data(),nbins,min,max);
902
903 fWeightDenOut1 = new TH1D(nameDenOut1.Data(),nameDenOut1.Data(),nbins,min,max);
904 fWeightDenOut2 = new TH1D(nameDenOut2.Data(),nameDenOut2.Data(),nbins,min,max);
905 fWeightDenOut3 = new TH1D(nameDenOut3.Data(),nameDenOut3.Data(),nbins,min,max);
906 fWeightDenOut4 = new TH1D(nameDenOut4.Data(),nameDenOut4.Data(),nbins,min,max);
907 fWeightDenOut5 = new TH1D(nameDenOut5.Data(),nameDenOut5.Data(),nbins,min,max);
908 fWeightDenOut6 = new TH1D(nameDenOut6.Data(),nameDenOut6.Data(),nbins,min,max);
909 fWeightDenOut7 = new TH1D(nameDenOut7.Data(),nameDenOut7.Data(),nbins,min,max);
910 fWeightDenOut8 = new TH1D(nameDenOut8.Data(),nameDenOut8.Data(),nbins,min,max);
911
912 fWeightRatOut1 = new TH1D(nameRatOut1.Data(),nameRatOut1.Data(),nbins,min,max);
913 fWeightRatOut2 = new TH1D(nameRatOut2.Data(),nameRatOut2.Data(),nbins,min,max);
914 fWeightRatOut3 = new TH1D(nameRatOut3.Data(),nameRatOut3.Data(),nbins,min,max);
915 fWeightRatOut4 = new TH1D(nameRatOut4.Data(),nameRatOut4.Data(),nbins,min,max);
916 fWeightRatOut5 = new TH1D(nameRatOut5.Data(),nameRatOut5.Data(),nbins,min,max);
917 fWeightRatOut6 = new TH1D(nameRatOut6.Data(),nameRatOut6.Data(),nbins,min,max);
918 fWeightRatOut7 = new TH1D(nameRatOut7.Data(),nameRatOut7.Data(),nbins,min,max);
919 fWeightRatOut8 = new TH1D(nameRatOut8.Data(),nameRatOut8.Data(),nbins,min,max);
920
921 fWeightNumSide1 = new TH1D(nameNumSide1.Data(),nameNumSide1.Data(),nbins,min,max);
922 fWeightNumSide2 = new TH1D(nameNumSide2.Data(),nameNumSide2.Data(),nbins,min,max);
923 fWeightNumSide3 = new TH1D(nameNumSide3.Data(),nameNumSide3.Data(),nbins,min,max);
924 fWeightNumSide4 = new TH1D(nameNumSide4.Data(),nameNumSide4.Data(),nbins,min,max);
925 fWeightNumSide5 = new TH1D(nameNumSide5.Data(),nameNumSide5.Data(),nbins,min,max);
926 fWeightNumSide6 = new TH1D(nameNumSide6.Data(),nameNumSide6.Data(),nbins,min,max);
927 fWeightNumSide7 = new TH1D(nameNumSide7.Data(),nameNumSide7.Data(),nbins,min,max);
928 fWeightNumSide8 = new TH1D(nameNumSide8.Data(),nameNumSide8.Data(),nbins,min,max);
929
930 fWeightDenSide1 = new TH1D(nameDenSide1.Data(),nameDenSide1.Data(),nbins,min,max);
931 fWeightDenSide2 = new TH1D(nameDenSide2.Data(),nameDenSide2.Data(),nbins,min,max);
932 fWeightDenSide3 = new TH1D(nameDenSide3.Data(),nameDenSide3.Data(),nbins,min,max);
933 fWeightDenSide4 = new TH1D(nameDenSide4.Data(),nameDenSide4.Data(),nbins,min,max);
934 fWeightDenSide5 = new TH1D(nameDenSide5.Data(),nameDenSide5.Data(),nbins,min,max);
935 fWeightDenSide6 = new TH1D(nameDenSide6.Data(),nameDenSide6.Data(),nbins,min,max);
936 fWeightDenSide7 = new TH1D(nameDenSide7.Data(),nameDenSide7.Data(),nbins,min,max);
937 fWeightDenSide8 = new TH1D(nameDenSide8.Data(),nameDenSide8.Data(),nbins,min,max);
938
939 fWeightRatSide1 = new TH1D(nameRatSide1.Data(),nameRatSide1.Data(),nbins,min,max);
940 fWeightRatSide2 = new TH1D(nameRatSide2.Data(),nameRatSide2.Data(),nbins,min,max);
941 fWeightRatSide3 = new TH1D(nameRatSide3.Data(),nameRatSide3.Data(),nbins,min,max);
942 fWeightRatSide4 = new TH1D(nameRatSide4.Data(),nameRatSide4.Data(),nbins,min,max);
943 fWeightRatSide5 = new TH1D(nameRatSide5.Data(),nameRatSide5.Data(),nbins,min,max);
944 fWeightRatSide6 = new TH1D(nameRatSide6.Data(),nameRatSide6.Data(),nbins,min,max);
945 fWeightRatSide7 = new TH1D(nameRatSide7.Data(),nameRatSide7.Data(),nbins,min,max);
946 fWeightRatSide8 = new TH1D(nameRatSide8.Data(),nameRatSide8.Data(),nbins,min,max);
947
948 fWeightNumLong1 = new TH1D(nameNumLong1.Data(),nameNumLong1.Data(),nbins,min,max);
949 fWeightNumLong2 = new TH1D(nameNumLong2.Data(),nameNumLong2.Data(),nbins,min,max);
950 fWeightNumLong3 = new TH1D(nameNumLong3.Data(),nameNumLong3.Data(),nbins,min,max);
951 fWeightNumLong4 = new TH1D(nameNumLong4.Data(),nameNumLong4.Data(),nbins,min,max);
952 fWeightNumLong5 = new TH1D(nameNumLong5.Data(),nameNumLong5.Data(),nbins,min,max);
953 fWeightNumLong6 = new TH1D(nameNumLong6.Data(),nameNumLong6.Data(),nbins,min,max);
954 fWeightNumLong7 = new TH1D(nameNumLong7.Data(),nameNumLong7.Data(),nbins,min,max);
955 fWeightNumLong8 = new TH1D(nameNumLong8.Data(),nameNumLong8.Data(),nbins,min,max);
956
957 fWeightDenLong1 = new TH1D(nameDenLong1.Data(),nameDenLong1.Data(),nbins,min,max);
958 fWeightDenLong2 = new TH1D(nameDenLong2.Data(),nameDenLong2.Data(),nbins,min,max);
959 fWeightDenLong3 = new TH1D(nameDenLong3.Data(),nameDenLong3.Data(),nbins,min,max);
960 fWeightDenLong4 = new TH1D(nameDenLong4.Data(),nameDenLong4.Data(),nbins,min,max);
961 fWeightDenLong5 = new TH1D(nameDenLong5.Data(),nameDenLong5.Data(),nbins,min,max);
962 fWeightDenLong6 = new TH1D(nameDenLong6.Data(),nameDenLong6.Data(),nbins,min,max);
963 fWeightDenLong7 = new TH1D(nameDenLong7.Data(),nameDenLong7.Data(),nbins,min,max);
964 fWeightDenLong8 = new TH1D(nameDenLong8.Data(),nameDenLong8.Data(),nbins,min,max);
965
966 fWeightRatLong1 = new TH1D(nameRatLong1.Data(),nameRatLong1.Data(),nbins,min,max);
967 fWeightRatLong2 = new TH1D(nameRatLong2.Data(),nameRatLong2.Data(),nbins,min,max);
968 fWeightRatLong3 = new TH1D(nameRatLong3.Data(),nameRatLong3.Data(),nbins,min,max);
969 fWeightRatLong4 = new TH1D(nameRatLong4.Data(),nameRatLong4.Data(),nbins,min,max);
970 fWeightRatLong5 = new TH1D(nameRatLong5.Data(),nameRatLong5.Data(),nbins,min,max);
971 fWeightRatLong6 = new TH1D(nameRatLong6.Data(),nameRatLong6.Data(),nbins,min,max);
972 fWeightRatLong7 = new TH1D(nameRatLong7.Data(),nameRatLong7.Data(),nbins,min,max);
973 fWeightRatLong8 = new TH1D(nameRatLong8.Data(),nameRatLong8.Data(),nbins,min,max);
974
975 fWeightNumOut1->Sumw2();
976 fWeightNumOut2->Sumw2();
977 fWeightNumOut3->Sumw2();
978 fWeightNumOut4->Sumw2();
979 fWeightNumOut5->Sumw2();
980 fWeightNumOut6->Sumw2();
981 fWeightNumOut7->Sumw2();
982 fWeightNumOut8->Sumw2();
983
984 fWeightDenOut1->Sumw2();
985 fWeightDenOut2->Sumw2();
986 fWeightDenOut3->Sumw2();
987 fWeightDenOut4->Sumw2();
988 fWeightDenOut5->Sumw2();
989 fWeightDenOut6->Sumw2();
990 fWeightDenOut7->Sumw2();
991 fWeightDenOut8->Sumw2();
992
993 fWeightRatOut1->Sumw2();
994 fWeightRatOut2->Sumw2();
995 fWeightRatOut3->Sumw2();
996 fWeightRatOut4->Sumw2();
997 fWeightRatOut5->Sumw2();
998 fWeightRatOut6->Sumw2();
999 fWeightRatOut7->Sumw2();
1000 fWeightRatOut8->Sumw2();
1001
1002
1003 fWeightNumSide1->Sumw2();
1004 fWeightNumSide2->Sumw2();
1005 fWeightNumSide3->Sumw2();
1006 fWeightNumSide4->Sumw2();
1007 fWeightNumSide5->Sumw2();
1008 fWeightNumSide6->Sumw2();
1009 fWeightNumSide7->Sumw2();
1010 fWeightNumSide8->Sumw2();
1011
1012 fWeightDenSide1->Sumw2();
1013 fWeightDenSide2->Sumw2();
1014 fWeightDenSide3->Sumw2();
1015 fWeightDenSide4->Sumw2();
1016 fWeightDenSide5->Sumw2();
1017 fWeightDenSide6->Sumw2();
1018 fWeightDenSide7->Sumw2();
1019 fWeightDenSide8->Sumw2();
1020
1021 fWeightRatSide1->Sumw2();
1022 fWeightRatSide2->Sumw2();
1023 fWeightRatSide3->Sumw2();
1024 fWeightRatSide4->Sumw2();
1025 fWeightRatSide5->Sumw2();
1026 fWeightRatSide6->Sumw2();
1027 fWeightRatSide7->Sumw2();
1028 fWeightRatSide8->Sumw2();
1029
1030 fWeightNumLong1->Sumw2();
1031 fWeightNumLong2->Sumw2();
1032 fWeightNumLong3->Sumw2();
1033 fWeightNumLong4->Sumw2();
1034 fWeightNumLong5->Sumw2();
1035 fWeightNumLong6->Sumw2();
1036 fWeightNumLong7->Sumw2();
1037 fWeightNumLong8->Sumw2();
1038
1039 fWeightDenLong1->Sumw2();
1040 fWeightDenLong2->Sumw2();
1041 fWeightDenLong3->Sumw2();
1042 fWeightDenLong4->Sumw2();
1043 fWeightDenLong5->Sumw2();
1044 fWeightDenLong6->Sumw2();
1045 fWeightDenLong7->Sumw2();
1046 fWeightDenLong8->Sumw2();
1047
1048 fWeightRatLong1->Sumw2();
1049 fWeightRatLong2->Sumw2();
1050 fWeightRatLong3->Sumw2();
1051 fWeightRatLong4->Sumw2();
1052 fWeightRatLong5->Sumw2();
1053 fWeightRatLong6->Sumw2();
1054 fWeightRatLong7->Sumw2();
1055 fWeightRatLong8->Sumw2();
1056
1057 }
1058
1059 TH1* AliHBTWeightashbtCorrFctn::GetResult()
1060 {
1061 return fWeightRatOut1;
1062 }