| 1 | == Py8Kernel Plugin |
| 2 | |
| 3 | |
| 4 | This provide a curated C++ matrix element outputs. |
| 5 | |
| 6 | === Installation |
| 7 | |
| 8 | It can be downloaded at: |
| 9 | |
| 10 | * lp:~py8team/+junk/PY8Kernels_plugin |
| 11 | then copy the plugin you obtained from the launchpad branch "as a" (and not "in a") folder named `PY8Kernels` in the "PLUGIN' directory. |
| 12 | |
| 13 | * via the command (to be run from the PLUGIN directory) |
| 14 | bzr branch lp:~py8team/+junk/PY8Kernels_plugin |
| 15 | * from within MG5aMC@NLO (from version 3.2) |
| 16 | install PY8Kernels_plugin |
| 17 | |
| 18 | |
| 19 | === Tutorial |
| 20 | |
| 21 | |
| 22 | It can be used as follows: |
| 23 | |
| 24 | ``` |
| 25 | ./bin/mg5_aMC --mode=PY8Kernels |
| 26 | PY8Kernels > add process p p > d d~ j QED<=0 |
| 27 | PY8Kernels > add process p p > z > d d~ QED<=2 |
| 28 | PY8Kernels > output PY8MEs tmp_test |
| 29 | PY8Kernels > exit |
| 30 | |
| 31 | cd tmp_test/Processes_sm/ |
| 32 | make check |
| 33 | ./check |
| 34 | ``` |
| 35 | |
| 36 | yielding: |
| 37 | |
| 38 | ``` |
| 39 | Opened slha file param_card_sm.dat for reading |
| 40 | sm model parameters independent of event kinematics: |
| 41 | mdl_WH = 0.006382339 |
| 42 | mdl_WW = 2.0476 |
| 43 | [...] |
| 44 | Testing the non-existence of a non-available process: |
| 45 | -> Process '33 43 > 2 5 > 33 2 1 5' is not available. |
| 46 | |
| 47 | Testing the evaluation of available processes: |
| 48 | -> Process '21 21 > 1 -1 21' is available. |
| 49 | | Momenta: |
| 50 | | 1 7.50000000000000e+02 0.00000000000000e+00 0.00000000000000e+00 7.50000000000000e+02 |
| 51 | | 2 7.50000000000000e+02 0.00000000000000e+00 0.00000000000000e+00 -7.50000000000000e+02 |
| 52 | | 3 6.87868181828160e+02 2.54179830464520e+02 5.69480493117298e+02 -2.90253711975379e+02 |
| 53 | | 4 5.46099931105227e+02 -2.74948039397878e+01 -5.21556451979051e+02 1.59524411638062e+02 |
| 54 | | 5 2.66031887066613e+02 -2.26685026524732e+02 -4.79240411382473e+01 1.30729300337317e+02 |
| 55 | | Matrix element : 1.86539034007620204e-04 GeV^-2 |
| 56 | [...] |
| 57 | -> Process '3 -3 > 23 > 1 -1' is available. |
| 58 | | Momenta: |
| 59 | | 1 7.50000000000000e+02 0.00000000000000e+00 0.00000000000000e+00 7.50000000000000e+02 |
| 60 | | 2 7.50000000000000e+02 0.00000000000000e+00 0.00000000000000e+00 -7.50000000000000e+02 |
| 61 | | 3 7.50000000000015e+02 6.13712352994589e+02 -3.72213384149096e+02 2.17518607117062e+02 |
| 62 | | 4 7.49999999999997e+02 -6.13712352994571e+02 3.72213384149107e+02 -2.17518607117045e+02 |
| 63 | | Matrix element : 4.23176199133015046e-03 GeV^0 |
| 64 | ``` |
| 65 | |
| 66 | 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. |
| 67 | |
| 68 | 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. |
| 69 | It can basically function as an API for accessing any ME. |