Andrew Lifson - Honours Project 2015

Maximally Helicity Violating amplitudes

For my honours thesis I wrote a C++ program called VinciaMHV to calculate Maximally Helicity Violating (MHV) QCD amplitudes using the spinor-helicity formalism. Traditionally, the 2 → n scatter is calculated by summing Feynman diagrams, however the number of Feynman diagrams has a stronger than factorial growth with the number of final-state particles, hence this method quickly becomes infeasible. We can simplify this calculation by considering helicity amplitudes, in which each particle has its spin either aligned or anti-aligned with its direction of motion, i.e. each particle has a specific helicity. In particular, it is well-known that the helicity amplitude for the MHV configuration is remarkably simple to calculate. In this thesis I describe the physics of the MHV amplitude, how we could use it within a MC event generator, and describe a program we wrote called VinciaMHV which calculates the MHV amplitude for the process q + g → q + ng for n = 1,2,3,4, or any other 2 → n crossing-related process. We tested the speed of VinciaMHV against MadGraph4 and found that VinciaMHV calculates the MHV amplitude significantly faster, especially for high particle multiplicities. We also tested the precision of VinciaMHV by comparing its MHV amplitudes to those of MadGraph4. We found that the two programs agree to better than one part in a billion over 99% of the time, thus validating our program.

I will continue this project in the first half of 2016, during which we aim to use VinciaMHV to calculate efficient matrix-element corrections within the parton-shower program VINCIA, resulting in a fast plugin for the widely used Monte Carlo event generator PYTHIA8. Note that VinciaMHV has already been recently optimised, hence we expect that it is even faster than quoted in my thesis. I will include more speed tests, and regularly update the program here when necessary.

Downloadable Materials and Links


To compile and use VinciaMHV, you will first need a C++ compiler as well as installations of the PYTHIA and VINCIA codes. To run the example program you must input the pythia directory in place of pathToPythia in Makefile. For more instructions see Section 4.2 in the thesis above. Note: Windows machines are not recommended unless you are already very confident in computer programming on that platform.