]>
Commit | Line | Data |
---|---|---|
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 | */ |
25 | enum { | |
ffca499d | 26 | UA5, |
27 | CMS, | |
28 | ALICE, | |
b6b35c77 | 29 | PYTHIA, |
ffca499d | 30 | INEL, |
31 | INELGt0, | |
32 | NSD | |
33 | }; | |
34 | enum { | |
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 | }; |
52 | enum { | |
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 | }; | |
66 | enum { | |
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 | */ |
84 | void | |
ffca499d | 85 | SetGraphAttributes(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 | //____________________________________________________________________ |
125 | TGraphAsymmErrors* | |
126 | Pythia900INEL() | |
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 | //____________________________________________________________________ | |
337 | TGraphAsymmErrors* | |
338 | Pythia900NSD() | |
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 | */ |
560 | TGraphAsymmErrors* 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 | */ |
613 | TGraphAsymmErrors* 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 | */ |
665 | TGraphAsymmErrors* 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 | */ |
714 | TGraphAsymmErrors* 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 | */ |
794 | TGraphAsymmErrors* 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 | */ |
871 | TGraphAsymmErrors* 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 | */ |
948 | TGraphAsymmErrors* 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 | */ |
997 | TGraphAsymmErrors* 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 | */ |
1046 | TGraphAsymmErrors* 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 | */ |
1097 | TGraphAsymmErrors* 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 | */ |
1126 | TGraphAsymmErrors* 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 | */ |
1153 | TGraphAsymmErrors* 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 | //____________________________________________________________________ |
1169 | TGraphAsymmErrors* | |
1170 | GetSingle(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 | //____________________________________________________________________ |
1256 | TString& | |
1257 | AppendItem(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 | */ |
1282 | TMultiGraph* | |
e308a636 | 1283 | GetData(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 | */ |
1388 | void | |
e308a636 | 1389 | OtherData(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 | // |