Automated mass spectrum generation for new physics

We describe an extension of the FeynRules package dedicated to the automatic generation of the mass spectrum associated with any Lagrangian-based quantum field theory. After introducing a simplified way to implement particle mixings, we present a new class of FeynRules functions allowing both for the analytical computation of all the model mass matrices and for the generation of a C++ package, dubbed ASperGe. This program can then be further employed for a numerical evaluation of the rotation matrices necessary to diagonalize the field basis. We illustrate these features in the context of the Two-Higgs-Doublet Model, the Minimal Left-Right Symmetric Standard Model and the Minimal Supersymmetric Standard Model.


Introduction
Although the Standard Model of particle physics is very well verified empirically at the current accessible energies, numerous extensions to its Lagrangian are proposed. These extensions describe new or alternative fundamental interactions that typically accommodate possible new physics phenomena at higher energies as well as at the current collider energies. In this top-down approach, the phenomenology of the proposed extensions is to be confronted with experimental observations. In order to obtain the mass spectrum of any new physics model reflected by its Lagrangian, the mixing matrices of the gauge eigenstates into the mass eigenstates are needed. An automated mass spectrum generator, ASperGe 1 is developed within the framework of the FeynRules program [1,2,3,4,5] to determine the mix- 1 The acronym ASperGe stands for Automated Spectrum Generation.
ing matrices numerically. This allows a study of the direct relation between the parameters of any new physics model and the observable masses of the fundamental particles.
This paper describes in Section 2 and 3 the relevant parts of the FeynRules program to introduce the new ASperGe package, detailed in Section 4. To illustrate its application several examples are presented in Section 5.
In addition, any model can also be converted to a Python library containing classes and objects representing particles, parameters and vertices. This format is dubbed the Universal FeynRules Output (UFO) format [23] and is appropriate to address the implementation of any high-energy physics model into computational tools. Its strength lies in its agnosticism with respect to the allowed Lorentz and/or color structures appearing in the Lagrangian, in contrast to any other more conventional model format for which restrictions are imposed. Presently, the UFO is used by Aloha [24], MadAnalysis 5 [25], and MadGraph 5 [18], and will be used, in the future, by GoSam [26,27] and Her-wig++ [28].
The FeynRules model structure extends the format employed in FeynArts [11] so that particles, parameters and gauge groups are now all defined in a similar fashion. Following the FeynArts conventions, particles are collected into classes describing multiplets having exactly the same quantum numbers, but possibly different masses. Each of these classes is defined as a set of Mathematica replacement rules referring to its properties. For example, the three vector fields W i associated to the SU (2) L gauge subgroup of the Standard Model could be declared as and carrying a flavor index SU2W associated with the adjoint gauge index of SU (2) L . As this field is declared as unphysical 3 (Unphysical->True), it must be linked to one or several of the mass eigenstates of the model by means of appropriate mixing relations. As illustrated in the example, these relations are passed through the attribute Definitions of the particle class. They can either be purely numerical, as for the W 1 and W 2 bosons that are rotated to the charged W + and W − bosons, or depend on some of the model parameters, as for the W 3 field which is re-expressed in terms of the photon A and the Z boson through a relation depending on the sine and cosine of the electroweak mixing angle (sw and cw).
In contrast, declaring physical particles requires the implementation of extra information such as their masses (Mass), widths (Width) and Particle Data Group codes (PDG) [29]. The Z-boson field introduced above could hence be declared as In this work, we denote as unphysical any field that is not a mass eigenstate of the theory. The declaration of the model parameters and gauge group is similar and based on dedicated classes with their own set of attributes. Since only the particle class properties introduced above are sufficient for the understanding of the present work, we omit any further detail and refer the reader to Refs. [1,4] for more information on particle, parameter and gauge group implementation in FeynRules.
The last key ingredient to achieve a model implementation consists of its Lagrangian. It is provided using standard Mathematica commands, augmented by some special symbols representing objects such as Dirac matrices, vector field strength tensors or covariant derivatives. The user has then the possibility to perform basic checks on the Lagrangian, such as verifying its hermiticity, the normalization of kinetic terms, etc. We again refer to the FeynRules manual for more information [1].
After having imported the FeynRules package into the current Mathematica session, the model is loaded by issuing LoadModel[ "file1.fr", "file2.fr", ... ] where its implementation can be possibly spread among the files "file1.fr", "file2.fr", etc., according to the convenience of the user. It can also be directly implemented within the Mathematica session so that the function LoadModel is called, in that case, without any argument.
The Feynman rules can be subsequently extracted by means of the command

