]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/FORWARD/analysis2/OtherData.C
Update in cuts for Sigma* and update for lego_train macros (M.Vala)
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / OtherData.C
CommitLineData
ffca499d 1//____________________________________________________________________
2/**
bd6f5206 3 * @defgroup pwglf_forward_otherdata External data
ffca499d 4 *
bd6f5206 5 * @ingroup pwglf_forward_scripts
ffca499d 6 */
7c1a1f1d 7/**
8 * @file
9 *
bd6f5206 10 * @ingroup pwglf_forward_script_otherdata
7c1a1f1d 11 */
7e4038b5 12#include <TGraphAsymmErrors.h>
13#include <TMultiGraph.h>
14#include <TStyle.h>
15#include <TMath.h>
16#include <TCanvas.h>
17#include <TLegend.h>
18
7e4038b5 19//____________________________________________________________________
20/**
21 * Values used
22 *
bd6f5206 23 * @ingroup pwglf_forward_otherdata
7e4038b5 24 */
25enum {
ffca499d 26 UA5,
27 CMS,
28 ALICE,
b6b35c77 29 PYTHIA,
ffca499d 30 INEL,
31 INELGt0,
32 NSD
33};
34enum {
35 /** Style used for UA5 data */
36 UA5Style = 21,
37 /** Style used for CMS data */
38 CMSStyle = 29,
39 /** Style used for ALICE published data */
40 ALICEStyle = 27,
b6b35c77 41 /** Style used for Pythia data */
42 PYTHIAStyle = 28,
7e4038b5 43 /** Color used for UA5 data */
44 UA5Color = kBlue+1,
b6b35c77 45 /** Color used for Pytia data */
46 PYTHIAColor = kGray+2,
7e4038b5 47 /** Color used for CMS data */
48 CMSColor = kGreen+1,
49 /** Color used for ALICE data */
b6b35c77 50 ALICEColor = kMagenta+1
ffca499d 51};
52enum {
7e4038b5 53 /** Marker style INEL data */
ffca499d 54 INELStyle = 22,
7e4038b5 55 /** Marker style INEL>0 data */
ffca499d 56 INELGt0Style= 29,
7e4038b5 57 /** Marker style NSD data */
ffca499d 58 NSDStyle = 23,
59 /** Color used for UA5 data */
60 INELColor = kBlue+1,
61 /** Color used for CMS data */
62 INELGt0Color = kGreen+1,
63 /** Color used for ALICE data */
64 NSDColor = kMagenta+1
65};
66enum {
67 /** Style offset for mirror data */
7e4038b5 68 MirrorOff = 4
69};
70
71//____________________________________________________________________
72/**
ffca499d 73 * Set graph attributes based on trigger type and experiment.
7e4038b5 74 *
75 * @param g Graph
ffca499d 76 * @param trig Trigger (INEL, INEL>0, NSD)
77 * @param exp Experiment
78 * @param mirror True if mirrored data
7e4038b5 79 * @param name Name of graph
80 * @param title Title of graph
81 *
bd6f5206 82 * @ingroup pwglf_forward_otherdata
7e4038b5 83 */
84void
ffca499d 85SetGraphAttributes(TGraph* g, Int_t trig, Int_t exp, bool mirror,
7e4038b5 86 const Char_t* name, const Char_t* title)
87{
ffca499d 88 Int_t color = 0;
89 switch (exp) {
b6b35c77 90 case UA5: color = UA5Color; break;
91 case CMS: color = CMSColor; break;
92 case ALICE: color = ALICEColor; break;
93 case PYTHIA: color = PYTHIAColor; break;
ffca499d 94 }
95 Int_t style = 0;
96 switch (exp) {
b6b35c77 97 case UA5: style = UA5Style; break;
98 case CMS: style = CMSStyle; break;
99 case ALICE: style = ALICEStyle; break;
100 case PYTHIA: style = PYTHIAStyle; break;
ffca499d 101 }
102 Float_t size = g->GetMarkerSize();
103 switch (style) {
104 case 21:
105 case 25: size *= 0.8; break;
106 case 27: size *= 1.4; break;
107 }
108
109 if (mirror) style += MirrorOff;
110
7e4038b5 111 g->SetName(name);
112 g->SetTitle(title);
ffca499d 113 g->SetMarkerStyle(style);
114 g->SetMarkerSize(size);
7e4038b5 115 g->SetMarkerColor(color);
116 g->SetLineColor(color);
117 g->SetFillColor(0);
118 g->SetFillStyle(0);
119 g->GetHistogram()->SetStats(kFALSE);
120 g->GetHistogram()->SetXTitle("#eta");
121 g->GetHistogram()->SetYTitle("#frac{1}{N} #frac{dN_{ch}}{#eta}");
122}
123
b6b35c77 124//____________________________________________________________________
125TGraphAsymmErrors*
126Pythia900INEL()
127{
128
129 TGraphAsymmErrors *gre = new TGraphAsymmErrors(100);
130 SetGraphAttributes(gre, INEL, PYTHIA, false, "pythia900Inel",
131 "Pythia INEL");
132 gre->SetPoint(0,-3.95,1.78199);
133 gre->SetPointError(0, 0, 0, 0.0145305, 0.0145305);
134 gre->SetPoint(1,-3.85,1.85486);
135 gre->SetPointError(1,0,0,0.0148246,0.0148246);
136 gre->SetPoint(2,-3.75,1.93886);
137 gre->SetPointError(2,0,0,0.0151566,0.0151566);
138 gre->SetPoint(3,-3.65,1.96055);
139 gre->SetPointError(3,0,0,0.0152411,0.0152411);
140 gre->SetPoint(4,-3.55,1.98756);
141 gre->SetPointError(4,0,0,0.0153458,0.0153458);
142 gre->SetPoint(5,-3.45,2.02844);
143 gre->SetPointError(5,0,0,0.0155028,0.0155028);
144 gre->SetPoint(6,-3.35,2.09585);
145 gre->SetPointError(6,0,0,0.0157583,0.0157583);
146 gre->SetPoint(7,-3.25,2.13732);
147 gre->SetPointError(7,0,0,0.0159134,0.0159134);
148 gre->SetPoint(8,-3.15,2.1686);
149 gre->SetPointError(8,0,0,0.0160295,0.0160295);
150 gre->SetPoint(9,-3.05,2.25296);
151 gre->SetPointError(9,0,0,0.0163383,0.0163383);
152 gre->SetPoint(10,-2.95,2.29265);
153 gre->SetPointError(10,0,0,0.0164815,0.0164815);
154 gre->SetPoint(11,-2.85,2.34799);
155 gre->SetPointError(11,0,0,0.0166792,0.0166792);
156 gre->SetPoint(12,-2.75,2.35652);
157 gre->SetPointError(12,0,0,0.0167095,0.0167095);
158 gre->SetPoint(13,-2.65,2.40545);
159 gre->SetPointError(13,0,0,0.0168821,0.0168821);
160 gre->SetPoint(14,-2.55,2.43934);
161 gre->SetPointError(14,0,0,0.0170006,0.0170006);
162 gre->SetPoint(15,-2.45,2.45735);
163 gre->SetPointError(15,0,0,0.0170633,0.0170633);
164 gre->SetPoint(16,-2.35,2.48945);
165 gre->SetPointError(16,0,0,0.0171744,0.0171744);
166 gre->SetPoint(17,-2.25,2.51635);
167 gre->SetPointError(17,0,0,0.0172669,0.0172669);
168 gre->SetPoint(18,-2.15,2.55047);
169 gre->SetPointError(18,0,0,0.0173836,0.0173836);
170 gre->SetPoint(19,-2.05,2.58021);
171 gre->SetPointError(19,0,0,0.0174846,0.0174846);
172 gre->SetPoint(20,-1.95,2.58732);
173 gre->SetPointError(20,0,0,0.0175087,0.0175087);
174 gre->SetPoint(21,-1.85,2.60095);
175 gre->SetPointError(21,0,0,0.0175547,0.0175547);
176 gre->SetPoint(22,-1.75,2.59941);
177 gre->SetPointError(22,0,0,0.0175495,0.0175495);
178 gre->SetPoint(23,-1.65,2.63021);
179 gre->SetPointError(23,0,0,0.0176532,0.0176532);
180 gre->SetPoint(24,-1.55,2.61043);
181 gre->SetPointError(24,0,0,0.0175867,0.0175867);
182 gre->SetPoint(25,-1.45,2.61363);
183 gre->SetPointError(25,0,0,0.0175975,0.0175975);
184 gre->SetPoint(26,-1.35,2.60829);
185 gre->SetPointError(26,0,0,0.0175795,0.0175795);
186 gre->SetPoint(27,-1.25,2.61434);
187 gre->SetPointError(27,0,0,0.0175999,0.0175999);
188 gre->SetPoint(28,-1.15,2.61327);
189 gre->SetPointError(28,0,0,0.0175963,0.0175963);
190 gre->SetPoint(29,-1.05,2.57145);
191 gre->SetPointError(29,0,0,0.0174549,0.0174549);
192 gre->SetPoint(30,-0.95,2.55723);
193 gre->SetPointError(30,0,0,0.0174066,0.0174066);
194 gre->SetPoint(31,-0.85,2.57879);
195 gre->SetPointError(31,0,0,0.0174798,0.0174798);
196 gre->SetPoint(32,-0.75,2.516);
197 gre->SetPointError(32,0,0,0.0172657,0.0172657);
198 gre->SetPoint(33,-0.65,2.53709);
199 gre->SetPointError(33,0,0,0.0173379,0.0173379);
200 gre->SetPoint(34,-0.55,2.51197);
201 gre->SetPointError(34,0,0,0.0172519,0.0172519);
202 gre->SetPoint(35,-0.45,2.44052);
203 gre->SetPointError(35,0,0,0.0170047,0.0170047);
204 gre->SetPoint(36,-0.35,2.44882);
205 gre->SetPointError(36,0,0,0.0170336,0.0170336);
206 gre->SetPoint(37,-0.25,2.45308);
207 gre->SetPointError(37,0,0,0.0170484,0.0170484);
208 gre->SetPoint(38,-0.15,2.4622);
209 gre->SetPointError(38,0,0,0.0170801,0.0170801);
210 gre->SetPoint(39,-0.05,2.45735);
211 gre->SetPointError(39,0,0,0.0170633,0.0170633);
212 gre->SetPoint(40,0.05,2.49254);
213 gre->SetPointError(40,0,0,0.017185,0.017185);
214 gre->SetPoint(41,0.15,2.49479);
215 gre->SetPointError(41,0,0,0.0171928,0.0171928);
216 gre->SetPoint(42,0.25,2.49289);
217 gre->SetPointError(42,0,0,0.0171862,0.0171862);
218 gre->SetPoint(43,0.35,2.4628);
219 gre->SetPointError(43,0,0,0.0170822,0.0170822);
220 gre->SetPoint(44,0.45,2.51422);
221 gre->SetPointError(44,0,0,0.0172596,0.0172596);
222 gre->SetPoint(45,0.55,2.51268);
223 gre->SetPointError(45,0,0,0.0172543,0.0172543);
224 gre->SetPoint(46,0.65,2.51066);
225 gre->SetPointError(46,0,0,0.0172474,0.0172474);
226 gre->SetPoint(47,0.75,2.53661);
227 gre->SetPointError(47,0,0,0.0173363,0.0173363);
228 gre->SetPoint(48,0.85,2.54479);
229 gre->SetPointError(48,0,0,0.0173642,0.0173642);
230 gre->SetPoint(49,0.95,2.55391);
231 gre->SetPointError(49,0,0,0.0173953,0.0173953);
232 gre->SetPoint(50,1.05,2.5872);
233 gre->SetPointError(50,0,0,0.0175083,0.0175083);
234 gre->SetPoint(51,1.15,2.60344);
235 gre->SetPointError(51,0,0,0.0175631,0.0175631);
236 gre->SetPoint(52,1.25,2.60616);
237 gre->SetPointError(52,0,0,0.0175723,0.0175723);
238 gre->SetPoint(53,1.35,2.62156);
239 gre->SetPointError(53,0,0,0.0176242,0.0176242);
240 gre->SetPoint(54,1.45,2.61173);
241 gre->SetPointError(54,0,0,0.0175911,0.0175911);
242 gre->SetPoint(55,1.55,2.60415);
243 gre->SetPointError(55,0,0,0.0175655,0.0175655);
244 gre->SetPoint(56,1.65,2.60723);
245 gre->SetPointError(56,0,0,0.0175759,0.0175759);
246 gre->SetPoint(57,1.75,2.60427);
247 gre->SetPointError(57,0,0,0.0175659,0.0175659);
248 gre->SetPoint(58,1.85,2.56765);
249 gre->SetPointError(58,0,0,0.017442,0.017442);
250 gre->SetPoint(59,1.95,2.58602);
251 gre->SetPointError(59,0,0,0.0175043,0.0175043);
252 gre->SetPoint(60,2.05,2.55936);
253 gre->SetPointError(60,0,0,0.0174138,0.0174138);
254 gre->SetPoint(61,2.15,2.54858);
255 gre->SetPointError(61,0,0,0.0173771,0.0173771);
256 gre->SetPoint(62,2.25,2.5205);
257 gre->SetPointError(62,0,0,0.0172811,0.0172811);
258 gre->SetPoint(63,2.35,2.49491);
259 gre->SetPointError(63,0,0,0.0171932,0.0171932);
260 gre->SetPoint(64,2.45,2.42773);
261 gre->SetPointError(64,0,0,0.0169601,0.0169601);
262 gre->SetPoint(65,2.55,2.42879);
263 gre->SetPointError(65,0,0,0.0169638,0.0169638);
264 gre->SetPoint(66,2.65,2.39372);
265 gre->SetPointError(66,0,0,0.0168409,0.0168409);
266 gre->SetPoint(67,2.75,2.38412);
267 gre->SetPointError(67,0,0,0.0168071,0.0168071);
268 gre->SetPoint(68,2.85,2.31896);
269 gre->SetPointError(68,0,0,0.0165758,0.0165758);
270 gre->SetPoint(69,2.95,2.26209);
271 gre->SetPointError(69,0,0,0.0163713,0.0163713);
272 gre->SetPoint(70,3.05,2.24313);
273 gre->SetPointError(70,0,0,0.0163026,0.0163026);
274 gre->SetPoint(71,3.15,2.20403);
275 gre->SetPointError(71,0,0,0.0161599,0.0161599);
276 gre->SetPoint(72,3.25,2.12855);
277 gre->SetPointError(72,0,0,0.0158808,0.0158808);
278 gre->SetPoint(73,3.35,2.13104);
279 gre->SetPointError(73,0,0,0.01589,0.01589);
280 gre->SetPoint(74,3.45,2.06339);
281 gre->SetPointError(74,0,0,0.0156358,0.0156358);
282 gre->SetPoint(75,3.55,1.9846);
283 gre->SetPointError(75,0,0,0.0153343,0.0153343);
284 gre->SetPoint(76,3.65,1.95391);
285 gre->SetPointError(76,0,0,0.0152153,0.0152153);
286 gre->SetPoint(77,3.75,1.87998);
287 gre->SetPointError(77,0,0,0.0149247,0.0149247);
288 gre->SetPoint(78,3.85,1.86256);
289 gre->SetPointError(78,0,0,0.0148554,0.0148554);
290 gre->SetPoint(79,3.95,1.77239);
291 gre->SetPointError(79,0,0,0.0144913,0.0144913);
292 gre->SetPoint(80,4.05,1.72855);
293 gre->SetPointError(80,0,0,0.014311,0.014311);
294 gre->SetPoint(81,4.15,1.69479);
295 gre->SetPointError(81,0,0,0.0141705,0.0141705);
296 gre->SetPoint(82,4.25,1.64147);
297 gre->SetPointError(82,0,0,0.0139459,0.0139459);
298 gre->SetPoint(83,4.35,1.58116);
299 gre->SetPointError(83,0,0,0.0136873,0.0136873);
300 gre->SetPoint(84,4.45,1.55735);
301 gre->SetPointError(84,0,0,0.0135838,0.0135838);
302 gre->SetPoint(85,4.55,1.48815);
303 gre->SetPointError(85,0,0,0.0132786,0.0132786);
304 gre->SetPoint(86,4.65,1.40853);
305 gre->SetPointError(86,0,0,0.0129185,0.0129185);
306 gre->SetPoint(87,4.75,1.36979);
307 gre->SetPointError(87,0,0,0.0127396,0.0127396);
308 gre->SetPoint(88,4.85,1.32666);
309 gre->SetPointError(88,0,0,0.0125374,0.0125374);
310 gre->SetPoint(89,4.95,1.29763);
311 gre->SetPointError(89,0,0,0.0123995,0.0123995);
312 gre->SetPoint(90,5.05,1.25533);
313 gre->SetPointError(90,0,0,0.0121957,0.0121957);
314 gre->SetPoint(91,5.15,1.20912);
315 gre->SetPointError(91,0,0,0.0119692,0.0119692);
316 gre->SetPoint(92,5.25,1.18839);
317 gre->SetPointError(92,0,0,0.0118661,0.0118661);
318 gre->SetPoint(93,5.35,1.15948);
319 gre->SetPointError(93,0,0,0.0117209,0.0117209);
320 gre->SetPoint(94,5.45,1.1141);
321 gre->SetPointError(94,0,0,0.0114892,0.0114892);
322 gre->SetPoint(95,5.55,1.06315);
323 gre->SetPointError(95,0,0,0.0112235,0.0112235);
324 gre->SetPoint(96,5.65,1.05213);
325 gre->SetPointError(96,0,0,0.0111651,0.0111651);
326 gre->SetPoint(97,5.75,1.02476);
327 gre->SetPointError(97,0,0,0.011019,0.011019);
328 gre->SetPoint(98,5.85,0.984834);
329 gre->SetPointError(98,0,0,0.0108022,0.0108022);
330 gre->SetPoint(99,5.95,0.952844);
331 gre->SetPointError(99,0,0,0.0106253,0.0106253);
332
333 return gre;
334}
335
336//____________________________________________________________________
337TGraphAsymmErrors*
338Pythia900NSD()
339{
340
341 TGraphAsymmErrors *gre = new TGraphAsymmErrors(100);
342 SetGraphAttributes(gre, NSD, PYTHIA, false, "pythia900NSD",
343 "Pythia NSD");
344
345 gre->SetPoint(0,-3.95,2.11766);
346 gre->SetPointError(0,0,0,0.0179417,0.0179417);
347 gre->SetPoint(1,-3.85,2.20415);
348 gre->SetPointError(1,0,0,0.0183045,0.0183045);
349 gre->SetPoint(2,-3.75,2.30949);
350 gre->SetPointError(2,0,0,0.0187368,0.0187368);
351 gre->SetPoint(3,-3.65,2.34582);
352 gre->SetPointError(3,0,0,0.0188836,0.0188836);
353 gre->SetPoint(4,-3.55,2.38322);
354 gre->SetPointError(4,0,0,0.0190335,0.0190335);
355 gre->SetPoint(5,-3.45,2.43353);
356 gre->SetPointError(5,0,0,0.0192334,0.0192334);
357 gre->SetPoint(6,-3.35,2.51106);
358 gre->SetPointError(6,0,0,0.0195373,0.0195373);
359 gre->SetPoint(7,-3.25,2.56578);
360 gre->SetPointError(7,0,0,0.0197491,0.0197491);
361 gre->SetPoint(8,-3.15,2.60515);
362 gre->SetPointError(8,0,0,0.0199,0.0199);
363 gre->SetPoint(9,-3.05,2.7105);
364 gre->SetPointError(9,0,0,0.0202984,0.0202984);
365 gre->SetPoint(10,-2.95,2.77008);
366 gre->SetPointError(10,0,0,0.0205203,0.0205203);
367 gre->SetPoint(11,-2.85,2.83332);
368 gre->SetPointError(11,0,0,0.0207532,0.0207532);
369 gre->SetPoint(12,-2.75,2.84715);
370 gre->SetPointError(12,0,0,0.0208038,0.0208038);
371 gre->SetPoint(13,-2.65,2.91693);
372 gre->SetPointError(13,0,0,0.0210571,0.0210571);
373 gre->SetPoint(14,-2.55,2.95797);
374 gre->SetPointError(14,0,0,0.0212048,0.0212048);
375 gre->SetPoint(15,-2.45,2.97499);
376 gre->SetPointError(15,0,0,0.0212657,0.0212657);
377 gre->SetPoint(16,-2.35,3.01345);
378 gre->SetPointError(16,0,0,0.0214027,0.0214027);
379 gre->SetPoint(17,-2.25,3.04659);
380 gre->SetPointError(17,0,0,0.0215201,0.0215201);
381 gre->SetPoint(18,-2.15,3.09341);
382 gre->SetPointError(18,0,0,0.0216848,0.0216848);
383 gre->SetPoint(19,-2.05,3.13187);
384 gre->SetPointError(19,0,0,0.0218192,0.0218192);
385 gre->SetPoint(20,-1.95,3.13917);
386 gre->SetPointError(20,0,0,0.0218446,0.0218446);
387 gre->SetPoint(21,-1.85,3.16911);
388 gre->SetPointError(21,0,0,0.0219485,0.0219485);
389 gre->SetPoint(22,-1.75,3.15665);
390 gre->SetPointError(22,0,0,0.0219053,0.0219053);
391 gre->SetPoint(23,-1.65,3.19693);
392 gre->SetPointError(23,0,0,0.0220446,0.0220446);
393 gre->SetPoint(24,-1.55,3.17002);
394 gre->SetPointError(24,0,0,0.0219517,0.0219517);
395 gre->SetPoint(25,-1.45,3.18538);
396 gre->SetPointError(25,0,0,0.0220048,0.0220048);
397 gre->SetPoint(26,-1.35,3.18066);
398 gre->SetPointError(26,0,0,0.0219885,0.0219885);
399 gre->SetPoint(27,-1.25,3.19754);
400 gre->SetPointError(27,0,0,0.0220467,0.0220467);
401 gre->SetPoint(28,-1.15,3.18021);
402 gre->SetPointError(28,0,0,0.0219869,0.0219869);
403 gre->SetPoint(29,-1.05,3.13111);
404 gre->SetPointError(29,0,0,0.0218165,0.0218165);
405 gre->SetPoint(30,-0.95,3.12153);
406 gre->SetPointError(30,0,0,0.0217831,0.0217831);
407 gre->SetPoint(31,-0.85,3.14798);
408 gre->SetPointError(31,0,0,0.0218752,0.0218752);
409 gre->SetPoint(32,-0.75,3.07912);
410 gre->SetPointError(32,0,0,0.0216347,0.0216347);
411 gre->SetPoint(33,-0.65,3.10207);
412 gre->SetPointError(33,0,0,0.0217151,0.0217151);
413 gre->SetPoint(34,-0.55,3.06346);
414 gre->SetPointError(34,0,0,0.0215796,0.0215796);
415 gre->SetPoint(35,-0.45,2.97651);
416 gre->SetPointError(35,0,0,0.0212711,0.0212711);
417 gre->SetPoint(36,-0.35,2.98715);
418 gre->SetPointError(36,0,0,0.0213091,0.0213091);
419 gre->SetPoint(37,-0.25,2.98548);
420 gre->SetPointError(37,0,0,0.0213032,0.0213032);
421 gre->SetPoint(38,-0.15,3.00555);
422 gre->SetPointError(38,0,0,0.0213746,0.0213746);
423 gre->SetPoint(39,-0.05,3.01193);
424 gre->SetPointError(39,0,0,0.0213973,0.0213973);
425 gre->SetPoint(40,0.05,3.04385);
426 gre->SetPointError(40,0,0,0.0215104,0.0215104);
427 gre->SetPoint(41,0.15,3.04933);
428 gre->SetPointError(41,0,0,0.0215297,0.0215297);
429 gre->SetPoint(42,0.25,3.04659);
430 gre->SetPointError(42,0,0,0.0215201,0.0215201);
431 gre->SetPoint(43,0.35,3.00813);
432 gre->SetPointError(43,0,0,0.0213838,0.0213838);
433 gre->SetPoint(44,0.45,3.06666);
434 gre->SetPointError(44,0,0,0.0215908,0.0215908);
435 gre->SetPoint(45,0.55,3.07167);
436 gre->SetPointError(45,0,0,0.0216085,0.0216085);
437 gre->SetPoint(46,0.65,3.0659);
438 gre->SetPointError(46,0,0,0.0215881,0.0215881);
439 gre->SetPoint(47,0.75,3.09159);
440 gre->SetPointError(47,0,0,0.0216784,0.0216784);
441 gre->SetPoint(48,0.85,3.10846);
442 gre->SetPointError(48,0,0,0.0217375,0.0217375);
443 gre->SetPoint(49,0.95,3.11925);
444 gre->SetPointError(49,0,0,0.0217752,0.0217752);
445 gre->SetPoint(50,1.05,3.15558);
446 gre->SetPointError(50,0,0,0.0219016,0.0219016);
447 gre->SetPoint(51,1.15,3.16911);
448 gre->SetPointError(51,0,0,0.0219485,0.0219485);
449 gre->SetPoint(52,1.25,3.17246);
450 gre->SetPointError(52,0,0,0.0219601,0.0219601);
451 gre->SetPoint(53,1.35,3.19146);
452 gre->SetPointError(53,0,0,0.0220258,0.0220258);
453 gre->SetPoint(54,1.45,3.17458);
454 gre->SetPointError(54,0,0,0.0219675,0.0219675);
455 gre->SetPoint(55,1.55,3.16866);
456 gre->SetPointError(55,0,0,0.0219469,0.0219469);
457 gre->SetPoint(56,1.65,3.16592);
458 gre->SetPointError(56,0,0,0.0219375,0.0219375);
459 gre->SetPoint(57,1.75,3.16394);
460 gre->SetPointError(57,0,0,0.0219306,0.0219306);
461 gre->SetPoint(58,1.85,3.11956);
462 gre->SetPointError(58,0,0,0.0217762,0.0217762);
463 gre->SetPoint(59,1.95,3.14646);
464 gre->SetPointError(59,0,0,0.02187,0.02187);
465 gre->SetPoint(60,2.05,3.10147);
466 gre->SetPointError(60,0,0,0.021713,0.021713);
467 gre->SetPoint(61,2.15,3.09356);
468 gre->SetPointError(61,0,0,0.0216853,0.0216853);
469 gre->SetPoint(62,2.25,3.05328);
470 gre->SetPointError(62,0,0,0.0215437,0.0215437);
471 gre->SetPoint(63,2.35,3.01953);
472 gre->SetPointError(63,0,0,0.0214243,0.0214243);
473 gre->SetPoint(64,2.45,2.9373);
474 gre->SetPointError(64,0,0,0.0211305,0.0211305);
475 gre->SetPoint(65,2.55,2.92772);
476 gre->SetPointError(65,0,0,0.0210961,0.0210961);
477 gre->SetPoint(66,2.65,2.89154);
478 gre->SetPointError(66,0,0,0.0209653,0.0209653);
479 gre->SetPoint(67,2.75,2.87619);
480 gre->SetPointError(67,0,0,0.0209096,0.0209096);
481 gre->SetPoint(68,2.85,2.78924);
482 gre->SetPointError(68,0,0,0.0205911,0.0205911);
483 gre->SetPoint(69,2.95,2.72159);
484 gre->SetPointError(69,0,0,0.0203399,0.0203399);
485 gre->SetPoint(70,3.05,2.69089);
486 gre->SetPointError(70,0,0,0.0202248,0.0202248);
487 gre->SetPoint(71,3.15,2.64939);
488 gre->SetPointError(71,0,0,0.0200682,0.0200682);
489 gre->SetPoint(72,3.25,2.55545);
490 gre->SetPointError(72,0,0,0.0197092,0.0197092);
491 gre->SetPoint(73,3.35,2.56745);
492 gre->SetPointError(73,0,0,0.0197555,0.0197555);
493 gre->SetPoint(74,3.45,2.47503);
494 gre->SetPointError(74,0,0,0.0193967,0.0193967);
495 gre->SetPoint(75,3.55,2.36741);
496 gre->SetPointError(75,0,0,0.0189703,0.0189703);
497 gre->SetPoint(76,3.65,2.33412);
498 gre->SetPointError(76,0,0,0.0188364,0.0188364);
499 gre->SetPoint(77,3.75,2.2385);
500 gre->SetPointError(77,0,0,0.0184466,0.0184466);
501 gre->SetPoint(78,3.85,2.21768);
502 gre->SetPointError(78,0,0,0.0183606,0.0183606);
503 gre->SetPoint(79,3.95,2.1055);
504 gre->SetPointError(79,0,0,0.0178901,0.0178901);
505 gre->SetPoint(80,4.05,2.05047);
506 gre->SetPointError(80,0,0,0.0176548,0.0176548);
507 gre->SetPoint(81,4.15,2.00486);
508 gre->SetPointError(81,0,0,0.0174574,0.0174574);
509 gre->SetPoint(82,4.25,1.94573);
510 gre->SetPointError(82,0,0,0.017198,0.017198);
511 gre->SetPoint(83,4.35,1.87064);
512 gre->SetPointError(83,0,0,0.0168629,0.0168629);
513 gre->SetPoint(84,4.45,1.83735);
514 gre->SetPointError(84,0,0,0.0167122,0.0167122);
515 gre->SetPoint(85,4.55,1.75314);
516 gre->SetPointError(85,0,0,0.0163247,0.0163247);
517 gre->SetPoint(86,4.65,1.65828);
518 gre->SetPointError(86,0,0,0.0158769,0.0158769);
519 gre->SetPoint(87,4.75,1.60751);
520 gre->SetPointError(87,0,0,0.015632,0.015632);
521 gre->SetPoint(88,4.85,1.56312);
522 gre->SetPointError(88,0,0,0.0154146,0.0154146);
523 gre->SetPoint(89,4.95,1.52117);
524 gre->SetPointError(89,0,0,0.0152064,0.0152064);
525 gre->SetPoint(90,5.05,1.46553);
526 gre->SetPointError(90,0,0,0.0149257,0.0149257);
527 gre->SetPoint(91,5.15,1.42038);
528 gre->SetPointError(91,0,0,0.014694,0.014694);
529 gre->SetPoint(92,5.25,1.38816);
530 gre->SetPointError(92,0,0,0.0145263,0.0145263);
531 gre->SetPoint(93,5.35,1.35046);
532 gre->SetPointError(93,0,0,0.0143277,0.0143277);
533 gre->SetPoint(94,5.45,1.30075);
534 gre->SetPointError(94,0,0,0.0140616,0.0140616);
535 gre->SetPoint(95,5.55,1.24025);
536 gre->SetPointError(95,0,0,0.0137307,0.0137307);
537 gre->SetPoint(96,5.65,1.21806);
538 gre->SetPointError(96,0,0,0.0136073,0.0136073);
539 gre->SetPoint(97,5.75,1.19435);
540 gre->SetPointError(97,0,0,0.0134742,0.0134742);
541 gre->SetPoint(98,5.85,1.14175);
542 gre->SetPointError(98,0,0,0.0131741,0.0131741);
543 gre->SetPoint(99,5.95,1.09235);
544 gre->SetPointError(99,0,0,0.012886,0.012886);
545
546 return gre;
547}
548
7e4038b5 549//____________________________________________________________________
550/**
551 * Get the UA5 NSD data for pp at @f$ \sqrt{s} = 900GeV@f$
552 * p7886_d1x1y4 - Z.Phys.C33:1-6,1986.
553 *
554 * @param mirrored Wether to produce the mirrored plot
555 *
556 * @return graph of data
557 *
bd6f5206 558 * @ingroup pwglf_forward_otherdata
7e4038b5 559 */
560TGraphAsymmErrors* UA5Nsd(Bool_t mirrored=false)
561{
562 //UA5 data NSD - p7886_d1x1y4 - Z.Phys.C33:1-6,1986.
563 double x[] = { 0.125, 0.375, 0.625, 0.875, 1.125, 1.375, 1.625, 1.875, 2.125,
564 2.375, 2.625, 2.875, 3.125, 3.375, 3.625, 3.875, 4.125, 4.375,
565 4.625 };
566 double exm[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
567 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
568 double exp[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
569 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
570 double y[] = { 3.48, 3.38, 3.52, 3.68, 3.71, 3.86, 3.76, 3.66, 3.72,
571 3.69, 3.56, 3.41, 3.15, 3.09, 2.74, 2.73, 2.32, 1.99, 1.69 };
572 double eym[] = { 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07,
573 0.07, 0.07, 0.07, 0.07, 0.08, 0.08, 0.09, 0.09, 0.1, 0.13 };
574 double eyp[] = { 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07,
575 0.07, 0.07, 0.07, 0.07, 0.08, 0.08, 0.09, 0.09, 0.1, 0.13 };
860e603e 576 const int np = 19;
7e4038b5 577 double xm[np];
b2e7f2d6 578 double exmm[np];
579 double expm[np];
580 double ym[np];
581 double eymm[np];
582 double eypm[np];
583 for (int i = 0; i < np; i++) {
584 int j = np-1-i;
585 xm[i] = -x[j];
586 exmm[i] = exm[j];
587 expm[i] = exp[j];
588 ym[i] = y[j];
589 eymm[i] = eym[j];
590 eypm[i] = eyp[j];
591 }
7e4038b5 592
b2e7f2d6 593 TGraphAsymmErrors* g = new TGraphAsymmErrors(19,x, y, exm, exp, eym, eyp);
594 TGraphAsymmErrors* gm = new TGraphAsymmErrors(19,xm,ym,exmm,expm,eymm,eypm);
ffca499d 595 SetGraphAttributes(g, NSD, UA5, false,"ua5_nsd", "UA5 NSD");
596 SetGraphAttributes(gm, NSD, UA5, true,"ua5_nsd_mirrored",
7e4038b5 597 "UA5 NSD (mirrored)");
598
599 return (mirrored ? gm : g);
600}
601
602//____________________________________________________________________
603/**
604 * Get the UA5 INEL data for pp at @f$ \sqrt{s} = 900GeV@f$
605 * p7886_d2x1y2 - Z.Phys.C33:1-6,1986.
606 *
607 * @param mirrored Wether to produce the mirrored plot
608 *
609 * @return graph of data
610 *
bd6f5206 611 * @ingroup pwglf_forward_otherdata
7e4038b5 612 */
613TGraphAsymmErrors* UA5Inel(Bool_t mirrored=false)
614{
615 //UA5 data INEL - p7886_d2x1y2 - Z.Phys.C33:1-6,1986.
616 double x[] = { 0.125, 0.375, 0.625, 0.875, 1.125, 1.375, 1.625, 1.875, 2.125,
617 2.375, 2.625, 2.875, 3.125, 3.375, 3.625, 3.875, 4.125, 4.375,
618 4.625 };
619 double exm[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
620 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
621 double exp[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
622 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
623 double y[] = { 3.14, 3.04, 3.17, 3.33, 3.33, 3.53, 3.46, 3.41, 3.45,
624 3.39, 3.07, 3.07, 2.93, 2.93, 2.55, 2.48, 2.18, 1.91, 1.52 };
625 double eym[] = { 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07,
626 0.07, 0.07, 0.07, 0.07, 0.08, 0.08, 0.09, 0.09, 0.1, 0.13 };
627 double eyp[] = { 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07,
628 0.07, 0.07, 0.07, 0.07, 0.08, 0.08, 0.09, 0.09, 0.1, 0.13 };
629 const int np = 19;
630 double xm[np];
b2e7f2d6 631 double exmm[np];
632 double expm[np];
633 double ym[np];
634 double eymm[np];
635 double eypm[np];
636 for (int i = 0; i < np; i++) {
637 int j = np-1-i;
638 xm[i] = -x[j];
639 exmm[i] = exm[j];
640 expm[i] = exp[j];
641 ym[i] = y[j];
642 eymm[i] = eym[j];
643 eypm[i] = eyp[j];
644 }
645 TGraphAsymmErrors* g = new TGraphAsymmErrors(np,x, y, exm, exp, eym, eyp);
646 TGraphAsymmErrors* gm = new TGraphAsymmErrors(np,xm,ym,exmm,expm,eymm,eypm);
7e4038b5 647
ffca499d 648 SetGraphAttributes(g, INEL, UA5, false, "ua5_inel", "UA5 INEL");
649 SetGraphAttributes(gm, INEL, UA5, true, "ua5_inel_mirrored",
7e4038b5 650 "UA5 INEL (mirrored)");
651
652 return (mirrored ? gm : g);
653}
654
655//____________________________________________________________________
656/**
657 * Get the ALICE INEL data in @f$ |\eta|<1.3@f$ for pp at @f$ \sqrt{s}
658 * = 900GeV@f$
659 * p7742_d1x1y1 - Eur.Phys.J.C68:89-108,2010.
660 *
661 * @return graph of data
662 *
bd6f5206 663 * @ingroup pwglf_forward_otherdata
7e4038b5 664 */
665TGraphAsymmErrors* AliceCentralInel900()
666{
667 // INEL - p7742_d1x1y1 - Eur.Phys.J.C68:89-108,2010.
668 TGraphAsymmErrors* g = 0;
669 double x[] = { -1.3, -1.1, -0.9, -0.7, -0.5, -0.3,
670 -0.1, 0.1, 0.3, 0.5, 0.7, 0.9, 1.1, 1.3 };
671 double exm[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
672 0.1, 0.1, 0.1, 0.1, 0.1 };
673 double exp[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
674 0.1, 0.1, 0.1, 0.1, 0.1 };
675 double y[] = { 3.28, 3.28, 3.22, 3.12, 3.06, 3.02, 2.98, 3.02, 3.02,
676 3.05, 3.15, 3.21, 3.26, 3.33 };
677 double eym[] = { 0.06324555320336758, 0.06324555320336758,
678 0.06324555320336758, 0.06324555320336758,
679 0.06324555320336758, 0.05385164807134505,
680 0.05385164807134505, 0.05385164807134505,
681 0.05385164807134505, 0.06324555320336758,
682 0.06324555320336758, 0.06324555320336758,
683 0.06324555320336758, 0.06324555320336758 };
684 double eyp[] = { 0.08246211251235322, 0.08246211251235322,
685 0.08246211251235322, 0.08246211251235322,
686 0.08246211251235322, 0.08246211251235322,
687 0.07280109889280519, 0.08246211251235322,
688 0.08246211251235322, 0.08246211251235322,
689 0.08246211251235322, 0.08246211251235322,
690 0.08246211251235322, 0.08246211251235322 };
691 const int np = 14;
692 for (int i = 0; i < np; i++) {
693 eym[i] += 0.02;
694 eyp[i] += 0.02;
695 }
696 g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
ffca499d 697 SetGraphAttributes(g, INEL, ALICE, false, "alice_inel",
7e4038b5 698 "ALICE INEL (publ.)");
699
700 return g;
701}
702
703//____________________________________________________________________
704/**
705 * Get the ALICE INEL>0 data in @f$ |\eta|<1.3@f$ for pp at @f$
706 * \sqrt{s} = 900GeV@f$
707 *
708 * p7741_d4x1y1 - Eur.Phys.J.C68:345-354,2010.
709 *
710 * @return graph of data
711 *
bd6f5206 712 * @ingroup pwglf_forward_otherdata
7e4038b5 713 */
714TGraphAsymmErrors* AliceCentralInelGt900()
715{
797161e8 716#if 0
7e4038b5 717 // INEL>0 - p7741_d4x1y1 - Eur.Phys.J.C68:345-354,2010.
718 double x[] = { -0.9, -0.7, -0.5, -0.3, -0.1, 0.1, 0.3, 0.5, 0.7,
719 0.9 };
720 double exm[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
721 0.1 };
722 double exp[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
723 0.1 };
724 double y[] = { 4.0, 3.87, 3.8, 3.7, 3.67, 3.73, 3.72, 3.77, 3.92,
725 4.01 };
726 double eym[] = { 0.07615773105863909, 0.07615773105863909,
727 0.07615773105863909, 0.06324555320336758,
728 0.06324555320336758, 0.06324555320336758,
729 0.0670820393249937, 0.07615773105863909,
730 0.07615773105863909, 0.07615773105863909 };
731 double eyp[] = { 0.08544003745317531, 0.07615773105863909,
732 0.07615773105863909, 0.07280109889280519,
733 0.07280109889280519, 0.07280109889280519,
734 0.07615773105863909, 0.07615773105863909,
735 0.08544003745317531, 0.08544003745317531 };
736 const int np = 10;
737 for (int i = 0; i < np; i++) {
738 double stat = (i >= 3 && i<=5) ? 0.02 : 0.03;
739 eym[i] += stat;
740 eyp[i] += stat;
741 }
742
743 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
797161e8 744#else
745 // These are from JFGO
746 TGraphAsymmErrors *g = new TGraphAsymmErrors(15);
747 g->SetPoint(0,-1.5,4.12575);
748 g->SetPointError(0,0.1,0.1,0.0742967,0.0814571);
749 g->SetPoint(1,-1.3,3.91209);
750 g->SetPointError(1,0.1,0.1,0.0697701,0.0766199);
751 g->SetPoint(2,-1.1,3.98377);
752 g->SetPointError(2,0.1,0.1,0.0704503,0.0774795);
753 g->SetPoint(3,-0.9,4.00035);
754 g->SetPointError(3,0.1,0.1,0.0702388,0.0773433);
755 g->SetPoint(4,-0.7,3.87228);
756 g->SetPointError(4,0.1,0.1,0.067597,0.0745103);
757 g->SetPoint(5,-0.5,3.79613);
758 g->SetPointError(5,0.1,0.1,0.0659771,0.0727816);
759 g->SetPoint(6,-0.3,3.70489);
760 g->SetPointError(6,0.1,0.1,0.0642016,0.0708603);
761 g->SetPoint(7,-0.1,3.67423);
762 g->SetPointError(7,0.1,0.1,0.0635759,0.0701884);
763 g->SetPoint(8,0.1,3.72765);
764 g->SetPointError(8,0.1,0.1,0.0645004,0.071209);
765 g->SetPoint(9,0.3,3.72171);
766 g->SetPointError(9,0.1,0.1,0.064493,0.071182);
767 g->SetPoint(10,0.5,3.77428);
768 g->SetPointError(10,0.1,0.1,0.0655974,0.0723627);
769 g->SetPoint(11,0.7,3.91704);
770 g->SetPointError(11,0.1,0.1,0.0683783,0.0753716);
771 g->SetPoint(12,0.9,4.00674);
772 g->SetPointError(12,0.1,0.1,0.0703511,0.0774669);
773 g->SetPoint(13,1.1,3.97948);
774 g->SetPointError(13,0.1,0.1,0.0703744,0.077396);
775 g->SetPoint(14,1.3,3.99165);
776 g->SetPointError(14,0.1,0.1,0.0711888,0.078178);
777#endif
ffca499d 778 SetGraphAttributes(g, INELGt0, ALICE, false, "alice_inelgt900",
7e4038b5 779 "ALICE INEL>0 (publ.)");
780 return g;
7e4038b5 781}
782
783//____________________________________________________________________
784/**
785 * Get the ALICE INEL>0 data in @f$ |\eta|<0.9@f$ for pp at @f$
786 * \sqrt{s} = 2.36TeV@f$
787 *
788 * p7741_d5x1y1 - Eur.Phys.J.C68:345-354,2010.
789 *
790 * @return graph of data
791 *
bd6f5206 792 * @ingroup pwglf_forward_otherdata
7e4038b5 793 */
794TGraphAsymmErrors* AliceCentralInelGt2360()
795{
797161e8 796#if 0
7e4038b5 797 // INEL>0 - p7741_d5x1y1 - Eur.Phys.J.C68:345-354,2010.
798 double x[] = { -0.9, -0.7, -0.5, -0.3, -0.1, 0.1, 0.3, 0.5, 0.7, 0.9 };
799 double exm[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 };
800 double exp[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 };
801 double y[] = { 4.91, 4.76, 4.63, 4.64, 4.55, 4.55, 4.64, 4.66, 4.82, 4.88 };
802 double eym[] = { 0.08544003745317531, 0.08544003745317531,
803 0.08544003745317531, 0.08544003745317531,
804 0.08544003745317531, 0.08544003745317531,
805 0.08544003745317531, 0.08544003745317531,
806 0.08544003745317531, 0.08544003745317531 };
807 double eyp[] = { 0.11401754250991379, 0.11401754250991379,
808 0.1044030650891055, 0.1044030650891055,
809 0.1044030650891055, 0.1044030650891055,
810 0.1044030650891055, 0.1044030650891055,
811 0.11401754250991379, 0.11401754250991379 };
812 const int np = 10;
813 for (int i = 0; i < np; i++) {
814 double stat = 0.3;
815 eym[i] += stat;
816 eyp[i] += stat;
817 }
818
819 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
797161e8 820#else
821 // These are from JFGO
822 TGraphAsymmErrors* g = new TGraphAsymmErrors(15);
823 g->SetPoint(0,-1.5,4.79047);
824 g->SetPointError(0,0.1,0.1,0.0844278,0.109947);
825 g->SetPoint(1,-1.3,4.91068);
826 g->SetPointError(1,0.1,0.1,0.0856751,0.112038);
827 g->SetPoint(2,-1.1,4.87386);
828 g->SetPointError(2,0.1,0.1,0.0842846,0.110628);
829 g->SetPoint(3,-0.9,4.91365);
830 g->SetPointError(3,0.1,0.1,0.084339,0.111049);
831 g->SetPoint(4,-0.7,4.7601);
832 g->SetPointError(4,0.1,0.1,0.0812087,0.107203);
833 g->SetPoint(5,-0.5,4.63355);
834 g->SetPointError(5,0.1,0.1,0.078687,0.104079);
835 g->SetPoint(6,-0.3,4.63885);
836 g->SetPointError(6,0.1,0.1,0.0785337,0.104014);
837 g->SetPoint(7,-0.1,4.55439);
838 g->SetPointError(7,0.1,0.1,0.0769842,0.10203);
839 g->SetPoint(8,0.1,4.55087);
840 g->SetPointError(8,0.1,0.1,0.0769246,0.101951);
841 g->SetPoint(9,0.3,4.64118);
842 g->SetPointError(9,0.1,0.1,0.0785732,0.104066);
843 g->SetPoint(10,0.5,4.66172);
844 g->SetPointError(10,0.1,0.1,0.0791652,0.104711);
845 g->SetPoint(11,0.7,4.81871);
846 g->SetPointError(11,0.1,0.1,0.0822086,0.108523);
847 g->SetPoint(12,0.9,4.88193);
848 g->SetPointError(12,0.1,0.1,0.0837944,0.110332);
849 g->SetPoint(13,1.1,4.89068);
850 g->SetPointError(13,0.1,0.1,0.0845754,0.111009);
851 g->SetPoint(14,1.3,5.05663);
852 g->SetPointError(14,0.1,0.1,0.0882216,0.115368);
853#endif
854
ffca499d 855 SetGraphAttributes(g, INELGt0, ALICE, false, "alice_inelgt2360",
7e4038b5 856 "ALICE INEL>0 (publ.)");
857 return g;
858}
859
860//____________________________________________________________________
861/**
862 * Get the ALICE INEL>0 data in @f$ |\eta|<0.9@f$ for pp at @f$
863 * \sqrt{s} = 7TeV@f$
864 *
865 * p7741_d6x1y1 - Eur.Phys.J.C68:345-354,2010.
866 *
867 * @return graph of data
868 *
bd6f5206 869 * @ingroup pwglf_forward_otherdata
7e4038b5 870 */
871TGraphAsymmErrors* AliceCentralInelGt7000()
872{
797161e8 873#if 0
7e4038b5 874 // INEL>0 - p7741_d6x1y1 - Eur.Phys.J.C68:345-354,2010.
875// Plot: p7741_d6x1y1
876 double x[] = { -0.9, -0.7, -0.5, -0.3, -0.1, 0.1, 0.3, 0.5, 0.7, 0.9 };
877 double exm[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 };
878 double exp[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 };
879 double y[] = { 6.22, 6.07, 6.01, 5.84, 5.85, 5.85, 5.91, 6.01, 6.17, 6.26 };
880 double eym[] = { 0.1216552506059644, 0.1216552506059644,
881 0.1216552506059644, 0.11180339887498948,
882 0.11180339887498948, 0.11180339887498948,
883 0.11180339887498948, 0.1216552506059644,
884 0.1216552506059644, 0.1216552506059644 };
885 double eyp[] = { 0.21095023109728983, 0.21095023109728983,
886 0.2009975124224178, 0.2009975124224178,
887 0.2009975124224178, 0.2009975124224178,
888 0.2009975124224178, 0.2009975124224178,
889 0.21095023109728983, 0.21095023109728983 };
890 const int np = 10;
891 for (int i = 0; i < np; i++) {
892 double stat = 0.2;
893 eym[i] += stat;
894 eyp[i] += stat;
895 }
896
897 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
797161e8 898#else
899 // These are from JFGO
900 TGraphAsymmErrors* g = new TGraphAsymmErrors(15);
901 g->SetPoint(0,-1.5,6.28573);
902 g->SetPointError(0,0.1,0.1,0.125928,0.215392);
903 g->SetPoint(1,-1.3,6.25573);
904 g->SetPointError(1,0.1,0.1,0.124352,0.213795);
905 g->SetPoint(2,-1.1,6.28779);
906 g->SetPointError(2,0.1,0.1,0.124143,0.214399);
907 g->SetPoint(3,-0.9,6.21881);
908 g->SetPointError(3,0.1,0.1,0.122079,0.211642);
909 g->SetPoint(4,-0.7,6.0728);
910 g->SetPointError(4,0.1,0.1,0.118661,0.206355);
911 g->SetPoint(5,-0.5,6.011);
912 g->SetPointError(5,0.1,0.1,0.117043,0.204019);
913 g->SetPoint(6,-0.3,5.84071);
914 g->SetPointError(6,0.1,0.1,0.11346,0.198086);
915 g->SetPoint(7,-0.1,5.8532);
916 g->SetPointError(7,0.1,0.1,0.113569,0.198433);
917 g->SetPoint(8,0.1,5.84811);
918 g->SetPointError(8,0.1,0.1,0.11347,0.198261);
919 g->SetPoint(9,0.3,5.91022);
920 g->SetPointError(9,0.1,0.1,0.11481,0.200444);
921 g->SetPoint(10,0.5,6.00649);
922 g->SetPointError(10,0.1,0.1,0.116955,0.203866);
923 g->SetPoint(11,0.7,6.17115);
924 g->SetPointError(11,0.1,0.1,0.120583,0.209697);
925 g->SetPoint(12,0.9,6.2645);
926 g->SetPointError(12,0.1,0.1,0.122976,0.213197);
927 g->SetPoint(13,1.1,6.36448);
928 g->SetPointError(13,0.1,0.1,0.125657,0.217014);
929 g->SetPoint(14,1.3,6.39489);
930 g->SetPointError(14,0.1,0.1,0.127118,0.218551);
931#endif
ffca499d 932 SetGraphAttributes(g, INELGt0, ALICE, false, "alice_inelgt7000",
7e4038b5 933 "ALICE INEL>0 (publ.)");
934 return g;
935}
936
937//____________________________________________________________________
938/**
939 * Get the ALICE NSD data in @f$ |\eta|<1.3@f$ for pp at @f$
940 * \sqrt{s} = 900GeV@f$
941 *
942 * p7742_d2x1y1 - Eur.Phys.J.C68:89-108,2010.
943 *
944 * @return graph of data
945 *
bd6f5206 946 * @ingroup pwglf_forward_otherdata
7e4038b5 947 */
948TGraphAsymmErrors* AliceCentralNsd900()
949{
950 //NSD - p7742_d2x1y1 - Eur.Phys.J.C68:89-108,2010.
951 double x[] = { -1.3, -1.1, -0.9, -0.7, -0.5, -0.3, -0.1, 0.1, 0.3,
952 0.5, 0.7, 0.9, 1.1, 1.3 };
953 double exm[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
954 0.1, 0.1, 0.1, 0.1, 0.1 };
955 double exp[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
956 0.1, 0.1, 0.1, 0.1, 0.1 };
957 double y[] = { 3.9, 3.89, 3.81, 3.7, 3.64, 3.59, 3.53, 3.58, 3.59,
958 3.61, 3.74, 3.8, 3.87, 3.95 };
959 double eym[] = { 0.13341664064126335, 0.13152946437965907,
960 0.13152946437965907, 0.1216552506059644,
961 0.1216552506059644, 0.1216552506059644,
962 0.1216552506059644, 0.1216552506059644,
963 0.1216552506059644, 0.1216552506059644,
964 0.1216552506059644, 0.13152946437965907,
965 0.13152946437965907, 0.13341664064126335 };
966 double eyp[] = { 0.13341664064126335, 0.13152946437965907,
967 0.13152946437965907, 0.1216552506059644,
968 0.1216552506059644, 0.1216552506059644,
969 0.1216552506059644, 0.1216552506059644,
970 0.1216552506059644, 0.1216552506059644,
971 0.1216552506059644, 0.13152946437965907,
972 0.13152946437965907, 0.13341664064126335 };
973 const int np = 14;
974 for (int i = 0; i < np; i++) {
975 double stat = (i == 0 || i == np-1) ? 0.03 : 0.02;
976 eym[i] += stat;
977 eyp[i] += stat;
978 }
979
980 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
ffca499d 981 SetGraphAttributes(g, NSD, ALICE, false, "alice_nsd", "ALICE NSD (publ.)");
7e4038b5 982
983 return g;
984}
985
986//____________________________________________________________________
987/**
988 * Get the ALICE INEL data in @f$ |\eta|<1.3@f$ for pp at @f$
989 * \sqrt{s} = 2.36TeV@f$
990 *
991 * p7742_d3x1y1 - Eur.Phys.J.C68:89-108,2010.
992 *
993 * @return graph of data
994 *
bd6f5206 995 * @ingroup pwglf_forward_otherdata
7e4038b5 996 */
997TGraphAsymmErrors* AliceCentralInel2360()
998{
999 // INEL - p7742_d3x1y1 - 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[] = { 4.08, 4.01, 4.0, 3.88, 3.77, 3.8, 3.73, 3.71, 3.79,
1007 3.82, 3.94, 4.02, 4.05, 4.16 };
1008 double eym[] = { 0.13341664064126335, 0.12369316876852982,
1009 0.12369316876852982, 0.1216552506059644,
1010 0.1216552506059644, 0.1216552506059644,
1011 0.1216552506059644, 0.11180339887498948,
1012 0.1216552506059644, 0.1216552506059644,
1013 0.12369316876852982, 0.12369316876852982,
1014 0.13341664064126335, 0.13341664064126335 };
1015 double eyp[] = { 0.2716615541441225, 0.2716615541441225,
1016 0.2716615541441225, 0.260768096208106,
1017 0.25079872407968906, 0.25079872407968906,
1018 0.25079872407968906, 0.25079872407968906,
1019 0.25079872407968906, 0.260768096208106,
1020 0.261725046566048, 0.2716615541441225,
1021 0.2716615541441225, 0.2816025568065745 };
1022 const int np = 14;
1023 for (int i = 0; i < np; i++) {
1024 double stat = (i < 3 || i > np-1-4) ? 0.03 : 0.02;
1025 eym[i] += stat;
1026 eyp[i] += stat;
1027 }
1028
1029 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
ffca499d 1030 SetGraphAttributes(g, NSD, ALICE, false, "alice_inel2360",
7e4038b5 1031 "ALICE INEL (publ.)");
1032 return g;
1033}
1034
1035//____________________________________________________________________
1036/**
1037 * Get the ALICE NSD data in @f$ |\eta|<1.3@f$ for pp at @f$
1038 * \sqrt{s} = 2.36TeV@f$
1039 *
1040 * p7742_d4x1y1 - Eur.Phys.J.C68:89-108,2010.
1041 *
1042 * @return graph of data
1043 *
bd6f5206 1044 * @ingroup pwglf_forward_otherdata
7e4038b5 1045 */
1046TGraphAsymmErrors* AliceCentralNsd2360()
1047{
1048 // NSD - p7742_d4x1y1 - Eur.Phys.J.C68:89-108,2010.
1049 double x[] = { -1.3, -1.1, -0.9, -0.7, -0.5, -0.3, -0.1, 0.1, 0.3,
1050 0.5, 0.7, 0.9, 1.1, 1.3 };
1051 double exm[] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
1052 0.1, 0.1, 0.1, 0.1, 0.1 };
1053 double exp[] = { 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 y[] = { 4.79, 4.72, 4.7, 4.56, 4.44, 4.47, 4.39, 4.37, 4.47,
1056 4.5, 4.64, 4.73, 4.76, 4.9 };
1057 double eym[] = { 0.13601470508735444, 0.13341664064126335,
1058 0.13341664064126335, 0.12369316876852982,
1059 0.12369316876852982, 0.12369316876852982,
1060 0.12369316876852982, 0.12369316876852982,
1061 0.12369316876852982, 0.12369316876852982,
1062 0.12369316876852982, 0.13341664064126335,
1063 0.13341664064126335, 0.13341664064126335 };
1064 double eyp[] = { 0.18439088914585774, 0.18248287590894657,
1065 0.18248287590894657, 0.1726267650163207,
1066 0.1726267650163207, 0.1726267650163207,
1067 0.16278820596099708, 0.16278820596099708,
1068 0.1726267650163207, 0.1726267650163207,
1069 0.1726267650163207, 0.18248287590894657,
1070 0.18248287590894657, 0.18248287590894657 };
1071 const int np = 14;
1072
1073 for (int i = 0; i < np; i++) {
1074 double stat = (i < 1) ? 0.03 : 0.02;
1075 eym[i] += stat;
1076 eyp[i] += stat;
1077 }
1078
1079 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
ffca499d 1080 SetGraphAttributes(g, NSD, ALICE, false, "alice_nsd2360",
7e4038b5 1081 "ALICE NSD (publ.)");
1082 return g;
1083}
1084
1085
1086//____________________________________________________________________
1087/**
1088 * Get the CMS NSD data in @f$ |\eta|<2.25@f$ for pp at @f$
1089 * \sqrt{s} = 900GeV@f$
1090 *
1091 * p7743_d8x1y1
1092 *
1093 * @return graph of data
1094 *
bd6f5206 1095 * @ingroup pwglf_forward_otherdata
7e4038b5 1096 */
1097TGraphAsymmErrors* CMSNsd900()
1098{
1099 // CMS published NSD data - p7743_d8x1y1
1100 double x[] = { -2.25, -1.75, -1.25, -0.75, -0.25, 0.25, 0.75, 1.25, 1.75,
1101 2.25 };
1102 double exm[] = { 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25 };
1103 double exp[] = { 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25 };
1104 double y[] = { 3.6, 3.73, 3.62, 3.54, 3.48, 3.48, 3.54, 3.62, 3.73, 3.6 };
1105 double eym[] = { 0.13, 0.14, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.14,0.13 };
1106 double eyp[] = { 0.13, 0.14, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.14, 0.13 };
1107 const int np = 10;
1108 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
ffca499d 1109 SetGraphAttributes(g, NSD, CMS, false, "cms_nsd900", "CMS NSD");
7e4038b5 1110
1111 return g;
1112}
1113
1114
1115//____________________________________________________________________
1116/**
1117 * Get the CMS NSD data in @f$ |\eta|<2.25@f$ for pp at @f$
1118 * \sqrt{s} = 2.36GeV@f$
1119 *
1120 * p7743_d8x1y2
1121 *
1122 * @return graph of data
1123 *
bd6f5206 1124 * @ingroup pwglf_forward_otherdata
7e4038b5 1125 */
1126TGraphAsymmErrors* CMSNsd2360()
1127{
1128 // CMS NSD 2360 - p7743_d8x1y2
1129 double x[] = { -2.25, -1.75, -1.25, -0.75, -0.25, 0.25, 0.75,1.25,1.75,2.25 };
1130 double exm[] = { 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25 };
1131 double exp[] = { 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25 };
1132 double y[] = { 4.78, 4.81, 4.66, 4.61, 4.47, 4.47, 4.61, 4.66, 4.81, 4.78 };
1133 double eym[] = { 0.17, 0.18, 0.17, 0.17, 0.16, 0.16, 0.17, 0.17, 0.18, 0.17 };
1134 double eyp[] = { 0.17, 0.18, 0.17, 0.17, 0.16, 0.16, 0.17, 0.17, 0.18, 0.17 };
1135 const int np = 10;
1136 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
ffca499d 1137 SetGraphAttributes(g, NSD, CMS, false, "cms_nsd2360", "CMS NSD");
7e4038b5 1138 return g;
1139}
1140
1141
1142//____________________________________________________________________
1143/**
1144 * Get the CMS NSD data in @f$ |\eta|<2.25@f$ for pp at @f$
1145 * \sqrt{s} = 7TeV@f$
1146 *
1147 * p7838_d5x1y1
1148 *
1149 * @return graph of data
1150 *
bd6f5206 1151 * @ingroup pwglf_forward_otherdata
7e4038b5 1152 */
1153TGraphAsymmErrors* CMSNsd7000()
1154{
1155 // CMS NSD 7000 - Plot: p7838_d5x1y1
1156 double x[] = { -2.25, -1.75, -1.25, -0.75, -0.25, 0.25, 0.75,1.25,1.75,2.25 };
1157 double exm[] = { 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25 };
1158 double exp[] = { 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25 };
1159 double y[] = { 6.18, 6.26, 6.14, 6.01, 5.78, 5.78, 6.01, 6.14, 6.26, 6.18 };
1160 double eym[] = { 0.25, 0.25, 0.24, 0.24, 0.23, 0.23, 0.24, 0.24, 0.25, 0.25 };
1161 double eyp[] = { 0.25, 0.25, 0.24, 0.24, 0.23, 0.23, 0.24, 0.24, 0.25, 0.25 };
1162 const int np = 10;
1163 TGraphAsymmErrors* g = new TGraphAsymmErrors(np, x, y, exm, exp, eym, eyp);
ffca499d 1164 SetGraphAttributes(g, NSD, CMS, false, "cms_nsd7000", "CMS NSD");
7e4038b5 1165 return g;
1166}
1167
797161e8 1168//____________________________________________________________________
1169TGraphAsymmErrors*
1170GetSingle(UShort_t which,
1171 UShort_t sys,
1172 UShort_t energy,
1173 UShort_t type=0x1,
1174 UShort_t centLow=0,
1175 UShort_t centHigh=0)
1176{
1177 TGraphAsymmErrors* ret = 0;
1178 if (sys == 1) {
1179 if (TMath::Abs(energy-900) < 10) {
1180 switch (type) {
1181 case 1: // INEL
1182 switch (which) {
1183 case PYTHIA: ret = Pythia900INEL(); break;
1184 case UA5: ret = UA5Inel(false); break;
1185 case UA5+10: ret = UA5Inel(true); break;
1186 case ALICE: ret = AliceCentralInel900(); break;
1187 }
1188 break;
1189 case 2: // INEL>0
1190 switch (which) {
1191 case ALICE: ret = AliceCentralInelGt900(); break;
1192 }
1193 break;
1194 case 4: // NSD
1195 switch (which) {
1196 case PYTHIA: ret = Pythia900NSD(); break;
1197 case UA5: ret = UA5Nsd(false); break;
1198 case UA5+10: ret = UA5Nsd(true); break;
1199 case ALICE: ret = AliceCentralNsd900(); break;
1200 case CMS: ret = CMSNsd900(); break;
1201 }
1202 break;
1203 } // type
1204 }
1205 else if (TMath::Abs(energy-2360) < 10) {
1206 switch (type) {
1207 case 1: // INEL
1208 switch (which) {
1209 case ALICE: ret = AliceCentralInel2360(); break;
1210 }
1211 break;
1212 case 2: // INEL > 0
1213 switch (which) {
1214 case ALICE: ret = AliceCentralInelGt2360(); break;
1215 }
1216 break;
1217 case 4: // NSD
1218 switch (which) {
1219 case ALICE: ret = AliceCentralNsd2360(); break;
1220 case CMS: ret = CMSNsd2360(); break;
1221 }
1222 break;
1223 }
1224 }
1225 else if (TMath::Abs(energy-7000) < 10) {
1226 switch (type) {
1227 case 1: ret = 0; break;
1228 case 2: // INEL > 0
1229 switch (which) {
1230 case ALICE: ret = AliceCentralInelGt7000(); break;
1231 }
1232 break;
1233 case 4: // NSD
1234 switch (which) {
1235 case CMS: ret = CMSNsd7000(); break;
1236 }
1237 break;
1238 }
1239 }
1240 }
f7cfc454 1241#if 0
1242 if (ret) {
1243 if (!wn.IsNull()) wn.Append(",");
1244 switch (which) {
1245 case PYTHIA: wn.Append("Pythia"); break;
1246 case UA5: wn.Append("UA5"); break;
1247 case CMS: wn.Append("CMS"); break;
1248 case ALICE: wn.Append("ALICE"); break;
1249 }
1250 }
1251#endif
797161e8 1252 return ret;
1253}
1254
f7cfc454 1255//____________________________________________________________________
1256TString&
1257AppendItem(TString& s, char delim, const char* what)
1258{
1259 if (!s.IsNull()) s.Append(Form("%c", delim));
1260 s.Append(what);
1261 return s;
1262}
1263
7e4038b5 1264//____________________________________________________________________
1265/**
1266 * Get a multi graph of data for a given energy and trigger type
1267 *
e308a636 1268 * @param sys Collision system (1: pp, 2: PbPb)
7e4038b5 1269 * @param energy Energy in GeV (900, 2360, 7000)
1270 * @param type Bit pattern of trigger type
1271 * - 0x1 INEL
1272 * - 0x2 INEL>0
1273 * - 0x4 NSD
ffca499d 1274 * @param centLow Low centrality cut (only for PbPB)
1275 * @param centHigh High centrality cut (only for PbPB)
c6115ede 1276 * @param which What to get
7e4038b5 1277 *
1278 * @return A multi graph with the selected data.
1279 *
bd6f5206 1280 * @ingroup pwglf_forward_otherdata
7e4038b5 1281 */
1282TMultiGraph*
e308a636 1283GetData(UShort_t sys,
1284 UShort_t energy,
1285 UShort_t type=0x1,
1286 UShort_t centLow=0,
1287 UShort_t centHigh=0,
797161e8 1288 UShort_t which=0x7)
7e4038b5 1289{
e308a636 1290 TMultiGraph* mp = new TMultiGraph(Form("dndeta_%dGeV_%d_%03d_%03d",
1291 energy, type, centLow, centHigh),"");
7e4038b5 1292 TString tn;
1293 TString en;
e308a636 1294 TString sn;
1295 TString cn;
797161e8 1296 bool ua5 = (which & (1 << UA5)); // 0x1
1297 bool cms = (which & (1 << CMS)); // 0x2
1298 bool alice = (which & (1 << ALICE)); // 0x4
1299 bool pythia = (which & (1 << PYTHIA)); // 0x8
1300
1301 en.Append(Form(", #sqrt{s%s}=", sys == 1 ? "" : "_{NN}"));
1302 if (energy < 1000)
1303 en.Append(Form("%dGeV", energy));
1304 else {
1305 if (energy % 1000 == 0)
1306 en.Append(Form("%dTeV", energy/1000));
e308a636 1307 else
797161e8 1308 en.Append(Form("%4.2fTeV", float(energy)/1000));
1309 }
1310
1311 if (sys == 1) {
e308a636 1312 if (!(type & 0x7))
1313 Warning("GetData", "Unknown trigger mask 0x%x", type);
1314
f7cfc454 1315 if (TMath::Abs(energy-2750) < 11) {
1316 Warning("GetData", "Using 2360GeV data for %dGeV comparison", energy);
1317 energy = 2360;
1318 }
797161e8 1319 if (!(TMath::Abs(energy-900) < 10 ||
1320 TMath::Abs(energy-2360) < 10 ||
1321 TMath::Abs(energy-7000) < 10)) {
e308a636 1322 Warning("GetData", "No other results for sys=%d, energy=%d",
1323 sys, energy);
797161e8 1324 return 0;
1325 }
1326
1327 sn = "pp";
1328
f7cfc454 1329 if (type & 0x1) AppendItem(tn, '|', "INEL");
1330 if (type & 0x2) AppendItem(tn, '|', "INEL>0");
1331 if (type & 0x4) AppendItem(tn, '|', "NSD");
797161e8 1332
1333 Bool_t seenUA5 = false;
1334 for (Int_t i = 0; i < 3; i++) {
1335 UShort_t mask = (1 << i);
1336 if ((type & mask) == 0) continue;
f7cfc454 1337 TGraphAsymmErrors* gUAp =(ua5 ?GetSingle(UA5, sys,energy,mask):0);
1338 TGraphAsymmErrors* gUAn =(ua5 ?GetSingle(UA5+10,sys,energy,mask):0);
1339 TGraphAsymmErrors* gCMS =(cms ?GetSingle(CMS, sys,energy,mask):0);
1340 TGraphAsymmErrors* gALI =(alice ?GetSingle(ALICE, sys,energy,mask):0);
1341 TGraphAsymmErrors* gPYT =(pythia?GetSingle(PYTHIA,sys,energy,mask):0);
797161e8 1342 if (gUAp) mp->Add(gUAp);
1343 if (gUAn) mp->Add(gUAn);
1344 if (gCMS) mp->Add(gCMS);
1345 if (gALI) mp->Add(gALI);
1346 if (gPYT) mp->Add(gPYT);
1347 if (gUAp || gUAn) seenUA5 = true;
1348 }
1349 if (seenUA5) sn.Append("(p#bar{p})");
7e4038b5 1350 }
e308a636 1351 else if (sys == 2) {
1352 // Nothing for PbPb so far
1353 cn = Form(", %d%%-%d%% central", centLow, centHigh);
797161e8 1354 sn = "PbPb";
5bb5d1f6 1355 // Warning("GetData", "No other data for PbPb yet");
7e4038b5 1356 }
e308a636 1357 else
1358 Warning("GetData", "Unknown system %d", sys);
797161e8 1359
82fc512a 1360 if (!mp->GetListOfGraphs() || mp->GetListOfGraphs()->GetEntries() <= 0) {
1361 delete mp;
1362 mp = 0;
797161e8 1363 return 0;
82fc512a 1364 }
797161e8 1365 TString tit(Form("%s%s, %s%s",
1366 sn.Data(), en.Data(), tn.Data(), cn.Data()));
1367 mp->SetTitle(tit.Data());
7e4038b5 1368 return mp;
1369}
1370
1371//____________________________________________________________________
1372/**
1373 * Plot external data for a given selection of energy and trigger type
1374 * (see GetData)
1375 *
ffca499d 1376 * @param sys Collision system (1: pp, 2: PbPb)
1377 * @param energy Energy in GeV (900, 2360, 7000)
1378 * @param type Bit pattern of trigger type
1379 * - 0x1 INEL
1380 * - 0x2 INEL>0
1381 * - 0x4 NSD
1382 * @param centLow Low centrality cut (only for PbPB)
1383 * @param centHigh High centrality cut (only for PbPB)
c6115ede 1384 * @param which Which data to show
7e4038b5 1385 *
bd6f5206 1386 * @ingroup pwglf_forward_otherdata
7e4038b5 1387 */
1388void
e308a636 1389OtherData(UShort_t sys=1,
797161e8 1390 UShort_t energy=900,
1391 UShort_t type=0x1,
1392 UShort_t centLow=0,
1393 UShort_t centHigh=5,
1394 UShort_t which=0x7)
7e4038b5 1395{
797161e8 1396 TMultiGraph* mp = GetData(sys, energy, type, centLow, centHigh, which);
82fc512a 1397 if (!mp) return;
1398
7e4038b5 1399 gStyle->SetTitleX(0.1);
1400 gStyle->SetTitleY(1.0);
1401 gStyle->SetTitleW(0.85);
1402 gStyle->SetTitleH(0.05);
1403 gStyle->SetTitleBorderSize(0);
1404 gStyle->SetTitleTextColor(kWhite);
1405 gStyle->SetTitleFillColor(kBlack);
1406 gStyle->SetTitleFontSize(0.02);
1407
797161e8 1408 gStyle->SetOptTitle(0);
7e4038b5 1409 gStyle->SetOptStat(0);
1410
1411 TCanvas* c = new TCanvas("c", "dN/deta", 800, 600);
1412 c->SetFillColor(0);
1413 c->SetBorderSize(0);
1414 c->SetBorderMode(0);
797161e8 1415 c->SetRightMargin(0.02);
1416 c->SetTopMargin(0.02);
7e4038b5 1417
82fc512a 1418
7e4038b5 1419 mp->SetMinimum(0);
1420 mp->Draw("ap");
797161e8 1421 if (mp->GetXaxis()) {
7e4038b5 1422 mp->GetXaxis()->SetTitle("#eta");
797161e8 1423 mp->GetXaxis()->SetTitleFont(12);
1424 mp->GetXaxis()->SetLabelFont(132);
1425 }
1426 if (mp->GetYaxis()) {
1427 mp->GetYaxis()->SetTitle("#frac{1}{N} #frac{dN_{#font[132]{ch}}}{d#eta}");
1428 mp->GetYaxis()->SetTitleFont(12);
1429 mp->GetYaxis()->SetLabelFont(132);
1430 }
1431 TLegend* l = c->BuildLegend(0.3, 0.15, 0.7, 0.5,
1432 mp->GetTitle());
7e4038b5 1433 l->SetFillColor(0);
797161e8 1434 l->SetTextFont(132);
7e4038b5 1435 l->SetBorderSize(0);
797161e8 1436 TLegendEntry* h = static_cast<TLegendEntry*>(l->GetListOfPrimitives()->At(0));
1437 if (h) {
1438 h->SetTextFont(22);
1439 }
7e4038b5 1440 c->cd();
1441}
1442
1443//____________________________________________________________________
1444//
1445// EOF
1446//