Introduction

With the extension of PHOTOS to new functionalities the following changes in input parameters were introduced and initialization is hard coded as usual in routine PHOCIN:
1) ITRE=.FALSE. Third/fourth order - triple (or quatric) photon switch, see dipswitch IFOUR=(.TRUE.).AND.(ITRE) in routine PHTYPE
2) IEXP=.FALSE. to activate option with multiple photon emission. This option will set:
--- CALL PHCORK(5) ! see below for definition. In case of exponentiation this option is a default because in most cases it is necessary.
--- XPHCUT=0.000 000 1
--- EXPEPS=1D-4

Numerical stability of the PHOTOS algorithm

Introduction

Recently introduced improvements in the PHOTOS algorithm, i.e. tripple-emmission and exponentiation put higher requirements on numerical stability of calculations.
Larger phase-space covered by radiation and multiple iterations of the single-emission kernel lead to rounding errors, which may have severe consequences.
In general, the smaller XPHCUT is, the larger the multiplicity of photon emission is, and the more important the energy-momentum conservation is.
The iterative nature of the PHOTOS algorithm leads to the accumulation of rounding errors (especially in routines that calculate boosts of light particles).

Special algorithms (described below) were thus employed to improve energy-momentum conservation (enforce double-precission accuracy).
Nevertheless, any modifications performed on the event record (particularly: its kinematics) need a lot of care - in general, some special-case solutions may be applied, but they may severely influence (damage) the outcome of PHOTOS in other cases!
Special treatment is needed i.e. for the cases of intermediate states of some widths, such as top-quarks, where particles' momenta are not on the mass shell because of physics, rather than rounding errors.

Currently our solution may not work in "every case".
Over time, we would like to improve PHOTOS operability, however to treat a large number of possible "special cases" may require a lot of effort. Therefore,

we are looking forward to information about the "special-cases" you encounter.

(please, contact PHOTOS authors).

However, we want to stress that the STOP-warnings of PHOTOS are often the consequence of improperly-filled HEPEVT event record. The STOP messages may serve as a debugging tool in such cases.

Special routines for correction of kinematics

Since 1999, a subroutine PHCORK existed in PHOTOS, to correct improper kinematics of event record (strictly speaking: a part of the event record used by PHOTOS), as provided by host program. For example: host program is providing only single-precission event record. By default it is not active - a user may enable it (and select the mode of operation) by changing the parameter of PHCORK call in PHOINI subroutine. This point is "delicate" because we may encounter the cases where it is rather physisc, than rounding error, which affects the event record, for example due to the width of some intermediate states.

[Significant amount of explanation is needed here]

The following modes of operations of the PHCORK routune are currently implemented:

The following cases have been studied for the link to the web page of tests

The following cases have been identified



Last Modification: Piotr Golonka, 24 August 2004, 17:15 and by Z. Was 09 Oct 2004