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