New developments in FeynRules

The program FeynRules is a Mathematica package developed to facilitate the implementation of new physics theories into high-energy physics tools. Starting from a minimal set of information such as the model gauge symmetries, its particle content, parameters and Lagrangian, FeynRules provides all necessary routines to extract automatically from the Lagrangian (that can also be computed semi-automatically for supersymmetric theories) the associated Feynman rules. These can be further exported to several Monte Carlo event generators through dedicated interfaces, as well as translated into a Python library, under the so-called UFO model format, agnostic of the model complexity, especially in terms of Lorentz and/or color structures appearing in the vertices or of number of external legs. In this work, we briefly report on the most recent new features that have been added to FeynRules, including full support for spin-3/2 fermions, a new module allowing for the automated diagonalization of the particle spectrum and a new set of routines dedicated to decay width calculations.


CERN-PH-TH/2013-235
The high-energy particle physics community is living nowadays in one of the key moments of its history. The analysis of data acquired by the most powerful particle collider ever built, the Large Hadron Collider at CERN, is on-going and exciting results have already been established. For instance, the discovery of a scalar particle with a mass of about 125 GeV featuring the properties expected from the Standard Model (SM) Higgs boson was one of the major announcements in 2012 [1,2]. In parallel, a major effort is put into the exploration of possible beyond the Standard Model (BSM) signatures hidden in data by comparing data to theoretical predictions.
In this context, Monte Carlo event generators play an important role as they allow to simulate the behavior of both the Standard Model background and the new physics signals. While these tools are ready to be used to simulate any SM process, the situation is however different for BSMs where these models are not yet implemented in the Monte Carlo event generators. The FeynRules package [3,4,5,6,7,8,9] has been created with the aim of facilitating this task. Starting by providing basic model information such as its underlying gauge symmetries, field content, parameters and Lagrangian (that can also be semiautomatically derived for supersymmetric theories), FeynRules then extracts all the interaction vertices from the model Lagrangian and exports the associated Feynman rules, through dedicated interfaces, to various high-energy physics tools. Such interfaces exist for the CalcHep [10,11], FeynArts [12], MadGraph [13,14,15,16,17,18], Sherpa [19,20] and Whizard [21,22] programs. Moreover, the model can also be translated to a Python library under the Universal FeynRules Output (UFO) format [23]. The UFO has been developed to overcome all restrictions imposed by previously designed model formats for Monte Carlo programs. It indeed allows for arbitrary color and/or Lorentz structures in the interaction vertices and any number of external particles.
In this paper, we briefly review some of the new functionalities that will be included in the new version of the package, FeynRules 2.0, that can already be downloaded from the website http://feynrules.irmp.ucl.ac.be. We first describe the FeynRules program in section 2. Next, we detail the support for spin-3 2 fields in section 3 and a new module allowing for automated spectrum generation in section 4. Section 5 is dedicated to automated decay width calculations and we finally summarize our work in section 6.

The FeynRules package
The FeynRules program is a Mathematica package allowing for extracting Feynman rules from a quantum field theory Lagrangian. Additionaly to the improvements described in this paper, the latest version of FeynRules comes with a set of tools directly connecting the model definition in FeynRules to a series of Monte Carlo programs. Furthermore, it is also possible to store the model information in the form of a Python library, under the so-called Universal FeynRules output (UFO) format. This takes advantage of the object-oriented nature of the Python language and its ability to be interfaced with any other program.
Proper FeynRules model files follow a syntax inspired by the FeynArts model format and encompass information about the model gauge symmetries, field content and parameters. From the input of the Lagrangian describing the dynamics of the model particles, possibly given in a very compact form by means of quantities such as gauge covariant derivatives, (super)field strengh tensors or even user-defined functions, the FeynRules package is able to extract all the Feynman rules associated with the underlying interaction vertices. The latter can then be exported, together with all the relevant model information to several Monte Carlo and symbolic tools via dedicated interfaces. In addition, supersymmetric models can be naturally and easily implemented in a superspace module shipped with the code allowing to declare chiral and vector superfields as any other field and containing a set of methods dedicated to superspace computations.
All model publicly available can be found in the database located in the FeynRules website.

