Source-linked AI summary

A general framework for implementing NLO calculations in shower Monte Carlo programs: the POWHEG BOX

Simone Alioli, Paolo Nason, Carlo Oleari, Emanuele Re

arXiv:1002.2581v1hep-ph

TL;DR

Implementing NLO calculations in shower Monte Carlo programs requires both a completed theoretical construction and a clear account of its code organization. This paper presents and documents the POWHEG BOX framework for constructing POWHEG implementations of NLO processes, including arbitrary hadronic collision processes within the FKS subtraction scheme.

  • Problem

    The work addresses the need to complete the theoretical procedure and explain how a general NLO-to-POWHEG computer framework is organized and used.

  • Method

    The paper develops the POWHEG BOX framework and describes its theoretical ingredients, global code organization, and required user inputs for implementing NLO processes.

  • Results

    The framework constructs POWHEG implementations of arbitrary NLO processes and includes NLO corrections for arbitrary hadronic collision processes using FKS subtraction.

  • Takeaways & Limitations

    POWHEG BOX is a documented development tool for implementing NLO processes in shower Monte Carlo programs.

  • Takeaways & Limitations

    POWHEG BOX is not ready to run out of the box and requires users to inspect build settings and provide correctly linked PDF and jet libraries.

Abstract

from arXiv · show

In this work we illustrate the POWHEG BOX, a general computer code framework for implementing NLO calculations in shower Monte Carlo programs according to the POWHEG method. Aim of this work is to provide an illustration of the needed theoretical ingredients, a view of how the code is organized and a description of what a user should provide in order to use it.

1. Introduction

The paper introduces the POWHEG BOX, a computer framework for implementing NLO calculations in parton-shower programs. It completes the method’s theoretical construction and explains the algorithms, code structure, and inputs needed to use the framework.

  • Framework and purpose: The POWHEG BOX implements the POWHEG prescription for interfacing NLO calculations with parton-shower generators.The framework constructs a POWHEG implementation of an NLO process from user-supplied ingredients.
  • Required inputs: Users provide Born and real flavour structures, Born phase space, correlated and uncorrelated Born amplitudes, real matrix elements, virtual corrections, and large-colour Born structures.The listed ingredients include B, Bij, Bµν, real matrix elements, the finite virtual contribution, and Born colour structures in the large-colour limit.
  • Aims: The work has two aims: completing the theoretical work underlying POWHEG and illustrating how the code operates in practice.It explains variants of the procedure needed to fulfill the framework’s goals and describes the code’s practical operation.
  • Scope and limitations: The paper explains algorithms and code structure sufficiently for readers to understand and verify the implementation, rather than serving as exhaustive code documentation or a complete theoretical exposition.The authors refer to earlier work for the theoretical basis and note that the code will evolve over time.
  • Paper organization: Section 2 specifies the information and formats needed to interface an NLO program with the POWHEG BOX, while later sections and appendixes cover singular regions and analytical or technical details.The paper discusses flavour structures, kinematics, cross-section subroutines, radiation generation, soft integrals, collinear limits, and upper-bounding functions.

2. The format of the user subroutines

