Top Processes

Different ways to produce top quarks, singly or in pairs.

flag  Top:all   (default = off)
Common switch for the group of top production.

flag  Top:gg2ttbar   (default = off)
Scatterings g g → t tbar. Code 601.

flag  Top:qqbar2ttbar   (default = off)
Scatterings q qbar → t tbar by gluon exchange. Code 602.

flag  Top:qq2tq(t:W)   (default = off)
Scatterings q q' → t q'' by t-channel exchange of a W^+- boson. Code 603.

flag  Top:ffbar2ttbar(s:gmZ)   (default = off)
Scatterings f fbar → t tbar by s-channel exchange of a gamma^*/Z^0 boson. The WeakZ0:gmZmode switch can be used as in other gamma^*/Z^0 exchange processes, so that default = 0 gives the full contribution, = 1 only the gamma^* part and = 2 only the Z^0 one. Code 604.

flag  Top:ffbar2tqbar(s:W)   (default = off)
Scatterings f fbar' → t q'' by s-channel exchange of a W^+- boson. Code 605.

flag  Top:gmgm2ttbar   (default = off)
Scatterings gamma gamma → t tbar. Code 606.

flag  Top:ggm2ttbar   (default = off)
Scatterings g gamma → t tbar. Code 607 when g gamma → t tbar and 617 when gamma g → t tbar.

By default top always decays to a W and a down-type quark. It is possible to switch on the t → H+ b decay mode. Note that its partial width is calculated using the tan(beta) value stored in HiggsHchg:tanBeta, so that it can be used without having to read in a SUSY parameter file. For the H+ to decay also Higgs:useBSM = on is necessary.

Threshold enhancements

In the article "On the threshold behaviour of heavy top production", [Fad90], cross section enhancements in the threshold region were discussed. Recently both CMS and ATLAS have found signals for such enhancements. The old equations, partly but not fully available in PYTHIA 6, have therefore now been reimplemented in full. The above-threshold enhancements are straightforward to implement, but the below-threshold "toponium" are less transparent, and different scenarios are explored. A first study was presented in [Sjo25], and a more detailed one is in preparation.

During the course of these studies the understanding of the 1990 ansatz has been improved, and the model extended in different directions. The first code version, in PYTHIA 8.316, is obsolete. Notably its two intermediate scenarios, then options 2 and 3, have been removed. Version 8.317 brought a clarification of how the E variable should be interpreted further above threshold, which brought agreement between the Green's and the Coulomb expressions there. It also implements the angular correlations for a pseudoscalar t-tbar decay chain via W bosons to a six-fermion final state. Version 8.318 introduces a new option for streamlined setup of width, adds handling of top thresholds in e^+e^- annihilation, with a new main373.cc example, includes various minor improvements and bug fixes, and adds more information for the user.

The key issue addressed in 8.317 is how the top mass is handled in the derivation of the threshold cross section expressions. This issue is not addressed in [Fad90], which only does numerical integration of the below-threshold contribution, not Monte Carlo implementation. Going back to more detailed presentations, notably [Fad91], it becomes apparent that the relevant Green's function expressions include smearing from the top width. So it appears that there is doublecounting, that should be fixed. One could imagine two approaches to this.
(a) Reduce the top quark width to a small number. This is then closer to the general thinking of the theory community, where the top mass is kept fixed in matrix-element calculations. The main issue is that the broadening of top quarks above threshold is also inhibited, which is unphysical. Technically, the top width cannot be made arbitrarily small, since a finite width is needed for the handling of the "toponium" below-threshold decay to off-shell top quarks. The top width changed here is the regular one stored in the particle data tables, and can be set as property mWidth of particle 6. Note, however, that PYTHIA will use the chosen top mass to recalculate the top width at initialization, so to inhibit this you must also set 6:doForceWidth = true.
(b) Reduce the top width used in the threshold-behaviour matrix element expressions. This then provides a natural continuation of the above-threshold behaviour traditionally used in PYTHIA, including model options 0 and 1 below, to the below-threshold one. The problem here is a practical one: a shrinking matrix element width gives a spectrum of discrete bound-state peaks in the t+tbar mass spectrum, which becomes messy to handle properly. Notably the initialization step may not fully catch the peaks, which later leads to some events receiving weights above unity to compensate. This kind of top width is regulated by the tWidthGreen parameter below.

