Particle Decays

The ParticleDecays class performs the sequential decays of all unstable hadrons produced in the string fragmentation stage, i.e. up to and including b hadrons and their decay products, such as the tau lepton. It is not to be used for the decay of more massive resonances, such as top, Z^0 or SUSY, where decays must be performed already at the ProcessLevel of the event generation.

The decay description essentially copies the one present in PYTHIA since many years, but with some improvements, e.g. in the decay tables and the number of decay models available. Recently a more sophisticated handling of tau decays has also been introduced. Some issues may need further polishing.

Variables determining whether a particle decays

Before a particle is actually decayed, a number of checks are made.

(i) Decay modes must have been defined for the particle kind; tested by the canDecay() method of Event (and ParticleData).

(ii) The main switch for allowing this particle kind to decay must be on; tested by the mayDecay() method of Event (and ParticleData).

(iii) Particles may be requested to have a nominal proper lifetime tau0 below a threshold.

flag  ParticleDecays:limitTau0   (default = off)
When on, only particles with tau0 < tau0Max are decayed.

parm  ParticleDecays:tau0Max   (default = 10.; minimum = 0.)
The above tau0Max, expressed in mm/c.

(iv) Particles may be requested to have an actual proper lifetime tau below a threshold.

flag  ParticleDecays:limitTau   (default = off)
When on, only particles with tau < tauMax are decayed.

parm  ParticleDecays:tauMax   (default = 10.; minimum = 0.)
The above tauMax, expressed in mm/c.
In order for this and the subsequent tests to work, a tau is selected and stored for each particle, whether in the end it decays or not. (If each test would use a different temporary tau it would lead to inconsistencies.)

(v) Particles may be requested to decay within a given distance of the origin.

flag  ParticleDecays:limitRadius   (default = off)
When on, only particles with a decay within a radius r < rMax are decayed. There is assumed to be no magnetic field or other detector effects.

parm  ParticleDecays:rMax   (default = 10.; minimum = 0.)
The above rMax, expressed in mm.

(vi) Particles may be requested to decay within a given cylindrical volume around the origin.

flag  ParticleDecays:limitCylinder   (default = off)
When on, only particles with a decay within a volume limited by rho = sqrt(x^2 + y^2) < xyMax and |z| < zMax are decayed. There is assumed to be no magnetic field or other detector effects.

parm  ParticleDecays:xyMax   (default = 10.; minimum = 0.)
The above xyMax, expressed in mm.

parm  ParticleDecays:zMax   (default = 10.; minimum = 0.)
The above zMax, expressed in mm.


flag  ParticleDecays:mixB   (default = on)
Allow or not B^0 - B^0bar and B_s^0 - B_s^0bar mixing.

parm  ParticleDecays:xBdMix   (default = 0.776; minimum = 0.74; maximum = 0.81)
The mixing parameter x_d = Delta(m_B^0)/Gamma_B^0 in the B^0 - B^0bar system. (Default from RPP2006.)

parm  ParticleDecays:xBsMix   (default = 26.05; minimum = 22.0; maximum = 30.0)
The mixing parameter x_s = Delta(m_B_s^0)/Gamma_B_s^0 in the B_s^0 - B_s^0bar system. (Delta-m from CDF hep-ex-0609040, Gamma from RPP2006.)

Tau decays

A new machinery has been introduced to handle tau lepton decays, with helicity information related to the production process and with the form of the hadronic current fitted to data. It is largely based on the corresponding Herwig++ implementation [Gre07], with some input from Tauola [Jad90]. A short summary can be found in [Ilt12], while the complete writeup is in [Ilt14].

For taus in external processes, interfaced with Les Houches Accord information available, e.g. via Les Houches Event Files (LHEF), the new machinery interprets the SPINUP number for tau leptons as giving their helicity, and decays them accordingly. The only exceptions are when a specific polarization is forced by the user (see below), which then overrides the SPINUP value, or when SPINUP has the special value 9 (unpolarized). In the latter case, PYTHIA defaults back to attempting to determine the helicity structure from the production process, in the same way as for internal processes.

This new machinery is on by default, but it is possible to revert to the simpler old decay handling, e.g. to study differences. Furthermore the spin tracing framework does not yet cover all possibilities; notably it cannot handle taus coming from SUSY decay chains (except via LHEF), so it makes sense to switch off the new machinery in such instances, for speed reasons if nothing else. In case only one tau mother species is undefined, the polarization involved can be set by hand.

mode  ParticleDecays:sophisticatedTau   (default = 1; minimum = 0; maximum = 3)
Choice of tau decay model.
option 0 : old decay model, with isotropic decays. When reading LHEF files, the SPINUP digit will be ignored.
option 1 : sophisticated decays where tau polarization is calculated from the tau production mechanism. When reading LHEF files, the SPINUP digit will be used.
option 2 : sophisticated decays as above, but additionally tau polarization is set to ParticleDecaus:tauPolarization for taus produced from ParticleDecays:tauMother. When reading LHEF files, this overrides the SPINUP digit.
option 3 : sophisticated decays where tau polarization is set to ParticleDecaus:tauPolarization for all tau decays. When reading LHEF files, this overrides the SPINUP digit.
Note: options 2 and 3, to force a specific tau polarization, only affect the decay of the tau. The angular distribution of the tau itself, given by its production, is not modified by these options. If you want, e.g., a righthanded W, or a SUSY decay chain, the kinematics should be handled by the corresponding cross section class(es), supplemented by the resonance decay one(s). The options here could then still be used to ensure the correct polarization at the tau decay stage.

