A Mathematica code for the evaluation of the SMEFT Feynman rules with the use of the FeynRules package

Program maintainer: Janusz Rosiek


September 8, 2019:

SmeftFR v2.01 is available. Minor issues have been fixed, manual has been updated to version accepted for publication in Computer Physics Communications. See Changelog for more details.

April 5, 2019:

SmeftFR v2.00 is available. Compared to previous versions, new features include:

  • FeynRules "model files" are now generated dynamically for a chosen subset of higher-dimension operators only.
  • Neutrinos, if massive, are treated as Majorana fermions.
  • Numerical values of Wilson coefficients by default are initialised from the WCxf format files.
  • Corrected and tested generation of various output formats. In particular UFO output has been checked to work properly with Madgraph 5. FeynArts output has also been tested.
  • FeynRules issues related to implementation of multi-fermion interactions have been corrected or addressed.
  • Detailed package manual has been published and is attached to SmeftFR v2.00 distribution.

SmeftFR v2 has been tested with FeynRules v2.3 and Mathematica 11.3, earlier versions could cause problems.

Program purpose and content

Program is designed to calculate Feynman rules for the Standard Model extended with full set of gauge-invariant dimension 5 and 6 operators (SMEFT) parametrized in the so called "Warsaw basis" (JHEP10 (2010) 085, arXiv:1008.4884 [hep-ph]). Calculations are done with the use of FeynRules package.

All Feynman rules are calculated in terms of the physical (mass eigenstates) fields. Conventions used to define SMEFT Lagrangian and redefinitions required for transition to mass eigenstates field basis are described in the article "Feynman Rules for the Standard Model Effective Field Theory in Rξ-gauges", A. Dedes, W. Materkowska, M. Paraskevas, J. Rosiek and K. Suxho JHEP 1706 (2017) 143 (arXiv:1704:03888) .

SmeftFR is able to calculate Feynman rules in the Rξ gauges or in the unitary gauge. User can define subset of SMEFT operators to be included in calculations. Results are available in Mathematica/FeynRules symbolic format or can be exported via various interfaces as Latex, UFO, FeynArts and other formats.

Detailed description of all user-available options can be found in the manual arxiv:1904.03204 [hep-ph] (attached also as SmeftFR.pdf to the package distribution).

Papers to be cited in connection with SmeftFR package

  1. "SmeftFR -- Feynman rules generator for the Standard Model Effective Field Theory", A. Dedes, M. Paraskevas, J. Rosiek, K. Suxho and L. Trifyllis arxiv:1904.03204 [hep-ph].
  2. "Feynman Rules for the Standard Model Effective Field Theory in Rξ-gauges", A. Dedes, W. Materkowska, M. Paraskevas, J. Rosiek and K. Suxho, JHEP 1706 (2017) 143.


Download v2.00 (released 05.04.2019): SmeftFR v2.00


The SmeftFR package requires FeynRules to be installed. To run it:

  1. Download FeynRules and SmeftFR packages
  2. Unpack FeynRules to a chosen directory
  3. Unpack SmeftFR to the FeynRules sub-directory Models/SMEFT_2_00. Change current directory to Models/SMEFT_2_00.
  4. Edit file smeft_fr_init.m setting variable $FeynRulesPath to location of the main FeynRules directory on your system. If necessary, edit other user-defined control variables at the top of this file (operator list, gauge choice, numerical input source and others). Consult manual for details!
  5. Start Mathematica notebook and run

    << smeft_fr_init.m

    (or alternatively rerun the supplied notebook SmeftFR-init.nb).
  6. To produce additional output formats (Latex, UFO, FeynArts etc), quit the Mathematica kernel, start the new one and run

    << smeft_fr_interfaces.m

    (or rerun notebook SmeftFR-interfaces.nb).
  7. The calculations may be time consuming - deriving the Feynman rules can take from few minutes for unitary gauge and small operator subset on fast PC, to hours for RΞΎ gauge and complete operator set on slower machine.

Output files in various formats are stored in "output" sub-directory.

Note that Latex output is automatically generated, line breaking in long formulae is also done automatically, using breqn style. It may not be perfect and require manual corrections. Also, using axodraw style for Latex requires compilation with the intermediate Postscript file, e.g. using sequence of commands:

latex smeft_feynman_rules
dvips smeft_feynman_rules

Using simply the command "pdflatex smeft_feynman_rules" won't work properly!