In 8.317 the above-threshold top quark width and the Green's function width can be mixed freely. In 8.318 a new (recommended) option is introduced, wherein the two can be mixed, but such that the sum of the two adds up to give the physical top width. (Recall that the convolution of two nonrelativistic Breit-Wigners give a new Breit-Wigner with a width that is the sum of the constituent two, Gamma = Gamma_1 + Gamma_2.)

Relevant code is implemented as a new class TopThreshold in SigmaProcess.h/.cc, which is accessed by the internal gg → ttbar, qqbar → ttbar and ffbar → gamma^*/Z^0 → ttbar classes in the SigmaQCD and SigmaEW files, respectively. The implemented scenarios and free parameters within them are as follows.

mode  TopThreshold:model   (default = 0; minimum = 0; maximum = 3)
The choice of threshold behaviour for the three t tbar production processes. If you want to switch on this functionality, the recommended choice is option 3; see above.
option 0 : no modifications to threshold, i.e. pure Born (leading order) matrix elements.
option 1 : the simple Coulomb enhancement, which only works above the threshold, E = mHat(t + tbar) - m(t) - m(tbar) > 0.
option 2 : the Green's function in the whole threshold region, both E > 0 and E < 0, but damped-out below (see thrRegion below). The top quark width mWidth and the Green's function width tWidthGreen (see below) can be mixed freely, which may lead to doublecounting of mass smearing.
option 3 : as option 2, but top quark masses are rescaled to a width mWidth - tWidthGreen such that total mass smearing is at the physically expected level.

parm  TopThreshold:tWidthGreen   (default = 0.1; minimum = 0.0001; maximum = 2.)
top quark width as used in the Green's function. See description above for the issue this parameter is intended to address. Also note that the smaller tWidthGreen is, the more event weights above unity you will get from the narrow resonance peaks below threshold, leading to degrading numerical precision. The default value therefore is a reasonable lower limit for most applications.

parm  TopThreshold:thrRegion   (default = 10.; minimum = 5.; maximum = 20.)
the Green's function, when used, is only assumed valid down to E = -thrRegion. In the region [-2 thrRegion, -thrRegion] it is linearly damped to zero, and below that identically zero.
Note: renamed from width in PYTHIA 8.316, to avoid confusion with the width concept used e.g. in tWidthGreen above. Also, owing to a changed handling of the high-energy behaviour in model 2, damping at high masses is no longer required.

mode  TopThreshold:alphasOrder   (default = 2; minimum = 0; maximum = 2)
the order of the running of the alpha_strong, used for the top threshold factors (and nowhere else).
option 0 : no running.
option 1 : first-order running.
option 2 : second-order running.

parm  TopThreshold:alphasValue   (default = 0.118; minimum = 0.10; maximum = 0.25)
the alpha_strong value at scale M_Z^2, that then runs according to the order defined above.

parm  TopThreshold:ggSingletFrac   (default = 0.; minimum = 0.; maximum = 1.)
in the g g → t tbar process, colour factors gives 2/7 singlet and the rest octet, but dynamics might modify this. Historically, a vanishing singlet fraction has been assumed for top production, however, so for backwards compatibility this remains the default. Therefore this parameter must be changed for relevant top-threshold studies.

parm  TopThreshold:qqSingletFrac   (default = 0.; minimum = 0.; maximum = 1.)
in the q qbar → t tbar process colour arguments gives all octet and no singlet, but again modifications are possible.

