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.
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 the same file
include/Pythia8Plugins/PowhegHooks.h
as the standard
PYTHIA POWHEG hooks, and the usage is the same as for Pythia's
PowhegHooks
, described here.
Any existing main program (e.g. main152.cc
) that uses
POWHEG-BOX+Pythia can be adapted to use VINCIA with POWHEG-BOX, simply
by changing the shower model and setting
Vincia:pTmaxMatch = 2
and Vincia:pTdampMatch = 3
as recommended here.
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.
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 hard processes that include at least one
final-state quark, gluon, or photon, are started at the factorisation
scale (wimpy showers), while processes that do not include any such
partons are started at the phase-space maximum (power showers). Note
that only partons that can be emitted by showers are included in this
counting, hence top quarks are not included for
Vincia:nGluonToQuark < = 5
.
option
1 : Showers are always started at the factorisation
scale (wimpy showers).
option
2 : Showers off hard processes are always started at the
phase-space maximum (power showers). 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.
mode
Vincia:pTdampMatch
(default = 3
; minimum = 0
; maximum = 4
)
For any systems that are treated with power showers, a dampening
factor may be applied to dampen radiation above a given scale.
option
0 : emissions go up to the kinematical limit,
with no special dampening.
option
1 : emissions go up to the kinematical limit,
but dampened by a factor k^2 Q^2_fac/(pT^2 + k^2 Q^2_fac),
where Q_fac is the factorization scale and k is a
multiplicative fudge factor stored in pTdampFudge
below.
option
2 : emissions go up to the kinematical limit,
but dampened by a factor k^2 Q^2_scale/(pT^2 + k^2 Q^2_scale),
where Q_scale is the geometric mean of the
scale
properties for the incoming partons for the given
system. Note the interpretation of this option differs from that for
the analogous value in the Simple Shower.
option
3 : as option 1, but in addition to the standard requirements
for dampening it is further necessary to have at least two top or
beyond-the-Standard-Model coloured particles in the final state.
Examples include t tbar and squark gluino
production.
option
4 : as option 2, but in addition to the standard requirements
for dampening it is further necessary to have at least two top or
beyond-the-Standard-Model coloured particles in the final state.
Examples include t tbar and squark gluino
production.
parm
Vincia:pTdampFudge
(default = 1.0
; minimum = 0.25
; maximum = 4.0
)
In cases above where a dampening is imposed at around a specific Q
scale, this parameter allows the pT scale of dampening of
radiation by a half to be shifted by this factor relative to the
default scale. This number ought to be in the neighbourhood of unity,
but variations away from this value could do better in some processes.
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.
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).
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.
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.
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.)
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.
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
).
VINCIA has its own set of dedicated tune presets, which can be
specified by the user. Every tune here can then be equivalently loaded with
the command include = tunes/settings.cmnd
where
settings.cmnd
is the corresponding settings file. In the
future the Vincia:tune
setting will be removed in favor
of the include
syntax.
mode
Vincia:Tune
(default = -1
; minimum = -1
; maximum = 0
)
option
-1 : None. No VINCIA-specific tune parameter settings
will be used during initialisation.
option
0 : (tunes/VinciaDefault.cmnd
) Hadronization
and MPI parameters optimised for use with the VINCIA shower model,
used as default VINCIA parameters since PYTHIA 8.302.
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.
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 hadronization 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 hadronization 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.
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.
flag
Vincia:debug
(default = off
)
This flag is solely intended to assist authors for debugging purposes.
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.
The main references for the current version of VINCIA are:
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: