Do not unload gAlice, it is needed until the end of the simulation run
[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 {
54 //ctor
55   fWriteNumAndDen = kTRUE;//change default behaviour
56   Rename("qoslcf","Q_{out}-Q_{side}-Q_{long} Correlation Fctn");
57 }
58 /*************************************************************************************/ 
59
60 TH1* AliHBTOutSideLongFctn::GetResult()
61 {
62  //returns the scaled ratio
63  delete fRatio;
64  fRatio = GetRatio(Scale());
65  return fRatio;
66 }
67
68 void AliHBTOutSideLongFctn::GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const
69
70   //calculates values of that function
71   //qout qside and qlong
72   
73   x=pair->GetQOutLCMS(); 
74   y=pair->GetQSideLCMS(); 
75   z=pair->GetQLongLCMS();
76   if (fAbs)
77    {
78      x = TMath::Abs(x);
79      y = TMath::Abs(y);
80      z = TMath::Abs(z);
81    }
82
83
84 /*************************************************************************************/ 
85
86 ClassImp(AliHBTQOutLCMSCorrelFctn)
87     
88 AliHBTQOutLCMSCorrelFctn::AliHBTQOutLCMSCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
89  AliHBTOnePairFctn1D(nbins,maxXval,minXval)
90 {
91   //ctor
92  fWriteNumAndDen = kTRUE;//change default behaviour
93  Rename("qoutcf","Q_{out} Correlation Function");
94 }
95 /*************************************************************************************/ 
96     
97 TH1* AliHBTQOutLCMSCorrelFctn::GetResult()
98 {
99  //returns the scaled ratio
100  delete fRatio;
101  fRatio = GetRatio(Scale());
102  return fRatio;
103 }
104 /*************************************************************************************/ 
105 /*************************************************************************************/ 
106 /*************************************************************************************/ 
107
108 ClassImp(AliHBTQLongLCMSCorrelFctn)
109     
110 AliHBTQLongLCMSCorrelFctn::AliHBTQLongLCMSCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
111  AliHBTOnePairFctn1D(nbins,maxXval,minXval)
112 {
113   //ctor
114  fWriteNumAndDen = kTRUE;//change default behaviour
115  Rename("qlongcf","Q_{long} Correlation Function");
116 }
117 /*************************************************************************************/ 
118     
119 TH1* AliHBTQLongLCMSCorrelFctn::GetResult()
120 {
121  //returns the scaled ratio
122  delete fRatio;
123  fRatio = GetRatio(Scale());
124  return fRatio;
125 }
126 /*************************************************************************************/ 
127 /*************************************************************************************/ 
128 /*************************************************************************************/ 
129
130 ClassImp(AliHBTQSideLCMSCorrelFctn)
131     
132 AliHBTQSideLCMSCorrelFctn::AliHBTQSideLCMSCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
133  AliHBTOnePairFctn1D(nbins,maxXval,minXval)
134 {
135  //ctor
136  fWriteNumAndDen = kTRUE;//change default behaviour
137  Rename("qsidecf","Q_{side} Correlation Function");
138 }
139 /*************************************************************************************/ 
140     
141 TH1* AliHBTQSideLCMSCorrelFctn::GetResult()
142 {
143  //returns the scaled ratio
144  delete fRatio;
145  fRatio = GetRatio(Scale());
146  return fRatio;
147 }
148
149
150 /*************************************************************************************/ 
151 /*************************************************************************************/ 
152 /*************************************************************************************/ 
153 ClassImp(AliHBTQtLCMSCorrelFctn)
154     
155 AliHBTQtLCMSCorrelFctn::AliHBTQtLCMSCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
156  AliHBTOnePairFctn1D(nbins,maxXval,minXval)
157 {
158   //ctor
159  fWriteNumAndDen = kTRUE;//change default behaviour
160  Rename("Qtcf","Q_{t}(LCMS) Correlation Function");
161 }
162 /*************************************************************************************/ 
163     
164 TH1* AliHBTQtLCMSCorrelFctn::GetResult()
165 {
166  //returns the scaled ratio
167  delete fRatio;
168  fRatio = GetRatio(Scale());
169  return fRatio;
170 }
171 /*************************************************************************************/ 
172 /*************************************************************************************/ 
173 /*************************************************************************************/ 
174 ClassImp(AliHBTQtCorrelFctn)
175     
176 AliHBTQtCorrelFctn::AliHBTQtCorrelFctn(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("qtcf","Q_{t} Correlation Function");
182 }
183 /*************************************************************************************/ 
184     
185 TH1* AliHBTQtCorrelFctn::GetResult()
186 {
187  //returns the scaled ratio
188  delete fRatio;
189  fRatio = GetRatio(Scale());
190  return fRatio;
191 }
192 /*************************************************************************************/ 
193 /*************************************************************************************/ 
194 /*************************************************************************************/ 
195
196 ClassImp(AliHBTInvMassCorrelFctn)
197
198 AliHBTInvMassCorrelFctn::AliHBTInvMassCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
199  AliHBTOnePairFctn1D(nbins,maxXval,minXval)
200 {
201  //ctor 
202  fWriteNumAndDen = kTRUE;//change default behaviour
203  Rename("InvMass CF","Invariant Mass Correlation Function");
204 }
205
206 TH1* AliHBTInvMassCorrelFctn::GetResult()
207 {
208  //returns result
209  return GetNumerator();
210 }
211 /*************************************************************************************/ 
212 /*************************************************************************************/ 
213 /*************************************************************************************/ 
214
215 ClassImp(AliHBTTwoKStarCorrelFctn)
216
217 AliHBTTwoKStarCorrelFctn::AliHBTTwoKStarCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
218  AliHBTOnePairFctn1D(nbins,maxXval,minXval)
219 {
220  //ctor 
221  fWriteNumAndDen = kTRUE;//change default behaviour
222  Rename("twokstarcf","2K^{*} Correlation Function");
223 }
224
225 /*************************************************************************************/ 
226
227 TH1* AliHBTTwoKStarCorrelFctn::GetResult()
228 {  
229  //returns the scaled ratio
230  delete fRatio;
231  fRatio = GetRatio(Scale());
232  return fRatio;
233 }
234
235 /*************************************************************************************/ 
236 /*************************************************************************************/ 
237 /*************************************************************************************/ 
238 ClassImp(AliHBTAvSeparCorrelFctn)
239
240 AliHBTAvSeparCorrelFctn::AliHBTAvSeparCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
241  AliHBTOnePairFctn1D(nbins,maxXval,minXval)
242 {
243  //ctor 
244  fWriteNumAndDen = kTRUE;//change default behaviour
245  Rename("avsepcf","Avarage separation Correlation Function");
246 }
247
248 /*************************************************************************************/ 
249
250 TH1* AliHBTAvSeparCorrelFctn::GetResult()
251 {  
252  //returns the scaled ratio
253  delete fRatio;
254  fRatio = GetRatio(Scale());
255  return fRatio;
256 }
257
258 /*************************************************************************************/ 
259
260 ClassImp(AliHBTAvSeparVsQInvCorrelFctn)
261
262 AliHBTAvSeparVsQInvCorrelFctn::AliHBTAvSeparVsQInvCorrelFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
263                                                              Int_t nYbins, Double_t maxYval, Double_t minYval):
264  AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval)
265 {
266  //ctor 
267  fWriteNumAndDen = kTRUE;//change default behaviour
268  Rename("avsepvsqinv","Avarage Separation VS Q_{inv} Correlation Function");
269 }
270
271
272 TH1* AliHBTAvSeparVsQInvCorrelFctn::GetResult()
273 {  
274  //returns the scaled ratio
275  delete fRatio;
276  fRatio = GetRatio(Scale());
277  return fRatio;
278 }
279
280 /**************************************************************/
281 /**************************************************************/
282 /**************************************************************/
283
284
285 ClassImp(AliHBTQOutQSideFctn)
286
287
288 AliHBTQOutQSideFctn::AliHBTQOutQSideFctn(Int_t nxbins, Double_t maxXval, Double_t minXval,
289                                          Int_t nybins, Double_t maxYval, Double_t minYval):
290  AliHBTOnePairFctn2D(nxbins,maxXval,minXval,nybins,maxYval,minYval)
291 {
292   //ctor
293  fWriteNumAndDen = kTRUE;//change default behaviour
294  Rename("qoutqsidecf","Q_{out} Q_{side} Correlation Function 2D");
295 }    
296 /**************************************************************/
297
298 TH1* AliHBTQOutQSideFctn::GetResult()
299 {
300  //returns the scaled ratio
301  delete fRatio;
302  fRatio = GetRatio(Scale());
303  return fRatio;
304 }
305 /**************************************************************/
306 /**************************************************************/
307
308 ClassImp(AliHBTQOutQLongFctn)
309
310 AliHBTQOutQLongFctn::AliHBTQOutQLongFctn(Int_t nxbins, Double_t maxXval, Double_t minXval,
311                                                          Int_t nybins, Double_t maxYval, Double_t minYval):
312  AliHBTOnePairFctn2D(nxbins,maxXval,minXval,nybins,maxYval,minYval)
313 {
314   //ctor
315  fWriteNumAndDen = kTRUE;//change default behaviour
316  Rename("qoutqlongcf","Q_{out} Q_{long} Correlation Function 2D");
317 }    
318
319
320 /**************************************************************/
321
322 TH1* AliHBTQOutQLongFctn::GetResult()
323 {
324  //returns the scaled ratio
325  delete fRatio;
326  fRatio = GetRatio(Scale());
327  return fRatio;
328 }
329 /**************************************************************/
330 /**************************************************************/
331 /**************************************************************/
332
333 ClassImp(AliHBTQSideQLongFctn)
334
335 /**************************************************************/
336 AliHBTQSideQLongFctn::AliHBTQSideQLongFctn(Int_t nxbins, Double_t maxXval, Double_t minXval,
337                                                          Int_t nybins, Double_t maxYval, Double_t minYval):
338  AliHBTOnePairFctn2D(nxbins,maxXval,minXval,nybins,maxYval,minYval)
339 {
340   //ctor
341  fWriteNumAndDen = kTRUE;//change default behaviour
342  Rename("qsideqlongcf","Q_{side} Q_{long} Correlation Function 2D");
343 }    
344
345 TH1* AliHBTQSideQLongFctn::GetResult()
346 {
347  //returns the scaled ratio
348  delete fRatio;
349  fRatio = GetRatio(Scale());
350  return fRatio;
351 }