Incrementing class versions
[u/mrichter/AliRoot.git] / HBTAN / AliHBTWeightFctn.h
CommitLineData
dd82cadc 1#ifndef ALIHBTWeightQINVFCTN_H
2#define ALIHBTWeightQINVFCTN_H
4fdf4eb3 3
4/* $Id$ */
1ceee0b9 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////////////////////////////////////////////////////////////////////////////////
6e8d850a 22
7f92929e 23#include "AliHBTFunction.h"
24
25
dd82cadc 26class AliHBTWeights;
1ceee0b9 27
fc13079c 28class AliHBTWeightQInvFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
7f92929e 29{
4fdf4eb3 30 public:
dd82cadc 31 AliHBTWeightQInvFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
32 virtual ~AliHBTWeightQInvFctn(){};
4fdf4eb3 33 TH1* GetResult();
34
35 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
36 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
12ba5510 37
38 protected:
a22a56ec 39 Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
4fdf4eb3 40 { return trackpair->GetQInv()-partpair->GetQInv();} //isn't use
53c30a2e 41 ClassDef(AliHBTWeightQInvFctn,3)
7f92929e 42};
b3fb9814 43/*************************************************************************************/
b3fb9814 44
fc13079c 45class AliHBTWeightQOutFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
b3fb9814 46{
47
4fdf4eb3 48 // friend class AliHBTOnePairFctn1D;
b3fb9814 49 public:
dd82cadc 50 AliHBTWeightQOutFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
51 virtual ~AliHBTWeightQOutFctn(){};
4fdf4eb3 52 TH1* GetResult();
4fdf4eb3 53 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
54 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
b3fb9814 55
12ba5510 56 protected:
a22a56ec 57 Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
78d7c6d3 58 { return trackpair->GetQOutLCMS()-partpair->GetQOutLCMS();} //isn't use
53c30a2e 59 ClassDef(AliHBTWeightQOutFctn,3)
b3fb9814 60
61};
62/*************************************************************************************/
9714a029 63
fc13079c 64class AliHBTWeightQLongFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
b3fb9814 65{
4fdf4eb3 66 // friend class AliHBTOnePairFctn1D;
b3fb9814 67 public:
dd82cadc 68 AliHBTWeightQLongFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
69 virtual ~AliHBTWeightQLongFctn(){};
4fdf4eb3 70 TH1* GetResult();
4fdf4eb3 71 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
72 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
12ba5510 73
74 protected:
a22a56ec 75 Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
78d7c6d3 76 { return trackpair->GetQLongLCMS()-partpair->GetQLongLCMS();} //isn't used
4fdf4eb3 77
53c30a2e 78 ClassDef(AliHBTWeightQLongFctn,3)
b3fb9814 79
80};
81/*************************************************************************************/
9714a029 82
fc13079c 83class AliHBTWeightQSideFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
b3fb9814 84{
4fdf4eb3 85 // friend class AliHBTOnePairFctn1D;
b3fb9814 86 public:
dd82cadc 87 AliHBTWeightQSideFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
88 virtual ~AliHBTWeightQSideFctn(){};
4fdf4eb3 89 TH1* GetResult();
4fdf4eb3 90 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
91 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
b3fb9814 92
12ba5510 93 protected:
a22a56ec 94 Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
78d7c6d3 95 { return trackpair->GetQLongLCMS()-partpair->GetQLongLCMS();} //isn't used
4fdf4eb3 96
53c30a2e 97 ClassDef(AliHBTWeightQSideFctn,3)
b3fb9814 98};
99/*************************************************************************************/
9714a029 100
fc13079c 101class AliHBTWeightTwoKStarFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
b3fb9814 102{
4fdf4eb3 103 // friend class AliHBTOnePairFctn1D;
b3fb9814 104 public:
dd82cadc 105 AliHBTWeightTwoKStarFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
106 virtual ~AliHBTWeightTwoKStarFctn(){};
4fdf4eb3 107 TH1* GetResult();
4fdf4eb3 108 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
109 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
b3fb9814 110
12ba5510 111 protected:
a22a56ec 112 Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
4fdf4eb3 113 { return trackpair->GetKStar()-partpair->GetKStar();} //isn't used
53c30a2e 114 ClassDef(AliHBTWeightTwoKStarFctn,3)
b3fb9814 115
4fdf4eb3 116};
9714a029 117/*************************************************************************************/
118
fc13079c 119class AliHBTWeightQOutQSideFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction
9714a029 120{
121
122 // friend class AliHBTOnePairFctn1D;
123 public:
dd82cadc 124 AliHBTWeightQOutQSideFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
9714a029 125 Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0);
dd82cadc 126 virtual ~AliHBTWeightQOutQSideFctn(){};
9714a029 127 TH1* GetResult();
9714a029 128 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
129 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
130
12ba5510 131 protected:
a22a56ec 132 void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{}
53c30a2e 133 ClassDef(AliHBTWeightQOutQSideFctn,3)
9714a029 134
135};
136/*************************************************************************************/
137
fc13079c 138class AliHBTWeightQOutQLongFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction
9714a029 139{
140
141 // friend class AliHBTOnePairFctn1D;
142 public:
dd82cadc 143 AliHBTWeightQOutQLongFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
9714a029 144 Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0);
dd82cadc 145 virtual ~AliHBTWeightQOutQLongFctn(){};
9714a029 146 TH1* GetResult();
9714a029 147 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
148 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
149
12ba5510 150 protected:
a22a56ec 151 void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{}
53c30a2e 152 ClassDef(AliHBTWeightQOutQLongFctn,3)
9714a029 153
154};
9714a029 155/*************************************************************************************/
156
fc13079c 157class AliHBTWeightQSideQLongFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction
9714a029 158{
159
160 // friend class AliHBTOnePairFctn1D;
161 public:
dd82cadc 162 AliHBTWeightQSideQLongFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
01118cee 163 Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0);
dd82cadc 164 virtual ~AliHBTWeightQSideQLongFctn(){};
9714a029 165 TH1* GetResult();
9714a029 166 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
167 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
168
12ba5510 169 protected:
a22a56ec 170 void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{}
53c30a2e 171 ClassDef(AliHBTWeightQSideQLongFctn,3)
9714a029 172
173};
01118cee 174/*************************************************************************************/
175
176class 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*/,
a22a56ec 191 Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const{ }
01118cee 192
193 ClassDef(AliHBTWeightQOutSQideQLongFctn,1)
194};
195
9714a029 196
7f92929e 197#endif