wiki:PY8Kernel

Version 2 (modified by Olivier Mattelaer, 4 years ago) ( diff )

--

Py8Kernel Plugin

This provide a curated C++ matrix element outputs.

Installation

It can be downloaded at:

  • lp:~py8team/+junk/PY8Kernels_plugin

then copy the plugin you obtained from the launchpad branch "as a" (and not "in a") folder named PY8Kernels in the "PLUGIN' directory.

  • via the command (to be run from the PLUGIN directory)

bzr branch lp:~py8team/+junk/PY8Kernels_plugin

  • from within MG5aMC@NLO (from version 3.2)

install PY8Kernels_plugin

Tutorial

It can be used as follows:

./bin/mg5_aMC --mode=PY8Kernels
PY8Kernels > add process p p > d d~ j QED<=0
PY8Kernels > add process p p > z > d d~ QED<=2
PY8Kernels > output PY8MEs tmp_test
PY8Kernels > exit

cd tmp_test/Processes_sm/
make check
./check

yielding:

Opened slha file param_card_sm.dat for reading
sm model parameters independent of event kinematics:
mdl_WH = 0.006382339
mdl_WW = 2.0476
[...]
Testing the non-existence of a non-available process:
 -> Process '33 43 > 2 5 > 33 2 1 5' is not available.

Testing the evaluation of available processes:
 -> Process '21 21 > 1 -1 21' is available.
 | Momenta:
 | 1 7.50000000000000e+02 0.00000000000000e+00 0.00000000000000e+00 7.50000000000000e+02
 | 2 7.50000000000000e+02 0.00000000000000e+00 0.00000000000000e+00 -7.50000000000000e+02
 | 3 6.87868181828160e+02 2.54179830464520e+02 5.69480493117298e+02 -2.90253711975379e+02
 | 4 5.46099931105227e+02 -2.74948039397878e+01 -5.21556451979051e+02 1.59524411638062e+02
 | 5 2.66031887066613e+02 -2.26685026524732e+02 -4.79240411382473e+01 1.30729300337317e+02
 | Matrix element : 1.86539034007620204e-04 GeV^-2
[...]
 -> Process '3 -3 > 23 > 1 -1' is available.
 | Momenta:
 | 1 7.50000000000000e+02 0.00000000000000e+00 0.00000000000000e+00 7.50000000000000e+02
 | 2 7.50000000000000e+02 0.00000000000000e+00 0.00000000000000e+00 -7.50000000000000e+02
 | 3 7.50000000000015e+02 6.13712352994589e+02 -3.72213384149096e+02 2.17518607117062e+02
 | 4 7.49999999999997e+02 -6.13712352994571e+02 3.72213384149107e+02 -2.17518607117045e+02
 | Matrix element : 4.23176199133015046e-03 GeV^0

For now, the example driver file check_sa.cpp together with the function prototypes of the C++ headers should already help understand how the generated library ../lib/libPY8MEs_sm.a is organised and intended to be linked+used.

In particular, I made it very easy to access a particular process simply by supplying the list of incoming and outgoing PDGs, and there is also facilities for easily accessing color-ordered Matrix elements and for specific helicities. It can basically function as an API for accessing any ME.

Note: See TracWiki for help on using the wiki.