This section specifies how POWHEG BOX users encode flavour structures, configure the associated arrays, distinguish otherwise identical parton lines with tags, and provide the Born phase-space mapping. It also defines the particle ordering, flavour conventions, real-emission extension, tagging mechanics, and required phase-space outputs.

  • 2. The format of the user subroutines: Flavour structures are integer lists whose first two entries are incoming particles ordered by positive then negative rapidity, followed by ordered final-state particles.Incoming flavours are represented as incoming and final-state flavours as outgoing; indices follow Particle Data Group conventions, except gluons use 0 rather than 21.
  • 2. The format of the user subroutines: At NLO, real graphs add one light final-state parton, whereas virtual terms retain the Born flavour structure.Colourless and massive coloured particles remain unchanged between Born and NLO levels.
  • 2. The format of the user subroutines: Users set nlegborn, with nlegreal fixed to nlegborn+1, and provide the inequivalent Born and real flavour structures through the initialization routine.The relevant arrays and parameters are defined in flst.h, while nlegborn is set in nlegborn.h.
  • 2. The format of the user subroutines: Equivalent flavour structures related by permutations of final-state particles must not both appear in the list.For the example, [5, 2, 23, 6, 3, 0] and [5, 2, 23, 6, 0, 3] are alternative representations, not simultaneous entries.
  • 2.1 Tagging parton lines: Tags let POWHEG BOX treat same-flavour lines differently when their physical roles differ, as in vector-boson-fusion Higgs production.Tagged lines are distinguished for combinatorics, allowing only the appropriate quark line to generate a singular region.
  • 2.1 Tagging parton lines: The code replaces flavour indices with internal indices that encode flavour and tags, then restores the original indices after singular-region generation.The routines mapflavours and unmapflavours perform these transformations near the beginning and end of genflavreglist.
  • 2.2 The Born phase space: The user’s born phsp(xborn) subroutine fills Born momenta, incoming Bjorken x values, the minimal Born-system mass, and the phase-space volume.Without resonances, xborn has dimension 3n−2 for n=nlegborn−2 final-state particles; resonance virtualities require additional variables.

1. Set kn

This section specifies implementation inputs for the POWHEG BOX, including momentum fractions, Born-process energy, and leg masses. It identifies variables that must be set to process-specific values.

  • 1. Set kn: Set xb2 to the parton momentum fraction x⊕ and x⊖.The passage explicitly assigns xb2 using the two parton momentum fractions.
  • 1. Set kn: Set knsborn to the squared CM energy of the Born process.The variable is defined through the Born process’s squared center-of-mass energy.
  • 1. Set kn: Fill the masses with the masses of the process legs.The passage states that the leg masses should be supplied as implementation inputs.

2. The array kn

The `minmass` parameter must be a fixed kinematics-independent lower bound on the final-state mass, determined by particle masses or resonance-window limits.

  • The array kn: `minmass` is set to the sum of final-state particle masses without resonances, or to the sum of resonance-window lower limits when resonances are present.The bound is fixed and independent of the event kinematics.

3. Set the variable kn

The POWHEG BOX requires user-supplied routines for Born, virtual, and real contributions, with prescribed inputs, outputs, normalization, and flavour-structure handling. It also supports analysis routines that operate on common-block event data and can produce fixed-NLO-accuracy plots.

  • Born contribution: The setborn routine returns Born, colour-correlated, and spin-correlated squared amplitudes for each Born flavour structure.The user supplies momenta and flavour information; the POWHEG BOX identifies identical or proportional flavour contributions and stores their proportionality constants.
  • Born contribution: The Born flux factor 1/(2 sb) must be omitted because the POWHEG BOX supplies it.Here sb is the Born-process center-of-mass energy squared.
  • Virtual contribution: The setvirtual routine returns the finite virtual contribution Vfin for a specified flavour structure and external momenta.In conventional dimensional regularization, the POWHEG BOX’s dropped MS-scheme poles cancel the divergent terms, leaving Vfin; the user should set Q equal to the renormalization scale µR.
  • Real contribution: The setreal routine computes the spin- and colour-averaged real squared amplitude, stripped of αS/(2π), without including the flux factor.Real amplitudes are likewise requested for individual flavour structures, while identical or proportional cases are reduced through stored proportionality constants.
  • Analysis: The analysis routine receives event kinematics through HEPEVT, making one analysis implementation usable for partonic and showered hadronic events.During ˜B integration, analysisdriver can fill the common block and produce plots with fixed NLO accuracy.

3. The singular regions

