]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/FORWARD/analysis2/OtherData.C
xMerge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / OtherData.C
CommitLineData
ffca499d 1//____________________________________________________________________
2/**
bd6f5206 3 * @defgroup pwglf_forward_otherdata External data
ffca499d 4 *
290052e7 5 * Collection of external data points for comparisons and the like
6 *
bd6f5206 7 * @ingroup pwglf_forward_scripts
ffca499d 8 */
7c1a1f1d 9/**
10 * @file
11 *
bd6f5206 12 * @ingroup pwglf_forward_script_otherdata
7c1a1f1d 13 */
05cc5a69 14#ifndef __CINT__
15# include <TGraphAsymmErrors.h>
16# include <TMultiGraph.h>
17# include <TStyle.h>
18# include <TMath.h>
19# include <TCanvas.h>
20# include <TLegend.h>
21# include <TLegendEntry.h>
22# include <TList.h>
23# include <TAxis.h>
24# include <TH1F.h>
25#else
26class TGraphAsymmErrors;
27class TMultiGraph;
28class TStyle;
29class TCanvas;
30class TLegend;
31class TLegendEntry;
32class TList;
33class TAxis;
34class TH1F;
35class TGraph;
36#endif
7e4038b5 37
d43c6cd0 38struct RefData
7e4038b5 39{
d43c6cd0 40 //____________________________________________________________________
41 /**
42 * Values used
43 *
44 * @ingroup pwglf_forward_otherdata
45 */
46 enum {
47 UA5,
48 CMS,
49 ALICE,
50 WIP,
51 PYTHIA,
52 INEL,
53 INELGt0,
54 NSD
55 };
56 enum {
57 /** Style used for UA5 data */
58 UA5Style = 21,
59 /** Style used for CMS data */
60 CMSStyle = 29,
61 /** Style used for ALICE published data */
62 ALICEStyle = 27,
63 /** Color used for ALICE work-in-progress data */
64 WIPStyle = 33,
65 /** Style used for Pythia data */
66 PYTHIAStyle = 28,
67 /** Color used for UA5 data */
68 UA5Color = kBlue+1,
69 /** Color used for Pytia data */
70 PYTHIAColor = kGray+2,
71 /** Color used for CMS data */
72 CMSColor = kGreen+1,
73 /** Color used for ALICE data */
74 ALICEColor = kMagenta+1,
75 /** Color used for ALICE work-in-progress data */
76 WIPColor = kMagenta+3
77 };
78 enum {
79 /** Marker style INEL data */
80 INELStyle = 22,
81 /** Marker style INEL>0 data */
82 INELGt0Style= 29,
83 /** Marker style NSD data */
84 NSDStyle = 23,
85 /** Color used for UA5 data */
86 INELColor = kBlue+1,
87 /** Color used for CMS data */
88 INELGt0Color = kGreen+1,
89 /** Color used for ALICE data */
90 NSDColor = kMagenta+1
91 };
92 enum {
93 /** Style offset for mirror data */
94 MirrorOff = 4
95 };
96
97 //____________________________________________________________________
98 /**
99 * Set graph attributes based on trigger type and experiment.
100 *
101 * @param g Graph
102 * @param exp Experiment
103 * @param mirror True if mirrored data
104 * @param name Name of graph
105 * @param title Title of graph
106 *
107 * @ingroup pwglf_forward_otherdata
108 */
109 static void SetGraphAttributes(TGraph* g,
110 Int_t /*trig*/,
111 Int_t exp,
112 bool mirror,
113 const Char_t* name,
114 const Char_t* title)
115 {
116 Int_t color = 0;
117 switch (exp) {
118 case UA5: color = UA5Color; break;
119 case CMS: color = CMSColor; break;
120 case ALICE: color = ALICEColor; break;
121 case WIP: color = WIPColor; break;
122 case PYTHIA: color = PYTHIAColor; break;
123 }
124 Int_t style = 0;
125 switch (exp) {
126 case UA5: style = UA5Style; break;
127 case CMS: style = CMSStyle; break;
128 case ALICE: style = ALICEStyle; break;
129 case WIP: style = WIPStyle; break;
130 case PYTHIA: style = PYTHIAStyle; break;
131 }
132 Float_t size = g->GetMarkerSize();
133 switch (style) {
134 case 21:
135 case 25: size *= 0.8; break;
136 case 27: size *= 1.4; break;
137 case 33: size *= 1.4; break;
138 }
ffca499d 139
d43c6cd0 140 if (mirror) style += MirrorOff;
ffca499d 141
d43c6cd0 142 g->SetName(name);
143 g->SetTitle(title);
144 g->SetMarkerStyle(style);
145 g->SetMarkerSize(size);
146 g->SetMarkerColor(color);
147 g->SetLineColor(color);
148 g->SetFillColor(0);
149 g->SetFillStyle(0);
150 g->GetHistogram()->SetStats(kFALSE);
151 g->GetHistogram()->SetXTitle("#eta");
152 g->GetHistogram()->SetYTitle("#frac{1}{N} #frac{dN_{ch}}{#eta}");
153 }
7e4038b5 154
d43c6cd0 155 //____________________________________________________________________
156 /**
157 * Get PYTHIA 900GeV INEL data
158 *
159 *
160 * @return Data graph
161 */
162 static TGraphAsymmErrors* Pythia900INEL()
163 {
b6b35c77 164
d43c6cd0 165 TGraphAsymmErrors *gre = new TGraphAsymmErrors(100);
166 SetGraphAttributes(gre, INEL, PYTHIA, false, "pythia900Inel",
167 "Pythia");
168 gre->SetPoint(0,-3.95,1.78199);
169 gre->SetPointError(0, 0, 0, 0.0145305, 0.0145305);
170 gre->SetPoint(1,-3.85,1.85486);
171 gre->SetPointError(1,0,0,0.0148246,0.0148246);
172 gre->SetPoint(2,-3.75,1.93886);
173 gre->SetPointError(2,0,0,0.0151566,0.0151566);
174 gre->SetPoint(3,-3.65,1.96055);
175 gre->SetPointError(3,0,0,0.0152411,0.0152411);
176 gre->SetPoint(4,-3.55,1.98756);
177 gre->SetPointError(4,0,0,0.0153458,0.0153458);
178 gre->SetPoint(5,-3.45,2.02844);
179 gre->SetPointError(5,0,0,0.0155028,0.0155028);
180 gre->SetPoint(6,-3.35,2.09585);
181 gre->SetPointError(6,0,0,0.0157583,0.0157583);
182 gre->SetPoint(7,-3.25,2.13732);
183 gre->SetPointError(7,0,0,0.0159134,0.0159134);
184 gre->SetPoint(8,-3.15,2.1686);
185 gre->SetPointError(8,0,0,0.0160295,0.0160295);
186 gre->SetPoint(9,-3.05,2.25296);
187 gre->SetPointError(9,0,0,0.0163383,0.0163383);
188 gre->SetPoint(10,-2.95,2.29265);
189 gre->SetPointError(10,0,0,0.0164815,0.0164815);
190 gre->SetPoint(11,-2.85,2.34799);
191 gre->SetPointError(11,0,0,0.0166792,0.0166792);
192 gre->SetPoint(12,-2.75,2.35652);
193 gre->SetPointError(12,0,0,0.0167095,0.0167095);
194 gre->SetPoint(13,-2.65,2.40545);
195 gre->SetPointError(13,0,0,0.0168821,0.0168821);
196 gre->SetPoint(14,-2.55,2.43934);
197 gre->SetPointError(14,0,0,0.0170006,0.0170006);
198 gre->SetPoint(15,-2.45,2.45735);
199 gre->SetPointError(15,0,0,0.0170633,0.0170633);
200 gre->SetPoint(16,-2.35,2.48945);
201 gre->SetPointError(16,0,0,0.0171744,0.0171744);
202 gre->SetPoint(17,-2.25,2.51635);
203 gre->SetPointError(17,0,0,0.0172669,0.0172669);
204 gre->SetPoint(18,-2.15,2.55047);
205 gre->SetPointError(18,0,0,0.0173836,0.0173836);
206 gre->SetPoint(19,-2.05,2.58021);
207 gre->SetPointError(19,0,0,0.0174846,0.0174846);
208 gre->SetPoint(20,-1.95,2.58732);
209 gre->SetPointError(20,0,0,0.0175087,0.0175087);
210 gre->SetPoint(21,-1.85,2.60095);
211 gre->SetPointError(21,0,0,0.0175547,0.0175547);
212 gre->SetPoint(22,-1.75,2.59941);
213 gre->SetPointError(22,0,0,0.0175495,0.0175495);
214 gre->SetPoint(23,-1.65,2.63021);
215 gre->SetPointError(23,0,0,0.0176532,0.0176532);
216 gre->SetPoint(24,-1.55,2.61043);
217 gre->SetPointError(24,0,0,0.0175867,0.0175867);
218 gre->SetPoint(25,-1.45,2.61363);
219 gre->SetPointError(25,0,0,0.0175975,0.0175975);
220 gre->SetPoint(26,-1.35,2.60829);
221 gre->SetPointError(26,0,0,0.0175795,0.0175795);
222 gre->SetPoint(27,-1.25,2.61434);
223 gre->SetPointError(27,0,0,0.0175999,0.0175999);
224 gre->SetPoint(28,-1.15,2.61327);
225 gre->SetPointError(28,0,0,0.0175963,0.0175963);
226 gre->SetPoint(29,-1.05,2.57145);
227 gre->SetPointError(29,0,0,0.0174549,0.0174549);
228 gre->SetPoint(30,-0.95,2.55723);
229 gre->SetPointError(30,0,0,0.0174066,0.0174066);
230 gre->SetPoint(31,-0.85,2.57879);
231 gre->SetPointError(31,0,0,0.0174798,0.0174798);
232 gre->SetPoint(32,-0.75,2.516);
233 gre->SetPointError(32,0,0,0.0172657,0.0172657);
234 gre->SetPoint(33,-0.65,2.53709);
235 gre->SetPointError(33,0,0,0.0173379,0.0173379);
236 gre->SetPoint(34,-0.55,2.51197);
237 gre->SetPointError(34,0,0,0.0172519,0.0172519);
238 gre->SetPoint(35,-0.45,2.44052);
239 gre->SetPointError(35,0,0,0.0170047,0.0170047);
240 gre->SetPoint(36,-0.35,2.44882);
241 gre->SetPointError(36,0,0,0.0170336,0.0170336);
242 gre->SetPoint(37,-0.25,2.45308);
243 gre->SetPointError(37,0,0,0.0170484,0.0170484);
244 gre->SetPoint(38,-0.15,2.4622);
245 gre->SetPointError(38,0,0,0.0170801,0.0170801);
246 gre->SetPoint(39,-0.05,2.45735);
247 gre->SetPointError(39,0,0,0.0170633,0.0170633);
248 gre->SetPoint(40,0.05,2.49254);
249 gre->SetPointError(40,0,0,0.017185,0.017185);
250 gre->SetPoint(41,0.15,2.49479);
251 gre->SetPointError(41,0,0,0.0171928,0.0171928);
252 gre->SetPoint(42,0.25,2.49289);
253 gre->SetPointError(42,0,0,0.0171862,0.0171862);
254 gre->SetPoint(43,0.35,2.4628);
255 gre->SetPointError(43,0,0,0.0170822,0.0170822);
256 gre->SetPoint(44,0.45,2.51422);
257 gre->SetPointError(44,0,0,0.0172596,0.0172596);
258 gre->SetPoint(45,0.55,2.51268);
259 gre->SetPointError(45,0,0,0.0172543,0.0172543);
260 gre->SetPoint(46,0.65,2.51066);
261 gre->SetPointError(46,0,0,0.0172474,0.0172474);
262 gre->SetPoint(47,0.75,2.53661);
263 gre->SetPointError(47,0,0,0.0173363,0.0173363);
264 gre->SetPoint(48,0.85,2.54479);
265 gre->SetPointError(48,0,0,0.0173642,0.0173642);
266 gre->SetPoint(49,0.95,2.55391);
267 gre->SetPointError(49,0,0,0.0173953,0.0173953);
268 gre->SetPoint(50,1.05,2.5872);
269 gre->SetPointError(50,0,0,0.0175083,0.0175083);
270 gre->SetPoint(51,1.15,2.60344);
271 gre->SetPointError(51,0,0,0.0175631,0.0175631);
272 gre->SetPoint(52,1.25,2.60616);
273 gre->SetPointError(52,0,0,0.0175723,0.0175723);
274 gre->SetPoint(53,1.35,2.62156);
275 gre->SetPointError(53,0,0,0.0176242,0.0176242);
276 gre->SetPoint(54,1.45,2.61173);
277 gre->SetPointError(54,0,0,0.0175911,0.0175911);
278 gre->SetPoint(55,1.55,2.60415);
279 gre->SetPointError(55,0,0,0.0175655,0.0175655);
280 gre->SetPoint(56,1.65,2.60723);
281 gre->SetPointError(56,0,0,0.0175759,0.0175759);
282 gre->SetPoint(57,1.75,2.60427);
283 gre->SetPointError(57,0,0,0.0175659,0.0175659);
284 gre->SetPoint(58,1.85,2.56765);
285 gre->SetPointError(58,0,0,0.017442,0.017442);
286 gre->SetPoint(59,1.95,2.58602);
287 gre->SetPointError(59,0,0,0.0175043,0.0175043);
288 gre->SetPoint(60,2.05,2.55936);
289 gre->SetPointError(60,0,0,0.0174138,0.0174138);
290 gre->SetPoint(61,2.15,2.54858);
291 gre->SetPointError(61,0,0,0.0173771,0.0173771);
292 gre->SetPoint(62,2.25,2.5205);
293 gre->SetPointError(62,0,0,0.0172811,0.0172811);
294 gre->SetPoint(63,2.35,2.49491);
295 gre->SetPointError(63,0,0,0.0171932,0.0171932);
296 gre->SetPoint(64,2.45,2.42773);
297 gre->SetPointError(64,0,0,0.0169601,0.0169601);
298 gre->SetPoint(65,2.55,2.42879);
299 gre->SetPointError(65,0,0,0.0169638,0.0169638);
300 gre->SetPoint(66,2.65,2.39372);
301 gre->SetPointError(66,0,0,0.0168409,0.0168409);
302 gre->SetPoint(67,2.75,2.38412);
303 gre->SetPointError(67,0,0,0.0168071,0.0168071);
304 gre->SetPoint(68,2.85,2.31896);
305 gre->SetPointError(68,0,0,0.0165758,0.0165758);
306 gre->SetPoint(69,2.95,2.26209);
307 gre->SetPointError(69,0,0,0.0163713,0.0163713);
308 gre->SetPoint(70,3.05,2.24313);
309 gre->SetPointError(70,0,0,0.0163026,0.0163026);
310 gre->SetPoint(71,3.15,2.20403);
311 gre->SetPointError(71,0,0,0.0161599,0.0161599);
312 gre->SetPoint(72,3.25,2.12855);
313 gre->SetPointError(72,0,0,0.0158808,0.0158808);
314 gre->SetPoint(73,3.35,2.13104);
315 gre->SetPointError(73,0,0,0.01589,0.01589);
316 gre->SetPoint(74,3.45,2.06339);
317 gre->SetPointError(74,0,0,0.0156358,0.0156358);
318 gre->SetPoint(75,3.55,1.9846);
319 gre->SetPointError(75,0,0,0.0153343,0.0153343);
320 gre->SetPoint(76,3.65,1.95391);
321 gre->SetPointError(76,0,0,0.0152153,0.0152153);
322 gre->SetPoint(77,3.75,1.87998);
323 gre->SetPointError(77,0,0,0.0149247,0.0149247);
324 gre->SetPoint(78,3.85,1.86256);
325 gre->SetPointError(78,0,0,0.0148554,0.0148554);
326 gre->SetPoint(79,3.95,1.77239);
327 gre->SetPointError(79,0,0,0.0144913,0.0144913);
328 gre->SetPoint(80,4.05,1.72855);
329 gre->SetPointError(80,0,0,0.014311,0.014311);
330 gre->SetPoint(81,4.15,1.69479);
331 gre->SetPointError(81,0,0,0.0141705,0.0141705);
332 gre->SetPoint(82,4.25,1.64147);
333 gre->SetPointError(82,0,0,0.0139459,0.0139459);
334 gre->SetPoint(83,4.35,1.58116);
335 gre->SetPointError(83,0,0,0.0136873,0.0136873);
336 gre->SetPoint(84,4.45,1.55735);
337 gre->SetPointError(84,0,0,0.0135838,0.0135838);
338 gre->SetPoint(85,4.55,1.48815);
339 gre->SetPointError(85,0,0,0.0132786,0.0132786);
340 gre->SetPoint(86,4.65,1.40853);
341 gre->SetPointError(86,0,0,0.0129185,0.0129185);
342 gre->SetPoint(87,4.75,1.36979);
343 gre->SetPointError(87,0,0,0.0127396,0.0127396);
344 gre->SetPoint(88,4.85,1.32666);
345 gre->SetPointError(88,0,0,0.0125374,0.0125374);
346 gre->SetPoint(89,4.95,1.29763);
347 gre->SetPointError(89,0,0,0.0123995,0.0123995);
348 gre->SetPoint(90,5.05,1.25533);
349 gre->SetPointError(90,0,0,0.0121957,0.0121957);
350 gre->SetPoint(91,5.15,1.20912);
351 gre->SetPointError(91,0,0,0.0119692,0.0119692);
352 gre->SetPoint(92,5.25,1.18839);
353 gre->SetPointError(92,0,0,0.0118661,0.0118661);
354 gre->SetPoint(93,5.35,1.15948);
355 gre->SetPointError(93,0,0,0.0117209,0.0117209);
356 gre->SetPoint(94,5.45,1.1141);
357 gre->SetPointError(94,0,0,0.0114892,0.0114892);
358 gre->SetPoint(95,5.55,1.06315);
359 gre->SetPointError(95,0,0,0.0112235,0.0112235);
360 gre->SetPoint(96,5.65,1.05213);
361 gre->SetPointError(96,0,0,0.0111651,0.0111651);
362 gre->SetPoint(97,5.75,1.02476);
363 gre->SetPointError(97,0,0,0.011019,0.011019);
364 gre->SetPoint(98,5.85,0.984834);
365 gre->SetPointError(98,0,0,0.0108022,0.0108022);
366 gre->SetPoint(99,5.95,0.952844);
367 gre->SetPointError(99,0,0,0.0106253,0.0106253);
b6b35c77 368
d43c6cd0 369 return gre;
370 }
b6b35c77 371
d43c6cd0 372 //____________________________________________________________________
373 /**
374 * Get PYTHIA 900GeV NSD data
375 *
376 *
377 * @return Data graph
378 */
379 static TGraphAsymmErrors* Pythia900NSD()
380 {
b6b35c77 381
d43c6cd0 382 TGraphAsymmErrors *gre = new TGraphAsymmErrors(100);
383 SetGraphAttributes(gre, NSD, PYTHIA, false, "pythia900NSD",
384 "Pythia");
b6b35c77 385
d43c6cd0 386 gre->SetPoint(0,-3.95,2.11766);
387 gre->SetPointError(0,0,0,0.0179417,0.0179417);
388 gre->SetPoint(1,-3.85,2.20415);
389 gre->SetPointError(1,0,0,0.0183045,0.0183045);
390 gre->SetPoint(2,-3.75,2.30949);
391 gre->SetPointError(2,0,0,0.0187368,0.0187368);
392 gre->SetPoint(3,-3.65,2.34582);
393 gre->SetPointError(3,0,0,0.0188836,0.0188836);
394 gre->SetPoint(4,-3.55,2.38322);
395 gre->SetPointError(4,0,0,0.0190335,0.0190335);
396 gre->SetPoint(5,-3.45,2.43353);
397 gre->SetPointError(5,0,0,0.0192334,0.0192334);
398 gre->SetPoint(6,-3.35,2.51106);
399 gre->SetPointError(6,0,0,0.0195373,0.0195373);
400 gre->SetPoint(7,-3.25,2.56578);
401 gre->SetPointError(7,0,0,0.0197491,0.0197491);
402 gre->SetPoint(8,-3.15,2.60515);
403 gre->SetPointError(8,0,0,0.0199,0.0199);
404 gre->SetPoint(9,-3.05,2.7105);
405 gre->SetPointError(9,0,0,0.0202984,0.0202984);
406 gre->SetPoint(10,-2.95,2.77008);
407 gre->SetPointError(10,0,0,0.0205203,0.0205203);
408 gre->SetPoint(11,-2.85,2.83332);
409 gre->SetPointError(11,0,0,0.0207532,0.0207532);
410 gre->SetPoint(12,-2.75,2.84715);
411 gre->SetPointError(12,0,0,0.0208038,0.0208038);
412 gre->SetPoint(13,-2.65,2.91693);
413 gre->SetPointError(13,0,0,0.0210571,0.0210571);
414 gre->SetPoint(14,-2.55,2.95797);
415 gre->SetPointError(14,0,0,0.0212048,0.0212048);
416 gre->SetPoint(15,-2.45,2.97499);
417 gre->SetPointError(15,0,0,0.0212657,0.0212657);
418 gre->SetPoint(16,-2.35,3.01345);
419 gre->SetPointError(16,0,0,0.0214027,0.0214027);
420 gre->SetPoint(17,-2.25,3.04659);
421 gre->SetPointError(17,0,0,0.0215201,0.0215201);
422 gre->SetPoint(18,-2.15,3.09341);
423 gre->SetPointError(18,0,0,0.0216848,0.0216848);
424 gre->SetPoint(19,-2.05,3.13187);
425 gre->SetPointError(19,0,0,0.0218192,0.0218192);
426 gre->SetPoint(20,-1.95,3.13917);
427 gre->SetPointError(20,0,0,0.0218446,0.0218446);
428 gre->SetPoint(21,-1.85,3.16911);
429 gre->SetPointError(21,0,0,0.0219485,0.0219485);
430 gre->SetPoint(22,-1.75,3.15665);
431 gre->SetPointError(22,0,0,0.0219053,0.0219053);
432 gre->SetPoint(23,-1.65,3.19693);
433 gre->SetPointError(23,0,0,0.0220446,0.0220446);
434 gre->SetPoint(24,-1.55,3.17002);
435 gre->SetPointError(24,0,0,0.0219517,0.0219517);
436 gre->SetPoint(25,-1.45,3.18538);
437 gre->SetPointError(25,0,0,0.0220048,0.0220048);
438 gre->SetPoint(26,-1.35,3.18066);
439 gre->SetPointError(26,0,0,0.0219885,0.0219885);
440 gre->SetPoint(27,-1.25,3.19754);
441 gre->SetPointError(27,0,0,0.0220467,0.0220467);
442 gre->SetPoint(28,-1.15,3.18021);
443 gre->SetPointError(28,0,0,0.0219869,0.0219869);
444 gre->SetPoint(29,-1.05,3.13111);
445 gre->SetPointError(29,0,0,0.0218165,0.0218165);
446 gre->SetPoint(30,-0.95,3.12153);
447 gre->SetPointError(30,0,0,0.0217831,0.0217831);
448 gre->SetPoint(31,-0.85,3.14798);
449 gre->SetPointError(31,0,0,0.0218752,0.0218752);
450 gre->SetPoint(32,-0.75,3.07912);
451 gre->SetPointError(32,0,0,0.0216347,0.0216347);
452 gre->SetPoint(33,-0.65,3.10207);
453 gre->SetPointError(33,0,0,0.0217151,0.0217151);
454 gre->SetPoint(34,-0.55,3.06346);
455 gre->SetPointError(34,0,0,0.0215796,0.0215796);
456 gre->SetPoint(35,-0.45,2.97651);
457 gre->SetPointError(35,0,0,0.0212711,0.0212711);
458 gre->SetPoint(36,-0.35,2.98715);
459 gre->SetPointError(36,0,0,0.0213091,0.0213091);
460 gre->SetPoint(37,-0.25,2.98548);
461 gre->SetPointError(37,0,0,0.0213032,0.0213032);
462 gre->SetPoint(38,-0.15,3.00555);
463 gre->SetPointError(38,0,0,0.0213746,0.0213746);
464 gre->SetPoint(39,-0.05,3.01193);
465 gre->SetPointError(39,0,0,0.0213973,0.0213973);
466 gre->SetPoint(40,0.05,3.04385);
467 gre->SetPointError(40,0,0,0.0215104,0.0215104);
468 gre->SetPoint(41,0.15,3.04933);
469 gre->SetPointError(41,0,0,0.0215297,0.0215297);
470 gre->SetPoint(42,0.25,3.04659);
471 gre->SetPointError(42,0,0,0.0215201,0.0215201);
472 gre->SetPoint(43,0.35,3.00813);
473 gre->SetPointError(43,0,0,0.0213838,0.0213838);
474 gre->SetPoint(44,0.45,3.06666);
475 gre->SetPointError(44,0,0,0.0215908,0.0215908);
476 gre->SetPoint(45,0.55,3.07167);
477 gre->SetPointError(45,0,0,0.0216085,0.0216085);
478 gre->SetPoint(46,0.65,3.0659);
479 gre->SetPointError(46,0,0,0.0215881,0.0215881);
480 gre->SetPoint(47,0.75,3.09159);
481 gre->SetPointError(47,0,0,0.0216784,0.0216784);
482 gre->SetPoint(48,0.85,3.10846);
483 gre->SetPointError(48,0,0,0.0217375,0.0217375);
484 gre->SetPoint(49,0.95,3.11925);
485 gre->SetPointError(49,0,0,0.0217752,0.0217752);
486 gre->SetPoint(50,1.05,3.15558);
487 gre->SetPointError(50,0,0,0.0219016,0.0219016);
488 gre->SetPoint(51,1.15,3.16911);
489 gre->SetPointError(51,0,0,0.0219485,0.0219485);
490 gre->SetPoint(52,1.25,3.17246);
491 gre->SetPointError(52,0,0,0.0219601,0.0219601);
492 gre->SetPoint(53,1.35,3.19146);
493 gre->SetPointError(53,0,0,0.0220258,0.0220258);
494 gre->SetPoint(54,1.45,3.17458);
495 gre->SetPointError(54,0,0,0.0219675,0.0219675);
496 gre->SetPoint(55,1.55,3.16866);
497 gre->SetPointError(55,0,0,0.0219469,0.0219469);
498 gre->SetPoint(56,1.65,3.16592);
499 gre->SetPointError(56,0,0,0.0219375,0.0219375);
500 gre->SetPoint(57,1.75,3.16394);
501 gre->SetPointError(57,0,0,0.0219306,0.0219306);
502 gre->SetPoint(58,1.85,3.11956);
503 gre->SetPointError(58,0,0,0.0217762,0.0217762);
504 gre->SetPoint(59,1.95,3.14646);
505 gre->SetPointError(59,0,0,0.02187,0.02187);
506 gre->SetPoint(60,2.05,3.10147);
507 gre->SetPointError(60,0,0,0.021713,0.021713);
508 gre->SetPoint(61,2.15,3.09356);
509 gre->SetPointError(61,0,0,0.0216853,0.0216853);
510 gre->SetPoint(62,2.25,3.05328);
511 gre->SetPointError(62,0,0,0.0215437,0.0215437);
512 gre->SetPoint(63,2.35,3.01953);
513 gre->SetPointError(63,0,0,0.0214243,0.0214243);
514 gre->SetPoint(64,2.45,2.9373);
515 gre->SetPointError(64,0,0,0.0211305,0.0211305);
516 gre->SetPoint(65,2.55,2.92772);
517 gre->SetPointError(65,0,0,0.0210961,0.0210961);
518 gre->SetPoint(66,2.65,2.89154);
519 gre->SetPointError(66,0,0,0.0209653,0.0209653);
520 gre->SetPoint(67,2.75,2.87619);
521 gre->SetPointError(67,0,0,0.0209096,0.0209096);
522 gre->SetPoint(68,2.85,2.78924);
523 gre->SetPointError(68,0,0,0.0205911,0.0205911);
524 gre->SetPoint(69,2.95,2.72159);
525 gre->SetPointError(69,0,0,0.0203399,0.0203399);
526 gre->SetPoint(70,3.05,2.69089);
527 gre->SetPointError(70,0,0,0.0202248,0.0202248);
528 gre->SetPoint(71,3.15,2.64939);
529 gre->SetPointError(71,0,0,0.0200682,0.0200682);
530 gre->SetPoint(72,3.25,2.55545);
531 gre->SetPointError(72,0,0,0.0197092,0.0197092);
532 gre->SetPoint(73,3.35,2.56745);
533 gre->SetPointError(73,0,0,0.0197555,0.0197555);
534 gre->SetPoint(74,3.45,2.47503);
535 gre->SetPointError(74,0,0,0.0193967,0.0193967);
536 gre->SetPoint(75,3.55,2.36741);
537 gre->SetPointError(75,0,0,0.0189703,0.0189703);
538 gre->SetPoint(76,3.65,2.33412);
539 gre->SetPointError(76,0,0,0.0188364,0.0188364);
540 gre->SetPoint(77,3.75,2.2385);
541 gre->SetPointError(77,0,0,0.0184466,0.0184466);
542 gre->SetPoint(78,3.85,2.21768);
543 gre->SetPointError(78,0,0,0.0183606,0.0183606);
544 gre->SetPoint(79,3.95,2.1055);
545 gre->SetPointError(79,0,0,0.0178901,0.0178901);
546 gre->SetPoint(80,4.05,2.05047);
547 gre->SetPointError(80,0,0,0.0176548,0.0176548);
548 gre->SetPoint(81,4.15,2.00486);
549 gre->SetPointError(81,0,0,0.0174574,0.0174574);
550 gre->SetPoint(82,4.25,1.94573);
551 gre->SetPointError(82,0,0,0.017198,0.017198);
552 gre->SetPoint(83,4.35,1.87064);
553 gre->SetPointError(83,0,0,0.0168629,0.0168629);
554 gre->SetPoint(84,4.45,1.83735);
555 gre->SetPointError(84,0,0,0.0167122,0.0167122);
556 gre->SetPoint(85,4.55,1.75314);
557 gre->SetPointError(85,0,0,0.0163247,0.0163247);
558 gre->SetPoint(86,4.65,1.65828);
559 gre->SetPointError(86,0,0,0.0158769,0.0158769);
560 gre->SetPoint(87,4.75,1.60751);
561 gre->SetPointError(87,0,0,0.015632,0.015632);
562 gre->SetPoint(88,4.85,1.56312);
563 gre->SetPointError(88,0,0,0.0154146,0.0154146);
564 gre->SetPoint(89,4.95,1.52117);
565 gre->SetPointError(89,0,0,0.0152064,0.0152064);
566 gre->SetPoint(90,5.05,1.46553);
567 gre->SetPointError(90,0,0,0.0149257,0.0149257);
568 gre->SetPoint(91,5.15,1.42038);
569 gre->SetPointError(91,0,0,0.014694,0.014694);
570 gre->SetPoint(92,5.25,1.38816);
571 gre->SetPointError(92,0,0,0.0145263,0.0145263);
572 gre->SetPoint(93,5.35,1.35046);
573 gre->SetPointError(93,0,0,0.0143277,0.0143277);
574 gre->SetPoint(94,5.45,1.30075);
575 gre->SetPointError(94,0,0,0.0140616,0.0140616);
576 gre->SetPoint(95,5.55,1.24025);
577 gre->SetPointError(95,0,0,0.0137307,0.0137307);
578 gre->SetPoint(96,5.65,1.21806);
579 gre->SetPointError(96,0,0,0.0136073,0.0136073);
580 gre->SetPoint(97,5.75,1.19435);
581 gre->SetPointError(97,0,0,0.0134742,0.0134742);
582 gre->SetPoint(98,5.85,1.14175);
583 gre->SetPointError(98,0,0,0.0131741,0.0131741);
584 gre->SetPoint(99,5.95,1.09235);
585 gre->SetPointError(99,0,0,0.012886,0.012886);
b6b35c77 586
d43c6cd0 587 return gre;
588 }
b6b35c77 589
d43c6cd0 590 //____________________________________________________________________
591 /**
592 * Get the UA5 NSD data for pp at @f$ \sqrt{s} = 900GeV@f$
593 * p7886_d1x1y4 - Z.Phys.C33:1-6,1986.
594 *
595 * @param mirrored Wether to produce the mirrored plot
596 *
597 * @return graph of data
598 *
599 * @ingroup pwglf_forward_otherdata
600 */
601 static TGraphAsymmErrors* UA5Nsd(Bool_t mirrored=false)
602 {
603 //UA5 data NSD - p7886_d1x1y4 - Z.Phys.C33:1-6,1986.
604 double x[] = { 0.125, 0.375, 0.625, 0.875, 1.125, 1.375, 1.625, 1.875,2.125,
605 2.375, 2.625, 2.875, 3.125, 3.375, 3.625, 3.875, 4.125,4.375,
606 4.625 };
607 double exm[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
608 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
609 double exp[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
610 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
611 double y[] = { 3.48, 3.38, 3.52, 3.68, 3.71, 3.86, 3.76, 3.66, 3.72,
612 3.69, 3.56, 3.41, 3.15, 3.09, 2.74, 2.73, 2.32, 1.99, 1.69 };
613 double eym[] = { 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07,
614 0.07, 0.07, 0.07, 0.07, 0.08, 0.08, 0.09, 0.09, 0.1,
615 0.13 };
616 double eyp[] = { 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07,
617 0.07, 0.07, 0.07, 0.07, 0.08, 0.08, 0.09, 0.09, 0.1,
618 0.13 };
619 const int np = 19;
620 double xm[np];
621 double exmm[np];
622 double expm[np];
623 double ym[np];
624 double eymm[np];
625 double eypm[np];
626 for (int i = 0; i < np; i++) {
627 int j = np-1-i;
628 xm[i] = -x[j];
629 exmm[i] = exm[j];
630 expm[i] = exp[j];
631 ym[i] = y[j];
632 eymm[i] = eym[j];
633 eypm[i] = eyp[j];
634 }
7e4038b5 635
d43c6cd0 636 TGraphAsymmErrors* g = new TGraphAsymmErrors(19,x, y, exm, exp, eym, eyp);
637 TGraphAsymmErrors* gm = new TGraphAsymmErrors(19,xm,ym,exmm,expm,eymm,eypm);
638 SetGraphAttributes(g, NSD, UA5, false,"ua5_nsd", "UA5");
639 SetGraphAttributes(gm, NSD, UA5, true,"ua5_nsd_mirrored",
640 "UA5 (mirrored)");
7e4038b5 641
d43c6cd0 642 return (mirrored ? gm : g);
b2e7f2d6 643 }
7e4038b5 644
d43c6cd0 645 //____________________________________________________________________
646 /**
647 * Get the UA5 INEL data for pp at @f$ \sqrt{s} = 900GeV@f$
648 * p7886_d2x1y2 - Z.Phys.C33:1-6,1986.
649 *
650 * @param mirrored Wether to produce the mirrored plot
651 *
652 * @return graph of data
653 *
654 * @ingroup pwglf_forward_otherdata
655 */
656 static TGraphAsymmErrors* UA5Inel(Bool_t mirrored=false)
657 {
658 //UA5 data INEL - p7886_d2x1y2 - Z.Phys.C33:1-6,1986.
659 double x[] = { 0.125, 0.375, 0.625, 0.875, 1.125, 1.375, 1.625, 1.875,2.125,
660 2.375, 2.625, 2.875, 3.125, 3.375, 3.625, 3.875, 4.125,4.375,
661 4.625 };
662 double exm[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
663 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
664 double exp[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
665 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
666 double y[] = { 3.14, 3.04, 3.17, 3.33, 3.33, 3.53, 3.46, 3.41, 3.45,
667 3.39, 3.07, 3.07, 2.93, 2.93, 2.55, 2.48, 2.18, 1.91, 1.52 };
668 double eym[] = { 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07,
669 0.07, 0.07, 0.07, 0.07, 0.08, 0.08, 0.09, 0.09, 0.1,
670 0.13 };
671 double eyp[] = { 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07,
672 0.07, 0.07, 0.07, 0.07, 0.08, 0.08, 0.09, 0.09, 0.1,
673 0.13 };
674 const int np = 19;
675 double xm[np];
676 double exmm[np];
677 double expm[np];
678 double ym[np];
679 double eymm[np];
680 double eypm[np];
681 for (int i = 0; i < np; i++) {
682 int j = np-1-i;
683 xm[i] = -x[j];
684 exmm[i] = exm[j];
685 expm[i] = exp[j];
686 ym[i] = y[j];
687 eymm[i] = eym[j];
688 eypm[i] = eyp[j];
689 }
690 TGraphAsymmErrors* g = new TGraphAsymmErrors(np,x, y, exm, exp, eym, eyp);
691 TGraphAsymmErrors* gm = new TGraphAsymmErrors(np,xm,ym,exmm,expm,eymm,eypm);
7e4038b5 692
d43c6cd0 693 SetGraphAttributes(g, INEL, UA5, false, "ua5_inel", "UA5");
694 SetGraphAttributes(gm, INEL, UA5, true, "ua5_inel_mirrored",
695 "UA5 (mirrored)");
696
697 return (mirrored ? gm : g);
7e4038b5 698 }
7e4038b5 699
d43c6cd0 700 //____________________________________________________________________
701 /**
702 * Get the ALICE INEL data in @f$ |\eta|<1.3@f$ for pp at @f$ \sqrt{s}
703 * = 900GeV@f$
704 * p7742_d1x1y1 - Eur.Phys.J.C68:89-108,2010.
705 *
706 * @return graph of data
707 *
708 * @ingroup pwglf_forward_otherdata
709 */
710 static TGraphAsymmErrors* AliceCentralInel900()
711 {
712 // INEL - p7742_d1x1y1 - Eur.Phys.J.C68:89-108,2010.
713 TGraphAsymmErrors* g = 0;
714 double x[] = { -1.3, -1.1, -0.9, -0.7, -0.5, -0.3,
715 -0.1, 0.1, 0.3, 0.5, 0.7, 0.9, 1.1, 1.3 };
716 double exm[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
717 0.1, 0.1, 0.1, 0.1, 0.1 };
718 double exp[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
719 0.1, 0.1, 0.1, 0.1, 0.1 };
720 double y[] = { 3.28, 3.28, 3.22, 3.12, 3.06, 3.02, 2.98, 3.02, 3.02,
721 3.05, 3.15, 3.21, 3.26, 3.33 };
722 double eym[] = { 0.06324555320336758, 0.06324555320336758,
723 0.06324555320336758, 0.06324555320336758,
724 0.06324555320336758, 0.05385164807134505,
725 0.05385164807134505, 0.05385164807134505,
726 0.05385164807134505, 0.06324555320336758,
727 0.06324555320336758, 0.06324555320336758,
728 0.06324555320336758, 0.06324555320336758 };
729 double eyp[] = { 0.08246211251235322, 0.08246211251235322,
730 0.08246211251235322, 0.08246211251235322,
731 0.08246211251235322, 0.08246211251235322,
732 0.07280109889280519, 0.08246211251235322,
733 0.08246211251235322, 0.08246211251235322,
734 0.08246211251235322, 0.08246211251235322,
735 0.08246211251235322, 0.08246211251235322 };
736 const int np = 14;
737 for (int i = 0; i < np; i++) {
738 eym[i] += 0.02;
739 eyp[i] += 0.02;
740 }
741 g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
742 SetGraphAttributes(g, INEL, ALICE, false, "alice_inel",
743 "#it{Eur.Phys.J}.#bf{C68}:89-108,2010"
744 /* "ALICE INEL (publ.)" */);
7e4038b5 745
d43c6cd0 746 return g;
7e4038b5 747 }
748
d43c6cd0 749 //____________________________________________________________________
750 /**
751 * Get the ALICE INEL>0 data in @f$ |\eta|<1.3@f$ for pp at @f$
752 * \sqrt{s} = 900GeV@f$
753 *
754 * p7741_d4x1y1 - Eur.Phys.J.C68:345-354,2010.
755 *
756 * @return graph of data
757 *
758 * @ingroup pwglf_forward_otherdata
759 */
760 static TGraphAsymmErrors* AliceCentralInelGt900()
761 {
762#if 0
763 // INEL>0 - p7741_d4x1y1 - Eur.Phys.J.C68:345-354,2010.
764 double x[] = { -0.9, -0.7, -0.5, -0.3, -0.1, 0.1, 0.3, 0.5, 0.7,
765 0.9 };
766 double exm[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
767 0.1 };
768 double exp[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
769 0.1 };
770 double y[] = { 4.0, 3.87, 3.8, 3.7, 3.67, 3.73, 3.72, 3.77, 3.92,
771 4.01 };
772 double eym[] = { 0.07615773105863909, 0.07615773105863909,
773 0.07615773105863909, 0.06324555320336758,
774 0.06324555320336758, 0.06324555320336758,
775 0.0670820393249937, 0.07615773105863909,
776 0.07615773105863909, 0.07615773105863909 };
777 double eyp[] = { 0.08544003745317531, 0.07615773105863909,
778 0.07615773105863909, 0.07280109889280519,
779 0.07280109889280519, 0.07280109889280519,
780 0.07615773105863909, 0.07615773105863909,
781 0.08544003745317531, 0.08544003745317531 };
782 const int np = 10;
783 for (int i = 0; i < np; i++) {
784 double stat = (i >= 3 && i<=5) ? 0.02 : 0.03;
785 eym[i] += stat;
786 eyp[i] += stat;
787 }
788
789 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
797161e8 790#else
d43c6cd0 791 // These are from JFGO
792 TGraphAsymmErrors *g = new TGraphAsymmErrors(15);
793 g->SetPoint(0,-1.5,4.12575);
794 g->SetPointError(0,0.1,0.1,0.0742967,0.0814571);
795 g->SetPoint(1,-1.3,3.91209);
796 g->SetPointError(1,0.1,0.1,0.0697701,0.0766199);
797 g->SetPoint(2,-1.1,3.98377);
798 g->SetPointError(2,0.1,0.1,0.0704503,0.0774795);
799 g->SetPoint(3,-0.9,4.00035);
800 g->SetPointError(3,0.1,0.1,0.0702388,0.0773433);
801 g->SetPoint(4,-0.7,3.87228);
802 g->SetPointError(4,0.1,0.1,0.067597,0.0745103);
803 g->SetPoint(5,-0.5,3.79613);
804 g->SetPointError(5,0.1,0.1,0.0659771,0.0727816);
805 g->SetPoint(6,-0.3,3.70489);
806 g->SetPointError(6,0.1,0.1,0.0642016,0.0708603);
807 g->SetPoint(7,-0.1,3.67423);
808 g->SetPointError(7,0.1,0.1,0.0635759,0.0701884);
809 g->SetPoint(8,0.1,3.72765);
810 g->SetPointError(8,0.1,0.1,0.0645004,0.071209);
811 g->SetPoint(9,0.3,3.72171);
812 g->SetPointError(9,0.1,0.1,0.064493,0.071182);
813 g->SetPoint(10,0.5,3.77428);
814 g->SetPointError(10,0.1,0.1,0.0655974,0.0723627);
815 g->SetPoint(11,0.7,3.91704);
816 g->SetPointError(11,0.1,0.1,0.0683783,0.0753716);
817 g->SetPoint(12,0.9,4.00674);
818 g->SetPointError(12,0.1,0.1,0.0703511,0.0774669);
819 g->SetPoint(13,1.1,3.97948);
820 g->SetPointError(13,0.1,0.1,0.0703744,0.077396);
821 g->SetPoint(14,1.3,3.99165);
822 g->SetPointError(14,0.1,0.1,0.0711888,0.078178);
797161e8 823#endif
d43c6cd0 824 SetGraphAttributes(g, INELGt0, ALICE, false, "alice_inelgt900",
825 // "ALICE INEL>0 (publ.)"
826 "#it{Eur.Phys.J}.#bf{C68}:345-354,2010");
827 return g;
828 }
7e4038b5 829
d43c6cd0 830 //____________________________________________________________________
831 /**
832 * Get the ALICE INEL>0 data in @f$ |\eta|<0.9@f$ for pp at @f$
833 * \sqrt{s} = 2.36TeV@f$
834 *
835 * p7741_d5x1y1 - Eur.Phys.J.C68:345-354,2010.
836 *
837 * @return graph of data
838 *
839 * @ingroup pwglf_forward_otherdata
840 */
841 static TGraphAsymmErrors* AliceCentralInelGt2360()
842 {
797161e8 843#if 0
d43c6cd0 844 // INEL>0 - p7741_d5x1y1 - Eur.Phys.J.C68:345-354,2010.
845 double x[] = { -0.9, -0.7, -0.5, -0.3, -0.1, 0.1, 0.3, 0.5, 0.7, 0.9 };
846 double exm[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 };
847 double exp[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 };
848 double y[] = { 4.91, 4.76, 4.63, 4.64, 4.55, 4.55, 4.64, 4.66, 4.82, 4.88 };
849 double eym[] = { 0.08544003745317531, 0.08544003745317531,
850 0.08544003745317531, 0.08544003745317531,
851 0.08544003745317531, 0.08544003745317531,
852 0.08544003745317531, 0.08544003745317531,
853 0.08544003745317531, 0.08544003745317531 };
854 double eyp[] = { 0.11401754250991379, 0.11401754250991379,
855 0.1044030650891055, 0.1044030650891055,
856 0.1044030650891055, 0.1044030650891055,
857 0.1044030650891055, 0.1044030650891055,
858 0.11401754250991379, 0.11401754250991379 };
859 const int np = 10;
860 for (int i = 0; i < np; i++) {
861 double stat = 0.3;
862 eym[i] += stat;
863 eyp[i] += stat;
864 }
7e4038b5 865
d43c6cd0 866 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
797161e8 867#else
d43c6cd0 868 // These are from JFGO
869 TGraphAsymmErrors* g = new TGraphAsymmErrors(15);
870 g->SetPoint(0,-1.5,4.79047);
871 g->SetPointError(0,0.1,0.1,0.0844278,0.109947);
872 g->SetPoint(1,-1.3,4.91068);
873 g->SetPointError(1,0.1,0.1,0.0856751,0.112038);
874 g->SetPoint(2,-1.1,4.87386);
875 g->SetPointError(2,0.1,0.1,0.0842846,0.110628);
876 g->SetPoint(3,-0.9,4.91365);
877 g->SetPointError(3,0.1,0.1,0.084339,0.111049);
878 g->SetPoint(4,-0.7,4.7601);
879 g->SetPointError(4,0.1,0.1,0.0812087,0.107203);
880 g->SetPoint(5,-0.5,4.63355);
881 g->SetPointError(5,0.1,0.1,0.078687,0.104079);
882 g->SetPoint(6,-0.3,4.63885);
883 g->SetPointError(6,0.1,0.1,0.0785337,0.104014);
884 g->SetPoint(7,-0.1,4.55439);
885 g->SetPointError(7,0.1,0.1,0.0769842,0.10203);
886 g->SetPoint(8,0.1,4.55087);
887 g->SetPointError(8,0.1,0.1,0.0769246,0.101951);
888 g->SetPoint(9,0.3,4.64118);
889 g->SetPointError(9,0.1,0.1,0.0785732,0.104066);
890 g->SetPoint(10,0.5,4.66172);
891 g->SetPointError(10,0.1,0.1,0.0791652,0.104711);
892 g->SetPoint(11,0.7,4.81871);
893 g->SetPointError(11,0.1,0.1,0.0822086,0.108523);
894 g->SetPoint(12,0.9,4.88193);
895 g->SetPointError(12,0.1,0.1,0.0837944,0.110332);
896 g->SetPoint(13,1.1,4.89068);
897 g->SetPointError(13,0.1,0.1,0.0845754,0.111009);
898 g->SetPoint(14,1.3,5.05663);
899 g->SetPointError(14,0.1,0.1,0.0882216,0.115368);
797161e8 900#endif
901
d43c6cd0 902 SetGraphAttributes(g, INELGt0, ALICE, false, "alice_inelgt2360",
903 // "ALICE INEL>0 (publ.)"
904 "#it{Eur.Phys.J}.#bf{C68}:345-354,2010");
905 return g;
906 }
7e4038b5 907
d43c6cd0 908 //____________________________________________________________________
909 /**
910 * Get the ALICE INEL>0 data in @f$ |\eta|<0.9@f$ for pp at @f$
911 * \sqrt{s} = 7TeV@f$
912 *
913 * p7741_d6x1y1 - Eur.Phys.J.C68:345-354,2010.
914 *
915 * @return graph of data
916 *
917 * @ingroup pwglf_forward_otherdata
918 */
919 static TGraphAsymmErrors* AliceCentralInelGt7000()
920 {
797161e8 921#if 0
d43c6cd0 922 // INEL>0 - p7741_d6x1y1 - Eur.Phys.J.C68:345-354,2010.
923 // Plot: p7741_d6x1y1
924 double x[] = { -0.9, -0.7, -0.5, -0.3, -0.1, 0.1, 0.3, 0.5, 0.7, 0.9 };
925 double exm[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 };
926 double exp[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 };
927 double y[] = { 6.22, 6.07, 6.01, 5.84, 5.85, 5.85, 5.91, 6.01, 6.17, 6.26 };
928 double eym[] = { 0.1216552506059644, 0.1216552506059644,
929 0.1216552506059644, 0.11180339887498948,
930 0.11180339887498948, 0.11180339887498948,
931 0.11180339887498948, 0.1216552506059644,
932 0.1216552506059644, 0.1216552506059644 };
933 double eyp[] = { 0.21095023109728983, 0.21095023109728983,
934 0.2009975124224178, 0.2009975124224178,
935 0.2009975124224178, 0.2009975124224178,
936 0.2009975124224178, 0.2009975124224178,
937 0.21095023109728983, 0.21095023109728983 };
938 const int np = 10;
939 for (int i = 0; i < np; i++) {
940 double stat = 0.2;
941 eym[i] += stat;
942 eyp[i] += stat;
943 }
7e4038b5 944
d43c6cd0 945 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
797161e8 946#else
d43c6cd0 947 // These are from JFGO
948 TGraphAsymmErrors* g = new TGraphAsymmErrors(15);
949 g->SetPoint(0,-1.5,6.28573);
950 g->SetPointError(0,0.1,0.1,0.125928,0.215392);
951 g->SetPoint(1,-1.3,6.25573);
952 g->SetPointError(1,0.1,0.1,0.124352,0.213795);
953 g->SetPoint(2,-1.1,6.28779);
954 g->SetPointError(2,0.1,0.1,0.124143,0.214399);
955 g->SetPoint(3,-0.9,6.21881);
956 g->SetPointError(3,0.1,0.1,0.122079,0.211642);
957 g->SetPoint(4,-0.7,6.0728);
958 g->SetPointError(4,0.1,0.1,0.118661,0.206355);
959 g->SetPoint(5,-0.5,6.011);
960 g->SetPointError(5,0.1,0.1,0.117043,0.204019);
961 g->SetPoint(6,-0.3,5.84071);
962 g->SetPointError(6,0.1,0.1,0.11346,0.198086);
963 g->SetPoint(7,-0.1,5.8532);
964 g->SetPointError(7,0.1,0.1,0.113569,0.198433);
965 g->SetPoint(8,0.1,5.84811);
966 g->SetPointError(8,0.1,0.1,0.11347,0.198261);
967 g->SetPoint(9,0.3,5.91022);
968 g->SetPointError(9,0.1,0.1,0.11481,0.200444);
969 g->SetPoint(10,0.5,6.00649);
970 g->SetPointError(10,0.1,0.1,0.116955,0.203866);
971 g->SetPoint(11,0.7,6.17115);
972 g->SetPointError(11,0.1,0.1,0.120583,0.209697);
973 g->SetPoint(12,0.9,6.2645);
974 g->SetPointError(12,0.1,0.1,0.122976,0.213197);
975 g->SetPoint(13,1.1,6.36448);
976 g->SetPointError(13,0.1,0.1,0.125657,0.217014);
977 g->SetPoint(14,1.3,6.39489);
978 g->SetPointError(14,0.1,0.1,0.127118,0.218551);
797161e8 979#endif
d43c6cd0 980 SetGraphAttributes(g, INELGt0, ALICE, false, "alice_inelgt7000",
981 // "ALICE INEL>0 (publ.)"
982 "#it{Eur.Phys.J}.#bf{C68}:345-354,2010");
983 return g;
7e4038b5 984 }
985
d43c6cd0 986 //____________________________________________________________________
987 /**
988 * Get the ALICE NSD data in @f$ |\eta|<1.3@f$ for pp at @f$
989 * \sqrt{s} = 900GeV@f$
990 *
991 * p7742_d2x1y1 - Eur.Phys.J.C68:89-108,2010.
992 *
993 * @return graph of data
994 *
995 * @ingroup pwglf_forward_otherdata
996 */
997 static TGraphAsymmErrors* AliceCentralNsd900()
998 {
999 //NSD - p7742_d2x1y1 - Eur.Phys.J.C68:89-108,2010.
1000 double x[] = { -1.3, -1.1, -0.9, -0.7, -0.5, -0.3, -0.1, 0.1, 0.3,
1001 0.5, 0.7, 0.9, 1.1, 1.3 };
1002 double exm[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
1003 0.1, 0.1, 0.1, 0.1, 0.1 };
1004 double exp[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
1005 0.1, 0.1, 0.1, 0.1, 0.1 };
1006 double y[] = { 3.9, 3.89, 3.81, 3.7, 3.64, 3.59, 3.53, 3.58, 3.59,
1007 3.61, 3.74, 3.8, 3.87, 3.95 };
1008 double eym[] = { 0.13341664064126335, 0.13152946437965907,
1009 0.13152946437965907, 0.1216552506059644,
1010 0.1216552506059644, 0.1216552506059644,
1011 0.1216552506059644, 0.1216552506059644,
1012 0.1216552506059644, 0.1216552506059644,
1013 0.1216552506059644, 0.13152946437965907,
1014 0.13152946437965907, 0.13341664064126335 };
1015 double eyp[] = { 0.13341664064126335, 0.13152946437965907,
1016 0.13152946437965907, 0.1216552506059644,
1017 0.1216552506059644, 0.1216552506059644,
1018 0.1216552506059644, 0.1216552506059644,
1019 0.1216552506059644, 0.1216552506059644,
1020 0.1216552506059644, 0.13152946437965907,
1021 0.13152946437965907, 0.13341664064126335 };
1022 const int np = 14;
1023 for (int i = 0; i < np; i++) {
1024 double stat = (i == 0 || i == np-1) ? 0.03 : 0.02;
1025 eym[i] += stat;
1026 eyp[i] += stat;
1027 }
7e4038b5 1028
d43c6cd0 1029 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
1030 SetGraphAttributes(g, NSD, ALICE, false, "alice_nsd",
1031 //"ALICE NSD (publ.)"
1032 "#it{Eur.Phys.J}.#bf{C68}:89-108,2010");
7e4038b5 1033
d43c6cd0 1034 return g;
7e4038b5 1035 }
1036
d43c6cd0 1037 //____________________________________________________________________
1038 /**
1039 * Get the ALICE INEL data in @f$ |\eta|<1.3@f$ for pp at @f$
1040 * \sqrt{s} = 2.36TeV@f$
1041 *
1042 * p7742_d3x1y1 - Eur.Phys.J.C68:89-108,2010.
1043 *
1044 * @return graph of data
1045 *
1046 * @ingroup pwglf_forward_otherdata
1047 */
1048 static TGraphAsymmErrors* AliceCentralInel2360()
1049 {
1050 // INEL - p7742_d3x1y1 - Eur.Phys.J.C68:89-108,2010.
1051 double x[] = { -1.3, -1.1, -0.9, -0.7, -0.5, -0.3, -0.1, 0.1, 0.3,
1052 0.5, 0.7, 0.9, 1.1, 1.3 };
1053 double exm[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
1054 0.1, 0.1, 0.1, 0.1, 0.1 };
1055 double exp[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
1056 0.1, 0.1, 0.1, 0.1, 0.1 };
1057 double y[] = { 4.08, 4.01, 4.0, 3.88, 3.77, 3.8, 3.73, 3.71, 3.79,
1058 3.82, 3.94, 4.02, 4.05, 4.16 };
1059 double eym[] = { 0.13341664064126335, 0.12369316876852982,
1060 0.12369316876852982, 0.1216552506059644,
1061 0.1216552506059644, 0.1216552506059644,
1062 0.1216552506059644, 0.11180339887498948,
1063 0.1216552506059644, 0.1216552506059644,
1064 0.12369316876852982, 0.12369316876852982,
1065 0.13341664064126335, 0.13341664064126335 };
1066 double eyp[] = { 0.2716615541441225, 0.2716615541441225,
1067 0.2716615541441225, 0.260768096208106,
1068 0.25079872407968906, 0.25079872407968906,
1069 0.25079872407968906, 0.25079872407968906,
1070 0.25079872407968906, 0.260768096208106,
1071 0.261725046566048, 0.2716615541441225,
1072 0.2716615541441225, 0.2816025568065745 };
1073 const int np = 14;
1074 for (int i = 0; i < np; i++) {
1075 double stat = (i < 3 || i > np-1-4) ? 0.03 : 0.02;
1076 eym[i] += stat;
1077 eyp[i] += stat;
1078 }
7e4038b5 1079
d43c6cd0 1080 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
1081 SetGraphAttributes(g, NSD, ALICE, false, "alice_inel2360",
1082 // "ALICE INEL (publ.)"
1083 "#it{Eur.Phys.J}.#bf{C68}:89-108,2010");
1084 return g;
7e4038b5 1085 }
1086
d43c6cd0 1087 //____________________________________________________________________
1088 /**
1089 * Get the ALICE NSD data in @f$ |\eta|<1.3@f$ for pp at @f$
1090 * \sqrt{s} = 2.36TeV@f$
1091 *
1092 * p7742_d4x1y1 - Eur.Phys.J.C68:89-108,2010.
1093 *
1094 * @return graph of data
1095 *
1096 * @ingroup pwglf_forward_otherdata
1097 */
1098 static TGraphAsymmErrors* AliceCentralNsd2360()
1099 {
1100 // NSD - p7742_d4x1y1 - Eur.Phys.J.C68:89-108,2010.
1101 double x[] = { -1.3, -1.1, -0.9, -0.7, -0.5, -0.3, -0.1, 0.1, 0.3,
1102 0.5, 0.7, 0.9, 1.1, 1.3 };
1103 double exm[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
1104 0.1, 0.1, 0.1, 0.1, 0.1 };
1105 double exp[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
1106 0.1, 0.1, 0.1, 0.1, 0.1 };
1107 double y[] = { 4.79, 4.72, 4.7, 4.56, 4.44, 4.47, 4.39, 4.37, 4.47,
1108 4.5, 4.64, 4.73, 4.76, 4.9 };
1109 double eym[] = { 0.13601470508735444, 0.13341664064126335,
1110 0.13341664064126335, 0.12369316876852982,
1111 0.12369316876852982, 0.12369316876852982,
1112 0.12369316876852982, 0.12369316876852982,
1113 0.12369316876852982, 0.12369316876852982,
1114 0.12369316876852982, 0.13341664064126335,
1115 0.13341664064126335, 0.13341664064126335 };
1116 double eyp[] = { 0.18439088914585774, 0.18248287590894657,
1117 0.18248287590894657, 0.1726267650163207,
1118 0.1726267650163207, 0.1726267650163207,
1119 0.16278820596099708, 0.16278820596099708,
1120 0.1726267650163207, 0.1726267650163207,
1121 0.1726267650163207, 0.18248287590894657,
1122 0.18248287590894657, 0.18248287590894657 };
1123 const int np = 14;
1124
1125 for (int i = 0; i < np; i++) {
1126 double stat = (i < 1) ? 0.03 : 0.02;
1127 eym[i] += stat;
1128 eyp[i] += stat;
1129 }
7e4038b5 1130
d43c6cd0 1131 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
1132 SetGraphAttributes(g, NSD, ALICE, false, "alice_nsd2360",
1133 // "ALICE NSD (publ.)"
1134 "#it{Eur.Phys.J}.#bf{C68}:89-108,2010");
1135 return g;
1136 }
6d233add 1137
d43c6cd0 1138 //____________________________________________________________________
1139 /**
1140 * Get the ALICE MB (CINT5, V0AND) data in @f$ |\eta|<2@f$ for pPb at
1141 * @f$ \sqrt{s} = 5.023TeV@f$
1142 *
1143 * arXiv:1210.3615 [nucl-ex]
1144 *
1145 * @return graph of data
1146 *
1147 * @ingroup pwglf_forward_otherdata
1148 */
1149 static TGraphAsymmErrors* AliceCentralpPb5023()
1150 {
1151 TGraphAsymmErrors *g = new TGraphAsymmErrors(43);
1152 g->SetName("");
1153 g->SetTitle("");
1154 g->SetFillColor(1);
1155 g->SetMarkerStyle(24);
1156 g->SetMarkerSize(1.3);
1157 g->SetPoint(0,-2.05,16.1757);
1158 g->SetPointError(0,0.05,0.05,0.360241,0.360241);
1159 g->SetPoint(1,-1.95,16.8454);
1160 g->SetPointError(1,0.05,0.05,0.184436,0.184436);
1161 g->SetPoint(2,-1.85,16.9748);
1162 g->SetPointError(2,0.05,0.05,0.112833,0.112833);
1163 g->SetPoint(3,-1.75,17.2504);
1164 g->SetPointError(3,0.05,0.05,0.0851792,0.0851792);
1165 g->SetPoint(4,-1.65,17.336);
1166 g->SetPointError(4,0.05,0.05,0.0674453,0.0674453);
1167 g->SetPoint(5,-1.55,17.4649);
1168 g->SetPointError(5,0.05,0.05,0.0558537,0.0558537);
1169 g->SetPoint(6,-1.45,17.5884);
1170 g->SetPointError(6,0.05,0.05,0.0481065,0.0481065);
1171 g->SetPoint(7,-1.35,17.7509);
1172 g->SetPointError(7,0.05,0.05,0.0448122,0.0448122);
1173 g->SetPoint(8,-1.25,17.8052);
1174 g->SetPointError(8,0.05,0.05,0.0403298,0.0403298);
1175 g->SetPoint(9,-1.15,17.8357);
1176 g->SetPointError(9,0.05,0.05,0.0383174,0.0383174);
1177 g->SetPoint(10,-1.05,17.7547);
1178 g->SetPointError(10,0.05,0.05,0.0356689,0.0356689);
1179 g->SetPoint(11,-0.95,17.6859);
1180 g->SetPointError(11,0.05,0.05,0.034326,0.034326);
1181 g->SetPoint(12,-0.85,17.6665);
1182 g->SetPointError(12,0.05,0.05,0.0333449,0.0333449);
1183 g->SetPoint(13,-0.75,17.6044);
1184 g->SetPointError(13,0.05,0.05,0.0325356,0.0325356);
1185 g->SetPoint(14,-0.65,17.4815);
1186 g->SetPointError(14,0.05,0.05,0.0318004,0.0318004);
1187 g->SetPoint(15,-0.55,17.4);
1188 g->SetPointError(15,0.05,0.05,0.0312675,0.0312675);
1189 g->SetPoint(16,-0.45,17.3425);
1190 g->SetPointError(16,0.05,0.05,0.0310344,0.0310344);
1191 g->SetPoint(17,-0.35,17.2885);
1192 g->SetPointError(17,0.05,0.05,0.0306043,0.0306043);
1193 g->SetPoint(18,-0.25,17.2646);
1194 g->SetPointError(18,0.05,0.05,0.0303226,0.0303226);
1195 g->SetPoint(19,-0.15,17.316);
1196 g->SetPointError(19,0.05,0.05,0.0302368,0.0302368);
1197 g->SetPoint(20,-0.05,17.312);
1198 g->SetPointError(20,0.05,0.05,0.0301444,0.0301444);
1199 g->SetPoint(21,0.05,17.4418);
1200 g->SetPointError(21,0.05,0.05,0.0301526,0.0301526);
1201 g->SetPoint(22,0.15,17.4944);
1202 g->SetPointError(22,0.05,0.05,0.0303199,0.0303199);
1203 g->SetPoint(23,0.25,17.642);
1204 g->SetPointError(23,0.05,0.05,0.0303867,0.0303867);
1205 g->SetPoint(24,0.35,17.8153);
1206 g->SetPointError(24,0.05,0.05,0.0306752,0.0306752);
1207 g->SetPoint(25,0.45,18.0244);
1208 g->SetPointError(25,0.05,0.05,0.0310274,0.0310274);
1209 g->SetPoint(26,0.55,18.1993);
1210 g->SetPointError(26,0.05,0.05,0.0314353,0.0314353);
1211 g->SetPoint(27,0.65,18.349);
1212 g->SetPointError(27,0.05,0.05,0.0316803,0.0316803);
1213 g->SetPoint(28,0.75,18.5976);
1214 g->SetPointError(28,0.05,0.05,0.0322819,0.0322819);
1215 g->SetPoint(29,0.85,18.8045);
1216 g->SetPointError(29,0.05,0.05,0.0329447,0.0329447);
1217 g->SetPoint(30,0.95,18.9865);
1218 g->SetPointError(30,0.05,0.05,0.0337513,0.0337513);
1219 g->SetPoint(31,1.05,19.2313);
1220 g->SetPointError(31,0.05,0.05,0.0354009,0.0354009);
1221 g->SetPoint(32,1.15,19.4055);
1222 g->SetPointError(32,0.05,0.05,0.0367366,0.0367366);
1223 g->SetPoint(33,1.25,19.5893);
1224 g->SetPointError(33,0.05,0.05,0.0385048,0.0385048);
1225 g->SetPoint(34,1.35,19.8196);
1226 g->SetPointError(34,0.05,0.05,0.0421699,0.0421699);
1227 g->SetPoint(35,1.45,19.9476);
1228 g->SetPointError(35,0.05,0.05,0.0451541,0.0451541);
1229 g->SetPoint(36,1.55,20.1012);
1230 g->SetPointError(36,0.05,0.05,0.0513641,0.0513641);
1231 g->SetPoint(37,1.65,20.1082);
1232 g->SetPointError(37,0.05,0.05,0.060302,0.060302);
1233 g->SetPoint(38,1.75,20.1732);
1234 g->SetPointError(38,0.05,0.05,0.0739969,0.0739969);
1235 g->SetPoint(39,1.85,20.1964);
1236 g->SetPointError(39,0.05,0.05,0.0953757,0.0953757);
1237 g->SetPoint(40,1.95,20.0509);
1238 g->SetPointError(40,0.05,0.05,0.147212,0.147212);
1239 g->SetPoint(41,2.05,20.3151);
1240 g->SetPointError(41,0.05,0.05,0.272151,0.272151);
1241 g->SetPoint(42,2.15,20.1319);
1242 g->SetPointError(42,0.05,0.05,0.802706,0.802706);
6d233add 1243
bfab35d9 1244
d43c6cd0 1245 SetGraphAttributes(g, NSD, ALICE, false, "alice_ppb50230",
1246 "arXiv:1210.3615");
1247 return g;
1248 }
bfab35d9 1249
d43c6cd0 1250 //____________________________________________________________________
1251 /**
1252 * Get the ALICE INEL data in @f$ |\eta|<1.8@f$ for pp at @f$ \sqrt{s}
1253 * = 900GeV@f$
1254 * Work in progress
1255 *
1256 * @return graph of data
1257 *
1258 * @ingroup pwglf_forward_otherdata
1259 */
1260 static TGraphAsymmErrors* AliceCentralInel900Work()
1261 {
1262 TGraphAsymmErrors *g = new TGraphAsymmErrors(18);
1263 // g->SetPoint(0,-1.9,0); g->SetPointError(0,0.1,0.1,0,0);
1264 g->SetPoint(0,-1.7,3.13935);g->SetPointError(0,0.1,0.1,0.0726186,0.0525276);
1265 g->SetPoint(1,-1.5,3.15634);g->SetPointError(1,0.1,0.1,0.0338547,0.0380273);
1266 g->SetPoint(2,-1.3,3.13683);g->SetPointError(2,0.1,0.1,0.0295176,0.0295638);
1267 g->SetPoint(3,-1.1,3.10618);g->SetPointError(3,0.1,0.1,0.0306925,0.0329387);
1268 g->SetPoint(4,-0.9,3.05921);g->SetPointError(4,0.1,0.1,0.0224684,0.025408);
1269 g->SetPoint(5,-0.7,3.00303);g->SetPointError(5,0.1,0.1,0.0389278,0.0238328);
1270 g->SetPoint(6,-0.5,2.94604);g->SetPointError(6,0.1,0.1,0.0211986,0.0322219);
1271 g->SetPoint(7,-0.3,2.91507);g->SetPointError(7,0.1,0.1,0.030029,0.0209573);
1272 g->SetPoint(8,-0.1,2.88965);g->SetPointError(8,0.1,0.1,0.0286516,0.0253694);
1273 g->SetPoint(9,0.1,2.89731); g->SetPointError(9,0.1,0.1,0.0334615,0.0192116);
1274 g->SetPoint(10,0.3,2.91188);g->SetPointError(10,0.1,0.1,0.0503868,0.024911);
1275 g->SetPoint(11,0.5,2.96295);g->SetPointError(11,0.1,0.1,0.030009,0.0284692);
1276 g->SetPoint(12,0.7,3.0089); g->SetPointError(12,0.1,0.1,0.0189095,0.026319);
1277 g->SetPoint(13,0.9,3.07028);g->SetPointError(13,0.1,0.1,0.0449128,0.030738);
1278 g->SetPoint(14,1.1,3.10215);g->SetPointError(14,0.1,0.1,0.0288688,0.026301);
1279 g->SetPoint(15,1.3,3.12946);g->SetPointError(15,0.1,0.1,0.0431495,0.026355);
1280 g->SetPoint(16,1.5,3.14549);g->SetPointError(16,0.1,0.1,0.0322482,0.033611);
1281 g->SetPoint(17,1.7,3.15729);g->SetPointError(17,0.1,0.1,0.105509,0.0523796);
1282 // g->SetPoint(19,1.9,0); g->SetPointError(19,0.1,0.1,0,0);
bfab35d9 1283
d43c6cd0 1284 SetGraphAttributes(g, INEL, WIP, false, "alice_pp900work",
1285 "PWG-UD/MULT - work in progress");
1286 return g;
1287 }
1288
1289 //____________________________________________________________________
1290 /**
1291 * Get the ALICE NSD data in @f$ |\eta|<1.8@f$ for pp at @f$ \sqrt{s}
1292 * = 900GeV@f$
1293 * Work in progress
1294 *
1295 * @return graph of data
1296 *
1297 * @ingroup pwglf_forward_otherdata
1298 */
1299 static TGraphAsymmErrors* AliceCentralNsd900Work()
1300 {
1301 TGraphAsymmErrors *g = new TGraphAsymmErrors(18);
bfab35d9 1302
d43c6cd0 1303 g->SetPoint(0,-1.7,3.84726);g->SetPointError(0,0.1,0.1,0.114853,0.118974);
1304 g->SetPoint(1,-1.5,3.87094);g->SetPointError(1,0.1,0.1,0.10574,0.108613);
1305 g->SetPoint(2,-1.3,3.84769);g->SetPointError(2,0.1,0.1,0.105942,0.107644);
1306 g->SetPoint(3,-1.1,3.8122); g->SetPointError(3,0.1,0.1,0.100838,0.101818);
1307 g->SetPoint(4,-0.9,3.75388);g->SetPointError(4,0.1,0.1,0.0967073,0.0972099);
1308 g->SetPoint(5,-0.7,3.68733);g->SetPointError(5,0.1,0.1,0.0923424,0.0925662);
1309 g->SetPoint(6,-0.5,3.61874);g->SetPointError(6,0.1,0.1,0.0904027,0.090477);
1310 g->SetPoint(7,-0.3,3.58091);g->SetPointError(7,0.1,0.1,0.0875915,0.0875992);
1311 g->SetPoint(8,-0.1,3.54905);g->SetPointError(8,0.1,0.1,0.086046,0.0860293);
1312 g->SetPoint(9,0.1,3.55968); g->SetPointError(9,0.1,0.1,0.0884776,0.0884612);
1313 g->SetPoint(10,0.3,3.57729);g->SetPointError(10,0.1,0.1,0.0857614,0.085769);
1314 g->SetPoint(11,0.5,3.63879);g->SetPointError(11,0.1,0.1,0.0879787,0.088056);
1315 g->SetPoint(12,0.7,3.69422);g->SetPointError(12,0.1,0.1,0.0931736,0.093396);
1316 g->SetPoint(13,0.9,3.76835);g->SetPointError(13,0.1,0.1,0.0928833,0.093410);
1317 g->SetPoint(14,1.1,3.80647);g->SetPointError(14,0.1,0.1,0.0998124,0.100799);
1318 g->SetPoint(15,1.3,3.83824);g->SetPointError(15,0.1,0.1,0.102549,0.104298);
1319 g->SetPoint(16,1.5,3.85778);g->SetPointError(16,0.1,0.1,0.10267,0.105607);
1320 g->SetPoint(17,1.7,3.87075);g->SetPointError(17,0.1,0.1,0.114093,0.11829);
bfab35d9 1321
d43c6cd0 1322 SetGraphAttributes(g, NSD, WIP, false, "alice_pp900nsdwork",
1323 "PWG-UD/MULT - work in progress");
1324 return g;
1325 }
bfab35d9 1326
d43c6cd0 1327 //____________________________________________________________________
1328 /**
1329 * Get the ALICE INEL>0 data in @f$ |\eta|<1.8@f$ for pp at @f$ \sqrt{s}
1330 * = 900GeV@f$
1331 * Work in progress
1332 *
1333 * @return graph of data
1334 *
1335 * @ingroup pwglf_forward_otherdata
1336 */
1337 static TGraphAsymmErrors* AliceCentralInelGt900Work()
1338 {
1339 TGraphAsymmErrors *g = new TGraphAsymmErrors(10);
bfab35d9 1340
d43c6cd0 1341 g->SetPoint(0,-0.9,3.90755);g->SetPointError(0,0.1,0.1,0.0377085,0.0355101);
1342 g->SetPoint(1,-0.7,3.8357); g->SetPointError(1,0.1,0.1,0.0477674,0.0349303);
1343 g->SetPoint(2,-0.5,3.76291);g->SetPointError(2,0.1,0.1,0.0277709,0.040401);
1344 g->SetPoint(3,-0.3,3.72336);g->SetPointError(3,0.1,0.1,0.0343553,0.0250805);
1345 g->SetPoint(4,-0.1,3.69098);g->SetPointError(4,0.1,0.1,0.0324842,0.0324248);
1346 g->SetPoint(5,0.1,3.70076); g->SetPointError(5,0.1,0.1,0.0390932,0.0246738);
1347 g->SetPoint(6,0.3,3.71924); g->SetPointError(6,0.1,0.1,0.0576054,0.0287106);
1348 g->SetPoint(7,0.5,3.7844); g->SetPointError(7,0.1,0.1,0.0316759,0.0295124);
1349 g->SetPoint(8,0.7,3.84319); g->SetPointError(8,0.1,0.1,0.0293134,0.0332125);
1350 g->SetPoint(9,0.9,3.92163); g->SetPointError(9,0.1,0.1,0.0558339,0.0394925);
bfab35d9 1351
d43c6cd0 1352 SetGraphAttributes(g, INELGt0, WIP, false, "alice_pp900inelgtwork",
1353 "PWG-UD/MULT - work in progress");
1354 return g;
1355 }
bfab35d9 1356
d43c6cd0 1357 //____________________________________________________________________
1358 /**
1359 * Get the ALICE INEL data in @f$ |\eta|<1.8@f$ for pp
1360 * at @f$ \sqrt{s} = 2760GeV@f$
1361 * Work in progress
1362 *
1363 * @return graph of data
1364 *
1365 * @ingroup pwglf_forward_otherdata
1366 */
1367 static TGraphAsymmErrors* AliceCentralInel2760Work()
1368 {
1369 TGraphAsymmErrors* g = new TGraphAsymmErrors(18);
1370 g->SetPoint(0,-1.7,4.0313); g->SetPointError(0,0.1,0.1,0.100951,0.104678);
1371 g->SetPoint(1,-1.5,4.0431); g->SetPointError(1,0.1,0.1,0.10129,0.103883);
1372 g->SetPoint(2,-1.3,4.01251); g->SetPointError(2,0.1,0.1,0.10847,0.110089);
1373 g->SetPoint(3,-1.1,3.96799); g->SetPointError(3,0.1,0.1,0.105543,0.106623);
1374 g->SetPoint(4,-0.9,3.89669); g->SetPointError(4,0.1,0.1,0.110974,0.111625);
1375 g->SetPoint(5,-0.7,3.81051); g->SetPointError(5,0.1,0.1,0.108463,0.108882);
1376 g->SetPoint(6,-0.5,3.76537); g->SetPointError(6,0.1,0.1,0.105488,0.105773);
1377 g->SetPoint(7,-0.3,3.69733); g->SetPointError(7,0.1,0.1,0.110156,0.11035);
1378 g->SetPoint(8,-0.1,3.68148); g->SetPointError(8,0.1,0.1,0.105564,0.105733);
1379 g->SetPoint(9,0.1,3.67386); g->SetPointError(9,0.1,0.1,0.1058,0.105968);
1380 g->SetPoint(10,0.3,3.69873); g->SetPointError(10,0.1,0.1,0.107167,0.107367);
1381 g->SetPoint(11,0.5,3.76377); g->SetPointError(11,0.1,0.1,0.111177,0.111448);
1382 g->SetPoint(12,0.7,3.81956); g->SetPointError(12,0.1,0.1,0.107198,0.107623);
1383 g->SetPoint(13,0.9,3.89506); g->SetPointError(13,0.1,0.1,0.105617,0.1063);
1384 g->SetPoint(14,1.1,3.95888); g->SetPointError(14,0.1,0.1,0.111316,0.112336);
1385 g->SetPoint(15,1.3,4.00176); g->SetPointError(15,0.1,0.1,0.111751,0.113315);
1386 g->SetPoint(16,1.5,4.03247); g->SetPointError(16,0.1,0.1,0.114383,0.116674);
1387 g->SetPoint(17,1.7,4.061); g->SetPointError(17,0.1,0.1,0.107094,0.110665);
bfab35d9 1388
d43c6cd0 1389 SetGraphAttributes(g, INEL, WIP, false,
1390 "alice_ppInel2760Work",
1391 "PWG-UD/MULT - work in progress");
1392 return g;
1393 }
1394 //____________________________________________________________________
1395 /**
1396 * Get the ALICE NSD data in @f$ |\eta|<1.8@f$ for pp
1397 * at @f$ \sqrt{s} = 2760GeV@f$
1398 * Work in progress
1399 *
1400 * @return graph of data
1401 *
1402 * @ingroup pwglf_forward_otherdata
1403 */
1404 static TGraphAsymmErrors* AliceCentralNsd2760Work()
1405 {
1406 TGraphAsymmErrors* g = new TGraphAsymmErrors(18);
1407 g->SetPoint(0,-1.7,4.8704); g->SetPointError(0,0.1,0.1,0.221293,0.224755);
1408 g->SetPoint(1,-1.5,4.88859); g->SetPointError(1,0.1,0.1,0.221269,0.223478);
1409 g->SetPoint(2,-1.3,4.85326); g->SetPointError(2,0.1,0.1,0.21109,0.212455);
1410 g->SetPoint(3,-1.1,4.80085); g->SetPointError(3,0.1,0.1,0.21041,0.211157);
1411 g->SetPoint(4,-0.9,4.71513); g->SetPointError(4,0.1,0.1,0.198361,0.198749);
1412 g->SetPoint(5,-0.7,4.61153); g->SetPointError(5,0.1,0.1,0.194009,0.194176);
1413 g->SetPoint(6,-0.5,4.55715); g->SetPointError(6,0.1,0.1,0.193226,0.193281);
1414 g->SetPoint(7,-0.3,4.47508); g->SetPointError(7,0.1,0.1,0.182433,0.182439);
1415 g->SetPoint(8,-0.1,4.45709); g->SetPointError(8,0.1,0.1,0.186518,0.186506);
1416 g->SetPoint(9,0.1,4.44707); g->SetPointError(9,0.1,0.1,0.185747,0.185735);
1417 g->SetPoint(10,0.3,4.47734); g->SetPointError(10,0.1,0.1,0.185835,0.185841);
1418 g->SetPoint(11,0.5,4.55477); g->SetPointError(11,0.1,0.1,0.186934,0.186991);
1419 g->SetPoint(12,0.7,4.62236); g->SetPointError(12,0.1,0.1,0.196631,0.196796);
1420 g->SetPoint(13,0.9,4.71277); g->SetPointError(13,0.1,0.1,0.204034,0.20441);
1421 g->SetPoint(14,1.1,4.78902); g->SetPointError(14,0.1,0.1,0.20317,0.20394);
1422 g->SetPoint(15,1.3,4.84008); g->SetPointError(15,0.1,0.1,0.205573,0.206967);
1423 g->SetPoint(16,1.5,4.87453); g->SetPointError(16,0.1,0.1,0.206314,0.208667);
1424 g->SetPoint(17,1.7,4.90614); g->SetPointError(17,0.1,0.1,0.218996,0.222545);
bfab35d9 1425
d43c6cd0 1426 SetGraphAttributes(g, NSD, WIP, false,
1427 "alice_ppNsd2760Work",
1428 "PWG-UD/MULT - work in progress");
1429 return g;
1430 }
1431 //____________________________________________________________________
1432 /**
1433 * Get the ALICE INELGt0 data in @f$ |\eta|<1.8@f$ for pp
1434 * at @f$ \sqrt{s} = 2760GeV@f$
1435 * Work in progress
1436 *
1437 * @return graph of data
1438 *
1439 * @ingroup pwglf_forward_otherdata
1440 */
1441 static TGraphAsymmErrors* AliceCentralInelGt2760Work()
1442 {
1443 TGraphAsymmErrors* g = new TGraphAsymmErrors(10);
1444 g->SetPoint(0,-0.9,4.96315); g->SetPointError(0,0.1,0.1,0.0439746,0.0440108);
1445 g->SetPoint(1,-0.7,4.8532); g->SetPointError(1,0.1,0.1,0.0426373,0.0600727);
1446 g->SetPoint(2,-0.5,4.79582);g->SetPointError(2,0.1,0.1,0.0475367,0.0466255);
1447 g->SetPoint(3,-0.3,4.70907);g->SetPointError(3,0.1,0.1,0.0313084,0.0468084);
1448 g->SetPoint(4,-0.1,4.68906);g->SetPointError(4,0.1,0.1,0.0413149,0.0397909);
1449 g->SetPoint(5,0.1,4.67937); g->SetPointError(5,0.1,0.1,0.0346151,0.0450248);
1450 g->SetPoint(6,0.3,4.7109); g->SetPointError(6,0.1,0.1,0.0408403,0.0839992);
1451 g->SetPoint(7,0.5,4.79359); g->SetPointError(7,0.1,0.1,0.0324516,0.0357053);
1452 g->SetPoint(8,0.7,4.86469); g->SetPointError(8,0.1,0.1,0.0452175,0.0477304);
1453 g->SetPoint(9,0.9,4.96078); g->SetPointError(9,0.1,0.1,0.0566798,0.0804077);
bfab35d9 1454
d43c6cd0 1455 SetGraphAttributes(g, INELGt0, WIP, false,
1456 "alice_ppInelGt2760Work",
1457 "PWG-UD/MULT - work in progress");
1458 return g;
1459 }
bfab35d9 1460
d43c6cd0 1461 //____________________________________________________________________
1462 /**
1463 * Get the ALICE INEL data in @f$ |\eta|<1.8@f$ for pp
1464 * at @f$ \sqrt{s} = 7000GeV@f$
1465 * Work in progress
1466 *
1467 * @return graph of data
1468 *
1469 * @ingroup pwglf_forward_otherdata
1470 */
1471 static TGraphAsymmErrors* AliceCentralInel7000Work()
1472 {
1473 TGraphAsymmErrors* g = new TGraphAsymmErrors(18);
1474 g->SetPoint(0,-1.7,4.97541); g->SetPointError(0,0.1,0.1,0.187526,0.162049);
1475 g->SetPoint(1,-1.5,4.98161); g->SetPointError(1,0.1,0.1,0.128353,0.149085);
1476 g->SetPoint(2,-1.3,4.94853); g->SetPointError(2,0.1,0.1,0.129841,0.144762);
1477 g->SetPoint(3,-1.1,4.88924); g->SetPointError(3,0.1,0.1,0.137866,0.157862);
1478 g->SetPoint(4,-0.9,4.79998); g->SetPointError(4,0.1,0.1,0.144492,0.158783);
1479 g->SetPoint(5,-0.7,4.71399); g->SetPointError(5,0.1,0.1,0.132703,0.156135);
1480 g->SetPoint(6,-0.5,4.63098); g->SetPointError(6,0.1,0.1,0.129938,0.147085);
1481 g->SetPoint(7,-0.3,4.56815); g->SetPointError(7,0.1,0.1,0.129424,0.145485);
1482 g->SetPoint(8,-0.1,4.52372); g->SetPointError(8,0.1,0.1,0.129049,0.145285);
1483 g->SetPoint(9,0.1,4.52946); g->SetPointError(9,0.1,0.1,0.131266,0.144285);
1484 g->SetPoint(10,0.3,4.56411); g->SetPointError(10,0.1,0.1,0.130652,0.149019);
1485 g->SetPoint(11,0.5,4.63554); g->SetPointError(11,0.1,0.1,0.133415,0.144298);
1486 g->SetPoint(12,0.7,4.71592); g->SetPointError(12,0.1,0.1,0.136436,0.151768);
1487 g->SetPoint(13,0.9,4.8059); g->SetPointError(13,0.1,0.1,0.136996,0.142551);
1488 g->SetPoint(14,1.1,4.88457); g->SetPointError(14,0.1,0.1,0.134237,0.142764);
1489 g->SetPoint(15,1.3,4.92903); g->SetPointError(15,0.1,0.1,0.131933,0.152767);
1490 g->SetPoint(16,1.5,4.96487); g->SetPointError(16,0.1,0.1,0.140214,0.147354);
1491 g->SetPoint(17,1.7,4.95502); g->SetPointError(17,0.1,0.1,0.156906,0.14759);
bfab35d9 1492
d43c6cd0 1493 SetGraphAttributes(g, INEL, WIP, false,
1494 "alice_ppInel7000Work",
1495 "PWG-UD/MULT - work in progress");
1496 return g;
1497 }
1498 //____________________________________________________________________
1499 /**
1500 * Get the ALICE NSD data in @f$ |\eta|<1.8@f$ for pp
1501 * at @f$ \sqrt{s} = 7000GeV@f$
1502 * Work in progress
1503 *
1504 * @return graph of data
1505 *
1506 * @ingroup pwglf_forward_otherdata
1507 */
1508 static TGraphAsymmErrors* AliceCentralNsd7000Work()
1509 {
1510 TGraphAsymmErrors* g = new TGraphAsymmErrors(18);
1511 g->SetPoint(0,-1.7,6.12747);g->SetPointError(0,0.1,0.1,0.157334,0.164918);
1512 g->SetPoint(1,-1.5,6.1353); g->SetPointError(1,0.1,0.1,0.146834,0.152011);
1513 g->SetPoint(2,-1.3,6.09648);g->SetPointError(2,0.1,0.1,0.140067,0.143287);
1514 g->SetPoint(3,-1.1,6.02552);g->SetPointError(3,0.1,0.1,0.133435,0.135281);
1515 g->SetPoint(4,-0.9,5.91705);g->SetPointError(4,0.1,0.1,0.129449,0.130381);
1516 g->SetPoint(5,-0.7,5.81246);g->SetPointError(5,0.1,0.1,0.126477,0.126883);
1517 g->SetPoint(6,-0.5,5.71104);g->SetPointError(6,0.1,0.1,0.124521,0.124655);
1518 g->SetPoint(7,-0.3,5.63422);g->SetPointError(7,0.1,0.1,0.120116,0.12013);
1519 g->SetPoint(8,-0.1,5.57977);g->SetPointError(8,0.1,0.1,0.119286,0.119256);
1520 g->SetPoint(9,0.1,5.58662); g->SetPointError(9,0.1,0.1,0.119331,0.119301);
1521 g->SetPoint(10,0.3,5.6291); g->SetPointError(10,0.1,0.1,0.120683,0.120697);
1522 g->SetPoint(11,0.5,5.7166); g->SetPointError(11,0.1,0.1,0.122787,0.122923);
1523 g->SetPoint(12,0.7,5.81463);g->SetPointError(12,0.1,0.1,0.126293,0.1267);
1524 g->SetPoint(13,0.9,5.92404);g->SetPointError(13,0.1,0.1,0.129522,0.130456);
1525 g->SetPoint(14,1.1,6.01958);g->SetPointError(14,0.1,0.1,0.134505,0.136333);
1526 g->SetPoint(15,1.3,6.07232);g->SetPointError(15,0.1,0.1,0.140728,0.143909);
1527 g->SetPoint(16,1.5,6.11596);g->SetPointError(16,0.1,0.1,0.14756,0.15268);
1528 g->SetPoint(17,1.7,6.10155);g->SetPointError(17,0.1,0.1,0.151731,0.159518);
bfab35d9 1529
d43c6cd0 1530 SetGraphAttributes(g, NSD, WIP, false,
1531 "alice_ppNsd7000Work",
1532 "PWG-UD/MULT - work in progress");
1533 return g;
1534 }
bfab35d9 1535
d43c6cd0 1536 //____________________________________________________________________
1537 /**
1538 * Get the ALICE INELGt0 data in @f$ |\eta|<1.8@f$ for pp
1539 * at @f$ \sqrt{s} = 7000GeV@f$
1540 * Work in progress
1541 *
1542 * @return graph of data
1543 *
1544 * @ingroup pwglf_forward_otherdata
1545 */
1546 static TGraphAsymmErrors* AliceCentralInelGt7000Work()
1547 {
1548 TGraphAsymmErrors* g = new TGraphAsymmErrors(10);
1549 g->SetPoint(0,-0.9,6.22689);g->SetPointError(0,0.1,0.1,0.0959094,0.10395);
1550 g->SetPoint(1,-0.7,6.11603);g->SetPointError(1,0.1,0.1,0.0609242,0.0984269);
1551 g->SetPoint(2,-0.5,6.00881);g->SetPointError(2,0.1,0.1,0.0595691,0.0842045);
1552 g->SetPoint(3,-0.3,5.9274); g->SetPointError(3,0.1,0.1,0.0560837,0.0780806);
1553 g->SetPoint(4,-0.1,5.86988);g->SetPointError(4,0.1,0.1,0.0552611,0.0798584);
1554 g->SetPoint(5,0.1,5.8773); g->SetPointError(5,0.1,0.1,0.062512,0.077947);
1555 g->SetPoint(6,0.3,5.92215); g->SetPointError(6,0.1,0.1,0.0535152,0.0863595);
1556 g->SetPoint(7,0.5,6.01458); g->SetPointError(7,0.1,0.1,0.0578218,0.0745799);
1557 g->SetPoint(8,0.7,6.1186); g->SetPointError(8,0.1,0.1,0.0767397,0.0899574);
1558 g->SetPoint(9,0.9,6.23468); g->SetPointError(9,0.1,0.1,0.0786932,0.073295);
bfab35d9 1559
d43c6cd0 1560 SetGraphAttributes(g, INELGt0, WIP, false,
1561 "alice_ppInelGt7000Work",
1562 "PWG-UD/MULT - work in progress");
1563 return g;
1564 }
1565 //____________________________________________________________________
1566 /**
1567 * Get the ALICE INEL data in @f$ |\eta|<1.8@f$ for pp
1568 * at @f$ \sqrt{s} = 8000GeV@f$
1569 * Work in progress
1570 *
1571 * @return graph of data
1572 *
1573 * @ingroup pwglf_forward_otherdata
1574 */
1575 static TGraphAsymmErrors* AliceCentralInel8000Work()
1576 {
1577 TGraphAsymmErrors* g = new TGraphAsymmErrors(18);
1578 g->SetPoint(0,-1.7,5.1333); g->SetPointError(0,0.1,0.1,0.0613865,0.0707879);
1579 g->SetPoint(1,-1.5,5.14341);g->SetPointError(1,0.1,0.1,0.117829,0.121428);
1580 g->SetPoint(2,-1.3,5.13589);g->SetPointError(2,0.1,0.1,0.110807,0.113393);
1581 g->SetPoint(3,-1.1,5.06167);g->SetPointError(3,0.1,0.1,0.120091,0.121635);
1582 g->SetPoint(4,-0.9,4.97796);g->SetPointError(4,0.1,0.1,0.116141,0.117154);
1583 g->SetPoint(5,-0.7,4.88431);g->SetPointError(5,0.1,0.1,0.11944,0.120064);
1584 g->SetPoint(6,-0.5,4.81236);g->SetPointError(6,0.1,0.1,0.11049,0.110936);
1585 g->SetPoint(7,-0.3,4.72239);g->SetPointError(7,0.1,0.1,0.110969,0.111284);
1586 g->SetPoint(8,-0.1,4.66962);g->SetPointError(8,0.1,0.1,0.125108,0.125337);
1587 g->SetPoint(9,0.1,4.69441); g->SetPointError(9,0.1,0.1,0.113766,0.114021);
1588 g->SetPoint(10,0.3,4.7335); g->SetPointError(10,0.1,0.1,0.104531,0.104866);
1589 g->SetPoint(11,0.5,4.79917);g->SetPointError(11,0.1,0.1,0.107076,0.107534);
1590 g->SetPoint(12,0.7,4.88713);g->SetPointError(12,0.1,0.1,0.106124,0.106827);
1591 g->SetPoint(13,0.9,4.98035);g->SetPointError(13,0.1,0.1,0.120107,0.121087);
1592 g->SetPoint(14,1.1,5.05366);g->SetPointError(14,0.1,0.1,0.115795,0.11739);
1593 g->SetPoint(15,1.3,5.11276);g->SetPointError(15,0.1,0.1,0.123574,0.125877);
1594 g->SetPoint(16,1.5,5.16105);g->SetPointError(16,0.1,0.1,0.0979751,0.102305);
1595 g->SetPoint(17,1.7,5.16477);g->SetPointError(17,0.1,0.1,0.116096,0.121392);
bfab35d9 1596
d43c6cd0 1597 SetGraphAttributes(g, INEL, WIP, false,
1598 "alice_ppInel8000Work",
1599 "PWG-UD/MULT - work in progress");
1600 return g;
1601 }
bfab35d9 1602
d43c6cd0 1603 //____________________________________________________________________
1604 /**
1605 * Get the ALICE NSD data in @f$ |\eta|<1.8@f$ for pp
1606 * at @f$ \sqrt{s} = 8000GeV@f$
1607 * Work in progress
1608 *
1609 * @return graph of data
1610 *
1611 * @ingroup pwglf_forward_otherdata
1612 */
1613 static TGraphAsymmErrors* AliceCentralNsd8000Work()
1614 {
1615 TGraphAsymmErrors* g = new TGraphAsymmErrors(18);
1616 g->SetPoint(0,-1.7,6.28722);g->SetPointError(0,0.1,0.1,0.220541,0.2263);
1617 g->SetPoint(1,-1.5,6.29211);g->SetPointError(1,0.1,0.1,0.126653,0.132922);
1618 g->SetPoint(2,-1.3,6.29313);g->SetPointError(2,0.1,0.1,0.142432,0.145805);
1619 g->SetPoint(3,-1.1,6.1944); g->SetPointError(3,0.1,0.1,0.116871,0.119093);
1620 g->SetPoint(4,-0.9,6.09529);g->SetPointError(4,0.1,0.1,0.121064,0.122121);
1621 g->SetPoint(5,-0.7,5.97811);g->SetPointError(5,0.1,0.1,0.111525,0.112012);
1622 g->SetPoint(6,-0.5,5.88992);g->SetPointError(6,0.1,0.1,0.119488,0.119637);
1623 g->SetPoint(7,-0.3,5.78296);g->SetPointError(7,0.1,0.1,0.114947,0.114962);
1624 g->SetPoint(8,-0.1,5.71633);g->SetPointError(8,0.1,0.1,0.0933,0.09326);
1625 g->SetPoint(9,0.1,5.74663); g->SetPointError(9,0.1,0.1,0.109892,0.109857);
1626 g->SetPoint(10,0.3,5.79472);g->SetPointError(10,0.1,0.1,0.123704,0.123718);
1627 g->SetPoint(11,0.5,5.87545);g->SetPointError(11,0.1,0.1,0.122522,0.122667);
1628 g->SetPoint(12,0.7,5.98273);g->SetPointError(12,0.1,0.1,0.128316,0.128739);
1629 g->SetPoint(13,0.9,6.09037);g->SetPointError(13,0.1,0.1,0.114321,0.115437);
1630 g->SetPoint(14,1.1,6.18105);g->SetPointError(14,0.1,0.1,0.125412,0.127476);
1631 g->SetPoint(15,1.3,6.24275);g->SetPointError(15,0.1,0.1,0.118631,0.122597);
1632 g->SetPoint(16,1.5,6.28916);g->SetPointError(16,0.1,0.1,0.144205,0.149736);
1633 g->SetPoint(17,1.7,6.28878);g->SetPointError(17,0.1,0.1,0.134438,0.143695);
bfab35d9 1634
d43c6cd0 1635 SetGraphAttributes(g, NSD, WIP, false,
1636 "alice_ppNsd8000Work",
1637 "PWG-UD/MULT - work in progress");
1638 return g;
1639 }
1640 //____________________________________________________________________
1641 /**
1642 * Get the ALICE INELGt0 data in @f$ |\eta|<1.8@f$ for pp
1643 * at @f$ \sqrt{s} = 8000GeV@f$
1644 * Work in progress
1645 *
1646 * @return graph of data
1647 *
1648 * @ingroup pwglf_forward_otherdata
1649 */
1650 static TGraphAsymmErrors* AliceCentralInelGt8000Work()
1651 {
1652 TGraphAsymmErrors* g = new TGraphAsymmErrors(10);
1653 g->SetPoint(0,-0.9,6.38567);g->SetPointError(0,0.1,0.1,0.0436571,0.0436571);
1654 g->SetPoint(1,-0.7,6.26363);g->SetPointError(1,0.1,0.1,0.0312036,0.0312036);
1655 g->SetPoint(2,-0.5,6.17205);g->SetPointError(2,0.1,0.1,0.0351509,0.0351509);
1656 g->SetPoint(3,-0.3,6.05629);g->SetPointError(3,0.1,0.1,0.0302028,0.0302028);
1657 g->SetPoint(4,-0.1,5.98823);g->SetPointError(4,0.1,0.1,0.0141541,0.0141541);
1658 g->SetPoint(5,0.1,6.02043); g->SetPointError(5,0.1,0.1,0.0256893,0.0256893);
1659 g->SetPoint(6,0.3,6.07111); g->SetPointError(6,0.1,0.1,0.0380304,0.0380304);
1660 g->SetPoint(7,0.5,6.15492); g->SetPointError(7,0.1,0.1,0.0384435,0.0384435);
1661 g->SetPoint(8,0.7,6.26781); g->SetPointError(8,0.1,0.1,0.0450579,0.0450579);
1662 g->SetPoint(9,0.9,6.38491); g->SetPointError(9,0.1,0.1,0.0396431,0.0396431);
bfab35d9 1663
d43c6cd0 1664 SetGraphAttributes(g, INELGt0, WIP, false,
1665 "alice_ppInelGt8000Work",
1666 "PWG-UD/MULT - work in progress");
1667 return g;
1668 }
7e4038b5 1669
d43c6cd0 1670 //____________________________________________________________________
1671 /**
1672 * Get the CMS NSD data in @f$ |\eta|<2.25@f$ for pp at @f$
1673 * \sqrt{s} = 900GeV@f$
1674 *
1675 * p7743_d8x1y1
1676 *
1677 * @return graph of data
1678 *
1679 * @ingroup pwglf_forward_otherdata
1680 */
1681 static TGraphAsymmErrors* CMSNsd900()
1682 {
1683 // CMS published NSD data - p7743_d8x1y1
1684 double x[] ={ -2.25, -1.75, -1.25, -0.75, -0.25, 0.25, 0.75,1.25,1.75,2.25};
1685 double exm[] ={ 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25};
1686 double exp[] ={ 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25};
1687 double y[] = { 3.6, 3.73, 3.62, 3.54, 3.48, 3.48, 3.54, 3.62, 3.73, 3.6 };
1688 double eym[] ={ 0.13, 0.14, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.14,0.13 };
1689 double eyp[] ={ 0.13, 0.14, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.14,0.13 };
1690 const int np = 10;
1691 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
1692 SetGraphAttributes(g, NSD, CMS, false, "cms_nsd900", "CMS");
7e4038b5 1693
d43c6cd0 1694 return g;
1695 }
7e4038b5 1696
1697
d43c6cd0 1698 //____________________________________________________________________
1699 /**
1700 * Get the CMS NSD data in @f$ |\eta|<2.25@f$ for pp at @f$
1701 * \sqrt{s} = 2.36GeV@f$
1702 *
1703 * p7743_d8x1y2
1704 *
1705 * @return graph of data
1706 *
1707 * @ingroup pwglf_forward_otherdata
1708 */
1709 static TGraphAsymmErrors* CMSNsd2360()
1710 {
1711 // CMS NSD 2360 - p7743_d8x1y2
1712 double x[] ={ -2.25, -1.75, -1.25, -0.75, -0.25, 0.25, 0.75,1.25,1.75,2.25};
1713 double exm[] ={ 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25};
1714 double exp[] ={ 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25};
1715 double y[] = { 4.78, 4.81, 4.66, 4.61, 4.47, 4.47, 4.61, 4.66, 4.81, 4.78};
1716 double eym[] ={ 0.17, 0.18, 0.17, 0.17, 0.16, 0.16, 0.17, 0.17, 0.18, 0.17};
1717 double eyp[] ={ 0.17, 0.18, 0.17, 0.17, 0.16, 0.16, 0.17, 0.17, 0.18, 0.17};
1718 const int np = 10;
1719 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
1720 SetGraphAttributes(g, NSD, CMS, false, "cms_nsd2360", "CMS");
1721 return g;
1722 }
7e4038b5 1723
1724
d43c6cd0 1725 //____________________________________________________________________
1726 /**
1727 * Get the CMS NSD data in @f$ |\eta|<2.25@f$ for pp at @f$
1728 * \sqrt{s} = 7TeV@f$
1729 *
1730 * p7838_d5x1y1
1731 *
1732 * @return graph of data
1733 *
1734 * @ingroup pwglf_forward_otherdata
1735 */
1736 static TGraphAsymmErrors* CMSNsd7000()
1737 {
1738 // CMS NSD 7000 - Plot: p7838_d5x1y1
1739 double x[] ={ -2.25, -1.75, -1.25, -0.75, -0.25, 0.25, 0.75,1.25,1.75,2.25};
1740 double exm[] ={ 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25};
1741 double exp[] ={ 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25};
1742 double y[] ={ 6.18, 6.26, 6.14, 6.01, 5.78, 5.78, 6.01, 6.14, 6.26, 6.18 };
1743 double eym[] ={ 0.25, 0.25, 0.24, 0.24, 0.23, 0.23, 0.24, 0.24, 0.25, 0.25};
1744 double eyp[] ={ 0.25, 0.25, 0.24, 0.24, 0.23, 0.23, 0.24, 0.24, 0.25, 0.25};
1745 const int np = 10;
1746 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
1747 SetGraphAttributes(g, NSD, CMS, false, "cms_nsd7000", "CMS");
1748 return g;
1749 }
7e4038b5 1750
7095962e
CHC
1751 //____________________________________________________________________
1752 static TGraphAsymmErrors* AlicePbPb2760(UShort_t centLow, UShort_t centHigh)
1753 {
1754 const Int_t n = 42;
1755 // --- /HepData/8430/d1x1y1 --------------------------------------
1756 const double x[] = { -4.875, -4.625, -4.375, -4.125, -3.875,
1757 -3.625, -3.375, -3.125, -2.875, -2.625,
1758 -2.375, -2.125, -1.875, -1.625, -1.375,
1759 -1.125, -0.875, -0.625, -0.375, -0.125,
1760 +0.125, +0.375, +0.625, +0.875, +1.125,
1761 +1.375, +1.625, +1.875, +2.125, +2.375,
1762 +2.625, +2.875, +3.125, +3.375, +3.625,
1763 +3.875, +4.125, +4.375, +4.625, +4.875,
1764 +5.125, +5.375 };
1765 const double xe[] = { 0.125, 0.125, 0.125, 0.125, 0.125, 0.125,
1766 0.125, 0.125, 0.125, 0.125, 0.125, 0.125,
1767 0.125, 0.125, 0.125, 0.125, 0.125, 0.125,
1768 0.125, 0.125, 0.125, 0.125, 0.125, 0.125,
1769 0.125, 0.125, 0.125, 0.125, 0.125, 0.125,
1770 0.125, 0.125, 0.125, 0.125, 0.125, 0.125,
1771 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 };
1772 const double y00_05[] = { 888.0, 974.0, 1046.0, 1128.0, 1209.0, 1304.0,
1773 1388.0, 1449.0, 1504.0, 1578.0, 1627.0, 1674.0,
1774 1709.0, 1736.0, 1739.0, 1699.0, 1674.0, 1658.0,
1775 1627.0, 1615.0, 1615.0, 1627.0, 1658.0, 1674.0,
1776 1699.0, 1739.0, 1736.0, 1709.0, 1674.0, 1627.0,
1777 1578.0, 1504.0, 1449.0, 1388.0, 1304.0, 1209.0,
1778 1128.0, 1046.0, 974.0, 888.0, 770.0, 667.0};
1779 const double ye00_05[] = { 39.0, 41.0, 44.0, 46.0, 50.0, 54.0, 57.0,
1780 59.0, 58.0, 61.0, 62.0, 62.0, 66.0, 64.0,
1781 65.0, 68.0, 46.0, 40.0, 39.0, 39.0, 39.0,
1782 39.0, 40.0, 46.0, 68.0, 65.0, 64.0, 66.0,
1783 62.0, 62.0, 61.0, 58.0, 59.0, 57.0, 54.0,
1784 50.0, 46.0, 44.0, 41.0, 39.0, 42.0, 39.0 };
1785 // --- /HepData/8430/d1x1y2 --------------------------------------
1786 const double y05_10[] = { 744.0, 807.0, 861.0, 929.0, 1001.0, 1072.0,
1787 1144.0, 1196.0, 1243.0, 1298.0, 1333.0, 1361.0,
1788 1393.0, 1422.0, 1418.0, 1380.0, 1362.0, 1338.0,
1789 1330.0, 1318.0, 1318.0, 1330.0, 1338.0, 1362.0,
1790 1380.0, 1418.0, 1422.0, 1393.0, 1361.0, 1333.0,
1791 1298.0, 1243.0, 1196.0, 1144.0, 1072.0, 1001.0,
1792 929.0, 861.0, 807.0, 744.0, 651.0, 577.0 };
1793 const double ye05_10[] = { 34.0, 35.0, 37.0, 39.0, 43.0, 46.0, 49.0,
1794 51.0, 51.0, 52.0, 54.0, 54.0, 58.0, 56.0,
1795 56.0, 58.0, 37.0, 32.0, 32.0, 32.0, 32.0,
1796 32.0, 32.0, 37.0, 58.0, 56.0, 56.0, 58.0,
1797 54.0, 54.0, 52.0, 51.0, 51.0, 49.0, 46.0,
1798 43.0, 39.0, 37.0, 35.0, 34.0, 39.0, 35.0 };
1799
1800 // --- /HepData/8430/d1x1y3 --------------------------------------
1801 const double y10_20[] = { 559.0, 615.0, 656.0, 705.0, 754.0, 812.0,
1802 862.0, 899.0, 928.0, 969.0, 998.0, 1022.0,
1803 1048.0, 1062.0, 1064.0, 1026.0, 1014.0, 1006.0,
1804 991.0, 982.0, 982.0, 991.0, 1006.0, 1014.0,
1805 1026.0, 1064.0, 1062.0, 1048.0, 1022.0, 998.0,
1806 969.0, 928.0, 899.0, 862.0, 812.0, 754.0,
1807 705.0, 656.0, 615.0, 559.0, 491.0, 451.0 };
1808 const double ye10_20[] = { 29.0, 31.0, 32.0, 33.0, 36.0, 39.0, 42.0,
1809 43.0, 44.0, 45.0, 45.0, 44.0, 46.0, 47.0,
1810 47.0, 46.0, 28.0, 24.0, 24.0, 24.0, 24.0,
1811 24.0, 24.0, 28.0, 46.0, 47.0, 47.0, 46.0,
1812 44.0, 45.0, 45.0, 44.0, 43.0, 42.0, 39.0,
1813 36.0, 33.0, 32.0, 31.0, 29.0, 37.0, 29.0 };
1814
1815 // --- /HepData/8430/d1x1y4 --------------------------------------
1816 const double y20_30[] = { 389.0, 429.0, 459.0, 491.0, 526.0, 563.0,
1817 596.0, 619.0, 641.0, 669.0, 683.0, 700.0,
1818 716.0, 725.0, 724.0, 701.0, 692.0, 682.0,
1819 673.0, 666.0, 666.0, 673.0, 682.0, 692.0,
1820 701.0, 724.0, 725.0, 716.0, 700.0, 683.0,
1821 669.0, 641.0, 619.0, 596.0, 563.0, 526.0,
1822 491.0, 459.0, 429.0, 389.0, 343.0, 313.0 };
1823 const double ye20_30[] = { 21.0, 22.0, 24.0, 25.0, 27.0, 30.0, 31.0,
1824 32.0, 34.0, 35.0, 33.0, 34.0, 35.0, 36.0,
1825 37.0, 34.0, 19.0, 16.0, 16.0, 16.0, 16.0,
1826 16.0, 16.0, 19.0, 34.0, 37.0, 36.0, 35.0,
1827 34.0, 33.0, 35.0, 34.0, 32.0, 31.0, 30.0,
1828 27.0, 25.0, 24.0, 22.0, 21.0, 26.0, 22.0 };
1829
1830 // --- Select ----------------------------------------------------
1831 const double* yp = 0;
1832 const double* ype = 0;
1833 if (TMath::Abs(centLow- 0) < 1 && TMath::Abs(centHigh- 5) < 1) {
1834 yp = y00_05;
1835 ype = ye00_05;
1836 }
1837 else if (TMath::Abs(centLow- 5) < 1 && TMath::Abs(centHigh-10) < 1) {
1838 yp = y05_10;
1839 ype = ye05_10;
1840 }
1841 else if (TMath::Abs(centLow-10) < 1 && TMath::Abs(centHigh-20) < 1) {
1842 yp = y10_20;
1843 ype = ye10_20;
1844 }
1845 else if (TMath::Abs(centLow-20) < 1 && TMath::Abs(centHigh-30) < 1) {
1846 yp = y20_30;
1847 ype = ye20_30;
1848 }
1849 if (!yp || !ype) return 0;
1850 TGraphAsymmErrors* g = new TGraphAsymmErrors(n,x,yp,xe,xe,ype,ype);
1851 SetGraphAttributes(g, INEL, ALICE, false, "alice_pbpb2760",
1852 "#it{Phys.Lett.} #bf{B726}:610-622,2013");
1853
1854 return g;
1855 }
d43c6cd0 1856 //____________________________________________________________________
1857 /**
1858 * Get a single data graph
1859 *
1860 * @param which Which type
1861 * @param sys Collisition system
1862 * @param energy Collision energy
1863 * @param type Trigger type
1864 * @param centLow Low cut on centrality
1865 * @param centHigh Up cut on centraltiy
1866 *
1867 * @return Data graph
1868 */
1869 static TGraphAsymmErrors* GetSingle(UShort_t which,
1870 UShort_t sys,
1871 UShort_t energy,
1872 UShort_t type=0x1,
1873 UShort_t centLow=0,
7095962e
CHC
1874 UShort_t centHigh=0,
1875 Bool_t verbose=false)
d43c6cd0 1876 {
1877 TGraphAsymmErrors* ret = 0;
1878 if (sys == 1) {
1879 if (TMath::Abs(energy-900) < 10) {
1880 switch (type) {
1881 case 1: // INEL
1882 switch (which) {
1883 case PYTHIA: ret = Pythia900INEL(); break;
1884 case UA5: ret = UA5Inel(false); break;
1885 case UA5+10: ret = UA5Inel(true); break;
1886 case ALICE: ret = AliceCentralInel900(); break;
1887 case WIP: ret = AliceCentralInel900Work(); break;
1888 }
1889 break;
1890 case 2: // INEL>0
1891 switch (which) {
1892 case ALICE: ret = AliceCentralInelGt900(); break;
1893 case WIP: ret = AliceCentralInelGt900Work(); break;
1894 }
1895 break;
ebe65253 1896 case 4: // NSD
1897 case 0x2000: // V0-AND - same as NSD
d43c6cd0 1898 switch (which) {
1899 case PYTHIA: ret = Pythia900NSD(); break;
1900 case UA5: ret = UA5Nsd(false); break;
1901 case UA5+10: ret = UA5Nsd(true); break;
1902 case ALICE: ret = AliceCentralNsd900(); break;
1903 case WIP: ret = AliceCentralNsd900Work(); break;
1904 case CMS: ret = CMSNsd900(); break;
1905 }
1906 break;
1907 } // type
bfab35d9 1908 }
d43c6cd0 1909 else if (TMath::Abs(energy-2360) < 10) {
1910 switch (type) {
1911 case 1: // INEL
1912 switch (which) {
1913 case ALICE: ret = AliceCentralInel2360(); break;
1914 case WIP: ret = AliceCentralInel2760Work(); break;
1915 }
1916 break;
1917 case 2: // INEL > 0
1918 switch (which) {
1919 case ALICE: ret = AliceCentralInelGt2360(); break;
1920 case WIP: ret = AliceCentralInelGt2760Work(); break;
1921 }
1922 break;
1923 case 4: // NSD
1924 switch (which) {
1925 case ALICE: ret = AliceCentralNsd2360(); break;
1926 case CMS: ret = CMSNsd2360(); break;
1927 case WIP: ret = AliceCentralNsd2760Work(); break;
1928 }
1929 break;
bfab35d9 1930 }
797161e8 1931 }
d43c6cd0 1932 else if (TMath::Abs(energy-2760) < 10) {
1933 switch (type) {
1934 case 1: // INEL
1935 switch (which) {
1936 case WIP: ret = AliceCentralInel2760Work(); break;
1937 }
1938 break;
1939 case 2: // INEL > 0
1940 switch (which) {
1941 case WIP: ret = AliceCentralInelGt2760Work(); break;
1942 }
1943 break;
1944 case 4: // NSD
1945 switch (which) {
1946 case WIP: ret = AliceCentralNsd2760Work(); break;
1947 }
1948 break;
bfab35d9 1949 }
d43c6cd0 1950 }
1951 else if (TMath::Abs(energy-7000) < 10) {
1952 switch (type) {
1953 case 1:
1954 switch (which) {
1955 case WIP: ret = AliceCentralInel7000Work(); break;
1956 }
1957 break;
1958 case 2: // INEL > 0
1959 switch (which) {
1960 case ALICE: ret = AliceCentralInelGt7000(); break;
1961 case WIP: ret = AliceCentralInelGt7000Work(); break;
1962 }
1963 break;
1964 case 4: // NSD
1965 switch (which) {
1966 case CMS: ret = CMSNsd7000(); break;
1967 case WIP: ret = AliceCentralNsd7000Work(); break;
1968 }
1969 break;
797161e8 1970 }
d43c6cd0 1971 }
1972 else if (TMath::Abs(energy-8000) < 10) {
1973 switch (type) {
1974 case 1:
1975 switch (which) {
1976 case WIP: ret = AliceCentralInel8000Work(); break;
1977 }
1978 break;
1979 case 2: // INEL > 0
1980 switch (which) {
1981 case WIP: ret = AliceCentralInelGt8000Work(); break;
1982 }
1983 break;
1984 case 4: // NSD
1985 switch (which) {
1986 case WIP: ret = AliceCentralNsd8000Work(); break;
1987 }
1988 break;
bfab35d9 1989 }
bfab35d9 1990 }
7095962e
CHC
1991 } // pp
1992 else if (sys == 2) { // PbPb
1993 if (TMath::Abs(energy - 2760) < 10) {
1994 switch (which) {
1995 case ALICE: ret = AlicePbPb2760(centLow, centHigh);
1996 }
1997 }
1998 if (ret) {
1999 Int_t col = CentralityColor(centLow, centHigh);
2000 ret->SetMarkerColor(col);
2001 ret->SetLineColor(col);
2002 ret->SetFillColor(col);
2003 }
bfab35d9 2004 }
d43c6cd0 2005 else if (sys == 3) { // pPb
2006 if (TMath::Abs(energy - 5023) < 10 ||
2007 TMath::Abs(energy - 8000) < 10) {
bfab35d9 2008 switch (which) {
d43c6cd0 2009 case ALICE: ret = AliceCentralpPb5023(); break;
bfab35d9 2010 }
797161e8 2011 }
7095962e 2012 } // pPb
d43c6cd0 2013 if (!ret) {
2014 TString w;
6d233add 2015 switch (which) {
d43c6cd0 2016 case UA5: w = "UA5"; break;
2017 case CMS: w = "CMS"; break;
2018 case ALICE: w = "ALICE"; break;
2019 case WIP: w = "WIP"; break;
2020 case PYTHIA:w = "Pyhthia"; break;
2021 default: w = Form("unknown(%d)", which);
6d233add 2022 }
d43c6cd0 2023 TString sy;
2024 switch (sys) {
2025 case 1: sy = "pp"; break;
2026 case 2: sy = "PbPb"; break;
2027 case 3: sy = "pPb"; break;
2028 default: sy = Form("unknown(%d)", sys);
2029 }
2030 TString tr;
7095962e
CHC
2031 if (sys == 1 || sys == 3) {
2032 switch (type) {
2033 case 1: tr = "INEL"; break;
2034 case 2: tr = "INEL>0"; break;
2035 case 4: tr = "NSD"; break;
2036 default: tr = Form("unknown(%d)", sys);
2037 }
d43c6cd0 2038 }
7095962e
CHC
2039 else
2040 tr.Form("%2d--%2d%%", centLow, centHigh);
2041
2042 if (verbose)
2043 Warning("GetSingle", "Nothing to get for "
2044 "which=%s, sys=%s, energy=%dGeV, type=%s, "
2045 "centLow=%d, centHigh=%d",
2046 w.Data(), sy.Data(), energy, tr.Data(), centLow, centHigh);
6d233add 2047 }
d43c6cd0 2048#if 0
2049 if (ret) {
2050 if (!wn.IsNull()) wn.Append(",");
2051 switch (which) {
2052 case PYTHIA: wn.Append("Pythia"); break;
2053 case UA5: wn.Append("UA5"); break;
2054 case CMS: wn.Append("CMS"); break;
2055 case ALICE: wn.Append("ALICE"); break;
2056 }
bfab35d9 2057 }
d43c6cd0 2058#endif
2059 return ret;
05cc5a69 2060 }
d43c6cd0 2061
2062 //____________________________________________________________________
2063 /**
2064 * Append an item to a list
2065 *
2066 * @param s List to append to
2067 * @param delim Delimiter
2068 * @param what What to append
2069 *
2070 * @return New string value
2071 */
2072 static TString& AppendItem(TString& s, char delim, const char* what)
2073 {
2074 if (!s.IsNull()) s.Append(Form("%c", delim));
2075 s.Append(what);
2076 return s;
f7cfc454 2077 }
797161e8 2078
7095962e
CHC
2079 static void FormatEnergy(TString& en, UShort_t sys, UShort_t energy)
2080 {
2081 en.Append(Form("#sqrt{s%s}=", sys == 1 ? "" : "_{NN}"));
2082 if (energy < 1000)
2083 en.Append(Form("%dGeV", energy));
2084 else {
2085 if (energy % 1000 == 0)
2086 en.Append(Form("%dTeV", energy/1000));
2087 else
2088 en.Append(Form("%4.2fTeV", float(energy)/1000));
2089 }
2090 }
2091 static void FormatSystem(TString& sn, UShort_t sys)
2092 {
2093 switch (sys) {
2094 case 1: sn = "pp"; break;
2095 case 2: sn = "PbPb"; break;
2096 case 3: sn = "pPb"; break;
2097 default: sn = "unknown"; break;
2098 }
2099 }
2100 static void FormatCentrality(TString& cn, UShort_t sys, UShort_t l,UShort_t u)
2101 {
2102 if (sys == 2) cn.Form("%d%% - %d%% central", l, u);
2103 }
2104 static void FormatType(TString& tn, UShort_t sys, UShort_t type)
2105 {
2106 if (sys == 2) {
2107 tn = "";
2108 return;
2109 }
2110 if (type == 0x2000) type = 0x4;
2111 if (type & 0x1) AppendItem(tn, '|', "INEL");
2112 if (type & 0x2) AppendItem(tn, '|', "INEL>0");
2113 if (type & 0x4) AppendItem(tn, '|', "NSD");
2114 }
2115 static void FormatTitle(TString& title,
2116 UShort_t sys,
2117 UShort_t energy,
2118 UShort_t type,
2119 UShort_t centLow,
2120 UShort_t centHigh,
2121 Bool_t seenUA5)
2122 {
2123 TString sn; FormatSystem(sn, sys);
2124 TString en; FormatEnergy(en, sys, energy);
2125 TString tn; FormatType(tn, sys, type);
2126 TString cn; FormatCentrality(cn, sys, centLow, centHigh);
2127 if (seenUA5) sn.Append("(p#bar{p})");
2128 if (!en.IsNull()) en.Prepend(", ");
2129 if (!tn.IsNull()) tn.Prepend(", ");
2130 if (!cn.IsNull()) cn.Prepend(", ");
2131 title.Form("%s%s%s%s", sn.Data(), en.Data(), tn.Data(), cn.Data());
2132 }
2133 //__________________________________________________________________
2134 /**
2135 * Get the color for a centrality bin
2136 *
2137 * @param bin Centrality bin
2138 *
2139 * @return Color
2140 */
2141 static Int_t CentralityColor(UShort_t centLow,
2142 UShort_t centHigh,
2143 UShort_t /*nBins*/=0)
2144 {
2145#if 0
2146 if (nBins > 0 && nBins < 6) {
2147 switch (bin) {
2148 case 1: return kRed+2;
2149 case 2: return kGreen+2;
2150 case 3: return kBlue+1;
2151 case 4: return kCyan+1;
2152 case 5: return kMagenta+1;
2153 case 6: return kYellow+2;
2154 }
2155 }
2156#endif
2157 Float_t fc = (centLow+double(centHigh-centLow)/2) / 100;
2158 Int_t nCol = gStyle->GetNumberOfColors();
2159 Int_t icol = TMath::Min(nCol-1,int(fc * nCol + .5));
2160 Int_t col = gStyle->GetColorPalette(icol);
2161 //Info("GetCentralityColor","%3d: %3d-%3d -> %3d",bin,centLow,centHigh,col);
2162 return col;
2163 }
2164 static Bool_t GetPbPb(TMultiGraph* mp,
2165 Bool_t cms, Bool_t alice, Bool_t pythia,
2166 Bool_t work, UShort_t energy, UShort_t centLow,
2167 UShort_t centHigh)
2168 {
2169 // Nothing for PbPb so far
2170 TGraphAsymmErrors* gCMS =(cms ?GetSingle(CMS, 2,energy,0,
2171 centLow, centHigh):0);
2172 TGraphAsymmErrors* gALI =(alice ?GetSingle(ALICE, 2,energy,0,
2173 centLow, centHigh):0);
2174 TGraphAsymmErrors* gPYT =(pythia?GetSingle(PYTHIA,2,energy,0,
2175 centLow, centHigh):0);
2176 TGraphAsymmErrors* gWRK =(work ?GetSingle(WIP, 2,energy,0,
2177 centLow, centHigh):0);
2178 if (gCMS) mp->Add(gCMS);
2179 if (gALI) mp->Add(gALI);
2180 if (gPYT) mp->Add(gPYT);
2181 if (gWRK) mp->Add(gWRK);
2182 return (gCMS || gALI || gPYT || gWRK);
2183 }
d43c6cd0 2184 //____________________________________________________________________
2185 /**
2186 * Get a multi graph of data for a given energy and trigger type
2187 *
2188 * @param sys Collision system (1: pp, 2: PbPb)
2189 * @param energy Energy in GeV (900, 2360, 7000)
2190 * @param type Bit pattern of trigger type
2191 * - 0x1 INEL
2192 * - 0x2 INEL>0
2193 * - 0x4 NSD
2194 * @param centLow Low centrality cut (only for PbPB)
2195 * @param centHigh High centrality cut (only for PbPB)
2196 * @param which What to get
2197 *
2198 * @return A multi graph with the selected data.
2199 *
2200 * @ingroup pwglf_forward_otherdata
2201 */
2202 static TMultiGraph* GetData(UShort_t sys,
2203 UShort_t energy,
2204 UShort_t type=0x1,
2205 UShort_t centLow=0,
2206 UShort_t centHigh=0,
2207 UShort_t which=0x7)
2208 {
2209 TMultiGraph* mp = new TMultiGraph(Form("dndeta_%dGeV_%d_%03d_%03d",
2210 energy, type, centLow, centHigh),"");
d43c6cd0 2211 bool ua5 = (which & (1 << UA5)); // 0x1
2212 bool cms = (which & (1 << CMS)); // 0x2
2213 bool alice = (which & (1 << ALICE)); // 0x4
2214 bool work = (which & (1 << WIP)); // 0x8
2215 bool pythia = (which & (1 << PYTHIA)); // 0x10
7095962e 2216 Bool_t seenUA5 = false;
f7cfc454 2217
d43c6cd0 2218 if (sys == 1) {
ebe65253 2219 if (!(type & 0x2007))
d43c6cd0 2220 Warning("GetData", "Unknown trigger mask 0x%x", type);
797161e8 2221
d43c6cd0 2222 if (TMath::Abs(energy-2750) < 11) {
2223 Warning("GetData", "Using 2360GeV data for %dGeV comparison", energy);
2224 energy = 2360;
2225 }
2226 if (!(TMath::Abs(energy-900) < 10 ||
2227 TMath::Abs(energy-2360) < 10 ||
2228 TMath::Abs(energy-7000) < 10 ||
2229 TMath::Abs(energy-8000) < 10)) {
2230 Warning("GetData", "No other results for sys=%d, energy=%d",
2231 sys, energy);
2232 return 0;
2233 }
d43c6cd0 2234
2235 // Substitute NSD for V0-AND
ebe65253 2236 if (type == 0x2000) {
2237 Warning("GetData", "Using NSD for V0-AND results 0x%04x", type);
2238 type = 4;
2239 }
e308a636 2240
d43c6cd0 2241 for (Int_t i = 0; i < 3; i++) {
2242 UShort_t mask = (1 << i);
2243 if ((type & mask) == 0) continue;
2244 TGraphAsymmErrors* gUAp =(ua5 ?GetSingle(UA5, sys,energy,mask):0);
2245 TGraphAsymmErrors* gUAn =(ua5 ?GetSingle(UA5+10,sys,energy,mask):0);
2246 TGraphAsymmErrors* gCMS =(cms ?GetSingle(CMS, sys,energy,mask):0);
2247 TGraphAsymmErrors* gALI =(alice ?GetSingle(ALICE, sys,energy,mask):0);
2248 TGraphAsymmErrors* gPYT =(pythia?GetSingle(PYTHIA,sys,energy,mask):0);
2249 TGraphAsymmErrors* gWRK =(work ?GetSingle(WIP, sys,energy,mask):0);
2250 if (gUAp) mp->Add(gUAp);
2251 if (gUAn) mp->Add(gUAn);
2252 if (gCMS) mp->Add(gCMS);
2253 if (gALI) mp->Add(gALI);
2254 if (gPYT) mp->Add(gPYT);
2255 if (gWRK) mp->Add(gWRK);
2256 if (gUAp || gUAn) seenUA5 = true;
2257 }
f7cfc454 2258 }
d43c6cd0 2259 else if (sys == 2) {
d43c6cd0 2260 // Warning("GetData", "No other data for PbPb yet");
7095962e 2261 GetPbPb(mp,cms,alice,pythia,work,energy,centLow,centHigh);
797161e8 2262 }
d43c6cd0 2263 else if (sys == 3) {
2264 if (!(TMath::Abs(energy-5023) < 10 ||
2265 TMath::Abs(energy-8000) < 10) ) {
2266 Warning("GetData", "No other results for sys=%d, energy=%d",
2267 sys, energy);
2268 return 0;
2269 }
797161e8 2270
d43c6cd0 2271 // Info("GetData", "Getting ALICE pPb data");
d43c6cd0 2272 TGraphAsymmErrors* gALI =(alice ?GetSingle(ALICE, sys,energy, 0):0);
797161e8 2273 if (gALI) mp->Add(gALI);
d43c6cd0 2274 // Info("GetData", "Got %p", gALI);
2275 // Warning("GetData", "Unknown system %d", sys);
797161e8 2276 }
d43c6cd0 2277
2278 if (!mp->GetListOfGraphs() || mp->GetListOfGraphs()->GetEntries() <= 0) {
2279 delete mp;
2280 mp = 0;
6d233add 2281 return 0;
2282 }
7095962e
CHC
2283 TString title;
2284 FormatTitle(title, sys, energy, type, centLow, centHigh, seenUA5);
2285 mp->SetTitle(title.Data());
d43c6cd0 2286 return mp;
82fc512a 2287 }
d43c6cd0 2288};
7e4038b5 2289//____________________________________________________________________
2290/**
2291 * Plot external data for a given selection of energy and trigger type
2292 * (see GetData)
2293 *
ffca499d 2294 * @param sys Collision system (1: pp, 2: PbPb)
2295 * @param energy Energy in GeV (900, 2360, 7000)
2296 * @param type Bit pattern of trigger type
2297 * - 0x1 INEL
2298 * - 0x2 INEL>0
2299 * - 0x4 NSD
2300 * @param centLow Low centrality cut (only for PbPB)
2301 * @param centHigh High centrality cut (only for PbPB)
c6115ede 2302 * @param which Which data to show
7e4038b5 2303 *
bd6f5206 2304 * @ingroup pwglf_forward_otherdata
7e4038b5 2305 */
2306void
e308a636 2307OtherData(UShort_t sys=1,
797161e8 2308 UShort_t energy=900,
2309 UShort_t type=0x1,
2310 UShort_t centLow=0,
2311 UShort_t centHigh=5,
bfab35d9 2312 UShort_t which=0xf)
7e4038b5 2313{
d43c6cd0 2314 TMultiGraph* mp =
2315 RefData::GetData(sys, energy, type, centLow, centHigh, which);
7095962e
CHC
2316 if (!mp) {
2317 if (sys != 2) return;
2318
2319 UShort_t cents[] = { 0, 5, 10, 20, 30, 40, 50, 60, 70, 80, 100, 0 };
2320 UShort_t* lC = &(cents[0]);
2321 UShort_t* uC = &(cents[1]);
2322 TString title;
2323 RefData::FormatTitle(title, sys, energy, type, centLow, centHigh, false);
2324 mp = new TMultiGraph(Form("pbpb_%04dGeV_%03d_%03d",
2325 energy, centLow, centHigh), title.Data());
2326 Bool_t filled = false;
2327 while (*lC < centLow) { lC++; uC++; }
2328 while (*uC > 0 && *uC <= centHigh) {
2329 TMultiGraph* mg = RefData::GetData(sys, energy, type, *lC, *uC, which);
2330 if (!mg) continue;
2331 filled = true;
2332 mp->Add(mg);
2333 uC++;
2334 lC++;
2335 }
2336 if (!filled) return;
2337 }
82fc512a 2338
7e4038b5 2339 gStyle->SetTitleX(0.1);
2340 gStyle->SetTitleY(1.0);
2341 gStyle->SetTitleW(0.85);
2342 gStyle->SetTitleH(0.05);
2343 gStyle->SetTitleBorderSize(0);
2344 gStyle->SetTitleTextColor(kWhite);
2345 gStyle->SetTitleFillColor(kBlack);
2346 gStyle->SetTitleFontSize(0.02);
2347
797161e8 2348 gStyle->SetOptTitle(0);
7e4038b5 2349 gStyle->SetOptStat(0);
2350
2351 TCanvas* c = new TCanvas("c", "dN/deta", 800, 600);
2352 c->SetFillColor(0);
2353 c->SetBorderSize(0);
2354 c->SetBorderMode(0);
797161e8 2355 c->SetRightMargin(0.02);
2356 c->SetTopMargin(0.02);
7e4038b5 2357
82fc512a 2358
7e4038b5 2359 mp->SetMinimum(0);
2360 mp->Draw("ap");
797161e8 2361 if (mp->GetXaxis()) {
7e4038b5 2362 mp->GetXaxis()->SetTitle("#eta");
797161e8 2363 mp->GetXaxis()->SetTitleFont(12);
2364 mp->GetXaxis()->SetLabelFont(132);
2365 }
2366 if (mp->GetYaxis()) {
2367 mp->GetYaxis()->SetTitle("#frac{1}{N} #frac{dN_{#font[132]{ch}}}{d#eta}");
2368 mp->GetYaxis()->SetTitleFont(12);
2369 mp->GetYaxis()->SetLabelFont(132);
2370 }
2371 TLegend* l = c->BuildLegend(0.3, 0.15, 0.7, 0.5,
2372 mp->GetTitle());
7e4038b5 2373 l->SetFillColor(0);
797161e8 2374 l->SetTextFont(132);
7e4038b5 2375 l->SetBorderSize(0);
797161e8 2376 TLegendEntry* h = static_cast<TLegendEntry*>(l->GetListOfPrimitives()->At(0));
2377 if (h) {
2378 h->SetTextFont(22);
2379 }
7e4038b5 2380 c->cd();
2381}
2382
2383//____________________________________________________________________
2384//
2385// EOF
2386//