The Antenna Shower Model (VINCIA)

  1. Overview
  2. Matching and Merging with VINCIA
  3. Main Shower Switches
  4. Shower Starting Scales
  5. Kinematics and Recoils
  6. Evolution with Enhanced (Biased) Kernels
  7. Interleaved Resonance Decays
  8. Further Shower Settings
  9. VINCIA Tunes
  10. Expert Settings
  11. References

Overview

The cornerstone of VINCIA is a pT-ordered model for QCD + QED/EW showers based on the antenna formalism. Originally developed as a standalone plugin, it has been incorporated into the Pythia 8 source code since Pythia version 8.300.

The main features are:

The name VINCIA stands for "VIrtual Numerical Collider with Interleaved Antennae". This reflects its main properties as a numerical model for collider-physics processes based on dipole-antennae and interleaved perturbative evolution. It is also intended to allude to a progression from PYTHIA, a name originating in ancient Greece, to the renaissance era of Leonardo da Vinci. The logo of VINCIA is the "Vitruvian Man", by da Vinci, a choice which also reflects the combination of art and accuracy which is necessary to write a good event generator. Classical antiquity is still indirectly represented, via the namesake of the logo, Vitruvius, a first-century (BC) Roman author, architect, and engineer.

Matching and Merging with VINCIA

VINCIA has its own dedicated approach to merging with higher-multiplicity tree-level matrix elements, called sector merging or MESS (for Matrix Elements + Sector Showers). It is similar in spirit to the CKKW(-L) approaches, but exploits the maximally-bijective nature of VINCIA's sector shower to vastly reduce the complexity of the merging procedure, so that merging especially at high multiplicities becomes more efficient. Settings for VINCIA's merging are described here.

VINCIA also provides dedicated hooks for vetoed showers in POWHEG NLO matching with input from the POWHEG-BOX program, attempting to correct for the mismatch between the ordering variables in POWHEG-BOX and VINCIA. They are contained in include/Pythia8Plugins/PowhegHooksVincia.h. The usage is the same as for Pythia's PowhegHooks and described here. To use VINCIA with POWHEG-BOX input an existing main program (e.g. main31.cc) that uses POWHEG-BOX+Pythia can be adapted by replacing every occurence of PowhegHooks with PowhegHooksVincia.

Main Shower Switches

mode  Vincia:nFlavZeroMass   (default = 4; minimum = 2; maximum = 6)
Controls the number of flavours that will be treated as massless by VINCIA, ie with massless kinematics and no mass corrections. The remaining flavours will be bookkept with massive kinematics and mass-corrected antenna functions. Note that, even for flavours treated as massless, an elementary phase-space check is still made eg on all g→QQ branchings to ensure m(QQ) >= 2mQ. Likewise, all heavy flavours in the initial state are forced to undergo a conversion into a gluon when the evolution variable reaches their mass threshold (with the threshold determined by the maximum of the PDF threshold and the relevant user-specifiable mass parameter given below).

flag  Vincia:helicityShower   (default = off)
Switch to use helicity-dependent antenna functions (or not). Only meaningful when helicity information is present in the Born-level events.

flag  Vincia:sectorShower   (default = on)
Switch to (de-)activate the sector shower in VINCIA. In this version of VINCIA, the sector shower has become the default, due to its better scaling behaviour in multileg matching and merging, see below.

parm  Vincia:sectorDamp   (default = 1.0; minimum = 0.0; maximum = 1.0)
In the symmetrisation over post-branching gluons that is done to derive the sector antenna functions from the global ones, the branching invariant with swapped gluons is nominally given by yijSym = yik = 1 - yij - yjk. If the swapped gluons are j and k (and straightforwardly generalised if they are i and j) then the collinear yjk→0 limit does not change by adding or subtracting a term of order yjk. Therefore one could equally well use yijSym = 1 - yij (or something inbetween). This is still guaranteed to be positive definite and was indeed the choice in the original sector antenna shower papers. Since the latter definition produces a value for yijSym which is slightly larger than the former, the corresponding 1/yijSym singularities in the antenna function are damped slightly, so that larger values of the sectorDamp parameter produces sector antenna functions which have slightly smaller magnitudes outside the collinear limits. Strictly speaking this choice is an ambiguity that should be varied for uncertainty estimates, in which context we note that we expect it to be almost entirely degenerate with variations of nonsingular terms.

