Advanced usage of FlavorKit to calculate new Wilson coefficients
The user can also implement new operators and obtain analytical expressions for their Wilson coefficients. In this case, he will need to use PreSARAH which, with the help of FeynArts and FormCalc, provides generic expressions for the coefficients, later to be adapted to specific models with SARAH.
Introduction
New operators can be implemented by extending the content of the folder
/FlavorKit/[$Type]/Operators/
In the current version of FlavorKit, 3 and 4point operators are supported. Each operator is defined by a .m
file. These files contain information about the external particles, the kind of considered diagrams (treelevel, selfenergies, penguins, boxes) as well as generic expressions for the coefficients. These expressions, derived from the generic Feynman diagrams contributing to the coefficients, are written in the form of a Mathematica code, which can be used to generate Fortran
code.
For the automatization of the underlying calculations we have created an additional Mathematica package called PreSARAH, which can be used to create the files for all 4fermion as well as 2fermion1boson operators. This package creates not only the infrastructure to include the operators in the SPheno output of SARAH but makes also use of FeynArts and FormCalc to calculate the amplitudes and to extract the coefficient of the demanded operators. It takes into account all topologies with 2 or 4 external fermions and all possible, renormalisable couplings.
Input for PreSARAH
In order to derive the results for the Wilson coefficients, PreSARAH needs an input file with the following information:

ConsideredProcess
: A string which defines the generic type for the process4Fermion
2Fermion1Scalar
2Fermion1Vector

