libmcmule reference guide

The following types, variables, and routines are unlikely to be needed by the typical user and are instead aimed at McMule’s developers.

The particle framework

integer maxparticles

The maximal number of particles allowed

type  mlm
Type fields:
  • % momentum (4) [real(kind=prec)] :: the momentum

type  particle
Type fields:
  • % momentum (4) [real(kind=prec)] :: the momentum

  • % effcharge [integer] :: the effective charge, corresponding to the +charge for incoming and -charge for outgoing particles.

  • % charge [integer] :: the actual charge

  • % incoming [logical] :: .true. for incoming particles

  • % lepcharge [integer] :: the lepton family (1 for electrons, 2 for muons, 3 for taus), defaults to zero

type  particles
Type fields:
  • % vec (maxparticles) [type(particle)] :: the constituent partciles

  • % n [integer] :: the number of particles actually used

  • % combo [character(len=1)] :: the flavour combination used, allowed values are * (any combination), x (only mixed), e (only electronic), m (only muonic), t (only tauonic)

function  make_mlm(qq)

Construct a mlm, i.e. a massless momentum

Parameters:

qq (4) [real(kind=prec),in] :: the momentum

function  part(qq, charge, inc[, lepcharge])

Construct a particle.

Parameters:
  • qq (4) [real(kind=prec),in] :: the momentum

  • charge [integer,in] :: the charge of the particle

  • inc [integer,in] :: +1 for incoming, -1 for outgoing

Options:

lepcharge [integer,1] :: the lepton family number

function  parts(ps[, combo])

Construct particles from a list of particles

Parameters:

ps (*) [type(particle),in] :: a list of particle

Options:

combo [character(len=1)] :: the flavour combination used, allowed values are * (any combination), x (only mixed), e (only electronic), m (only muonic), t (only tauonic)

function  eik()

An interface to construct the eikonal factor. eik can be called with

  • (kg, pp), using the type particles. The optional flavour combination combo restricts the emission to the desired set of fermion lines. If combo is set to x, all contributions but the self-eikonal are included.

  • ({q1,k1}, kg, {q2,k2}), with an explicit call to the momenta of the {massive, massless} emitter, before (1) and after (2) the emission.

Parameters:
  • pp [type(particles),in] :: the fermions involved in the photon emission

  • qi (4) [real(kind=prec),in] :: the momenta of the massive emitter

  • ki [type(mlm),in] :: the momenta of the massless emitter

  • kg [type(mlm),in] :: the momentum of the photon

Return:

eik :: the eikonal factor

function  ieik()

An interface to construct the integrated eikonal factor [28]. ieik can be called with

  • (xicut, epcmf, pp[, pole]), using the type particles. The optional flavour combination combo restricts the emission to the desired set of fermion lines. If combo is set to x, all contributions but the self-eikonal are included.

  • (xicut, epcmf, q1, q2[, pole]), with an explicit call to the momenta of the massive emitter, before (1) and after (2) the emission.

Parameters:
  • xicut [real(kind=prec),in] :: \(\xi_c\) (cf. Section Running at NLO and beyond)

  • epcmf [real(kind=prec),in] :: square root of scms

  • pp [type(particles),in] :: the fermions involved in the photon emission

  • qi (4) [real(kind=prec),in] :: the momenta of the massive emitter

Options:

pole [real(kind=prec),out] :: the singular part of the integrated eikonal, as a coefficient of \(1/\epsilon\)

Return:

ieik :: the finite part of the integrated eikonal factor

function  ntssoft(pp, kk, pole)

The (universal) soft contribution to the LBK theorem at 1 loop [9], i.e. the NTS soft function. The optional flavour combination for the particles pp restricts the emission to the desired set of fermion lines. [1]

Parameters:
  • pp [type(particles),in] :: the fermions involved in the photon emission

  • kk (4) [real(kind=prec),in] :: the momentum of the photon

Options:

pole [real(kind=prec),out] :: the singular part of the NTS soft function, as a coefficient of \(1/\epsilon\)

Return:

ieik :: the finite part of the NTS soft function

Matrix element interface

function  partInterface(q1, q2, q3, q4, q5, q6, q7)

an abstract interface to construct particles for a given process.

