Automated Variations of Shower Parameters for Uncertainty Bands and Enhancement of Rare Splittings

  1. Specifying the Variations
  2. Accessing the Uncertainty Weights
  3. NLO Compensation Term for Renormalisation-Scale Variations
  4. List of Recognised Keywords for Uncertainty Variations
  5. Enhanced rate of rare shower splittings
While a number of different central "tunes" of the Pythia parameters are provided, it is often desired to study how event properties change when some of the parameters (such as those describing the parton showers) are varied. Pythia has the ability to provide a series of weights to reflect the change in probability for a particular final state to occur when a subset of parton-shower parameters are varied. Details on the implementation and interpretation of these weights can be found in [Mre16]. Currently, the list of available automated variations (see full list below) includes: Similar variations would be possible for QED emissions, but these have not yet been implemented.

Since the computation of the uncertainty variations takes additional CPU time (albeit much less than would be required for independent runs with the equivalent variations), the automated uncertainty variations are switched off by default.

flag  UncertaintyBands:doVariations   (default = off)
Master switch to perform variations.

The main intended purpose of these variations is to estimate perturbative uncertainties associated with the parton showers. Due to the pole at LambdaQCD, however, branchings near the perturbative cutoff can nominally result in very large reweighting factors, which is unwanted for typical applications. We therefore enable to limit the absolute (plus/minus) magnitude by which alphaS is allowed to vary by

parm  UncertaintyBands:deltaAlphaSmax   (default = 0.2; minimum = 0.0; maximum = 1.0)
The allowed range of variation of alphaS, interpreted as abs(alphaSprime - alphaS) < deltaAlphaSmax.

Likewise, non-singular-term variations are mainly intended to capture uncertainties related to missing higher-order tree-level matrix elements and are hence normally uninteresting for very soft branchings. The following parameter allows to switch off the variations of non-singular terms below a fixed perturbative threshold:

parm  UncertaintyBands:cNSpTmin   (default = 5.0; minimum = 0.0; maximum = 20.0)
Variations of non-singular terms will not be performed for branchings occurring below this threshold.

By default, the automated shower uncertainty variations are enabled for the showers off the hardest interaction (and associated resonance decays), but not for the showers off MPI systems which would be more properly labeled as underlying-event uncertainties. If desired, the variations can be applied also to showers off MPI systems via the following switch:

flag  UncertaintyBands:MPIshowers   (default = off)
Flag specifying whether the automated shower variations include showers off MPI systems or not. Note that substantially larger weight fluctuations must be expected when including shower variations for MPI, due to the (many) more systems which then enter in the reweightings.

The following parameters allow one to switch off all variations below a fixed threshold. It is specified in terms of a multiplier for the TimeShower:pTmin squared (FSR) or SpaceShower:pT0Ref squared (ISR). A separate cutoff can be specified for ISR or FSR:

parm  UncertaintyBands:ISRpTmin2Fac   (default = 4.0; minimum = 0.0; maximum = 100.0)
Variations will not be performed for ISR branchings occurring below the threshold fixed by UncertaintyBands:ISRpTmin2Fac times SpaceShower:pT0Ref^2 .

parm  UncertaintyBands:FSRpTmin2Fac   (default = 4.0; minimum = 0.0; maximum = 100.0)
Variations will not be performed for FSR branchings occurring below the threshold fixed by UncertaintyBands:FSRpTmin2Fac times TimeShower:pTmin^2 .

To ensure coverage of the phase space for the variations, the overestimate of the Sudakov used in the veto algorithm is artifically increased, which is compensated in the rejection factor. A larger factor reduces fluctuations at the cost of a longer generation time. The default parameters chosen are a compromise between time and fluctuations.

parm  UncertaintyBands:overSampleFSR   (default = 3.0; minimum = 1.0; maximum = 10.0)
The QCD FSR Sudakov is artificially increased by this factor. The increase is compensated for in the veto algorithm.

parm  UncertaintyBands:overSampleISR   (default = 2.0; minimum = 1.0; maximum = 10.0)
The similar parameter for the QCD ISR Sudakov.

The user can control whether the variations are calculated in all or specific stages of the event generation:

mode  UncertaintyBands:type   (default = 0; minimum = 0; maximum = 2)

option 0 : Variations are calculated where allowed;
option 1 : only for the process (including ISR and FSR);
option 2 : only for resonance decay and showering;

Merging Warning: in multi-jet merging approaches, trial showers are used to generate missing Sudakov factor corrections to the hard matrix elements. Currently that framework is not consistently combined with the variations introduced here, so the two should not be used simultaneously. This restriction will be lifted in a future release.

Specifying the Variations