The POWHEG BOX decomposes each real flavour structure into singular-region contributions, each tied to one flavour structure and one underlying Born configuration. It adopts FKS subtraction and standardizes region representations to simplify region discovery and grouping in the implementation.

  • Region decomposition: Each real cross section is decomposed into contributions divergent in only one singular region, with each αr tied to one flavour structure and region.These regions are also called αr or alr regions in the code.
  • Subtraction method: The POWHEG BOX focuses on FKS subtraction because CS involves many dipoles and does not readily separate real cross sections by singularity structure.FKS’s greater plus-distribution complexity is process-independent and can be implemented generically once.
  • Singular-region definitions: FKS singular regions describe final-state partons becoming soft or collinear to initial- or final-state partons, with emitted and emitter roles defining the underlying Born flavour configuration.For final-state radiation, only the emitted parton produces soft singularities.
  • Canonical organization: The region list is standardized so the emitted parton is last and removing it yields exactly a Born flavour structure, enabling unique underlying-Born grouping.Equivalent regions under external-leg permutations are retained once with their correct multiplicity.
  • Algorithm and implementation: POWHEG identifies final-state regions by testing compatible splittings and admissible Born configurations, treats initial-state regions analogously, and records region-to-Born associations.The regions routine returns the number of regions and emitter/emitted positions, while genflavreglist builds standardized lists and pointers.

4. The ˜ B function

The POWHEG BOX constructs the ˜B function from Born, soft-virtual, and collinear-remnant contributions, then integrates it over mapped Born and radiation phase space for event generation. Its implementation stores Born flavour-structure weights and automatically builds soft-virtual terms from user-provided Born colour correlations, while requiring user-supplied Born and virtual inputs.

  • ˜ B function: POWHEG generates the underlying Born kinematics and flavour configuration with probability proportional to the corresponding ˜B-based weight.The Born configuration is generated before radiation, and the underlying Born flavour structure is selected using stored entries.
  • ˜ B function: The ˜B function is integrated over the full (Φn, Xrad) phase space using mint after mapping the Born phase space into a unit hypercube.The radiation variables are parametrized through X(1), and mint supports uniform-weight integrand generation after a single integration.
  • ˜ B function: The btilde routine evaluates ˜B using xborn and xrad inputs, while the integration routine supplies the weight and folding control through www0 and ifirst.The first elements of xx represent xborn and the last three represent xrad; the integration results are stored for event generation.
  • ˜ B function: Born contributions are computed first for all Born flavour structures, including parton distribution factors and colour- and spin-correlated terms, because later soft, collinear, and real-singular contributions require them.For infrared-divergent Born cross sections, the framework requires either a generation cut or a Born suppression factor.
  • ˜ B function: The soft-virtual implementation automatically constructs the Q, Iij, and Ii contributions from the user-provided Born cross section with colour correlations, while the user supplies the virtual cross section.The scale Q is set equal to the renormalization scale µR, and the implementation includes massive coloured partons.
  • ˜ B function: Collinear remnants are implemented in the MS scheme by handling z-distributions over z from x to 1 and looping over underlying Born configurations and their incoming-leg flavour singularities.The code sets ξc = 1 and does not implement DIS factorization schemes because they are no longer used.

5. Tuning the real cross section in POWHEG

POWHEG can separate the real cross section into a shower-treated singular contribution and a finite remainder using a damping function F. Choosing F as a kinematic function that approaches 1 in singular regions improves radiation-generation efficiency when R/B is too large relative to its soft or collinear approximation.

  • Real-cross-section separation: POWHEG separates the real cross section in each singular region into a shower-treated part and a finite part.The separation is controlled by a function F, with the singular behavior assigned to the shower-oriented contribution.
  • Choice of damping function: F may depend on kinematic variables, provided it approaches 1 in the singular region.A transverse-momentum-dependent choice is given as an example, with 0 ⩽ F ⩽ 1 and F approaching 1 as the argument vanishes.
  • Finite remainder: The finite contribution f is generated with standard techniques and fed directly into a shower Monte Carlo.This finite term is handled independently from the singular shower-oriented contribution.
  • Choice of damping function: Using a general F is useful when R/B becomes too large relative to its corresponding collinear or soft approximation, making radiation generation highly inefficient.The method provides a general solution to this inefficiency problem.
  • Implementation: The damping feature is implemented in the POWHEG BOX through the flgwithdamp flag and the bornzerodamp routine.The real contribution in btilde is multiplied by a damping factor, while soft and collinear counterterms remain undamped because F = 1 there.

