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.statistics() 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.