A small library of matrix elements obtained with MADGRAPH version 4 (MG4) are included with the standard VINCIA release, along with the corresponding HELAS routines. Through its MG interface, VINCIA is able to match to these matrix elements during the shower evolution.
flag
Vincia:MGInterface
(default = on
)Note: see the section on Useful References for additional references to include when using the matrix elements provided by this interface.
The procedure for including a new matrix element is not intended for general users at this point, but is documented here for reference:
The MADGRAPH matrix elements included with VINCIA are
located together with the actual interface code
in VINCIA's MGInterface/
subdirectory. They
are ordinary MADGRAPH matrix element routines, which have been
renamed and modified slightly for use by VINCIA. Most of this
conversion is done automatically, by a script. Implementing new
matrix elements should therefore be fairly trivial, as long as the
final state corresponds to something that VINCIA can actually
generate. (E.g., implementing matrix elements for DIS or
hadron-collider processes will not suddenly make VINCIA able to
handle such cases, since the shower is not yet developed for that.)
Procedure:
matrix.f
file for the new process, as follows:
MadGraphII/
subdirectory and
executing make
. (Note: if your F77 compiler is not
g77, you may have to edit the first two lines in the makefile for
the compilation to work. To avoid all errors, you may repeat this change
also in the HELAS subdirectory (Makefile.template
),
though VINCIA will not care if the
compilation of HELAS routines fails.) Template/
subdirectory,
call it e.g., tmp/.
Z>qq~
, then Z>qq~g
, etc. Note:
since VINCIA uses colour-ordered amplitudes, write the
states in the colour order you intend to use them (i.e, qgq~
for a gluon "inbetwen" a q and a q~).bin/newprocess
and wait for it to finish.SubProcesses
and
find the directory in there that corresponds to your chosen
process. If everything went well, that subdirectory will
contain a file matrix.f
, which is what we start
from in the steps below.
matrix.f
to replace all occurrences
of include "nexternal.inc"
by the actual contents of the
file "nexternal.inc"
, which is located in the same
subdirectory as matrix.f
. Trick: in emacs, use
Ctrl-x-i to insert the contents of a file directly into the current buffer.matrix.f
together with the diagram
file matrix.ps
to VINCIA's MGInterface/
subdirectory.MGInterface/
subdirectory and run
./convert.sh
. This replaces the
generic MadGraph names by unique ones that can be used
from inside VINCIA, and inserts a rotation in colour space that VINCIA
relies on to include matching to subleading colour.
The new names are automatically determined from the
contents of matrix.f
without intervention from you.convert.sh
should tell you what name
VINCIA has chosen for the modified version
of matrix.f
.z2duxudx.f
matrix element
included with VINCIA for an example and contact the authors if you need
more information.VinciaMGInterface.cc
and scroll down until you come
to a comment line that reads // Wrappers for MG decay matrix
elements
. Insert a new line here, defining the
function name contained in the modified MG matrix element. Be
careful to choose the right dimensionality of the input momentum array.MGInterface::ME2
to insert a call
to the new matrix element at an appropriate place. bool
Matching::isMatched()
in the
file src/VinciaMatching.cc
to specify the new
matching matrix element that is available. To extract individual helicity amplitudes (squared) from MG, it may be useful to know that the helicity information for an amplitude involving n partons (numbered sequentially from [1,...,n], with the two first ones normally being the incoming lines for a 2→n scattering process) is encoded in the single digit IHEL, which for the simple case of massless partons (all having helicities hi = +/- 1) simplifies to: