69627a20ad15e2682cfc5451f66682d64d518710
[u/mrichter/AliRoot.git] / HBTAN / AliHBTCorrelFctn.cxx
1 #include "AliHBTCorrelFctn.h"
2 //____________________________________________________________________________
3 //////////////////////////////////////////////////////////////////////////////
4 //
5 // class AliHBTQInvCorrelFctn
6 // class AliHBTQOutLCMSCorrelFctn
7 // class AliHBTQLongLCMSCorrelFctn
8 // class AliHBTQSideLCMSCorrelFctn
9 // class AliHBTInvMassCorrelFctn
10 // class AliHBTTwoKStarCorrelFctn
11 //
12 // Set of functions:
13 //   Q Invaraint Correlation Function
14 //   Invariant Mass Function
15 //
16 // more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html
17 // Piotr.Skowronski@cern.ch
18 //
19 //////////////////////////////////////////////////////////////////////////////
20
21 ClassImp(AliHBTQInvCorrelFctn)
22
23 //Corroleation function is created from dividing two histograms of QInvariant:
24 //  of particles from the same evnt
25 //by 
26 //  of particles from different events
27
28 AliHBTQInvCorrelFctn::AliHBTQInvCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
29  AliHBTOnePairFctn1D(nbins,maxXval,minXval)
30 {
31  fWriteNumAndDen = kTRUE;//change default behaviour
32  Rename("qinvcf","Q_{inv} Correlation Function");
33 }
34 /*************************************************************************************/ 
35
36 TH1* AliHBTQInvCorrelFctn::GetResult()
37 {
38  //returns the scaled ratio
39  delete fRatio;
40  fRatio = GetRatio(Scale());
41  return fRatio;
42 }
43 /*************************************************************************************/ 
44 /*************************************************************************************/ 
45 /*************************************************************************************/ 
46
47 ClassImp(AliHBTOutSideLongFctn)
48
49 AliHBTOutSideLongFctn::AliHBTOutSideLongFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
50                                                    Int_t nYbins, Double_t maxYval, Double_t minYval,
51                                                    Int_t nZbins, Double_t maxZval, Double_t minZval):
52  AliHBTOnePairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval),
53  fAbs(kTRUE)
54 {
55 //ctor
56   fWriteNumAndDen = kTRUE;//change default behaviour
57   Rename("qoslcf","Q_{out}-Q_{side}-Q_{long} Correlation Fctn");
58 }
59 /*************************************************************************************/ 
60
61 TH1* AliHBTOutSideLongFctn::GetResult()
62 {
63  //returns the scaled ratio
64  delete fRatio;
65  fRatio = GetRatio(Scale());
66  return fRatio;
67 }
68
69 void AliHBTOutSideLongFctn::GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const
70
71   //calculates values of that function
72   //qout qside and qlong
73   
74   x=pair->GetQOutLCMS(); 
75   y=pair->GetQSideLCMS(); 
76   z=pair->GetQLongLCMS();
77   if (fAbs)
78    {
79      x = TMath::Abs(x);
80      y = TMath::Abs(y);
81      z = TMath::Abs(z);
82    }
83
84
85 /*************************************************************************************/ 
86
87 ClassImp(AliHBTQOutLCMSCorrelFctn)
88     
89 AliHBTQOutLCMSCorrelFctn::AliHBTQOutLCMSCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
90  AliHBTOnePairFctn1D(nbins,maxXval,minXval)
91 {
92   //ctor
93  fWriteNumAndDen = kTRUE;//change default behaviour
94  Rename("qoutcf","Q_{out} Correlation Function");
95 }
96 /*************************************************************************************/ 
97     
98 TH1* AliHBTQOutLCMSCorrelFctn::GetResult()
99 {
100  //returns the scaled ratio
101  delete fRatio;
102  fRatio = GetRatio(Scale());
103  return fRatio;
104 }
105 /*************************************************************************************/ 
106 /*************************************************************************************/ 
107 /*************************************************************************************/ 
108
109 ClassImp(AliHBTQLongLCMSCorrelFctn)
110     
111 AliHBTQLongLCMSCorrelFctn::AliHBTQLongLCMSCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
112  AliHBTOnePairFctn1D(nbins,maxXval,minXval)
113 {
114   //ctor
115  fWriteNumAndDen = kTRUE;//change default behaviour
116  Rename("qlongcf","Q_{long} Correlation Function");
117 }
118 /*************************************************************************************/ 
119     
120 TH1* AliHBTQLongLCMSCorrelFctn::GetResult()
121 {
122  //returns the scaled ratio
123  delete fRatio;
124  fRatio = GetRatio(Scale());
125  return fRatio;
126 }
127 /*************************************************************************************/ 
128 /*************************************************************************************/ 
129 /*************************************************************************************/ 
130
131 ClassImp(AliHBTQSideLCMSCorrelFctn)
132     
133 AliHBTQSideLCMSCorrelFctn::AliHBTQSideLCMSCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
134  AliHBTOnePairFctn1D(nbins,maxXval,minXval)
135 {
136  //ctor
137  fWriteNumAndDen = kTRUE;//change default behaviour
138  Rename("qsidecf","Q_{side} Correlation Function");
139 }
140 /*************************************************************************************/ 
141     
142 TH1* AliHBTQSideLCMSCorrelFctn::GetResult()
143 {
144  //returns the scaled ratio
145  delete fRatio;
146  fRatio = GetRatio(Scale());
147  return fRatio;
148 }
149
150
151 /*************************************************************************************/ 
152 /*************************************************************************************/ 
153 /*************************************************************************************/ 
154
155 ClassImp(AliHBTInvMassCorrelFctn)
156
157 AliHBTInvMassCorrelFctn::AliHBTInvMassCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
158  AliHBTOnePairFctn1D(nbins,maxXval,minXval)
159 {
160  //ctor 
161  fWriteNumAndDen = kTRUE;//change default behaviour
162  Rename("InvMass CF","Invariant Mass Correlation Function");
163 }
164
165 TH1* AliHBTInvMassCorrelFctn::GetResult()
166 {
167  //returns result
168  return GetNumerator();
169 }
170 /*************************************************************************************/ 
171 /*************************************************************************************/ 
172 /*************************************************************************************/ 
173
174 ClassImp(AliHBTTwoKStarCorrelFctn)
175
176 AliHBTTwoKStarCorrelFctn::AliHBTTwoKStarCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
177  AliHBTOnePairFctn1D(nbins,maxXval,minXval)
178 {
179  //ctor 
180  fWriteNumAndDen = kTRUE;//change default behaviour
181  Rename("twokstarcf","2K^{*} Correlation Function");
182 }
183
184 /*************************************************************************************/ 
185
186 TH1* AliHBTTwoKStarCorrelFctn::GetResult()
187 {  
188  //returns the scaled ratio
189  delete fRatio;
190  fRatio = GetRatio(Scale());
191  return fRatio;
192 }
193
194 /*************************************************************************************/ 
195 /*************************************************************************************/ 
196 /*************************************************************************************/ 
197 ClassImp(AliHBTAvSeparCorrelFctn)
198
199 AliHBTAvSeparCorrelFctn::AliHBTAvSeparCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
200  AliHBTOnePairFctn1D(nbins,maxXval,minXval)
201 {
202  //ctor 
203  fWriteNumAndDen = kTRUE;//change default behaviour
204  Rename("avsepcf","Avarage separation Correlation Function");
205 }
206
207 /*************************************************************************************/ 
208
209 TH1* AliHBTAvSeparCorrelFctn::GetResult()
210 {  
211  //returns the scaled ratio
212  delete fRatio;
213  fRatio = GetRatio(Scale());
214  return fRatio;
215 }
216
217 /*************************************************************************************/