]>
Commit | Line | Data |
---|---|---|
604034d8 | 1 | /* $Id$ */ |
2 | ||
eb828ce0 | 3 | //_____________________________________________________________________________ |
4 | /////////////////////////////////////////////////////////////////////////////// | |
5 | // | |
6 | // class AliHBTWeightTheorQInvFctn | |
7 | // | |
8 | // This function allows to obtain Q_inv correlation function with weights | |
9 | // calculated by Lednicky's alghorithm. | |
10 | // Numerator is filled with weighted events. Weights are attributed to simulated particles. | |
11 | // Weights are calculated with corresponding simulated particles momenta. | |
12 | // Denominator is filled with mixing unweighted simulated particles. | |
13 | // One needs only simulated pairs, so | |
14 | // this function is of class AliHBTOnePairFctn1D. | |
604034d8 | 15 | //----------------------------------------------------------- |
16 | // This class introduces the weights calculated according | |
17 | // with functions of efficiency of identification (TPC+TOF) | |
18 | // (calculated by B.V. Batyunia). | |
19 | // Author: Ludmila Malinina, JINR (malinina@sunhe.jinr.ru) | |
20 | //----------------------------------------------------------- | |
a6e49985 | 21 | |
dd82cadc | 22 | #include "AliHBTWeightTheorFctn.h" |
a6e49985 | 23 | |
dd82cadc | 24 | //--for test--AliHBTWeightQInvFctn* yyy= new AliHBTWeightQInvFctn(); |
9714a029 | 25 | /*************************************************************/ |
26 | /*************************************************************/ | |
27 | /*************************************************************/ | |
a6e49985 | 28 | |
dd82cadc | 29 | ClassImp(AliHBTWeightTheorQInvFctn) |
a6e49985 | 30 | /*************************************************************/ |
31 | ||
dd82cadc | 32 | AliHBTWeightTheorQInvFctn::AliHBTWeightTheorQInvFctn(Int_t nbins, Double_t maxXval, Double_t minXval): |
604034d8 | 33 | AliHBTOnePairFctn1D(nbins,maxXval,minXval) |
a6e49985 | 34 | { |
604034d8 | 35 | //ctor |
9714a029 | 36 | fWriteNumAndDen = kTRUE;//change default behaviour |
37 | Rename("wqinvtheorcf","Q_{inv} Weight Theoretical Correlation Function"); | |
a6e49985 | 38 | } |
fc13079c | 39 | /**************************************************************/ |
40 | ||
dd82cadc | 41 | void AliHBTWeightTheorQInvFctn::ProcessSameEventParticles(AliHBTPair* partpair) |
a6e49985 | 42 | { |
dd82cadc | 43 | //Processes Particles and tracks Same different event |
a6e49985 | 44 | partpair = CheckPair(partpair); |
ce5d39b1 | 45 | if (partpair == 0x0) return; |
dd82cadc | 46 | Double_t weight = partpair->GetWeight(); |
a6e49985 | 47 | if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQInv(),weight); |
48 | } | |
a6e49985 | 49 | /**************************************************************/ |
fc13079c | 50 | |
dd82cadc | 51 | TH1* AliHBTWeightTheorQInvFctn::GetResult() |
a6e49985 | 52 | { |
fc13079c | 53 | //returns the scaled ratio |
54 | delete fRatio; | |
55 | fRatio = GetRatio(Scale()); | |
56 | return fRatio; | |
a6e49985 | 57 | } |
58 | ||
9714a029 | 59 | /*************************************************************/ |
60 | /*************************************************************/ | |
61 | /*************************************************************/ | |
62 | ||
dd82cadc | 63 | ClassImp(AliHBTWeightTheorQOutFctn) |
9714a029 | 64 | /*************************************************************/ |
65 | ||
dd82cadc | 66 | AliHBTWeightTheorQOutFctn::AliHBTWeightTheorQOutFctn(Int_t nbins, Double_t maxXval, Double_t minXval): |
9714a029 | 67 | AliHBTOnePairFctn1D(nbins,maxXval,minXval) |
68 | { | |
69 | //ctor | |
70 | fWriteNumAndDen = kTRUE;//change default behaviour | |
71 | Rename("wqouttheorcf","Q_{out} Weight Theoretical Correlation Function"); | |
72 | } | |
73 | /****************************************************************/ | |
fc13079c | 74 | |
dd82cadc | 75 | void AliHBTWeightTheorQOutFctn::ProcessSameEventParticles(AliHBTPair* partpair) |
9714a029 | 76 | { |
77 | //Processes Particles and tracks Same different even | |
78 | partpair = CheckPair(partpair); | |
ce5d39b1 | 79 | if (partpair == 0x0) return; |
dd82cadc | 80 | Double_t weight = partpair->GetWeight(); |
78d7c6d3 | 81 | if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQOutLCMS(),weight); |
9714a029 | 82 | } |
83 | ||
84 | /**************************************************************/ | |
dd82cadc | 85 | TH1* AliHBTWeightTheorQOutFctn::GetResult() |
9714a029 | 86 | { |
fc13079c | 87 | //returns the scaled ratio |
88 | delete fRatio; | |
89 | fRatio = GetRatio(Scale()); | |
90 | return fRatio; | |
9714a029 | 91 | } |
92 | ||
93 | /*************************************************************/ | |
94 | /*************************************************************/ | |
95 | /*************************************************************/ | |
96 | ||
dd82cadc | 97 | ClassImp(AliHBTWeightTheorQSideFctn) |
9714a029 | 98 | /*************************************************************/ |
99 | ||
dd82cadc | 100 | AliHBTWeightTheorQSideFctn::AliHBTWeightTheorQSideFctn(Int_t nbins, Double_t maxXval, Double_t minXval): |
9714a029 | 101 | AliHBTOnePairFctn1D(nbins,maxXval,minXval) |
102 | { | |
103 | //ctor | |
104 | fWriteNumAndDen = kTRUE;//change default behaviour | |
105 | Rename("wqsidetheorcf","Q_{side} Weight Theoretical Correlation Function"); | |
106 | } | |
107 | /****************************************************************/ | |
fc13079c | 108 | |
dd82cadc | 109 | void AliHBTWeightTheorQSideFctn::ProcessSameEventParticles(AliHBTPair* partpair) |
9714a029 | 110 | { |
111 | //Processes Particles and tracks Same different even | |
112 | partpair = CheckPair(partpair); | |
ce5d39b1 | 113 | if (partpair == 0x0) return; |
dd82cadc | 114 | Double_t weight = partpair->GetWeight(); |
78d7c6d3 | 115 | if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQSideLCMS(),weight); |
9714a029 | 116 | } |
9714a029 | 117 | /**************************************************************/ |
fc13079c | 118 | |
dd82cadc | 119 | TH1* AliHBTWeightTheorQSideFctn::GetResult() |
9714a029 | 120 | { |
fc13079c | 121 | //returns the scaled ratio |
122 | delete fRatio; | |
123 | fRatio = GetRatio(Scale()); | |
124 | return fRatio; | |
9714a029 | 125 | } |
126 | ||
127 | /*************************************************************/ | |
128 | /*************************************************************/ | |
129 | /*************************************************************/ | |
130 | ||
dd82cadc | 131 | ClassImp(AliHBTWeightTheorQLongFctn) |
9714a029 | 132 | /*************************************************************/ |
133 | ||
dd82cadc | 134 | AliHBTWeightTheorQLongFctn::AliHBTWeightTheorQLongFctn(Int_t nbins, Double_t maxXval, Double_t minXval): |
9714a029 | 135 | AliHBTOnePairFctn1D(nbins,maxXval,minXval) |
136 | { | |
137 | //ctor | |
138 | fWriteNumAndDen = kTRUE;//change default behaviour | |
139 | Rename("wqlongtheorcf","Q_{long} Weight Theoretical Correlation Function"); | |
140 | } | |
141 | /****************************************************************/ | |
fc13079c | 142 | |
dd82cadc | 143 | void AliHBTWeightTheorQLongFctn::ProcessSameEventParticles(AliHBTPair* partpair) |
9714a029 | 144 | { |
145 | //Processes Particles and tracks Same different even | |
146 | partpair = CheckPair(partpair); | |
ce5d39b1 | 147 | if (partpair == 0x0) return; |
dd82cadc | 148 | Double_t weight = partpair->GetWeight(); |
78d7c6d3 | 149 | if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQLongLCMS(),weight); |
9714a029 | 150 | } |
9714a029 | 151 | /**************************************************************/ |
fc13079c | 152 | |
dd82cadc | 153 | TH1* AliHBTWeightTheorQLongFctn::GetResult() |
dc0241b8 | 154 | { |
155 | //returns the scaled ratio | |
156 | delete fRatio; | |
157 | fRatio = GetRatio(Scale()); | |
158 | return fRatio; | |
159 | } | |
160 | ||
161 | /*************************************************************/ | |
162 | /*************************************************************/ | |
163 | /*************************************************************/ | |
164 | ||
165 | ClassImp(AliHBTWeightTheorQtFctn) | |
166 | /*************************************************************/ | |
167 | ||
168 | AliHBTWeightTheorQtFctn::AliHBTWeightTheorQtFctn(Int_t nbins, Double_t maxXval, Double_t minXval): | |
169 | AliHBTOnePairFctn1D(nbins,maxXval,minXval) | |
170 | { | |
171 | //ctor | |
172 | fWriteNumAndDen = kTRUE;//change default behaviour | |
173 | Rename("wqttheorcf","Q_{t} Weight Theoretical Correlation Function"); | |
174 | } | |
175 | /****************************************************************/ | |
176 | ||
177 | void AliHBTWeightTheorQtFctn::ProcessSameEventParticles(AliHBTPair* partpair) | |
178 | { | |
179 | //Processes Particles and tracks Same different even | |
180 | partpair = CheckPair(partpair); | |
181 | if (partpair == 0x0) return; | |
182 | Double_t weight = partpair->GetWeight(); | |
183 | if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQt(),weight); | |
184 | } | |
185 | /**************************************************************/ | |
186 | ||
187 | TH1* AliHBTWeightTheorQtFctn::GetResult() | |
dd82cadc | 188 | { |
fc13079c | 189 | //returns the scaled ratio |
190 | delete fRatio; | |
191 | fRatio = GetRatio(Scale()); | |
192 | return fRatio; | |
dd82cadc | 193 | } |
194 | ||
195 | /*************************************************************/ | |
196 | /*************************************************************/ | |
197 | /*************************************************************/ | |
198 | ||
199 | ClassImp(AliHBTWeightTheorOSLFctn) | |
200 | ||
201 | AliHBTWeightTheorOSLFctn::AliHBTWeightTheorOSLFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, | |
202 | Int_t nYbins, Double_t maxYval, Double_t minYval, | |
203 | Int_t nZbins, Double_t maxZval, Double_t minZval): | |
204 | AliHBTOnePairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval) | |
205 | { | |
f78d233e | 206 | //ctor |
dd82cadc | 207 | fWriteNumAndDen = kTRUE;//change default behaviour |
208 | Rename("wqosltheorcf","Q_{out}-Q_{side}-Q_{long} Weight Theoretical Correlation Fctn"); | |
209 | } | |
f78d233e | 210 | |
dd82cadc | 211 | /*************************************************************/ |
212 | ||
213 | void AliHBTWeightTheorOSLFctn::ProcessSameEventParticles(AliHBTPair* partpair) | |
214 | { | |
215 | //Fills numerator | |
216 | partpair = CheckPair(partpair); | |
217 | if (partpair == 0x0) return; | |
218 | Double_t weight = partpair->GetWeight(); | |
78d7c6d3 | 219 | Double_t out = TMath::Abs(partpair->GetQOutLCMS()); |
220 | Double_t side = TMath::Abs(partpair->GetQSideLCMS()); | |
221 | Double_t lon = TMath::Abs(partpair->GetQLongLCMS()); | |
92d472ba | 222 | |
223 | /* | |
224 | if (out < 0.01) | |
225 | if (side < 0.01) | |
226 | if (lon < 0.01) | |
227 | { | |
228 | Info("TheorOSL Num","================================================================"); | |
229 | Info("TheorOSL Num","o:%f, s:%f, l:%f, w%f",out,side,lon,weight); | |
230 | Info("TheorOSL Num","First"); | |
231 | partpair->Particle1()->Print(); | |
232 | Info("TheorOSL Num","Second"); | |
233 | partpair->Particle2()->Print(); | |
234 | fflush(0); | |
235 | } | |
236 | */ | |
dd82cadc | 237 | fNumerator->Fill(out,side,lon,weight); |
238 | } | |
239 | /*************************************************************/ | |
240 | ||
241 | TH1* AliHBTWeightTheorOSLFctn::GetResult() | |
9714a029 | 242 | { |
fc13079c | 243 | //returns the scaled ratio |
244 | delete fRatio; | |
245 | fRatio = GetRatio(Scale()); | |
246 | return fRatio; | |
9714a029 | 247 | } |