## Onia Processes

Production of any 3S1, 3PJ, and 3DJ charmonium and bottomonium states via the colour-singlet and colour-octet mechanisms. This includes by default, but is not limited to, production of the 3S1 J/psi and Upsilon and their radially excited states, as well as the 3PJ chi states and the 3D1 psi(3770). In each process the heavy quark content, either ccbar or bbbar, is followed by a round-bracketed expression which specifies the physical state in spectroscopic notation, (2S+1) L J. Proceding this is a square-bracketed expression, also in spectroscopic notation, which specifies the Fock state through which the process occurs, where (1) indicates a colour-singlet state and (8) a colour-octet state.

The unphysical colour-octet states follow the `id` scheme of 99 n_q n_s n_r n_L n_J where n_q is the quark flavour of the state and n_s is the colour-octet state type. Here 0 is 3S1, 1 is 1S0, and 2 is 3PJ. All remaining numbers follow the standard PDG numbering scheme. If a physical state is requested without a corresponding colour-octet state, a colour-octet state is automatically added to the `ParticleData` when a colour-octet process is selected. The colour-octet state is created with a mass given by the mass of the physical state plus the singlet-octet mass splitting parameter `Onia:massSplit`, which is by default set at 200 MeV, and decays exclusively to a gluon and the physical state. If the user wishes to manually set the mass splitting for each colour-octet state individually then `Onia:forceMassSplit` can be set to off. By default the widths of the octet states are set to vanish. This is not realistic, given their presumably rather rapid decay, but a nonvanishing width is not likely to have any measurable consequences that go beyond what comes from viewing the singlet-octet mass splitting as an effective parameter.

The original Fortran code for these processes has been contributed by Stefan Wolf [unpublished]. For the C++ version only the unpolarized expressions are retained, since the theoretical predictions of the colour-octet model anyway do not agree with the experimental observations. Furthermore, the polarization effects are modest, so isotropic decay is not a bad starting point. Such an event sample can afterwards be reweighted at will by the user, to test various assumptions. The expressions for the colour-singlet production of the 3S1 and 3PJ states can be found in [Bai83] and [Gas87]. Colour-octet expressions can be found in [Cho96] for the 1S0, 3S1, and 3PJ states, and the matrix elements for the 3DJ states are taken from [Yua98].

The implementation of charmonium and bottomonium production, including the colour-octet production mechanism, requires information on long-distance NRQCD matrix elements for the various wavefunctions involved. Default values for these are encoded in the O parameters and are taken from [Nas00]; see also [Bar07]. The 3DJ long-distance matrix elements are extracted from [Yua98].

Note that states that differ only by the radial excitation number n_r share the same short-distance matrix elements. The program has therefore been written such that further radial excitations can be easily added by editing this file, without requiring a recompilation of the code. All related arrays must be expanded in exactly the same way, however, i.e. the code of the colour singlet state, the long-distance matrix elements and the individual process on/off switches.

Double production of charmonium and bottomonium 3S1 states is also available, but with only the colour-singlet processes included. The short-distance matrix elements for these processes can be found in [Hum83] and [Qia02]. Arrays seperate to those used for single charmonium and bottomonium production set the long-distance NRQCD matrix elements. For consistency these values should be the same as those provided for single charmonium and bottomonium production, but are seperated to allow further control by the user if needed.

The description of final-state radiation is in this case based on some further model assumptions.

Most of the processes below are divergent in the limit pT → 0, and therefore a pTmin scale should be set. Comparisons with data indicate that this divergence can be tamed the same way as for the normal QCD 2 → 2 cross sections [Bar07,Kra08], which makes sense, since they are all dominated by the same kind of t-channel gluon exchange. It is therefore possible to use the SuppressSmallPT user hook to impose a reweighting that cancels the low-pT divergence.

An eikonalized description of these processes, excluding double onia production, is included in the multiparton-interactions framework. Here the low-pT damping is automatic, and additionally the framework is more consistent (e.g. with respect to energy-momentum constraints and the impact-parameter description) for events where the onium production is not the hardest subprocess, as would often be the case in the low-pT limit.

`flag` Onia:forceMassSplit (`default = on`)
Force the mass splitting between the colour-singlet states and their corresponding colour-octet state to be `Onia:massSplit`.