Spin-3/2 Rarita-Schwinger fields
It is of critical importance for phenomenological purposes to have tools able to handle any new physics models, no matter the structure of the interactions or the particle content. In particular, an automated treatment, starting at the level of FeynRules, for spin-3 2 particles was still missing until very recently. The version 2.0 of FeynRules fills this gap. The user can now use two new particle classes RW and R to declare two-and four-component spin- 3 2 fields, respectively. In parallel, the UFO conventions have been updated so that they account for the arbitrariness associated with spin- 3 2 propagators, and recent versions of both Monte Carlo event generators CalcHep and MadGraph 5 support spin- 3 2 fields and their interactions [9].
The superspace module of FeynRules [6] has also been upgraded, and computations related to goldstino and gravitino fields are now simplified within the FeynRules framework. In the case of local supersymmetry, the interactions of the goldstino, a massless fermionic field arising from supersymmetry breaking and those of the gravitino, a spin-3 2 field predicted by supergravity theories, are derived from the knowledge of the supercurrent, a Majorana fermionic quantity (J µ ,J µ ) defined by In this expression, a sum over the model particle content is understood, and v νρ denotes the field strength tensor for the vector boson v µ , D ν stands for the gauge-covariant derivative, σ µ is the four-vector built upon the Pauli matrices and T a are generators of the model gauge group taken in the appropriate representation. Moreover, we generically denote scalar fields by φ, gauginos by λ, the Weyl components of the chiral supermultiplets by ψ and W * i is the derivative of the hermitian conjugate of the superpotential W . The interactions of the gravitinoG and the goldstino χ fields are then given by which takes as arguments the Lagrangians lv associated with the gauge sector of the theory, lc associated with its chiral sector and the superpotential Lagrangian lw. Moreover, the supercurrent spin and Lorentz indices are given by sp and mu. As it was shown in Ref. [6], the different pieces of the supersymmetric Lagrangian can be straightforwardly obtained by means of standard methods of the superspace module of FeynRules.

Automated spectrum generation
When implementing in a given Monte Carlo tool a specific model, it is important to pay special attention to the numerical values of the various model parameters. This usually requires to compute and diagonalize mass matrices associated with the different gauge-eigenstates of the model, which often mix. In practice, such calculations cannot be solved analytically and it is necessary to rely on a numerical code. This issue has implied the development of a new module of FeynRules allowing, on the one hand, for the analytical extraction of all the model mass matrices from the Lagrangian, and, on the other hand, to generate a self-contained C++ package, dubbed ASperGe 1 , diagonalizing the mass spectrum and outputting both masses and mixing matrices under a Les Houches compliant format [8].
In order to employ these new functionalities, it is necessary to reorganize the information contained in the model file. As an example, let us consider the mixing of the neutral SM gauge bosons B µ and W 3 µ to the photon A µ and the Z-boson Z µ states, which involves the mixing matrix U w . Initially, these relations could have been implemented in the definition of the fields themselves, as in We attribute a unique symbol (here "1u") to each mixing relation and define its properties through the options MassBasis (refers to the mass eigenstates), GaugeBasis (refers to the mixing gauge eigenstates), MixingMatrix (defines the symbol to use for the mixing matrix which does not have to be declared as a model parameter) and BlockName (refers to the name of the Les Houches block containing the numerical values of the elements of the mixing matrix that will be calculated by ASperGe). Additional options are also available and special cases are possible, depending on the spin of the fields under consideration. We refer to Ref. [8] for their extensive description.
In addition to defining all mixing relations within the variable M$MixingsDescription, a correct extraction of the model mass matrices implies to provide some knowledge about the fields getting a vacuum expectation value (vev) at the ground state of the theory. This information is included in the variable M$vevs, a list of two-component elements. The first of these components is the name of a field and the second one is the symbol referring to its vev. The model mass matrices can then be obtained by issuing, in the Mathematica session,

