# Automatic calculation of particle interaction or decay

The automatic calculation of particle interaction or decay is part of the computational particle physics branch. It refers to computing tools that help calculating the complex particle interactions as studied in high-energy physics, astroparticle physics and cosmology. The goal of the automation is to handle the full sequence of calculations in an automatic (programmed) way: from the Lagrangian expression describing the physics model up to the cross-sections values and to the event generator software.

## Overview

Particle accelerators or colliders produce collisions (interactions) of particles (like the electron or the proton). The colliding particles form the Initial State. In the collision, particles can be annihilated or/and exchanged producing possibly different sets of particles, the Final States. The Initial and Final States of the interaction relate through the so-called scattering matrix (S-matrix).
For example, at LEP, e$^+$ + e$^−$ → e$^+$ + e$^−$ , or e$^+$ + e$^−$ → μ$^+$ + μ$^−$ are processes where the initial state is an electron and a positron colliding to produce an electron and a positron or two muons of opposite charge: the final states. In these simple cases, no automatic packages are needed and cross-section analytical expressions can be easily derived at least for the lowest approximation: the Born approximation also called the leading order or the tree level (as Feynman diagrams have only trunk and branches, no loops).
But particle physics is now requiring much more complex calculations like at LHC $pp\rightarrow n_{\text{jets}}$ where $p$ are protons and $n_{\text{jets}}$ is the number of jets of particles initiated by proton constituents (quarks and gluons). The number of subprocesses describing a given process is so large that automatic tools have been developed to mitigate the burden of hand calculations.
Interactions at HighahEnergih open a large spectrum of possible final states and consequently increase the number of processes to compute.
High precision experiments impose the calculation of higher order calculation, namely the inclusion of subprocesses where more than one virtual particle can be created and annihilated during the interaction lapse creating so-called loops which induce much more involved calculations.
Finally new theoretical models like the supersymmetry model (MSSM in its minimal version) predict a flurry of new processes.
The automatic packages, once seen as mere teaching support, have become, this last 10 years an essential component of the data simulation and analysis suite for all experiments. They help constructing event generators and are sometimes viewed as generators of event generators or Meta-generators.
A particle physics model is essentially described by its Lagrangian. To simulate the production of events through event generators, 3 steps have to be taken. The Automatic Calculation project is to create the tools to make those steps as automatic (or programmed) as possible:
I Feynman rules, coupling and mass generation
* LanHEP is an example of Feynman rules generation.
* Some model needs an additional step to compute, based on some parameters, the mass and coupling of new predicted particles.
II Matrix element code generation: Various methods are used to automatically produce the matrix element expression in a computer language (Fortran, C/C++). They use values (i.e. for the masses) or expressions (i.e. for the couplings) produced by step I or model specific libraries constructed by hands (usually heavily relying on Computer algebra languages). When this expression is integrated (usually numerically) over the internal degrees of freedom it will provide the total and differential cross-sections for a given set of initial parameters like the initial state particle energies and polarization.
III Event generator code generation: This code must them be interfaced to other packages to fully provide the actual final state. The various effects or phenomenon that need to be implemeted are:
* Initial state radiation and beamstrahlung for e$^+$ e$^−$ initial states.
* Parton distribution functions describing the actual content in terms of gluons and quarks of the p or p-bar initial state particles
* Parton showering describing the way final state quarks or gluons due to the QCD confinement generate additional quark/gluon pairs generating a so-called shower of partons before transforming into hadrons.
* Hadronization describing how the final quark pairs/triplets form the visible and detectable hadrons.
* Underlying event takes care of the way the rest, in term of constituent, of the initial protons also contribute to any given event.
The interplay or matching of the precise matrix element calculation and the approximations resulting from the simulation of the parton shower gives rise to further complications, either within a given level of precision like at leading order (LO) for the production of n jets or between two levels of precision when tempting to connect matrix element computed at next-to-leading (NLO) (1-loop) or next-to-next-leading order (NNLO) (2-loops) with LO partons shower package.
Several methods have been developed for this matching, including: Subtraction methods.
But the only correct way is to match packages at the same level theoretical accuracy like the NLO matrix element calculation with NLO parton shower packages. This is currently in development.

## History

The idea of automation of the calculations in high-energy physics is not new. It dates back to the 1960s when packages such as SCHOONSCHIP and then REDUCE had been developed.
These are symbolic manipulation codes that automatize the algebraic parts of a matrix element evaluation, like traces on Dirac matrices and contraction of Lorentz indices. Such codes have evolved quite a lot with applications not only optimized for high-energy physics like FORM but also more general purpose programs like Mathematica and Maple.
Generation of QED Feynman graphs at any order in the coupling constant was automatized in the late 70's[15]. One of the first major application of these early developments in this field was the calculation of the anomalous magnetic moments of the electron and the muon[16]. The first automatic system incorporating all the steps for the calculation of a cross section, from Feynman graph generation, amplitude generation through a REDUCE source code that produces a FORTRAN code, phase space integration and event generation with BASES/SPRING[17] is GRAND[18]. It was limited to tree-level processes in QED. In the early nineties, a few groups started to develop packages aiming at the automation in the SM[19].