When UncertaintyBands:doVariations is switched on, the user can define an arbitrary number of uncertainty variations to perform. To allow for combinations of individual parameter variations (such as a simultaneous variation of both the ISR and FSR renormalisation scales), the user generally requests groups of variations, each of which may consist of one or several individual variations. The format for specifying each variation group is:
    Label keyword1=value keyword2=value ... 
where the user has complete freedom to specify the label, and each keyword must be selected from the list of currently recognised keywords below. Instead of an equal sign it is also possible to leave a blank between a keyword and its value.

To exemplify, an uncertainty variation corresponding to simultaneously increasing both the ISR and FSR renormalisation scales by a factor of two would be defined as follows

    myVariation1 fsr:muRfac=2.0 isr:muRfac=2.0 

Staying within the context of this example, the user might also want to check what a variation of the two scales independently of each other would produce. This can be achieved within the same run by adding two further variations, as follows:

    myVariation2 fsr:muRfac=2.0 
    myVariation3 isr:muRfac=2.0 
Different histograms can then be filled with each set of weights as desired (see the Cross Sections and Weights page for how to access the weights). Variations by smaller or larger factors can obviously also be added in the same way, again within one and the same run.

Note that, internally, Pythia only keeps track of the individual component variations. These are then combined together suitably in the output when requested. I.e., in the example above, Pythia only keeps internal track of two weight variations, for fsr:muRfac=2.0 and isr:muRfac=2.0 respectively; these are then combined together on the fly if the user requests the weight for the myVariation1 group. See the Cross Sections and Weights page for how to access both individual and group weights.

Once a list of variations defined as above has been decided on, the whole list should be passed to Pythia in the form of a single "vector of strings", defined as follows:

wvec  UncertaintyBands:List   (default = {alphaShi fsr:muRfac=0.5 isr:muRfac=0.5, alphaSlo fsr:muRfac=2.0 isr:muRfac=2.0, hardHi fsr:cNS=2.0 isr:cNS=2.0, hardLo fsr:cNS=-2.0 isr:cNS=-2.0})
Vector of uncertainty-variation strings defining which variations will be calculated by Pythia when UncertaintyBands:doVariations is switched on.

