source: HiSusy/trunk/Pythia8/pythia8170/phpdoc/EventStatistics.php @ 1

Last change on this file since 1 was 1, checked in by zerwas, 11 years ago

first import of structure, PYTHIA8 and DELPHES

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