## Matrix element calculation methods
### Helicity amplitude

Feynman amplitudes are written in terms of spinor products of wave functions for massless fermions, and then evaluated numerically before the amplitudes are squared. Taking into account fermion masses implies that Feynman amplitudes are decomposed into vertex amplitudes by splitting the internal lines into wave function of fermions and polarization vectors of gauge bosons.
All helicity configuration can be computed independently.

### Helicity amplitude squared

The method is similar to the previous one, but the numerical calculation is performed after squaring the Feynman Amplitude. The final expression is shorter and therefore faster to compute, but independent helicity information are not anymore available.

### Dyson-Schwinger recursive equations

The scattering amplitude is evaluated recursively through a set of Dyson-Schwinger equations. The computational cost of this algorithm grows asymptotically as 3$^n$, where n is the number of particles involved in the process, compared to n! in the traditional Feynman graphs approach. Unitary gauge is used and mass effects are available as well. Additionally, the color and helicity structures are appropriately transformed so the usual summation is replaced by the Monte Carlo techniques.

## Additional package for Event generation

The integration of the "matrix element" over the multidimensional internal parameters phase space provides the total and differential cross-sections. Each point of this phase space is associated to an event probability. This is used to randomly generate events closely mimicking experimental data. This is called event generation, the first step in the complete chain of event simulation. The initial and final state particles can be elementary particles like electrons, muons, or photons but also partons (protons and neutrons).
More effects must then be implemented to reproduce real life events as those detected at the colliders.
The initial electron or positron may undergo radiation before they actually interact: initial state radiation and beamstrahlung.
The bare partons that do not exist in nature (they are confined inside the hadrons) must be so to say dressed so that they form the known hadrons or mesons. They are made in two steps: parton shower and hadronization.
When the initial state particles are protons at high energy, it is only their constituents which interact. Therefore, the specific parton that will experience the "hard interaction" has to be selected. Structure functions must therefore be implemented. The other parton may interact "softly", and must also be simulated as they contribute to the complexity of the event: the underlying event.

### Structure and Fragmentation Functions

The fragmentation function (F.F.) is a probability distribution function. It is used to find the density function of fragmented mesons in hadron -hadron collision.
The structure function, like the fragmentation function, is also a probability density function. It is analogous to the structure factor in solid-state physics.

### Underlying event
## Model specific packages
### MSSM

Automatic software packages can be useful in exploring a number of Beyond the Standard Model (BSM) theories, such as the Minimal Supersymmetric Standard Model (MSSM), to predict and understand possible particle interactions in future physics experiments.

## Related computational issues

Several computation issues need to be considered for automatic calculations. For example one scenario is the fact that special functions often need to be calculated in these software packages, both/either algebraically and/or numerically. For algebraic calculations, symbolic packages e.g. Maple, Mathematica often need to consider abstract, mathematical structures in subatomic particle collisions and emissions.

### Ultra-High Precision Numerical computation
## Existing Packages
### Feynman rules generators

* FeynRules
* LanHEP

### Tree Level Packages

| Name | Model | Max FS | Tested FS | Short description | Publication | Method | Output | Status |
| MadGraph5 | Any Model | 1/2->n | 2->8 | complete, massive, helicity, color, decay chain | what is MG5 | HA (automatic generation) | Output | PD |
| Grace | SM/MSSM | 2->n | 2->6 | complete,massive,helicity,color | Manual v2.0 | HA | Output | PD |
| CompHEP | Model | Max FS | Tested FS | Short description | Publication | method | Output | Status |
| CalcHEP | Model | Max FS | Tested FS | Short description | Publication | Method | Output | Status |
| Sherpa | SM/MSSM | 2->n | 2->8 | massive | publication | HA/DS | Output | PD |
| GenEva | Model | Max FS | Tested FS | Short description | Publication | Method | Output | Status |
| HELAC | Model | Max FS | Tested FS | Short description | Publication | Method | Output | Status |
| Name | Model | Max FS | Tested FS | Short description | Publication | Method | Output | Status |
Status: PD: Public Domain,
Model: SM: Standard Model, MSSM: Minimal Supersymmetric Standard Model
Method: HA: Helicity Amplitude, DS: Dyson Schwinger
Output: ME: Matrix Element, CS: Cross-Sections, PEG: Parton level Event Generation, FEG: Full particle level Event Generation

### Higher-order Packages

| Name | Model | Order tested | Max FS | Tested FS | Short description | Publication | Method | Status |
| Grace L-1 | SM/MSSM | 1-loop | 2->n | 2->4 | complete,massive,helicity,color | NA | Method | NA |
| Name | Order | Model | Max FS | Tested FS | Short description | Publication | Method | Status |