Parton Showers
 
  - Shower Model Selection
- Some details
Shower Model Selection
 
 
As of version 8.3, PYTHIA comes with three different complete 
parton-shower frameworks: the original "simple" showers, the VINCIA 
antenna showers and the Dire dipole showers. Thereby comparisons between 
these different shower approaches become easier. A warning, however, 
is that the integration of VINCIA and Dire is still ongoing, so one 
may expect some adjustments to occur in the next few releases, 
over and above the level of normal evolution. 
 
 
Since early days PYTHIA 8 has allowed external shower programs 
to be linked, thereby replacing the internal simple ones, see the 
Implement New Showers page. 
The VINCIA and Dire codes originally were structured to make use of this 
functionality, but were developed and distributed as separate codes. 
Starting with version 8.300, these two programs now are fully 
integrated into the PYTHIA distributions, and appear on equal footing 
with the old simple showers. Which of the internal shower frameworks 
that will be used in a run is determined by the following switch. 
 
mode   PartonShowers:model   
 (default = 1; minimum = 1; maximum = 3)
Choice of which shower machinery that will be used in PYTHIA (when not 
linking an external shower). 
option  1 : Simple Showers. 
This is the "old" shower framework that has its roots in PYTHIA 6 and 
has been distributed with PYTHIA 8 since the beginning. It is a less 
ambitious project than the other two, but for that reason also more 
mature and stable, which is a reason why it for now remains as default. 
It also has some special features that the other two don't. 
   
option  2 : VINCIA Showers. Based on 
sequences of pT-ordered 2→3 branchings, the VINCIA shower model 
is similar to that of ARIADNE, which it resembles strongly for 
final-state evolution while VINCIA adopts a different 
(backwards-evolution) picture for initial-state radiation. The 
branching kernels, known as antenna functions, treat coherent sums of 
parton pairs without requiring a separation into "radiators" and 
"spectators". The current PYTHIA implementation includes QCD and QED 
2→3 branchings with full mass dependence and, for the latter, 
multipole interference effects. An option for EW showers is also 
available, based on collinear splitting kernels. A few longstanding 
hallmarks of VINCIA, such as automated uncertainty variations and 
(iterated) matrix-element corrections, are not yet available in this 
version. 
   
option  3 : Dire Showers. Dire 
(short for Dipole resummation) implements a transverse-momentum 
ordered dipole shower in which radiator-spectator particle pairs 
evolve simultaneously. The emission phase space is fully symmetric 
between radiator and spectator, while the overall emission probability 
is separated into two pieces corresponding that are enhanced 
(suppressed) in region collinear (anti-collinear) to the radiator or 
the spectator, respectively.  Dire includes QCD and QED emissions, a 
detailed treatment of (quark/lepton) mass effects, and is set up to 
include higher-order corrections, such as triple-collinear or 
double-soft parton emissions. 
   
Further webpages, as linked above (and in the Parton Showers 
section of the left-column index), provide more detailed information 
on the respective framework. 
   
 
 
There are some differences between the showers to be aware of 
 
- The Dire shower comes with a nontrivial variable weight. It is 
therefore important that results for each event are weighted by the 
event weight in pythia.info.weight(), e.g. when filled 
in a histogram. The simple and VINCIA showers by default come with 
unit weight, so do not have that issue. (Non-unit weights can still 
come from the hard-process cross section in some cases, so it is 
prudent always to apply the event weight.)
- While all three shower models do ordinary QCD and QED radiation, 
beyond that the capabilities vary.
- Tuned parameter values for PYTHIA's modeling of 
nonperturbative physics are normally only valid for 
the specific shower model they were tuned with, 
due to differences in perturbative regularisations between the 
three shower models and a nontrivial 
interplay between perturbative and nonperturbative physics modeling 
in general. Both VINCIA 
and Dire therefore come with their own dedicated default tune 
parameters which are activated in different ways, see the respective 
documentation pages.
- As mentioned above, some of the hallmark features of VINCIA during 
its standalone development have not yet been carried over to the 
PYTHIA implementation. This includes (iterated) matrix-element 
corrections, tree-level 2→4 branchings and NLO-corrected 2→ 
3 ones, automated uncertainty variations, and the ROOT-based 
LiveDisplaystool for live histogram displays.  This is 
work in progress and we expect most of these features to reappear in 
future releases of PYTHIA 8.3.
Some details
 
 
Originally the TimeShower and SpaceShower 
classes implemented the simple shower, but also acted as base classes 
from which the external showers derived. This had some disadvantages 
for the purpose of the tighter integration of VINCIA and Dire, so the 
two aspects are now split. The TimeShower and 
SpaceShower classes remain as bare-bones base classes, 
from which the actual showers are derived. The code for the simple 
showers has been moved to the new derived SimpleTimeShower 
and SimpleSpaceShower. An external shower that does not 
use any of the existing shower algorithms will therefore work as before, 
which would be the normal case, but alternatively a shower could derive 
from the new classes and then reuse relevant code in them. 
 
 
Settings names for the simple shower have been retained through this 
transformation, again for reasons of backwards compatibility of user 
code, e.g. in command files. Thus setting names beginning with 
TimeShower:, SpaceShower:, 
WeakShower: or UncertaintyBands: refer 
to the current baseline "simple" showers, and so do the 
HiddenValley: shower-related settings. 
As a rule, the corresponding VINCIA settings begin with 
Vincia: and the Dire ones with Dire:, 
DireTimes:, DireSpace: or 
Variations:. A few of the simple shower settings also 
apply to the other two, as documented on the respective page. 
It is possible that future evolution will standardize some settings, 
while others will be more clearly separated.