For completeness, we note that a command-file specification equivalent to the above default variations could look as follows:

    UncertaintyBands:List = { 
        alphaShi fsr:muRfac=0.5 isr:muRfac=0.5, 
        alphaSlo fsr:muRfac=2.0 isr:muRfac=2.0, 
        hardHi fsr:cNS=2.0 isr:cNS=2.0, 
        hardLo fsr:cNS=-2.0 isr:cNS=-2.0 
Note that keywords separated only by spaces are interpreted as belonging to a single group of simultaneous variations, while different groups are separated by commas. Note also that the beginning and end of the vector is marked by curly braces.

The combination of variations in a group has a total weight that is the product of those for the corresponding individual parameter variations. The individual parameter variations are bookkept separately because:
(1) there is some potential redundancy of individual parameter variations between different groups,
(2) they are often accumulated in different parts of the code, and
(3) the user might want to deconvolute the products in the group.

In the example given above, there are 8 individual parameter variations fsr:muRfac=0.5,isr:muRfac=0.5,fsr:muRfac=2.0,isr:muRfac=2.0, fsr:cNS=2.0,isr:cNS=2.0,fsr:cNS=-2.0,isr:cNS=-2.0 and 4 groups alphaShi,alphaSlo,hardHi,hardLo.

Accessing the Uncertainty Weights

The methods for how to access the uncertainty weights are collected and documented on the Cross Sections and Weights page.

NLO Compensation Term for Renormalisation-Scale Variations

Additionally, there is a run-time parameter:

flag  UncertaintyBands:muSoftCorr   (default = on)
This flags tells the shower to apply an O(αS2) compensation term to the renormalization-scale variations, which reduces their magnitude for soft emissions, as described in [Mre16].

List of Recognised Keywords for Uncertainty Variations

The following keywords adjust the renormalisation scales and non-singular terms for all FSR and ISR branchings, respectively: Note that the muRfac parameters are applied linearly to the renormalisation scale, hence μ2 → (muRfac)22.

The keywords for PDF variations (plus and minus) is:

The number is not used, but is there for syntactical consistency. Note, this uses the formula from the LHAPDF6 library to calculate the variation.

Alternatively, the variation from the default to any other individual PDF member is calculated using the following syntax:

To force the calculation for ALL members of the PDF family, then use: The number is not used.

Optionally, a further level of detail can be accessed by specifying variations for specific types of branchings, with the global keywords above corresponding to setting the same value for all branchings. Using the fsr:muRfac parameter for illustration, the individual branching types that can be specified are:

For the distinction between Q2QG and X2XG, the following switch can be used to control whether b and t quarks are considered to be Q or X particles (e.g. providing a simple way to control top-quark or bottom-quark radiation independently of the rest of the shower uncertainties):

mode  UncertaintyBands:nFlavQ   (default = 6; minimum = 2; maximum = 6)
Number of quark flavours controlled via Q2QG keywords, with higher ID codes controlled by X2XG keywords. Thus a change to 5 would mean that top-quark variations would use X2XG keyword values instead of the corresponding Q2QG ones.

Enhanced rate of rare shower splittings

PYTHIA also offers possibilities to enhance the frequency of rare splittings. This is not a trivial task, since a simple "upweighting" of splittings would produce a mismatch between emission and no-emission probabilities, leading to a violation of the principle that the parton shower should not change the inclusive (input) cross section. Nevertheless, a general algorithm that allows for increased emission probabilities, while keeping no-emission factors intact, was presented in [Lon13a].

In [Lon13a] two types of enhancements are proposed: those of "regular" shower emissions, and those of trial shower emissions, the latter as part of the mandatory Sudakov reweighting in ME+PS merging schemes. Both of these possibilities are accessible through the same machinery as for the parton shower variations, but cannot be used at the same time.

The price to pay for these enhancements is that events come with a compensatory weight. The advantages of obtaining higher statistics for rare branchings thus is mitigated, and the usefulness has to be evaluated case by case.

Currently enhancements of ISR and FSR branchings have been included. These enhancements are currently not phase-space dependent, i.e. emissions will be enhanced uniformly in phase space.

To increase statistics of rare emissions in the showers, e.g. QED or weak radiation, Pythia supplies the following settings implementing the strategy of section 4 in [Lon13a].

Since the computation of enhanced splittings also takes additional CPU time (albeit much less than would be required for independent runs with the equivalent variations), such enhancements are switched off by default.

flag  Enhancements:doEnhance   (default = off)
Master switch to perform enhanced splittings. If activated, the enhancement factors in EnhancedSplittings:List will be used to rescale the splitting probabilities. The list of desired enhancements should be passed to Pythia in the form of a single "vector of strings", defined as follows:

wvec  EnhancedSplittings:List   (default = {isr:Q2QA=50.,isr:Q2AQ=50.,fsr:Q2QA=50.0})
Currently, the following input names are recognized by the PYTHIA showers, and can thus be used to enhance the respective splittings.

ISR QCD branchings:
isr:G2GG for g → g + g,
isr:G2QQ for g → q + qbar,
isr:Q2QG for q → q + g,
isr:Q2GQ for q → g + q;

ISR QED branchings:
isr:Q2QA for q → q + photon,
isr:Q2AQ for q → photon + q;

ISR weak shower branchings:
isr:Q2QW for q → q + W or q → q + Z;

FSR QCD branchings:
fsr:G2GG for g → g + g,
fsr:G2QQ for g → q + qbar with q a light quark,
fsr:Q2QG for q → q + g;

FSR QED branchings:
fsr:Q2QA for q → q + photon,
fsr:A2QQ for photon → q + qbar,
fsr:A2LL for photon → lepton + antilepton,

FSR weak shower branchings:
fsr:Q2QW for q → q + W or q → q + Z;

FSR hidden valley branchings:
fsr:Q2QHV for all hidden valley branchings.

Charge-conjugated branchings are included whenever relevant. Note that the order of the daughters matters: in the backwards evolution machinery the step is from the first daughter to the mother by the emission of the second daughter.

Let's consider some examples. The evolution step changing the partonic state from q qbar → e+ e- to g qbar → e+ e- qbar through an initial state splitting can be enhanced by allowing a non-unity enhancement value for the splitting isr:G2QQ. Another evolution step changing g qbar → e+ e- qbar to g qbar → e+ e- qbar gluon through FSR (ISR) can be enhanced by allowing a non-unity enhancement value for the splitting fsr:Q2QG (isr:Q2QG). Yet another ISR branching converting g qbar → e+ e- qbar to q qbar → e+ e- qbar q can be enhanced by non-unity enhancement value for the splitting isr:Q2GQ (note the ordering in the branching name).

In the context of merging, it can be beneficial to allow for enhanced trial emissions. As discussed in section 3 of [Lon13a], this means that the Sudakov factors that are commonly generated by event vetoes based on trial emissions (see e.g. [Lon11]) are instead given by small but non-vanishing event weights. This can have advantages, since all events of an input sample will be retained. Pythia allows users to enhance trial emissions by using the following setting.

flag  Enhancements:doEnhanceTrial   (default = off)
Master switch to perform enhanced trial splittings, which are used in CKKWL-type merging trial showers.

If you use enhanced emissions or enhanced trial emissions, it is paramount to attribute a corrective weight to each event containing enhanced emissions. For enhanced emissions, the weight is included in the usual shower weight, for enhanced trial emissions, it is included in the merging weight. See the Cross Sections and Weights page for more details.

A simple example of enhanced regular emissions is provided in