`parm` Onia:massSplit (`default = 0.2`; `minimum = 0.0`; `maximum = 1.0`)
Mass splitting in GeV between the physical colour-singlet states and their corresponding colour-octet state.

`flag` Onia:all (`default = off`)
Common switch for the group of onia production.

`flag` Onia:all(3S1) (`default = off`)
Common switch for the group of 3S1 onia production, e.g. J/psi and Upsilon.

`flag` Onia:all(3PJ) (`default = off`)
Common switch for the group of 3PJ onia production, e.g. chi_c and chi_b.

`flag` Onia:all(3DJ) (`default = off`)
Common switch for the group of 3DJ onia production, e.g. psi(3770).

`flag` Charmonium:all (`default = off`)
Common switch for the group of charmonium production, e.g. J/psi and chi_c.

`flag` Bottomonium:all (`default = off`)
Common switch for the group of bottomonium production, e.g. Upsilon and chi_b.

### Charmonium 3S1 States

Warning: changed `fvec`, `mvec` or `pvec` values must be provided as a comma-separated list with the right number of elements, without any blanks inside the list.

`mvec` Charmonium:states(3S1) (`default = {443,100443}`; `minimum = 0`)
The 3S1 charmonium states that can be produced from the following processes. Note that all vectors within this section, either of flags or parameters, must be the same length as this vector.

`pvec` Charmonium:O(3S1)[3S1(1)] (`default = {1.16,0.76}`; `minimum = 0.0`)
The colour-singlet long-distance matrix elements <O[3S1(1)]> for the 3S1 charmonium states.

`pvec` Charmonium:O(3S1)[3S1(8)] (`default = {0.0119,0.0050}`; `minimum = 0.0`)
The colour-octet long-distance matrix elements <O[3S1(8)]> for the 3S1 charmonium states.

`pvec` Charmonium:O(3S1)[1S0(8)] (`default = {0.01,0.004}`; `minimum = 0.0`)
The colour-octet long-distance matrix elements <O[1S0(8)]> for the 3S1 charmonium states.

`pvec` Charmonium:O(3S1)[3P0(8)] (`default = {0.01,0.004}`; `minimum = 0.0`)
The colour-octet long-distance matrix elements <O[3P0(8)]>/m_Q^2 for the 3S1 charmonium states. The remaining <O[3PJ(8)]>/m_Q^2 are calculated from these long-distance matrix elements.

`fvec` Charmonium:gg2ccbar(3S1)[3S1(1)]g (`default = {off,off}`)
Colour-singlet production of 3S1 charmonium states via g g → ccbar[3S1(1)] g. Code 401.

`fvec` Charmonium:gg2ccbar(3S1)[3S1(1)]gm (`default = {off,off}`)
Colour-singlet production of 3S1 charmonium states via g g → ccbar[3S1(1)] g with a hard gamma. Code 441.

`fvec` Charmonium:gg2ccbar(3S1)[3S1(8)]g (`default = {off,off}`)
Colour-octet production of 3S1 charmonium states via g g → ccbar[3S1(8)] g. Code 402.

`fvec` Charmonium:qg2ccbar(3S1)[3S1(8)]q (`default = {off,off}`)
Colour-octet production of 3S1 charmonium states via q g → ccbar[3S1(8)] q. Code 403.

`fvec` Charmonium:qqbar2ccbar(3S1)[3S1(8)]g (`default = {off,off}`)
Colour-octet production of 3S1 charmonium states via q qbar → ccbar[3S1(8)] g. Code 404.

`fvec` Charmonium:gg2ccbar(3S1)[1S0(8)]g (`default = {off,off}`)
Colour-octet production of 3S1 charmonium states via g g → ccbar[1S0(8)] g. Code 405.

`fvec` Charmonium:qg2ccbar(3S1)[1S0(8)]q (`default = {off,off}`)
Colour-octet production of 3S1 charmonium states via q g → ccbar[1S0(8)] q. Code 406.

`fvec` Charmonium:qqbar2ccbar(3S1)[1S0(8)]g (`default = {off,off}`)
Colour-octet production of 3S1 charmonium states via q qbar → ccbar[1S0(8)] g. Code 407.