FeynmanRules[ Lag ]
where Lag is the Mathematica symbol containing the expression of the Lagrangian, written in four-dimensional spacetime and employing four-component spinors for fermions. The FeynmanRules method extracts the interaction vertices included in the Lagrangian Lag so that they can be further employed within Mathematica for dedicated studies.
All the interfaces to Monte Carlo event generation tools can be invoked in a similar procedure, where the sequence of letters XXX takes one of the values CHOutput (CalcHep), FeynArtsOutput (FeynArts), SHOutput (Sherpa), UFO or WOOutput (Whizard).
In the context of supersymmetric theories, the most natural and convenient way to construct a Lagrangian consists of employing the superspace formalism. Therefore, the FeynRules package includes a module allowing for superfield declarations and Lagrangian implementation in terms of superfields. Dedicated functions are then provided to convert superfield expressions into a form more suitable with respect to the requirements of the interfaces to the Monte Carlo event generators [4].

Implementing mixings in FeynRules
In this work, we propose an extension of the Feyn-Rules package aiming to simplify the declaration of the mixing relations linking the unphysical degrees of freedom of the theory to the physical fields. This new module allows to automatically fill the Definitions attribute of the fields, where relevant, and declare the mixing matrices as parameters. In addition, we have developed an interface generating a C++ code dedicated to the diagonalization of the mass matrices of the model (see Section 4) after having implemented in FeynRules a function allowing for their analytical extraction from the Lagrangian. In this way, the values of all the mixing parameters are derived numerically and can be re-imported into FeynRules.

Mixing declarations
For an efficient declaration of the mixing relations, we have extended the FeynRules model file structure by adjoining a new class dedicated to particle mixings. Consequently, all mixing relations among the states can be declared on the same spirit as particles, gauge groups and parameters, after having been gathered into a list dubbed M$MixingsDescription Each element of this list consists of an equality dedicated to one specific mixing relation. It associates a label, given as a string, ("l1", "l2", etc.) with a set of Mathematica replacement rules defining the mixing properties (options1, options2, etc.).
In order to illustrate the choice of options offered to the user, we consider the example of Section 2 where we have focused on the mixing of the SU (2) L gauge bosons. We start by implementing the mixing of the W 1 and W 2 gauge fields, which stems from the diagonalization of the third generator of SU (2) L in the adjoint representation. As Eq. where the dot product stands for the usual matrix product. The information on the gauge basis is provided as the value of the attribute GaugeBasis which refers here to the unphysical fields W 1 (Wi [1]) and W 2 (Wi [2]). Similarly, the MassBasis attribute refers to the mass basis, containing here the symbols associated with the W + (W) and W − (Wbar) bosons. Finally, the mixing matrix is given under a numerical form as the argument of the attribute Value.
Some remarks are in order. First, the gauge basis only contains unphysical fields, while the mass basis can contain either physical fields, unphysical fields or both. Particle mixings can therefore be possibly implemented in several steps, as illustrated in Section 5.2. Next, spin and Lorentz indices can be omitted and the index ordering is defined when declaring the fields (through the attribute Indices of the particle class [1]). Finally, if some indices are irrelevant, i.e., if they are identical for all the involved fields, underscores can be employed to simplify the mixing declaration. For instance, the three left-handed down-type squarksd c where the mixing matrix is the identity. The underscore reflects that the same color index is carried by all fields.
We now get back to weak gauge boson mixings and turn to the neutral sector. We hence focus on the rotation of the third weak boson W 3 and the hypercharge gauge boson B to the photon and Z-boson states, after introducing the a priori unknown weak mixing matrix U w 4 . The computation of the numerical values of its matrix elements is addressed by means of the C++ package generated by FeynRules (see Section 4) and is only possible if the mixing is declared according to the syntax The declaration of the gauge and mass bases is similar to the case of the charged W bosons, while the attribute Value has been removed as the numerical value of the mixing matrix is not known. The user provides instead the symbol referring to the mixing matrix (UW) by means of the MixingMatrix attribute, without declaring it as one of the model parameters. This last task is internally handled by FeynRules which assumes that the mixing matrix is complex and which creates two external tensorial parameters, one for the real part and one for the imaginary part of the matrix, together with one internal tensorial parameter being the matrix itself.
When a symbol for a mixing matrix is provided, it is mandatory to specify, in addition, the name of a Les Houches block which will contain the numerical values associated with the elements of the matrix. We indeed recall that both FeynRules and most of the interfaced Monte Carlo event generators order the model parameters according to a structure inspired by the Supersymmetry Les Houches Accord (SLHA) [30,31]. In our example, we impose the real part of the elements of U w to be stored in a Les Houches block WEAKMIX and their imaginary part in an automatically created block IMWEAKMIX, i.e., a block of the same name with the prefix IM appended.
Implementing model Lagrangians might require to explicitly use one or several of the mixing matrices for some of the model interactions, as for the Minimal Supersymmetric Standard Model where the CKM matrix is employed in the superpotential [4]. In this case, the matrices must be declared according to the standard syntax presented in the FeynRules manual, numerical values being provided as inputs. This subsequently renders the attribute BlockName of the mixing class obsolete and ignored by FeynRules. Contrary, mixing matrices automatically declared through a mixing declaration cannot be employed in Lagrangians.
In the Standard Model, the CKM matrix V CKM relates the left-handed down quark gauge-eigenstates d 0 L to the mass-eigenstates d L as To be compliant with the syntax presented so far, a symbol for the hermitian-conjugate matrix has to be created. To avoid such a complication, the optional attribute Inverse can be used and set to True, which enforces a relation among the mass and gauge bases given by

