Wilson: a Python package for the running and matching of Wilson coefficients above and below the electroweak scale

Wilson is a Python library for matching and running Wilson coefficients of higher-dimensional operators beyond the Standard Model. Provided with the numerical values of the Wilson coefficients at a high new physics scale, it automatically performs the renormalization group evolution within the Standard Model effective field theory (SMEFT), matching onto the weak effective theory (WET) at the electroweak scale, and QCD/QED renormalization group evolution below the electroweak scale down to hadronic scales relevant for low-energy precision tests. The matching and running encompasses the complete set of dimension-six operators in both SMEFT and WET. The program builds on the Wilson coefficient exchange format (WCxf) and can thus be easily combined with a number of existing public codes.


Introduction
The Standard Model (SM) [1][2][3] is considered to be an effective theory valid only up to a new physics scale Λ, which negative searches for new particles at the LHC likely relegate to well above the electroweak (EW) scale.If no light degrees of freedom beyond the SM are assumed, any new physics effect in processes proceeding at energies well below Λ can be described by local interactions among SM fields invariant under the SM gauge symmetry [4,5].This effective field theory (EFT) approach [6,7] to new physics not only allows to resum large logarithms that might invalidate calculations in perturbation theory for vastly different scales relevant in a given process, but also serves as a convenient intermediate step between "model building" in the UV and low-energy phenomenology.If new physics predictions for experimental observables are expressed in terms of Wilson coefficients of an EFT beyond the SM, the investigation of the low-energy implications of a concrete new physics model becomes much simpler since only the Wilson coefficients need to be calculated at the appropriate scale.
While the EFT approach to new physics has been ubiquitous in quark flavour physics -dealing with processes at energies of few GeV -for a long time already, the experimental indications that Λ lies well above the electroweak scale have led to the realization that this approach is also valuable for processes of electroweak scale energies like Higgs physics or electroweak precision tests (see [8] and references therein).In contrast to the EFT below the electroweak scale, that is conventionally called the weak effective theory (WET) [9][10][11] and only contains QED and QCD gauge interactions, the EFT above the electroweak scale, conventionally called SMEFT1 [13][14][15], contains SU (2) L interactions that do not conserve flavour.Consequently, quantum effects lead to an interesting interplay between processes with and without flavour change and call for a global approach.
Starting from the new physics scale Λ, the phenomenological analysis of a UV model typically requires the following technical steps.While the first five steps are straightforward in principle, the full procedure is technically challenging in practice due to the vast number of Wilson coefficients already at dimension six (cf.[9,16]).The wilson package provides an automated solution to steps 2.-5.above.Given the SMEFT Wilson coefficients at the UV scale Λ, it bridges the gap to the low-energy phenomenology in step 6., which is implemented in other public codes such as flavio [17].The package makes use of the following results in the literature.
-The complete basis of SMEFT operators first derived in [4] and for a nonredundant set of operators in [5].-The complete one-loop RG evolution in SMEFT [16,18,19].
-Analytical solutions to the one-loop RG evolution of all flavour violating operators in WET [10].-The complete RG evolution of WET operators [11].
-The definition of a Wilson coefficient exchange format (WCxf) that allows to define EFTs, bases of Wilson coefficients, and facilitates exchanging numerical values of Wilson coefficients between different codes [21].
It benefits from the following public physics codes: -The SMEFT RG evolution was ported from (and is tested against) the DsixTools Mathematica package [22].-The QCD evolution of quark masses and the strong coupling constant is computed with the python-rundec package that wraps the CRunDec module [23].-The SM MS parameters at the electroweak scale have been obtained with the mr package [24].
The rest of this note is organized as follows.In section 2, we give some details on the implementation of running and matching in wilson.Section 3 describes how to install the package.Section 4 contains details on how to use the code.In section 5, we present a simple example application, reproducing a well-known result from the literature.

Description
The wilson package consists of several submodules taking care of the RG evolution, basis translation, and matching.A typical internal workflow is shown in figure 1, where a set of SMEFT Wilson coefficients in the "Warsaw up" basis [9] at the scale Λ is the input and the WET Wilson coefficients at the scale µ low are returned in the basis used by the flavio package.Internally, the Warsaw basis as defined in WCxf [21] is used for the SMEFT running, and the JMS basis [9] for the matching and WET running.From a user's perspective, the entire procedure is performed automatically when using the match_run method described in section 3, as indicated by the dashed arrow.Below, we discuss some implementation details of the individual submodules.