6. The initialization phase

The initialization phase, implemented in bbinit, prepares event generation by integrating btilde, determining weights and cross sections, filling NLO histograms, and constructing radiation-generation grids. It also computes remnant contributions and stores the integration envelopes needed for later unweighted-event generation.

  • The initialization phase: bbinit integrates btilde, determines the negative-weight fraction, computes the total cross section, and optionally plots NLO distributions.These are identified as the routine’s most important tasks.
  • The initialization phase: A second mint invocation integrates btilde’s positive contribution while filling NLO histograms that include negative weights and therefore reproduce standard NLO results.The positive and negative weight contributions are combined into the stored total cross section.
  • The initialization phase: The remnant cross section is computed with independent grids, included in the NLO histograms, and stored separately before being added to the total.Remnants arise from real contributions without associated singular regions or from damping-related effects.
  • The initialization phase: mint with imode = 1 constructs the upper bounding envelope and arrays required for unweighted-event generation, which can be saved to avoid repeating initialization.The relevant arrays are xgrid, ymax, and xmmm.

7. The generation of radiation

Radiation generation in the POWHEG BOX combines contributions from the ¯B term and the remnant, choosing between them according to their cross sections. The selected component is generated through underlying-Born configurations, Sudakov form factors, and veto-based radiation algorithms.

  • Radiation components: Radiation has two components, from the ¯B term and the remnant, selected with probabilities proportional to their respective cross sections in pwhgevent.The total cross section is stored in the global variables rad sigrm.
  • ¯B contribution: The ¯B contribution starts from an underlying Born configuration distributed according to ¯B and generates radiation using the POWHEG Sudakov form factor.If R is split into regular and singular parts, only the singular part enters the Sudakov form factor.
  • Sudakov assembly and region selection: For shared underlying Born configurations, individual Sudakov factors are combined by radiation-region kinematics, then the highest-bid algorithm selects the region with the largest generated pT.The corresponding αr is subsequently selected with probability proportional to Rαr within the relevant ensemble.
  • Veto generation: Each candidate pT is generated with the veto method using an upper bounding function U rr, followed by radiation variables ξ, y, and φ sampled proportionally to U rr.The event is accepted with a subsequent probability; rejected events receive a new, smaller pT candidate.
  • Underlying-Born configuration: The POWHEG BOX generates underlying-Born flavour configurations by selecting each fb with probability proportional to its contribution to the ˜B value at the generated kinematic point.The genidx routine performs this selection using the stored flavour-component contributions.

8. The Les Houches interface for user processes

The Les Houches interface transfers generated events to the shower program, setting radiation scales, colours, underlying-Born information, and intermediate resonances. User-provided routines handle process-dependent colour connections, regular remnants, and resonance specifications, while colour assignment remains approximate and process independent.

  • Event transfer and setup: Generated events are placed on the LHIUP interface with subsequent-radiation scales and colours assigned to incoming and outgoing partons.The genleshouches routine performs this task for ¯B-generated and remnant events; regular remnants use a separate user routine.
  • Event transfer and setup: Regular remnants require the user-provided genreg routine in LesHouchesreg.f because their colour assignment does not use the standard singular-region method.The paper suggests alternatives such as using the planar limit of the cross-section formulae.
  • Colour assignment: Colour assignment is approximate and based on the underlying Born configuration, with improved treatments requiring the user to provide additional colour information.The implementation is intended to be general enough to remain process independent.
  • Colour assignment: The process-dependent borncolourlh routine must return a planar underlying-Born colour connection with probability proportional to its planar-limit Born contribution.For simple processes there may be one connection, while more complex processes can contain multiple noninterfering planar colour structures.
  • Resonances: The interface records intermediate resonances and their decay products so the shower program can preserve resonance masses.The user routine resonanceslh calls addresonance for each intermediate-resonance particle id.

9. Conclusions