Scalar/pseudoscalar splittings
When neutral scalar fields are mixing, the gauge eigenstates in general split into their real degrees of freedom so that one scalar and one pseudoscalar mass basis are required. Consequently, a list of two bases is provided as argument of the MassBasis attribute, instead of a single basis as in Section 3.1. Consistently, the arguments of the attributes Value, BlockName, MixingMatrix and Inverse are also upgraded to lists. The first element of those lists always refers to the scalar fields, while the second one is related to the pseudoscalar fields. It may appear that some of the elements of those lists are irrelevant, as for instance when the scalar mixing matrix is unknown (MixingMatrix and BlockName are used) and the pseudoscalar mixing matrix is known (Value is used). The irrelevant list components are in this case replaced by underscores, as illustrated with where the (pseudo)scalar mass-eigenstates are represented by the symbols h1 and h2 (a1 and a2). In this example, the mixing matrix related to the scalar sector is denoted by US and is associated with the Les Houches block SMIX. Concerning the pseudoscalar sector, a numerical mixing matrix is instead provided (in the ellipses). A concrete example is given for the Two-Higgs-Doublet Model in Section 5.1.

Dirac and Weyl fermion mixings
Several options are left to the user concerning the implementation of Dirac fermions mixings. Either one single gauge basis is employed, so that FeynRules internally takes care of the chirality projectors that appear in the related mass terms, or different particle classes can be used for the left-handed and right-handed components of the fermions. In this case, the GaugeBasis attribute refers to a list of two gauge bases instead of to a single basis. For both options, the arguments of the attributes Value, BlockName, MixingMatrix and Inverse consist of lists, the first component being related to the mixing of the left-handed fermions and the second one to the mixing of the right-handed fermions. As for neutral scalar mixing, underscores are used for irrelevant list elements.
Lagrangian mass terms for charged Weyl fermions are generically written as where M stands for the mass matrix and ψ i and χ i are Weyl fermions which have been assigned an electric charge of ±1 for the sake of the example. The diagonalization of the matrix M proceeds through two unitary rotations U and V , which introduces two mass bases. Therefore, all the attributes MassBasis, GaugeBasis, Value, MixingMatrix, and BlockName now take lists as arguments (with underscores included where relevant). The only extra rule to obey to is that the first components of these lists are associated with one of the two rotations and the second components with the second of them. An example is provided in Section 5.3.