Parameters:

qi (4) [real(kind=prec)] :: the momenta

Return:

partInterface [particles] :: the constructed particle string

Package-X function

Note

This section needs to be completed, link to issue

function  DiscB()
function  DiscB_cplx()
function  ScalarC0IR6()
function  ScalarC0IR6_cplx()
function  ScalarC0()
function  ScalarC0_cplx()
function  ScalarD0IR16()
function  ScalarD0IR16_cplx()

VP functions

Note

This section needs to be completed, link to issue

Phase spaces

McMule has implemented a number of phase routines that map from the hypercube to the physical momenta. Here is a list of currently used ones

subroutine  PSD3(ra, q1, m1, q2, m2, q3, m3, weight)

Generic phase space routine for \(1\to2\) decays

Parameters:
  • ra (2) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD4(ra, q1, m1, q2, m2, q3, m3, q4, m4, weight)

Generic phase space routine for \(1\to3\) decays

Parameters:
  • ra (5) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD4_FKS(ra, q1, m1, q2, m2, q3, m3, q4, weight)

FKS phase space routine for \(1\to3\) decays, requires \(m_4=0\). Tuned for \(\sphericalangle(p_2,q_4)\) and \(E_4\)

Parameters:
  • ra (5) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD5(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, m5, weight)

Generic phase space routine for \(1\to4\) decays

Parameters:
  • ra (8) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD5_25(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, m5, weight)

Phase space routine for \(1\to4\) decays, tuned for \(\sphericalangle(p_2,q_5)\) and \(E_5\), collinear limit is ra(2) -> 0

Parameters:
  • ra (8) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD5_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, weight)

FKS phase space routine for \(1\to4\) decays, requires \(m_5=0\). Tuned for \(\sphericalangle(p_2,q_5)\) and \(E_5\)

Parameters:
  • ra (8) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD6(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, m5, q6, m6, weight)

Generic phase space routine for \(1\to5\) decays

Parameters:
  • ra (11) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD6_23_24_34(ra, q1, m1, q2, m2, q5, m5, q6, m6, q3, m3, q4, m4, weight)

Phase space routine for \(1\to5\) decays with FKS-ish tuning. This is designed for the decay \(\mu^+\to e^+\nu\bar\nu e^+e^-\). q2 should be the unique particle (electron) and q3 and q4 are the identical particles (postirons):

                   _/  q
                   /|   2
---<---*~~~~~~~~~~*
       |          |
       ^          ^  q
       | q        |   3
          4

The ‘spectator’ neutrinos are q5 and q6. Start by generating p2 and p3 at an angle * = arccos(y2):

              ^ p2
             |||
             |||
p3         __|||
 --__     /  |||
     --__/  *|||
         --__|||
             |||

Generate p4 at an angle * = arccos(y3) and rotating by an angle phi w.r.t. to p3:

             |||      / p4
          _--|||--_  /
         -_  |||  _-/
p3         --___-- /
 --__        |||__/
     --__    |||*/
         --__|||/
             |||
Parameters:
  • ra (11) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD6_23_24_34_E56(ra, q1, m1, q2, m2, q5, m5, q6, m6, q3, m3, q4, m4, weight)

Phase space routine for \(1\to5\) decays with FKS-ish tuning, similar to PSD6_23_24_34() but with special tuning on the \(E_5+E_6\) tail.

Parameters:
  • ra (11) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD6_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, m5, q6, weight)

FKS phase space routine for \(1\to5\) decays, requires \(m_6=0\). Tuned for \(\sphericalangle(p_2,q_6)\) and \(E_6\)

Parameters:
  • ra (11) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD6_25_26_m50_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, m5, q6, weight)

FKS phase space routine for \(1\to5\) decays, requires \(m_5=m_6=0\). Tuned for \(\sphericalangle(p_2,q_{5,6})\) and \(E_{5,6}\)

Parameters:
  • ra (11) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD6_FKSS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, q6, weight)

Double-FKS phase space routine for \(1\to5\) decays, requires \(m_5=m_6=0\). Tuned for \(\sphericalangle(p_2,q_{5,6})\) and \(E_{5,6}\)

Parameters:
  • ra (11) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD7(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, m5, q6, m6, q7, m7, weight)

