]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PYTHIA8/pythia8145/xmldoc/EventInformation.xml
New pythia8 version
[u/mrichter/AliRoot.git] / PYTHIA8 / pythia8145 / xmldoc / EventInformation.xml
1 <chapter name="Event Information">
2
3 <h2>Event Information</h2>
4
5 The <code>Info</code> class collects various one-of-a-kind information, 
6 some relevant for all events and others for the current event. 
7 An object <code>info</code> is a public member of the <code>Pythia</code>
8 class, so if you e.g. have declared <code>Pythia pythia</code>, the
9 <code>Info</code> methods can be accessed by 
10 <code>pythia.info.method()</code>. Most of this is information that 
11 could also be obtained e.g. from the event record, but is here more
12 directly available. It is primarily intended for processes generated 
13 internally in PYTHIA, but many of the methods would work also for
14 events fed in via the Les Houches Accord.
15
16 <h3>List information</h3>
17
18 <method name="void Info::list()">
19 a listing of most of the information set for the current event. 
20 </method>
21
22 <h3>The beams</h3>
23
24 <method name="int Info::idA()">
25 </method>
26 <methodmore name="int Info::idB()">
27 the identities of the two beam particles. 
28 </methodmore>
29
30 <method name="double Info::pzA()"> 
31 </method>
32 <methodmore name="double Info::pzB()">
33 the longitudinal momenta of the two beam particles.
34 </methodmore>
35
36 <method name="double Info::eA()"> 
37 </method>
38 <methodmore name="double Info::eB()">
39 the energies of the two beam particles.
40 </methodmore>
41
42 <method name="double Info::mA()"> 
43 </method>
44 <methodmore name="double Info::mB()">
45 the masses of the two beam particles.
46 </methodmore>
47
48 <method name="double Info::eCM()"> 
49 </method>
50 <methodmore name="double Info::s()">
51 the CM energy and its square for the two beams. 
52 </methodmore>
53
54 <h3>Initialization</h3>
55
56 <method name="bool Info::tooLowPTmin()">
57 normally false, but true if the proposed <ei>pTmin</ei> scale was too low 
58 in timelike or spacelike showers, or in multiple interactions. In the former
59 case the <ei>pTmin</ei> is raised to some minimal value, in the latter the 
60 initialization fails (it is impossible to obtain a minijet cross section
61 bigger than the nondiffractive one by reducing <ei>pTmin</ei>).
62 </method>
63
64 <h3>The event type</h3>
65
66 <method name="string Info::name()"> 
67 </method>
68 <methodmore name="int Info::code()">
69 the name and code of the process that occured.
70 </methodmore>
71
72 <method name="int Info::nFinal()"> 
73 the number of final-state partons in the hard process.
74 </method>
75
76 <method name="bool Info::isResolved()"> 
77 are beam particles resolved, i.e. were PDF's used for the process?
78 </method>
79
80 <method name="bool Info::isDiffractiveA()"> 
81 </method>
82 <methodmore name="bool Info::isDiffractiveB()">
83 is either beam diffractively excited?
84 </methodmore>
85
86 <method name="bool Info::isMinBias()"> 
87 is the process a minimum-bias one?
88 </method>
89
90 <method name="bool Info::isLHA()"> 
91 has the process been generated from external Les Houches Accord 
92 information?
93 </method>
94
95 <method name="bool Info::atEndOfFile()"> 
96 true if a linked Les Houches class refuses to return any further 
97 events, presumably because it has reached the end of the file from 
98 which events have been read in.
99 </method>
100
101 <method name="bool Info::hasSub()"> 
102 does the process have a subprocess classification?
103 Currently only true for minbias and Les Houches events, where it allows 
104 the hardest collision to be identified. 
105 </method>
106
107 <method name="string Info::nameSub()"> 
108 </method>
109 <methodmore name="int Info::codeSub()">
110 </methodmore>
111 <methodmore name="int Info::nFinalSub()">
112 the name, code and number of final-state partons in the subprocess
113 that occured when <code>hasSub()</code> is true. For a minimum-bias event 
114 the <code>code</code> would always be 101, while <code>codeSub()</code> 
115 would vary depending on the actual hardest interaction, e.g. 111 for 
116 <ei>g g -> g g</ei>. For a Les Houches event the <code>code</code> would 
117 always be 9999, while <code>codeSub()</code> would be the external 
118 user-defined classification code. The methods below would also provide 
119 information for such particular subcollisions.  
120 </methodmore>
121
122 <h3>Hard process parton densities and scales</h3>
123
124 <method name="int Info::id1()"> 
125 </method>
126 <methodmore name="int Info::id2()">
127 the identities of the two partons coming in to the hard process.
128 </methodmore>
129
130 <method name="double Info::x1()"> 
131 </method>
132 <methodmore name="double Info::x2()">
133 <ei>x</ei> fractions of the two partons coming in to the hard process.
134 </methodmore>
135
136 <method name="double Info::y()"> 
137 </method>
138 <methodmore name="double Info::tau()">
139 rapidity and scaled mass-squared of the hard-process subsystem, as 
140 defined by the above <ei>x</ei> values. 
141 </methodmore>
142
143 <method name="double Info::pdf1()"> 
144 </method>
145 <methodmore name="double Info::pdf2()">
146 parton densities <ei>x*f(x,Q^2</ei> )evaluated for the two incoming 
147 partons; could be used e.g. for reweighting purposes. 
148 </methodmore>
149
150 <method name="double Info::QFac()"> 
151 </method>
152 <methodmore name="double Info::Q2Fac()">
153 the <ei>Q</ei> or <ei>Q^2</ei> factorization scale at which the 
154 densities were evaluated.
155 </methodmore>
156
157 <method name="bool Info::isValence1()"> 
158 </method>
159 <methodmore name="bool Info::isValence2()">
160 <code>true</code> if the two hard incoming partons have been picked 
161 to belong to the valence piece of the parton-density distribution, 
162 else <code>false</code>. Should be interpreted with caution.
163 Information is not set if you switch off parton-level processing. 
164 </methodmore>
165
166 <method name="double Info::alphaS()"> 
167 </method>
168 <methodmore name="double Info::alphaEM()">
169 the <ei>alpha_strong</ei> and <ei>alpha_electromagnetic</ei> values used 
170 for the hard process.
171 </methodmore>
172
173 <method name="double Info::QRen()"> 
174 </method>
175 <methodmore name="double Info::Q2Ren()">
176 the <ei>Q</ei> or <ei>Q^2</ei> renormalization scale at which 
177 <ei>alpha_strong</ei> and <ei>alpha_electromagnetic</ei> were evaluated.
178 </methodmore>
179
180 <h3>Hard process kinematics</h3>
181
182 <method name="double Info::mHat()">
183 </method>
184 <methodmore name="double Info::sHat()">
185 the invariant mass and its square for the hard process.
186 </methodmore>
187
188 <method name="double Info::tHat()"> 
189 </method>
190 <methodmore name="double Info::uHat()">
191 the remaining two Mandelstam variables; only defined for <ei>2 -> 2</ei>
192 processes. 
193 </methodmore>
194
195 <method name="double Info::pTHat()"> 
196 </method>
197 <methodmore name="double Info::pT2Hat()">
198 transverse momentum and its square in the rest frame of a <ei>2 -> 2</ei>
199 processes. 
200 </methodmore>
201
202 <method name="double Info::m3Hat()"> 
203 </method>
204 <methodmore name="double Info::m4Hat()">
205 the masses of the two outgoing particles in a <ei>2 -> 2</ei> processes. 
206 </methodmore>
207
208 <method name="double Info::thetaHat()"> 
209 </method>
210 <methodmore name="double Info::phiHat()">
211 the polar and azimuthal scattering angles in the rest frame of 
212 a <ei>2 -> 2</ei> process.
213 </methodmore>
214
215 <h3>Event weight and activity</h3>
216
217 <method name="double Info::weight()"> 
218 weight assigned to the current event. Is normally 1 and thus uninteresting.
219 However, in case of the <code><aloc href="PhaseSpaceCuts">
220 PhaseSpace:increaseMaximum = off</aloc></code> default strategy,
221 an event with a differential cross-section above the assumed one 
222 (in a given phase-space point) is assigned a weight correspondingly
223 above unity. This should happen only very rarely, if at all, and so
224 could normally be disregarded. For Les Houches events some strategies 
225 allow negative weights, which then after unweighting lead to events 
226 with weight -1. There are also Les Houches strategies where no unweighting 
227 is done, and therefore a nontrivial event weight must be used e.g. 
228 when filling histograms. 
229 </method>
230
231 <method name="int Info::nISR()"> 
232 </method>
233 <methodmore name="int Info::nFSRinProc()">
234 </methodmore>
235 <methodmore name="int Info::nFSRinRes()">
236 the number of emissions in the initial-state showering, in the final-state
237 showering excluding resonance decys, and in the final-state showering
238 inside resonance decays, respectively.
239 </methodmore>
240
241 <method name="double Info::pTmaxMI()"> 
242 </method>
243 <methodmore name="double Info::pTmaxISR()">
244 </methodmore>
245 <methodmore name="double Info::pTmaxFSR()">
246 Maximum <ei>pT</ei> scales set for MI, ISR and FSR, given the 
247 process type and scale choice for the hard interactions. The actual
248 evolution will run down from these scales.
249 </methodmore>
250
251 <method name="double Info::pTnow()">
252 The current <ei>pT</ei> scale in the combined MI, ISR and FSR evolution.
253 Useful for classification in <aloc href="UserHooks">user hooks</aloc>,
254 but not once the event has been evolved.  
255 </method>
256
257 <h3>Multiple interactions</h3>
258
259 <method name="double Info::bMI()"> 
260 the impact parameter <ei>b</ei> assumed for the current collision when
261 multiple interactions are simulated. Is not expressed in any physical
262 size (like fm), but only rescaled so that the average should be unity 
263 for minimum-bias events (meaning less than that for events with hard
264 processes). 
265 </method>
266
267 <method name="double Info::enhanceMI()"> 
268 The choice of impact parameter implies an enhancement or depletion of
269 the rate of subsequent interactions, as given by this number. Again
270 the average is normalized be unity for minimum-bias events (meaning 
271 more than that for events with hard processes).  
272 </method>
273
274 <method name="int Info::nMI()"> 
275 the number of hard interactions in the current event. Is 0 for elastic
276 and diffractive events, and else at least 1, with more possible from
277 multiple interactions.
278 </method>
279
280 <method name="int Info::codeMI(int i)"> 
281 </method>
282 <methodmore name="double Info::pTMI(int i)">
283 the process code and transverse momentum of the <code>i</code>'th 
284 subprocess, with <code>i</code> in the range from 0 to
285 <code>nMI() - 1</code>. The values for subprocess 0 is redundant with
286 information already provided above.  
287 </methodmore>
288
289 <method name="int Info::iAMI(i)"> 
290 </method>
291 <methodmore name="int Info::iBMI(i)">
292 are normally zero. However, if the <code>i</code>'th subprocess is
293 a rescattering, i.e. either or both incoming partons come from the 
294 outgoing state of previous scatterings, they give the position in the
295 event record of the outgoing-state parton that rescatters. 
296 <code>iAMI</code> and <code>iBMI</code> then denote partons coming from 
297 the first or second beam, respectively.
298 </methodmore>
299
300 <h3>Cross sections</h3>
301
302 Here are the currently available methods related to the event sample 
303 as a whole. While continuously updated during the run, it is recommended
304 only to study these properties at the end of the event generation, 
305 when the full statistics is available.
306
307 <method name="long Info::nTried()">
308 </method>
309 <methodmore name="long Info::nSelected()">
310 </methodmore>
311 <methodmore name="long Info::nAccepted()">
312 the total number of tried phase-space points, selected hard processes
313 and finally accepted events, summed over all allowed subprocesses.
314 The first number is only intended for a study of the phase-space selection
315 efficiency. The last two numbers usually only disagree if the user introduces 
316 some veto during the event-generation process; then the former is the number 
317 of acceptable events found by PYTHIA and the latter the number that also
318 were approved by the user. If you set <aloc href="ASecondHardProcess">a 
319 second hard process</aloc> there may also be a mismatch. 
320 </methodmore>
321
322 <method name="double Info::sigmaGen()">
323 </method>
324 <methodmore name="double Info::sigmaErr()">
325 the estimated cross section and its estimated error,
326 summed over all allowed subprocesses, in units of mb. The numbers refer to
327 the accepted event sample above, i.e. after any user veto. 
328 </methodmore>
329
330 <h3>Loop counters</h3>
331
332 Mainly for internal/debug purposes, a number of loop counters from
333 various parts of the program are stored in the <code>Info</code> class,
334 so that one can keep track of how the event generation is progressing.
335 This may be especially useful in the context of the  
336 <code><aloc href="UserHooks">User Hooks</aloc></code> facility.
337
338 <method name="int Info::getCounter(int i)">
339 the method that gives you access to the value of the various loop 
340 counters.
341 <argument name="i"> the counter number you want to access:
342 <argoption value="0 - 9"> counters that refer to the run as a whole, 
343 i.e. are set 0 at the beginning of the run and then only can increase.
344 </argoption>
345 <argoption value="0"> the number of successful constructor calls for the
346 <code>Pythia</code> class (can only be 0 or 1).
347 </argoption>
348 <argoption value="1"> the number of times a <code>Pythia::init(...)</code>
349 call has been begun.  
350 </argoption>
351 <argoption value="2"> the number of times a <code>Pythia::init(...)</code>
352 call has been completed successfully.  
353 </argoption>
354 <argoption value="3"> the number of times a <code>Pythia::next()</code>
355 call has been begun.  
356 </argoption>
357 <argoption value="4"> the number of times a <code>Pythia::next()</code>
358 call has been completed successfully.  
359 </argoption>
360 <argoption value="10 - 19"> counters that refer to each individual event, 
361 and are reset and updated in the top-level <code>Pythia::next()</code> 
362 method.  
363 </argoption>
364 <argoption value="10"> the number of times the selection of a new hard 
365 process has been begun. Normally this should only happen once, unless a 
366 user veto is set to abort the current process and try a new one.
367 </argoption>
368 <argoption value="11"> the number of times the selection of a new hard 
369 process has been completed successfully.  
370 </argoption>
371 <argoption value="12"> as 11, but additionally the process should
372 survive any user veto and go on to the parton- and hadron-level stages. 
373 </argoption>
374 <argoption value="13"> as 11, but additionally the process should 
375 survive the parton- and hadron-level stage and any user cuts. 
376 </argoption>
377 <argoption value="14"> the number of times the loop over parton- and
378 hadron-level processing has begun for a hard process. Is reset each
379 time counter 12 above is reached. 
380 </argoption>
381 <argoption value="15"> the number of times the above loop has successfully
382 completed the parton-level step.
383 </argoption>
384 <argoption value="16"> the number of times the above loop has successfully
385 completed the checks and user vetoes after the parton-level step.
386 </argoption>
387 <argoption value="17"> the number of times the above loop has successfully
388 completed the hadron-level step.
389 </argoption>
390 <argoption value="18"> the number of times the above loop has successfully
391 completed the checks and user vetoes after the hadron-level step.
392 </argoption>
393 <argoption value="20 - 39"> counters that refer to a local part of the 
394 individual event, and are reset at the beginning of this part.
395 </argoption>
396 <argoption value="20"> the current system being processed in 
397 <code>PartonLevel::next()</code>. Is almost always 1, but for double
398 diffraction the two diffractive systems are 1 and 2, respectively.
399 </argoption>
400 <argoption value="21"> the number of times the processing of the 
401 current system (see above) has begun.
402 </argoption>
403 <argoption value="22"> the number of times a step has begun in the 
404 combined MI/ISR/FSR evolution downwards in <ei>pT</ei> 
405 for the current system.
406 </argoption>
407 <argoption value="23"> the number of time MI has been selected for the 
408 downwards step above.
409 </argoption>
410 <argoption value="24"> the number of time ISR has been selected for the 
411 downwards step above.
412 </argoption>
413 <argoption value="25"> the number of time FSR has been selected for the 
414 downwards step above.
415 </argoption>
416 <argoption value="26">  the number of time MI has been accepted as the 
417 downwards step above, after the vetoes.
418 </argoption>
419 <argoption value="27">  the number of time ISR has been accepted as the 
420 downwards step above, after the vetoes.
421 </argoption>
422 <argoption value="28">  the number of time FSR has been accepted as the 
423 downwards step above, after the vetoes.
424 </argoption>
425 <argoption value="29"> the number of times a step has begun in the 
426 separate (optional) FSR evolution downwards in <ei>pT</ei> 
427 for the current system.
428 </argoption>
429 <argoption value="30"> the number of time FSR has been selected for the 
430 downwards step above.
431 </argoption>
432 <argoption value="31">  the number of time FSR has been accepted as the 
433 downwards step above, after the vetoes.
434 </argoption>
435 <argoption value="40 - 49"> counters that are unused (currently), and
436 that therefore are free to use, with the help of the two methods below.
437 </argoption>
438 </argument>
439 </method>
440
441 <method name="void Info::setCounter(int i, int value = 0)">
442 set the above counters to a given value. Only to be used by you 
443 for the unassigned counters 40 - 49.
444 <argument name="i"> the counter number, see above.
445 </argument>
446 <argument name="value" default="0"> set the counter to this number;
447 normally the default value is what you want.
448 </argument>
449
450 <method name="void Info::addCounter(int i, int value = 0)">
451 increase the above counters by a given amount. Only to be used by you 
452 for the unassigned counters 40 - 49.
453 <argument name="i"> the counter number, see above.
454 </argument>
455 <argument name="value" default="1"> increase the counter by this amount;
456 normally the default value is what you want.
457 </argument>
458
459 </method>
460
461
462
463 </chapter>
464
465 <!-- Copyright (C) 2010 Torbjorn Sjostrand -->