# Automatic evaluation of UV and terms for beyond the Standard Model Lagrangians: a proof-of-principle

###### Abstract

The computation of renormalized one-loop amplitudes in quantum field theory requires not only the knowledge of the Lagrangian density and the corresponding Feynman rules, but also that of the ultraviolet counterterms. More in general, and depending also on the methods used in the actual computation of the one-loop amplitudes, additional interactions might be needed. One example is that of the rational terms in the OPP method. In this paper, we argue that the determination of all elements necessary for loop computations in arbitrary models can be automated starting only from information on the Lagrangian at the tree-level. In particular, we show how the rational and ultraviolet counterterms for any renormalizable model can be computed with the help of a new package, which we name NLOCT and builds upon FeynRules and FeynArts. To show the potential of our approach, we calculate all additional rules that are needed to promote a Two Higgs Doublet Model Lagrangian to one-loop computations in QCD and electroweak couplings.

IPPP/14/58, DCPT/14/116

## 1 Introduction

The ability of making accurate predictions for observables that can be compared with the corresponding measurements, has always been the key to test our understanding of the fundamental interactions. Perhaps even more now that the experimental confirmation of the Standard Model(SM) is more and more compelling and the search for new phenomena widely opens. Two are the most common strategies followed. The first is the testing of predictions of the SM by collecting precise measurements of observables possibly sensitive to new physics, an example being the campaign to determine the Higgs couplings to other SM particles. The second is the search of the effects from new particles in colliders, as now intensively done at the LHC. In this case also, the accurate knowledge of the properties, normalizations and shapes of the SM backgrounds turns out to be an essential ingredient. Furthermore, while not always needed for discovery, accurate predictions for BSM will be needed once excesses will be found and the need to clarify the actual nature of the new physics will finally arise.

The need for precise predictions for hadron hadron collisions has motivated a large activity in the field of improving the techniques to compute NLO corrections, both in the QCD and electroweak sectors (see [Butterworth:2014efa] for a recent review). For many years the bottleneck of reaching NLO accuracy has been that of computing loops. Recently, several techniques have been proposed to automatically deal with loop amplitude. A key ingredient for their evaluation is that any one-loop amplitude can be written as

(1) |

where the Box, Triangle, Bubble and Tadpole are known scalar integrals and is the rational term. The OPP technique [Ossola:2006us] has provided a simple way to compute the scalar integrals coefficients further improved by the use of multiple cuts [Britto:2004nc]. This method has been implemented in MadLoop [Hirschi:2011pa] available in the MadGraph5_aMC@NLO framework leading to a complete automated tool for NLO computation. So far only the SM model has been implemented despite that MadLoop is based on MadGraph5[Alwall:2011uj] for which many BSM models are available. As a matter of fact, the evaluation of the loop corrections requires two extra ingredients that so far have been added by hand in the model. The first one is the counterterms introduced by the renormalization procedure to absorb all the UV divergences arising at the one-loop level. While the divergences can be extracted from the scalar integrals, any renormalization scheme with a non-trivial finite part in the counterterms requires a careful redefinition of the fields and of the independent parameters of the model and the resolution of the renormalization conditions. The second missing element depends on the actual method used to perform the tensor decomposition of the loop amplitudes. In the case of OPP, it is a part of the rational term. In dimensions, any one-loop amplitude can be written as

(2) |

with the propagator denominators given by and where are the masses of the particles in the loop, is the loop momentum and are linear combinations of external momenta. All the quantities written with a bar live in dimensions and can therefore be split in a four dimensional part and a dimensional part as follow . Rational terms are finite contributions generated by the part of the integrand linear in . One then organizes the rational part in two terms, and . The rational term is due to the component of the integrand denominators and can be computed as the four-dimensional piece but using a different set of scalar integrals [Ossola:2008xq]. The terms are defined as the finite part due to the component of the numerator

(3) |

