Error Checks
There is a few settings related to error checking during program
execution. Many other checks are performed as well, but do not
have any specific setting related to themselves.
flag
Check:abortIfVeto
(default = off
)
There are a few ways in which an event can be vetoed, the most
common being a User Hooks test.
Normally this will simply mean that the next parton-level
configuration is selected inside the Pythia::next()
routine, without any need for a user intervention. With this
option switched on, however, Pythia::next()
will
return false
. It is then up to the user to decide
what to do next.
flag
Check:particleData
(default = off
)
Check the particle data tables for potential problems during
initialization. This includes inconsistent use of charge in particle
names, inconsistent setup of mass, mass range, width and lifetime,
sum of branching ratios not unity (allowed but discouraged) or charge
not conserved in a decay channel. Warnings should be viewed as reasons
to check further, but need not indicate a true problem, and also not all
problems may be caught.
The pythia.particleData.checkTable(level)
method,
used for these checks, may also be called directly.
mode
Check:levelParticleData
(default = 1
)
The level of verbosity and checks of particle data, if switched on.
option
0 : minimal amount of checks, e.g. that no channels open.
option
1 : further warning if individual channels closed,
except for resonances.
option
2 : also print branching-ratio-averaged threshold mass
except for resonances.
option
11 : as 1, but include resonances in detailed checks.
option
12 : as 2, but include resonances in detailed checks.
flag
Check:event
(default = on
)
When an event has been successfully generated, check that the
final event record in event
does not contain any
unphysical particles, or nonconserved charge or energy-momentum.
If this check fails, then pythia.next()
obtains the
value false
, i.e. the event is counted as aborted.
flag
Check:history
(default = on
)
When Check:event = on
and the event is checked as above,
further checks are made that all mother and daughter pointers are
consistently set. Specifically that all daughters in the
daughterlist
(or motherList
) have the
particle in their respective motherList
(or daughterlist
). This operation takes a bit more
time than the other error tests (of the order of 10% of what it takes
to generate the event in the first place), and so could be switched off
to save time.
mode
Check:nErrList
(default = 0
)
The number of erroneous events, in the above check, for which
event listing and other detailed information will be printed.
After that, only the normal error messages will be issued.
Error counters are always updated, and accumulated numbers can be
shown with pythia.stat()
at the end of the run.
parm
Check:epTolErr
(default = 1e-4
)
Maximum allowed summed deviation of E, p_x,
p_y and p_z between the incoming beams and the
final state, as a fraction of the initial energy, above which the
event is counted as aborted.
(Unfortunately roundoff errors do not scale linearly with the energy,
and also have a very long tail. So while most events at lower energies
may be correct to better than 1e-10, at LHC it does not have to signal
any fundamental bug if also the default tolerance above is violated
occasionally.)
parm
Check:epTolWarn
(default = 1e-6
)
A check on the same summed deviation as above, but counted as a
warning rather than an error, and not leading to the event being
classified as aborted.
parm
Check:mTolErr
(default = 1e-3
)
For each particle the maximum allowed deviation between the mass
calculated from energy-momentum and the bookkept mass, as a fraction
of the energy. This energy is taken to be at least 1 GeV, in order
to avoid harmless problems at very low energies (gluons mainly).
parm
Check:mTolWarn
(default = 1e-4
)
A check on the deviation as above, but counted as a warning rather
than an error.