Shower Starting Scales

Similarly to PYTHIA, for processes that include at least one quark, gluon, or photon in the final state, the default choice in VINCIA is to start the shower from the factorisation scale used for the hard process (as given by PYTHIA for internal processes, or defined by the scale value for Les Houches input),while processes that do not include any such partons are allowed to populate the full phase space. This behaviour can be changed by the following option, which is anologous to the SpaceShower:PTmaxMatch option in PYTHIA.

mode  Vincia:pTmaxMatch   (default = 0; minimum = 0; maximum = 2)

option 0 : Showers off processes that include at least one final-state quark, gluon, or photon, are started at the factorisation scale, while processes that do not include any such partons are started at the phase-space maximum.
option 1 : Showers are always started at the factorisation scale.
option 2 : Showers are always started at the phase-space maximum. This option is not recommended for physics runs as it will lead to unphysical double counting in many cases.

When the first branching is limited by the factorisation scale for the hard process, a multiplicative factor can be applied to either increase or decrease the shower starting scale relative to the factorisation scale:

parm  Vincia:pTmaxFudge   (default = 1.0; minimum = 0.1; maximum = 10.0)

parm  Vincia:pTmaxFudgeMPI   (default = 1.0; minimum = 0.1; maximum = 10.0)
Same as above but for MPI systems, affecting the underlying event.

Note that for any (combination of) choices that result in ISR showers not using the factorisation scale as the starting scale, the generated Sudakov factor will effectively produce leftover PDF ratios in the exclusive cross sections produced by the shower.

Kinematics and Recoils

While the CM momenta of a 2→3 branching are fixed by the generated invariants (and hence by the antenna function), the global orientation of the produced 3-parton system with respect to the rest of the event (or, equivalently, with respect to the original dipole-antenna axis) suffers from an ambiguity outside the LL limits, which can be significant in regions where the leading logs are suppressed or absent.

To illustrate this ambiguity, consider the emissision of a gluon from a qqbar antenna with some finite amount of transverse momentum (meaning transverse to the original dipole-antenna axis, in the CM of the dipole-antenna). The transverse momenta of the qqbar pair after the branching must now add up to an equal, opposite amount, so that total momentum is conserved, i.e., the emission generates a recoil. By an overall rotation of the post-branching 3-parton system, it is possible to align either the q or the qbar with the original axis, such that it becomes the other one that absorbs the entire recoil (the default in showers based on 1→2 branchings such as old-fashioned parton showers and Catani-Seymour showers), or to align both of them slightly off-axis, so that they share the recoil (the default in VINCIA, see illustration below).

2to3-kinematics

Kinematics and Recoils for II Antennae

The post-branching momenta are fixed by the following requirements:
1) The direction of the initial state partons is aligned with the beam axis (z-axis).
2) The invariant mass and the rapidity of the final state recoiler are not changed by the branching. This allows a direct construction of the post-branching momenta in the lab frame.

Kinematics and Recoils for IF Antennae

For IF branchings, Vincia contains implementations of two different kinematics maps, called "local" and "global" in what follows.

In the "local map", the initial-state parton recoils longitudinally, and there is no recoil imparted to any partons that do not participate directly in the branching. (I.e., recoil effects are absorbed locally within the branching antenna, and no partons outside of it are affected.) This is equivalent to saying that any transverse momentum associated with the emitted parton (j) is absorbed by the other final-state parton (k). This allows a simple construction of the post-branching momenta in the centre-of-mass frame of the initial-final antenna.