Generic phase space routine for \(1\to6\) decays

Parameters:
  • ra (14) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD7_27_37_47_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, m5, q6, m6, q7, weight)

FKS phase space routine for \(1\to6\) decays, tuned for \(\sphericalangle(p_{2,3,4},q_7)\) and \(E_7\)

Parameters:
  • ra (14) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD7_27_37_47_E56_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, m5, q6, m6, q7, weight)

FKS phase space routine for \(1\to6\) decays, tuned for \(\sphericalangle(p_{2,3,4},q_7)\) and \(E_7\) and tuned for the \(E_5+E_6\) tail

Parameters:
  • ra (14) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX2(ra, q1, m1, q2, m2, q3, m3, q4, m4, weight)

Generic phase space routine for \(2\to2\) cross sections

Parameters:
  • ra (2) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX3_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, weight)

FKS phase space routine for \(2\to3\) cross sections, requires \(m_5=0\). Tuned for ISR and not FSR

Parameters:
  • ra (5) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX3_35_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, weight[, sol])

FKS phase space routine for \(2\to3\) cross sections, requires \(m_5=0\). Tuned for \(\sphericalangle(q_3,q_5)\) and \(E_5\)

Parameters:
  • ra (5) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

Options:

sol [integer,in] :: which solution to pick

subroutine  PSX4(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, m5, q6, m6, weight)

Generic phase space routine for \(2\to4\) cross sections

Parameters:
  • ra (8) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX4_FKSS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, q6, weight)

Double-FKS phase space routine for \(2\to4\) cross sections, requires \(m_5=m_6=0\). Tuned for ISR and not :term`FSR`

Parameters:
  • ra (8) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX4_35_36_FKSS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, q6, weight[, sol])

Double-FKS phase space routine for \(2\to4\) cross sections, requires \(m_5=m_6=0\). Tuned for \(\sphericalangle(q_3,q_{5,6})\) and \(E_{5,6}\)

Parameters:
  • ra (8) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

Options:

sol [integer,in] :: which solution to pick

subroutine  PSD6_P_25_26_m50_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, m5, q6, weight)

FKS phase space routine for \(1\to5\) decays, requires \(m_5=m_6=0\). Tuned for \(\sphericalangle(p_2,q_{5,6})\) and \(E_{5,6}\) Partioning of PSD6_25_26_m50_FKS() with \(s_{26}<s_{25}\).

Parameters:
  • ra (11) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD6_26_2x5(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, m5, q6, m6, weight)

Phase space routine for \(1\to5\) decays with FKS-ish tuning. Modification of PSD6_23_24_34() with \(2\leftrightarrow 5\). This is designed for the decay \(\mu^+\to e^+\nu\bar\nu e^+e^-\).

Parameters:
  • ra (11) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSD7_27_37_47_2x5_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, m5, q6, m6, q7, weight)

FKS phase space routine for \(1\to6\) decays, tuned for \(\sphericalangle(p_{2,3,4},q_7)\) and \(E_7\) Modification of PSD7_27_37_47_FKS() with \(2\leftrightarrow 5\).

Parameters:
  • ra (14) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX3_P_15_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, weight)

FKS phase space routine for \(2\to3\) cross sections, requires \(m_5=0\). Tuned for ISR and not FSR. Partioning of PSX3_FKS() with \(s_{15}<s_{35}\).

Parameters:
  • ra (5) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX3_P13_35_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, weight)

FKS phase space routine for \(2\to3\) cross sections, requires \(m_5=0\). Tuned for \(\sphericalangle(q_3,q_5)\) and \(E_5\) Partioning of PSX3_35_FKS() with \(s_{15}>s_{35}\).

Parameters:
  • ra (5) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX3_coP13_35_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, weight)

The corner piece to PSX3_P13_35_FKS()

Parameters:
  • ra (5) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX3_P_15_25_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, weight)

FKS phase space routine for \(2\to3\) cross sections, requires \(m_5=0\). Tuned for ISR and not FSR. Partioning of PSX3_FKS() with \({\rm min}\big(s_{15},s_{25}\big)<{\rm min}\big(s_{35},s_{45}\big)\).