Vacuum expectation value declarations
In realistic new physics models, the ground state of the theory is non-trivial and fields must be shifted by their vacuum expectation value. Since Lorentz invariance and electric charge conservation impose that only electrically neutral scalar fields can get non-vanishing vacuum expectation values, only shifts of (electrically) neutral scalar fields are allowed to be included in the mixing relations. This information is encompassed within the variable M$vevs which consists of a list of twocomponent elements. The first one refers to an unphysical field while the second one is the associated vacuum expectation value. For instance, the declaration of a configuration where two fields phi1 and phi2 get nonvanishing vacuum expectation values vev1 and vev2 could be performed as The vacuum expectation values vev1 and vev2 must be declared as any other model parameter, as described in the FeynRules manual [1].

User functions
Once both the mixing relations and the vacuum expectation values have been properly declared, the mass matrices of the model can be extracted by means of the function ComputeMassMatrix,

ComputeMassMatrix[ Lag, options ]
where Lag is the model Lagrangian and the symbol options stands for optional arguments. If no option is provided, the function calculates all the mass matrices of the model for which the numerical value of the mixing matrix is unknown. It is possible to focus on a specific mixing relation whose label is denoted by "l1" by issuing, in Mathematica, For the computation of multiple matrices, the label "l1" has to be replaced by a list of labels. During the computation of the mass matrices, a lot of information is by default printed to the screen. This can be avoided by including the optional argument ScreenOutput -> False in the two command lines above. The input information and the result of the Com-puteMassMatrix function can be retrieved through the intuitive printing functions, MassMatrix, GaugeBasis, MassBasis, MixMatrix, BlockName and MatrixSymbol which all take as argument the label of a mixing relation. A wrapper is also available, MixingSummary [ "l1" ] 6 which sequentially calls all the printing functions for a mixing relation represented by the label "l1" and organizes the output in a readable form.
The FeynRules method to extract analytically a mass matrix is fully generic and can be employed to compute any matrix M defined by the Lagrangian where B 1 and B 2 stand for two field bases possibly different. The calculation of the matrix M is achieved by issuing where the symbols b1 and b2 are associated with the bases B 1 and B 2 and refer to lists of fields. In this case, the printing functions introduced above are not available.
4 Automated spectrum generation

The ASperGe package
The computation of the unknown mixing matrices necessary for diagonalizing all the model mass matrices can in general only be achieved numerically. To this end, we have developed the C++ program ASperGe.
It includes a set of C++ source files (stored in the subdirectory src), coming together with the related header files (stored in the subdirectory inc), that can be split into model-independent and model-dependent files. For an efficient use of the ASperGe program, it has been entirely embedded within the FeynRules package. Therefore, only a brief discussion of the structure of the code is presented in this paper. More information, such as a doxygen documentation, can be found on the ASperGe webpage [32]. The set of model-independent files contains, on the one hand, several tools dedicated to matrices and their diagonalization (MassMatrix.cpp, MassMatrix.hpp as well as Matrix.hpp). On the other hand, the ASperGe code is based on an internal format for parameters, defined in the source files Par.cpp, CPar.cpp, RPar.cpp and in the associated header files. This format is inspired from a SLHA structure and the corresponding mapping is encoded into the files ParSLHA.cpp, SLHA-Block.cpp, and in the associated header files. Finally, printing and string manipulation routines are included in the files tools.cpp and tools.hpp and the program comes with a makefile.
All the model dependency is included in the two files Parameters.cpp and Parameters.hpp as well as in the core program implemented in the main.cpp file.
The information encompassed in the two parameter files is threefold. First, the SLHA structure ordering the external parameters is encoded in terms of blocks and counters. Next, the definitions of the internal parameters as functions of the other model parameters are implemented, where a proper running of the AS-perGe program is only guaranteed if the parameters do not depend on the masses and mixing matrices to be computed. Finally, the analytical formulas of the mass matrices to diagonalize are included.
The main program (main.cpp) starts with the declaration of the different mass matrices of the model. Links to the relevant elements of the mass basis are then implemented by means of the associated PDG codes, which allow to assign the mass eigenvalues to each of the physical particles, the ordering of the PDG codes following the mass ordering.