`fvec` Charmonium:gg2ccbar(3S1)[3PJ(8)]g (`default = {off,off}`)
Colour-octet production of 3S1 charmonium states via g g → ccbar[3PJ(8)] g. Code 408.

`fvec` Charmonium:qg2ccbar(3S1)[3PJ(8)]q (`default = {off,off}`)
Colour-octet production of 3S1 charmonium states via q g → ccbar[3PJ(8)] q. Code 409.

`fvec` Charmonium:qqbar2ccbar(3S1)[3PJ(8)]g (`default = {off,off}`)
Colour-octet production of 3S1 charmonium states via q qbar → ccbar[3SJ(8)] g. Code 410.

### Charmonium 3PJ States

Warning: changed `fvec`, `mvec` or `pvec` values must be provided as a comma-separated list with the right number of elements, without any blanks inside the list.

`mvec` Charmonium:states(3PJ) (`default = {10441,20443,445}`)
The 3PJ charmonium states that can be produced from the following processes. Note that all vectors within this section, either of flags or parameters, must be the same length as this vector.

`pvec` Charmonium:O(3PJ)[3P0(1)] (`default = {0.05,0.05,0.05}`; `minimum = 0.0`)
The color-singlet long-distance matrix elements <O[3P0(1)]>/m_Q^2 for the 3PJ charmonium states. The remaining <O[3PJ(1)]>/m_Q^2 are calculated from these long-distance matrix elements.

`pvec` Charmonium:O(3PJ)[3S1(8)] (`default = {0.0031,0.0031,0.0031}`; `minimum = 0.0`)
The color-singlet long-distance matrix elements <O[3S1(8)]> for the 3PJ charmonium states.

`fvec` Charmonium:gg2ccbar(3PJ)[3PJ(1)]g (`default = {off,off,off}`)
Colour-singlet production of 3PJ charmonium states via g g → ccbar[3PJ(1)] g. Code 411.

`fvec` Charmonium:qg2ccbar(3PJ)[3PJ(1)]q (`default = {off,off,off}`)
Colour-singlet production of 3PJ charmonium states via q g → ccbar[3PJ(1)] q. Code 412.

`fvec` Charmonium:qqbar2ccbar(3PJ)[3PJ(1)]g (`default = {off,off,off}`)
Colour-singlet production of 3PJ charmonium states via q qbar → ccbar[3PJ(1)] g. Code 413.

`fvec` Charmonium:gg2ccbar(3PJ)[3S1(8)]g (`default = {off,off,off}`)
Colour-octet production of 3PJ charmonium states via g g → ccbar[3S1(8)] g. Code 414.

`fvec` Charmonium:qg2ccbar(3PJ)[3S1(8)]q (`default = {off,off,off}`)
Colour-octet production of 3PJ charmonium states via q g → ccbar[3S1(8)] q. Code 415.

`fvec` Charmonium:qqbar2ccbar(3PJ)[3S1(8)]g (`default = {off,off,off}`)
Colour-octet production of 3PJ charmonium states via q qbar → ccbar[3S1(8)] g. Code 416.

### Charmonium 3DJ States

Warning: changed `fvec`, `mvec` or `pvec` values must be provided as a comma-separated list with the right number of elements, without any blanks inside the list.

`mvec` Charmonium:states(3DJ) (`default = {30443}`)
The 3DJ charmonium states that can be produced from the following processes. Note that all vectors within this section, either of flags or parameters, must be the same length as this vector.

`pvec` Charmonium:O(3DJ)[3D1(1)] (`default = {0.161}`; `minimum = 0.0`)
The color-singlet long-distance matrix elements <O[3D1(1)]> for the 3PJ charmonium states. For a 3DJ charmonium state where J is not 1 the long distance matrix element <O[3DJ(1)]> is calculated by (2J+1)<O[3D1(1)]/3> using leading order spin symmetry relations.

`pvec` Charmonium:O(3DJ)[3P0(8)] (`default = {0.01}`; `minimum = 0.0`)
The colour-octet long-distance matrix elements <O[3P0(8)]>/m_Q^2 for the 3DJ charmonium states. The remaining <O[3PJ(8)]>/m_Q^2 are calculated from these long-distance matrix elements.

`fvec` Charmonium:gg2ccbar(3DJ)[3DJ(1)]g (`default = {off}`)
Colour-singlet production of 3PJ charmonium states via g g → ccbar[3DJ(1)] g. Code 417.

