## Matrix Element Corrections

Tree-level Matrix element corrections (MECs) have not yet been re-implemented in the VINCIA shower. This feature will become available in the future. But since both the QCD helicity shower and the EW shower require polarised particles, matrix elements can be used to select helicities for the Born process.

Born-level helicity selection can be enabled by setting the `modeMECs` and the respective `maxMECs` switches (see below) to `0`. Additionally, `Vincia:MEPlugin` must be set to a valid plugin library. By default, these plugins are not built and can be enabled with `./configure --enable-mg5mes`. Plugins exist as libraries of the form `libpythia8mg5PLUGIN.so` in the Pythia library directory where `PLUGIN` is the name of the plugin. A specific plugin is set via `Vincia:MEplugin = PLUGIN`. Further details on generating custom plugins can be found in Madgraph5 Processes. Setting `modeMECs` to `-1` instead turns any use of matrix elements off completely. Setting the respective `maxMECs` switches to `-1` only turns off the usage of matrix elements for that specific process type (e.g. for all 2→1 processes when setting `maxMECs2to1 = -1`).

The main MEC switch is given by:

`mode` Vincia:modeMECs (`default = 0`; `minimum = -1`; `maximum = 0`)
Selects the matrix element correction mode, with `0` switching any MECs off.
`option` -1 : Off. Pure LL shower without any matrix element corrections.
`option` 0 : No matrix element corrections, but allows to use matrix elements to select helicities at Born level.

The matrix element library to be used has to be specified by:

`word` Vincia:MEplugin
Name of the plugin library to use for matrix element corrections and Born-level helicity selection.

### Matching Orders

These modes select the order of tree-level matrix element corrections for different process types.

`mode` Vincia:maxMECs2to1 (`default = 0`; `minimum = -1`; `maximum = 0`)
Selects the order of tree-level matrix-element corrections for hard 2→1 processes. The value `-1` is equivalent to switching matrix-element corrections off while `0` still allows to use matrix elements to select helicities at Born level.

`mode` Vincia:maxMECs2to2 (`default = 0`; `minimum = -1`; `maximum = 0`)
Selects the order of tree-level matrix-element corrections for hard 2→2 processes. The value `-1` is equivalent to switching matrix-element corrections off while `0` still allows to use matrix elements to select helicities at Born level.

`mode` Vincia:maxMECs2toN (`default = 0`; `minimum = -1`; `maximum = 0`)
Selects the order of tree-level matrix-element corrections for hard 2→N processes. The value `-1` is equivalent to switching matrix-element corrections off while `0` still allows to use matrix elements to select helicities at Born level.

`mode` Vincia:maxMECsResDec (`default = 0`; `minimum = -1`; `maximum = 0`)
Selects the order of tree-level matrix-element corrections in resonance decays. The value `-1` is equivalent to switching matrix-element corrections off while `0` still allows to use matrix elements to select helicities at Born level.

`mode` Vincia:maxMECsMPI (`default = -1`; `minimum = -1`; `maximum = 0`)
Selects the order of tree-level matrix-element corrections applied to the hardest MPI in the event. The value `-1` is equivalent to switching matrix-element corrections off while `0` still allows to use matrix elements to select helicities at Born level.