We present DsixTools, a Mathematica package for the handling of the dimension-six standard model effective field theory. Among other features, DsixTools allows the user to perform the full one-loop renormalization group evolution of the Wilson coefficients in the Warsaw basis. This is achieved thanks to the SMEFTrunner module, which implements the full one-loop anomalous dimension matrix previously derived in the literature. In addition, DsixTools also contains modules devoted to the matching to the \(\Delta B = \Delta S = 1,2\) and \(\Delta B = \Delta C = 1\) operators of the Weak Effective Theory at the electroweak scale, and their QCD and QED Renormalization group evolution below the electroweak scale.
The experimental success of the standard model (SM) of particle physics and the absence of new physics (NP) signals so far seem to hint at the presence of a mass gap between the SM degrees of freedom and the new dynamics. In this case, departures from the SM at energies much smaller than the new physics scale can be described using effective field theory (EFT) methods. The so-called standard model EFT (SMEFT) parametrizes possible deviations from the SM caused by heavy degrees of freedom in a model independent way.
The SMEFT Lagrangian is organized as an expansion in powers of \(1/\Lambda \), where \(\Lambda \) represents the new physics scale and compensates the canonical dimension of the effective operators. The leading order of the SMEFT corresponds to the renormalizable SM Lagrangian. Dominant new physics contributions to most processes of interest are expected to be encoded in the Wilson coefficients (WC) of effective operators of canonical dimension six [1].
In recent years, a non-redundant basis for the dimension-six SMEFT operators was derived [2]. This basis is currently known as the Warsaw basis. The complete one-loop anomalous dimension matrix (ADM) for the dimension-six operators has been calculated very recently in this basis [3,4,5,6]. These advances, together with simultaneous theoretical developments occurring in the field (such as in the matching of specific models to the SMEFT at one loop [7,8,9,10,11,12, 14, 15] and in the automatization of calculations within the SMEFT [13]), pave the way to the systematic use of EFT methods in the analysis of new physics models. The power of the SMEFT approach is that it allows to relate physics at disparate energy scales, in our case properties of the high-energy dynamics at the scale \(\Lambda \), with measurements that take place at low energies, while performing an expansion in \(1/\Lambda \) that allows to keep leading new physics effects in a consistent manner. Here we present DsixTools, a MathematicaFootnote 1 package that aims to facilitate such enterprise.
Given some initial conditions for the Warsaw basis at the high-energy scale \(\Lambda \), obtained from the matching of a UV model to the SMEFT, DsixTools allows the user to perform the full one-loop renormalization group evolution (RGE) down to the electroweak scale. Furthermore, when the physics of interest lies well below the electroweak scale, it is useful to perform a matching of the dimension-six basis to a low-energy EFT in the broken electroweak phase. In the so-called weak effective theory (WET), the SM heavy degrees of freedom (top quark, Higgs, \(W^{\pm }\) and Z) have been integrated out. DsixTools implements the tree-level matching of the Warsaw basis to \(\Delta B = \Delta S = 1,2\) and \(\Delta B = \Delta C = 1\) operators of the WET based on the results obtained in [17]. Last but not least, the relevant effects due to QCD and QED running from the electroweak scale down to the b-quark mass scale in the WET is also implemented in DsixTools, using the results in [18].
DsixTools is structured into different modules, each of them taking care of a specific task. Their functionality is described in Sect. 2. Section 3 explains how to download and load DsixTools whereas a detailed review of DsixTools and its modules is given in Sect. 4. A summary is given in Sect. 5. Finally, this manual includes several appendices to document all the features present in DsixTools: Appendix A contains details of the conventions used for the implementation of the SMEFT, Appendix B contains the SMEFT RGEs, Appendix C describes relevant aspects of the WET, Appendix D contains a detailed description of the DsixTools routines, Appendix E is devoted to compile the SMEFT and WET parameters list and Appendix F gives results for the Baryon-number-violating operators in the fermion mass basis.
2 DsixTools in a nutshell
DsixTools is a modular package, with each module performing an independent task related to dimension-six effective operators. The different modules can be easily communicated with each other, since one module’s output can be used as input for another module. In practice, this means that a particular project with DsixTools can involve all modules or just a few, depending on the user’s goals. Figure 1 shows the global flowchart of DsixTools.
The current version of DsixTools contains three independent modules, called: SMEFTrunner, EWmatcher and WETrunner. The SMEFTrunner module implements:
The SM contribution to the one-loop RGEs of the SM parameters [19,20,21,22].
The one-loop RGEs for the dimension-six operators in the Warsaw basis from Refs. [3,4,5].Footnote 2
The one-loop RGEs for the dimension-six Baryon-number-violating operators using the results in [6].
The EWmatcher module implements:
The tree-level matching of the Warsaw basis to the \(\Delta B = \Delta S = 1,2\) and \(\Delta B = \Delta C = 1\) operators of the WET at the electroweak scale, using the results in [17].
The WETrunner module implements:
QCD and QED RGEs in the WET from the electroweak scale down to the low-energy scale \(\Lambda _\mathrm{IR}\). The WETrunner module fixes by default \(\Lambda _\mathrm{IR} = m_b\), the b-quark mass scale, and uses the RGEs derived in [18].
The functionality of the DsixTools modules is illustrated in Fig. 2, where one can also see how they relate to the different energy ranges and effective theories. Relevant details of the SMEFT and WET implementations are given in Appendix A–Appendix C, where our conventions are also presented.
3 Downloading and loading DsixTools
DsixTools is free software under the copyleft of the GNU General Public License. It can be downloaded from the web page [23]:
https://dsixtools.github.io
After placing the DsixTools folder in the Applications folder of the Mathematica base directory, the user can load DsixTools with the command
Alternatively, the user can place the DsixTools folder in a given directory and call the package by specifying its location via
before executing the Needs command. We also recommend to use
at the beginning of all projects with DsixTools.
4 Using DsixTools
In this section we describe how to use DsixTools in detail. Once the package has been loaded, the user can already execute some basic I/O functions and routines. Several global variables are also introduced at this stage. Here we list the general DsixTools routines:
LoadModule[moduleName]: Loads the DsixTools module moduleName.
MyPrint[string]: Prints the message string. It can be switched on and off by using the DsixTools routines TurnOnMessages and TurnOffMessages.
TurnOnMessages: Turns on the messages written by DsixTools.
TurnOffMessages: Turns off the messages written by DsixTools.
ReadInputFiles[options_file, WCsInput_file, {SMInput_file}]: Reads all the input files. The third argument is optional and should be absent when the routine is used to read WET input.
WriteInputFiles[options_file, WCsInput_file, {SMInput_file},data]: Creates input files with the parameter values in data. The third argument is optional and should be absent when the routine is used to write WET input.
WriteAndReadInputFiles[options_file,WCsInput_file,{SMInput_file}]: Writes data into new input files and then reads them. The third argument is optional and should be absent when the routine is used to write and read WET input.
NewInput[parameter,newvalue,dispatch]: Replaces the current input (contained in the Mathematica dispatch dispatch) by a new one in which parameter takes the value newvalue.Footnote 3
NewScale[scale,newvalue]: Replaces the current value of scale by newvalue. Here scale can be either “high” or “low”.
H[mat]: Returns the Hermitian conjugate of the matrix mat. If the option CPV has been set to 0 then it returns the transpose.
CC[x]: Returns the complex conjugate of x. If the option CPV is set to 0 then it returns x.
A more detailed description of these DsixTools routines can be found in Appendix D.1. Once DsixTools is loaded the user can already perform some basic operations. However, the real power of DsixTools resides in its modules. A project with DsixTools can involve one or many modules, depending on the user’s goals. For instance, if one is interested in the running of WET operators between the electroweak scale and the b-quark mass scale, the WETrunner module suffices for the task. But if one wants to study the RGE evolution of the SMEFT operators and their matching to WET ones at the electroweak scale, both the SMEFTrunner and EWmatcher modules must be included in the project. In the following we proceed to describe the existing modules, the routines they include and how they can be combined together in a practical DsixTools project.
4.1 SMEFTrunner module
The SMEFTrunner module takes care of the one-loop RGE of the SMEFT between the high-energy scale \(\Lambda \) and the electroweak scale. The module is based on the anomalous dimension matrices computed in [3,4,5] (for the Baryon-number-conserving operators) and [6] (for the Baryon-number-violating operators). This is the list of routines implemented in this module:
InitializeSMEFTrunnerInput: Initializes the input for the SMEFTrunner module.
FindParameterSMEFT[parameter]: Returns the position in which parameter is located within the Parameters list.
GetBeta: Computes the SMEFT \(\beta \) functions.
LoadBetaFunctions: Constructs the SMEFT \(\beta \) functions or reads them from a file.
RunRGEsSMEFT: Runs the SMEFT RGEs.
ExportSMEFTrunner: Exports the SMEFTrunner results to an output file.
WriteSMEFTrunnerOutputFile[Output_file,data]: Exports the SMEFTrunner results in data to Output_file.
More details about these routines can be found in Appendix D.2.
The general flowchart of the SMEFTrunner module can be seen in Fig. 3. The first step is to read the input. This not only includes the numerical values of the SMEFT WCs at the high-energy scale \(\Lambda \), but also the numerical values of the SM parameters and some options. The input and output format of DsixTools is inspired by the Supersymmetry Les Houches Accord (SLHA) [24, 25]. A complete options card would read:
For this particular example we have chosen the default options. In fact, if a flag is not present in the options file, its value will be taken as in this example. The user defines the high-energy and electroweak scales in the first block. We see that in this example the electroweak scale is fixed to 80.385 GeV, the W-boson mass, whereas the high-energy scale is \(\Lambda = 10\) TeV. Then the user defines several options. For instance, in this case CP-violation has been switched off by setting CPV to 0, but the user can also consider complex parameters setting CPV to 1. The comments accompanying the other options are self-explanatory, but we will review them below. A sample of a typical input card for the SM parameters is as follows:
Again, the input values are distributed in blocks, each devoted to a set of parameters. For instance, the SM gauge couplings are given in the block GAUGE. We note that the Yukawa matrices (and in general any complex parameter) are given in two blocks. For the up-quark Yukawas these are GU and IMGU: the first one is used for the real parts and the second for the imaginary ones. By default, the SM parameters are assumed to be given at the electroweak scale, where their experimental values are known. Then, before running down from \(\Lambda \) to the electroweak scale they must be computed at \(\Lambda \). This is done by running up from the electroweak scale using pure SM RGEs, hence neglecting possible deviations caused by non-zero SMEFT WCs.Footnote 4 However, in case the user prefers to give the SM parameters directly at high-energy scale \(\Lambda \), this can be done by setting the UseRGEsSM option to 0 or, equivalently, by introducing a 0 in flag number 5 of the options file,
This choice is recommended when the user wants to use the First leading log method to solve the RGEs, see below. Finally, a standard input card for the SMEFT WCs reads:
The notation for the operators is self-explanatory:
It is important to note that all WCs are assumed to vanish by default. Therefore, it suffices to include the non-zero WCs (and only these) in the input card. The rest can be absent.
In addition to getting input values at \(\Lambda \), the SMEFTrunner module constructs the SMEFT RGEs and prepares a routine for their evaluation. There are two ways to do this: (i) to “compute” the RGEs, or (ii) to read them from a file. In the first case, DsixTools takes their saved forms and computes all flavor traces and expands over all possible indices. In the second case, DsixTools simply reads them from a file (already present in the DsixTools folder). In both cases, the command to give this step is LoadBetaFunctions. The user can choose between these two methods in the options file using flag number 2. Method (i) is more time consuming but provides nice-looking \(\beta \) functions in Mathematica format. This would be very useful for analytical studies. Moreover, the user can obtain these equations at any moment by using the routine GetBeta. Method (ii) is much faster and produces the RGEs in the format required for their immediate evaluation with the SMEFTrunner routines (in particular with RunRGEsSMEFT).
Once both the initial conditions (input values at \(\Lambda \)) and the RGEs are completely built, the user can apply the RGE to obtain the goal of SMEFTrunner: the SMEFT WCs at the electroweak scale. This is done with the RunRGEsSMEFT routine. We have implemented two different methods for the resolution of the RGEs:
“Exact”: This method applies the Mathematica internal command NDSolve for the numerical resolution of differential equations. Given the large number of differential equations involved in this case (several thousand), this might be time consuming, with each evaluation requiring a few (<10) seconds, the exact number depending on the particular case and computer.
First leading log: This approximate method might be sufficient for many phenomenological studies, in particular when \(\Lambda \) is not too far from the electroweak scale. The solution of the RGEs is obtained as
where \(C_i\) is any of the running parameters, \(\mu \) is the renormalization scale and \(\beta _i\) is the \(\beta \) function for the \(C_i\) evaluated at \(\mu = \Lambda \). This method is much faster but neglects subleading effects.
The user chooses between these two methods by setting the global option RGEsMethod to 0 (for the NDSolve method) or 1 (for the first leading log approximate method). This is also done via flag number 3 in the options card. After running, the results are saved in the array outSMEFTrunner as a function of \(t = \log _{10} \mu \). The ordering of the parameters is the same as in the Parameters global array, see Appendix E.Footnote 5 Moreover, two important values of t are predefined: tLOW (\(=\log _{10} \mu _\mathrm{EW}\)) and tHIGH (\(=\log _{10} \Lambda \)). Therefore, for instance, one can obtain the value of the \(\left[ C_{e \varphi } \right] _{12}\) at the electroweak scale by evaluating
Finally, the output of SMEFTrunner can be exported to a text file. This is done by running ExportSMEFTrunner. The file Output_SMEFTrunner.dat is then generated, also with an SLHA format, completely analogous to the SMEFT WCs input card.
4.2 EWmatcher module
The EWmatcher module applies the tree-level matching of the Warsaw basis of the SMEFT to the \(\Delta B = \Delta S = 1,2\) and \(\Delta B = \Delta C = 1\) operators of the WET. For this purpose we make use of the analytical results obtained in [17]. This is the list of routines implemented in this module:
InitializeEWmatcherInput: Initializes the input for the EWmatcher module.
FindParameterWET[parameter]: Returns the position where parameter is located within the WETParameters list.
Biunitary[mat,dim]: Applies a biunitary transformation that diagonalizes the dim\(\times \)dim matrix mat.
RotateToMassBasis: Transforms the SMEFT WCs to the fermion mass basis.
ApplyEWmatching: Matches the SMEFT WCs onto the WET WCs.
Match[WC]: Returns the value of the WET Wilson coefficient WC after matching it to the SMEFT.
MatchAnalytical[WC]: Returns the analytical expression of the WET Wilson coefficient WC after matching it to the SMEFT.
WriteWCsMassBasisOutputFile[Output_file]: Exports the SMEFT 2- and 4-fermion WCs in the fermion mass basis to Output_file.
ExportEWmatcher: exports the EWmatcher results to an output file.
WriteEWmatcherOutputFile[Output_file,data]: Exports the EWmatcher results in data to Output_file.
Appendix D.3 contains more details about these routines and functions.
The EWmatcher module flowchart can be seen in Fig. 4. The first step is, as usual, to determine the input of the module. If the SMEFTrunner module has preceded the EWmatcher, the input is automatically created using the output of the former. Otherwise, the user can also provide an input file and start the DsixTools project with the EWmatcher module as first step.
In what concerns the input card, the same WCsInput.dat file that is read by the SMEFTrunner module can also be used as WCs input for the EWmatcher module. Instead of interpreting the input values as given at \(\mu = \Lambda \), the EWmatcher module will interpret them as given at \(\mu = \mu _\mathrm{EW}\).
Next, the EWmatcher transforms the SMEFT WCs to the fermion mass basis, applying the required biunitary transformations to the fermion mass matrices.Footnote 6 This necessary step is done by means of the RotateToMassBasis routine and gives, as a result, the SMEFT WCs in the fermion mass basis, generally denoted as \(\widetilde{C}_i\).Footnote 7 In case the user is particularly interested in these coefficients, they can be exported to an external text file by running
Furthermore, RotateToMassBasis also creates the replacements array ToMassBasis, which can be used to print the numerical values of the SMEFT WCs in the fermion mass basis. For example,
would print the numerical value of the coefficient \(\big [{\widetilde{C}}_{\ell \ell }\big ]_{1122}\).
The next step is the matching to the WET operators. For this the user must execute
This creates the arrays BS2, BC1, BS1Hunprimed, BS1Hprimed, BS1GB, BS1SLunprimed and BS1SLprimed, containing the numerical values of the WET WCs at the electroweak scale. While BS2 and BC1 contain the results for the \(\Delta B = \Delta S = 2\) and \(\Delta B = \Delta C = 1\) coefficients, respectively, the other arrays contain the results for the \(\Delta B = \Delta S = 2\) ones, split into several sub-arrays with hadronic (H), semileptonic (SL) and magnetic, or gauge boson (GB) involving, WCs. They can also be accessed individually thanks to the function Match. For example, CBS1[e][1] // Match would print the numerical value of \(C_1^{bsee}\). If one is interested in the analytical expression after matching the function to use is MatchAnalytical, which only replaces the energy scales and the SM parameters by their numerical values.
Finally, the output of EWmatcher can be exported to a text file. This is done by running ExportEWmatcher, which generates the file Output_EWmatcher.dat with a compilation of all results obtained with this module.
4.3 WETrunner module
The WETrunner module is devoted to the RGE of the WET WCs between the electroweak scale and the infrared scale \(\Lambda _\mathrm{IR}\). In the current version of DsixTools, \(\Lambda _\mathrm{IR}\) is set by default at b-quark mass scale, \(m_b = 4.18\) GeV, and the RGE is based on the analytical results obtained in Ref. [18]. This is the list of routines implemented in this module:
InitializeWETrunnerInput: Initializes the input for the WETrunner module.
RunRGEsWET: Runs the WET RGEs.
ExportWETrunner: Exports the WETrunner results to an output file.
WriteWETrunnerOutputFile[Output_file,data,scale]: Exports the WETrunner results in data to Output_file after evaluating them at \(\mu =\)scale.
For more details about these routines see Appendix D.4.
The general flowchart of the WETrunner module can be seen in Fig. 5. As for the EWmatcher module, the input for the WETrunner can be obtained directly (and automatically) from the previous module (EWmatcher in this case) if this is run before. Otherwise, the user can also provide new input values and begin a DsixTools project in this step of the chain. In this case, the input card for the WET WCs, which we will call WCsInput.dat as for the SMEFT ones, also follows a simple SLHA-inspired format:
We see that the first block gives the input value for the electroweak scale while the other blocks give the input values for the WET WCs. In this particular example the only non-vanishing WET WC is \(C_4^{sbsb} = 1\). It is important to note, however, that DsixTools must know that the input WCs are of WET type. This is done via the option inputWCsType, which must be set to 2 (the default value is 1, which indicates SMEFT WCs) before reading the input file with the ReadInputFiles routine. This option choice can also be achieved by using the flag number 9 in the options card:
Once the input has been read (or taken from the EWmatcher module) one can proceed to the RGE of the WET WCs. The WETrunner module implements an evolution matrix formalism for this step, based on the results of Ref. [18]. This can be performed with the RunRGEsWET which creates the numerical arrays BS2Low, BC1Low, BS1unprimedLow and BS1primedLow, all of them functions of \(t = \log _{10} \mu \). Therefore, in order to find the values of the WET WCs at the b-quark mass scale one can evaluate commands like
where mb is the global DsixTools variable containing the b-quark mass (in GeV). This command would print the numerical value of \(C_4^{sbsb}(m_b)\). Finally, the results can be exported to an output file with the routine ExportWETrunner. This creates the text file Output_WETrunner.dat with the values of all WET WCs at the infrared scale.
5 Summary
We have presented DsixTools, a Mathematica package for the handling of the dimension-six SMEFT and WET. DsixTools facilitates the treatment of these two effective theories in a systematic and complete manner.
DsixTools is a modular code. In the current version, it includes three independent modules, designed for specific tasks related to the SMEFT and WET. The SMEFTrunner performs the one-loop RGE from the UV scale \(\Lambda \) to the electroweak scale, the EWmatcher matches the SMEFT Wilson coefficients to the \(\Delta B = \Delta S = 1,2\) and \(\Delta B = \Delta C = 1\) operators of the WET, and the WETrunner runs these down to an IR scale, in this case the b-quark mass scale.
The structure of DsixTools allows for an easy implementation of new modules. Therefore, the current content of the package is expected to grow substantially with future improvements, including additional tools and features. The final outcome of this endevour will be a complete and powerful framework for the systematic exploration of new physics models using the language of effective field theories.
Notes
Mathematica is a product from Wolfram Research, Inc. [16].
For those not familiar with Mathematica dispatch tables, we clarify that these are optimized representations of lists of replacement rules. In practice they work in exactly the same way as replacement rules, but their execution time is much lower when the list of replacements is long.
The user can check the validity of this approximation by using the SMEFTrunner routines, for instance by checking whether the resulting values for the SM parameters at the electroweak scale (after running down) do not match their initial values. This can be fixed by readjusting the SM parameters at \(\Lambda \). We note, however, that one should take into account NP corrections to the standard electroweak parameters induced by non-zero SMEFT WCs.
The position of a specific parameter can also be obtained by using the FindParameterSMEFT function, see Appendix D.
In the current version of DsixTools, the dimension five Weinberg operator is absent and neutrinos remain massless. For this reason, we have not considered rotations in the lepton sector, which is assumed to be diagonal.
The Baryon-number-conserving \(\widetilde{C}_i\) coefficients in the mass basis were computed in [17] whereas the Baryon-number-violating ones can be found in Appendix F.
The reader should keep in mind that these conventions differ from those used in [3,4,5]. The differences appear in the normalization of \(\lambda \) and m, the definition of the Yukawa matrices, the name of the gauge couplings, and in whether the NP scale is introduced into the definition of the WCs.
At the moment DsixTools only includes a limited subset of WET operators: \(\Delta B = \Delta S = 2\), \(\Delta B = \Delta C = 1\) and \(\Delta B = \Delta S = 1\) operators.
References
W. Buchmuller, D. Wyler, Effective Lagrangian analysis of new interactions and flavor conservation. Nucl. Phys. B 268, 621 (1986)
B. Grzadkowski, M. Iskrzynski, M. Misiak, J. Rosiek, Dimension-six terms in the standard model Lagrangian. JHEP 1010, 085 (2010). arXiv:1008.4884 [hep-ph]
E.E. Jenkins, A.V. Manohar, M. Trott, Renormalization group evolution of the standard model dimension six operators I: formalism and lambda dependence. JHEP 1310, 087 (2013). arXiv:1308.2627 [hep-ph]
E.E. Jenkins, A.V. Manohar, M. Trott, Renormalization group evolution of the standard model dimension six operators II: Yukawa dependence. JHEP 1401, 035 (2014). arXiv:1310.4838 [hep-ph]
R. Alonso, E.E. Jenkins, A.V. Manohar, M. Trott, Renormalization group evolution of the standard model dimension six operators III: gauge coupling dependence and phenomenology. JHEP 1404, 159 (2014). arXiv:1312.2014 [hep-ph]
R. Alonso, H.M. Chang, E.E. Jenkins, A.V. Manohar, B. Shotwell, Renormalization group evolution of dimension-six baryon number violating operators. Phys. Lett. B 734, 302 (2014). arXiv:1405.0486 [hep-ph]
B. Henning, X. Lu, H. Murayama, One-loop matching and running with covariant derivative expansion. arXiv:1604.01019 [hep-ph]
S.A.R. Ellis, J. Quevillon, T. You, Z. Zhang, Mixed heavy-light matching in the universal one-loop effective action. Phys. Lett. B 762, 166 (2016). arXiv:1604.02445 [hep-ph]
A. Dedes, W. Materkowska, M. Paraskevas, J. Rosiek, K. Suxho, Feynman rules for the standard model effective field theory in \(R_\xi \)-gauges. arXiv:1704.03888 [hep-ph]
J. Fuentes-Martin, J. Portoles, P. Ruiz-Femenia, Integrating out heavy particles with functional methods: a simplified framework. JHEP 1609, 156 (2016). arXiv:1607.02142 [hep-ph]
Z. Zhang, Covariant diagrams for one-loop matching. arXiv:1610.00710 [hep-ph]
Wolfram Research, Inc., Mathematica, Version 11.0, Champaign (2016)
J. Aebischer, A. Crivellin, M. Fael, C. Greub, Matching of gauge invariant dimension-six operators for \(b\rightarrow s\) and \(b\rightarrow c\) transitions. JHEP 1605, 037 (2016). arXiv:1512.02830 [hep-ph]
J. Aebischer, M. Fael, C. Greub, J. Virto, B physics beyond the standard model at one loop: complete renormalization group evolution below the electroweak scale. arXiv:1704.06639 [hep-ph]
M.E. Machacek, M.T. Vaughn, Two loop renormalization group equations in a general quantum field theory. 1. Wave function renormalization. Nucl. Phys. B 222, 83 (1983)
M.E. Machacek, M.T. Vaughn, Two loop renormalization group equations in a general quantum field theory. 2. Yukawa couplings. Nucl. Phys. B 236, 221 (1984)
M.E. Machacek, M.T. Vaughn, Two loop renormalization group equations in a general quantum field theory. 3. Scalar quartic couplings. Nucl. Phys. B 249, 70 (1985)
We thank Aneesh Manohar for comments on the manuscript. The work of A.C. is supported by the Alexander von Humboldt Foundation. The work of J.F. is supported in part by the Spanish Government, by Generalitat Valenciana and by ERDF funds from the EU Commission [Grants FPA2011-23778,FPA2014-53631-C2-1-P, PROMETEOII/2013/007, SEV-2014-0398]. J.F. also acknowledges VLC-CAMPUS for an “Atracció de Talent” scholarship. A.V. acknowledges financial support from the “Juan de la Cierva” program (27-13-463B-731) funded by the Spanish MINECO as well as from the Spanish Grants FPA2014-58183-P, Multidark CSD2009-00064, SEV-2014-0398 and PROMETEOII/ 2014/084 (Generalitat Valenciana). J.V. is funded by the Swiss National Science Foundation and acknowledges support from Explora project FPA2014-61478-EXP.
Author information
Authors and Affiliations
Fakultät für Physik, Arnold Sommerfeld Center for Theoretical Physics, Ludwig-Maximilians-Universität München, 80333, Munich, Germany
Alejandro Celis
Instituto de Física Corpuscular, Universitat de València-CSIC, 46071, Valencia, Spain
Javier Fuentes-Martín & Avelino Vicente
Albert Einstein Center for Fundamental Physics, Institute for Theoretical Physics, University of Bern, 3012, Bern, Switzerland
Here \(\Lambda \) is the new physics scale suppressing higher dimensional operators, assumed to be much larger than the electroweak scale. There is only one operator of dimension five, the so-called Weinberg operator that gives a Majorana mass term for the neutrinos [26]. A non-redundant basis of dimension-six operators was introduced in [2] and is known as the Warsaw basis. We list these operators in Tables 1, 2 and 3. Barring flavor structure, and assuming Baryon number conservation, there are 59 operators, some of which are non-Hermitian, yielding in total 76 real coefficients. Taking into account flavour indices, the dimension-six Lagrangian contains 1350 CP-even and 1149 CP-odd operators, for a total of 2499 hermitian operators [5]. Finally, the complete set of independent dimension-6 Baryon number violating operators were identified in [27]. Barring flavor structure, there are only 4 Baryon-number-violating operators. These are listed in Table 4.
The implementation of the SMEFT in DsixTools follows the conventions used in [2].Footnote 8 The SM renormalizable Lagrangian \(\mathscr {L}_\mathrm{SM}^{(4)}\) is given by
(A.2)
Here \(A=1\cdots 8\) and \(I=1\cdots 3\) denote gauge indices associated to \(SU(3)_c\) and \(SU(2)_L\). The fields \(\ell \) and q correspond to the lepton and quark \(SU(2)_L\) doublets of the SM, while e, u, d are the right-handed fields. The Higgs \(SU(2)_L\) doublet is denoted by \(\varphi \). The Yukawa couplings \(\Gamma _{e,u,d}\) are \(3 \times 3\) matrices in flavor space. The covariant derivative is generically defined as
$$\begin{aligned} D_\mu = \partial _\mu + i g_s T^A G_\mu ^A + i g T^I W_\mu ^I + i g^\prime Y B_\mu \, , \end{aligned}$$
(A.3)
where \(\{g_s,g,g^\prime \}\) and \(\{G,W,B\}\) are, respectively, the \(SU(3)_c\), \(SU(2)_L\) and \(U(1)_Y\) gauge couplings and gauge fields. \(T^A\) and \(T^I\) are the corresponding gauge group generators. The hypercharge assignments for the matter fields are given in Table 5.
DsixTools also implements the running of the \(\theta \) terms
Here \(\mu \) is the renormalization scale, \(\gamma \) is the anomalous dimensions matrix and \(\beta _i\) are the \(\beta \) functions. The complete anomalous dimension matrix for the dimension-six SMEFT operators has been recently computed in [3,4,5,6]. We collect here the resulting \(\beta \) functions, adapted to our notation and conventions.
First, we give some definitions that turn out to be useful in order to simplify the \(\beta \) functions:
In the absence of contributions from the dim-6 operators one recovers the well-known SM RGEs [19,20,21,22]. Notice however that we do not include an SU(5) normalization factor for \(g^\prime \), and hence the usual expressions are found by replacing \(g^{\prime 2}= 3/5 \, g_1^2\). Finally, we also have in the SM Lagrangian
where \(\mathscr {L}_\mathrm{QCD+QED}^{(u,d,c,s,b,e,\mu ,\tau )}\) is the usual QCD and QED Lagrangian for the light fermions, \(\mathscr {L}_\mathrm{SM}^{(6)}\) contains pure-SM dimension-six operators and the \(C_i\) coefficients contain all beyond the Standard Model effects. The sum over the i index runs over all operators \(O_i\) defined below.Footnote 9 See Ref. [18] for definitions and conventions.
1.1 C.1 \(\Delta B = \Delta S = 2\) operators
In the case of \(\Delta B = \Delta S = 2\) operators, the basis is given by
where \(q=\{ u, d, c\}\). In the case of \(q=b\), the color-octet operators \(O^{sbbb}_{2,4,6,8,10}\) are Fierz-equivalent to the color-singlet ones and are not included in the basis. In addition, the analogous set with opposite chirality is needed:
In this Appendix we list the public routines implemented in DsixTools. The user can take advantage of them when writing a project with DsixTools.
1.1 D.1 General DsixTools routines
LoadModule[moduleName]
Loads the DsixTools module moduleName. Once this command is evaluated, the module is initialized and all its routines are available to the user.
Requires: Nothing. This routine can be used as soon as DsixTools is loaded.
Arguments: In the current version of DsixTools, moduleName can either be “SMEFTrunner”, “EWmatcher” or “WETrunner”.
Example: LoadModule[“SMEFTrunner”] loads the SMEFTrunner module.
MyPrint[string]
Prints the message string. It can be switched on and off by using the DsixTools routines TurnOnMessages and TurnOffMessages.
Requires: Nothing. This routine can be used as soon as DsixTools is loaded.
Arguments: string must be a valid Mathematica string.
Example: MyPrint[“I am using DsixTools”] prints a simple message.
TurnOnMessages
Turns on the messages written by the DsixTools routines.
Requires: Nothing. This routine can be used as soon as DsixTools is loaded.
TurnOffMessages
Turns off the messages written by the DsixTools routines. The only exception are the messages written when a new module is loaded, which cannot be switched off.
Requires: Nothing. This routine can be used as soon as DsixTools is loaded.
Requires: Nothing. This routine can be used as soon as DsixTools is loaded.
Arguments: options_file and WCsInput_file are the paths to the options and WCs input files. WCsInput_file can contain either SMEFT or WET WCs. The SMInput_file argument is the path to the input card with the values of the SM parameters and is optional: it should be absent when this routine is used to read WET input.
Example: ReadInputFiles[“Options.dat”,“WCsInput.dat”,“SMInput.dat”] reads the content of three SMEFT input files. ReadInputFiles[“Options.dat”,“WCsInput.dat”] reads the content of two WET input files.
Creates input files with the parameter values in data. This routine can be used to export the input values defined by the user in a project to external text files, later to be read by DsixTools.
Requires: Nothing. This routine can be used as soon as DsixTools is loaded.
Arguments: options_file and WCsInput_file are the paths to the options and WCs input files created by this routine. data is an array where the input values have a precise ordering, defined by the ordering in the Parameters (for SMEFT input) and WETParameters (for WET input) global arrays, see F. The SMInput_file argument is the path to the input card with the values of the SM parameters and is optional: it should be absent when this routine is used to write WET input.
Example: WriteInputFiles[“Options.dat”,“WCsInput.dat”,“SMInput.dat”, data] exports the SMEFT values in data to three input files. WriteInputFiles[“Options.dat”,“WCsInput.dat”, data] exports the WET values in data to two input files. These input files can later be read by DsixTools.
Writes data into new input files and then reads them. In essence, running this routine is equivalent to running WriteInputFiles and ReadInputFiles.
Requires: Before using the routine the data to be exported (and later read) must be declared. In case of SMEFT input, all SM parameters must be set to their input values by giving values to variables of the form Init[SM_parameter] and all WC values will be assumed to vanish unless they are declared in a similar way. In case of WET input, only the WC values must be declared. Finally, the options will be assumed to take default values unless set to other choices.
Arguments: options_file and WCsInput_file are the paths to the options and WCs input files created by this routine. The SMInput_file argument is the path to the input card with the values of the SM parameters and is optional: it should be absent when this routine is used to write and read WET input.
Example: WriteAndReadInputFiles[“Options.dat”,“WCsInput.dat”,“SMInput.dat”] exports the previously declared values to three SMEFT input files and then reads them. WriteAndReadInputFiles[“Options.dat”,“WCsInput.dat”] exports the previously declared values to two WET input files and then reads them.
NewInput[parameter,newvalue,dispatch]
Replaces the current input (contained in the Mathematica dispatch dispatch) by a new one in which parameter takes the value newvalue. This routine is particularly useful for projects involving loops with varying parameters.
Requires: Input values must have been introduced before using this routine, for instance using the ReadInputFiles routine. Only in this way the dispatch dispatch would have been defined.
Arguments: parameter must be a valid name for a DsixTools parameter. These can be found in the global arrays Parameters (in case of SMEFT input) and WETparameters (in case of WET input), see E. newvalue must be a valid number (in general complex). dispatch is the name of the Mathematica dispatch where the input values are saved. By default, this is input. In the SMEFTrunner module there is also the internal dispatch inputSMEFTrunner.
Example: NewInput[LL[1,1,1,2],1.0,input] changes the input value (at the high-energy scale \(\Lambda \)) of \(\left[ C_{\ell \ell } \right] _{1112}\) to 1.
NewScale[scale,newvalue]
Replaces the current value of scale by newvalue. This routine is particularly useful for projects involving loops with varying energy scales.
Requires: Nothing. This routine can be used as soon as DsixTools is loaded.
Arguments: scale can be either “high” or “low”. newvalue must be a valid positive real number. As with other dimensionful parameters, the scale should be given in GeV.
Example: NewScale[“high”,1000] changes the high energy scale \(\Lambda \) to 1 TeV.
H[mat]
Returns the Hermitian conjugate of the matrix mat. If the option CPV has been set to 0 then it returns the transpose.
Requires: The global variable CPV must have been set to either 0 (for real parameters) or 1 (for complex parameters) before using this function.
Arguments: mat must be a valid matrix.
Example: H[Gu] returns the Hermitian conjugate of the up-quarks Yukawa matrix \(\Gamma _u\).
CC[x]
Returns the complex conjugate of x. If the option CPV has been set to 0 then it returns x.
Requires: The global variable CPV must have been set to either 0 (for real parameters) or 1 (for complex parameters) before using this function.
Arguments: x must be a valid complex number.
Example: CC[GU[1,2]/.input] returns \(\left[ \Gamma _u \right] _{12}^*\) if CPV has been set to 1 and \(\left[ \Gamma _u \right] _{12}\) if CPV has been set to 0, using for \(\left[ \Gamma _u \right] _{12}\) its input value.
1.2 D.2: SMEFTrunner routines
InitializeSMEFTrunnerInput
Initializes the input for the SMEFTrunner module. This initialization creates the dispatches inputSMEFTrunner and inputSMEFTrunnerSM. The user does not need to use this routine, as it is automatically executed when the SMEFTrunner module is loaded.
Requires: The SMEFTrunner module must have been loaded in order to use this routine.
FindParameterSMEFT[parameter]
Returns the position of parameter in the Parameters list. If one uses a generic element name as argument, FindParameterSMEFT will return a list with all positions where it appears in Parameters.
Requires: Nothing. This routine can be used as soon as DsixTools is loaded.
Arguments: parameter can be either the name of a SM parameter or SMEFT WC, or the generic name of an element of one of the 2- or 4-fermion parameters.
Example: FindParameterSMEFT[LQ3[2, 2, 2, 3]] returns {355}, the position of \(\left[ C_{\ell q}^{(3)} \right] _{2223}\) in the Parameters list. FindParameterSMEFT[LQ3] returns {327, 328, ..., 371}, since the \(C_{\ell q}^{(3)}\) WCs are saved in these positions of the Parameters list.
GetBeta
Computes the SMEFT \(\beta \) functions analytically. After running this routine they can be read by evaluating quantities of the form \(\mathtt{\beta [parameter]}\). For instance, the \(C_{\ell q}^{(1)}\)\(\beta \) functions can be obtained by evaluating \(\mathtt{\beta [lq1]}\). Table 6 contains the names used for all SMEFT \(\beta \) functions.
Requires: The SMEFTrunner module must have been loaded in order to use this routine. Moreover, the global variable CPV must have been set to either 0 (for real parameters) or 1 (for complex parameters) before using this function.
LoadBetaFunctions
Constructs the SMEFT \(\beta \) functions (using GetBeta internally) or reads them from a file.
Requires: The SMEFTrunner module must have been loaded and the option ReadRGEs set in order to use this routine.
RunRGEsSMEFT
Runs the SMEFT RGEs.
Requires: The SMEFTrunner module must have been loaded and the option RGEsMethod set in order to use this routine.
ExportSMEFTrunner
Exports the SMEFTrunner results to the output file Output_SMEFTrunner.dat.
Requires: The SMEFTrunner module must have been loaded and the option exportSMEFTrunner set in order to use this routine.
WriteSMEFTrunnerOutputFile[Output_file,data]
Exports the SMEFTrunner results in data to Output_file.
Requires: The SMEFTrunner module must have been loaded in order to use this routine.
Arguments: Output_file is the path to the SMEFTrunner output file. data is an array containing the results obtained with SMEFTrunner. It must contain the same of elements and ordered in exactly the same way as outSMEFTrunner.
Example: WriteSMEFTrunnerOutputFile[“Output_SMEFTrunner.dat”,outSMEFTrunner/.t->tLOW] exports the data saved in the outSMEFTrunner array, evaluated at \(\mu = \mu _\mathrm{EW}\), into the text file Output_SMEFTrunner.dat.
1.3 D.3: EWmatcher routines
InitializeEWmatcherInput
Initializes the input for the EWmatcher module. The user does not need to use this routine, as it is automatically executed when the EWmatcher module is loaded.
Requires: The EWmatcher module must have been loaded in order to use this routine.
FindParameterWET[parameter]
Returns the position of parameter in the WETParameters list. If one uses a generic element name as argument, FindParameterWET will return a list with all positions where it appears in WETParameters.
Requires: Nothing. This routine can be used as soon as DsixTools is loaded.
Arguments: parameter must be the name of a WET WC.
Example: \(\mathtt{FindParameterWET[CBS1[ \mu ][1]]}\) returns {71}, the position of \(C_1^{sb\mu \mu }\) within the WETParameters list. \(\mathtt{FindParameterWET[CBS1[ \mu ]]}\) returns {71, 72, 73, 74, 75}, since the \(C_i^{sb\mu \mu }\) WCs are saved in these positions of the WETParameters list.
RotateToMassBasis
Transforms the SMEFT WCs to the fermion mass basis. It also creates the replacements array ToMassBasis, which can be used to print the numerical values of the SMEFT WCs in the fermion mass basis.
Requires: The EWmatcher module must have been loaded in order to use this routine.
Biunitary[mat,dim]
Applies a biunitary transformation that diagonalizes the dim\(\times \)dim matrix mat. It returns three outputs: the square root of the eigenvalues of mat\(^\dagger \)mat (or, equivalently, matmat\(^\dagger \)) and the unitary matrices \(U_L\) and \(U_R\) that diagonalize mat as \(U_L^\dagger \)mat\(U_R = \big ( \)mat\( \big )_\mathrm{diag}\).
Requires: The EWmatcher module must have been loaded in order to use this function.
Arguments: mat must be a valid dim\(\times \)dim matrix.
Example: Biunitary[Gu/.input,3] returns the square root of the eigenvalues of \(\Gamma _u^\dagger \Gamma _u\) (or, equivalently, \(\Gamma _u \Gamma _u^\dagger \)), as well as the matrices \(U_L\) and \(U_R\) that diagonalize \(\Gamma _u\) as \(U_L^\dagger \Gamma _u U_R = \left( \Gamma _u \right) _\mathrm{diag}\). Here \(\Gamma _u\) is the input value for the up-quarks Yukawa matrix.
ApplyEWmatching
Matches the SMEFT WCs onto the WET WCs. After using this routine several arrays containing the numerical values of the WET WCs at the electroweak scale are created. The result of this step can also be accessed by using the Match and MatchAnalytical functions.
Requires: The EWmatcher module must have been loaded in order to use this function.
Match[WC]
Returns the value of the WET Wilson coefficient WC after matching it to the SMEFT.
Requires: The EWmatcher module must have been loaded in order to use this function. Furthermore, the ApplyEWmatching routines must have been run before using this function.
Arguments: WC must be the name of a valid SMEFT WC.
Example: Match[CBS1[d][1]] prints the numerical value of the \(C_1^{sbdd}\) WC.
MatchAnalytical[WC]
Returns the analytical expression of the WET Wilson coefficient WC after matching it to the SMEFT. Only the energy scales and the SM parameters are replaced by numerical values in this function.
Requires: The EWmatcher module must have been loaded in order to use this function. Furthermore, the ApplyEWmatching routines must have been run before using this function.
Arguments: WC must be the name of a valid SMEFT WC.
Example: Match[CBS1[d][1]] prints the analytical expression of the \(C_1^{sbdd}\) WC.
WriteWCsMassBasisOutputFile[Output_file]
Exports the SMEFT 2- and 4-fermion WCs in the fermion mass basis to Output_file.
Requires: The EWmatcher module must have been loaded in order to use this function. Furthermore, the ApplyEWmatching routines must have been run before using this function.
Arguments: Output_file is the path to the text file where the SMEFT WCs in the fermion mass basis will be exported.
Example: WriteWCsMassBasisOutputFile[“Output_WCsMassBasis.dat”] will export the SMEFT WCs in the fermion mass basis to the file “Output_WCsMassBasis.dat”.
ExportEWmatcher
Exports the EWmatcher results to the output file Output_EWmatcher.dat.
Requires: The EWmatcher module must have been loaded and the option exportEWmatcher set in order to use this routine.
WriteEWmatcherOutputFile[Output_file,data]
Exports the EWmatcher results in data to Output_file.
Requires: The EWmatcher module must have been loaded in order to use this routine.
Arguments: Output_file is the path to the EWmatcher output file. data is an array containing the results obtained with EWmatcher. The precise ordering of the WET WCs in data is given by that in WETParameters, see Appendix E.
Example: WriteEWmatcherOutputFile[“Output_EWmatcher.dat”,dataOutput] exports the data saved in the dataOutput array to the Output_EWmatcher.dat text file.
1.4 D.4: WETrunner routines
InitializeWETrunnerInput
Initializes the input for the WETrunner module. The user does not need to use this routine, as it is automatically executed when the WETrunner module is loaded.
Requires: The WETrunner module must have been loaded in order to use this routine.
RunRGEsWET
Runs the WET RGEs.
Requires: The WETrunner module must have been loaded in order to use this routine.
ExportWETrunner
Exports the WETrunner results to the output file Output_WETrunner.dat.
Requires: The WETrunner module must have been loaded and the option exportWETrunner set in order to use this routine.
WriteWETrunnerOutputFile[Output_file,data,scale]
Exports the WETrunner results in data to Output_file after evaluating them at \(\mu =\)scale.
Requires: The WETrunner module must have been loaded in order to use this routine.
Arguments: Output_file is the path to the WETrunner output file. data is an array containing the results obtained with WETrunner. The precise ordering of the WET WCs in data is given by BS2Low-BC1Low-BS1unprimedLow-BS1primedLow, following exactly the ordering in WETParameters (see Appendix E), and they must be evaluated at \(t = \log _{10}\)scale.
Example: WriteWETrunnerOutputFile[“Output_WETrunner.dat”,dataOutput,mb] will export the data saved in the dataOutput array, evaluated at \(\mu = m_b\), into the Output_WETrunner.dat text file.
Appendix E: DsixTools parameters
In this Appendix we provide additional details about the SMEFT and WET parameters used in DsixTools. These can be useful to properly read or write some variables in a Mathematica session using DsixTools.
1.1 E.1: SMEFT parameters
Table 6 provides a complete list of the SMEFT parameters used in DsixTools. In addition to the SMEFT WCs, this includes the SM parameters (gauge couplings, Yukawa matrices and scalar and \(\theta \) parameters). This table is particularly useful to identify the names given to the elements of 2- and 4-fermion WCs, as well as the \(\beta \) functions used in the SMEFTrunner module.
It is well known that some of the 2- and 4-fermion operators in the SMEFT posess specific symmetries under the exchange of flavor indices. This translates into an index symmetry for the corresponding WCs. For instance, the Wilson coefficient \(C_{\varphi e}\) is a Hermitian matrix, hence following the symmetry relation \(\left[ C_{\varphi e} \right] _{ij} = \left[ C_{\varphi e} \right] _{ji}^*\). More complicated index symmetries exist for some of the 4-fermion WCs. In all these cases, the number of independent WCs gets reduced. For example, the \(C_{ee}\) 4-fermion WC does not contain 81 (\(=3^4\)) independent complex WCs, but just 21 real and 15 imaginary independent components. Therefore, it is convenient to restrict the number of parameters considered in SMEFT calculations to just the independent ones. In DsixTools we have followed this approach, dropping redundant WCs in all calculations. This is what motivates the introduction of an index symmetry category column in Table 6. The meaning of the different categories is given by:
Category
Meaning
0
0F scalar object
1
2F general \(3 \times 3\) matrix
2
2F Hermitian matrix
3
4F general \(3 \times 3 \times 3 \times 3\) object
4
4F two identical \(\bar{\psi }\psi \) currents
5
4F two independent \(\bar{\psi }\psi \) currents
6
4F two identical \(\bar{\psi }\psi \) currents – special case \(C_{ee}\)
7
4F Baryon-number-violating – special case \(C_{qque}\)
8
4F Baryon-number-violating – special case \(C_{qqql}\)
We see that, apart from the WCs in categories 0, 1 and 3, all other WCs have index symmetries. Furthermore, there are three WCs with special symmetries, not shared by any other WC: \(C_{ee}\), \(C_{qque}\) and \(C_{qqql}\). In Table 7 we list the independent WCs contained in each category. This, combined with Table 6, completely allows the user to determine the position of a given parameter in the Parameters array. In any case, we remind the reader that the function FindParametersSMEFT can also be used for this purpose.
1.2 E.2: WET parameters
Table 8 provides a complete list of the WET parameters considered in DsixTools.
Appendix F: Baryon-number-violating operators in the mass basis
After electroweak symmetry breaking, the Warsaw basis operators can be rotated to the fermion mass basis. This is achieved by performing unitary transformations of the fermion fields in order to diagonalize the fermion mass matrices,
is a diagonal and positive matrix corresponding to the physical fermion masses. We note that these definitions imply that the CKM matrix is given by \(V = V_{u_L}^\dagger V_{d_L}\). The resulting operators after applying these unitary transformations to the Baryon-number-violating operators are shown in Table 9. For the rest of Wilson coefficients see [17].
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Celis, A., Fuentes-Martín, J., Vicente, A. et al. DsixTools: the standard model effective field theory toolkit.
Eur. Phys. J. C77, 405 (2017). https://doi.org/10.1140/epjc/s10052-017-4967-6