1 #ifndef ALIHBTWeightQINVFCTN_H
2 #define ALIHBTWeightQINVFCTN_H
5 //_________________________________________________________________________
7 // class AliHBTWeightQInvFctn
8 // class AliHBTWeightQOutFctn
9 // class AliHBTWeightQSideFctn
10 // class AliHBTWeightQLongFctn
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)
21 ////////////////////////////////////////////////////////////////////////////////
23 #include "AliHBTFunction.h"
28 class AliHBTWeightQInvFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
31 AliHBTWeightQInvFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
32 virtual ~AliHBTWeightQInvFctn(){};
35 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
36 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
39 Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
40 { return trackpair->GetQInv()-partpair->GetQInv();} //isn't use
41 ClassDef(AliHBTWeightQInvFctn,3)
43 /*************************************************************************************/
45 class AliHBTWeightQOutFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
48 // friend class AliHBTOnePairFctn1D;
50 AliHBTWeightQOutFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
51 virtual ~AliHBTWeightQOutFctn(){};
53 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
54 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
57 Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
58 { return trackpair->GetQOutLCMS()-partpair->GetQOutLCMS();} //isn't use
59 ClassDef(AliHBTWeightQOutFctn,3)
62 /*************************************************************************************/
64 class AliHBTWeightQLongFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
66 // friend class AliHBTOnePairFctn1D;
68 AliHBTWeightQLongFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
69 virtual ~AliHBTWeightQLongFctn(){};
71 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
72 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
75 Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
76 { return trackpair->GetQLongLCMS()-partpair->GetQLongLCMS();} //isn't used
78 ClassDef(AliHBTWeightQLongFctn,3)
81 /*************************************************************************************/
83 class AliHBTWeightQSideFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
85 // friend class AliHBTOnePairFctn1D;
87 AliHBTWeightQSideFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
88 virtual ~AliHBTWeightQSideFctn(){};
90 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
91 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
94 Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
95 { return trackpair->GetQLongLCMS()-partpair->GetQLongLCMS();} //isn't used
97 ClassDef(AliHBTWeightQSideFctn,3)
99 /*************************************************************************************/
101 class AliHBTWeightTwoKStarFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
103 // friend class AliHBTOnePairFctn1D;
105 AliHBTWeightTwoKStarFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
106 virtual ~AliHBTWeightTwoKStarFctn(){};
108 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
109 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
112 Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
113 { return trackpair->GetKStar()-partpair->GetKStar();} //isn't used
114 ClassDef(AliHBTWeightTwoKStarFctn,3)
117 /*************************************************************************************/
119 class AliHBTWeightQOutQSideFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction
122 // friend class AliHBTOnePairFctn1D;
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(){};
128 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
129 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
132 void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{}
133 ClassDef(AliHBTWeightQOutQSideFctn,3)
136 /*************************************************************************************/
138 class AliHBTWeightQOutQLongFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction
141 // friend class AliHBTOnePairFctn1D;
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(){};
147 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
148 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
151 void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{}
152 ClassDef(AliHBTWeightQOutQLongFctn,3)
155 /*************************************************************************************/
157 class AliHBTWeightQSideQLongFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction
160 // friend class AliHBTOnePairFctn1D;
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(){};
166 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
167 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
170 void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{}
171 ClassDef(AliHBTWeightQSideQLongFctn,3)
174 /*************************************************************************************/
176 class AliHBTWeightQOutSQideQLongFctn: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction
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(){}
186 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
187 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
190 void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/,
191 Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const{ }
193 ClassDef(AliHBTWeightQOutSQideQLongFctn,1)