The "global map" allows for an overall transverse recoil associated with the initial-state leg to be imparted to the system of final-state partons other than those participating directly in the branchings. This is equivalent to saying that any transverse momentum associated with the emitted parton (j) is absorbed by the initial-stage leg (a), after which a Lorentz transformation brings it (plus the final-state system) back to having beam-collinear kinematics. The recoil vanishes For final-state collinear kinematicsbut is in general nonzero outside that limit.

Intuitively, the local map should be appropriate for final-state splittings, while the global one would be appropriate for initial-state ones. The full story is more complicated, partly since soft wide-angle radiation intrinsically represents interference between the two cases, and partly because the phase-space limits for the two maps (outside of the strict soft and collinear limits) are different. (The x < 1 constraint translates to slightly different constraints on the branching invariants for the two maps, as does positivity of the Gram determinant.) A probabilistic selection is therefore made between the local and global maps, using a form obtained by R. Verheyen based on comparisons to DIS matrix elements, P(global) = (sAK - saj)^2/[ (sAK + sjk)^2 + (sAK - saj)^2 ] * Theta( sAK - saj ), with Theta the unit step function (since the momenta in the global map always become unphysical for saj > sAK).

mode  Vincia:kineMapIF   (default = 1; minimum = 1; maximum = 3)

option 1 : Local recoil map.
option 2 : Gluon emissions use a probabilistic selection between the global and local maps. Antennae that only contain initial-state singularities always use the global one. Antennae that only contain final-state singularities always use the local one.
option 3 : Probabilistic selection between the global and and local maps, for all IF branchings irrespective of their singularity structure.

When using the probabilistic selection, it is possible (in phase-space regions well away from the strict soft and collinear limits) that the selected kinematics map produces unphysical momenta (with x > 1 or negative energies) for the given branching invariants, while the other map would give physical momenta. In such cases, one has to choose whether the given phase-space point should be vetoed, or whether the other map should be allowed to be used instead to construct the kinematics.

flag  Vincia:kineMapIFretry   (default = off)

option off : If the map selected according to the probabilistic choice above returns unphysical momenta, the trial branching is vetoed.
option on : If the map selected according to the probabilistic choice above returns unphysical momenta, the other map is tried. Only if both maps fail to produce physical momenta is the trial branching vetoed.

Kinematics and Recoils for FF Antennae

mode  Vincia:kineMapFFemit   (default = 3; minimum = 1; maximum = 3)
Selects which method to use for choosing the Euler angle for the global orientation of the post-branching kinematics construction for gluon emissions.
option 1 : The ARIADNE angle (see illustration). The recoiling mothers share the recoil in proportion to their energy fractions in the CM of the dipole-antenna. Tree-level expansions of the VINCIA shower compared to tree-level matrix elements through third order in alphaS have shown this strategy to give the best overall approximation, followed closely by the KOSOWER map below.
option 2 : LONGITUDINAL. The parton which has the smallest invariant mass together with the radiated parton is taken to be the "radiator". The remaining parton is taken to be the "recoiler". The recoiler remains oriented along the dipole axis in the branching rest frame and recoils longitudinally against the radiator + radiated partons which have equal and opposite transverse momenta (transverse to the original dipole-antenna axis in the dipole-antenna CM). Comparisons to higher-order QCD matrix elements show this to be by far the worst option of the ones so far implemented, hence it could be useful as an extreme case for uncertainty estimates, but should probably not be considered for central tunes. (Note: exploratory attempts at improving the behaviour of this map, e.g., by selecting probabilistically between the radiator and the recoiler according to approximate collinear splitting kernels, only resulted in marginal improvements. Since such variations would introduce additional complications in the VINCIA matching formalism, they have not been retained in the distributed version.)
option 3 : The KOSOWER map. Comparisons to higher-order QCD matrix elements show only very small differences between this and the ARIADNE map above, but since the KOSOWER map is sometimes used in fixed-order contexts, we deem it interesting to include it as a complementary possibility. (Note: the KOSOWER maps in fact represent a whole family of kinematics maps. For experts, the specific choice made here corresponds to using r=sij/(sij+sjk) in the definition of the map.)

