define_process_rcl(npr, process, order)

Defines a process via the process string process at order order and assigns the process id npr to it.

  • npr (int) – unique process number
  • process (str) – Process string composed of particles and separated by \(\to\)
  • order (str) – loop-order, accepted values ’LO’ and ’NLO’

Issuing repeated calls of define_process_rcl allows to define more than one process. Each process must be given a unique identifier npr. The process string must consist of a list of particles separated by \(\to\), with the incoming (outgoing) particles on the left-hand (right-hand) side of \(\to\). Any number of incoming and outgoing particles is allowed. The allowed particles are listed here.

Each particle must be separated by at least one blank character.


>>> define_process_rcl(1, 'e+ e- -> mu+ mu-', 'LO')
>>> define_process_rcl(20, 'H -> A A', 'NLO')
>>> define_process_rcl(3, 'u d~ -> W+ g  g g', 'NLO')
>>> define_process_rcl(42, 'u  g  -> u   g  tau-    tau+', 'NLO')

Polarizations can be specified to each fermion or vector particle by adding the corresponding symbol '[-]', '[+]' or '[0]'. Blank characters can (but need not) separate the helicity symbol from the particle name:


\(\mathrm{e}^+\) is right-handed, \(\mathrm{e}^-\) is left-handed, Z is unpolarized.

>>> define_process_rcl(1, 'e+[+] e- [-] -> Z H', 'NLO')


u and \(\bar{\mathrm{u}}\) are unpolarized, \(\mathrm{W}^+\) and \(\mathrm{W}^-\) are transverse.

>>> define_process_rcl(1, 'u u~ -> W+[-] W-[+]', 'NLO')

Contributions with specific intermediate states can be selected where intermediate states are particles decaying into any number of other particles. To this end, in the process declaration the decaying particle must be followed by round brackets ’( … )’ containing the decay products. Multiple and nested decays are allowed. Blank characters can (but need not) separate the brackets ’(’, ’)’ from the particle names:


>>> define_process_rcl(1, 'e+ e- -> W+ W-(e- nu_e~)', 'NLO')
>>> define_process_rcl(1, 'e+ e- -> Z H ( b~[+] b[-] )', 'NLO')
>>> define_process_rcl(1, 'e+ e- -> t( W+(u d~) b) t~(e- nu_e~ b~)', 'NLO')
>>> define_process_rcl(1, 'e+ e- -> Z ( mu+(e+ nu_e nu_mu~) mu-(e- nu_e~ nu_mu) ) H', 'NLO')

The selection of specific intermediate particles is a prerequisite for the calculation of amplitudes within the pole approximation.