Source-linked AI summary
RECOLA: REcursive Computation of One-Loop Amplitudes
Stefano Actis, Ansgar Denner, Lars Hofer, Jean-Nicolas Lang, Andreas Scharf, Sandro Uccirati
TL;DR
Precise collider predictions require automated calculations beyond leading order. Recola addresses this need with recursive Standard Model amplitude generation, supporting resonant treatments and correlated squared amplitudes; its scope remains limited to the Standard Model in the ’t Hooft–Feynman gauge and excludes non-factorizable NLO corrections in the pole approximation.
Problem
High-energy collider analyses require accurate perturbative predictions beyond leading order, motivating automated methods for next-to-leading-order amplitudes.
Method
Recola recursively constructs Standard Model tree-level and one-loop amplitudes, using the complex-mass scheme and supporting resonant isolation, regularization choices, and correlated squared amplitudes.
Results
Recola provides Standard Model tree-level and one-loop amplitudes without an a-priori restriction on particle multiplicities, including colour- and spin-correlated leading-order squared amplitudes for dipole subtraction.
Takeaways & Limitations
The library supports automated NLO calculations with configurable colour, helicity, renormalization, and singularity-treatment options.
Takeaways & Limitations
The present version is restricted to the Standard Model in the ’t Hooft–Feynman gauge, and its pole-approximation implementation does not provide non-factorizable NLO corrections.
Abstract
from arXiv · showhide
We present the Fortran95 program Recola for the perturbative computation of next-to-leading-order transition amplitudes in the Standard Model of particle physics. The code provides numerical results in the 't Hooft-Feynman gauge. It uses the complex-mass scheme and allows for a consistent isolation of resonant contributions. Dimensional regularization is employed for ultraviolet and infrared singularities, with the alternative possibility of treating collinear and soft singularities in mass regularization. Recola supports various renormalization schemes for the electromagnetic and a dynamical Nf-flavour scheme for the strong coupling constant. The calculation of next-to-leading-order squared amplitudes, summed over spin and colour, is supported as well as the computation of colour- and spin-correlated leading-order squared amplitudes needed in the dipole subtraction formalism.
PROGRAM SUMMARY
Recola is a Fortran95 program distributed under GNU GPL version 3 for computing next-to-leading-order amplitudes.
- PROGRAM SUMMARY: Recola is implemented in Fortran95 and runs on systems with a Fortran95 compiler.The listed operating systems are Linux and Mac OS X.
- PROGRAM SUMMARY: The program is licensed under GNU GPL version 3.
- PROGRAM SUMMARY: Typical memory usage is 1 GB for a 2 →4 process.
1. Introduction
Recola addresses automated one-loop calculations by combining recursive amplitude construction with performance-oriented on-the-fly generation and evaluation. It targets calculations where automation, speed, and memory cost are important, while supporting electroweak and QCD applications.
- 1. Introduction: Recola is designed to facilitate automated calculations of Standard Model tree-level and one-loop amplitudes.
- 1. Introduction: Its recursive construction of one-loop off-shell currents distinguishes the implemented method from other public codes.
- 1. Introduction: The program has been applied to electroweak corrections for pp →2ℓ+≤2j and pp →µ+µ−e+e−, and to QCD corrections for pp →WWb¯bH.
- 1. Introduction: Performance matters because Monte Carlo simulations require huge numbers of matrix-element evaluations for sufficient statistical accuracy.
- 1. Introduction: Recola emphasizes fast on-the-fly generation and evaluation of NLO matrix elements as a strategy complementary to precomputed event data.
2. Basic features of Recola
Recola computes tree-level and one-loop Standard Model amplitudes recursively, with dimensional or mass regularization options and configurable renormalization schemes. It also supports squared amplitudes, correlated amplitudes, and selective resonant contributions.
- Recola is a Fortran95 code for computing tree-level and one-loop Standard Model scattering amplitudes using recursion relations.
- Its one-loop construction decomposes amplitudes into tensor integrals, tensor coefficients, and counterterms, with ultraviolet singularities regulated dimensionally.Ultraviolet poles are cancelled by corresponding singularities in counterterm amplitudes built from tree-level topologies.
- Collinear singularities can be regularized dimensionally for massless fermions or with assigned regulator masses, independently for each fermion.
- Soft singularities may be treated dimensionally or with a photon/gluon mass regulator, but mass regularization requires mass regularization for all fermion collinear singularities.
- Recola separates ultraviolet and infrared regularization parameters and supports variable-flavour or Nf-flavour schemes for strong-coupling renormalization.The renormalized result can depend on the strong-coupling scale Q while remaining independent of the auxiliary ultraviolet scale µUV.
- The code supports multiple electromagnetic-coupling schemes, complex-mass or on-shell electroweak renormalization, spin- and colour-summed squared amplitudes, and selected resonant intermediate states.Resonant contributions can be isolated for processes with definite intermediate particles and multiple or nested decays.
3. Installation
Recola and Collier can be installed together or separately, using CMake and a Fortran compiler to build shared or static libraries and demonstration programs.
- Package choices: The combined package installs Recola and Collier together, while the standalone Recola package links against a local Collier installation.Both packages are available separately, and the combined package includes a working Collier copy.
- Compilation: CMake followed by make builds the libraries, with automatic or user-selected Fortran compiler detection.The combined build uses the recola-collier build directory; compiler choices include gfortran, ifort, and pgf95.
- Library formats: The default build produces shared libraries, whereas CMake options can request static libraries instead.The relevant outputs are librecola.so and libcollier.so for shared builds, or librecola.a and libcollier.a for static builds.
- Demonstrations: Demo programs can be compiled from the build directory or run through scripts, covering basic usage, multiple processes, resonances, and correlated amplitudes.The draw-tex script compiles generated LaTeX files into PDFs.
- Package contents: Recola's standalone package contains source, build, CMake, and demo directories, while internal source files should not be modified.The demos directory includes programs and scripts illustrating Recola usage.
4. Usage of Recola
Using Recola follows an ordered workflow: configure inputs, define and generate processes, compute amplitudes, and reset process-dependent data when finished.
- Workflow: A Recola application typically sets optional input parameters, defines processes, generates recursive building blocks, computes amplitudes, and resets the library.The sequence must be followed in order; new processes cannot be defined after generation without resetting.
- Input parameters: Input parameters can be edited in input.f90 or changed dynamically through Recola subroutines during the same run.Defaults make input configuration optional, while editing input.f90 requires recompilation.
- Process generation and computation: Process generation initializes the recursive off-shell-current building blocks needed for later amplitude evaluation.The compute routine then uses process-dependent recursive information and user-supplied external momenta.
- Computed quantities: Recola can return amplitudes, squared amplitudes, colour- and spin-correlated Born quantities, and running-αs results.These outputs are accessed through dedicated subroutines after process declaration and generation.
- Regularization: Collinear and soft singularities may use dimensional or mass regularization, but soft mass regularization requires mass regularization for all collinear singularities and nonzero external charged-fermion masses.The light flag determines whether a fermion mass is retained only as a regulator or fully retained.
Output options for the amplitude
Amplitude output is controlled by writeMat, which can suppress output, list helicity- and colour-resolved contributions, or decompose one-loop results into bare, counterterm, and rational parts.
- Basic amplitude output: writeMat = 0 suppresses amplitude output, while writeMat = 1 lists non-vanishing Born and one-loop amplitudes by helicity configuration and colour structure.The output tables are organized by powers of the strong coupling, with a final sum giving the full amplitude.
- Amplitude decomposition: The amplitude tables report separate contributions for different powers of gs and include the sum of all contributions.The displayed one-loop output contains a Born section and a one-loop amplitude section.
- One-loop decomposition: writeMat = 2 additionally decomposes the one-loop amplitude into the 4-dimensional bare-loop, counterterm, and R2 contributions.Each component is again tabulated by powers of gs.
Output options for the squared amplitude
Squared-amplitude output can be unpolarized, polarized, or correlated in colour and spin, with optional decompositions of loop contributions and dependence on αs powers.
- Basic squared-amplitude output: writeMat2 = 0 suppresses squared-amplitude output, while writeMat2 = 1 reports Born squared amplitudes and one-loop interference or loop-induced squared terms.The tables are organized by powers of αs and end with the full squared-amplitude sum.
- Loop decomposition: writeMat2 = 2 decomposes the squared one-loop contribution into bare-loop, counterterm, and rational-part interference terms.For loop-induced processes, it instead prints squared component terms and their pairwise interferences.
- Polarized output: writeMat2 = 3 extends the output to individual helicity configurations and provides polarized squared amplitudes, averaged only over colours.Only helicity configurations with non-vanishing contributions are displayed.
- Correlated-amplitude tables: The colour- and spin-correlated outputs include αs decompositions and report summed correlated squared amplitudes.Examples are presented for gluon colour-spin correlation and photon spin correlation.
Output options for memory needed by Recola.
Recola provides configurable runtime controls for memory reporting and many physics inputs, including masses, regulators, coupling schemes, and resonant-particle treatment.
- Memory reporting: writeRAM controls whether Recola prints memory requirements, with settings for no output, persistent allocation details, or additional temporary-generation memory.The default is writeRAM = 0; higher settings report memory before it is occupied and can help diagnose overflows.
- Regularization: Users can select dimensional or mass regularization for soft singularities.Mass regularization additionally accepts a mass regulator in GeV.
- Regularization: Recola supports configurable ultraviolet and infrared poles and scales, including DeltaUV, DeltaIR, DeltaIR2, muUV, and muIR.These settings are exposed through input subroutines before process generation unless otherwise specified.
- Coupling and schemes: The strong coupling can use supplied or dynamically computed values, with adjustable renormalization scale and fixed or dynamical Nf-flavour schemes.The coupling can also be changed during process computation to obtain running values of αs.
- Coupling and schemes: Electroweak renormalization supports GF, α(0), and α(MZ) schemes, while unstable-particle masses support complex-mass and on-shell schemes.The complex-mass scheme is selected explicitly, as is the on-shell alternative.
- Resonances: Marking a particle resonant removes its mass imaginary part except in resonant-propagator denominators and requires on-shell resonant momenta within 10^-7.Recola stops if the resonant particle has zero width or the supplied phase-space point fails the on-shell check.
4.3. Process definition
Process definition in Recola specifies particles, perturbative order, helicities, intermediate states, and selectable powers of the strong coupling.
- Process declaration: Processes are declared with an identifier, a particle-chain string, and an order of LO or NLO.Repeated declarations can define multiple processes, each with a distinct identifier.
- Process declaration: The process string lists incoming and outgoing particles separated by ->, with arbitrary numbers of incoming and outgoing particles allowed.Particle symbols and the arrow must be separated by at least one blank character.
- Helicities and decays: Specific helicities can be assigned using [-], [+], or [0], while omitted helicity labels leave particles unpolarized.The same syntax distinguishes transverse vector states from unpolarized ones.
- Helicities and decays: Nested decay notation selects contributions with specified intermediate particles, and this selection is required for pole-approximation amplitudes.Decay products are placed in parentheses after the decaying particle.
- Contribution selection: Users can select or unselect Born and loop contributions according to powers of gs independently for each process.If no selection is made, all powers are computed; the corresponding powers of e are fixed implicitly.
4.4. Process generation: generate
The generate subroutine constructs and stores the recursive process skeleton after all desired processes have been defined.
- Process generation: generate builds the recursive procedure for every previously defined process and stores it in global variables for later amplitude computation.It must be called once after process definitions and before process-computation routines.
- Process generation: The generation step is typically performed before phase-space points are generated.Process-computation routines can be called only after generation.
4.5. Process computation
Recola computes amplitudes, squared amplitudes, and correlated Born objects through process-specific routines, while supporting resonance handling, αs updates, and component-level extraction.
- Correlated amplitudes: Spin- and colour-correlated Born routines compute and store the objects needed for dipole-subtraction calculations, which users retrieve with matching get routines.The typical sequence is compute_X_correlation_rcl followed by get_X_correlation_rcl.
- Stored results: Results for one computed object can be overwritten when another computation recalculates LO amplitudes for the same process.The documentation advises completing the retrieval sequence for one object before evaluating a different object.
- Resonances: Resonance-specific routines can verify marked resonances and set the squared momentum used in resonant propagator denominators.Resonance identifiers follow the order in which intermediate particles appear in the process definition.
- Coupling updates: Recola can compute αs at a chosen scale using either a variable-flavour scheme or a fixed Nf-flavour scheme.For Nf = -1, active flavours are quarks lighter than Q; fixed schemes accept Nf = 3, 4, 5, or 6.
- Amplitude evaluation: The main computation routine evaluates Born and one-loop amplitudes and corresponding squared amplitudes for selected LO or NLO orders.At NLO, one-loop terms are computed only for processes generated at NLO, with helicity and colour sums or averages applied as configured.
- Coupling updates: Stored LO and NLO results can be rescaled to a new αs value without recomputing amplitudes.The rescaling adjusts amplitudes and squared amplitudes and recomputes the strong-coupling counterterm.
4.6. Reset: reset
The reset subroutine frees Recola's internally allocated memory and restores initialization state, allowing a new process set or application restart within the same run.
- reset deallocates Recola's global allocatable arrays and restores initialization values for internal variables.
- Calling reset permits defining a new set of processes in the same program run.
- The input variables in input.f90 retain their actual values after reset.
- reset restores the output filename to the default output.rcl.
5. Conclusions
Recola computes Standard Model tree- and one-loop amplitudes and squared amplitudes with broad interaction, regularization, renormalization, and resonance-selection options. The present version remains restricted to the Standard Model in the ’t Hooft–Feynman gauge.
- Recola calculates Standard Model amplitudes and squared amplitudes at tree and one-loop level without an a-priori restriction on particle multiplicities.
- The library provides helicity- and colour-specific amplitudes, spin-summed or unsummed squared amplitudes, and colour- and spin-correlated leading-order quantities for dipole subtraction.
- Renormalization supports the complex-mass or on-shell scheme, multiple electromagnetic-coupling schemes, and fixed or dynamical Nf-flavour schemes for the strong coupling.
- Infrared singularities can be regularized dimensionally or with infinitesimal fermion and photon/gluon masses, while selected resonant contributions can be isolated.
- The present code is restricted to the Standard Model in the ’t Hooft–Feynman gauge; support for more general theories is in preparation.
Appendix A. Explicit representations for spinors and polarization vectors
Appendix A lists the explicit chiral-representation spinors and polarization vectors used by Recola for massive and massless fermions and vector bosons.
- The appendix gives explicit expressions for the spinors and polarization vectors used in Recola.
- The listed spinors are separated into massive-fermion and massless-fermion cases.
- Transverse polarization vectors are provided for massless and massive vector bosons.
- Longitudinal polarization vectors are provided for massive vector bosons with mass M.
Appendix B. Checks
Recola was checked against Pole and OpenLoops across electroweak, QCD, and mixed processes, including Monte Carlo integrations and single phase-space points. NLO matrix-element agreement ranged from 10^-14 to 10^-8 depending on process size and comparison code.
- NLO matrix-element agreement with Pole ranges from 10^-14 for four external legs to 10^-10 for six external legs.The reported precision depends strongly on the phase-space point.
- NLO matrix-element agreement with OpenLoops ranges from 10^-12 to 10^-8.The comparison covers the checked processes reported for OpenLoops.
- Monte Carlo integration checks with Pole cover five- and six-leg processes with specified powers of αs at LO and NLO.
- Additional single-phase-space-point checks cover four-leg electroweak, QCD, and combined electroweak-plus-QCD processes.
- The checks include five-leg electroweak and QCD processes and six-leg QCD processes against Pole or OpenLoops.
- The EW, QCD, and EW+QCD labels distinguish minimal, maximal, or summed powers of αs in the LO and NLO squared amplitudes.