Care has been taken to ensure that all events generated by VINCIA by default have weights which are positive and equal to unity. Indeed, this property is central both to the shower and to the matching scheme. Ordinary runs should therefore produce a simple set of unweighted events, equivalent to normal PYTHIA 8 output.
However, Vincia does allow for weighted events to be generated, in
some circumstances. The simplest case is when it is used to shower a
set of externally generated weighted events, in which case VINCIA
normally just passes the weights through, without modification.
However, in a few cases VINCIA may actively modify the input event
weight, as, e.g., in the automatic evaluation of
uncertainty bands.
If changes to the event weight are made, these are
properly bookkept and the final weight is accessible after
the event has been fully generated through the weight()
method in the Vincia plugin. For instance, if the
VinciaPlugin
object is called vincia
the
generated event weight can be accessed by
vincia.weight();
Convenient yes/no shorthands for checking whether any negative weights w < 0 and/or any non-unity weights have been generated at all (during the current run) are provided by the methods
bool vincia.negativeWeightOccurred();
bool vincia.nonunityWeightOccurred();
Again, note that VINCIA's weights fully include any non-unity
input weights associated with the event from PYTHIA (normally,
PYTHIA's weights are unity, but, as mentioned, when using external
events, e.g., from LHEF files, these can in principle come with
non-unity weights). The weight VINCIA started from is
not modified and remains accessible through PYTHIA's
own info.weight()
method.