The POWHEG BOX is a documented framework for constructing POWHEG implementations of NLO processes, with code and example process directories available to users. It is a development tool rather than an out-of-the-box program, and also implements NLO corrections for arbitrary hadronic collisions using FKS subtraction.

  • Framework: The POWHEG BOX provides a computer framework for constructing POWHEG implementations of given NLO processes, with the code made available online.The paper introduces and documents the framework as its central contribution.
  • Examples: The package includes W, Z and VBF directories, containing code for vector boson fusion production and serving as templates for further processes.These directories are presented as examples that users can adapt when implementing additional processes.
  • Practical limitations: The POWHEG BOX is a development tool, not a ready-to-run program, so users must inspect the Makefile and correctly link the PDF and jet libraries even to compile examples.The repository contains the current SVN version, with new versions released periodically.
  • NLO implementation: As a byproduct, the work implements NLO corrections for arbitrary hadronic collision processes within the Frixione, Kunszt and Signer subtraction scheme.The NLO calculation is intended to test implementation consistency, rather than to provide an independently optimized phenomenological calculation.

A. Soft contributions

This appendix documents the soft contribution within the FKS subtraction framework. It specifies the soft-approximation real cross section and identifies the roles of the colour-correlated Born term, Casimir invariant, and nonsingular remainder.

  • The appendix documents the calculation of the soft contribution in the FKS subtraction framework.
  • The real cross section is expressed in the soft approximation.
  • B_ij denotes the colour correlated Born cross section, while C_i is the Casimir invariant for the ith leg.
  • R_f has no singularities when the radiated parton momentum k approaches zero.

A.1 Soft phase space … B.2 Final-state singularities

The appendix develops soft-phase-space factorization and evaluates the soft integrals for massless and massive momentum configurations. It then introduces the real-to-Born collinear-limit framework for initial- and final-state singularities.

  • A.1 Soft phase space: Soft phase space factorizes in the soft limit, and polar coordinates parameterize k1, k2, and k⊥ through k0, θ, and φ.The angular range is restricted by k⊥≥0 to 0 ≤φ ≤π.
  • A.1 Soft phase space: Writing R as ξ−2(ξ2R) makes (ξ2R) finite as ξ →0, while separating the ξ integration isolates the δ(ξ) soft contribution.The resulting soft-divergent integral is expressed after collecting the normalization factor.
  • A.2 One massless and one massive particle: For one massless and one massive momentum, the eikonal factor is separated into a collinear-divergent component and a square-bracket term without collinear singularities.Choosing n along the time direction leaves a remaining integral with no collinear singularities.
  • A.3 Two massless particles: For two massless momenta, I(k1, k2) is reduced to I(k1, k1 + k2) + I(k2, k1 + k2).The right-hand terms use the results for one massless and one massive particle.
  • A.4 Two massive particles: For two massive particles, the soft integral is defined and evaluated while neglecting ǫ2 terms; the Iǫ component is specified by subsequent equations.The analytic result can be checked numerically using codes in the POWHEG BOX Notes subdirectory.
  • A.4.1 Two massive particles with equal momenta: The equal-momentum massive special case is treated separately for k1 = k2 = p with p2̸ = 0.This subsection specializes the two-massive-particle configuration to identical momenta.
  • B. Collinear limits: The collinear-limit section relates real- and Born-level squared amplitudes, summed over final-state and averaged over initial-state colours and spins, with the appropriate flux factor included.Initial-state radiation uses incoming momentum p, underlying-Born momentum k, radiated momentum p−k, and k2 < 0.
  • B.2 Final-state singularities: For final-state singularities, k is defined as the momentum of the splitting parton; in eq. (B.9), p is assumed to be the gluon momentum.These definitions specify the momentum assignment used in the final-state collinear limit.

C. Upper bounding functions for FSR … E.1 Scales and couplings for the inclusive cross section