Interfacing the ASperGe package to FeynRules
The ASperGe package can be entirely generated, for a given particle physics model, from the FeynRules model information by means of a dedicated interface which works as for the other FeynRules interfaces. It is then called by typing, in a Mathematica session,

WriteASperGe[ Lag, Output -> dirname ]
where the symbol Lag stands for the model Lagrangian and Output->dirname for an optional argument indicating the name of the directory where to store all the created files. If unspecified, the directory ModelName_MD is employed, ModelName being the name of the Feyn-Rules model.
The interface first extracts all the relevant mass matrices from the Lagrangian Lag by means of the function ComputeMassMatrix introduced in Section 3.4. It then writes, in addition to model-independent files described in Section 4.1, the three model-dependent files main.cpp, Parameters.cpp and Parameters.hpp, together with one data file Externals.dat (stored in the subdirectory input). This last file contains the numerical values of the external parameters of the model, necessary for the numerical evaluation of the mass matrices. When running the code (see Section 4.3), the user can update this file or even employ a different file according to his needs.
The numerical matrix diagonalization performed by ASperGe is based on Gsl functions relying on the hermiticity of the mass matrices which employs symmetric bi-diagonalization followed by QR reduction. This contrasts with existing diagonalization packages developed in the framework of FeynArts [33] and CalcHep [34] that are based on Jacobi-type iterative algorithms. A 7 hermiticity check is therefore performed by the interface before writing down the output. Since the mass matrix M related to charged fermions is by construction non-hermitian, the matrices M † M and M M † are employed instead, which allows to obtain left-handed and right-handed fermion mixing matrices separately.
It is also possible to focus on one or several specific mixing relations. In this case, the Mix option, already introduced in the context of the ComputeMassMatrix function, has to be used, We refer to Section 3.4 for more information.

Running ASperGe
Since the ASperGe package is based on Gsl functions, it is mandatory to have the Gsl libraries installed on the system. Then, if the g++ compiler is available, the makefile generated by FeynRules can be employed directly. Otherwise, it must be first edited accordingly to include proper compiler information.
Once compiled, ASperGe can be executed by typing in a shell ./ASperGe <infile> <outfile> where the arguments indicate in which file the numerical value of the external parameters must be read (<in-file>) and where to store the output file (<outfile>). This file contains, in addition to the input parameters, the computed numerical values of the mixing matrices, split in terms of their real and imaginary parts according to the SLHA conventions, as well as all the masses of the physical states (stored in the SLHA block MASS). In order to execute ASperGe with all the default settings as generated by the FeynRules interface, it is sufficient to type in a shell ./ASperGe input/externals.dat output/out.dat Both the compilation and the execution of the program can be performed from the Mathematica session, by issuing

RunASperGe[ ]
This also loads the SLHA parameter file out.dat back into the FeynRules session, so that it can be further employed, e.g., to generate a UFO model. Information about the run of ASperGe can be found in the file ASperGe.log stored in the same folder as the executable.
It is also possible to diagonalize specific mass matrices of the model by executing ./ASperGe <infile> <outfile> m1 m2 ... where m1, m2, etc., are the names of the mixing matrices to be computed.

Illustrative examples
In this section, we illustrate the features of the AS-perGe program and its interface to FeynRules by choosing three extensions of the Standard Model with non-trivial mixing relations, i.e., the Two-Higgs-Doublet Model (2HDM), the Minimal Left-Right Symmetric Standard Model (LRSM) and the Minimal Supersymmetric Standard Model (MSSM). We modify their original FeynRules implementations 5 [2,4] to accommodate for the mixings as described in Section 3. We then employ the ASperGe program (see Section 4) to numerically calculate some of the mass and mixing matrices of these models.

