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
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)
40 { return trackpair->GetQInv()-partpair->GetQInv();} //isn't use
41 ClassDef(AliHBTWeightQInvFctn,1)
43 /*************************************************************************************/
45 class AliHBTWeightQOutFctn: public AliHBTTwoPairFctn1D
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)
58 { return trackpair->GetQOutCMSLC()-partpair->GetQOutCMSLC();} //isn't use
59 ClassDef(AliHBTWeightQOutFctn,1)
62 /*************************************************************************************/
64 class AliHBTWeightQLongFctn: public AliHBTTwoPairFctn1D
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)
76 { return trackpair->GetQLongCMSLC()-partpair->GetQLongCMSLC();} //isn't used
78 ClassDef(AliHBTWeightQLongFctn,1)
81 /*************************************************************************************/
83 class AliHBTWeightQSideFctn: public AliHBTTwoPairFctn1D
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)
95 { return trackpair->GetQLongCMSLC()-partpair->GetQLongCMSLC();} //isn't used
97 ClassDef(AliHBTWeightQSideFctn,1)
99 /*************************************************************************************/
101 class AliHBTWeightTwoKStarFctn: public AliHBTTwoPairFctn1D
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)
113 { return trackpair->GetKStar()-partpair->GetKStar();} //isn't used
114 ClassDef(AliHBTWeightTwoKStarFctn,1)
117 /*************************************************************************************/
119 class AliHBTWeightQOutQSideFctn: public AliHBTTwoPairFctn2D
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*/){}
133 ClassDef(AliHBTWeightQOutQSideFctn,1)
136 /*************************************************************************************/
138 class AliHBTWeightQOutQLongFctn: public AliHBTTwoPairFctn2D
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*/){}
152 ClassDef(AliHBTWeightQOutQLongFctn,1)
156 /*************************************************************************************/
158 class AliHBTWeightQSideQLongFctn: public AliHBTTwoPairFctn2D
161 // friend class AliHBTOnePairFctn1D;
163 AliHBTWeightQSideQLongFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
164 Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0);
165 virtual ~AliHBTWeightQSideQLongFctn(){};
167 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
168 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
171 void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/){}
172 ClassDef(AliHBTWeightQSideQLongFctn,1)