Weights

VINCIA will generate weighted events for all non-QCD LHC processes, i.e. for all processes with incoming partons and no outgoing QCD jets. For those processes, VINCIA uses two event samples (not visible to the user), see the section about hard jets. This procedure modifies the normal PYTHIA 8 weight.

Another example is when VINCIA is used to shower a set of externally generated weighted events, in which case VINCIA normally just passes the weights through, without modification.

This initial event weight that VINCIA uses to start off the showering, can be accessed by weightInit() method in the VINCIA plugin. For instance, if the VinciaPlugin object is called vincia the initial event weight can be accessed by

vincia.weightInit();
This weight has to be used to take into account the modifications made to PYTHIA's cross section. See e.g. examples/vincia24.cc on how to take this into account properly.
The method
bool vincia.weightingOccurred();
provides information about whether the run contains any events with initial weights other than unity.

In a few cases VINCIA may actively modify the initial event weight, as, e.g., in the automatic evaluation of uncertainty bands.

In some cases, VINCIA's shower or matching scheme may cause violations of the Monte Carlo overestimates used to drive the evolution. In such cases, warnings are normally printed to the output, giving the magnitude of the violation as well as some minimal information about what caused the violation. VINCIA automatically adjust the overestimates on the fly, i.e. in case of a violation the overestimate will be increased slightly. The overestimates will also be optimised (i.e. if the overestimate is a too large VINCIA will slowly decrease it), depending on the following flag:

flag  Vincia:MCoptimization   (default = on)

option on : The overestimates will be decreased slowly if the physical branching probabilies are much smaller than the overestimate.
option off : No optimisation. The overestimates will only be increased, never decreased.

Note that switching Vincia:MCoptimization off generally leads to fewer violations; however, it also decreases the speed a bit.

In addition, you can force VINCIA to change the weight of the generated event in cases of violations of the Monte Carlo overestimates, using the following flag:

flag  Vincia:allowReweighting   (default = off)
Flag to allow VINCIA to modify initial event weights in case violations of the Monte Carlo overestimates occur during the event evolution. Weighting algorithm taken from JHEP 1209 (2012) 049.

If changes to the initial event weight are made, these are bookkept and the final weight is accessible through

vincia.weight();
Note that VINCIA's weights fully include any non-unity initial weights as well as modifications due to violations of the Monte Carlo overestimates.

A convenient yes/no shorthand for checking whether any initial event weights were modified during the current run is provided by the method

bool vincia.reweightingOccurred();

PYTHIA's own weight has not been changed and is still accessible with it's own info.weight() method (note that for non-QCD processes at the LHC this does not include VINCIA's weighting factor to generate two event samples).