`fvec` Charmonium:gg2ccbar(3DJ)[3PJ(8)]g (`default = {off}`)
Colour-octet production of 3DJ charmonium states via g g → ccbar[3PJ(8)] g. Code 418.

`fvec` Charmonium:qg2ccbar(3DJ)[3PJ(8)]q (`default = {off}`)
Colour-octet production of 3DJ charmonium states via q g → ccbar[3PJ(8)] q. Code 419.

`fvec` Charmonium:qqbar2ccbar(3DJ)[3PJ(8)]g (`default = {off}`)
Colour-octet production of 3DJ charmonium states via q qbar → ccbar[3PJ(8)] g. Code 420.

### Double Charmonium 3S1 States

Warning: changed `fvec`, `mvec` or `pvec` values must be provided as a comma-separated list with the right number of elements, without any blanks inside the list.

`mvec` Charmonium:states(3S1)1 (`default = {443,443,100443}`)
The first 3S1 charmonium states of the charmonium pairs that can be produced from the following processes. Note that all vectors within this section, either of modes, flags, or parameters, must be the same length as this vector.

`mvec` Charmonium:states(3S1)2 (`default = {443,100443,100443}`)
The second 3S1 charmonium states of the charmonium pairs that can be produced from the following processes.

`pvec` Charmonium:O(3S1)[3S1(1)]1 (`default = {1.16,1.16,0.76}`; `minimum = 0.0`)
The color-singlet long-distance matrix elements <O[3S1(1)]> for the first 3S1 charmonium states.

`pvec` Charmonium:O(3S1)[3S1(1)]2 (`default = {1.16,0.76,0.76}`; `minimum = 0.0`)
The color-singlet long-distance matrix elements <O[3S1(1)]> for the second 3S1 charmonium states.

`fvec` Charmonium:gg2doubleccbar(3S1)[3S1(1)] (`default = {off,off,off}`)
Colour-singlet production of 3S1 charmonium state pairs via g g → ccbar[3S1(1)] ccbar[3S1(1)] . Code 421.

`fvec` Charmonium:qqbar2doubleccbar(3S1)[3S1(1)] (`default = {off,off,off}`)
Colour-singlet production of 3S1 charmonium state pairs via q qbar → ccbar[3S1(1)] ccbar[3S1(1)] . Code 422.

### Bottomonium 3S1 States

Warning: changed `fvec`, `mvec` or `pvec` values must be provided as a comma-separated list with the right number of elements, without any blanks inside the list.

`mvec` Bottomonium:states(3S1) (`default = {553,100553,200553}`; `minimum = 0`)
The 3S1 bottomonium states that can be produced from the following processes. Note that all vectors within this section, either of flags or parameters, must be the same length as this vector.

`pvec` Bottomonium:O(3S1)[3S1(1)] (`default = {9.28,4.63,3.54}`; `minimum = 0.0`)
The colour-singlet long-distance matrix elements <O[3S1(1)]> for the 3S1 bottomonium states.

`pvec` Bottomonium:O(3S1)[3S1(8)] (`default = {0.15,0.045,0.075}`; `minimum = 0.0`)
The colour-octet long-distance matrix elements <O[3S1(8)]> for the 3S1 bottomonium states.

`pvec` Bottomonium:O(3S1)[1S0(8)] (`default = {0.02,0.006,0.01}`; `minimum = 0.0`)
The colour-octet long-distance matrix elements <O[1S0(8)]> for the 3S1 bottomonium states.

`pvec` Bottomonium:O(3S1)[3P0(8)] (`default = {0.02,0.006,0.01}`; `minimum = 0.0`)
The colour-octet long-distance matrix elements <O[3P0(8)]>/m_Q^2 for the 3S1 bottomonium states. The remaining <O[3PJ(8)]>/m_Q^2 are calculated from these long-distance matrix elements.

`fvec` Bottomonium:gg2bbbar(3S1)[3S1(1)]g (`default = {off,off,off}`)
Colour-singlet production of 3S1 bottomonium states via g g → bbbar[3S1(1)] g. Code 501.

`fvec` Bottomonium:gg2bbbar(3S1)[3S1(1)]gm (`default = {off,off,off}`)
Colour-singlet production of 3S1 bottomonium states via g g → ccbar[3S1(1)] g with a hard gamma. Code 551.