mode  Vincia:kineMapFFsplit   (default = 2; minimum = 0; maximum = 3)
Selects which method to use for choosing the Euler angle for the global orientation of the post-branching kinematics construction for gluon splittings.
option 1 : The ARIADNE angle (see illustration). The recoiling mothers share the recoil in proportion to their energy fractions in the CM of the dipole-antenna. Tree-level expansions of the VINCIA shower compared to tree-level matrix elements through third order in alphaS have shown this strategy to give the best overall approximation, followed closely by the KOSOWER map below.
option 2 : LONGITUDINAL. For gluon splittings, this choice forces the recoiler to always recoil purely longitudinally (in the antenna CM) regardless of the size of the branching invariants.
option 3 : The KOSOWER map. Comparisons to higher-order QCD matrix elements show only very small differences between this and the ARIADNE map above, but since the KOSOWER map is sometimes used in fixed-order contexts, we deem it interesting to include it as a complementary possibility. (Note: the KOSOWER maps in fact represent a whole family of kinematics maps. For experts, the specific choice made here corresponds to using r=sij/(sij+sjk) in the definition of the map.)

Kinematics and Recoils for RF Antennae

mode  Vincia:kineMapRFemit   (default = 1; minimum = 1; maximum = 2)
There is only one choice of kinematics map for resonance emissions. However there is a freedom to choose the recoiler(s).
option : However there is a freedom to choose the recoiler(s).

mode  Vincia:kineMapRFsplit   (default = 1; minimum = 1; maximum = 2)
Same as above, but for R-g splittings.
option 1 : Takes all non-colour-connected daughters in the resonance decay system as the recoilers.
option 2 : Takes the original non-colour-connected daughter of the resonance to always take the full recoil. E.g. in t->bW the recoiler is always the W. This is equivalent to setting TimeShower:recoilToColoured = off for Pythia.

Evolution with Enhanced (Biased) Kernels

VINCIA's shower evolution can be biased to populate the multi-jet phase space more efficiently and/or enhance the rate of rare processes such as g→bb and g→cc splittings. It is also possible to inhibit radiation (e.g., to focus on Sudakov regions), by choosing enhancement factors smaller than unity. When these options are used, it is important to note that the event weights will be modified, reflecting that some types of events (e.g., multijet events, or events with gluon splittings to heavy quarks) will be "overrepresented" statistically, and others (events with few jets, or events with no gluon splittings to heavy quarks) underrepresented. Averages and histograms will therefore only be correct if computed using the correct weight for each generated event. A description and proof of the algorithm can be found in [MS16]. Note that care has been taken to ensure that the weights remain positive definite; under normal circumstances, VINCIA's enhancement algorithm should not result in any negative weights.

flag  Vincia:enhanceInHardProcess   (default = on)
This flag controls whether the enhancement factors are applied to shower branchings in the hard-process system.

flag  Vincia:enhanceInResonanceDecays   (default = on)
This flag controls whether the enhancement factors are applied to shower branchings inside resonance-decay systems (like Z/W/H decays) that are treated as factorised from the hard process.

flag  Vincia:enhanceInMPIshowers   (default = off)
This flag controls whether the enhancement factors are applied to shower branchings in MPI systems.

parm  Vincia:enhanceFacAll   (default = 1.0; minimum = 0.01; maximum = 100.0)
This enhancement factor is applied as a multiplicative factor common to all antenna functions, increasing the likelihood of all shower branchings by the same amount. Values greater than unity thus more frequently yields "busy" events, with many shower branchings. Values smaller than unity suppress additional branchings, yielding more Sudakov-like events.

parm  Vincia:enhanceFacBottom   (default = 1.0; minimum = 1.0; maximum = 100.0)
This enhances the probability for all branchings that increase the number of bottom quarks (i.e., FSR g→bb splittings and the corresponding ISR flavour-excitation process). Note: this factor is applied on top of Vincia:biasAll.

