Automation of one-loop QCD computations
Maria Vittoria Garzelli
Centre for Cosmology, Particle Physics and Phenomenology (CP3), Universite catholique de Louvain
, Chemin du Cyclotron 2, B-1348 Louvain-la-Neuve,
INFN, Sezione di Milano, I-20133 Milano,
Departamento de Fsica Teorica y del Cosmos y CAFPE, Universidad de Granada
, E-18071 Granada,
Institut fur Theoretische Physik, Universitat Zurich
, Winterthurerstrasse 190, CH-8057 Zurich,
PH Department, TH Unit
, CERN, CH-1211 Geneva 23,
ITPP, EPFL, CH-1015 Lausanne,
We present the complete automation of the computation of one-loop QCD corrections, including UV renormalization, to an arbitrary scattering process in the Standard Model. This is achieved by embedding the OPP integrand reduction technique, as implemented in CutTools, into the MadGraph framework. By interfacing the tool so constructed, which we dub MadLoop, with MadFKS, the fully automatic computation of any infrared-safe observable at the next-to-leading order in QCD is attained. We demonstrate the flexibility and the reach of our method by calculating the production rates for a variety of processes at the 7 TeV LHC.
2 Selected physics results 3 4 5
3.1 The Ossola-Papadopoulos-Pittau reduction
3.2 Organization of the calculation
3.2.1 Generation of one-loop amplitudes from tree amplitudes
3.2.2 R2 contribution and UV renormalization
3.2.3 Summary of MadLoop features
3.4 Robustness against numerical instabilities Limitations of the current implementation Outlook Conclusions
A Comparisons with existing results
A.1 QCD processes
A.1.1 The process uu dd
A.1.2 The process dg dg
A.1.3 The processes dd tt and gg tt
A.1.4 The process ug ttu
A.1.5 The process uu bbbb with massless b
A.1.6 The process uu ttbb with massless b
A.2 Processes with a single vector boson
A.2.1 The process ud e+e
A.2.2 The processes ud ee+g and ug ee+d
A.2.3 The processes dd( /Z) ee+g and dg( /Z) ee+d
A.2.4 The processes dc( W ) eeuc and dg( W ) eeug
A.2.5 The process ug( Z/) ee+ug
A.2.6 Closed fermion loops contributing to e+e ddgg
A.2.7 The gg Zg one-loop amplitude squared
A.2.8 The process ug tbd (four-flavour t-channel single-top production)
A.2.9 The process ud( W +) ee+bb with massive b
A.3 Processes with two vector bosons
A.3.1 The process dd W +W ee+ee
A.3.2 The processes uu W +W bb and gg W +W bb with massless b
A.4 Processes with a single Higgs boson
A.4.1 The process bg Hb
A.4.2 The process gb Ht
A.4.3 The processes uu ttH and gg ttH
MadLoop technical details
B.1 Example of filtering of loop diagrams
B.2 UV renormalization counterterms
The capability of improving systematically the predictions for any given observable by
means of perturbative techniques has been of great importance in helping establish the
Standard Model as the correct theory of electroweak and strong interactions for sub-TeV
energies. Although there exist many different choices for the expansion parameter of the
perturbative series, the most common one is by far that of the coupling constant, which
we identify here with that of QCD, S. A power series in S is expected to converge well
(asymptotically) for observables that are sufficiently inclusive (such as total rates), or are
associated with small-probability events (such as large-angle, large-energy emissions). The
computation of contributions of increasingly higher orders in S for a given observable
is analogous to, and goes hand-in-hand with, the accumulation of data in a real
experiment. While the latter results in the decrease of the statistical error associated with the
measurement, the former implies the reduction of the theoretical uncertainty affecting the
prediction, as determined by the dependence on the unphysical mass scales that enter the
computation. Precise determinations on both the theoretical and experimental sides have
been essential in the success of physics programmes at particle colliders, and continue
playing a very important role in pinning down potential discrepancies between predictions and
observations. It should be further stressed that some discovery strategies pursued by LHC
experiments (which are thus analogous, in this sense, e.g. to the single-top analysis of CDF
and D0) make extensive use of theoretical predictions, whose accuracy is crucial to reduce
as much as possible any theoretical bias on evidence of new physics.
The reduction of the uncertainties that affect theoretical predictions is only one of
the consequences of computing higher orders in the perturbative series. In general, one
expects to find corrections that are non-trivial, in the sense that they cannot possibly be
obtained by simply rescaling the leading-order (LO) results by a constant. Hadroproduction
processes have a particularly rich structure from this point of view, since typically at each
order in perturbation theory new partonic channels open up, which bring about an involved
dependence on parton density functions (PDFs). However, it is easy to realize that the
vast majority of these dynamical effects can be approximated in an excellent manner by
just keeping the contributions to the perturbative expansion due to tree-level processes,
subject to suitable cuts (that prevent them from diverging when integrated over the phase
space). The fact that such an approximation is actually fairly good is the main reason why
these tree-level computations (which are equivalent, process-by-process, to LO results)
have enjoyed an enormous success in recent years: from the technical viewpoint, they are
incredibly simpler than proper higher-order computations.
It is therefore clear that the decision on whether to perform a fully-fledged higher
order computation for a given observable must be taken after careful consideration of the
benefits versus costs. It is obvious that an increased precision in the theoretical predictions
is always beneficial. Unfortunately, most of the physics we are interested in studying at
the LHC involves high-multiplicity processes for which even the first non-trivial order in
perturbation theory, i.e. the next-to-leading order (NLO) one, is horrendously complicated
to compute. Furthermore, owing to the presence of many different mass scales, the results
will display a non-negligible theoretical uncertainty, although in general much reduced
w.r.t. that of the LO predictions.
An easy way to solve the issue above is that of reducing to zero the costs of performing
higher-order computations, by letting a computer do the job through a complete
automation of the necessary procedures. The ultimate goal of the work presented in this paper is
that of showing that this is an actual possibility, as far as NLO results are concerned. As
is well known, NLO calculations can be achieved by performing two tasks of overall
comparable complexity. One of them is the computation of the one-loop matrix elements. The
second of them is the computation of the tree-level matrix elements, followed by their
combination with the one-loop ones, their recasting into terms which are locally non-divergent,
and finally their integration over the phase space. The complete automation of the latter
task was presented in ref. ; that of the former task is the subject of this paper.
The present work has therefore two immediate aims.
A technical aim. Namely, the complete automation of the computation of QCD
oneloop corrections for any user-defined process in the Standard Model, independently
of external particle identities (in particular, whether they are massless or massive).
This is achieved by embedding the Ossola-Papadopoulos-Pittau integrand reduction
technique  (through its incarnation in CutTools) into the MadGraph framework.
The resulting tool, which we call MadLoop, is an independent software module that,
given the process, returns the finite part of the one-loop corrections (UV
renormalized), and the residues of the double and single infrared poles.
A physics aim. By making use of MadLoop and of MadFKS (the automated software
developed in ref. ), we present results for the total cross sections for a variety of
processes at the 7 TeV LHC.
We point out that the second item here demonstrates the achievement of the ultimate goal
we have stated above. Namely, that one can compute fully-physical NLO results at zero
cost, given that the only human interventions necessary to obtain the cross sections (and
any other infrared-safe observable) are those of specifying the process, of defining the input
parameters, and possibly of imposing final-state cuts where necessary.
This paper is organized as follows. In section 2 we present a few representative physics
results. In section 3 we illustrate the main features of the way in which we perform our
computations. The current version of MadLoop has a few limitations, which we describe
in section 4. The steps to be taken in order to remove these limitations, and other future
improvements, are reported in section 5. We give our conclusions in section 6. Appendix A
shows all comparisons between the results obtained with MadLoop and those available in
the literature. Appendix B reports some technical details.
Selected physics results
In this section, we present a sample of the results that one can obtain with MadFKS
and MadLoop. Although one typically discusses technical details before reporting their
phenomenological implications, the ordering adopted in this paper underscores our belief
that, thanks to the automation achieved here, NLO QCD corrections to Standard Model
processes are as trivial to calculate as LO results, and must thus be treated on equal footing
with the latter. This fact has two main implications. Firstly, technicalities are independent
of the process, and can be understood once and for all. Secondly, the choice of which
processes to consider is essentially limited only by CPU-time considerations.1
It is important to keep in mind that MadFKS and MadLoop are fully independent
modules, which communicate with a standardized interface as prescribed by the Binoth-Les
Houches accord . MadFKS has already employed several programs other than MadLoop
for the computation of one-loop contributions: BlackHat , Rocket , and Samurai 
(see e.g. ref.  for a recent application). Likewise, MadLoop can be called by any code
compatible with the accord of ref. . It is also appropriate to remind the reader that in the
first paper on MadFKS (ref. ) numerical results were presented only for e+e collisions.
However, all the formulae necessary for dealing with hadronic collisions were laid out in
that paper, and their subsequent implementation in MadFKS has not posed any problem.
In this work, we present for the first time hadroproduction results obtained with MadFKS.
We remind the reader that MadFKS is based on the FKS universal subtraction
formalism [8, 9]. The FKS method is very effective in limiting the total number of subtractions,
which scale at most as n2, with n the number of strongly-interacting particles that enter
the process. Furthermore, the method renders it particularly easy to further reduce the
subtractions to perform, by efficiently exploiting the symmetries of the matrix elements
in the case of identical final-state particles. In the FKS formalism one introduces three
arbitrary parameters (cut, I , and O, associated with soft, initial-state collinear, and
finalstate collinear singularities respectively) that control the subtractions, and of which any
physical observable is strictly independent. That such an independence does indeed occur
is a powerful check of the correct implementation of the method, and we have extensively
verified it. We have also found that in hadroproduction the same feature holds as we
have documented in ref.  for the case of e+e collisions. Namely, that the convergence of
phase-space integration depends very mildly on cut, I , and O. This is the signal that such
an integration is very robust, and implies that it is not necessary to search for the values
of the arbitrary parameters introduced above that are optimal for physical predictions,
since essentially any values will do.
1With some minor exceptions, to be discussed in section 4.
Given that our goal here is not that of performing any phenomenological studies, we
have considered processes that feature a fair diversity (pure QCD, with EW vector bosons,
with SM Higgs, with massive/massless b quarks, and at different jet multiplicities) in order
to fully test and prove the flexibility of our setup. We have limited ourselves to presenting
results for total rates. For reasons of space, it is impossible to report here even a small
sample of differential distributions. We remark that we have checked a few standard ones
(such as transverse momenta, rapidities, and pair invariant masses), and have found that
the statistics used to obtain fairly accurate results for total rates is also sufficient to get
reasonably smooth distributions. This is consistent with past experience with FKS
subtraction, and is ultimately due to the fact that in this formalism, for any given integration
channel, the total number of kinematic configurations associated with subtraction
counterterms is always equal to one, thereby reducing to a minimum the probability of mis-binning
(see ref. ).
Physics results are simply obtained by giving in input to MadFKS and MadLoop
the process type, and the QCD and EW parameters to be used in the runs.
Codewriting is limited to defining the observable(s) one wants to predict, and to imposing
cuts (including the appropriate jet finders). We simulate pp collisions at 7 TeV. Masses,
couplings, and widths are chosen as reported in table 1, with some process-specific
exceptions, to be described below. For NLO (LO) results with five light flavours, we use
the MSTW2008nlo (MSTW2008lo) PDF set , while in the case of four light flavours
we adopt MSTW2008nlo nf4 (MSTW2008lo nf4). Each of these sets is associated with a
different value of S, which we report in table 1. Jets are defined using the kT -clustering
algorithm  (as implemented in FastJet [12, 13]), with p(Tjet) > 25 GeV and pseudo-cone
size R = 0.7. Renormalization and factorization scales are set equal to a common value,
Since we present results for total cross sections, it is appropriate to assign a fixed (i.e., that
does not depend on the kinematics) value to , which is process-dependent as reported
in table 2. The results are therefore easily reproducible and can be used as a standard
reference. In table 2, by nlf we have denoted the number of quarks whose mass is equal to
zero. Thus nlf is equal to five or to four when the b quark is considered to be massless or
massive, respectively. In all cases, all six quark flavours have been included in the loops.
As discussed in ref. , MadFKS allows one to integrate all contributions to the NLO
cross section in one single computation, regardless of whether they have a real-emission or a
Born-type kinematics. For the results presented here, however, we have integrated the
oneloop contributions separately from the other ones (i.e., the Born and real-emission matrix
elements, and the subtraction counterterms). This is because for a given phase-space point
the evaluation of virtual corrections performed by MadLoop takes much longer than all the
other operations carried out by MadFKS. On the other hand, no phase-space subtraction
is done on virtual corrections, and therefore the numerical computations are inherently
more stable than those relevant to the subtracted real-emission contributions. Hence, it
turns out to be more efficient to integrate the one-loop contributions separately from all the
others, using a reduced statistics (on average, about one-tenth2 of that employed for real
corrections). Even so, for the processes with the highest multiplicities considered here, the
virtual corrections require more computing time than the rest of the calculation, in order
to attain similar integration uncertainties. This is actually good news since, as discussed in
sections 4 and 5, the amount of optimization included in MadLoop is so far very minimal,
and hence we expect to reduce the CPU-time load in a significant way in the near future.
We finally mention a few technical points relevant to phase-space integration. All
contributions to the cross sections are integrated using multi-channel techniques, following
the procedure outlined in ref. . The sums over colours and helicities are performed
explicitly (we point out that both MadFKS and MadLoop are equipped to carry out helicity
sums with Monte Carlo methods, but this was simply not necessary for the processes
considered here). The virtual contributions are integrated in a direct manner, i.e. no
reweighting by the Born matrix elements has been performed. Further process-specific
comments are given in what follows.
me+e > 30 GeV
has been applied to processes b.4, b.5, b.6, c.3, and c.4.
In the case of process c.5, the photon has been isolated with the prescription of
ref. , with parameters
n = 1 ,
Cross section (pb)
123.76 0.05 162.08 0.12
34.78 0.03 41.03 0.07
11.851 0.006 13.71 0.02
25.62 0.01 30.96 0.06
8.195 0.002 8.91 0.01
5072.5 2.9 6146.2 9.8
828.4 0.8 1065.3 1.8
298.8 0.4 300.3 0.6
1007.0 0.1 1170.0 2.4
156.11 0.03 203.0 0.2
54.24 0.02 56.69 0.07
11.557 0.005 22.95 0.07
0.009415 0.000003 0.01159 0.00001
9.459 0.004 15.31 0.03
0.0035131 0.0000004 0.004876 0.000002
0.2906 0.0001 0.4169 0.0003
29.976 0.004 43.92 0.03
11.613 0.002 15.174 0.008
0.07048 0.00004 0.1377 0.0005
0.3428 0.0003 0.4455 0.0003
0.1223 0.0001 0.1501 0.0002
0.2781 0.0001 0.3659 0.0002
0.0988 0.0001 0.1237 0.0001
0.08896 0.00001 0.09869 0.00003
0.16510 0.00009 0.2099 0.0006
1.104 0.002 1.036 0.002
Table 2. Results for total rates, possibly within cuts, at the 7 TeV LHC, obtained with MadFKS
and MadLoop. The errors are due to the statistical uncertainty of Monte Carlo integration. See
the text for details.
and parton-parton or parton-photon distances defined in the h, i plane. The photon
is also required to be hard and central:
In the case of processes a.3, a.4, a.5, and e.7, diagrams with EW vector bosons in the
loops have been removed, which is necessary given that a complex-mass scheme is
presently not implemented (see section 4). These contributions are colour-suppressed.
In the case of processes a.3, a.4, and a.5, diagrams with s-channel W s have been
removed, in order to avoid tt-type resonances. In the narrow width approximation
this is a well-defined procedure, and for consistency we thus set W = 0 for these
In the case of processes a.4, a.5, c.1, c.3, and e.6, we do not apply any cuts on b
quarks, which is possible since mb 6= 0 implies the possibility of integrating down
to zero transverse momenta. This is important, firstly because it allows us to test
the robustness of phase-space integration in a very demanding situation (the b quark
being very light), and secondly in view of the matching of these results with parton
shower Monte Carlos, where it gives the possibility of studying b-flavoured hadrons
also at small transverse momenta.
All the results reported in table 2 can be computed by employing up to two hundreds
machines running simultaneously for two weeks. This running time does not include that
required for actually generating the codes to be run. This latter operation is not parallelized
in the current versions of MadLoop and MadFKS, and one must use one machine per
process.3 For the most complicated among the processes considered in table 2, the running
time of the generation phase amounts to a few hours.
The uncertainties reported in table 2 are of statistical origin. In a fully-numerical
approach as the one adopted here, another source of uncertainty is that associated with
potential numerical instabilities. We shall discuss in section 3.4 the procedure adopted
by MadLoop to treat such instabilities. Here, we limit ourselves to reporting that they
are very rare, and that the corresponding uncertainties are completely negligible w.r.t. the
statistical errors, being at least two orders of magnitude smaller than the latter.
In this section, we describe the techniques we have employed in order to obtain the
oneloop contributions to the results given in section 2. As discussed in the introduction, the
automation of the computation of one-loop amplitudes has been achieved by means of a
computer program that we call MadLoop. The core of the procedure followed by MadLoop
is the Ossola-Papadopoulos-Pittau (OPP) reduction technique. We devote the next section
to summarizing it, and will then describe MadLoop proper in more details.
Before proceeding, it is worth stressing that the very idea of automating virtual
corrections would have been unthinkable without the introduction of procedures for the
computations of loop tensor integrals that are alternative to the traditional ones based on analytic
techniques. Although the latter, by a clever use of tensor-reduction methods , have
helped obtain remarkable results (see e.g. refs. [18, 19] for some recent ones), they do not
constitute an effective starting point for automation, the main drawbacks being the need of
heavy symbolic manipulations, and that of special treatments of unstable decompositions
(in particular, the analytic approach obliges one to guess a priori where numerical
instabilities could occur, before taking actions such as Taylor-expanding small Gram determinants).
With some degree of arbitrariness, we may classify the modern procedures alluded to before
into two classes, that we call Generalized Unitarity (GU)  and Integrand Reduction
(IR) [2, 6, 23]. Both have obtained very significant results: so far, GU- and IR-based efforts
3A minimal amount of parallelization is in fact included in MadLoop, since the contributions of
eqs. (3.28)(3.30) can be run simultaneously see section 3.2.1.
have focused primarily on studies of large-multiplicity final states [7, 24] and of massive
final states [25, 26] respectively. As can be seen from section 3.1, Integrand Reduction is a
procedure independent of the identities of the particles entering in the process (i.e. if they
are fermions or bosons, or if they are massless or massive). It is thus perfectly suited to
our goal of performing computations in the most flexible way, which is the reason why it
has been adopted in MadLoop.
The Ossola-Papadopoulos-Pittau reduction
0 = k1 + k2 + kn .
We consider a diagram with m propagators in the loop; the value of m need not be specified
here, and it suffices to say that it satisfies the constraint 1 m n. It is not restrictive
to assume that the external momenta are in the same order as in figure 1 (since such a
configuration can always be obtained through a relabeling). We denote the loop momentum
in d = 4 2 dimensions by , and decompose it into the sum of a 4-dimensional and of a
(2)-dimensional components, which we denote by and respectively. Hence:
= 0 .
We introduce the partial sums that enter the propagators that form the loop (see figure 1):
(n,1), and C is the contribution
where the sum runs over all Feynman diagrams relevant to AU
of a given Feynman diagram after loop integration. The OPP procedure can be viewed
as a linear operator, and therefore in what follows we shall consider only a given C
hence, the index will be dropped in order to simplify the notation. The quantity C is
in general a tensor in Lorentz and colour spaces. The following arguments are however
independent of the nature of C, which will therefore be understood; this is equivalent to
fixing the Lorentz and colour indices in C, and manipulate the resulting scalar quantity. It
simplifies the present discussion to consider all external momenta as outgoing:
1 i m ;
p0 = pm .
The values of the integers Mi depend on the particular diagram considered (e.g. in figure 1
we have M1 = 1, M2 = 3, M3 = 6), but they must always fulfill the following conditions:
1 Mi < Mi+1 ,
Mm = n
p0 = 0 ,
where the last equality of eq. (3.5) follows from eq. (3.2). The inverses of the loop
propagators in d and four dimensions we denote by D and D respectively. Hence:
0 i m 1 ,
Figure 1. An n-point one-loop diagram with m propagators in the loop. The dark blob represents
a tree structure.
which follows from eq. (3.3), and from the fact that the (2)-dimensional parts of the
external four-vectors are equal to zero, since the t Hooft-Veltman scheme is adopted. Note
that mi is the mass of the particle flowing in the ith propagator, and therefore in general
pi2 6= m2. As is known , the one-loop integral C can be expressed as a cut-constructible
part, i.e. a linear combination of scalar boxes, triangles, bubbles, and tadpoles, plus a (non
cut-constructible) remainder term R, called rational part:
The essence of the OPP method is that of computing C by determining (in a numerical
manner) the set of coefficients and the rational part
and by using the well-known expressions for scalar loop integrals .
which follows from figure 1 and eq. (3.6), and implicitly defines N (). Next, we decompose
the numerator function N into the sum of a four-dimensional part and an extra piece (which
by definition contains all the dependence on and on ; note that there is no dependence on
the (2)-dimensional parts of the external four-vectors in the t Hooft-Veltman scheme):
N () = N () + Ne (, ).
Here, R2 contributes only to the rational part R, while Ccc+R1 is the sum of a
cutconstructible and of a rational term (called R1); we discuss how to disentangle the latter
two in what follows. One starts by showing  that the numerator function N () can
always be cast in the following form:
+ mX1 hb(i0i1) + b(; i0i1)i mY1 Di
+ mX1 ha(i0) + a(; i0)i Y
where the terms proportional to d, c, b and a (called spurious terms) vanish upon
integration. By exploiting the fact that Di = D i 2 (see eq. (3.6)) in eq. (3.15), one obtains the
where we have defined
As the notation suggests, Ncc is identical to eq. (3.15), except for the formal replacements
of all Dis with the corresponding D is (i.e., the four-dimensional denominators by their
d-dimensional counterparts). Equation (3.16) implicitly defines NR1 . From eq. (3.6) we
We can now define the cut-constructible and R1 contributions separately:
N () = Ncc(, 2) + NR1(, 2) ,
Ncc(, 2) = N ()
NR1 (, 0) = 0 .
The rational part R introduced in eq. (3.7) is the sum of R1 and R2, defined in eqs. (3.21)
and (3.14) respectively.
The key point is that the coefficients d, c, b, and a which appear in eq. (3.15) are the
same as those which appear in eq. (3.7), as can be easily seen by inserting eq. (3.15) into
eq. (3.17), and by using the result so obtained in eq. (3.20). This is ultimately the reason
why the OPP procedure is carried out at the integrand level, where the loop momentum
(, ) is just an external and fixed quantity. Thus, eq. (3.15) is the master equation used in
the OPP method for the determination of the coefficients d, c, b, and a, which is achieved
by solving numerically a system of linear equations. The idea is that of computing N ()
for suitable values of , which render the just-mentioned linear system easy to solve. A
pre-condition for this to happen is the fact that the spurious terms can be determined
fully as functions of the external momenta; this has been proved in ref. . At this point,
the easiest way to proceed is that of computing the cut-constructible and R1 contributions
separately. One starts with the former, by setting 2 = 0 and using eq. (3.18). Then, one
determines the two solutions4 of the equations:
Di0 () = Di1 () = Di2 () = Di3 () = 0 ,
for given i0, i1, i2 and i3. Equation (3.15) then becomes
N () = hd(i0i1i2i3) + d(; i0i1i2i3)i
4There are two (complex) momenta owing to the quadratic nature of the propagators.
and one can prove  that the coefficients of the box diagrams are simply given by
We point out that eq. (3.22) is nothing but the application of quadruple unitarity cuts. Once
the solutions for the d coefficients are known thanks to eq. (3.24), the corresponding terms
in eq. (3.15) are moved to the l.h.s. there. The procedure is then iterated by considering
triple, double, and single unitarity cuts in succession, i.e. values of such that three, two,
and one denominators vanish respectively. In exactly the same way one deals with the
computation of R1 . The only difference w.r.t. the case of the cut-constructible part is
that the basis of the scalar loop integrals used in the two cases is not the same (with that
relevant to R1 being almost trivial).
The procedure described above is implemented in the computer program
CutTools  which, being given in input the function N (), the momenta defined in the
partial sums of eq. (3.4), and the masses mi of the corresponding propagators, returns the
numerical values of the cut-constructible part and of R1. Note that by giving to CutTools
the momenta and the masses entering the loop propagators, rather than the numerical
values of the propagators themselves, one is allowed to bypass the problem of
introducing d-dimensional quantities in MadLoop these are completely dealt with internally in
CutTools. As far as R2 is concerned, this quantity is not returned by CutTools. On the
other hand, its computation can be performed by considering tree-level Feynman diagrams,
which get contributions both from the usual rules of the theory under consideration, and
from special R2 functions with up to four external lines (in any renormalizable theory), as
we discuss in section 3.2.2. These special rules can be worked out once and for all from
the Lagrangian of the theory. Both the use of CutTools and the calculation of the R2
contribution for a given one-loop amplitude are controlled by MadLoop, in a way which
we outline in the next section.
Organization of the calculation
The input to MadLoop is a 2 n Standard Model partonic process5
r = (I1, I2, I3, . . . In+2) ,
which can be either user-defined, or generated by a third-party code such as MadFKS;
examples of the two uses are given in appendix A and in section 2 respectively. The main
output of MadLoop is the finite part6 of the quantity:
V (r) =
with A(n,0) and A(n,1) being the tree-level and one-loop amplitudes of the process r, after the
latter has been UV-renormalized. Note that A(n,1) is the same quantity as that in eq. (3.1),
except for the fact that in the latter equation the amplitude was not UV-renormalized, and
that by n we had denoted there the total number of particles entering the process (and
not only those in the final state as we do here). The bar over the sum symbol on the
r.h.s of eq. (3.26) understands the average factors relevant to the colour and spin degrees
of freedom of initial-state particles. The finite part of V is convention dependent and,
unless otherwise specified, we have adopted here the same as in ref. , namely CDR
see appendix A for further discussion on scheme choices. As a by product, MadLoop also
returns the residues of the double and single infrared poles. The complete information
on A(n,1) is available internally in MadLoop (see appendix A.2.7 for a case in which we
have used such an information), and may be given as an additional output if so desired
this is useful e.g. for computing the LO cross section of a loop-induced process, which is
proportional to A(n,1) 2.
Schematically, for a given input process r, MadLoop goes through the following steps.
1. Generates the diagrams relevant to A(n,1)(r). There are two classes of them, one for
2. Constructs the two integrands associated with the diagrams determined in item 1.
The one relevant to the cut-constructible plus R1 contribution is the linear
combination of eq. (3.1) at the integrand level, whose components are in the form of the first
term7 on the r.h.s. of eq. (3.11).
3. For a given 2 n kinematic configuration (user-defined or generated by MadFKS),
applies the OPP reduction to each of the terms of the linear combination determined
in item 2. This is achieved by passing to CutTools the function N () and any other
inputs it needs (see section 3.1), and is done separately for each helicity configuration.
After summing over all diagrams and helicities, one thus obtains the cut-constructible
plus R1 contribution Ccc+R1.
4. For the same kinematic configuration as in item 3, computes the rational part R2
(which is not returned by CutTools), and performs UV renormalization if necessary.
These calculations are also carried out at fixed helicities, which are summed over as
the final step.
5. Performs sanity checks.
Items 1 and 2 only involve symbolic manipulations, and construct the functions whose
numerical evaluations will be performed in items 35. In the case of the computation
of a physical cross section (when MadLoop is called by MadFKS or by an analogous
7Except for the fact that the denominators are the Dis and not the Dis, since MadLoop works in
four dimensions. This is irrelevant, because the numerical values of the denominators as evaluated by
MadLoop are not used in the computation of the loop integrals performed by CutTools.
program), a loop over items 35 is performed, with each iteration of the loop using a
different kinematic configuration.
We give a brief description of the least-trivial aspects of this procedure in sections 3.2.1
and 3.2.2, and summarize the various techniques specifically developed for MadLoop in
section 3.2.3. Some further details can be found in appendix B. For a discussion on the checks
performed by MadLoop, of which those of item 5 above are only a part, see section 3.3.
The current version of MadLoop (and of MadFKS) uses MadGraph v4 . This
implies a few limitations on the use of the code. The new version of MadGraph (v5 )
is now available, and the work to make MadLoop compatible with it has already started.
When completed, this will allow us to remove most of these limitations see sections 4
and 5 for a discussion on this point.
Generation of one-loop amplitudes from tree amplitudes
Given the fact that MadLoop is based on the MadGraph framework, it is clear that the
most economic way of generating one-loop amplitudes is that of exploiting as much as
possible the capabilities of the latter code. These are however limited to constructing
tree-level quantities, and therefore MadLoop must be able to perform some non-trivial
operations on top of those available from MadGraph in order for us to achieve our goal.
We start by observing that any one-loop diagram can be turned into a tree-level diagram
by simply cutting one (and only one) of the propagators entering the loop. It must be
clear that this cut has nothing to do with the cuts performed when computing one-loop
integrals with unitarity methods. Thus, in order to avoid any confusion, we shall call L-cut
the cut we are talking about here. The tree-level diagram obtained by L-cutting a one-loop
diagram will be called L-cut diagram. In an L-cut diagram, there will be two particles
(that we consider as being in the final state by definition) which arise from L-cutting the
chosen propagator in the loop: their identities will be denoted by q and q, and they will
be called L-cut particles. If we consider one-loop corrections to the process in eq. (3.25),
the L-cut diagrams we obtain with the L-cut operation will be a subset of those relevant
to the process:
rLcut = (I1, I2, q, q, I3, . . . In+2) .
This discussion suggests to define a procedure which is the inverse of L-cutting. Namely, for
a given 2 n process such as that in eq. (3.25), we consider all possible L-cut processes of
the kind of that in eq. (3.27), use MadGraph to construct the corresponding amplitudes,
and sew together the two L-cut particles. In this way, we achieve the construction of
one-loop diagrams without actually having to start from one-loop topologies, as done for
example by FeynArts . This idea is also at the basis of the one-loop computations
performed by HELAC-1Loop (see ref. ).
This construction of one-loop amplitudes by sewing tree-level ones poses several
problems. Firstly, we have to define a minimal set of L-cut processes so as not to miss any
contributions to the one-loop amplitude we are seeking to construct. Secondly, for a given
L-cut process, when sewing together the L-cut particles we shall obtain one-loop diagrams
with an incorrect multiplicity: one particular diagram may appear more times than
prescribed by perturbation theory. We have therefore to discard the one-loop diagrams in
excess after sewing. We call this operation diagram filtering. Finally, after filtering the
amplitudes for the L-cut diagrams we are left with are constructed. However, these
amplitudes will not coincide with the corresponding one-loop amplitudes, because of the special
roles played by the L-cut particles. These are associated with external wave functions in
Lcut diagrams, and with an internal propagator in one-loop diagrams (therefore, technically
the sewing operation corresponds to removing the wave functions of the L-cut particles, and
to replacing them with a suitable propagator). MadGraph must therefore be instructed
to treat L-cut particles in a special way this includes the fact that such particles are
off-shell and carry complex momenta.
It is easy to convince oneself that when computing QCD corrections the L-cut processes
one needs to consider correspond to the following choices of the L-cut particles:
(q, q) = (g, g)
= (u, u); (d, d); . . . (Q, Q)
Here, Q denotes the heaviest flavour one wants to circulate in the loop (in physical
applications, Q is typically either a bottom or a top quark).
Diagram filtering is performed in the following way. We start from observing that any
L-cut diagram can be depicted as in figure 2. There, Ti denotes a tree-level structure.8
The particles whose propagators enter in the loop have been denoted by pj, to make the
distinction clear from those that contribute to the tree-level structures Ti; the notation
is also consistent with that used for the L-cut particles. MadLoop starts from obtaining
the necessary information on Ti and pj from MadGraph (such as particle identities and
four momenta); this is done for each L-cut diagram. In this way, each diagram has an
unambiguous representation (its identity), internal to MadLoop, that we can for example
identify with the string
q T1 p1 T2 p2 T3 p3 T4 q
for the case of figure 2. As we shall explain in appendix B.1, when writing diagram
identities one need not distinguish between fermions and antifermions in the case of particles
circulating in the loop, and hence no overlines appear in eq. (3.31) or its analogues (despite
the fact that one of the two L-cut particles has been correctly denoted by q on the l.h.s. of
eq. (3.28)). At the end of the day, MadLoop will loop over all L-cut diagrams, checking
their identities. If a diagram identity has not been previously found, the diagram is kept,
otherwise it is discarded (i.e., it is filtered out). It must be stressed that two diagram
identities must be considered equivalent if they are identical up to a cyclic permutation,
or to mirror symmetry, or to a cyclic permutation plus mirror symmetry; however, mirror
symmetry must not be considered in the cases of loops that contain only fermions or only
ghosts, when one only checks equivalence under cyclic permutations. This is because two
Lcut diagrams that differ by a cyclic permutation correspond to the same one-loop diagram
which was L-cut in two different propagators (see appendix B.1 for more details). For
example, a cyclic permutation equivalent to eq. (3.31) could read:
Likewise, two L-cut diagrams that differ by mirror symmetry correspond to the same
oneloop diagram with the loop momentum flowing in opposite directions. The identity of the
L-cut diagram obtained by mirror symmetry acting on eq. (3.31) reads:
p1 T2 p2 T3 p3 T4 q T1 p1 .
q T4 p3 T3 p2 T2 p1 T1 q .
Equivalence under cyclic permutations and mirror symmetry can be used as a powerful
self-consistency check by MadLoop see section 3.3.
R2 contribution and UV renormalization
As it was discussed in section 3.1, MadLoop computes by calling CutTools the
cutconstructible part of, and the R1 contribution to, the one-loop amplitude A(n,1)(r) that
appears in eq. (3.26) (item 3 of the list in section 3.2). Therefore, in order to obtain the
full V (r), we still need to include the R2 contribution, and the UV renormalization (item 4
of the list in section 3.2). The key observation here is that, thanks to the fact that the R2
part can be seen as arising from a set of finite counterterms, its automated computation
proceeds through the same steps as UV renormalization.
In essence, both the R2 and UV-renormalization contributions to V (r) can be cast in
the following form:
X = R2 , UV ,
that is, an interference between the Born amplitude, A(n,0)(r), and another tree-level
amplitude, A(n,R2)(r) or A(n,UV)(r). The latter are the amplitudes of the 2 n process r,
constructed with the standard Feynman rules, plus the rules relevant to either the R2 or
the UV-renormalization contributions, with the condition that the amplitude be exactly
one order in S higher than the Born-level one. The R2 rules are obtained by explicit
loop calculations, and can be cast in the form of n-point functions, with 2 n 4 (see
ref. ). As far as UV renormalization is concerned, the additional rules are simply read
off the one-loop UV counterterms of QCD. The consequence of these facts, together with
the condition on the power of S that must appear in the amplitudes, is that A(n,R2)(r)
and A(n,UV)(r) are constructed using the standard vertices and propagators, plus one and
only one R2 or UV-renormalization n-point function. It is clear, therefore, that in order
to compute the quantities in eq. (3.34) we can exploit the ability of MadGraph to
construct tree amplitudes, and the functionalities of MadLoop to calculate interference terms,
which we already employ when computing the cut-constructible and R1 contributions to
eq. (3.26). Note that the above procedure to compute eq. (3.34) should be applied to
truncated one-loop amplitudes. When generating tree-level diagrams with MadGraph, we also
get the contributions due to two-point functions on external legs, which are discarded. As
is known, wave-function renormalization must be carried out through the multiplication of
the Z factors, which we effectively do according to eqs. (B.7) and (B.8). The R2
contributions to the Z factors are already included in eqs. (B.7) and (B.8), and hence their explicit
computations are not necessary in this case.
The procedure outlined above is fully general. In what follows, we mention briefly
a few technical details related to its current implementation in MadLoop, and its being
based on MadGraph v4.
In order to compute the R2 contribution, we have implemented new HELAS routines,
that correspond to the necessary R2 n-point functions.9 We have restricted ourselves to the
functions relevant to the Standard Model (with a few limitations, see section 4), in keeping
with the scope of the present work. The condition on the presence of one R2 function in
A(n,R2)(r) is conveniently rephrased in the MadGraph language by associating to each R2
function one power of a new coupling (whose numerical value is equal to one), which does
not appear in regular functions, and by requiring the full amplitude to have exactly one
power of such coupling.
As discussed before, the automation of UV renormalization may be achieved in exactly
the same way as done for the R2 contribution. In practice, the cases we consider in this
paper allow us to make some further simplifications. Before going into that, let us mention
that we automated the UV renormalization of the Standard Model, using a scheme which
subtracts the massless modes according to MS, and the massive ones at zero momentum.
The few relevant counterterms have been typed in once and for all, as done for the R2
functions; their explicit forms are reported in appendix B.2. As can be seen there, all
UV counterterms except the one relevant to mass renormalization give contributions
pro9This entails writing these routines by hand once and for all for a given theory. It is not difficult to
devise a procedure to automate this writing. See section 5 for a discussion on this point.
portional to the Born amplitude squared (we have assumed that all contributions to such
an amplitude factorize the same powers of S and . See section 4 for further comments
on this point). We then gather from MadGraph the information on the power of S, on
the number of Yukawa vertices with massless and massive particles, and on the identities
of the external particles; these will serve for (QCD) charge, Yukawa, and wave-function
A simple observation allows one to solve the problem of mass renormalization, which
is a procedure that does not factorize the Born. It turns out that the structure of the UV
counterterm due to mass insertion (eq. (B.9)) is basically identical to that of the two-point
R2 functions that originate from bubble diagrams (in the HELAS language, they both
correspond to attaching an extra term a fermion propagator times a pre-factor to the
propagator present in the HELAS routines that give an off-shell fermion current; this is a
work-around due to the absence of two-point vertices in MadGraph v4). Hence, we simply
define an R2-plus-UV function, and therefore we piggyback UV mass renormalization on
the computation of the R2 contribution.
Summary of MadLoop features
We list here the features that required substantial writing of computer code, either in
MadLoop proper, or in one of the modules that MadLoop uses.
The generation of loop diagrams in a way that exploits as much as possible the
capabilities of MadGraph (through L-cut-diagram construction and subsequent filtering).
The computation of the resulting one-loop amplitude, in a form suited to being given
in input to CutTools. This implies, in particular, the removal of the denominators
of the propagators of loop particles, and the reconstruction of the propagator of the
sewed L-cut particles.
The algorithm that allows MadGraph to deal with two processes simultaneously (the
L-cut and Born ones), in order to compute their interference, including the relevant
colour algebra (in all cases except one-loop computations, MadGraph needs to treat
one process at a time, since only an amplitude squared is relevant).
The possibility of using complex four-momenta (that circulate in the loops).
The implementation of ghosts.
The implementation of special R2 functions and of UV counterterms, and the
computation of the amplitudes relevant to the R2 and UV-renormalization contributions,
which use the former functions.
In general, we have strived to make MadLoop a black box for MadFKS (or an
equivalent calling program) the only talk-to is in the form dictated by the Binoth-Les Houches
accord . Likewise, CutTools is a black box for MadLoop, so any future upgrades of
the former code (with the condition that its inputs be those introduced in section 3.1)
will be compatible with the latter. On the other hand, MadLoop needs information from
and MCFM is smaller than 105. For yet larger top masses numerical instabilities in
MadLoop render it impossible to reach such level of precision. These instabilities are due
to large cancellations between the R2 and the cut-constructible-plus-R1 contributions. For
a sensible computation of their sum one would need to obtain these two contributions with
an accuracy beyond double precision.
For the process dg( W ) eeug, figure 4(b), the situation is similar. At
mtop = 600 GeV, the relative difference between MadLoop and MCFM is of the order
of 107. For larger masses, MadLoop displays the same numerical instabilities as those
We conclude this section by pointing out that the results presented here do not allow
one to assess the impact of terms of order 1/mt4op and higher on observable cross sections.
In fact, although for the physical value of the top mass these terms seem generally to
have a small effect (O(1%)), they do depend on the partonic channel and the kinematic
configuration chosen. A firm conclusion can thus be reached only through a comparison at
the level of integrated cross sections.
The process ug( Z/) ee+ug
The virtual corrections to this process can be inferred from those relevant to e+e 4
partons that have been first calculated by Bern, Dixon and Kosower (BDK) . Here
we compare the MadLoop results against the implementation of the crossings of the BDK
amplitudes in MCFM , where they contribute to the pp Z/ + 2j cross section.
We start by restricting ourselves to testing the pure vector coupling, and hence we can
switch off completely the Z-boson exchange contributions in both MadLoop and MCFM.
We point out that the same remark on the mtop-dependence of the BDK amplitudes applies
here as in section A.2.4.
For the present comparison we use the same input parameters as in sections A.2.3
and A.2.4, and choose the following kinematic configuration:
pu = (79.343740010234328, 0, 0, 79.343740010234328)
pg = (330.04970916921303, 0, 0, -330.04970916921303)
pe = (44.502332440251230, -9.0128674723142481, 20.893959782906148, -38.244846151337029)
pe+ = (173.55124786955787, -83.712846866171589, -85.405837095621621, -125.76978133334636)
pu = (142.62173792637984, 51.789721902948564, 71.086870231086095, -112.27395831226823)
pg = (48.718130943258451, 40.935992435537273, -6.5749929183706302, 25.582616637972905)
The results are presented in figure 5 as a function of mtop. Figure 5(b) shows the
contribution to the finite part c0 due only to the closed fermion loops attached to the photon (up
to the interference with the Born, this contribution is called Av6;4 in ref. ). Figure 5(a)
shows all the other contributions to c0. The MadLoop and MCFM results in figure 5(a)
are seen to be in excellent agreement for large top quark masses (at mtop = 500 GeV there
is a relative difference of order 107).
The situation of figure 5(b) is different, since the MadLoop and MCFM results are
in clear disagreement. The contribution to c0 considered here is due to six box diagrams,
whose sum is gauge invariant. Moreover, it is a finite contribution, so it does not require UV
counterterms (nor terms to switch from the t Hooft-Veltman scheme to the DR scheme).
We have checked that for mtop the ratio between MadLoop and MCFM is not
an overall constant, but depends on the kinematic configuration chosen. We have also
checked that in such a decoupling limit the MadLoop result agrees with the one that we
obtain by running MadLoop with five massless flavours only. Furthermore, in the limit
mtop 0 the MadLoop result coincides with that obtained by running MadLoop with six
massless flavours. These tests clearly suggest that the box contribution is either wrongly
implemented in MCFM, or has been wrongly extracted from MCFM by us.
We have also carried out the analogue of the comparison shown in figure 5(b), by
considering the axial (for a Z exchange) rather than the vector coupling. We have found
the same pattern as for the vector coupling, namely a disagreement with MCFM.24 In
order to confirm that there is no problem with the computation of these box diagrams in
MadLoop, we have checked them against a different implementation of the BDK amplitudes
see section A.2.6.
24Triggered by the present results, John Campbell and Keith Ellis have reconsidered the implementation
of BDK amplitudes in MCFM, and found mistakes in both the vector and axial parts.
As anticipated in section A.2.5, we compare here the MadLoop results for the BDK box
and triangle diagrams  (with the latter contributing only to the axial part), with that
of their implementation in the program MENLO PARC [52, 53]. We do so by considering
the process e+e ddgg. We remind the reader that the BDK amplitudes retain the
top-mass dependence in the loops only up to terms of order 1/mt2op.
For our comparisons we use = mZ = 91.187 and S = 0.118. Furthermore, we set the
coupling constants of the photon to the fermions (both quarks and leptons) equal to one.
For the Z boson couplings to fermions, we adopt a pure axial coupling, with magnitude
1 for leptons and up-type quarks, and 1 for down-type quarks. We choose the following
pe+ = (45.5935, 0, 0, 45.5935)
pe = (45.5935, 0, 0, -45.5935)
pd = (30.844322198071779, -19.016873847975504, 2.6503380947327226, 24.139312933309792)
pd = (11.409429861138499, -1.5750381678441148, -9.8113210223060605, 5.6064538099701196)
pg = (21.321201379655506, 12.486676226087143, -12.407109827066350, -12.030800922457644)
pg = (27.612046561134214, 8.1052357897324754, 19.568092754639686, -17.714965820822268)
and present the result in the t Hooft-Veltman scheme.
We start by considering the intermediate (off-shell) photon case. In such a way we
test only the vectorial couplings and we need only include the six boxes in MadLoop,
which correspond to the Av6;4 term of ref. . In the program MENLO PARC, Av6;4 can
be easily computed by setting the color part parameter equal to vect. As can be seen
from figure 5(b), this term is independent of the top mass. Thus, in order to compare
it to the prediction of MadLoop, we can either consider the decoupling limit, or exclude
the top-quark contribution to the loops; we adopt the latter option here.25 We find an
(closed fermion loops)
Refs. [52, 53]
We next consider the case of a purely-axial intermediate Z boson. This corresponds
to the A6a;x4 and A6a;x5 terms of ref. , which can be obtained from MENLO PARC by
setting the parameter color part equal to axal. The results are presented in figure 6 as a
function of the top mass, for the same kinematic configuration as was used above. As in the
case of the purely vector couplings, we find excellent agreement between the two results.
In particular, for large mtop the relative difference between MadLoop and MENLO PARK
is of the order of 104. When mtop = O(1 TeV) numerical instabilities in MadLoop spoil
the accuracy of the comparison; as in previous cases, these instabilities are due to large
cancellations between the cut-constructible-plus-R1 and R2 contributions. For mtop 0,
the BDK amplitudes diverge (due to the fact that terms are kept only up to 1/mt2op), while
25We have also computed the decoupling limit, and found a perfectly regular numerical behaviour.
MadLoop reproduces the correct result. This is equal to zero, since in this limit the bottom
and top quark loop contributions exactly cancel each other.
We have explicitly checked that MadLoop is self-consistent, and consistent with the
results given in section A.2.5, by crossing the antiquark and one of the gluons to the initial
state, and the e+e pair to the final state.
The gg Zg one-loop amplitude squared
As a final check on the computations of closed fermion loop diagrams with one external
EW boson leg, we consider the process gg Zg, whose amplitude was first computed
by Van der Bij and Glover in ref. .26 At variance with the cases discussed in
section A.2.5 and A.2.6, this process does not have a Born-level contribution. So we shall
not compute here the quantity V defined in eq. (3.26), but rather the one-loop amplitude
squared ( A(n,1) 2), summed/averaged over spins and colours.27 This implies that for the
present case we had to hack the MadLoop code, in order for it to compute the square of
an amplitude rather than the interference of two amplitudes. As far as the computation
of ref.  is concerned, the helicity amplitudes presented in appendix B of that paper
are typed in Mathematica, which is then used to perform all subsequent analytical and
numerical manipulations, and to obtain the results denoted by ref.  in what follows.
We stress that the results of ref.  are given for one quark flavour circulating in the loop.
We use the following input parameters:
26The results also agree with an independent calculation by F. Tramontano.
27We also point out that in the present case the Z is on-shell, while the intermediate vector bosons were
off-shell in the cases discussed in section A.2.5 and A.2.6.
We choose a kinematic configuration such that the Mandelstam variables are t = u =
23 MZ2 , as defined in ref. . This can be obtained using e.g. the following four-momenta:
p1 =( 91.188
pgf =( 68.391
Note that s = 2MZ , and hence we have adopted a value of mtop that is not effectively
close to the decoupling limit this is useful lest we have to deal with very small amplitude
values. In any case, the dependence on mtop has been studied as well, as can be seen in
figure 7. The axial and the vector coupling lead to amplitudes separately gauge
independent, which do not interfere (simply because of the symmetry and antisymmetry of their
colour factors respectively); we thus check them independently. We start here with the
vector coupling, for which we can limit ourselves to considering only the top quark running
in the loop, since the corresponing amplitude is not anomalous. The resulting Feynman
diagrams are then six (finite) massive fermion-loop boxes. We obtain:
gg Zg vector
We have also computed these results by varying mtop. The comparison between MadLoop
and ref.  is presented in figure 7. The thresholds at mtop/mZ = 0.5 and mtop/mZ = 1
can be easily understood in terms of the optical theorem.
When one considers the axial couplings of the Z boson, there is an anomalous
contribution independent of the mass of the fermion that circulates in the loop. The most
straightforward way to circumvent the problem of the anomaly is that of considering both
the top and the bottom quarks as loop particles. The bottom mass is kept fixed and
equal to 20 GeV. We cannot set mb = 0 since the computation of ref.  is performed
assuming non-zero quark masses. On the MadLoop side, we have studied the bottom-mass
dependence, and found no peculiar numerical behaviours. We have chosen mb = 20 GeV
when presenting our results in order to be able to explore both regions mtop mb and
mtop mb (see figure 8). By setting mtop = 80 GeV we obtain:
gg Zg axial
Analogously to what was done in figure 7, we present in figure 8 the results for the axial
part as a function of mtop. In the decoupling limit mtop , we are left with the
nonanomalous part of the contribution due to the bottom quark. As is expected, the
contributions due to top and bottom quarks exactly cancel each other when mtop = mb. We have
also checked that this is the case for various value of mb (including the large-mass limit).
We conclude this section by mentioning that we have checked all possible gluon
crossings of the process considered in this section. As for all other cases in which gluons appear,
gauge independence (eq. (3.38)) is automatically checked.
The process ug tbd (four-flavour t-channel single-top production)
The t-channel single-top process in the four-flavour scheme is an interesting case from the
point of view of NLO computations [55, 56]. Even though it is a 2 3 process at the
Born level, the colour-singlet exchange of the W -boson in the t channel disconnects NLO
corrections to the light and heavy quark lines, essentially removing all pentagon diagrams.
The complexity here arises then from the fact that both the top and the bottom quarks
have to be treated as massive.
In order to generate this process with MadLoop, a minimal amount of manual work is
required. This is due to the fact that in the present version of the code the possibility is only
given to specify the initial and final states, but not intermediate particles. Therefore, when
entering ug tbd as an input to MadLoop we also obtain the s-channel contributions,
which we eventually set equal to zero by hand. We use the following input parameters:
and a diagonal CKM matrix. The kinematic configuration is:
pu = (250, 0, 0, 250)
pg = (250, 0, 0, -250)
pt = (255.3729192644455, 29.17335589243201, 159.7715722928748, -91.96084974966891)
pb = (177.5248259329844, -66.11648748945143, -111.8173550700313, 120.9144450003231)
pd = (67.10225480257022, 36.94313159701945, -47.95421722284348, -28.95359525065417)
and we present the result in the t Hooft-Veltman scheme. We compare the results obtained
by MadLoop with the virtual corrections computed in ref.  and implemented in MCFM.
We find excellent agreement:
This process has been computed very recently28 by Badger, Campbell and Ellis and
implemented in MCFM . Even though this part of the MCFM code is still private (but
28The older computation by Cordero, Reina and Wackeroth in ref.  does not include spin correlations,
i.e. the W is produced unpolarized and on-shell.
will be made public soon), John Campbell kindly provided us with a phase-space point to
check against MadLoop. We have used the following input parameters:
and the kinematic configuration:
pu = (105.1910162427912, 0, 0, 105.1910162427912)
pd = (1315.106152715695, 0, 0, -1315.106152715695)
pe = (552.4486825382789, 159.0272780479767, 133.6457759793429, -511.9069038778545)
pe+ = (148.3926012456811, 43.98296570595704, -5.568920346765623, -141.6151473478021)
pb = (348.0072091647683, 68.78221202106434, 5.036723885587666, -341.0737632135319)
pb = (371.4486760097574, -271.7924557749981, -133.1135795181650, -215.3193220337149)
The finite part is given in the DR scheme. The b quark mass is set equal to zero in closed
fermion loops as well as for S renormalization (while the exact top-quark-mass dependence
is kept everywhere). We obtain:
The residues of the double and single poles have been checked against those returned by
MadFKS, and perfect agreement has been found.
Processes with two vector bosons
The process dd W +W ee+ee
This process, that contributes to the NLO corrections to fully-decayed W +W production
(i.e, all spin correlations are included), has been implemented in MCFM , using the
virtual amplitudes calculated in ref. . The computation of ref.  includes the
singlyresonant contributions where an off-shell photon or Z boson decays into a pair of W
bosons. However, it does not include diagrams in which the off-shell photon or Z boson
decays to leptons and one of the leptons radiates a W boson. This latter contribution
is however kinematically highly suppressed w.r.t. the others, and its neglect is a very
good approximation for most physics applications. Such a contribution is included in the
MadLoop result, but in order not to consider it and be consistent with ref.  we simply
set the couplings of photons and Z bosons to leptons equal to zero.
We have used the following input parameters:
and kinematic configuration:
pd = (39.534683750772302, 0, 0, 39.534683750772302)
pd = (546.24075297747743, 0, 0, -546.24075297747743)
pe = (188.27600670927578, 3.8276243346653374, -38.361733789650529, -184.28668257634874)
pe+ = (295.10612392593191, 49.617890129404948, 30.642119343108476, -289.28662236587513)
pe = (41.828055877825669, -7.1022701637404531, -30.841911801229820, -27.348135100677510)
pe = (60.565250215216373, -46.343244300329829, 38.561526247771873, -5.7846291838037445)
The finite part is given in the DR scheme. We obtain:
MCFM [44, 59]
The residues of the double and single poles have been checked against those returned by
MadFKS, and perfect agreement has been found.
W -boson pair plus b-quark pair production is among the different results presented in
ref.  by A. van Hameren et al.. The comparisons performed in this section constitute
therefore a check of the implementation of the CutTools software in a framework different
from that of HELAC-1Loop  (see section A.1.5 and A.1.6 for a similar comparison).
The following set of parameters is used:
The CKM matrix is diagonal and the Higgs channel (i.e., diagrams that contain the decay
H W +W ) is not included.29 We have chosen the following kinematic configuration:
with p1 and p2 the momenta of the initial-state partons coming from the left (u or g)
and from the right (u or g) respectively. The finite part is given in the t Hooft-Veltman
scheme. For consistency with ref. , no UV counterterms are included except the one
relevant to top-mass renormalization. We obtain:
uu W +W bb
gg W +W bb
The Z-boson decay width is not specified in ref. , and this is most likely the reason for
which we find a relative difference of O(106) between MadLoop and ref. .30 Since the
agreement is however already quite satisfactory, we have refrained from investigating this
As a final remark it should be noted that this process is not yet suitable for full
phasespace integration with MadLoop. Due to possible intermediate top quarks, which can go
on-shell, the top width should be taken into account. To do this in a gauge-independent
and consistent way, a scheme such as e.g. the complex-mass one needs to be implemented.31
For a discussion on this point, see sections 4 and 5.
29MadLoop can easily compute this contribution, but it is very small and anyhow not included in the
computation performed by Van Hameren et al..
30We point out, in fact, that the two results for the residue of the double pole can be made to coincide
by multiplying the MadLoop results by BornHELAC/BornMadLoop.
31Using the complex-mass scheme, the phase-space integration for the process pp W +W bb at the
NLO has recently been performed by two groups [18, 26].
Processes with a single Higgs boson
The process bg Hb
The process of SM Higgs boson production in association with a bottom quark was
computed by Campbell et al. in ref. . The corresponding computer code is publicly available
in the MCFM package. In our comparison, we use the following input parameters:
with mb() being used for the calculation of the Yukawa coupling. We adopt the following
pb = (250, 0, 0, 250)
pg = (250, 0, 0, -250)
pH = (264.4, -83.84841332241601, -86.85350630148753, -202.3197272300720)
pb = (235.6, 83.84841332241599, 86.85350630148751, 202.3197272300720)
The finite part is given in the t Hooft-Veltman scheme. We obtain:
The process gb Ht
Charged-Higgs boson production in association with a top quark was first calculated in
ref. . Recently, the computation has been redone in two independent ways in the
context of the implementation of this process in the MC@NLO framework [62, 63] for a
generic 2HDM model. We use the latter result in our comparisons. We adopt the following
with a and b the coefficients entering the Htb vertex according to the conventions of ref. :
with a diagonal CKM matrix. We point out that the R2 SM vertices are sufficient for the
computation of this process. We have chosen the following kinematic configuration:
pg = (200, 0, 0, 200)
pb = (200, 0, 0, -200)
pH = (180.0243875, -120.4281794945461, -1.755237425897029, 59.18405883308687)
pt = (219.9756125, -120.4281794945461, -1.755237425897029, 59.18405883308687)
The finite part is given in the t Hooft-Veltman scheme. We obtain:
The residues of the double and single poles have been checked against those returned by
MadFKS, and perfect agreement has been found.
The processes uu ttH and gg ttH
Two groups have calculated these two subprocesses that contribute to ttH hadroproduction
at the NLO in QCD see refs. [64, 65] and refs. [66, 67]. However, their codes are not
publicly available. We therefore compare MadLoop results with those obtained with the
HELAC-1Loop code . We use the following input parameters:
with the running mass of the top entering the Yukawa coupling set equal to the pole mass.
We have chosen the following kinematic configuration:
pu,g = (250, 0, 0, 250)
pu,g = (250, 0, 0, -250)
pH = (181.47665951104506, 20.889486679044587, -50.105625289561424, 14.002628607367491)
pt = (182.16751255202476, -36.023358488530903, 22.118891298530357, -40.091332234320859)
pt = (136.35582793693018, 15.133871809486299, 27.986733991031045, 26.088703626953386)
The finite part is given in the t Hooft-Veltman scheme. We obtain:
We point out that it is likely that the agreement between the two codes could be further
improved, since we are aware of differences beyond single-precision accuracy between the
input parameters used in the two codes.
MadLoop technical details
B.1 Example of filtering of loop diagrams
In this appendix, we illustrate a simple example of the procedure implemented in MadLoop
for the generation of one-loop diagrams through L-cut diagrams. We work in QCD with
one light flavour, which we identify with the u quark, and consider the process
As discussed in section 3.2.1, the associated L-cut processes are:
e+e uu .
e+e gguu ,
e+e uuuu ,
since ghosts do not contribute. The L-cut diagrams are shown in figure 9, and the
corresponding diagram identities are reported in tables 3 and 4. These diagram
identities are constructed in the following way. Firstly, the L-cut particles q and q (with
(q, q) = (g, g) and (q, q) = (u, u) for eqs. (B.2) and (B.3) respectively) are assigned
momenta equal to and respectively. This implies that the loop momentum flows
from particles q to particle q. Secondly, for any given L-cut diagram, one starts from
particle q and, by following the loop flow backwards, writes down either the identity of a
loop particle, or a symbol T associated unambiguously with a tree structure attached to
the loop. The diagram identity is completed when particle q is encountered. As already
anticipated in section 3.2.1, it is not necessary to keep track of whether a loop particle
is a fermion or an antifermion when defining diagram identities. In fact, this distinction
is meaningless if a fermion is not attached to an external fermion line (i.e., in the case
of a closed fermion loop), since in such a case it depends solely on the orientation of the
loop momentum, which is easier to keep track of than the fermion/antifermion identity.
This observation obviously applies to the case of ghost loops as well. On the other hand,
when a fermion in the loop is attached to an external fermion line, the information on its
particle/antiparticle identity is implicitly included in that relevant to the tree structure T
to which the external fermion belongs.32 The difference between these two situations is the
reason why in the case of a purely-fermion (or ghost) loop one must not consider as being
equivalent two diagrams whose identities are equal up to mirror symmetry such two
diagrams differ by the orientation of the loop momentum, and for fermion or ghost loops
both orientations must be considered.33 Finally, as described in section 3.2.1, diagrams
are filtered out according to the properties of their identities under cyclic permutation and
(possibly) mirror symmetry. It is not difficult to see that this procedure allows one to
associate symmetry factors with loop diagrams as customary in QCD they are all equal
to one, except in the case of a gluon bubble, where such factor is equal to one-half. This
renders it trivial to take them into account in MadLoop.
By following the general rules outlined above, the reader can work out the diagram
identities reported in table 3 (table 4) using the diagrams depicted in the left (right) panel
of figure 9. By doing so, one is naturally led to introduce the tree structures reported in
table 5. When filtering, we (arbitrarily) begin from diagram #1 of the process in eq. (B.2),
moving eventually on to diagrams associated with the process in eq. (B.3). A diagram
is kept or filtered out as indicated in the last columns of tables 3 and 4. All bubbles on
external lines and tadpoles are discarded by definition. Diagram g.3 is identical to diagram
g.1 up to mirror symmetry, while diagrams q.1 and q.3 are identical to diagram g.1 up to
cyclic permutations. Diagram q.6 is identical to diagram q.5 up to a cyclic permutation.
Diagram q.5 represents a closed fermion bubble on an internal line; it must be taken into
account, but its contribution is equal to zero being proportional to the trace of a single
Gell-Mann matrix. We are thus left out with one triangle loop diagram (arising from sewing
diagram g.1) that contributes to the one-loop corrections to eq. (B.1), which is of course
the well-known result.
32It may not be trivial to exploit efficiently this information in the presence of four-fermion effective
vertices. For theories with such vertices, it may in fact be convenient to keep track of the fermion/antifermion
identities in the loop. We defer the discussion of this point to a future work.
33This seems to imply that one would keep both orientations of a closed-fermion or ghost bubble. This
is not the case, since the two corresponding L-cut diagrams are identical up to a cyclic permutation.
UV renormalization counterterms
If the Born cross section is of order bS, the contribution to eq. (3.34) due to strong-coupling
where the sum in the third term on the r.h.s. runs over all heavy flavours that circulate in
the loops. The contribution due to the renormalization of the Yukawa couplings reads:
X , (B.6)
with nyuk,l and nyuk,h the number of Yukawa vertices with massless and massive particles
respectively. Colour singlets and massless colour triplets do not require any wave-function
renormalization. The gluon wave function is renormalized only if there are massive colour
triplets fermions running in the loop. Denoting by ng the number of external gluons at
Born level, the contribution to eq. (3.34) due to gluon wave-function renormalization reads:
The wave-function renormalization of the external massive quarks (denoted exthf ) gives
the following contribution:
VeUxtVhf = A(n,0) 2 gS2NCF
Finally, for carrying out mass renormalization for a quark line with momentum k, mass m,
and colour indices i and j, one uses the mass insertion given by the following equation:
Open Access. This article is distributed under the terms of the Creative Commons
Attribution Noncommercial License which permits any noncommercial use, distribution,
and reproduction in any medium, provided the original author(s) and source are credited.