where is defined by . We use here the ’t Hooft-Veltman scheme ['tHooft:1972fi] such that all the quantities in the loop, i.e. the loop momentum, the metric and the Dirac matrices live in dimensions:

(4) | |||

(5) |

where is the identity matrix in Dirac space. The external momenta and polarization vectors have only four dimensional components.
The Dirac matrices in dimensions are chosen to anti-commute with [Kreimer:1993bh, Korner:1991sx, Kreimer:1989ke]. Therefore, the cyclic property of Dirac trace has to be dropped to avoid algebraic inconsistency. The result of the evaluation of the integral in (3) is a set of process independent Feynman rules. As a consequence, they should only be computed once for each model. The term are the second missing ingredient as they had to be computed so far by hand for each model. The terms are known for the full SM [Draggiotis:2009yb][Garzelli:2009is] and for QCD corrections to the MSSM [Shao:2012ja].
A package for the automatic computation of the terms for the SM has also been developed [Garzelli:2010fq].

The purpose of this paper is to show that the procedure of determining the UV counterterms and the terms can be automated for any Lagrangian.
The computation of the missing elements is done by three Mathematica packages, FeynRules [Alloul:2013bka], NLOCT and FeynArts [Hahn:2000kx]. NLOCT is a completely new package, new functionalities have been added to FeynRules to renormalize models and output the NLO vertices in the UFO format [Degrande:2011ua] while FeynArts has not been altered. The only requirement is that the model should be written in the Feynman gauge. At this stage, the package is restricted to renormalizable theories. Renormalizability is here understood strictly and not order by order like for effective field theories. Namely, the dimension of the operators in the Lagrangian should be equal to or lower than four.
Although the terms are not always required, the UV counterterms are needed for any one-loop computation. Therefore, the automatically generated models can be used to provide the necessary one-loop ingredients for other NLO tools than MadGraph5_aMC@NLO like GoSam [Cullen:2011ac] for example which is already using the UFO format.
As an explicit example, we consider the Two Higgs Doublet Model (2DHM). The 2HDM is a simple but important extension of the SM since it provides a well defined model to search for extra scalar particles.

The paper is organized as follows. The second section focuses on the renormalization of the Lagrangian and introduces the renormalization conditions for the on-shell scheme. This scheme is easily extended to complex mass scheme to provide an appropriate treatment of the widths. The main advantage of those schemes is to avoid the evaluation of the loops on the external legs and it is used, for example, in MadLoop to make the computation faster. The third section discusses the algorithm for the computation of the counterterms from the amplitudes. This section ends with the validation of the algorithm. The 2HDM is briefly introduced in Sect. 4 to fix the notation. The and UV counterterm vertices for the 2HDM are given in Sect. 5 and 6 respectively. Finally, the conclusion is given in the last section.

## 2 Renormalization

### 2.1 The renormalization constants

In dimensional regularization UV-divergences appear as poles in where . In a renormalizable theory, they can absorbed by a redefinition of the free parameters and of the fields

(6) |

where is an external parameter and and are fields with the same quantum numbers, the bare quantities are denoted by an additional zero subscript compared to the renormalized fields or parameters, the renormalization constant are preceded by a . For the fermions, each chirality is renormalized independently. The external parameters are independent parameters which values should be fixed by experiments. On the contrary, internal parameters are functions of the external parameters. Internal parameters are also renormalized. However, their renormalization does not require the introduction of new renormalization constants and is fixed by their dependence on the external parameters. The same self renormalization constants are used for both the fields and their hermitian conjugates and not its conjugate as required by the complex mass scheme [Denner:2005fg]. Their imaginary parts would otherwise disappear form the hermitian Lagrangian. For example, the kinetic term of a scalar has an imaginary part if

(7) |

to absorb the imaginary part coming from the corresponding term of the two point loop amplitude. On the contrary, they would be no imaginary part if the conjugated field is renormalized with the conjugate of the renormalization constant, i.e.

(8) |

In the on-shell scheme, those constants are real and therefore also identical for both the fields and their conjugates. Similarly, external parameters in FeynRules are real and therefore renormalized by the same constants as their conjugates. Again, this is valid for both schemes even if the external parameters have complex renormalization constants as in the complex mass scheme. The renormalization is therefore identical for those two renormalization schemes but only the bare Lagrangian is hermitian in the complex mass scheme since the renormalization constants are complex in this scheme. The bare Lagrangian can also be split into the renormalized one depending only on the renormalized quantities and a counterterm Lagrangian linear in the renormalization constants,

(9) |

The UV counterterm vertices are extracted from the counterterm Lagrangian. The renormalization is performed into FeynRules where the Lagrangrian and all the parameters dependences are known^{1}^{1}1Except for the functions and variables related to one-loop computation, we refer to the FeynRules [Alloul:2013bka] manual for a complete description of its functions and conventions..

The renormalization of the Lagrangian is performed by the function `OnShellRenormalization`

. As indicated by the name, the renormalization is performed in the on-shell scheme or equivalently in the complex mass scheme. Therefore, the function renormalizes all the physical fields, all the masses and the remaining independent external parameters as in Eq. (2.1). The function can be called once FeynRules and the model have been loaded as follows

Lren = OnShellRenormalization[MyLag, options]

where `MyLag`

is the Lagrangian, written in the FeynRules syntax, that needs to be renormalized. The options for this function are listed in Table 1. The output is the bare Lagrangian written as a function of the renormalized fields and parameters^{2}^{2}2All the renormalization constants are multiplied by FR$CT. This variable has no physical meaning but is used to keep only terms with at most one renormalization constant and to extract the counterterms in the FeynArts interface.. Since each physical field and each mass have to be renormalized, the Lagrangian is expanded over flavor in FeynRules before performing the renormalization procedure.

A first observation regards the renormalization of masses that do not appear as external parameters in the FeynRules model but as internal ones. They should be exchanged for the renormalization with an external parameter appearing in its expression^{3}^{3}3the Value of its parameter definition in the FeynRules model. This exchange can be done without changing the initial model (such that the param_card does not change for example) using the variable `FR$LoopSwitches`

. The variable `FR$LoopSwitches`

is a list of pairs of an external parameter and an internal parameter to be exchanged for the renormalization. Namely, the second parameter is renormalized and the first one is replaced by inverting the Value of the second to obtain its dependence on the renormalization constants of the other parameters. For example, the -boson mass in the FeynRules SM model [SMfr] is an internal parameter but it should be renormalized in the on-shell scheme. Consequently, one of the external parameter appearing in its expression should not have an independent renormalization constant. The command

FR$LoopSwitches = {{Gf, MW}};

replaces then the Fermi constant by a function of the -boson mass for the renormalization.
Since the leading term in the expansion over a fermion mass comes from the Yukawa coupling for processes involving the Higgs boson, the FeynRules SM model defines two masses for each fermion: The Yukawa mass used to obtain the Yukawa coupling and the usual mass used anywhere else. Therefore, the mass of a fermion can be set to zero while keeping its Yukawa coupling. The Lagrangian is renormalizable and unitary only if those two external parameters are equal. More precisely, only the masses should be used since we are using the on-shell renormalization scheme.
The variable `FR$RmDblExt`

is a list of rules which is applied on the Lagrangian to replace the external parameters that should be removed before the renormalization. In the example of the SM, the command

FR$RmDblExt = { ymb -> MB, ymc -> MC, ymdo -> MD, yme -> Me, ymm -> MMU, yms -> MS, ymt -> MT, ymtau -> MTA, ymup -> MU};

ensures that the Lagrangian is renormalizable by replacing all the Yukawa masses by the usual ones before starting the renormalization procedure.
The assignment of both variables should be done before running the `OnShellRenormalization`

either in the notebook or in the FeynRules model file.

The purpose of the options of the function `OnShellRenormalization`

listed in Table 1 is mostly to speed up the computation by removing unwanted terms.
`QCDOnly`

keeps only the fields which carry an index of a representation of the strong gauge group, their masses and the external parameters with QCD appearing in their `InteractionOrder`

for the renormalization, i.e. the fields and parameters that are renormalized by the strong interaction. Similarly, the mixing between the flavors in the renormalization of the fields can be forbidden by setting FlavorMixing to False if the loop corrections do not mix different fields like the corrections from strong interactions in the SM for example. By default, all the fields with the same quantum numbers are allowed to mix. An intermediate situation can be obtained by setting the option FlavorMixing to a list of pair of fields. The syntax for the fields in this list should be the FeynRules ClassMembers if present and the ClassName otherwise. Only the mixing between the two fields of each pair is then included. For example, only the mixing between the two light up and down quarks are included if

FlavorMixing -> {{u, c}, {d, s}}.

If three or more fields are allowed to mix, all the possible pairs of those fields should be included in the list.
The Only2Point option allows to remove the renormalization of the coupling since they are not needed afterwards if they are renormalized in the scheme (see Sect. 3.2).
The computation of the renormalization conditions requires that the kinetic and mass terms are diagonal for the renormalized fields. The kinetic and mass terms are therefore simplified using the values of the internal parameters. This simplification can be skip if they are already diagonal by setting the option Simplify2Point to False. Finally, the counterterms for the four scalar terms can be time consuming while they are only useful if the one of the born amplitudes contains at least one four scalar interaction. Therefore the user can remove them by setting `Exclude4ScalarsCT->False`

. However, the tree-level four scalar interactions are kept as they can still appear in loops.

### 2.2 Renormalization conditions

While the cancelation of the divergences fixes the coefficient of the pole in a counterterm vertex, more complicated renormalization conditions may be desirable to determine its UV finite pieces. The renormalization conditions should be chosen to ease as much as possible the problem at hand or to make the physics transparent. In this respect, the renormalized mass is identified to the physical one, the real part of the pole of the propagator in the on-shell scheme such that its value is given by the mass measurement. Furthermore it allows to get rid of the corrections on the external legs of the amplitudes by forcing the two-point functions to vanish on-shell. More details on the on-shell scheme can be found in Ref. [Denner:1991kt].
In the following, we will given the renormalization conditions as they are implemented in the NLOCT package.

First, the tadpole counterterms are chosen to cancel the loop corrections such that no tadpole should be included in any computation. Secondly, the mass and the wave functions renormalization constants are fixed by the conditions on the two-point functions. Writing the renormalized fermion two-point function as

(10) |

where and the functions contain both the loop and counterterm contributions, the renormalization conditions in the on-shell scheme for the fermions are

The function takes the real part of the loop function but not of the couplings or of the mixing parameters. The off-diagonal conditions allow to absorb the corrections that mix different flavors in the wave function renormalizations. The renormalized fields are therefore mass eigenstates. If the two fermion flavors are massless, the first two conditions are trivially satisfied and therefore are replaced by and to fix the renormalization constants. For a Majorana fermions , the left and right renormalization constant for the wave function should be complex conjugate of each other since the left and right handed fermion fields are related by

(12) |

where is the Majorana phase. The two first conditions should therefore be equivalent for a Majorana fermion if only one renormalization constant is used. Similarly, if the renormalized two-point function for a scalar is

(13) |

and the renormalization conditions read

(14) |

Finally, if the renormalized two-point function of a vector is written as

(15) |

the corresponding renormalization conditions are

(16) |

The complex mass scheme allows the renormalized masses and the wave functions to be complex and is obtained by removing the [Denner:2005fg].

Finally, all the external parameters but the masses are renormalized in the scheme by default. Namely, only the pole in

(17) |

where is the Euler-Mascheroni, constant is included in the counterterms. This scheme will be used for example for the Yukawa couplings to the scalar doublet without vev in the generic 2DHM. It is no longer true in a type I or II 2HDM where all the Yukawa depends on the masses in a similar way as in the SM. It will be used also for the gauge couplings or the four scalars couplings as long as they do not depend on the masses or other external parameters. Alternatively, the zero-momentum scheme is commonly used for the renormalization of the gauge coupling constant. The renormalized coupling is fixed by requiring that the vertex between the fermions and the gauge boson is equal to the tree-level one when the momentum of the boson vanishes. Writing the renormalized vectorial gauge interactions of a fermion as

(18) | |||||

where , and are the incoming momenta of the two fermions and the vector, the functions contain the loop contribution from the triangle diagrams, the gauge coupling constant and the generators of the gauge group and should be replaced by the charge for an abelian group. The first two terms are due to the renormalization of the tree-level vertex. The last pieces of the first two lines are due to the mixing with another vector ( and are its vector and axial couplings to the fermions). The renormalization conditions at zero momentum, i.e. then read

(19) | |||||

(20) |

Gauge invariance implies that the second is always satisfied as well as

(21) |

Consequently, the renormalization of the gauge coupling is fixed by

(22) |

In practice, the contribution from the triangle loop diagrams should not and are not computed since they are related to the wave-functions renormalization by gauge invariance. Therefore, the zero-momentum scheme can only be used for massless vector gauge bosons interacting with fermions.

In principle, other renormalization schemes can be used. In that case, however, the corresponding renormalization conditions should be implemented. In particular, renormalization schemes which only requires the computation of the two-point functions available in NLOCT like the scheme [Burkhardt:1995tt, Dittmaier:2001ay, Eidelman:1995ny] can easily be included. As explained in Sect. 3.2, the scheme can alternatively also be used for the two-point functions.

## 3 Computation of the and UV counterterms

The computation of the one-loop amplitudes is performed in NLOCT using FeynArts [Hahn:2000kx] version 3.7 or above to write the amplitudes. NLOCT evaluates the terms of the amplitudes required for the computations of the and UV countertems and solves the renormalization conditions. Before loading those packages, the renormalized Lagrangian should be passed to FeynArts through the corresponding interface, i.e.

WriteFeynArtsOutput[Lren,options].

The default generic file of FeynArts lorentz.gen contains optimized lorentz structure vectors and should be used whenever possible to fasten the computation. This can only be done if the option `GenericFile`

has been set to `False`

when calling the `WriteFeynArtsOutput`

function. If this option is not set to `False`

, FeynRules will create a generic file that have to be used with the model file created simultaneously. Although the computation time may differ, both ways lead to the same result if the model Lorentz structures match those of lorentz.gen.
FeynArts should be loaded prior to the NLOCT package since the latter uses FeynArts to write the amplitudes. Both packages should be loaded in a new kernel as FeynArts and FeynRules cannot run on the same Mathematica kernel. They can however be used on the same Mathematica session as long as they run on two different parallel kernels. The computation of the and UV counterterms vertices is done by the WriteCT function of the NLOCT package called as follows,

WriteCT[<model>,<genericfile>,options]

where `<model>`

and `<genericfile>`

are the name of the FeynArts model files without extension (.mod and .gen) written as a string, the options are listed in Table 2 and will be further detailed in the following. The `genericfile`

should be set to lorentz if the `GenericFile`

option has been set to `False`

in FeynRules or to the same value as `model`

otherwise. If the generic file is not given, the default value is lorentz. The FeynArts model files should be in the FeynArts model directory by default. The output file is written in the current directory and is named by the FeynRules model name with a `.nlo`

extension by default.

### 3.1 Computation of the one-loop amplitudes contributions

The algorithm starts with the evaluation of the parts of the one-loop amplitudes as well as the terms required for the resolution of the renormalization conditions, i.e. the UV divergences and the UV finite contributions for amplitudes with at most two external particles. The latter will be referred to as the UV parts in the following.
The evaluation of those terms relies on the assumptions that the model is renormalizable and written in Feynman Gauge^{4}^{4}4This gauge also used by MadLoop..
Since the maximal dimension of the operators in the Lagrangian is then four, only the vertices with one vector and two scalar or ghost fields or with three vector fields depend on momenta. Furthermore, only the fermion propagators bring additional momenta in the numerator of the integrand in the Feynman gauge. As a consequence, the power of the loop momentum in the numerator is bound by the number of propagators.
Only diagrams with at most four propagators and with the sum of the dimension of the external fields lower or equal to four can diverge and therefore generate a and/or UV part.
Furthermore, the amplitudes with four external particles do not have a UV divergence if a three scalars vertex or a scalar-vector-vector vertex is present. As a matter of fact, those vertices do not contain any momenta such that the highest power of the loop momentum in the numerator is lower than the number of propagator denominators. Similarly, the amplitudes with a ghost in the loop and four external scalar fields do not diverge. Therefore, all those diagrams are not generated. Although the computation can in principle be done in any gauge, the algorithm uses the feynman gauge assumption to speed up and simplify the code. The user should be aware that the result returned by the current version of NLOCT will not be correct for another gauge as diagrams would be wrongly discarded.

After the generation of the relevant irreducible amplitudes for a given number of external fermion, scalar and vector fields. The and UV parts are computed at the generic level, i.e. only the spin of the particles in the diagrams is specified. The vertices in FeynArts are written as

(23) |

where is a vector containing the couplings and is the vector of the Lorentz structures^{5}^{5}5They are stored respectively in the model and generic files.. The Lorentz structures contain all the kinematic information: Dirac matrices, metric tensors, momenta, Levi-Civita tensors. The vector of Lorentz structures is common for all the vertices involving the same number of fermion, ghost, scalar and vector fields. On the contrary, the couplings are free from those elements but are functions of the parameters and the gauge group representations of the model specific for each vertex.
As a result, all the elements of the amplitudes are fixed at the generic level except for the masses and those couplings. They will be replaced by their actual values later.

After shifting the loop momentum using Feynman parameters, the denominator becomes an even function of the loop momentum and therefore the terms of the numerator with an odd number of the loop momentum vanish after integration. Terms with less than two (four) occurrences of the loop momentum for amplitudes with three (four) propagators are also dropped as they do not induce a UV divergence. Loop momenta are then gathered in scalar products using one of the following replacements

(24) | |||||

(25) |

The Dirac algebra and the contractions of the metric tensors are then performed using Eqs. (4) and (5) to obtain the two lower terms of the expansion of the numerator. The integration over the loop momentum generates the following

(26) | |||||

(27) | |||||

(28) | |||||

(29) | |||||

(30) |

where and do not depend on or the loop momentum but are polynomials of the Feynman parameters. Their UV parts are given by

(31) | |||||

(32) | |||||

(33) | |||||

(34) | |||||

(35) |

where the finite parts of the integrals are kept for cases with one and two propagators since only those are relevant for the one- and two-point functions. Those terms are removed if the number of external particles is bigger than two. The users can remove those terms by setting the options `MSbar`

to true. Only the UV divergence are then kept and therefore all the quantities are renormalized in the scheme. For a single propagator, the logarithm is set to zero if the mass in its argument vanishes. Since the logarithms can induce an infrared pole for massless particle after the integration over the Feynman parameters, the terms linear in in the coefficient of the logarithm are kept when there are two propagators. The integration over the Feynman parameters is then performed for the cases of multiple propagators except for the terms with a logarithm. Those integrations are kept unevaluated until the external momentum is fixed by the renormalization conditions to handle properly
massless particles.

After the computation of the required parts of the amplitudes, the masses and couplings are replaced by their values for each field insertion at the class level, i.e. after fixing the type for each fermion, ghost, scalar and vector field in the diagrams.
The `QCDOnly`

option allows to keep only the QCD contributions in the same spirit as what was done for the renormalization. If this option is set to True, all the diagrams without any vertex with at least three fields with a non-trivial representation under the strong gauge group are removed from the field insertion. Furthermore, only the terms with a power of higher than two and higher the number of external colored particles if at least one external particle is in the adjoint representation of .
Finally, the color algebra is performed for the triplet and octet ending the computation for the vertices. For any other representation like a sextet, the products of the color generators is left unevaluated.

### 3.2 Resolution of the renormalization conditions

The renormalization conditions are solved at each order in separately. The subscript has been added to to emphasize that it is only the pole due to the UV divergence. First, the UV divergent part of the UV counterterm vertices is simply given by the divergence of the corresponding one-loop amplitudes up to the overall sign. Writing the one loop amplitude as

(36) |

where contains the UV finite part of the amplitude^{6}^{6}6Which may contain an IR divergence, the UV divergent part of the corresponding counterterm vertex is .
In so doing, the computation UV divergence of the renormalization constant is bypassed. The renormalization constants are therefore not used for quantities renormalized in the scheme as mentioned earlier. Secondly, the renormalization conditions of Sect. 2.2 are solved for the UV finite part of the renormalized two-point functions to obtain the UV finite part of the renormalization constants . Namely, only is kept instead of the full loop amplitude in the renormalization condition.
The counterterm vertices with the renormalization constants replaced by their UV finite parts are finally added the UV divergent parts of the UV counterterm vertices to obtain the full UV counterterm vertices. For example, the gluon-gluon counterterm vertex is then written as

(37) |

The tadpoles are the only exception, their counterterm vertices are directly given by the value of the full corresponding one-loop amplitudes with a minus sign since no associated renormalization constant have been introduced.
The contribution of each diagram to the UV divergence of a vertex can this way be associated with the particle in its loop. This information is kept for both the UV and vertices if `LabelInternal`

option is set to `True`

and will be later included in the UFO output by the associated FeynRules interface.
The loop particles for the UV finite parts of the UV counterterms are however not well defined. For the UV finite parts of the UV counterterms, the particles in the loop are chosen to be those of the two-point amplitudes from which the renormalization constants have been computed.

The renormalized two-point functions is obtained by adding the UV finite part of the loop amplitudes and the corresponding couterterm amplitudes, i.e. the tree-level amplitudes with the vertices from . The integration over the Feynman parameter for the bubble logarithms is performed after writing the renormalization conditions, namely after the derivative over the external momentum has been performed if needed and after replacing the external momentum squared by the square of one of the external masses. Those logarithms can be written as

(38) |

where and are the masses of the particles in the loop, is the external momentum and is coming from the prescription for the propagators and is used to choose the appropriate side of the branch cut when , i.e. when the external particle is kinematically allowed to decay into the loop particles. This integral is nothing more than the finite part of the scalar two-point functions . Consequently, its expression is

(39) |

with and being the roots of

(40) |

and its derivative expression is given by

(41) |

never cross the branch cut in the complex mass scheme. However, the logarithm can have a negative argument for real masses depending on the spectrum and are then replaced by

(42) |

where the sign of the imaginary part is fixed by . However, the term is dropped in the on-shell scheme due to the . For and/or , Eqs. (39) and (41) seems divergent. However, the and its derivative expressions reduce to

(43) | |||||

(44) |

when , to

(45) | |||||

(46) |

when and to

(47) | |||||

(48) |

when both vanishes. The functions only has an infrared divergence when all the arguments vanish,

(49) |

while its derivative vanishes in that case. Its derivative is also IR divergent when one of the loop particle is massless and the other has the same mass as the external particle,

(50) |

Consequently, the expansion in is only done after the evaluation of those functions and just before solving the renormalization conditions to get the finite and IR divergence of the renormalization constants.
The UV finite part is computed by default to cover all possible cases by inserting if statement in the expressions, i.e. for all mass hierarchies and all non-zero masses are still allowed to vanish. As a result, the expressions can become quite long. The list of assumptions passed by the `Assumptions`

option is used to remove the cases that do not satisfy them. The expressions are therefore shorter and the computation is faster. The list of assumptions is written in the .nlo file and stored in the variable `NLOCT$assumptions`

to remind the user that those vertices cannot be used when they are not satisfied. In the complex mass scheme, the expressions do not change depending if the external momentum is above or below the decay threshold and therefore setting `ComplexMass->True`

can also reduce the size of the expressions.

The computation of the finite part of the gauge coupling renormalization constant is performed using Eq. (22) if the `ZeroMom`

option has been used.
For example,

ZeroMom -> {{aS, {F[7], V[4], -F[7]}}}

fixes the finite part of renormalization constant by requiring the finite part of the gluon to the up quark interaction to be zero at zero momentum. In the SM with the number of massless quarks , the renormalization of the strong coupling constant in the zero-momentum scheme implies [Beenakker:2002nc]

(51) |

### 3.3 The output

The vertices computed by the WriteCT function are stored in the output file as two lists of vertices in a format similar to the FeynRules one. The only difference is that FeynArts notation is kept for the color matrices since they have the advantage that the summed indices do not appear explicitly. The list with the terms is called `R2$vertlist`

and the one with the UV counterterms `UV$vertlist`

. For example, the `R2$vertlist`

for the SM with only QCD corrections looks like

R2$vertlist = { {{{anti[u], 1}, {u, 2}}, ((-I/12)*gs^2* IndexDelta[Index[Colour, Ext[1]], Index[Colour, Ext[2]]]*IPL[{u, G}]* (TensDot[SlashedP[2], ProjM][Index[Spin, Ext[1]], Index[Spin, Ext[2]]] + TensDot[SlashedP[2], ProjP][Index[Spin, Ext[1]], Index[Spin, Ext[2]]]))/Pi^2}, ... }

where the dots represent the other vertices. If the option `CTparameters`

has been set to `True`

, the `FR$CTparam`

is a replacement list for the internal parameters used in `UV$vertlist`

. The list is empty otherwise. Additionally, all the FeynRules information about the model, the version of the NLOCT package and the date and time of generation appear commented in the header of the file. The FeynArts file names are stored into the variable `CT$Model`

and `CT$GenericModel`

and their definitions appear with the `NLOCT$assumptions`

definition at the beginning of the output file. Finally, a variable keeps tack which interactions have been used for the loop corrections. Each interaction is associated with a value one (zero) if the and UV counterterm vertices (do not) contain its contributions in the list `FR$InteractionOrderPerturbativeExpansion`

. For example, the SM with only QCD correction has

FR$InteractionOrderPerturbativeExpansion = {{QCD, 1}, {QED, 0}};

The output file can the be loaded using the `Get`

Mathematica function in a different kernel after reloading FeynRules and the model. The vertices can then be exported in a UFO file using the `UVCounterterms`

and `R2Vertices`

option of the `WriteUFO`

command, i.e.

WriteUFO[MyLag, UVCounterterms -> UV$vertlist, R2Vertices -> R2$vertlist].

The running times for the SM, MSSM ^{7}^{7}7with flavor conservation and 2HDM do not exceed a few hours on a dual core 2.4 GHz laptop with 4 Gb of RAM.

### 3.4 Validation

The validation is based mainly on the SM and MSSM for which the and/or the UV have been published.

#### Sm (Qcd):

The analytic expressions for the vertices due to the one-loop corrections from the strong interaction have been found in agreement with [Draggiotis:2009yb]. The UV counterterms expressions due to the strong interaction using the on-shell scheme for the two-point functions and the zero-momentum scheme for the strong coupling constant have also been compared to [Beenakker:2002nc]. It should be noted that the expressions remain the same for the complex mass scheme since at most one non-zero mass enter the computation of each wave function or mass renormalisation constant. Therefore this mass only appear in the logarithms and the branch cut is never an issue. Finally, the UFO generated automatically by FeynRules, NLOCT and FeynArts has been used in a recent version of MadGraph5_aMC@NLO [Alwall:2014hca] and found in perfect agreement with the built-in version.

#### Sm (Ew):

The vertices from the electroweak corrections have been compared analytically to [Garzelli:2009is]. The electroweak corrections to the UV counterterms have been validated by comparison with [Denner:1991kt]. Again, the on-shell scheme has been used for the two-point functions while the electroweak coupling has been renormalized with the zero-momentum scheme,

(52) |

Many other renormalization scheme have been suggested for the electroweak coupling constant. However, only the and the zero-momentum are implemented so far. The electroweak interaction is responsible for most of the decay of the elementary particles and therefore the complex mass scheme can be used to handle all the widths properly. The UFO with the electroweak corrections included is currently tested in MadGraph5_aMC@NLO as its algorithm is currently extended to include the electroweak corrections.

#### Mssm (Qcd):

The analytic expressions for vertices in the MSSM due to the strong interaction (using the FeynArts built in model to ease the comparison) from the NLOCT package have been compared to the expressions in the literature [Shao:2012ja] and found in perfect agreement. The MSSM allows to check that the Majorana fermions are handled properly. The MSSM is currently tested in MadLoop using FeynRules version of the model to be able to export it in the UFO format. Contrary to the SM, various masses can be relevant for the corrections from the strong interaction to each two-point function due to the presence of the squarks and the gluino.

## 4 2hdm

The Two Higgs Doublet Model (2HDM) is one of the simplest extension of the SM. Only one scalar multiplet with the same transformation under the SM gauge symmetries as the Higgs field is added to the field content of the SM. Consequently, the 2HDM Lagrangian can be written as

(53) |

where and are the two scalar doublets, is the SM Lagrangian without all the terms involving the Higgs doublet, is the 2HDM scalar potential and contains the interactions between the fermions and the scalar fields. The most generic potential reads [Branco:1999fs, Haber:2006ue, Eriksson:2009ws]

(54) | |||||

where , , and are complex while the other parameters are real. However, not all those parameters are observable since they can be modified by a change of basis,

(55) |

where is a two by two unitary matrix. Contrary to the SM, the vacuum of the 2HDM does not automatically preserve . This desirable property is achieved by forcing the two vacuum expectation values of the two scalar doublets to be aligned,

(56) |

For this vacuum, the basis can be chosen such that only one of the doublets has a non vanishing vev,

(57) |

where and . This basis is called the Higgs basis. The basis is not entirely fixed yet because the phase of can still be changed. For example, it can be chosen such that either one parameter amongst , , and is real or the CP transformation of the second doublet is given by

(58) |

This will be our basis in the following and therefore we will drop the prime in the notation. The following relations have to be satisfied for this vacuum to be the minimum of the potential or equivalently to remove the tadpoles,

(59) |

Therefore, removing the phase of or is equivalent. In this basis, the Yukawa Lagrangian is

(60) | |||||

where with , are the Yukawa matrices like in the SM, i.e. diagonal matrices with the diagonal entries equal to in the physical basis for the fermions while the matrices are free parameters. Since we have not introduced right-handed neutrinos, there are no Yukawa terms for the neutrinos.

The doublets have to be replaced in the Lagrangian by the component fields,

(61) |

where and are the Goldstone bosons, to extract the masses. The mass of the physical charged scalar, , is

(62) |

while the mass matrix of the neutral physical states reads

(63) |

The mass eigenstates of mass are obtained by the orthogonal transformation

(64) |

with

(65) |

where and . The masses and mixing angles of the physical scalars are functions of the potential parameters such that

(66) |

Equivalently, Eq. (66) has been solved for the parameters of the potential in the FeynRules implementation.
As a matter of fact, the masses and mixing angles have been chosen to be external parameters to ease the on-shell renormalization. Additionally, it also ensures that the potential is positive definite. As a consequence, all the parameters of the potential except , and are internal parameters.
The gauge parameters are functions of the external parameters , , , as in the SM. The Yukawa matrices are internal parameters fixed by the fermions Yukawa masses^{8}^{8}8The double definition of the fermion masses is kept as in the SM for the same reason[Plehn:2002vy, Berger:2003sm].. Finally, the real and imaginary parts of the coupling matrices are external parameters.
In the type I or II 2HDM, those matrices are related to the masses of the fermions and should be renormalized accordingly. Therefore, they should be set as internal parameters depending on the masses before renormalization.

Parameter | `ParameterName` |
Description |
---|---|---|

aEWM1 | Inverse of the electroweak coupling constant | |

Gf | Fermi constant | |

aS | Strong coupling constant at the Z pole | |

l2 | Second quartic coupling | |

l3 | Third quartic coupling | |

, | l7R,l7I | Real and imaginary parts of the last quartic coupling |

GUR | Real part of the up Yukawa matrix | |

GUI | Imaginary part of the up Yukawa matrix | |

GDR | Real part of the down Yukawa matrix | |

GDI | Imaginary part of the down Yukawa matrix | |

GLR | Real part of the charged lepton Yukawa matrix | |

GLI | Imaginary part of the charged lepton Yukawa matrix | |

,, | mixh,mixh2,mixh3 | Neutral scalars mixing angles |

MZ | Z mass | |

, , | ymdo, yms, ymb | Down, strange and bottom Yukawa mass |

, , | ymup, ymc, ymt | Up, charm and top Yukawa mass |

, , | yme, ymm, ymtau | Electron, muon and tau Yukawa mass |

, , | MU, MC, MT | Up quarks masses |

, , | MD, MS, MB | Down quarks masses |

, , | Me, MMU, MTA | Charged lepton masses |

mhc | Charged scalar mass | |

, , | mh1, mh2, mh3 | Neutral scalar masses |

The Lagrangian (53) is already strongly constrained unless some extra symmetries are added. For example, the constraints from flavor changing neutral currents are automatically satisfied if flavor is conserved. Flavor conservation requires all the Yukawa coupling matrices to be diagonal as well as the CKM matrix. Choosing the basis such that the CP transformation of the second doublet are given by Eq. (58), CP conservation implies that , , and are real and