parm  ParticleDecays:tauPolarization   (default = 0; minimum = -1.; maximum = 1.)
Polarization of the tau when mode 2 or 3 of ParticleDecays:sophisticatedTau is selected.

mode  ParticleDecays:tauMother   (default = 0; minimum = 0)
Mother of the tau for forced polarization when mode 2 of ParticleDecays:sophisticatedTau is selected. You should give the positive identity code; to the extent an antiparticle exists it will automatically obtain the inverse polarization.

QED radiation

So far PYTHIA does not have any generic machinery for handling QED radiation in normal particle decays. In order to include this, a program like Photos [Bar94, Dav10] could be used as an afterburner. In a few cases, however, the existing shower machinery can be used also here: for two-body decays to a lepton pair (l^+ l^- or l^+- nu_l). Such decays are mediated by gamma^*/Z^0/W^+- exchange, for which PYTHIA does have an existing machinery that can be applied, including first-order matrix-element corrections for the first (hardest) photon emission.

flag  ParticleDecays:allowPhotonRadiation   (default = off)
Allow or not photon radiations in decays to a lepton pair, see above.
Note: The current default is to have radiation switched off, in order to avoid double-counting of emissions if you link to an external QED-radiation program, as is the norm in many collaborations.

Other variables

parm  ParticleDecays:mSafety   (default = 0.0005; minimum = 0.; maximum = 0.01)
Minimum mass difference required between the decaying mother mass and the sum of the daughter masses, kept as a safety margin to avoid numerical problems in the decay generation.

parm  ParticleDecays:sigmaSoft   (default = 0.5; minimum = 0.2; maximum = 2.)
In semileptonic decays to more than one hadron, such as B → nu l D pi, decay products after the first three are dampened in momentum by an explicit weight factor exp(-p^2/sigmaSoft^2), where p is the three-momentum in the rest frame of the decaying particle. This takes into account that such further particles come from the fragmentation of the spectator parton and thus should be soft.

When a decay mode is defined in terms of a partonic content, a random multiplicity (and a random flavour set) of hadrons is to be picked, especially for some charm and bottom decays. This is done according to a Poissonian distribution, for n_p normal particles and n_q quarks the average value is chosen as
n_p/ 2 + n_q/4 + multIncrease * ln ( mDiff / multRefMass)
with mDiff the difference between the decaying particle mass and the sum of the normal-particle masses and the constituent quark masses. For gluon systems multGoffset offers and optional additional term to the multiplicity. The lowest possible multiplicity is n_p + n_q/2 (but at least 2) and the highest possible 10. If the picked hadrons have a summed mass above that of the mother a new try is made, including a new multiplicity. These constraints imply that the actual average multiplicity does not quite agree with the formula above.

parm  ParticleDecays:multIncrease   (default = 4.; minimum = 2.; maximum = 6.)
The above multIncrease parameter, except for meMode = 23.

parm  ParticleDecays:multIncreaseWeak   (default = 2.5; minimum = 1.; maximum = 4.)
The above multIncrease parameter, specifically for meMode = 23. Here the weak decay implies that only the virtual W mass should contribute to the production of new particles, rather than the full meson mass.

parm  ParticleDecays:multRefMass   (default = 0.7; minimum = 0.2; maximum = 2.0)
The above multRefMass parameter.

parm  ParticleDecays:multGoffset   (default = 0.5; minimum = 0.0; maximum = 2.0)
The above multGoffset parameter.

parm  ParticleDecays:colRearrange   (default = 0.5; minimum = 0.; maximum = 1.0)
When a decay is given as a list of four partons to be turned into hadrons (primarily for modes 41 - 80) it is assumed that they are listed in pairs, as a first and a second colour singlet, which could give rise to separate sets of hadrons. Here colRearrange is the probability that this original assignment is not respected, and default corresponds to no memory of this original colour topology.

flag  ParticleDecays:FSRinDecays   (default = true)
When a particle decays to q qbar, g g, g g g or gamma g g, with meMode > 90, allow or not a shower to develop from it, before the partonic system is hadronized. (The typical example is Upsilon decay.) In addition, some variables defined for string fragmentation and for flavour production are used also here.

Modes for Matrix Element Processing

Some decays can be treated better than what pure phase space allows, by reweighting with appropriate matrix elements. In others a partonic content has to be converted to a set of hadrons. The presence of such corrections is signaled by a nonvanishing meMode() value for a decay mode in the particle data table. The list of allowed possibilities almost agrees with the PYTHIA 6 ones, but several obsolete choices have been removed, a few new introduced, and most have been moved for better consistency. Here is the list of currently allowed meMode() codes: Three special decay product identity codes are defined.