GoSam: Automated One-Loop Amplitudes
- GoSam is a public code for automated one-loop scattering amplitude generation, enabling precise NLO QCD and electroweak corrections in various models.
- It integrates diagram-based pipelines with symbolic manipulation and numerical reduction to enhance computational efficiency and stability.
- The framework interfaces with Monte Carlo tools via BLHA, supporting advanced applications including EFTs and differential NLO studies.
GoSam is a public code for the fully automated generation and numerical evaluation of one-loop scattering amplitudes in high-energy physics. Its primary use is the computation of next-to-leading order QCD and/or electroweak corrections to multi-particle processes within the Standard Model and in a wide range of Beyond-the-Standard-Model theories, with standardized interfaces to Monte Carlo programs for fully differential NLO studies. In this role it sits alongside modern one-loop amplitude generators such as MG5_aMC@NLO, OpenLoops, Recola and Helac-1Loop, while emphasizing a diagram-based pipeline combined with numerical, semi-algebraic reduction of loop integrals and flexible BLHA interoperability (Cullen et al., 2014).
1. Historical development and scope
The first public GoSam releases presented the program as an automated framework for one-loop amplitudes in renormalizable quantum field theories. The original architecture combined QGRAF for diagram generation, Python filters, FORM and Spinney for algebraic manipulation, and optimized Fortran output linked to reduction libraries such as SAMURAI and golem95C. From the outset, the code was designed for Standard-Model QCD and electroweak corrections, with support for Beyond-the-Standard-Model model files through UFO or LanHEP imports, and with a BLHA interface to external real-radiation programs (Cullen et al., 2011).
Version 2.0 reworked both generation and reduction. Its defining changes included FORM 4 based code generation, the introduction of Ninja as the default reduction library through integrand reduction via Laurent expansion, diagram grouping through diagsum, numerical polarisation vectors for massless gauge bosons, higher-rank support up to tensor ranks exceeding the number of propagators, electroweak scheme flexibility, and the extended BLHA2 interface to Monte Carlo tools (Deurzen et al., 2014). A later major update, GoSam-3.0, recast the framework as a self-contained Meson-based environment and added explicit EFT-oriented functionality such as UFO operator counting through NP and QL, truncation controls via EFTcount, and optional quadruple-precision rescue paths (Braun et al., 31 Jul 2025).
This evolution suggests a stable conceptual core—automated one-loop generation and reduction—paired with successive expansion of the supported physics domain, the runtime interfaces, and the numerical-stability machinery.
2. Internal architecture and code-generation pipeline
In GoSam 2.0 the workflow is commonly described as four modular stages. First, QGRAF constructs all tree-level and one-loop Feynman diagrams for the process of interest. At this stage GoSam can apply diagsum, grouping diagrams whenever they share the same set of loop propagators or the same external tree part, thereby reducing the number of algebraic objects that propagate through later steps. Earlier versions also employed Python-level filtering to remove diagrams with vanishing color factors, assign fermion-flow signs, and sort contributions by helicity and color structures (Cullen et al., 2014).
Second, the algebraic manipulation stage uses FORM, with Spinney in earlier releases, to optimize the color-spin algebra and construct the numerator functions of the loop integrand. A characteristic feature of the 2.0 generation chain is the use of numerical polarisation vectors for massless gauge bosons by default, which avoids separate code paths for different helicity states. FORM 4 additionally collects irreducible scalar products into abbreviations and produces more compact expressions than the earlier chain. Third, the generated numerator code is embedded into a Fortran90 code tree, compiled through a single Makefile in 2.0, while later releases move the build system to Meson/Ninja and download the required external components on the fly (Cullen et al., 2014).
The early GoSam papers also make explicit the dimensional split used in the loop algebra,
with internal vectors treated in dimensions and external momenta and polarizations kept four-dimensional. This separation underlies both the treatment of rational terms and the compatibility with -dimensional reduction strategies (Cullen et al., 2011).
3. Reduction algorithms, master integrals, and stability control
At amplitude level GoSam adopts the standard one-loop decomposition
$\mathcal{M}^{\rm 1\mbox{-}loop}=\sum_i c_i\,I_i+R,$
where are master integrals, their coefficients, and the rational remainder. Earlier formulations make the basis explicit in terms of boxes, triangles, bubbles, and tadpoles, while at integrand level the numerator is decomposed over multiple cuts and irreducible scalar products (Deurzen et al., 2014).
The reduction strategy has evolved. In the original releases, GoSam interfaced to SAMURAI for -dimensional OPP-style integrand reduction and to tensor libraries such as golem95C or PJFRY, with an automatic hybrid fallback when reconstruction tests failed. In GoSam 2.0 the default became Ninja, which performs integrand reduction via Laurent expansion. The method exploits the known parametric dependence of the integrand on the loop momentum, performs a Laurent expansion in one free component of , turns coefficient determination into a diagonal system, and replaces integrand-level subtractions by coefficient-level corrections. The same generation chain can also support direct tensor-coefficient extraction through the derive extension, which Taylor-expands numerators around for clean interfacing to golem95 (Cullen et al., 2014).
Master integrals are evaluated through libraries such as OneLOop, QCDLoop, golem95C, and in some descriptions Collier. Version 2.0 extended runtime support to complex masses and tensor ranks up to 0, which is essential for effective Higgs–gluon couplings, spin-2 resonances, and other cases with ranks exceeding the propagator count (Deurzen et al., 2014).
Numerical stability is controlled by a hybrid pole-test and rotation-test procedure. The pole test compares the computed infrared single pole 1 to the universal singular coefficient 2,
3
If 4 lies in an intermediate region, GoSam performs a rotation test based on azimuthal invariance about the beam axis,
5
Unstable points can then be rescued through alternative reduction libraries, higher-precision settings, or, in later releases, optional quadruple precision (Cullen et al., 2014).
4. Monte Carlo interfaces and the assembly of full NLO predictions
A central design choice in GoSam is the separation between the virtual one-loop provider and the Monte Carlo framework that supplies real radiation, subtraction terms, phase-space integration, and optionally parton showers. The original versions implemented the OLP side of the Binoth Les Houches Accord, and GoSam 2.0 extended this to BLHA2, enabling two-way communication in which the Monte Carlo can request loop amplitudes, spin-correlated trees, color-correlated trees, or matrix elements in specific coupling orders (Deurzen et al., 2014).
The standard BLHA workflow is structured around an order file written by the Monte Carlo, a GoSam-generated contract file, compilation or reuse of the process library, and dynamic calls during event generation. At runtime the calling program passes kinematics, coupling constants, and renormalisation scales, and GoSam returns virtual matrix-element values together with any requested correlated Born building blocks. This interface has been used with Sherpa, Herwig++/Matchbox, POWHEG-BOX, and MG5_aMC@NLO, and it supports fully differential NLO studies including parton showering and hadronisation on the Monte Carlo side (Luisoni, 2013).
A recurring misconception is to identify GoSam itself with a full NLO event generator. The published descriptions instead present it as the one-loop provider within a larger NLO chain. Infrared subtraction is typically delegated to the Monte Carlo through Catani–Seymour dipoles or FKS subtraction. A notable illustration of the framework’s modularity is the rare-muon-decay calculation, where GoSam supplied the virtual amplitudes while a dedicated VEGAS-based driver and FKS subtraction frontend handled phase-space integration and real-emission subtraction externally (Pruna et al., 2016).
5. Standard-Model, BSM, and EFT model support
GoSam is designed to compute one-loop QCD and electroweak corrections in the Standard Model and to extend this automation to imported new-physics models. In early releases, model definitions could be taken from built-in Standard-Model files or imported via LanHEP or UFO. GoSam then automatically read particle definitions, couplings, mass parameters, and gamma-matrix conventions, allowing the same QGRAF-FORM-reduction chain to operate on non-Standard-Model theories (Cullen et al., 2011).
Version 2.0 broadened this support in two notable directions. First, it introduced explicit electroweak-scheme flexibility, with eight predefined input schemes such as 6 or 7, and allowed algebraic rewriting of gauge couplings when the electric charge is normalized to unity and coupling products are deferred to the Monte Carlo side. Second, it implemented the complex-mass scheme consistently, with
8
The same release states that complex couplings, Majorana fermions, and non-renormalisable interactions are supported out of the box, and that higher-rank loops required by spin-2 or effective interactions can be handled provided the reduction libraries are built with rank-9 support (Deurzen et al., 2014).
GoSam-3.0 extends the model layer toward EFT use cases. It recognizes the standard QCD/QED coupling orders together with the additional UFO orders NP and QL, supports vertices with more than four legs and genuine four-fermion operators, and implements nine SMEFT truncation schemes selected through EFTcount. It can also generate one-loop UV counterterms for Wilson coefficients if the UFO model includes CTVertex and CTParameter definitions in the standard UFO 2.0 form. This suggests a shift from generic BSM import toward explicit control of EFT operator insertions, truncation, and partial renormalisation within the automated pipeline (Braun et al., 31 Jul 2025).
6. Applications, validation, and computational performance
The published GoSam literature presents a broad application range spanning hadron-collider production, electroweak multi-fermion processes, BSM signatures, and fully differential decay calculations. Standard-Model examples include 0, 1, 2, 3, and associated 4+Higgs production. BSM examples include spin-2 graviton production in large-extra-dimensions models and NLO QCD corrections to Higgs production in EFT frameworks with dimension-six operators (Deurzen et al., 2014).
The version-2.0 benchmark section reports several concrete numerical tests. For 5 in the heavy-top limit, comparison with analytic results gives per-mille relative agreement and Ninja runs 30% faster than Samurai. For 6 the reported stability is better than 7 on 99.9% of points. For 8, diagsum reduces the number of reduction calls from 360 to 120 and yields a 40% speed-up. In an explicit 9-jets case at $\mathcal{M}^{\rm 1\mbox{-}loop}=\sum_i c_i\,I_i+R,$0 TeV, the ratio $\mathcal{M}^{\rm 1\mbox{-}loop}=\sum_i c_i\,I_i+R,$1 is given, in perfect agreement with MCFM and OpenLoops within Monte Carlo errors (Cullen et al., 2014).
Performance claims are also process- and setup-dependent. One GoSam-2.0 description states that for typical $\mathcal{M}^{\rm 1\mbox{-}loop}=\sum_i c_i\,I_i+R,$2 processes with $\mathcal{M}^{\rm 1\mbox{-}loop}=\sum_i c_i\,I_i+R,$3 diagrams, GoSam 2.0 together with Ninja can evaluate the virtual amplitude in of order $\mathcal{M}^{\rm 1\mbox{-}loop}=\sum_i c_i\,I_i+R,$4–$\mathcal{M}^{\rm 1\mbox{-}loop}=\sum_i c_i\,I_i+R,$5 ms per phase-space point on a modern CPU, while another benchmark for $\mathcal{M}^{\rm 1\mbox{-}loop}=\sum_i c_i\,I_i+R,$6 jets on an Intel Xeon 2.6 GHz gives a reduction from 180 ms with the old integrand reduction to 70 ms with Ninja and 75 ms including rescue overhead (Deurzen et al., 2014). This suggests that absolute timings depend strongly on the process, hardware, and exact phase-space setup, whereas the relative gain from FORM 4 optimization, diagsum, and Laurent-expansion reduction is the more stable conclusion.
GoSam has also been used outside its nominal collider-virtual niche. In the rare decay $\mathcal{M}^{\rm 1\mbox{-}loop}=\sum_i c_i\,I_i+R,$7, the GoSam-based pipeline generated the one-loop and real-emission amplitudes, while a dedicated VEGAS-based integrator and FKS subtraction were added externally; the resulting NLO program produced the total branching ratio and custom observables under realistic cuts (Pruna et al., 2016). A further extension modified GoSam to output color-space hard functions for $\mathcal{M}^{\rm 1\mbox{-}loop}=\sum_i c_i\,I_i+R,$8 production in NNLL resummation studies, demonstrating that the generated one-loop building blocks can be repurposed beyond fixed-order virtual corrections (Broggio et al., 2017).
7. Limitations, common misunderstandings, and future directions
The most important limitation stated consistently across the literature is scope: GoSam automates one-loop amplitudes, not the entire NLO pipeline. Full predictions require external handling of real radiation, subtraction, and phase-space integration, usually through a BLHA-compliant Monte Carlo. Earlier summaries also note the absence of built-in electroweak subtraction and parton-shower matching in GoSam itself, and report substantial memory footprints for very high-multiplicity processes in the older haggies-based generation chain (Cullen et al., 2013).
Another limitation concerns renormalisation beyond the Standard Model. GoSam-3.0 states that fully automated UV renormalisation only covers Standard-Model QCD counterterms; for EFT operators the user must supply UFO counterterm definitions if a renormalised result is desired. The same source warns that loop integrals in unitary gauge may exceed the rank bound $\mathcal{M}^{\rm 1\mbox{-}loop}=\sum_i c_i\,I_i+R,$9 and that consistent SMEFT truncation requires model-level discipline in operator tagging and filtering (Braun et al., 31 Jul 2025).
The stated development path is correspondingly pragmatic. The GoSam-2.0 summary lists GPU-based evaluation, higher-loop extensions, automated matching to parton showers, and support for dimension-six operators in EFT frameworks among the future developments. GoSam-3.0 refines this by proposing higher degrees of automated UV renormalisation beyond QCD, automated generation of 0 terms and full SMEFT UV renormalisation, renormalisation-group running of Wilson coefficients, improved UFO 2.0 integration, and deeper support for multiloop generalisations (Cullen et al., 2014). A plausible implication is that GoSam’s long-term trajectory preserves its original role as an automated one-loop provider while progressively expanding the amount of model-dependent structure that can be handled without manual intervention.