~ubuntu-branches/ubuntu/trusty/pythia8/trusty-proposed

« back to all changes in this revision

Viewing changes to htmldoc/EventStatistics.html

  • Committer: Package Import Robot
  • Author(s): Lifeng Sun
  • Date: 2012-05-22 11:43:00 UTC
  • Revision ID: package-import@ubuntu.com-20120522114300-0jvsv2vl4o2bo435
Tags: upstream-8.1.65
ImportĀ upstreamĀ versionĀ 8.1.65

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<html>
 
2
<head>
 
3
<title>Event Statistics</title>
 
4
<link rel="stylesheet" type="text/css" href="pythia.css"/>
 
5
<link rel="shortcut icon" href="pythia32.gif"/>
 
6
</head>
 
7
<body>
 
8
 
 
9
<h2>Event Statistics</h2>
 
10
 
 
11
At the end of the run you will want to write out the final statistics
 
12
on number of events generated, the corresponding cross sections and 
 
13
the number of errors encountered. This is done either with the  
 
14
<code>pythia.stat()</code> method or the <code>pythia.statistics()</code> 
 
15
one, assuming <code>pythia</code> is an instance of the 
 
16
<code>Pythia</code> class.The former method is steered entirely by 
 
17
settings values, see <a href="MainProgramSettings.html" target="page">here</a>.  
 
18
The latter, deprecated one instead takes two arguments:
 
19
 
 
20
<a name="method1"></a>
 
21
<p/><strong>void Pythia::statistics(bool all = false, bool reset = false) &nbsp;</strong> <br/>
 
22
write out statistics on cross sections and errors. This is based on
 
23
calls to the methods below, for the two kinds of information. 
 
24
<br/><code>argument</code><strong> all </strong>  :  
 
25
if <code>true</code> it allows a more extensive listing than the default 
 
26
one, see multiparton-interactions statistics below.
 
27
  
 
28
<br/><code>argument</code><strong> reset </strong>  :  if <code>true</code> it implies that all counters, 
 
29
e.g on events generated and errors experienced, are reset to zero whenever 
 
30
the routine is called. The default instead is that all stored 
 
31
statistics information is unaffected by the call. 
 
32
Counters are automatically reset in each new <code>Pythia::init()</code> 
 
33
call, however, so the only time the <code>reset</code> option makes a 
 
34
difference is if <code>statistics(...)</code> is called several times 
 
35
in a (sub)run. 
 
36
  
 
37
  
 
38
 
 
39
<h3>Cross-section statistics</h3>
 
40
 
 
41
The <code>ProcessLevel::statistics()</code> method cannot be accessed 
 
42
directly, but only via the <code>Pythia::stat()</code> and 
 
43
<code>Pythia::statistics(...)</code> calls above.
 
44
When called it will loop over the list of existing processes, and for 
 
45
each write out name, code, the number of tried, selected and accepted 
 
46
events, the cross section and the estimated error on the latter. 
 
47
The three different event numbers are related to the Monte Carlo method 
 
48
used, whereby an initial upper estimate of the cross section is used to 
 
49
select a large number of trial phase-space points, whereof then not all 
 
50
survive. Rejections are normally done by the internal machinery, but can 
 
51
also be obtained by <a href="UserHooks.html" target="page">user hooks</a>. 
 
52
Therefore:
 
53
<ul>
 
54
<li><b>tried</b> events reflect the original number of 
 
55
phase-space points probed, as part of the upper estimate;</li>
 
56
<li><b>selected</b> events correspond to those that survive 
 
57
the internal Monte-Carlo selection procedure;</li> 
 
58
<li><b>accepted</b> events are those that also survive 
 
59
the additional user cuts.</li>
 
60
</ul> 
 
61
In most runs there would be no user hooks implemented, and then the 
 
62
numbers of selected and of accepted events will agree. Aborted events 
 
63
(see below) usually appear in the selected statistics but not in the 
 
64
accepted one.
 
65
 
 
66
<p/>
 
67
For Les Houches events the total cross section will be correctly
 
68
displayed; however the (optional) error value will not be used, so that
 
69
the reported error will be smaller than the correct statistical ones,
 
70
and often vanish completely. Furthermore, while the number of events 
 
71
is shown for each user process, the cross section is only for the sum 
 
72
of them. 
 
73
 
 
74
<h3>Error messages</h3>
 
75
 
 
76
When Pythia is run, errors may occur, and give rise to warning messages.
 
77
These may be of varying severity, as follows:
 
78
<ul>
 
79
<li><b>Abort</b> means things went seriously wrong, and the 
 
80
initialization or event generation failed. In the former case it is 
 
81
not possible to generate events at all, in the latter the current
 
82
event is flawed and should be skipped. In either case the respective
 
83
method, <code>Pythia::init()</code> or <code>Pythia::next()</code>,
 
84
then also returns the value <code>false</code>. There are occasions
 
85
where an abort may be deliberate, such as when a file of Les Houches
 
86
Events is read and the end of the file is reached.</li>
 
87
<li><b>Error</b> normally is less severe. Typically the program will
 
88
back up one step and try again. There are cases where this is not possible,
 
89
in particular during the initialization and the generation of a hard
 
90
process, and then the error may be followed by an abort as a direct 
 
91
consequence (with two separate messages).</li>   
 
92
<li><b>Warning</b> is even less severe. In some cases the program will 
 
93
try again, with  good chances of success, in others no measure at all
 
94
need to be taken.</li> 
 
95
</ul>
 
96
 
 
97
<p/>
 
98
The error messages is handled by a small part of the <code>Info</code> 
 
99
class. It is handed any abort, error or warning messages during the event 
 
100
generation phase, and will store each distinct message, with a counter 
 
101
for how many times it is issued. Thus it is possible to limit the number 
 
102
of identical messages issued, currently hardcoded so that each kind of 
 
103
error message is only printed once 
 
104
(<code>static const int TIMESTOPRINT = 1</code>).
 
105
This can be overridden by the calling routine, so that all messages of
 
106
this kind are shown, which is particularly relevant for the 
 
107
initialization  stage.
 
108
The summary table printed by <code>Pythia::statistics()</code> 
 
109
provides a table with all the different messages issued, in 
 
110
alphabetical order, with the total number of times each was generated.
 
111
 
 
112
<h3>Multiparton-interactions statistics</h3>
 
113
 
 
114
If you call <code>Pythia::statistics(true)</code>, i.e. with the first
 
115
optional argument <code>true</code>, also statistics on multiparton 
 
116
interactions is printed, comprising a list of all allowed subprocesses 
 
117
with how many times each of them has been generated. For the minimum-bias
 
118
process this also includes the hardest interaction, while else the 
 
119
hardest process is excluded from the statistics. (This is because 
 
120
the hardest process is of the same character and generated by the same
 
121
machinery in the former case but not in the latter. Also, for the 
 
122
former case only, the standard statistics listing only lists 
 
123
minimum bias as one single process, i.e. does not further specify 
 
124
the character of the hardest subprocess, so there is not any overlap 
 
125
between the two.)
 
126
 
 
127
</body>
 
128
</html>
 
129
 
 
130
<!-- Copyright (C) 2012 Torbjorn Sjostrand -->