Extraction of Standard Model parameters in SMEFT
Starting from a set of Wilson coefficients at the UV scale, given e.g. in WCxf format, to solve the SMEFT RGEs one additionally requires the values of SM parameters like gauge couplings, Yukawa couplings, and Higgs potential parameters.This is challenging for two reasons.First, these parameters are experimentally determined at the electroweak scale or below, and their evolution to the UV scale depends on the SMEFT Wilson coefficients themselves.Second, the experimental extraction itself is subject to dimension six corrections already at tree level.To solve these two problems, we proceed in three steps.
1. We determine all the SM parameters in the MS scheme [25] at the scale M Z .2. We invert the relations between the effective MS SM parameters and their counterparts in SMEFT, that are given e.g. in [26].3. We iteratively determine the SM parameters at the UV scale by running up and down with the SM boundary conditions imposed at the scale M Z and the Wilson coefficient boundary conditions at the UV scale Λ.
Concerning the first step, the SM MS parameters used by us are listed in table 1.The following comments are in order.
-For the running of the quark masses to the scale M Z , we have used the python-rundec package [23].-For the determination of the running top, W , Z, and Higgs masses, we have used the mr package [24].-For the lepton masses, we have neglected the O(α e ) shift from the conversion to the MS scheme.-We do not display uncertainties as fixed values are used in the code.We expect the parametric errors to be subdominant to other uncertainties in the calculation, e.g. from the iterative determination of high-scale SM parameters.
We note that we treat the CKM elements as elements of a unitary 3 × 3 matrix.Dimension-six contributions to the W coupling to quarks are thus not absorbed in effective CKM elements, as done e.g. in [26].We find this procedure more convenient for our purposes; in particular, it allows to continue to use unitarity relations in low-energy calculations in flavour physics.While this blurs the connection between these CKM elements and the semi-leptonic decays that are used to measure them, we note that this connection is anyway blurred in SMEFT due to direct dimensionsix four-fermion contributions to these decays that can lead to a process-dependent shift of the apparent CKM element (see e.g.[27] for a discussion of s → u transitions and [28] for b → c transitions).

RG evolution in SMEFT
Once the SM parameters at the input scale have been determined, the SMEFT RGEs, that have the form can be solved numerically by integrating the right-hand side.Our implementation closely follows the DsixTools package [22].

Matching from SMEFT to WET
We implement the complete tree-level matching from SMEFT to WET as derived in [9].

RG evolution in WET
In the weak effective theory, the dimension-6 operators are renormalized by QCD and QED.Analytical solutions to the one-loop RGEs of all quark flavour violating operators have been presented in [10] 3 .To extend this to the complete operator basis 4of WET, we proceed in three steps.
1. We take the beta functions from [9], discarding terms that are quadratic in dipole operator coefficients (these terms correspond to dimension eight contributions when matching from the SMEFT with linearly realized electroweak symmetry breaking).2. We rescale dipole operators and three-gluon operators in the following way: where m f = max(m fi , m fj ).This allows us to write the RGEs in the simple form Note in particular that there are no linear or mixed terms in g s or e. Thanks to the rescalings, the anomalous dimension matrices γ s,e only contain numbers and ratios of fermion masses, which are RG invariant to O(α s ) and thus can be treated as constants to good approximation.3. Having rewritten the RGEs in the simple form (5), we can use the procedure described in [10] to obtain the QCD and QED evolution matrices that solve the RGE as

Installation
Installing wilson only requires a system with Python version 3.
is set to the value 1/TeV

¦ ¥
The names of admissible EFTs and bases can be found on the WCxf web site [31].

Interfacing with other codes
Since wilson builds on the Wilson coefficient exchange format WCxf, it is straightforward to import and export from and to programs supporting this standard.While the import has already been discussed above, the export can simply leverage the methods provided by the wcxf Python package, e.g.
with open ( ' my_wcx f_output .json ' , 'w ') as f : An even simpler data exchange is possible for codes written in Python themselves.In particular, the flavio package [17], that can compute predictions for a plethora of observables in quark and lepton flavour physics, directly makes use of the wilson package for the RG evolution, matching, and translation, starting from version v0.28.Functions that accept new physics Wilson coefficient values can be directly provided with a Wilson instance.This also allows to compute observables in terms of SMEFT Wilson coefficients.For example, § ¤ at the scale 1 TeV.The SMEFT running, matching, WET running, and conversion to the flavio basis used in the calculation of the observable is done behind the curtains by wilson.

