1 #ifndef ALIHBTQOUTVSQINVRESOLFCTN_H
2 #define ALIHBTQOUTVSQINVRESOLFCTN_H
5 //Center of Mass System Longitudially Co-moving
8 //this class creates resolution function of Qout
9 //(difference of simulated pair Qout and recontructed pair)
11 //it inherits from AliHBTFourPartFctn2D
12 // it needs two pairs to compare
13 // and is two dimentional: numerator and denominator are TH2D
15 class AliHBTQOutResolVSQInvFctn; //QOutCMSLC Res VS QInvCMSLC
16 class AliHBTQSideResolVSQInvFctn; //QSideCMSLC Res VS QInvCMSLC
17 class AliHBTQLongResolVSQInvFctn; //QLongCMSLC Res VS QInvCMSLC
19 class AliHBTQInvResolVSKtFctn; //QInvCMSLC Res VS Kt
20 class AliHBTQOutResolVSKtFctn; //QOutCMSLC Res VS Kt
21 class AliHBTQSideResolVSKtFctn; //QSideCMSLC Res VS Kt
22 class AliHBTQLongResolVSKtFctn; //QLongCMSLC Res VS Kt
24 class AliHBTQOutResolVSQOutFctn; //QOutCMSLC Res VS QOut
25 class AliHBTQSideResolVSQSideFctn;//QSideCMSLC Res VS QSide
26 class AliHBTQLongResolVSQLongFctn;//QLongCMSLC Res VS QLong
29 #include "AliHBTFunction.h"
30 /***********************************************************************/
31 /***********************************************************************/
32 class AliHBTQOutResolVSQInvFctn: public AliHBTFourPartFctn2D
35 AliHBTQOutResolVSQInvFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
36 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
38 virtual ~AliHBTQOutResolVSQInvFctn(){}
40 TH1* GetResult(){return fNumerator;}
41 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
43 x = partpair->GetQOutCMSLC() - trackpair->GetQOutCMSLC();
44 y = partpair->GetQInv();
49 ClassDef(AliHBTQOutResolVSQInvFctn,1)
52 /***********************************************************************/
53 /***********************************************************************/
54 class AliHBTQSideResolVSQInvFctn: public AliHBTFourPartFctn2D
57 AliHBTQSideResolVSQInvFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
58 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
59 virtual ~AliHBTQSideResolVSQInvFctn(){}
61 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
63 x = partpair->GetQSideCMSLC() - trackpair->GetQSideCMSLC();
64 y = partpair->GetQInv();
66 TH1* GetResult(){return fNumerator;}
70 ClassDef(AliHBTQSideResolVSQInvFctn,1)
73 /***********************************************************************/
74 /***********************************************************************/
75 class AliHBTQLongResolVSQInvFctn: public AliHBTFourPartFctn2D
78 AliHBTQLongResolVSQInvFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
79 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
80 virtual ~AliHBTQLongResolVSQInvFctn(){}
82 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
84 x = partpair->GetQLongCMSLC() - trackpair->GetQLongCMSLC();
85 y = partpair->GetQInv();
87 TH1* GetResult(){return fNumerator;}
91 ClassDef(AliHBTQLongResolVSQInvFctn,1)
94 /***********************************************************************/
95 /***********************************************************************/
96 class AliHBTQInvResolVSKtFctn: public AliHBTFourPartFctn2D
99 AliHBTQInvResolVSKtFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
100 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
101 virtual ~AliHBTQInvResolVSKtFctn(){};
103 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
105 x = partpair->GetQInv() - trackpair->GetQInv();
106 y = partpair->GetKt();
108 TH1* GetResult(){return fNumerator;}
112 ClassDef(AliHBTQInvResolVSKtFctn,1)
114 /***********************************************************************/
115 /***********************************************************************/
116 class AliHBTQOutResolVSKtFctn: public AliHBTFourPartFctn2D
119 AliHBTQOutResolVSKtFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
120 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
121 virtual ~AliHBTQOutResolVSKtFctn(){}
122 TH1* GetResult(){return GetNumerator();}
123 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
125 x = partpair->GetQOutCMSLC() - trackpair->GetQOutCMSLC();
126 y = partpair->GetKt();
131 ClassDef(AliHBTQOutResolVSKtFctn,1)
133 /***********************************************************************/
134 /***********************************************************************/
135 class AliHBTQSideResolVSKtFctn: public AliHBTFourPartFctn2D
138 AliHBTQSideResolVSKtFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
139 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
140 virtual ~AliHBTQSideResolVSKtFctn(){}
141 TH1* GetResult(){return GetNumerator();}
142 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
144 x = partpair->GetQSideCMSLC() - trackpair->GetQSideCMSLC();
145 y = partpair->GetKt();
150 ClassDef(AliHBTQSideResolVSKtFctn,1)
152 /***********************************************************************/
153 /***********************************************************************/
154 class AliHBTQLongResolVSKtFctn: public AliHBTFourPartFctn2D
157 AliHBTQLongResolVSKtFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
158 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
159 virtual ~AliHBTQLongResolVSKtFctn(){}
161 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
163 x = partpair->GetQLongCMSLC() - trackpair->GetQLongCMSLC();
164 y = partpair->GetKt();
166 TH1* GetResult(){return fNumerator;}
170 ClassDef(AliHBTQLongResolVSKtFctn,1)
172 /***********************************************************************/
173 /***********************************************************************/
174 class AliHBTQOutResolVSQOutFctn: public AliHBTFourPartFctn2D
177 AliHBTQOutResolVSQOutFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
178 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
179 virtual ~AliHBTQOutResolVSQOutFctn(){}
181 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
183 y = partpair->GetQOutCMSLC();
184 x = y - trackpair->GetQOutCMSLC();
186 TH1* GetResult(){return fNumerator;}
190 ClassDef(AliHBTQOutResolVSQOutFctn,1)
193 /***********************************************************************/
194 /***********************************************************************/
196 class AliHBTQSideResolVSQSideFctn: public AliHBTFourPartFctn2D
199 AliHBTQSideResolVSQSideFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
200 Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15);
201 virtual ~AliHBTQSideResolVSQSideFctn(){}
203 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
205 y = partpair->GetQSideCMSLC();
206 x = y - trackpair->GetQSideCMSLC();
208 TH1* GetResult(){return fNumerator;}
212 ClassDef(AliHBTQSideResolVSQSideFctn,1)
216 /***********************************************************************/
217 /***********************************************************************/
219 class AliHBTQLongResolVSQLongFctn: public AliHBTFourPartFctn2D
222 AliHBTQLongResolVSQLongFctn(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0,
223 Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05);
224 virtual ~AliHBTQLongResolVSQLongFctn(){}
226 void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y)
228 y = partpair->GetQLongCMSLC();
229 x = y - trackpair->GetQLongCMSLC();
231 TH1* GetResult(){return fNumerator;}
235 ClassDef(AliHBTQLongResolVSQLongFctn,1)