NameProcess
: A string to uniquely define the process 
ExternalFields
: The external fields. Possible names areChargedLepton
,Neutrino
,DownQuark
,UpQuark
,ScalarHiggs
,PseudoScalar
,Zboson
,Wboson
Theparticles.m
file is used to define for each model which particle corresponds to SM states using theDescription
statement together withLeptons
,Neutrinos
,DownQuarks
,UpQuarks
,Higgs
,PseudoScalar Higgs
,ZBoson
,WBoson
. If there is a mixture between the SM particles and other states (like in Rparity violating SUSY or in models with additional vector quarks/leptons) the combined state has to be labeled according to the description for the SM state. Notice that in the SMPseudoScalar Higgs
is just the neutral Goldstone boson. If an external state is not present in a given model or has not been defined as such in theparticles.m
file the corresponding Wilson coefficients are not calculated by SPheno. 
FermionOrderExternal
: the fermion order to apply the Fierz transformation (see the FormCalc manual for more details) 
NeglectMasses
: which external masses can be neglected (a list of integers counting the external fields) 
ColorFlow
: defines the color flow in the case of four quark operators. To contract the colors of external fields,ColorDelta
is used, i.eColorFlow = ColorDelta[1,2]*ColorDelta[3,4]
assigns(\bar{q}^\alpha \Gamma q_\alpha)(\bar{q}^\beta \Gamma' q_\beta)
. 
AllOperators
: a list with the definition of the operators. This is a two dimensional list, where the first entry defines the name of the operator and the second one the Lorentz structure. The operators are expressed in the chiral basis and the syntax for Dirac chains in FormCalc is used:
6
forP_L = \frac{1}{2}(1\gamma_5)
,7
forP_R = \frac{1}{2}(1\gamma_5)

Lor[1]
,Lor[2]
for\gamma_\mu
,
\gamma_\nu
. 
ec[3]
for the helicity of an external gauge boson. 
k[N]
for the momentum of the external particleN
(N
is an integer). 
Pair[A,B]
is used to contract Lorentz indices. For instance,Pair[k[1],ec[3]]
stands for k_{μ}^{1}ϵ^{μ, *}  A Dirac chain starting with a negative first entry is taken to be antisymmetrized.
See the FormCalc manual for more details. To make the definitions more readable, not the full
DiracChain
object of FeynArts /FormCalc has to be defined: PreSARAH puts everything with the headOp
into a Dirac chain using the defined fermion order. For 4fermion operators the combination of both operators is written as dot product. For instanceOp[6].Op[6]
is internally translated intoDiracChain[Spinor[k[1],MassEx1,1],6,Spinor[k[2],MassEx2,1]]* DiracChain[Spinor[k[3],MassEx3,1],6,Spinor[k[4],MassEx4,1]]
while
Op[6] Pair[ec[3],k[1]
becomesDiracChain[Spinor[k[1],MassEx1,1],6,Spinor[k[2],MassEx2,1]] Pair[ec[3],k[1]]


CombinationGenerations
: the combination of external generations for which the operators are calculated by SPheno 
Filters
: a list of filters to drop specific diagrams. Possible entries areNoBoxes
,NoPenguins
,NoTree
,NoCrossedDiagrams
.
Filters = {NoBoxes, NoPenguins}
can be used for processes which are already triggered at treelevel 
Filters = {NoPenguins}
might be useful for processes which at the 1loop level are only induced by box diagrams 
Filters = {NoCrossedDiagrams}
is used to drop diagrams which only differ by a permutation of the external fields.

For instance, the PreSARAH input to calculate the coefficient of the(\bar{\ell}\Gamma \ell)(\bar{d} \Gamma' d)
operator reads
NameProcess="2L2d";
ConsideredProcess = "4Fermion";
ExternalFields={{ChargedLepton,bar[ChargedLepton],
DownQuark,bar[DownQuark]}};
FermionOrderExternal={2,1,4,3};
NeglectMasses={1,2,3,4};
AllOperators={
(* scalar operators*)
{OllddSLL,Op[7].Op[7]},
{OllddSRR,Op[6].Op[6]},
{OllddSRL,Op[6].Op[7]},
{OllddSLR,Op[7].Op[6]},
(* vector operators*)
{OllddVRR,Op[7,Lor[1]].Op[7,Lor[1]]},
{OllddVLL,Op[6,Lor[1]].Op[6,Lor[1]]},
{OllddVRL,Op[7,Lor[1]].Op[6,Lor[1]]},
{OllddVLR,Op[6,Lor[1]].Op[7,Lor[1]]},
(* tensor operators*)
{OllddTLL,Op[7,Lor[1],Lor[2]].Op[7,Lor[1],Lor[2]]},
{OllddTLR,Op[7,Lor[1],Lor[2]].Op[6,Lor[1],Lor[2]]},
{OllddTRL,Op[6,Lor[1],Lor[2]].Op[7,Lor[1],Lor[2]]},
{OllddTRR,Op[6,Lor[1],Lor[2]].Op[6,Lor[1],Lor[2]]}
};
CombinationGenerations = {{2,1,1,1}, {3,1,1,1}, {3,2,1,1},
{2,1,2,2}, {3,1,2,2}, {3,2,2,2}};
Filters = {};
Here, we neglect all external masses in the operators (NeglectMasses={1,2,3,4}
), and the different coefficients of the scalar operators (\bar{\ell}P_X \ell)(\bar{d} P_Y d)
are called OllddSXY
, the ones for the vector operators (\bar{\ell} P_X \gamma_\mu \ell)(\bar{d} P_Y \gamma^\mu d)
are called OllddVYX
and the ones for the tensor operators(\bar{\ell} P_X \sigma_{\mu \nu} \ell)(\bar{d} \sigma^{\mu \nu} P_Y d)
OllddTYX
, with X,Y=L,R. Notice that FormCalc returns the results in form ofP_{X}γ_{μ} while in the literature the orderγ_{μ}P_{X} is often used. Finally, SPheno will not calculate all possible combinations of external states, but only some specific cases
\mu e d d
,
\tau e d d
,
\tau \mu d d
,
\mu e s s
,
\tau e s s
,
\tau \mu s s
[1]. Here we used
d
for the first generation of downtype quarks while in the rest of this manual it is used to summarize all three families. [2]
The input file to calculate the coefficients of the ℓ − ℓ − Z operators (\bar{\ell} \gamma_\mu P_{L,R} \ell) Z^\mu
and
(\bar{\ell} p_\mu P_{L,R} \gamma_\mu \ell) Z^\mu
is
NameProcess="Z2l";
ConsideredProcess = "2Fermion1Vector";
FermionOrderExternal={1,2};
NeglectMasses={1,2};
ExternalFields= {ChargedLepton,bar[ChargedLepton],Zboson};
CombinationGenerations = {{1,2},{1,3},{2,3}};
AllOperators={
{OZ2lSL,Op[7]}, {OZ2lSR,Op[6]},
{OZ2lVL,Op[7,ec[3]]}, {OZ2lVR,Op[6,ec[3]]}
};
OutputFile = "Z2l.m";
Filters = {};
Note that ExternalFields
must contain first the involved fermions and the boson at the end. Furthermore, in the case of processes involving scalars one can define
ExternalFields= {ChargedLepton,bar[ChargedLepton],ScalarHiggs};
CombinationGenerations = {{1,2,ALL}, {1,3,ALL}, {2,3,ALL}};
In this case the operators for all Higgs states present in the considered model will be computed.
Operators with massless gauge bosons
We have to add a few more remarks concerning 2fermion1boson operators with massless gauge bosons since those are treated in a special way. It is common for these operators to include terms in the amplitude which are proportional to the external masses. Therefore, if one proceeds in the usual way and neglects the external momenta, some inconsistencies would be obtained. For this reason, a special treatment is in order. In PreSARAH, when one uses
ConsideredProcess = "2Fermion1Vector";
FermionOrderExternal={1,2};
NeglectMasses={3};
the dependence on the two fermion masses is neglected in the resulting PassarinoVeltman integrals but terms proportional tom_{f1} andm_{f2} are kept. This solves the aforementioned potential inconsistencies.
Furthermore, for the dipole operators, defined by
{DipoleL,Op[6] Pair[ec[3],k[1]]},
{DipoleR,Op[7] Pair[ec[3],k[1]]},
we are using the results obtained by FeynArts and FormCalc and have implemented all special cases for the involved loop integrals (C_0, C_{00}, C_1, C_2, C_{11}, C_{12}, C_{22}) with identical or vanishing internal masses in SPheno. This guarantees the numerical stability of the results [2].
The monopole operators of the form q^{2}(f̄**γ_{μ}f)V^{μ} are only nonzero for offshell external gauge bosons, while PreSARAH always treats all fields as onshell. Because of this, and to stabilize the numerical evaluation later on, these operators are treated differently to all other operators: the coefficients are not calculated by FeynArts and FormCalc but instead we have included the generic expressions in PreSARAH using a special set of loop functions in SPheno. In these loop functions the resulting PassarinoVeltman integrals are already combined, leading to wellknown expressions in the literature, see . They have been crosschecked with the package Peng4BSM@LO
. To get the coefficients for the monopole operators, these have to be given always in the form
{MonopoleL,Op[6,ec[3]] Pair[k[3],k[3]]},
{MonopoleR,Op[7,ec[3]] Pair[k[3],k[3]]}
in the input of PreSARAH.
Combination and normalization of operators
The user can define new operators as combination of existing operators. For this purpose wrapper files containing the definition of the operators can be included in the FlavorKit directories. These files have to begin with ProcessWrapper = True;
. This function is also used by PreSARAH in the case of 4fermion operators: for these operators the contributions stemming from treelevel, box and penguin diagrams are saved separately and summed up at the end. Thus, the wrapper code for the 4lepton operators written by PreSARAH reads
ProcessWrapper = True;
NameProcess = "4L"
ExternalFields = {ChargedLepton, bar[ChargedLepton], ChargedLepton, bar[ChargedLepton]};
SumContributionsOperators["4L"] = {
{O4lSLL, BO4lSLL + PSO4lSLL + PVO4lSLL + TSO4lSLL + TVO4lSLL},
{O4lSRR, BO4lSRR + PSO4lSRR + PVO4lSRR + TSO4lSRR + TVO4lSRR},
...
};
It is also possible to use these wrapper files to change the normalization of the operators. We have made use of this functionality for the operators with external photons and gluons to match the standard definition used in literature: it is common to write these operators ase m_{f}(f̄**σ_{μ**ν}f)F^{μ**ν}, i.e. with the electric coupling (or strong coupling for gluon operators) and fermion mass factored out. This is done with the files Photon_wrapper.m
and Gluon_wrapper.m
, included in the FlavorKit directory of SARAH :
ProcessWrapper = True;
NameProcess = "Gamma2Q"
ExternalFields = {bar[BottomQuark], BottomQuark, Photon};
SumContributionsOperators["Gamma2Q"] = {
{CC7, OA2qSL},
{CC7p, OA2qSR}
};
NormalizationOperators["Gamma2Q"] ={
"CC7(3,:) = 0.25_dp*CC7(3,:)/sqrt(Alpha_160*4*Pi)/mf_d_160(3)",
"CC7p(3,:) = 0.25_dp*CC7p(3,:)/sqrt(Alpha_160*4*Pi)/mf_d_160(3)",
"CC7SM(3,:) = 0.25_dp*CC7SM(3,:)/sqrt(Alpha_160*4*Pi)/mf_d_160(3)",
"CC7pSM(3,:) = 0.25_dp*CC7pSM(3,:)/sqrt(Alpha_160*4*Pi)/mf_d_160(3)"
};
First, the coefficients OA2qSL
and OA2qSR
derived with PreSARAH are matched to the new coefficients CC7
and CC7p
. The same matching is automatically applied also to the SM coefficients OA2qSLSM
and OA2qSRSM
. In a second step, these operators are renormalized to the standard definition of the Wilson coefficientsC_{7} andC′_{7}. The initial coefficients OA2qSR
, OA2qSL
are not discarded, but coexist besides CC7
, CC7p
. Thus, the user can choose in the implementation of the observables which operators are more suitable for his purposes.
See also
Notes
[1] Here we usedd for the first generation of downtype quarks while in the rest of this manual it is used to summarize all three families.
[2] We note that the coefficients for the operators defined above (\bar{f} \gamma_\mu f \, V^\mu
) are by a factor of 2 (4) larger than the coefficients of the standard definition for the dipole operators *f̄**σ*<sub>*μ**ν*</sub>*P*<sub>*L*</sub>*f**q*<sup>*ν*</sup>*V*<sup>*μ*</sup> (
\bar{f} \sigma_{\mu\nu}P_L f F^{\mu\nu}
).