]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - HBTAN/AliHBTWeightFctn.h
Implementation of TIterator for DigitStoreV1 (Laurent)
[u/mrichter/AliRoot.git] / HBTAN / AliHBTWeightFctn.h
... / ...
CommitLineData
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
26class AliHBTWeights;
27
28class 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
45class 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
64class 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
83class 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
101class 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
119class 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
138class 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
157class 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
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*/,
191 Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const{ }
192
193 ClassDef(AliHBTWeightQOutSQideQLongFctn,1)
194};
195
196
197#endif