Version 2.01 (08 September 2019)

SmeftFR v2.01 published. Changes:

  1. To avoid conflicts with other codes, internal SmeftFR variable names for CKM and PMNS matrices have been changed from K[i,j], U[i,j] to Kq[i,j], Ul[i,j]. Also, quartic Higgs coupling is now stored in variable hlambda instead of lam. Note that on screen and in Latex output, short symbols K, U and λ are still displayed.
  2. For technical convenience, New Physics scale Λ is now kept as an explicit expansion parameter in SmeftFR output (previously it was incorporated in redefinitions of Wilson coefficients, C→C/Λ2). To avoid incompability with WCxf input, which defines directly dimensionfull C/Λ2 combinations, by default its numerical value is set to Λ=1 GeV.
  3. As we observed, tensor Dirac coupling σμν is not handled properly by Madgraph 5 and can lead to crashes during MC simulations. Such tensor coupling appears in only one dim-6 4-fermion operator, Q(3)lequ in Warsaw basis notation. SmeftFR displays now appropriate warning when such operator is included in Feynman rules generation.
  4. Manual with detailed documentation has been updated to version accepted for publication in Computer Physics Communications.
  5. Minor other mostly cosmetic issues have been corrected.

April 16, 2019:

Minor correction, pointed by M. Chiesa: variable named "FeynmanGauge" is now set to True(False) if Rxi(unitary) gauge is selected and stored in output/smeft_feynman_rules.m file. In this way information about gauge choice is automatically passed to UFO files. Reload package code if necessary.

Version 2.00 (05 April 2019)

SmeftFR v2.00 published. Changes:

  1. General code cleaning and upgrade.
  2. Number of additional options provided.
  3. Detailed documentation provided in new package manual.
  4. Bug fixes.

Version 1.50 (22 November 2018)

SmeftFR v1.50 published. Changes:

  1. WCxf format support corrected and made more universal.
  2. Treatment of neutrinos as Majorana fields added.
  3. Various minor bug fixes.

Version 1.10 (22 December 2017)

SmeftFR v1.10 published. Changes:

  1. WCxf format support has been added. Routine WCXFtoSMEFT can translate the Wilson coefficients defined in the WCxf JSON format into valid FeynRules model file (which could be e.g. further used for generating output in UFO format, accepted by the Monte Carlo generators like Madgraph). Routine SMEFTtoWCXF reads the Wilson coefficient values from the FeynRules model file and generates JSON file in the WCxf format. Both routines are defined in the smeft_wcxf.m file and do not require loading the FeynRules package to work correctly.
  2. Inconsistencies in definitions of external vs internal model parameters in previous package versions prohibited correct generation of SMEFT Feynman Rules in the UFO format. From v1.10 UFO output can be generated by SmeftFR package.
  3. It appears that the FeynRules package is unable to evaluate correct Feynman rules for some classes of interactions:
    • some relative signs between terms appearing after symmetrization of 4-fermion vertices with 4 identical external fermion fields are wrong. Such problems have been corrected in v1.1 of SmeftFR package.
    • Feynman rules for B and L violating interactions should contain explicit charge conjugation matrix C (or alternatively charge conjugated fields on vertex legs). FeynRules does not display such C-matrix anywhere. Current SmeftFR package output for B and L violating vertices is also not correct due to this bug. We are working to find a workaround and include it in the future versions of our package.
    • FeynRules does not symmetrize properly neutrino vertices in the case when they are massive Majorana particles. Such symmetrization will be added in future versions of SmeftFR package. Currently generated Feynman rules for neutrino interactions can be considered correct if neutrinos are massless left-handed Weyl spinors (so if the dimension-5 Weinberg operator vanishes).

Version 1.02 (15 June 2017)

SmeftFR v1.02 published. Changes:

  1. Minor inconsistencies in internal notation corrected. Feynman rules unchanged.

Version 1.01 (30 April 2017)

SmeftFR v1.01 published. Changes:

  1. Added the ActiveOperatorList variable in smeft_initialise.m file, allowing to define subset of dim-6 operators for which physical Lagrangian and Feynman rules are calculated.
  2. Output files contain now both expressions for Feynman rules and for SMEFT Lagrangian expressed in terms of physical fields.
  3. Changed naming of variables in output files, to make it more transparent.

Version 1.00 (15 April 2017)

SmeftFR v1.00 published