ComputeMassMatrix[lagr]
where lagr stands for the symbol of the model Lagrangian and information associated with a specific mixing relation (here "1u") can further be accessed by typing

MixingSummary["1u"]
The source code for the ASperGe package is generated via the command

WriteASperGe[lagr]
and consists in a set of model-dependent and model-independent files stored in a directory whose name is made up from the model name and the suffix _MD. The model-dependent files consist of C++ commands allowing to define the various parameters of the model and the mass matrices to be diagonalized. In contrast, the model-independent files contain all necessary routines allowing ASperGe to compute both the mass eigenvalues and the rotation matrices from the mass matrices on the basis of the QR reduction algorithm as implemented in Gsl. In addition, these files also include methods to store these results in a Les Houches compliant format.
Finally, the numerical code can be compiled and executed by either typing RunASperGe[] in the Mathematica session or executing in a shell, after moving to the dicrectory where it is stored, make; ./ASperGe input/externals.dat output/output.dat The first of the two files (input/externals.dat) contains, under the Les Houches format, the model free parameters together with their numerical values and the second one (output/output.dat) collects the results of the execution of ASperGe.

Automatic calculation of decay widths
A careful design of a benchmark scenario for a given model requires, in addition to providing a numerical value for the model external parameters and the calculation of the mixing matrices necessary to diagonalize the mass spectrum, the computation of the particle total widths. Furthermore, the latter must in general be given together with the decay table of all the unstable particles. To this aim, the version 2.0 of FeynRules includes a series of functions dedicated to width calculations [24]. The advantages of using FeynRules for such a purpose are twofold. First, the new module calculates the analytical formulas associated to all tree-level 1 → 2 processes, so that the results are independent of any specific benchmark point. Second, the calculations can be performed once for a given model and reused every time the benchmark scenario is modified. Assuming that the model Feynman rules have been stored and expanded over all flavor indices in a variable denoted by verts, the associated set of tree-level 1 → 2 decay widths are obtained by issuing

res = ComputeDecays[verts]
The results (stored both in a variable res and in the FeynRules variable FR$PartialWidths) consist of a list of two-component elements. Their first piece is another list of three fields {F1,F2,F3} indicating the decay process of interest (F1 → F2 F3) while their second piece is the analytical formula of the corresponding partial width. Each possible decay of a field into two other fields is considered regardless of the numerical values of the particle masses. The results thus include all possible cyclic permutations of F1, F2 and F3.
A specific partial width or branching ratio associated with the decay F1 → F2 F3 can then be retrieved analytically by respectively issuing, in the Mathematica session, one of the two commands while the total width of a field F1 can be computed by typing The corresponding numerical values are obtained by making use of the standard FeynRules command NumericalValue. In order to update the numerical values of the width parameters from the content of the variable FR$PartialWidths, the user only has to call the function UpdateWidths[ ].
In addition, the decay information is by default also included in the UFO library generated from FeynRules, this option being switched off by setting the option AddDecays of the function WriteUFO to False. The generated UFO files include a new file, decays.py, with all the calculated analytical formulas stored in the variable FR$PartialWidths.

Conclusion
The constant and fast evolution in new physics model building activities has triggered the development of programs such as the Mathematica package FeynRules, which aims to facilitate the development of BSM models and their implementation within Monte Carlo tools. The soon-to-be-released 2.0 version of FeynRules contains several important new features with respect to the previous release, in addition to the already available superspace module, interfaces to the CalcHep, FeynArts, MadGraph, Sherpa and Whizard programs and possibility to translate the full model under the form of a Python library, the so-called UFO format. Among the major new functionalities, we have presented in this report a brief description of two modules, a first one dedicated to the automated computation of decay widths and branching ratios and a second one addressing the extraction of the model mass matrices and their diagonalization. In addition, we have also described some improvements related to spin-3 2 particles.