Parameters:
  • ra (5) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX3_P_35_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, weight)

FKS phase space routine for \(2\to3\) cross sections, requires \(m_5=0\). Tuned for \(\sphericalangle(q_3,q_5)\) and \(E_5\) Partioning of PSX3_35_FKS() with \(s_{35}<{\rm min}\big(s_{15},s_{25},s_{45}\big)\).

Parameters:
  • ra (5) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX3_P_45_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, weight)

FKS phase space routine for \(2\to3\) cross sections, requires \(m_5=0\). Tuned for \(\sphericalangle(q_3,q_5)\) and \(E_5\) Partioning of PSX3_35_FKS() with \(s_{45}<{\rm min}\big(s_{15},s_{25},s_{35}\big)\) and \(3\leftrightarrow4\)

Parameters:
  • ra (5) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX3_coP_35_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, weight)

The corner piece to PSX3_P_35_FKS()

Parameters:
  • ra (5) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX3_coP_45_FKS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, weight)

The corner piece to PSX3_P_45_FKS()

Parameters:
  • ra (5) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX4_P_15_16_FKSS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, q6, weight)

Double-FKS phase space routine for \(2\to4\) cross sections, requires \(m_5=m_6=0\). Tuned for ISR and not :term`FSR` Partioning of PSX4_FKSS() with \({\rm min}\big(s_{15}, s_{16}\big)<{\rm min}\big(s_{35},s_{36}\big)\).

Parameters:
  • ra (8) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX4_P_35_36_FKSS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, q6, weight)

Double-FKS phase space routine for \(2\to4\) cross sections, requires \(m_5=m_6=0\). Tuned for \(\sphericalangle(q_3,q_{5,6})\) and \(E_{5,6}\) Partioning of PSX4_35_36_FKSS() with \({\rm min}\big(s_{15}, s_{36}\big)<{\rm min}\big(s_{15},s_{25},s_{45},s_{16},s_{26},s_{46}\big)\).

Parameters:
  • ra (8) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX4_coP_35_36_FKSS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, q6, weight)

The corner piece to PSX4_P_35_36_FKSS()

Parameters:
  • ra (8) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX4_P13_35_36_FKSS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, q6, weight)

Double-FKS phase space routine for \(2\to4\) cross sections, requires \(m_5=m_6=0\). Tuned for \(\sphericalangle(q_3,q_{5,6})\) and \(E_{5,6}\) Partioning of PSX4_35_36_FKSS() with \({\rm min}\big(s_{15}, s_{16}\big)>{\rm min}\big(s_{35},s_{36}\big)\).

Parameters:
  • ra (8) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX4_coP13_35_36_FKSS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, q6, weight)

The corner piece to PSX4_P13_35_36_FKSS()

Parameters:
  • ra (8) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX4_P_15_16_25_26_FKSS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, q6, weight)

Double-FKS phase space routine for \(2\to4\) cross sections, requires \(m_5=m_6=0\). Tuned for ISR and not :term`FSR` Partioning of PSX4_FKSS() with \({\rm min}\big(s_{15}, s_{16},s_{25}, s_{26}\big)<{\rm min}\big(s_{35},s_{36},s_{54},s_{46}\big)\).

Parameters:
  • ra (8) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX4_P_45_46_FKSS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, q6, weight)

Double-FKS phase space routine for \(2\to4\) cross sections, requires \(m_5=m_6=0\). Tuned for \(\sphericalangle(q_3,q_{5,6})\) and \(E_{5,6}\) Partioning of PSX4_35_36_FKSS() with \({\rm min}\big(s_{45}, s_{46}\big)>{\rm min}\big(s_{15},s_{25},s_{35},s_{16},s_{26},s_{36}\big)\).

Parameters:
  • ra (8) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian

subroutine  PSX4_coP_45_46_FKSS(ra, q1, m1, q2, m2, q3, m3, q4, m4, q5, q6, weight)

The corner piece to PSX4_P_45_46_FKSS()

Parameters:
  • ra (5) [real(kind=prec),in] :: the random numbers

  • qi (4) [real(kind=prec),out] :: the momenta

  • mi [real(kind=prec),in] :: the masses

  • weight [real(kind=prec),out] :: the Jacobian