parm  Vincia:enhanceFacCharm   (default = 1.0; minimum = 1.0; maximum = 100.0)
Same as Vincia:enhanceFacBottom but for charm quarks. Note: this factor is applied on top of Vincia:biasAll.

parm  Vincia:enhanceCutoff   (default = 10.0; minimum = 0.0; maximum = 1000.0)
Do not apply enhancement factors to branchings below this scale. Intended to be used to focus on enhancements of hard branchings only.

Interleaved Resonance Decays

Decays of resonances produced in the hard process can be interleaved with the shower evolution (see also further comments under the equivalent option for Pythia's TimelikeShowers). In VINCIA, this setting is controlled by the following switch:

flag  Vincia:interleaveResDec   (default = on)
When this flag is set to on, decays of hard-process resonances are performed as part of the final-state shower when the event evolution reaches the pT scale defined by VINCIA:resDecScaleChoice below. An internal shower which preserves the invariant mass of the resonance is then performed inside the resonance-decay system (including nested sequential resonance decays) until that system reaches the same overall pT scale as the rest of the event, at which point the resonance-decay system is merged back into the upstream system and the event evolution continues. When this flag is set to off, resonance decays are only performed after the shower off the production process has been completed. All of the subsequent FSR is carried out inside the resonance, with preserved resonance mass.

When decays of hard-process resonances are interleaved with the shower evolution (and for any resonances produced by VINCIA's electroweak shower), the evolution scale at which these decays are performed (including showers and any nested resonance decays at higher scales) is controlled by the following choice:

mode  Vincia:resDecScaleChoice   (default = 1; minimum = 0; maximum = 2)

option 0 : Resonance decays are assigned a fixed scale equal to the on-shell width of the given resonance. (This option is currently not implemented for resonances produced by VINCIA's EW shower.)
option 1 : Resonance decays are assigned a dynamical scale given by |m2 - m02|/m0. This implies, e.g., that the decay of a resonance which has m = m0 ± Γ will be performed at a scale pT ~ sqrt(2) Γ.
option 2 : Resonance decays are assigned a dynamical scale given by sqrt(|m2 - m02|). This implies, e.g., that the decay of a resonance which has m = m0 ± Γ will be performed at a scale pT ~ sqrt(2 Γ m0 ).

Further Shower Settings

VINCIA Tunes

VINCIA has its own set of dedicated tune presets, which can be specified by the user.

mode  Vincia:Tune   (default = 0; minimum = -1; maximum = 0)

option -1 : None. No VINCIA-specific tune parameter settings will be used during initialisation.
option 0 : Hadronisation and MPI parameters optimised for use with the VINCIA shower model, used as default VINCIA parameters since PYTHIA 8.302.

Note: the requested tune parameters will only be activated when VINCIA is switched on, in order not to interfere with the PYTHIA settings when VINCIA is switched off.

Note 2: as with ordinary Pythia tune parameters, the tuned parameter values will be superseded by any user modifications made in the user's command file or main program. This should allow sufficient flexibility to explore user variations away from the tuned values.

Advice on Tuning

Although there are obviously parameters that it makes more sense to tune than others, there is no explicit restriction imposed on what parameters are allowed to be present in the tune file. This implies some responsibility on the part of the user.

As a guideline, the main parameters that need to be properly tuned are the non-perturbative hadronisation parameters used in PYTHIA's string fragmentation model. Since PYTHIA and VINCIA treat soft radiation somewhat differently, there can be important differences between the two in the soft region that the hadronisation model will not re-absorb automatically and which therefore only a retuning can address.

The strategy used for the default tune of VINCIA is to take the reference value for alphaS from the current world average value in the MSbar scheme, and let the effective shower scheme tuning be done by first translating to the CMW scheme and then fine-tune by modifying the renormalisation-scale prefactors used for shower branchings.

An alternative (but equivalent) strategy that is often used in PYTHIA tunes, is to perceive of the value of the strong coupling itself as a tuning parameter. In this case the interpretation is that extracting alphaS from, e.g., event shapes, can be done equally well using a shower code as with more analytical approaches. The difference is that the alphaS value extracted with the shower code is in an a priori unknown scheme, defined by the shower algorithm. If the shower only includes LO/LL accuracy for the given observable(s), the extraction should be compared with other LO/LL extractions. This typically yields alphaS values ~ 0.13 - 0.14. When explicit NLO corrections are included for the relevant observable(s), values comparable to other NLO extractions should result, around 0.12.

Expert Settings

Importante Note: the parameters in this section are intended for use only by authors or expert users.

Octet Partitioning

Within the antenna formalism, the collinear singularity of two gluons j and k is distributed between two neighboring antennae. One contains the singularity for j becoming soft, one the singularity for k becoming soft. In showers based on so-called global antenna functions (as opposed to sector functions), the two antennae share the collinear singularity, j||k, point by point in phase space, and only after summing over both is the full collinear AP splitting kernel recovered. The parameter below controls the repartition ambiguity and gives the value of "half" the gluon splitting function on its finite end. For sector showers, this parameter has no effect, as the collinear singularities are combined within a single antenna function.

parm  Vincia:octetPartitioning   (default = 0.0; minimum = 0.0; maximum = 1.0)
Gluon-collinear α parameter. Only used for final-final global antennae. Note: only the default value (0) is consistent with the initial-final (and initial-initial) antenna functions in VINCIA. Special values of interest are: α=0, which corresponds to the Gehrmann-Gehrmann-de Ridder-Glover (GGG) partitioning, and α=1, which corresponds to the Gustafson (ARIADNE) partitioning. For the sector shower, the octetPartitioning is forced to α=1, to ensure positivity of the antenna function and as there is no sensible meaning of the parameter anymore.

Verbose Level

mode  Vincia:verbose   (default = 1; minimum = -1; maximum = 3)
Level of detail of information written to standard output on what goes on inside VINCIA.
option -1 : No runtime output.
option 0 : Quiet. Errors and (important) warnings are printed.
option 1 : Normal. All warnings and error messages are printed, but no additional diagnostic output is given. Standard initialisation and summary information is also printed.
option 2 : Report. Enhanced runtime output. As for =1, but additional diagnostic information is printed, especially when/where errors occur, and additional self-consistency checks may be performed. Full initialisation and summary information is printed.
option 3 : Debug. This level is solely intended to assist authors for debugging purposes.

Numerical Checks

flag  Vincia:CheckAntennae   (default = on)
By default, VINCIA checks antenna functions for positivity and absence of dead zones. Switch to control whether to perform antenna self-consistency checks or not.

mode  Vincia:nPointsCheck   (default = 1000; minimum = 0; maximum = 1e6)
Number of random points to check each antenna functions for positivity.

parm  Vincia:deadZoneAvoidance   (default = 0.0001; minimum = 0.0; maximum = 1.0)
During initialisation, warnings are issued if any antenna functions (in dimensionless form, with the Eikonal proportional to 2/y1/y2) become smaller than this number, anywhere in the resolved part of phase space (away from phase-space boundaries). This is to warn against spurious radiation zeroes or large negative finite terms creating "dead zones", or near-dead zones, in the shower. For LL showering and matching up to NLO, there is in principle no problem in taking this parameter to zero if so desired. However, for the NLL and higher-order matching corrections, very small values of this parameter may result in weights greater than unity being generated, since the corrections are multiplicative and large reweighting factors may be needed to "make up" for any near-dead zones at the previous branching step.

Shower Uncertainty Bands

Automated uncertainty bands are not available in this version of the VINCIA code.

References

The main references for the current version of VINCIA are:

Authors and Contributions

The authors of the current version, taking active responsibility for code development and day-to-day maintenance, are

In addition, the following people have made significant individual contributions to the underlying formalism and code development of VINCIA: