== 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.