Process computation

Functions for process computation:

compute_process_rcl(npr,p,order) Computes the structure-dressed helicity amplitudes and the summed squared amplitude (unless polarizations specified, see define_process_rcl()) for the process with process number npr.
compute_colour_correlation_rcl(…) Computes the colour-correlated summed squared amplitude, between particle with leg number i1 and particle with leg number i2, for the process with process number npr.
compute_spin_correlation_rcl(npr,p,j,v,order=) Computes the spin-correlated summed squared amplitude, where the polarization vector of particle j, necessarily being a gluon or photon, is is substituted for the user-defined polarization vector v.
compute_spin_colour_correlation_rcl(…) Computes the spin-colour-correlated summed squared amplitude, between particle with leg number i1 and particle with leg number i2, for the process with process number npr.
compute_spin_correlation_matrix_rcl(…) Computes the summed spin-correlated matrix squared amplitude \(B_j^{\mu\nu}\) (arXiv:1002.2581 Eq.
rescale_process_rcl(npr,order) Adjusts the results calculated by compute_process_rcl() for a (new) value of \(\alpha_\mathrm{s}\), rescaling the structure-dressed helicity amplitudes and recomputing the summed squared amplitude for the process with process number npr.
rescale_colour_correlation_rcl(npr,i1,i2,order=) Adjusts the results for a (new) value of \(\alpha_\mathrm{s}\), rescaling the structure-dressed helicity amplitudes and recomputing the colour-correlated summed squared amplitude for the process with process number npr.
rescale_all_colour_correlations_rcl(npr) Adjusts the results for a (new) value of \(\alpha_\mathrm{s}\), rescaling the structure-dressed helicity amplitudes and recomputing the colour-correlated summed squared amplitude for the process with process number npr.
rescale_spin_colour_correlation_rcl(…) Adjusts the results for a (new) value of \(\alpha_\mathrm{s}\), rescaling the structure-dressed helicity amplitudes and recomputing the spin-colour-correlated summed squared amplitude for the process with process number npr.
rescale_spin_correlation_rcl(npr,j,v,order=) Adjusts the results for a (new) value of \(\alpha_\mathrm{s}\), rescaling the structure-dressed helicity amplitudes and recomputing the spin-correlated summed squared amplitude for the process with process number npr.
rescale_spin_correlation_matrix_rcl(npr,order=) Adjusts the calculated results for a (new) value of \(\alpha_\mathrm{s}\), rescaling the structure-dressed helicity amplitudes and recomputes the spin-colour-correlated summed squared amplitude for the process with process number npr.
get_amplitude_rcl(…) Extracts a specific contribution to the amplitude of the process with process number npr, according to the values of pow, order, colour and hel.
get_squared_amplitude_rcl(…) Extracts the computed value of the summed squared amplitude with pow being order in the fundamental couplings at loop-order order for the process with process number npr.
get_polarized_squared_amplitude_rcl(…) Extracts a specific contribution to the polarized squared amplitude of the process with process number npr, according to the values of pow (or als), order, colour and hel.
get_spin_colour_correlation_rcl(…) Extracts the computed value of the spin-colour-correlated summed squared amplitude.
get_spin_correlation_rcl(…) Extracts the computed value of the spin-correlated summed squared amplitude.
get_spin_correlation_matrix_rcl(…) Extracts the computed value of the spin-correlated matrix summed squared amplitude.

Efficient computation of squared amplitudes

In Recola the structure-dressed helicity amplitudes (sdha) are not cached for a given phase-space point and calling any of the computation_* methods will recompute them. In order to be efficient it is recommended to compute the sdha only once via compute_process_rcl() and to obtain all other required bulding blocks by rescale_* methods which only compute the (rescaled) squared amplitudes. For instance, the following is good practice

# good, computes the `sdha` only once
set_alphas_rcl(0.1, 100., 5)
compute_process_rcl(1, psp, ...)
get_squared_amplitude_rcl(...)
rescale_colour_correlation_rcl(1,1,2)
get_colour_correlation_rcl(1,1,2,...)
rescale_colour_correlation_rcl(1,1,3)
get_colour_correlation_rcl(1,1,3,...)

set_alphas_rcl(0.09, 130., 5)
rescale_process_rcl(1,...)
get_squared_amplitude_rcl(...)
rescale_colour_correlation_rcl(1,1,2)
get_colour_correlation_rcl(1,1,2,...)
rescale_colour_correlation_rcl(1,1,3)
get_colour_correlation_rcl(1,1,3,...)

while

# bad, computes the `sdha` 6 times (code may be 6 times slower.)
set_alphas_rcl(0.1, 100., 5)
compute_process_rcl(1, psp) #compute
get_squared_amplitude_rcl(...)
compute_colour_correlation_rcl(1,1,2)
get_colour_correlation_rcl(1,1,2,...)
compute_colour_correlation_rcl(1,1,3)
get_colour_correlation_rcl(1,1,3,...)

set_alphas_rcl(0.09, 130., 5)
compute_process_rcl(1,...)
get_squared_amplitude_rcl(...)
compute_colour_correlation_rcl(1,1,2)
get_colour_correlation_rcl(1,1,2,...)
compute_colour_correlation_rcl(1,1,3)
get_colour_correlation_rcl(1,1,3,...)

is bad and inefficient.

Conventions for momenta

The momenta passed to Recola are standard lorentz vectors. For a \(2\to n\) process the first two momenta are considered incoming and need to have positive energy while the other \(n\) are outgoing and, thus, have to fulfill the four momentum conservation:

\[p_1^\mu + p_2^\mu = \sum_{k=3}^{n+2} p_k^\mu\]

For decay processes \(1\to n\) the four-momentum conservaion reads:

\[p_1^\mu = \sum_{k=2}^{n+1} p_k^\mu\]

Recola2 provides a RAMBO module to generate random PSP for any beam initial and final state:

set_outgoing_momenta_rcl(npr,pIn) Random phase space generation given incoming momenta.