`fvec` Bottomonium:gg2bbbar(3S1)[3S1(8)]g (`default = {off,off,off}`)
Colour-octet production of 3S1 bottomonium states via g g → bbbar[3S1(8)] g. Code 502.

`fvec` Bottomonium:qg2bbbar(3S1)[3S1(8)]q (`default = {off,off,off}`)
Colour-octet production of 3S1 bottomonium states via q g → bbbar[3S1(8)] q. Code 503.

`fvec` Bottomonium:qqbar2bbbar(3S1)[3S1(8)]g (`default = {off,off,off}`)
Colour-octet production of 3S1 bottomonium states via q qbar → bbbar[3S1(8)] g. Code 504.

`fvec` Bottomonium:gg2bbbar(3S1)[1S0(8)]g (`default = {off,off,off}`)
Colour-octet production of 3S1 bottomonium states via g g → bbbar[1S0(8)] g. Code 505.

`fvec` Bottomonium:qg2bbbar(3S1)[1S0(8)]q (`default = {off,off,off}`)
Colour-octet production of 3S1 bottomonium states via q g → bbbar[1S0(8)] q. Code 506.

`fvec` Bottomonium:qqbar2bbbar(3S1)[1S0(8)]g (`default = {off,off,off}`)
Colour-octet production of 3S1 bottomonium states via q qbar → bbbar[1S0(8)] g. Code 507.

`fvec` Bottomonium:gg2bbbar(3S1)[3PJ(8)]g (`default = {off,off,off}`)
Colour-octet production of 3S1 bottomonium states via g g → bbbar[3PJ(8)] g. Code 508.

`fvec` Bottomonium:qg2bbbar(3S1)[3PJ(8)]q (`default = {off,off,off}`)
Colour-octet production of 3S1 bottomonium states via q g → bbbar[3PJ(8)] q. Code 509.

`fvec` Bottomonium:qqbar2bbbar(3S1)[3PJ(8)]g (`default = {off,off,off}`)
Colour-octet production of 3S1 bottomonium states via q qbar → bbbar[3SJ(8)] g. Code 510.

### Bottomonium 3PJ States

Warning: changed `fvec`, `mvec` or `pvec` values must be provided as a comma-separated list with the right number of elements, without any blanks inside the list.

`mvec` Bottomonium:states(3PJ) (`default = {10551,20553,555}`)
The 3PJ bottomonium states that can be produced from the following processes. Note that all vectors within this section, either of flags or parameters, must be the same length as this vector.

`pvec` Bottomonium:O(3PJ)[3P0(1)] (`default = {0.085,0.085,0.085}`; `minimum = 0.0`)
The color-singlet long-distance matrix elements <O[3P0(1)]>/m_Q^2 for the 3PJ bottomonium states. The remaining <O[3PJ(1)]>/m_Q^2 are calculated from these long-distance matrix elements.

`pvec` Bottomonium:O(3PJ)[3S1(8)] (`default = {0.04,0.04,0.04}`; `minimum = 0.0`)
The color-singlet long-distance matrix elements <O[3S1(8)]> for the 3PJ bottomonium states.

`fvec` Bottomonium:gg2bbbar(3PJ)[3PJ(1)]g (`default = {off,off,off}`)
Colour-singlet production of 3PJ bottomonium states via g g → bbbar[3PJ(1)] g. Code 511.

`fvec` Bottomonium:qg2bbbar(3PJ)[3PJ(1)]q (`default = {off,off,off}`)
Colour-singlet production of 3PJ bottomonium states via q g → bbbar[3PJ(1)] q. Code 512.

`fvec` Bottomonium:qqbar2bbbar(3PJ)[3PJ(1)]g (`default = {off,off,off}`)
Colour-singlet production of 3PJ bottomonium states via q qbar → bbbar[3PJ(1)] g. Code 513.

`fvec` Bottomonium:gg2bbbar(3PJ)[3S1(8)]g (`default = {off,off,off}`)
Colour-octet production of 3PJ bottomonium states via g g → bbbar[3S1(8)] g. Code 514.

`fvec` Bottomonium:qg2bbbar(3PJ)[3S1(8)]q (`default = {off,off,off}`)
Colour-octet production of 3PJ bottomonium states via q g → bbbar[3S1(8)] q. Code 515.