The general Two-Higgs-Doublet Model
The 2HDM is one of the simplest extensions of the Standard Model, with respect to which it only contains a second weak doublet of scalar fields. Following the conventions of the original FeynRules implementation [2], both Higgs fields φ 1 and φ 2 carry the same hypercharge so that they can always be redefined by means of U (2) transformations [35,36,37,38]. Adopting the so-called Higgs-basis, the two doublets read where only the neutral component of the φ 1 field acquires a vacuum expectation value v. Moreover, the Goldstone bosons G ± and G 0 as well as the charged Higgs field H ± are not required to be further rotated, so that only the mass matrix of the neutral fields H 0 , R 0 and I 0 must still be diagonalized. We extend the 2HDM FeynRules implementation described in Ref. [2] by first indicating that the second component of the φ 1 field, represented by the symbol phi1, acquires a non-vanishing vacuum expectation value v labeled by the symbol vev, [2], vev} } as shown in Section 3.3. Then, we choose to implement the mixing of the H 0 , R 0 and I 0 fields to the physical h 1 , h 2 and h 3 fields in a two-step manner. In a first stage, the gauge eigenstates are split into their scalar and pseudoscalar components, following the syntax introduced in Section 3.1 and Section 3.2 and making use of the self-explained symbols H0 and R0 (G0 and I0) for representing the (pseudo)scalar degrees of freedom. Similarly, we can employ the mixing infrastructure to map the charged components of φ 1 and φ 2 to the physical fields G + and H + by means of a 1 × 1 identity matrix. Since this procedure is trivial, we omit any further details from the present manuscript and refer to the model implementation [32]. In a second stage, the rotation to the physical fields, represented by the symbols h1, h2 and h3, is declared as where we associate the symbol NH to the corresponding mixing matrix and assign the Les Houches block (IM)NHMIX to the numerical value of its elements. The neutral squared mass matrix M 2 can then be derived from the model Lagrangian (represented by the symbol L2HDM) by typing, in the Mathematica session, As a result, one recovers the well-known expression depending on the most general scalar potential parameters λ i and µ i (see Ref. [2] for further information), after having introduced the squared mass of the charged Higgs boson m 2 ± = 1/2λ 3 v 2 +µ 2 and removed two of the µ-parameters by means of the potential minimization conditions, µ 1 = −λ 1 v 2 and µ 3 = −1/2λ 6 v 2 .
The numerical value of the unitary matrix U diagonalizing M 2 is obtained by generating and making use of the ASperGe package, as shown in Section 4. We fix, adopting a representative benchmark scenario, the Higgs potential parameters to λ 1 = λ 2 = λ 3 = 1.0, λ 4 = Table 1 Field content of the LRSM, given together with their representation under the SU (3)c ×SU (2) L ×SU (2) R ×U (1) B−L gauge group. The SU (2) L (i, j = 1, 2) and SU (2) R (i ′ , j ′ = 1, 2) fundamental index structure is explicitly indicated.

Field
Components Representation whereas the mixing matrix reads These results are in good agreement with those obtained by means of the TwoHiggsCalc calculator [16].

The Minimal Left-Right Symmetric Standard Model
The LRSM [39,40,41,42,43,44,45] Table 1 where the model matter field content is presented together with the associated quantum numbers. In addition, the symmetry-breaking mechanism down to electromagnetism is also more involved, relying on an enriched Higgs sector (see the second part of the table).
The LRSM Lagrangian consists of standard kinetic and gauge interaction terms for all fields as well as of 9 the Yukawa interactions In this equation, all indices are understood, the matrices y (i) Q and y (i) ℓ are 3 × 3 matrices in flavor space and the superscript c indicates charge conjugation 6 . Moreover, gauge invariance is ensured by the introduction of the hatted fieldŝ where the rank-two antisymmetric tensors with lower and upper indices are defined by ǫ 12 = −ǫ 12 = 1. Introducing Higgs mass parameters µ i and quartic interaction strengths λ i , ρ i and α i , the scalar potential reads Since the corresponding FeynRules model description is standard, we refer to the FeynRules manual [1] and leave all implementation details out of this work. In the LRSM, the symmetry-breaking mechanism is performed in two steps. At high energy, the SU (2) L × SU (2) R × U (1) B−L gauge symmetry is spontaneously broken to the electroweak symmetry, the latter being subsequently broken to electromagnetism at a lower scale. Consequently, the neutral components of the scalar fields get vacuum expectation values at the minimum of the potential, by which they are shifted. In the rest of this section, we focus on the mixing of the neutral Higgs fields and illustrate the way to implement a two-stage field rotation. For all the other mixing relations of the LRSM, we refer to the implementation [32].
We first assume, motivated by neutrino mass and kaon system data [45,46], that v L = v ′ ≈ 0. Next, we implement the rotation associated with the diagonalization of the third generator of SU (2) in the adjoint representation as  6 We recall that the components of the field Q R are charge conjugate (see Table 1). allows to calculate both the scalar and pseudoscalar mass matrices and display the scalar squared mass ma-trixM 2 to the screen. It reads, where we have introduced the quantities In order to numerically compute the unitary matrix U diagonalizingM 2 , we use the ASperGe program, generated from FeynRules by issuing

