]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIHBTWeightQINVFCTN_H | |
2 | #define ALIHBTWeightQINVFCTN_H | |
3 | ||
4 | /* $Id$ */ | |
5 | //_________________________________________________________________________ | |
6 | // | |
7 | // class AliHBTWeightQInvFctn | |
8 | // class AliHBTWeightQOutFctn | |
9 | // class AliHBTWeightQSideFctn | |
10 | // class AliHBTWeightQLongFctn | |
11 | // | |
12 | // This class allows to obtain Q_inv correlation function with weights | |
13 | // calculated by Lednicky's alghorithm. | |
14 | // Numerator is filled with weighted events. Weights are attributed to reconstructed tracks. | |
15 | // Weights are calculated with corresponding simulated particles momenta. | |
16 | // Denominator is filled with mixing unweighted reconstructed tracks. | |
17 | // One needs both pairs | |
18 | // (simulated and recontructed), thus function is of class AliHBTTwoPairFctn1D. | |
19 | // Author: Ludmila Malinina, JINR (malinina@sunhe.jinr.ru) | |
20 | // | |
21 | //////////////////////////////////////////////////////////////////////////////// | |
22 | ||
23 | #include "AliHBTFunction.h" | |
24 | ||
25 | ||
26 | class AliHBTWeights; | |
27 | ||
28 | class AliHBTWeightQInvFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction | |
29 | { | |
30 | public: | |
31 | AliHBTWeightQInvFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); | |
32 | virtual ~AliHBTWeightQInvFctn(){}; | |
33 | TH1* GetResult(); | |
34 | ||
35 | void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
36 | void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
37 | ||
38 | protected: | |
39 | Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const | |
40 | { return trackpair->GetQInv()-partpair->GetQInv();} //isn't use | |
41 | ClassDef(AliHBTWeightQInvFctn,3) | |
42 | }; | |
43 | /*************************************************************************************/ | |
44 | ||
45 | class AliHBTWeightQOutFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction | |
46 | { | |
47 | ||
48 | // friend class AliHBTOnePairFctn1D; | |
49 | public: | |
50 | AliHBTWeightQOutFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); | |
51 | virtual ~AliHBTWeightQOutFctn(){}; | |
52 | TH1* GetResult(); | |
53 | void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
54 | void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
55 | ||
56 | protected: | |
57 | Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const | |
58 | { return trackpair->GetQOutLCMS()-partpair->GetQOutLCMS();} //isn't use | |
59 | ClassDef(AliHBTWeightQOutFctn,3) | |
60 | ||
61 | }; | |
62 | /*************************************************************************************/ | |
63 | ||
64 | class AliHBTWeightQLongFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction | |
65 | { | |
66 | // friend class AliHBTOnePairFctn1D; | |
67 | public: | |
68 | AliHBTWeightQLongFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); | |
69 | virtual ~AliHBTWeightQLongFctn(){}; | |
70 | TH1* GetResult(); | |
71 | void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
72 | void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
73 | ||
74 | protected: | |
75 | Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const | |
76 | { return trackpair->GetQLongLCMS()-partpair->GetQLongLCMS();} //isn't used | |
77 | ||
78 | ClassDef(AliHBTWeightQLongFctn,3) | |
79 | ||
80 | }; | |
81 | /*************************************************************************************/ | |
82 | ||
83 | class AliHBTWeightQSideFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction | |
84 | { | |
85 | // friend class AliHBTOnePairFctn1D; | |
86 | public: | |
87 | AliHBTWeightQSideFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); | |
88 | virtual ~AliHBTWeightQSideFctn(){}; | |
89 | TH1* GetResult(); | |
90 | void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
91 | void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
92 | ||
93 | protected: | |
94 | Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const | |
95 | { return trackpair->GetQLongLCMS()-partpair->GetQLongLCMS();} //isn't used | |
96 | ||
97 | ClassDef(AliHBTWeightQSideFctn,3) | |
98 | }; | |
99 | /*************************************************************************************/ | |
100 | ||
101 | class AliHBTWeightTwoKStarFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction | |
102 | { | |
103 | // friend class AliHBTOnePairFctn1D; | |
104 | public: | |
105 | AliHBTWeightTwoKStarFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); | |
106 | virtual ~AliHBTWeightTwoKStarFctn(){}; | |
107 | TH1* GetResult(); | |
108 | void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
109 | void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
110 | ||
111 | protected: | |
112 | Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const | |
113 | { return trackpair->GetKStar()-partpair->GetKStar();} //isn't used | |
114 | ClassDef(AliHBTWeightTwoKStarFctn,3) | |
115 | ||
116 | }; | |
117 | /*************************************************************************************/ | |
118 | ||
119 | class AliHBTWeightQOutQSideFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction | |
120 | { | |
121 | ||
122 | // friend class AliHBTOnePairFctn1D; | |
123 | public: | |
124 | AliHBTWeightQOutQSideFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, | |
125 | Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0); | |
126 | virtual ~AliHBTWeightQOutQSideFctn(){}; | |
127 | TH1* GetResult(); | |
128 | void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
129 | void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
130 | ||
131 | protected: | |
132 | void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{} | |
133 | ClassDef(AliHBTWeightQOutQSideFctn,3) | |
134 | ||
135 | }; | |
136 | /*************************************************************************************/ | |
137 | ||
138 | class AliHBTWeightQOutQLongFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction | |
139 | { | |
140 | ||
141 | // friend class AliHBTOnePairFctn1D; | |
142 | public: | |
143 | AliHBTWeightQOutQLongFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, | |
144 | Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0); | |
145 | virtual ~AliHBTWeightQOutQLongFctn(){}; | |
146 | TH1* GetResult(); | |
147 | void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
148 | void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
149 | ||
150 | protected: | |
151 | void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{} | |
152 | ClassDef(AliHBTWeightQOutQLongFctn,3) | |
153 | ||
154 | }; | |
155 | /*************************************************************************************/ | |
156 | ||
157 | class AliHBTWeightQSideQLongFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction | |
158 | { | |
159 | ||
160 | // friend class AliHBTOnePairFctn1D; | |
161 | public: | |
162 | AliHBTWeightQSideQLongFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, | |
163 | Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0); | |
164 | virtual ~AliHBTWeightQSideQLongFctn(){}; | |
165 | TH1* GetResult(); | |
166 | void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
167 | void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
168 | ||
169 | protected: | |
170 | void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{} | |
171 | ClassDef(AliHBTWeightQSideQLongFctn,3) | |
172 | ||
173 | }; | |
174 | /*************************************************************************************/ | |
175 | ||
176 | class AliHBTWeightQOutSQideQLongFctn: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction | |
177 | { | |
178 | ||
179 | public: | |
180 | AliHBTWeightQOutSQideQLongFctn(Int_t nXbins = 100, Double_t maxXval = 0.3, Double_t minXval = 0.0, | |
181 | Int_t nYbins = 100, Double_t maxYval = 0.3, Double_t minYval = 0.0, | |
182 | Int_t nZbins = 100, Double_t maxZval = 0.3, Double_t minZval = 0.0); | |
183 | virtual ~AliHBTWeightQOutSQideQLongFctn(){} | |
184 | ||
185 | TH1* GetResult(); | |
186 | void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
187 | void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); | |
188 | ||
189 | protected: | |
190 | void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, | |
191 | Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const{ } | |
192 | ||
193 | ClassDef(AliHBTWeightQOutSQideQLongFctn,1) | |
194 | }; | |
195 | ||
196 | ||
197 | #endif |