mode  TopThreshold:massSel   (default = 0; minimum = 0; maximum = 1)
for below-threshold production, new t and tbar masses must be selected, such that these new masses correspond to above-threshold production. Repeated attempts are made in either of two ways.
option 0 : pick each new mass to be smaller than the respective original one (and above the generic constraint particleDataPtr->mMin(6) = 86 GeV).
option 1 : pick each new mass freely. Thus one of the two masses can increase, at the expense of the other, which has to be even further pushed off mass shell. The loop to find a matching pair fails more often, so this option is slower. It is not intended for standard use, but could be seen as a variation to estimate uncertainties in the normal option 0.

mode  TopThreshold:nTerms   (default = 0; minimum = 0)
the number of terms evaluated in the sum expression of the Green's functions. Normally this is selected automatically, based on the top width and the current energy. If you pick a nTerms value above 20, however, that is the number of terms summed. The main application is for convergence checks, where a very large number (10000 say) could be used, at the expense of slower execution.

flag  TopThreshold:pseudoscalar   (default = off)
distribute angles of the consecutive t, tbar, W+ and W- decays as if the t+tbar pair is in a pseudoscalar state, giving specific angular correlations otherwise absent. This only applies for the gg → ttbar process, while the qqbar → g^* → ttbar and ffbar → gamma^*/Z^0 → ttbar vector-state (dominated) correlations currently are not modelled. Furthermore it only applies in the threshold region, while at higher energies a transition to independent t and tbar decays is assumed, see next two parameters. When on it affects all top threshold models, also the default pure Born level.

parm  TopThreshold:psEBeginDamp   (default = 10.)
when TopThreshold:pseudoscalar = on then the correlated decays are used up until this many GeV above the threshold energy. After that a linear damping is introduced, with the slack being taken over by independent t and tbar decays, until the latter completely takes over at the next scale.

parm  TopThreshold:psEEndDamp   (default = 20.)
the linear damping introduced in the previous parameter ends at the current one, so above this scale (relative to the threshold energy) only independent t and tbar decays remain. Must be chosen larger than the previous parameter.

Note 1: Models 2 and 3, for E < 0 redefine the t and tbar mass values to achieve a new E' > 0. In order still to have access to the original quantities, before the new masses were selected, the following quantities are saved and retrievable:
pythia.info.toponiumE the original threshold energy E, which may have either sign;
pythia.info.toponiumm3, pythia.info.toponiumm4 the two original t and tbar masses, which are larger than the m' ones found in the event record.

Note 2: Also some other event information is stored.
pythia.info.toponiumEnhance gives the mixed enhance/suppression weight that multiplies the rest of the cross section. For E > 0 a division by it can be used to recover the Born-level rate, while for E < 0 there is no proper Born-level rate to recover, only the extended below-threshold rate in the region defined by thrRegion above.
Related to this, in processes with mixed singlet and octet content, the enhancement of the singlet and the suppression of the octet changes the original colour-factor mix (notably relative to ggSingletFrac). The mix for the current event - used to decide at random whether it should be a singlet or not - can be retrieved with
pythia.info.toponiumSingletFrac.

Note 3: For technical reasons a MASSMARGIN = 0.01 GeV is used to avoid kinematical situations where numerics may become unstable. This means that the range 0 < E < 0.01 GeV is not populated in some scenarios. Overall effects are negligible, but it can give rise to visible dips in some high-resolution plots.

Note 4: Six main programs explore the usage of this code:
main368.cc plots the shape of the pure singlet and octet enhancements;
main369.cc and main370.cc histogram a few quantities for many different scenarios, to allow direct comparisons, with code for parallelization using either OpenMP or PythiaParallel, respectively;
main371.cc histograms a wider set of quantities, but only for one model at a time;
main372.cc studies angular correlations between outgoing fermions.
main373.cc shows the threshold cross section in e^+e^- colliders.