WriteAsperge[Lag]
after fixing the external Lagrangian parameters of the model to λ 1 = λ 2 = λ 3 = λ 4 = λ 6 = 0.1, α 1 = 0.1, α 2 = 0.3, α 3 = 0.1, ρ 1 = 0.1, ρ 2 = 0 and ρ 3 = 0.5. In addition, the µ-terms are deduced from the minimization conditions of the scalar potential and the vacuum expectation values are taken as v = 248 GeV and v R = 6000 GeV. It should be noted that the relevance of such numerical values is going beyond the scope of this paper, and could be addressed by means of external packages such as the one presented in Ref. [47]. Once ASperGe is executed, one obtains

The Minimal Supersymmetric Standard Model
In supersymmetric extensions of the Standard Model, each of the model's degrees of freedom comes accompanied by a superpartner with opposite statistics. The minimal version of such theories, the so-called MSSM [48,49], has been originally implemented in FeynRules by making use of its superspace module [4]. We hence refer, on the one hand, to Ref. [4] for notations and conventions and, on the other hand, to the new model implementation [32] for more information on the way in which particle mixings have been implemented. In the rest of this subsection, we employ the MSSM implementation to illustrate fermion mixing declaration.
After electroweak symmetry breaking, the left-handed, two-component Weyl fermionic, gaugino and higgsino fieldsW ± andH − d /H + u mix to the chargino eigenstates χ ± . Introducing the two rotation matrices U and V (labeled by the symbols UU and VV), this mixing is declared through an instance of the mixing class, In this list of replacement rules, wowm (hdw) and wowp (huw) are the labels of the negatively and positively charged wino (higgsino) states, the related mass eigenstates being represented by the symbols chmw and chpw. In addition, we link the mixing matrices U and V to the Les Houches blocks UMIX and VMIX.
Like in the previous subsections, we employ Feyn-Rules to extract the corresponding tree-level mass matrix M ′ from the Lagrangian, where m W denotes the W -boson mass, µ the superpotential Higgs mixing parameter, M 2 the supersymmetrybreaking wino mass and tan β is defined as the ratio of the two neutral Higgs field vacuum expectation values tan β = H 0 u /H 0 d . As in the original implementation, we choose the typical minimal supergravity point SPS 1a [50] as a benchmark scenario. Then, we generate the MSSM AS-perGe program and use it to compute numerically the mixing matrices U and V , Those values are in good agreement with those returned by commonly used MSSM spectrum generators.

Summary
In this paper, we have presented an extension of the FeynRules package dedicated to the automated generation of the particle mass spectrum and mixing structure associated to any Lagrangian-based quantum field theory. The new module is based on the introduction of a new structure for particle mixing declaration allowing, on the one hand, for the analytical computation of all the model mass matrices, and, on the other hand, for the generation of a C++ program dubbed AS-perGe, yielding the numerical evaluation of the associated rotation matrices. We illustrate the strength of this new module in the context of the Two-Higgs-Doublet Model, the Minimal Left-Right Symmetric Standard Model and the Minimal Supersymmetric Standard Model.