13.07.2015 Views

PYTHIA 6.4 Physics and Manual

PYTHIA 6.4 Physics and Manual

PYTHIA 6.4 Physics and Manual

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

as showers, fragmentation <strong>and</strong> decays, require no specific initialization (except for theone implied by the presence of BLOCK DATA PYDATA, see above), i.e. each event <strong>and</strong> eachtask st<strong>and</strong>s on its own. Current common-block values are used to perform the tasks inspecific ways, <strong>and</strong> those rules can be changed from one event to the next (or even withinthe generation of one <strong>and</strong> the same event) without any penalty. The r<strong>and</strong>om-numbergenerator is initialized at the first call, but usually this is transparent.In the core process generation machinery (e.g. selection of the hard process kinematics),on the other h<strong>and</strong>, a sizable amount of initialization is performed in the PYINIT call, <strong>and</strong>thereafter the events generated by PYEVNT all obey the rules established at that point.This improves the efficiency of the generation process, <strong>and</strong> also ties in with the MonteCarlo integration of the process cross section over many events. Therefore common-blockvariables that specify methods <strong>and</strong> constraints to be used have to be set before the PYINITcall <strong>and</strong> then not be changed afterwards, with few exceptions. Of course, it is possibleto perform several PYINIT calls in the same run, but there is a significant time overheadinvolved, so this is not something one would do for each new event. The two older separateprocess generation routines PYEEVT (<strong>and</strong> some of the routines called by it) <strong>and</strong> PYONIAalso contain some elements of initialization, where there are a few advantages if events aregenerated in a coherent fashion. The cross section is not as complicated here, however, sothe penalty for reinitialization is small, <strong>and</strong> also does not require any special user calls.Apart from writing a title page, giving a brief initialization information, printing errormessages if need be, <strong>and</strong> responding to explicit requests for listings, all tasks of theprogram are performed ‘silently’. All output is directed to unit MSTU(11), by default 6,<strong>and</strong> it is up to you to set this unit open for write. The only exceptions are PYRGET, PYRSET<strong>and</strong> PYUPDA where, for obvious reasons, the input/output file number is specified at eachcall. Here you again have to see to it that proper read/write access is set.The programs are extremely versatile, but the price to be paid for this is having alarge number of adjustable parameters <strong>and</strong> switches for alternative modes of operation.No single user is ever likely to need more than a fraction of the available options. Sinceall these parameters <strong>and</strong> switches are assigned sensible default values, there is no reasonto worry about them until the need arises.Unless explicitly stated (or obvious from the context) all switches <strong>and</strong> parameters canbe changed independently of each other. One should note, however, that if only a fewswitches/parameters are changed, this may result in an artificially bad agreement withdata. Many disagreements can often be cured by a subsequent retuning of some otherparameters of the model, in particular those that were once determined by a comparisonwith data in the context of the default scenario. For example, for e + e − annihilation, sucha retuning could involve one QCD parameter (α s or Λ), the longitudinal fragmentationfunction, <strong>and</strong> the average transverse momentum in fragmentation.The program contains a number of checks that requested processes have been implemented,that flavours specified for jet systems make sense, that the energy is sufficient toallow hadronization, that the memory space in PYJETS is large enough, etc. If anythinggoes wrong that the program can catch (obviously this may not always be possible), anerror message will be printed <strong>and</strong> the treatment of the corresponding event will be cutshort. In serious cases, the program will abort. As long as no error messages appear onthe output, it may not be worthwhile to look into the rules for error checking, but if butone message appears, it should be enough cause for alarm to receive prompt attention.Also warnings are sometimes printed. These are less serious, <strong>and</strong> the experienced usermight deliberately do operations which go against the rules, but still can be made tomake sense in their context. Only the first few warnings will be printed, thereafter theprogram will be quiet. By default, the program is set to stop execution after ten errors,after printing the last erroneous event.It must be emphasized that not all errors will be caught. In particular, one tricky questionis what happens if an integer-valued common-block switch or subroutine/function30

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!