nnlojet is hosted by Hepforge, IPPP Durham
nnlojet is hosted by Hepforge, IPPP Durham

NNLOJET manual

\(\newcommand{\footnotename}{footnote}\) \(\def \LWRfootnote {1}\) \(\newcommand {\footnote }[2][\LWRfootnote ]{{}^{\mathrm {#1}}}\) \(\newcommand {\footnotemark }[1][\LWRfootnote ]{{}^{\mathrm {#1}}}\) \(\let \LWRorighspace \hspace \) \(\renewcommand {\hspace }{\ifstar \LWRorighspace \LWRorighspace }\) \(\newcommand {\TextOrMath }[2]{#2}\) \(\newcommand {\mathnormal }[1]{{#1}}\) \(\newcommand \ensuremath [1]{#1}\) \(\newcommand {\LWRframebox }[2][]{\fbox {#2}} \newcommand {\framebox }[1][]{\LWRframebox } \) \(\newcommand {\setlength }[2]{}\) \(\newcommand {\addtolength }[2]{}\) \(\newcommand {\setcounter }[2]{}\) \(\newcommand {\addtocounter }[2]{}\) \(\newcommand {\arabic }[1]{}\) \(\newcommand {\number }[1]{}\) \(\newcommand {\noalign }[1]{\text {#1}\notag \\}\) \(\newcommand {\cline }[1]{}\) \(\newcommand {\directlua }[1]{\text {(directlua)}}\) \(\newcommand {\luatexdirectlua }[1]{\text {(directlua)}}\) \(\newcommand {\protect }{}\) \(\def \LWRabsorbnumber #1 {}\) \(\def \LWRabsorbquotenumber "#1 {}\) \(\newcommand {\LWRabsorboption }[1][]{}\) \(\newcommand {\LWRabsorbtwooptions }[1][]{\LWRabsorboption }\) \(\def \mathchar {\ifnextchar "\LWRabsorbquotenumber \LWRabsorbnumber }\) \(\def \mathcode #1={\mathchar }\) \(\let \delcode \mathcode \) \(\let \delimiter \mathchar \) \(\def \oe {\unicode {x0153}}\) \(\def \OE {\unicode {x0152}}\) \(\def \ae {\unicode {x00E6}}\) \(\def \AE {\unicode {x00C6}}\) \(\def \aa {\unicode {x00E5}}\) \(\def \AA {\unicode {x00C5}}\) \(\def \o {\unicode {x00F8}}\) \(\def \O {\unicode {x00D8}}\) \(\def \l {\unicode {x0142}}\) \(\def \L {\unicode {x0141}}\) \(\def \ss {\unicode {x00DF}}\) \(\def \SS {\unicode {x1E9E}}\) \(\def \dag {\unicode {x2020}}\) \(\def \ddag {\unicode {x2021}}\) \(\def \P {\unicode {x00B6}}\) \(\def \copyright {\unicode {x00A9}}\) \(\def \pounds {\unicode {x00A3}}\) \(\let \LWRref \ref \) \(\renewcommand {\ref }{\ifstar \LWRref \LWRref }\) \( \newcommand {\multicolumn }[3]{#3}\) \(\require {textcomp}\) \(\newcommand {\intertext }[1]{\text {#1}\notag \\}\) \(\let \Hat \hat \) \(\let \Check \check \) \(\let \Tilde \tilde \) \(\let \Acute \acute \) \(\let \Grave \grave \) \(\let \Dot \dot \) \(\let \Ddot \ddot \) \(\let \Breve \breve \) \(\let \Bar \bar \) \(\let \Vec \vec \) \(\newcommand {\LWRsubmultirow }[2][]{#2}\) \(\newcommand {\LWRmultirow }[2][]{\LWRsubmultirow }\) \(\newcommand {\multirow }[2][]{\LWRmultirow }\) \(\newcommand {\mrowcell }{}\) \(\newcommand {\mcolrowcell }{}\) \(\newcommand {\STneed }[1]{}\) \(\newcommand {\toprule }[1][]{\hline }\) \(\let \midrule \toprule \) \(\let \bottomrule \toprule \) \(\def \LWRbooktabscmidruleparen (#1)#2{}\) \(\newcommand {\LWRbooktabscmidrulenoparen }[1]{}\) \(\newcommand {\cmidrule }[1][]{\ifnextchar (\LWRbooktabscmidruleparen \LWRbooktabscmidrulenoparen }\) \(\newcommand {\morecmidrules }{}\) \(\newcommand {\specialrule }[3]{\hline }\) \(\newcommand {\addlinespace }[1][]{}\) \(\newcommand {\LWRoverlaysymbols }[2]{\mathord {\smash {\mathop {#2\strut }\limits ^{\smash {\lower 3ex{#1}}}}\strut }}\) \(\def\alphaup{\unicode{x03B1}}\) \(\def\betaup{\unicode{x03B2}}\) \(\def\varbetaup{\unicode{x03D0}}\) \(\def\gammaup{\unicode{x03B3}}\) \(\def\digammaup{\unicode{x03DD}}\) \(\def\deltaup{\unicode{x03B4}}\) \(\def\epsilonup{\unicode{x03F5}}\) \(\def\varepsilonup{\unicode{x03B5}}\) \(\def\zetaup{\unicode{x03B6}}\) \(\def\etaup{\unicode{x03B7}}\) \(\def\thetaup{\unicode{x03B8}}\) \(\def\varthetaup{\unicode{x03D1}}\) \(\def\iotaup{\unicode{x03B9}}\) \(\def\kappaup{\unicode{x03BA}}\) \(\def\varkappaup{\unicode{x03F0}}\) \(\def\lambdaup{\unicode{x03BB}}\) \(\def\muup{\unicode{x03BC}}\) \(\def\nuup{\unicode{x03BD}}\) \(\def\xiup{\unicode{x03BE}}\) \(\def\omicronup{\unicode{x03BF}}\) \(\def\piup{\unicode{x03C0}}\) \(\def\varpiup{\unicode{x03D6}}\) \(\def\rhoup{\unicode{x03C1}}\) \(\def\varrhoup{\unicode{x03F1}}\) \(\def\sigmaup{\unicode{x03C3}}\) \(\def\varsigmaup{\unicode{x03C2}}\) \(\def\tauup{\unicode{x03C4}}\) \(\def\upsilonup{\unicode{x03C5}}\) \(\def\phiup{\unicode{x03D5}}\) \(\def\varphiup{\unicode{x03C6}}\) \(\def\chiup{\unicode{x03C7}}\) \(\def\psiup{\unicode{x03C8}}\) \(\def\omegaup{\unicode{x03C9}}\) \(\def\Alphaup{\unicode{x0391}}\) \(\def\Betaup{\unicode{x0392}}\) \(\def\Gammaup{\unicode{x0393}}\) \(\def\Digammaup{\unicode{x03DC}}\) \(\def\Deltaup{\unicode{x0394}}\) \(\def\Epsilonup{\unicode{x0395}}\) \(\def\Zetaup{\unicode{x0396}}\) \(\def\Etaup{\unicode{x0397}}\) \(\def\Thetaup{\unicode{x0398}}\) \(\def\Varthetaup{\unicode{x03F4}}\) \(\def\Iotaup{\unicode{x0399}}\) \(\def\Kappaup{\unicode{x039A}}\) \(\def\Lambdaup{\unicode{x039B}}\) \(\def\Muup{\unicode{x039C}}\) \(\def\Nuup{\unicode{x039D}}\) \(\def\Xiup{\unicode{x039E}}\) \(\def\Omicronup{\unicode{x039F}}\) \(\def\Piup{\unicode{x03A0}}\) \(\def\Varpiup{\unicode{x03D6}}\) \(\def\Rhoup{\unicode{x03A1}}\) \(\def\Sigmaup{\unicode{x03A3}}\) \(\def\Tauup{\unicode{x03A4}}\) \(\def\Upsilonup{\unicode{x03A5}}\) \(\def\Phiup{\unicode{x03A6}}\) \(\def\Chiup{\unicode{x03A7}}\) \(\def\Psiup{\unicode{x03A8}}\) \(\def\Omegaup{\unicode{x03A9}}\) \(\def\alphait{\unicode{x1D6FC}}\) \(\def\betait{\unicode{x1D6FD}}\) \(\def\varbetait{\unicode{x03D0}}\) \(\def\gammait{\unicode{x1D6FE}}\) \(\def\digammait{\mathit{\unicode{x03DD}}}\) \(\def\deltait{\unicode{x1D6FF}}\) \(\def\epsilonit{\unicode{x1D716}}\) \(\def\varepsilonit{\unicode{x1D700}}\) \(\def\zetait{\unicode{x1D701}}\) \(\def\etait{\unicode{x1D702}}\) \(\def\thetait{\unicode{x1D703}}\) \(\def\varthetait{\unicode{x1D717}}\) \(\def\iotait{\unicode{x1D704}}\) \(\def\kappait{\unicode{x1D705}}\) \(\def\varkappait{\unicode{x1D718}}\) \(\def\lambdait{\unicode{x1D706}}\) \(\def\muit{\unicode{x1D707}}\) \(\def\nuit{\unicode{x1D708}}\) \(\def\xiit{\unicode{x1D709}}\) \(\def\omicronit{\unicode{x1D70A}}\) \(\def\piit{\unicode{x1D70B}}\) \(\def\varpiit{\unicode{x1D71B}}\) \(\def\rhoit{\unicode{x1D70C}}\) \(\def\varrhoit{\unicode{x1D71A}}\) \(\def\sigmait{\unicode{x1D70E}}\) \(\def\varsigmait{\unicode{x1D70D}}\) \(\def\tauit{\unicode{x1D70F}}\) \(\def\upsilonit{\unicode{x1D710}}\) \(\def\phiit{\unicode{x1D719}}\) \(\def\varphiit{\unicode{x1D711}}\) \(\def\chiit{\unicode{x1D712}}\) \(\def\psiit{\unicode{x1D713}}\) \(\def\omegait{\unicode{x1D714}}\) \(\def\Alphait{\unicode{x1D6E2}}\) \(\def\Betait{\unicode{x1D6E3}}\) \(\def\Gammait{\unicode{x1D6E4}}\) \(\def\Digammait{\mathit{\unicode{x03DC}}}\) \(\def\Deltait{\unicode{x1D6E5}}\) \(\def\Epsilonit{\unicode{x1D6E6}}\) \(\def\Zetait{\unicode{x1D6E7}}\) \(\def\Etait{\unicode{x1D6E8}}\) \(\def\Thetait{\unicode{x1D6E9}}\) \(\def\Varthetait{\unicode{x1D6F3}}\) \(\def\Iotait{\unicode{x1D6EA}}\) \(\def\Kappait{\unicode{x1D6EB}}\) \(\def\Lambdait{\unicode{x1D6EC}}\) \(\def\Muit{\unicode{x1D6ED}}\) \(\def\Nuit{\unicode{x1D6EE}}\) \(\def\Xiit{\unicode{x1D6EF}}\) \(\def\Omicronit{\unicode{x1D6F0}}\) \(\def\Piit{\unicode{x1D6F1}}\) \(\def\Rhoit{\unicode{x1D6F2}}\) \(\def\Sigmait{\unicode{x1D6F4}}\) \(\def\Tauit{\unicode{x1D6F5}}\) \(\def\Upsilonit{\unicode{x1D6F6}}\) \(\def\Phiit{\unicode{x1D6F7}}\) \(\def\Chiit{\unicode{x1D6F8}}\) \(\def\Psiit{\unicode{x1D6F9}}\) \(\def\Omegait{\unicode{x1D6FA}}\) \(\let \digammaup \Digammaup \) \(\renewcommand {\digammait }{\mathit {\digammaup }}\) \(\newcommand {\smallin }{\mathrel {\unicode {x220A}}}\) \(\newcommand {\smallowns }{\mathrel {\unicode {x220D}}}\) \(\newcommand {\notsmallin }{\mathrel {\LWRoverlaysymbols {/}{\unicode {x220A}}}}\) \(\newcommand {\notsmallowns }{\mathrel {\LWRoverlaysymbols {/}{\unicode {x220D}}}}\) \(\newcommand {\rightangle }{\mathord {\unicode {x221F}}}\) \(\newcommand {\intclockwise }{\mathop {\unicode {x2231}}\limits }\) \(\newcommand {\ointclockwise }{\mathop {\unicode {x2232}}\limits }\) \(\newcommand {\ointctrclockwise }{\mathop {\unicode {x2233}}\limits }\) \(\newcommand {\oiint }{\mathop {\unicode {x222F}}\limits }\) \(\newcommand {\oiiint }{\mathop {\unicode {x2230}}\limits }\) \(\newcommand {\ddag }{\unicode {x2021}}\) \(\newcommand {\P }{\unicode {x00B6}}\) \(\newcommand {\copyright }{\unicode {x00A9}}\) \(\newcommand {\dag }{\unicode {x2020}}\) \(\newcommand {\pounds }{\unicode {x00A3}}\) \(\newcommand {\iddots }{\mathinner {\unicode {x22F0}}}\) \(\newcommand {\utimes }{\mathbin {\overline {\times }}}\) \(\newcommand {\dtimes }{\mathbin {\underline {\times }}}\) \(\newcommand {\udtimes }{\mathbin {\overline {\underline {\times }}}}\) \(\newcommand {\leftwave }{\left \{}\) \(\newcommand {\rightwave }{\right \}}\)

2 Antenna subtraction

The differential cross section \(\mathrm {d}\sigma \) for a specific final state at a hadron collider is obtained by the convolution of parton distributions \(f_{i|h}\) with parton-level cross sections \(\mathrm {d}\hat {\sigma }\)

\begin{align} \mathrm {d}\sigma = \sum _{a,b} \mathrm {d}\hat {\sigma }_{ab} \otimes f_{a|h_1}\otimes f_{b|h_2} \;. \end{align} These parton-level cross sections are computed in perturbative QCD as an expansion in the strong coupling:

\begin{align} \mathrm {d}\hat {\sigma }_{ab} = \mathrm {d}\hat {\sigma }_{ab,{\rm LO}} + \mathrm {d}\hat {\sigma }_{ab,{\rm NLO}} + \mathrm {d}\hat {\sigma }_{ab,{\rm NNLO}} + \ldots \;. \end{align} Their computation must account for the definition of the final state (jet and object reconstruction as well as fiducial cuts on the final-state objects) and allow the extraction of differential distributions in all desired kinematic variables. This flexibility can only be attained by analysing all parton-level contributions to the cross section at a given perturbative order at the level of the respective partonic kinematics. The resulting implementation is a parton-level event generator, which can compute the differential cross sections for any infrared-safe observable that can be derived from a given Born-level process.

The leading-order contribution \(\mathrm {d}\hat {\sigma }_{ab,{\rm LO}}\) defines this Born-level process for \(n\) final-state objects:

\begin{align} \mathrm {d}\hat {\sigma }_{ab,{\rm LO}} = \int _n \mathrm {d}\hat {\sigma }_{ab}^{B} \;, \end{align} where \(\mathrm {d}\hat {\sigma }_{ab}^{B}\) is the Born-level differential cross section including the \(n\)-object final-state definition and \(\int _n\) indicates the integration over the \(n\)-particle final-state phase space. At LO, each final-state object is described by a single particle, such that the event reconstruction amounts to a simple check that all final-state objects are non-overlapping in phase space and are all within the fiducial acceptance.

The NLO contribution

\begin{align} \label {eq:NLOcs} \mathrm {d}\hat {\sigma }_{ab,{\rm NLO}}=\int _{n}\left (\mathrm {d}\hat {\sigma }^{V}_{ab,{\rm NLO}}+\mathrm {d}\hat {\sigma }^{MF}_{ab,{\rm NLO}}\right )+ \int _{n+1}\mathrm {d}\hat {\sigma }^{R}_{ab,{\rm NLO}} \end{align} consists of virtual one-loop corrections \(\mathrm {d}\hat {\sigma }^{V}\), real-radiation corrections \(\mathrm {d}\hat {\sigma }^{R}\), and mass-factorization counterterms \(\mathrm {d}\hat {\sigma }^{MF}\) associated with unresolved radiation from the incoming partons. All three contributions are separately infrared-divergent and only their sum is infrared-finite and physically well-defined. The singularities are commonly made explicit by working in dimensional regularization in \(d=4-2\epsilon \) dimensions.

At NNLO, the cross section consists of double-virtual (two loop and one-loop squared) corrections \(\mathrm {d}\hat {\sigma }^{VV}\), mixed real–virtual corrections \(\mathrm {d}\hat {\sigma }^{RV}\), and double-real-radiation corrections \(\mathrm {d}\hat {\sigma }^{RR}\), as well as mass-factorization terms \(\mathrm {d}\hat {\sigma }^{MF,1}\) and \(\mathrm {d}\hat {\sigma }^{MF,2}\) associated with single and double initial-state radiation:

\begin{align} \label {eq:NNLOcs} \mathrm {d}\hat {\sigma }_{ab,{\rm NNLO}} &= \int _{n}\left (\mathrm {d}\hat {\sigma }^{VV}_{ab,{\rm NNLO}}+\mathrm {d}\hat {\sigma }^{MF,2}_{ab,{\rm NNLO}}\right ) \nonumber \\ &\quad + \int _{n+1}\left (\mathrm {d}\hat {\sigma }^{RV}_{ab,{\rm NNLO}}+\mathrm {d}\hat {\sigma }^{MF,1}_{ab,{\rm NNLO}}\right ) + \int _{n+2}\mathrm {d}\hat {\sigma }^{RR}_{ab,{\rm NNLO}} \;. \end{align} All five contributions are infrared-divergent; the cancellation of infrared singularities is accomplished only if they are all summed together.

The infrared singularities at NLO and NNLO are of two forms: explicit \(\epsilon \)-poles from loop integrals in the virtual corrections  [4] and implicit soft and/or collinear singularities in the real corrections  [59], which become explicit only upon integration over the respective phase space. Consequently, it is not possible to implement equations (4) and (5) directly in a numerical code. To accomplish the cancellation of infrared singularities among the different contributions at NLO and NNLO, one introduces a subtraction procedure that extracts the implicit infrared singularities from real-radiation processes, makes them explicit by phase-space integration and combines them with the virtual corrections. The resulting expressions read

\begin{align} \label {eq:NLOsub} \mathrm {d}\hat {\sigma }_{ab,{\rm NLO}} &= \int _{n+1} \left ( \mathrm {d}\hat {\sigma }^{R}_{ab,{\rm NLO}} - \mathrm {d}\hat {\sigma }^{S}_{ab,{\rm NLO}} \right ) \nonumber \\ &\quad + \int _{n}\left (\mathrm {d}\hat {\sigma }^{V}_{ab,{\rm NLO}}-\mathrm {d}\hat {\sigma }^{T}_{ab,{\rm NLO}}\right ) \end{align} and

\begin{align} \label {eq:NNLOsub} \mathrm {d}\hat {\sigma }_{ab,{\rm NNLO}} &= \int _{n+2} \left ( \mathrm {d}\hat {\sigma }^{RR}_{ab,{\rm NNLO}} - \mathrm {d}\hat {\sigma }^{S}_{ab,{\rm NNLO}} \right ) \nonumber \\ &\quad + \int _{n+1}\left (\mathrm {d}\hat {\sigma }^{RV}_{ab,{\rm NNLO}}-\mathrm {d}\hat {\sigma }^{T}_{ab,{\rm NNLO}}\right ) \nonumber \\ &\quad + \int _{n}\left (\mathrm {d}\hat {\sigma }^{VV}_{ab,{\rm NNLO}}-\mathrm {d}\hat {\sigma }^{U}_{ab,{\rm NNLO}}\right ) \;. \end{align} The subtraction terms relate among each other as follows:

\begin{align} \label {eq:sub} \mathrm {d}\hat {\sigma }^{T}_{ab,{\rm NLO}} &= - \int _1 \mathrm {d}\hat {\sigma }^{S}_{ab,{\rm NLO}} - \mathrm {d}\hat {\sigma }^{MF}_{ab,{\rm NLO}} \;, \nonumber \\ \mathrm {d}\hat {\sigma }^{S}_{ab,{\rm NNLO}} &= \mathrm {d}\hat {\sigma }^{S,1}_{ab,{\rm NNLO}} + \mathrm {d}\hat {\sigma }^{S,2}_{ab,{\rm NNLO}} \;, \nonumber \\ \mathrm {d}\hat {\sigma }^{T}_{ab,{\rm NNLO}} &= \mathrm {d}\hat {\sigma }^{T,1}_{ab,{\rm NNLO}} - \int _1 \mathrm {d}\hat {\sigma }^{S,1}_{ab,{\rm NNLO}} - \mathrm {d}\hat {\sigma }^{MF,1}_{ab,{\rm NNLO}} \;, \nonumber \\ \mathrm {d}\hat {\sigma }^{U}_{ab,{\rm NNLO}} &= - \int _1 \mathrm {d}\hat {\sigma }^{T,1}_{ab,{\rm NNLO}} - \int _2 \mathrm {d}\hat {\sigma }^{S,2}_{ab,{\rm NNLO}} - \mathrm {d}\hat {\sigma }^{MF,2}_{ab,{\rm NNLO}} \;. \end{align} Here \(\int _i\) denotes the integration over the phase space associated with \(i\) unresolved partons and the decomposition into \(\mathrm {d}\hat {\sigma }^{S,(1,2)}\) separates single- and double-unresolved configurations. By introducing these subtraction terms, each line in equations (6) and (7) is free of implicit and explicit singularities, thus allowing a numerical implementation in a parton-level event generator.

NNLOJET implements the antenna subtraction method  [13], which derives the subtraction terms starting from colour-ordered decompositions of all real-radiation contributions. The colour-ordering allows identifying each unresolved real-radiation configuration with a pair of hard radiator partons, which emit the unresolved partons. This configuration is then described by an antenna function consisting of the hard radiators and unresolved radiation in between them. Antenna functions were derived at NLO and NNLO for quark–antiquark  [10], quark–gluon  [11] and gluon–gluon  [12] pairs as hard radiators. All quarks are treated as massless. The unintegrated subtraction terms are obtained from products of antenna functions and reduced matrix elements of lower partonic multiplicity, which are summed over all configurations of hard radiators and unresolved partons. The kinematics of the antenna functions and the reduced matrix elements are factorized from each other through a phase-space mapping  [2, 13], such that the antenna function can be integrated over the antenna phase space of the hard radiator partons and the unresolved radiation while leaving the kinematics of the reduced matrix element unaffected. The integrated antenna functions enter the subtraction terms \(\mathrm {d}\hat {\sigma }^{T}\) and \(\mathrm {d}\hat {\sigma }^{U}\) where they establish the explicit cancellation of infrared \(\epsilon \)-poles between real and virtual contributions. They were computed up to NNLO for all different configurations of the hard radiators: final–final  [1], initial–final  [14] and initial–initial  [1517].

With these ingredients, all terms in equation (8) can be implemented in the antenna subtraction formalism, as described in detail in  [3]. For all processes available in NNLOJET, this implementation has been made on a process-by-process basis, usually starting from the implicit infrared singularity structure of the double-real-radiation process \(\mathrm {d}\hat {\sigma }^{RR}\). A fully automated construction of the antenna subtraction terms in colour space is currently under development  [18, 19].