The POWHEG BOX implements veto-based radiation generation using upper bounding functions for final- and initial-state radiation, while user routines control inclusive-cross-section scales and couplings. The framework supports alternative bounds and scale choices tied to the underlying Born kinematics.

  • C. Upper bounding functions for FSR: For FSR, the POWHEG BOX uses an upper bounding function to generate pT uniformly before applying the radiation-variable construction.The bound is expressed using αS and the recoiling-system mass Mrec.
  • C. Upper bounding functions for FSR: FSR generation solves r = ∆(U)(pT) numerically in logarithmic form, then samples ξ uniformly in log ξ within its allowed limits.The numerical equation is log r = log ∆(U)(pT).
  • D. Upper bounding functions for ISR: For ISR, the upper bounding function must cover the radiation-variable range for each underlying Born configuration.The formulation uses x = 1 − ξ, with the singular limit reached as x → 1, and constrains the practical range of U(x, y).
  • D. Upper bounding functions for ISR: ISR pT generation uses analytic integrations and uniform sampling followed by vetoing to obtain the distribution governed by ∆(U)(pT).The procedure generates pT uniformly in the prescribed range and then applies the veto method.
  • D. Upper bounding functions for ISR: ISR includes an alternative upper bounding function intended to improve small-x behaviour and retains a simple bound usable for fast veto-based generation.The variant and its derivation are associated with ref..
  • E.1 Scales and couplings for the inclusive cross section: The user-provided scales(muf,mur) routine sets factorization and renormalization scales using only the underlying Born kinematics.The routine is called during evaluation of the B̃ function and remnant cross section; scale factors are read from the POWHEG data file and default to 1 if absent.
  • E.1 Scales and couplings for the inclusive cross section: The pwhg_alphas(mu2,Lambda5,n) function supplies the strong coupling, with the flavour count either user-set through nlight or inferred when n < 0.The coupling depends on the squared scale and Λ(5)_MS.

E.2 Scales and couplings for radiation … F.4 User files

The POWHEG BOX implements radiation scales and couplings to support accurate Sudakov generation, provides checks for soft and collinear limits, and organizes process inputs, variables, and user routines through standardized files and interfaces.

  • E.2 Scales and couplings for radiation: Using the radiation transverse momentum as the argument of scales(ptsq) can achieve, in some cases, complete NLL accuracy in the POWHEG Sudakov form factor.The routine sets the renormalization scale squared to the radiation transverse momentum squared.
  • E.2 Scales and couplings for radiation: The radiation coupling uses the number of quarks below the ptsq scale and a multiplicative factor that improves the Sudakov form factor’s NLL accuracy.The factorization scale is prevented from falling below the minimum allowed PDF value, while the scale factors are not used in this context.
  • E.2 Scales and couplings for radiation: During radiation generation, POWHEG uses a simplified one-loop running coupling that upper-bounds the coupling used in the calculation.Its minimum renormalization scale µ0 is taken equal to 2Λ(5)_MS.
  • F.1 Checking the soft, collinear and soft-collinear limits: The checklims routine tests real squared amplitudes against soft, collinear, double soft-collinear, and collinear-soft approximations during implementation and process development.The tests also assess the consistency of Born, colour-correlated Born, and spin-correlated Born amplitudes.
  • F.2 Names: POWHEG BOX organizes important common-block variables by prefixes such as flst, kn, st, and rad, enabling their purposes to be followed through the include files.The include files are described as more systematically organized than the Fortran source files.
  • F.3 Input variables: The powheginput routine reads powheg.input or a prefix-specific input file and returns the real value associated with a requested string, aborting when no match is found.The complete input file is read upon the routine’s first invocation.
  • F.4 User files: User files provide standardized process components, including Born-leg and flavour initialization, process-dependent couplings, physical parameters, Born, real, and virtual contributions.The listed routines are init_processes, init_couplings, setborn, setreal, and setvirtual.
  • F.4 User files: The user-file structure also includes PhysPars.h for shared physical variables, phsp.f for Born phase space, and a template analysis subroutine in pwhg.The physical variables include masses, electroweak couplings, and widths.
Loading 1002.2581v1…