- Rebbined ratios in the TOF range
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / Fit / StarPPSpectra.C
CommitLineData
4c0d7bc7 1TGraphErrors ** StarPPSpectra() {
2
4d4a268c 3 TGraphErrors ** gStar = new TGraphErrors*[7];
4c0d7bc7 4 const Int_t kNMaxPoints = 19;
5 Double_t pt[kNMaxPoints];
6 Double_t errpt[kNMaxPoints] = {0};
7 Double_t pim [kNMaxPoints];
8 Double_t pime[kNMaxPoints];
9 Double_t pip [kNMaxPoints];
10 Double_t pipe[kNMaxPoints];
11 Double_t km [kNMaxPoints];
12 Double_t kme[kNMaxPoints];
13 Double_t kp [kNMaxPoints];
14 Double_t kpe[kNMaxPoints];
15 Double_t pm [kNMaxPoints];
16 Double_t pme[kNMaxPoints];
17 Double_t pp [kNMaxPoints];
18 Double_t ppe[kNMaxPoints];
19
20 Int_t ipoint = 0;
21 pt[ipoint++] = 0.225;
22 pt[ipoint++] = 0.275;
23 pt[ipoint++] = 0.325;
24 pt[ipoint++] = 0.375;
25 pt[ipoint++] = 0.425;
26 pt[ipoint++] = 0.475;
27 pt[ipoint++] = 0.525;
28 pt[ipoint++] = 0.575;
29 pt[ipoint++] = 0.625;
30 pt[ipoint++] = 0.675;
31 pt[ipoint++] = 0.725;
32 pt[ipoint++] = 0.775;
33 pt[ipoint++] = 0.825;
34 pt[ipoint++] = 0.875;
35 pt[ipoint++] = 0.925;
36 pt[ipoint++] = 0.975;
37 pt[ipoint++] = 1.025;
38 pt[ipoint++] = 1.075;
39 pt[ipoint++] = 1.125;
40
41
42 // pi-
43 ipoint = 0;
44 pim[ipoint++] = 2.02;
45 pim[ipoint++] = 1.52;
46 pim[ipoint++] = 1.13;
47 pim[ipoint++] = 8.44*1e-1;
48 pim[ipoint++] = 6.35*1e-1;
49 pim[ipoint++] = 4.69*1e-1;
50 pim[ipoint++] = 3.54*1e-1;
51 pim[ipoint++] = 2.67*1e-1;
52 pim[ipoint++] = 2.02*1e-1;
53 pim[ipoint++] = 1.53*1e-1;
54 pim[ipoint++] = 1.16*1e-1;
55 pim[ipoint++] = 8.65*1e-2;
56
57 ipoint = 0;
58 pime[ipoint++] = 0.06;
59 pime[ipoint++] = 0.03;
60 pime[ipoint++] = 0.02;
61 pime[ipoint++] = 0.09*1e-1;
62 pime[ipoint++] = 0.07*1e-1;
63 pime[ipoint++] = 0.05*1e-1;
64 pime[ipoint++] = 0.04*1e-1;
65 pime[ipoint++] = 0.03*1e-1;
66 pime[ipoint++] = 0.04*1e-1;
67 pime[ipoint++] = 0.03*1e-1;
68 pime[ipoint++] = 0.03*1e-1;
69 pime[ipoint++] = 0.30*1e-2;
70
71 gStar[0] = new TGraphErrors(ipoint,pt,pim,errpt,pime);
72
73 // pi+
74 ipoint = 0;
75 pip[ipoint++] = 2.07;
76 pip[ipoint++] = 1.54;
77 pip[ipoint++] = 1.14;
78 pip[ipoint++] = 8.57*1e-1;
79 pip[ipoint++] = 6.38*1e-1;
80 pip[ipoint++] = 4.76*1e-1;
81 pip[ipoint++] = 3.59*1e-1;
82 pip[ipoint++] = 2.73*1e-1;
83 pip[ipoint++] = 2.07*1e-1;
84 pip[ipoint++] = 1.55*1e-1;
85 pip[ipoint++] = 1.16*1e-1;
86 pip[ipoint++] = 8.95*1e-2;
87
88 ipoint = 0;
89 pipe[ipoint++] = 0.06;
90 pipe[ipoint++] = 0.03;
91 pipe[ipoint++] = 0.02;
92 pipe[ipoint++] = 0.09*1e-1;
93 pipe[ipoint++] = 0.07*1e-1;
94 pipe[ipoint++] = 0.05*1e-1;
95 pipe[ipoint++] = 0.04*1e-1;
96 pipe[ipoint++] = 0.03*1e-1;
97 pipe[ipoint++] = 0.04*1e-1;
98 pipe[ipoint++] = 0.03*1e-1;
99 pipe[ipoint++] = 0.03*1e-1;
100 pipe[ipoint++] = 0.31*1e-2;
101
102 gStar[1] = new TGraphErrors(ipoint,pt,pip,errpt,pipe);
103
104 // k-
105 ipoint = 0;
106 km[ipoint++] = 1.43*1e-1;
107 km[ipoint++] = 1.26*1e-1;
108 km[ipoint++] = 1.08*1e-1;
109 km[ipoint++] = 8.77*1e-2;
110 km[ipoint++] = 7.34*1e-2;
111 km[ipoint++] = 6.17*1e-2;
112 km[ipoint++] = 4.87*1e-2;
113 km[ipoint++] = 4.11*1e-2;
114 km[ipoint++] = 3.70*1e-2;
115 km[ipoint++] = 2.86*1e-2;
116 km[ipoint++] = 2.42*1e-2;
117
118 ipoint = 0;
119 kme[ipoint++] = 0.11*1e-1;
120 kme[ipoint++] = 0.05*1e-1;
121 kme[ipoint++] = 0.02*1e-1;
122 kme[ipoint++] = 0.24*1e-2;
123 kme[ipoint++] = 0.26*1e-2;
124 kme[ipoint++] = 0.63*1e-2;
125 kme[ipoint++] = 0.50*1e-2;
126 kme[ipoint++] = 0.42*1e-2;
127 kme[ipoint++] = 0.28*1e-2;
128 kme[ipoint++] = 0.22*1e-2;
129 kme[ipoint++] = 0.27*1e-2;
130
131 gStar[2] = new TGraphErrors(ipoint,pt,km,errpt,kme);
132
133
134 // k+
135 ipoint = 0;
136 kp[ipoint++] = 1.52*1e-1;
137 kp[ipoint++] = 1.30*1e-1;
138 kp[ipoint++] = 1.08*1e-1;
139 kp[ipoint++] = 9.16*1e-2;
140 kp[ipoint++] = 7.47*1e-2;
141 kp[ipoint++] = 6.26*1e-2;
142 kp[ipoint++] = 5.26*1e-2;
143 kp[ipoint++] = 4.41*1e-2;
144 kp[ipoint++] = 3.81*1e-2;
145 kp[ipoint++] = 3.06*1e-2;
146 kp[ipoint++] = 2.49*1e-2;
147
148 ipoint = 0;
149 kpe[ipoint++] = 0.11*1e-1;
150 kpe[ipoint++] = 0.05*1e-1;
151 kpe[ipoint++] = 0.02*1e-1;
152 kpe[ipoint++] = 0.25*1e-2;
153 kpe[ipoint++] = 0.27*1e-2;
154 kpe[ipoint++] = 0.64*1e-2;
155 kpe[ipoint++] = 0.54*1e-2;
156 kpe[ipoint++] = 0.45*1e-2;
157 kpe[ipoint++] = 0.28*1e-2;
158 kpe[ipoint++] = 0.24*1e-2;
159 kpe[ipoint++] = 0.28*1e-2;
160
161 gStar[3] = new TGraphErrors(ipoint,pt,kp,errpt,kpe);
162
163
164 // pbar
165 ipoint = 0;
166 pm[ipoint++] = 0;
167 pm[ipoint++] = 0;
168 pm[ipoint++] = 0;
169 pm[ipoint++] = 5.54*1e-2;
170 pm[ipoint++] = 4.81*1e-2;
171 pm[ipoint++] = 4.25*1e-2;
172 pm[ipoint++] = 3.77*1e-2;
173 pm[ipoint++] = 3.38*1e-2;
174 pm[ipoint++] = 2.78*1e-2;
175 pm[ipoint++] = 2.49*1e-2;
176 pm[ipoint++] = 2.03*1e-2;
177 pm[ipoint++] = 1.75*1e-2;
178 pm[ipoint++] = 1.52*1e-2;
179 pm[ipoint++] = 1.27*1e-2;
180 pm[ipoint++] = 1.05*1e-2;
181 pm[ipoint++] = 8.95*1e-3;
182 pm[ipoint++] = 7.36*1e-3;
183 pm[ipoint++] = 6.59*1e-3;
184 pm[ipoint++] = 5.21*1e-3;
185
186 ipoint = 0;
187 pme[ipoint++] = 0;
188 pme[ipoint++] = 0;
189 pme[ipoint++] = 0;
190 pme[ipoint++] = 0.13*1e-2;
191 pme[ipoint++] = 0.11*1e-2;
192 pme[ipoint++] = 0.10*1e-2;
193 pme[ipoint++] = 0.09*1e-2;
194 pme[ipoint++] = 0.08*1e-2;
195 pme[ipoint++] = 0.07*1e-2;
196 pme[ipoint++] = 0.06*1e-2;
197 pme[ipoint++] = 0.06*1e-2;
198 pme[ipoint++] = 0.06*1e-2;
199 pme[ipoint++] = 0.05*1e-2;
200 pme[ipoint++] = 0.04*1e-2;
201 pme[ipoint++] = 0.04*1e-2;
202 pme[ipoint++] = 0.34*1e-3;
203 pme[ipoint++] = 0.34*1e-3;
204 pme[ipoint++] = 0.32*1e-3;
205 pme[ipoint++] = 0.29*1e-3;
206
207 gStar[4] = new TGraphErrors(ipoint,pt,pm,errpt,pme);
208
209
210 // p
211 ipoint = 0;
212 pp[ipoint++] = 0;
213 pp[ipoint++] = 0;
214 pp[ipoint++] = 0;
215 pp[ipoint++] = 0;
216 pp[ipoint++] = 0;
217 pp[ipoint++] = 5.07*1e-2;
218 pp[ipoint++] = 4.69*1e-2;
219 pp[ipoint++] = 4.08*1e-2;
220 pp[ipoint++] = 3.42*1e-2;
221 pp[ipoint++] = 2.87*1e-2;
222 pp[ipoint++] = 2.41*1e-2;
223 pp[ipoint++] = 2.13*1e-2;
224 pp[ipoint++] = 1.82*1e-2;
225 pp[ipoint++] = 1.54*1e-2;
226 pp[ipoint++] = 1.31*1e-2;
227 pp[ipoint++] = 1.11*1e-2;
228 pp[ipoint++] = 9.78*1e-3;
229 pp[ipoint++] = 8.56*1e-3;
230 pp[ipoint++] = 7.38*1e-3;
231
232 ipoint = 0;
233 ppe[ipoint++] = 0;
234 ppe[ipoint++] = 0;
235 ppe[ipoint++] = 0;
236 ppe[ipoint++] = 0;
237 ppe[ipoint++] = 0;
238 ppe[ipoint++] = 0.25*1e-2;
239 ppe[ipoint++] = 0.19*1e-2;
240 ppe[ipoint++] = 0.14*1e-2;
241 ppe[ipoint++] = 0.10*1e-2;
242 ppe[ipoint++] = 0.07*1e-2;
243 ppe[ipoint++] = 0.07*1e-2;
244 ppe[ipoint++] = 0.06*1e-2;
245 ppe[ipoint++] = 0.05*1e-2;
246 ppe[ipoint++] = 0.05*1e-2;
247 ppe[ipoint++] = 0.04*1e-2;
248 ppe[ipoint++] = 0.04*1e-2;
249 ppe[ipoint++] = 0.40*1e-3;
250 ppe[ipoint++] = 0.37*1e-3;
251 ppe[ipoint++] = 0.38*1e-3;
252
253
254
255 gStar[5] = new TGraphErrors(ipoint,pt,pp,errpt,ppe);
256
c4fe358b 257// gStar[0]->SetMarkerStyle(kOpenTriangleUp);
258// gStar[1]->SetMarkerStyle(kFullTriangleUp);
259// gStar[2]->SetMarkerStyle(kOpenCircle);
260// gStar[3]->SetMarkerStyle(kFullCircle);
261// gStar[4]->SetMarkerStyle(kOpenSquare);
262// gStar[5]->SetMarkerStyle(kFullSquare);
263 gStar[0]->SetMarkerStyle(kOpenStar);
264 gStar[1]->SetMarkerStyle(kFullStar);
265 gStar[2]->SetMarkerStyle(kOpenStar);
266 gStar[3]->SetMarkerStyle(kFullStar);
267 gStar[4]->SetMarkerStyle(kOpenStar);
268 gStar[5]->SetMarkerStyle(kFullStar);
4c0d7bc7 269
270 gStar[0]->SetMarkerColor(kBlack);
271 gStar[1]->SetMarkerColor(kBlack);
272 gStar[2]->SetMarkerColor(kRed);
273 gStar[3]->SetMarkerColor(kRed);
274 gStar[4]->SetMarkerColor(kBlue);
275 gStar[5]->SetMarkerColor(kBlue);
276
277 gStar[0]->SetLineColor (kBlack);
278 gStar[1]->SetLineColor (kBlack);
279 gStar[2]->SetLineColor (kRed);
280 gStar[3]->SetLineColor (kRed);
281 gStar[4]->SetLineColor (kBlue);
282 gStar[5]->SetLineColor (kBlue);
283
284 // Scale all for 2*pi and pt in order to go to dNdpt
285 for(Int_t istar = 0; istar < 6; istar++){
286 Int_t npoint = gStar[istar]->GetN();
287 for(Int_t ipoint = 0; ipoint < npoint; ipoint++){
288 Double_t ptbin = gStar[istar]->GetX()[ipoint];
289 gStar[istar]->SetPoint(ipoint,
290 gStar[istar]->GetX()[ipoint],
291 gStar[istar]->GetY()[ipoint]*2*TMath::Pi()*ptbin);
292 gStar[istar]->SetPointError(ipoint,
293 gStar[istar]->GetEX()[ipoint],
294 gStar[istar]->GetEY()[ipoint]*2*TMath::Pi()*ptbin);
295 }
296
297 }
298
299
4d4a268c 300 // Compute K/pi
301 Int_t npoint = gStar[2]->GetN(); // Kaons have less points than pions
302 gStar[6] = new TGraphErrors();
303 for(Int_t ipoint = 0; ipoint < npoint; ipoint++){
304 Float_t pn = gStar[0]->GetY()[ipoint];
305 Float_t pne = gStar[0]->GetEY()[ipoint];
306 Float_t pp = gStar[1]->GetY()[ipoint];
307 Float_t ppe = gStar[1]->GetEY()[ipoint];
308 Float_t kn = gStar[2]->GetY()[ipoint];
309 Float_t kne = gStar[2]->GetEY()[ipoint];
310 Float_t kp = gStar[3]->GetY()[ipoint];
311 Float_t kpe = gStar[3]->GetEY()[ipoint];
312
313 if (TMath::Abs(
314 gStar[0]->GetX()[ipoint]-
315 gStar[2]->GetX()[ipoint]
316 )
317 ) {
318 cout << "Wrong STAR pt!!!" << endl;
319 exit(1);
320 }
321 Double_t kpiRatio = (kp+kn)/(pp+pn);
322 Double_t error2K = (kne*kne+kpe*kpe)/(kp+kn)/(kp+kn);
323 Double_t error2pi = (pne*pne+ppe*ppe)/(pp+pn)/(pp+pn);
324 Double_t error = TMath::Sqrt(error2pi+error2K)*kpiRatio;
325 gStar[6]->SetPoint (ipoint, gStar[0]->GetX()[ipoint],kpiRatio);
326 gStar[6]->SetPointError (ipoint, 0, error);
327 }
328
329
330
4c0d7bc7 331
332// gStar[0]->Draw("AP");
333// gStar[1]->Draw("P");
334// gStar[2]->Draw("P");
335// gStar[3]->Draw("P");
336// gStar[4]->Draw("P");
337// gStar[5]->Draw("P");
338
339
340 return gStar;
341
342
343
344 // table from PRC79 79 (2009) 34909
345// pi- pi+ k- K+ pbar p
346// 0.225 2.02+-0.06 2.07+-0.06 (1.43+-0.11)*10-1 (1.52+-0.11)*10-1
347// 0.275 1.52+-0.03 1.54+-0.03 (1.26+-0.05)*10-1 (1.30+-0.05)*10-1
348// 0.325 1.13+-0.02 1.14+-0.02 (1.08+-0.02)*10-1 (1.08+-0.02)*10-1
349// 0.375 (8.44+-0.09)*10-1 (8.57+-0.09)*10-1 (8.77+-0.24)*10-2 (9.16+-0.25)*10-2 (5.54+-0.13)*10-2
350// 0.425 (6.35+-0.07)*10-1 (6.38+-0.07)*10-1 (7.34+-0.26)*10-2 (7.47+-0.27)*10-2 (4.81+-0.11)*10-2
351// 0.475 (4.69+-0.05)*10-1 (4.76+-0.05)*10-1 (6.17+-0.63)*10-2 (6.26+-0.64)*10-2 (4.25+-0.10)*10-2 (5.07+-0.25)*10-2
352// 0.525 (3.54+-0.04)*10-1 (3.59+-0.04)*10-1 (4.87+-0.50)*10-2 (5.26+-0.54)*10-2 (3.77+-0.09)*10-2 (4.69+-0.19)*10-2
353// 0.575 (2.67+-0.03)*10-1 (2.73+-0.03)*10-1 (4.11+-0.42)*10-2 (4.41+-0.45)*10-2 (3.38+-0.08)*10-2 (4.08+-0.14)*10-2
354// 0.625 (2.02+-0.04)*10-1 (2.07+-0.04)*10-1 (3.70+-0.28)*10-2 (3.81+-0.28)*10-2 (2.78+-0.07)*10-2 (3.42+-0.10)*10-2
355// 0.675 (1.53+-0.03)*10-1 (1.55+-0.03)*10-1 (2.86+-0.22)*10-2 (3.06+-0.24)*10-2 (2.49+-0.06)*10-2 (2.87+-0.07)*10-2
356// 0.725 (1.16+-0.03)*10-1 (1.16+-0.03)*10-1 (2.42+-0.27)*10-2 (2.49+-0.28)*10-2 (2.03+-0.06)*10-2 (2.41+-0.07)*10-2
357// 0.775 (8.65+-0.30)*10-2 (8.95+-0.31)*10-2 (1.75+-0.06)*10-2 (2.13+-0.06)*10-2
358// 0.825 (1.52+-0.05)*10-2 (1.82+-0.05)*10-2
359// 0.875 (1.27+-0.04)*10-2 (1.54+-0.05)*10-2
360// 0.925 (1.05+-0.04)*10-2 (1.31+-0.04)*10-2
361// 0.975 (8.95+-0.34)*10-3 (1.11+-0.04)*10-2
362// 1.025 (7.36+-0.34)*10-3 (9.78+-0.40)*10-3
363// 1.075 (6.59+-0.32)*10-3 (8.56+-0.37)*10-3
364// 1.125 (5.21+-0.29)*10-3 (7.38+-0.38)*10-3
365
366
367 }