Example
An interesting example where SMEFT RG effects lead to important constraints on NP scenarios was discussed in refs.[32][33][34].( Since NP effects in semi-leptonic four-fermion operators with all left-handed fields are well known to fit the low-energy flavour data [41][42][43][44], it is attractive to consider NP models coupling dominantly to the third generation of left-handed quarks and leptons, such that the b → cτ ν transition, generated at tree level in the SM, receives sizable NP contributions, while the b → sµµ transition is suppressed by flavour mixing angles that are assumed to be small [45,46].It was then shown that strong constraints arise on the simultaneous explanation of charged and neutral current anomalies from lepton flavour non-universality induced in leptonic tau decays, from lepton flavour violating tau decays, and from Z pole observables.The scenario considered in [33] corresponds to the presence of the operators [O (1,3) lq ] 3333 at a scale Λ in some weak basis that is related to the mass basis by small mixing angles.Choosing a definite weak basis, namely the one conventionally used for the Warsaw basis in WCxf [21], where the down-type quark and charged lepton masses are diagonal, the following operators are present at the scale Λ: Using this procedure, in fig. 2 we have reproduced the result of refs.[32,33], where the four free parameters are scanned as: λ q 23 ∈ [−0.05, 0], λ 23 ∈ [−0.5, 0.5], C 1,3 ∈ [−4, 0], and the scale Λ is set at 1 TeV.This shows that a simultaneous explanation of the charged and neutral current anomalies is disfavoured in this simplified scenario if C 1 = 0 and strongly constrained if C 1 = C 3 .

Summary
We have presented wilson, a Python package for the RG evolution, matching, and basis translation of Wilson coefficients beyond the SM.Starting from numerical values of Wilson coefficients at a high scale Λ, it automatically performs the necessary steps to return the Wilson coefficients at low energies relevant for precision measurements probing physics beyond the SM.Built on the Wilson coefficient exchange format (WCxf), wilson can be easily linked with a number of public codes, e.g. to directly compute the predictions for low-energy observables, as demonstrated in section 5.
While wilson is currently limited to one-loop RG evolution in SMEFT and WET and to tree-level matching, the structure of the code is general enough to be generalized to higher loop orders in the running and to loop-level matching (which is partially known, see e.g.[20]) in the future.Being an open source project with a permissive license 6 , contributions from the community are welcome via the public code repository [47].

1 .
Compute the SMEFT Wilson coefficients at Λ. 2. Perform the renormalization group (RG) evolution of the SMEFT Wilson coefficients down to the electroweak scale.3. Match the complete set of SMEFT Wilson coefficients onto the WET. 4. Perform the RG evolution of WET Wilson coefficients.5.If the process proceeds at energies below the b quark mass, repeat the last two steps for the WET with reduced numbers of quark and lepton flavours as appropriate.6. Compute the process of interest as a function of the low-energy Wilson coefficients.
Typical internal workflow in the wilson package: Starting from the SMEFT Wilson coefficients at the scale Λ, various submodules take care of the necessary basis translations, RG running, and matching to finally obtain the WET Wilson coefficients at the low scale.From a user perspective, the match_run method (see section 3) performs all these steps automatically.

Table 1
SM MS parameters at the scale M Z .Masses are given in units of GeV.
5 or above.It works on Linux, Mac OS, and Windows.The most recent version can be installed directly from the Python package index by issuing the command 5 § ¤ Using the wilson package in a Python script or interactive session starts by creating a Wilson object that represents a point in EFT parameter space.On creating the instance, initial values of the Wilson coefficients have to be specified at some scale, e.g. the new physics scale Λ, in a given EFT and basis.For instance, the commands § ¤ 1 from wilson import Wilson 2at the scale 1 TeV (note that all dimensionful quantities have to be specified in appropriate powers of GeV, as required by WCxf).At this point, it is important to emphasize the difference between wilson's Wilson class and the WC class provided by the wcxf Python package: wcxf.WC represents a set of numerical Wilson coefficients at a fixed scale in a fixed EFT and basis; wilson.Wilson represents a point in the parameter space of the EFT beyond the SM, that can be evolved to different scales and translated to different bases within the same EFT without loss of generality, or matched to EFTs valid at lower energies.In fact, after initializing the above object, the Wilson coefficient values at the initial scale can be returned as a WC object simply with mywilson.wc.Likewise, a Wilson object can be easily initialized by loading Wilson coefficient values from a file in Running, i.e. performing the RG evolution in SMEFT and WET, as well as matching from SMEFT to WET (and from WET with five active quark flavours to the variants of WET valid below the bottom and charm mass scales) is the main purpose of the wilson package.Having initialized a Wilson object as described in section 4.1 -we will continue to call this instance mywilson -the user can obtain Wilson coefficient values (in the form of wcxf.WC instances) in different EFTs, at different scales, in different bases, through the method match_run: § ¤