<chapter name="Error Checks"> <h2>Error Checks</h2> 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 name="Check:abortIfVeto" default="off"> There are a few ways in which an event can be vetoed, the most common being a <aloc href="UserHooks">User Hooks</aloc> test. Normally this will simply mean that the next parton-level configuration is selected inside the <code>Pythia::next()</code> routine, without any need for a user intervention. With this option switched on, however, <code>Pythia::next()</code> will return <code>false</code>. It is then up to the user to decide what to do next. </flag> <flag name="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 <code>pythia.particleData.checkTable(level)</code> method, used for these checks, may also be called directly. </flag> <modepick name="Check:levelParticleData" default="1"> The level of verbosity and checks of particle data, if switched on. <option value="0">minimal amount of checks, e.g. that no channels open. </option> <option value="1">further warning if individual channels closed, except for resonances.</option> <option value="2">also print branching-ratio-averaged threshold mass except for resonances.</option> <option value="11">as 1, but include resonances in detailed checks. </option> <option value="12">as 2, but include resonances in detailed checks. </option> </modepick> <flag name="Check:event" default="on"> When an event has been successfully generated, check that the final event record in <code>event</code> does not contain any unphysical particles, or nonconserved charge or energy-momentum. If this check fails, then <code>pythia.next()</code> obtains the value <code>false</code>, i.e. the event is counted as aborted. </flag> <flag name="Check:history" default="on"> When <code>Check:event = on</code> 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 <code>daughterlist</code> (or <code>motherList</code>) have the particle in their respective <code>motherList</code> (or <code>daughterlist</code>). 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. </flag> <modeopen name="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 <code>pythia.statistics()</code> at the end of the run. </modeopen> <parm name="Check:epTolErr" default="1e-4"> Maximum allowed summed deviation of <ei>E</ei>, <ei>p_x</ei>, <ei>p_y</ei> and <ei>p_z</ei> 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> <parm name="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> </chapter> <!-- Copyright (C) 2014 Torbjorn Sjostrand -->