`fvec` Bottomonium:qqbar2bbbar(3PJ)[3S1(8)]g (`default = {off,off,off}`)
Colour-octet production of 3PJ bottomonium states via q qbar → bbbar[3S1(8)] g. Code 516.

### Bottomonium 3DJ States

Warning: changed `fvec`, `mvec` or `pvec` values must be provided as a comma-separated list with the right number of elements, without any blanks inside the list.

`mvec` Bottomonium:states(3DJ) (`default = {}`)
The 3DJ bottomonium states that can be produced from the following processes. Currently, no 3DJ states are included in the default `ParticleData` and so none are included here. Note that all vectors within this section, either of flags or parameters, must be the same length as this vector.

`pvec` Bottomonium:O(3DJ)[3D1(1)] (`default = {}`; `minimum = 0.0`)
The color-singlet long-distance matrix elements <O[3D1(1)]> for the 3PJ bottomonium states. For a 3DJ bottomonium state where J is not 1 the long distance matrix element <O[3DJ(1)]> is calculated by (2J+1)<O[3D1(1)]/3> using leading order spin symmetry relations.

`pvec` Bottomonium:O(3DJ)[3P0(8)] (`default = {}`; `minimum = 0.0`)
The colour-octet long-distance matrix elements <O[3P0(8)]>/m_Q^2 for the 3DJ bottomonium states. The remaining <O[3PJ(8)]>/m_Q^2 are calculated from these long-distance matrix elements.

`fvec` Bottomonium:gg2bbbar(3DJ)[3DJ(1)]g (`default = {}`)
Colour-singlet production of 3PJ bottomonium states via g g → bbbar[3DJ(1)] g. Code 517.

`fvec` Bottomonium:gg2bbbar(3DJ)[3PJ(8)]g (`default = {}`)
Colour-octet production of 3DJ bottomonium states via g g → bbbar[3PJ(8)] g. Code 518.

`fvec` Bottomonium:qg2bbbar(3DJ)[3PJ(8)]q (`default = {}`)
Colour-octet production of 3DJ bottomonium states via q g → bbbar[3PJ(8)] q. Code 519.

`fvec` Bottomonium:qqbar2bbbar(3DJ)[3PJ(8)]g (`default = {}`)
Colour-octet production of 3DJ bottomonium states via q qbar → bbbar[3PJ(8)] g. Code 520.

### Double Bottomonium 3S1 States

Warning: changed `fvec`, `mvec` or `pvec` values must be provided as a comma-separated list with the right number of elements, without any blanks inside the list.

`mvec` Bottomonium:states(3S1)1 (`default = {553,553,553,100553,100553,200553}`)
The first 3S1 bottomonium states of the bottomonium pairs that can be produced from the following processes. Note that all vectors within this section, either of modes, flags, or parameters, must be the same length as this vector.

`mvec` Bottomonium:states(3S1)2 (`default = {553,100553,200553,100553,200553,200553}`)
The second 3S1 bottomonium states of the bottomonium pairs that can be produced from the following processes.

`pvec` Bottomonium:O(3S1)[3S1(1)]1 (`default = {9.28,9.28,9.28,4.63,4.63,3.54}`; `minimum = 0.0`)
The color-singlet long-distance matrix elements <O[3S1(1)]> for the first 3S1 bottomonium states.

`pvec` Bottomonium:O(3S1)[3S1(1)]2 (`default = {9.28,4.63,3.54,4.63,3.54,3.54}`; `minimum = 0.0`)
The color-singlet long-distance matrix elements <O[3S1(1)]> for the second 3S1 bottomonium states.

`fvec` Bottomonium:gg2doublebbbar(3S1)[3S1(1)] (`default = {off,off,off,off,off,off}`)
Colour-singlet production of 3S1 bottomonium state pairs via g g → bbbar[3S1(1)] bbbar[3S1(1)] . Code 521.

`fvec` Bottomonium:qqbar2doublebbbar(3S1)[3S1(1)] (`default = {off,off,off,off,off,off}`)
Colour-singlet production of 3S1 bottomonium state pairs via q qbar → bbbar[3S1(1)] bbbar[3S1(1)] . Code 522.