Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
SARAH SARAH
  • Project overview
    • Project overview
    • Details
    • Activity
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
Collapse sidebar
  • GOODSELL Mark
  • SARAHSARAH
  • Wiki
  • Advanced_usage_of_FlavorKit_to_define_new_observables

Last edited by Martin Gabelmann Jun 28, 2019
Page history

Advanced_usage_of_FlavorKit_to_define_new_observables

Advanced usage of FlavorKit to define new observables

Overview

In order to introduce new observables to the SPheno output of SARAH, the user can add new definitions to the directories

 /FlavorKit/[$Type]/Processes/

is either LFV for lepton flavor violating or QFV for quark flavor violating observables. The definition of the new observables consists of two files

  1. A steering file with the extension .m
  2. A Fortranbody with the extension .f90

One can make either use of already defined Operators in FlavorKit or define new operators before.

The sterring file

The steering file contains the following information:

  • NameProcess : a string as name for the set of observables.
  • NameObservables : names for the individual observables and numbers which are used to identify them later in the SPheno output. The value is a three dimensional list. The first part of each entry has to be a symbol, the second one an integer and the third one a comment to be printed in the SPheno output file ({{name1,number1,comment1},…} ).
  • NeededOperators : The operators which are needed to calculate the observables. A list with all operators already implemented is given here. In case the user needs additional operators, this is explained here.
  • Body : The name (as string) of the file which contains the Fortrancode to calculate the observables from the operators.

For instance, the corresponding file to calculate ℓα → ℓβγ reads

NameProcess = "LLpGamma";
NameObservables = {{muEgamma, 701, "BR(mu->e gamma)"},
                   {tauEgamma, 702, "BR(tau->e gamma)"},
                   {tauMuGamma, 703, "BR(tau->mu gamma)"}};
NeededOperators = {K2L, K2R};
Body = "LLpGamma.f90";

The observables will be saved in the variables muEgamma, tauEgamma, tauMuGamma and will show up in the spectrum file written by SPheno in the block FlavorKitLFV as numbers 701 to 703.

The file which contains the body to calculate the observables should be standard Fortran code. For our example it reads

Real(dp) :: width
Integer :: i1, gt1, gt2

Do i1=1,3

If (i1.eq.1) Then         ! mu -> e gamma
 gt1 = 2
 gt2 = 1
Elseif (i1.eq.2) Then     !tau -> e gamma
 gt1 = 3
 gt2 = 1
Else                      ! tau -> mu gamma
 gt1 = 3
 gt2 = 2
End if

width=0.25_dp*mf_l(gt1)**5*(Abs(K2L(gt1,gt2))**2 &
           & +Abs(K2R(gt1,gt2))**2)*Alpha

If (i1.eq.1) Then
 muEgamma = width/(width+GammaMu)
Elseif (i1.eq.2) Then
 tauEgamma = width/(width+GammaTau)
Else
 tauMuGamma = width/(width+GammaTau)
End if

End do

Real(dp) is the SPheno internal definition of double precision variables. Similarly one would have to use Complex(dp) for complex double precision variables when necessary.

Possible parameters used in the calculations

Besides the operators, the SM parameters and the hadronic parameters given can be used in the calculations. For instance, we used Alpha for α(0) and mf_l which contains the poles masses of the leptons as well as GammaMu and GammaTau for the total widths of μ and τ leptons. By extending or changing the file hadronic_parameters.m in the FlavorKit directory, it is possible to add new variables for the mass or life time of mesons. These variables are available globally in the resulting SPheno code. The numerical values for the hadronic parameters can be changed in the Les Houches input file by using the blocks FCONST and FMASS defined in the Flavor Les Houches Accord (FLHA) .

Dynamical adjustment of the Fortran code

It may happen that the calculation of a specific observable has to be adjusted for each model. This is for instance the case when (1) the calculation requires the knowledge of the number of generations of fields, (2) the mass or decay width of a particle, calculated by SPheno, is needed as input, or (3) a rotation matrix of a specific field enters the analytical expressions for the observable. For these situations, a special syntax has been created. It is possible to start a line with @ in the Fortranfile. This line will then be parsed by SARAH, and Mathematica commands, as well as SARAH specific commands, can be used. We made use of this functionality in the implementation of h → ℓαℓβ. The lines in hLLp.f90 read

! Check for SM like Higgs
@ If[getGen[HiggsBoson]>1, "hLoc = MaxLoc(Abs(" <> ToString[HiggsMixingMatrix]<>"(2,:)),1)", "hLoc = 1"]

! Get Higgs mass
@ "mh ="<>ToString[SPhenoMass[HiggsBoson]] <> If[getGen[HiggsBoson]>1,"(hLoc)", ""]

! Get Higgs width
@ "gamh ="<>ToString[SPhenoWidth[HiggsBoson]] <> If[getGen[HiggsBoson]>1,"(hLoc)", ""]

In this implementation we define an integer hLoc that gives the generation index of the SM-like Higgs, to be found among all CP even scalars. In the first line it is checked if more than one scalar Higgs is present. If this is the case, the hLoc is set to the component which has the largest amount of the up-type Higgs, if not, it is just put to 1. Of course, this assumes that the electroweak basis in the Higgs sector is always defined as (ϕd, ϕu, …) as is the case for all models delivered with SARAH. In the second and third lines, the variables mh and gamh are set to the mass and total width of the SM-like Higgs, respectively. For this purpose, the SARAH commands SPhenoMass[x] and SPhenoWidth[x] are used. They return the name of the variable for the mass and width in SPheno and it is checked if these variables are arrays or not [1]. For the MSSM, the above lines lead to the following code in the SPheno output:

! Check for SM like Higgs
hLoc = MaxLoc(Abs(ZH(2,:)),1)

! Get Higgs mass
mh =Mhh(hLoc)

! Get Higgs width
gamh =gThh(hLoc)

The most important SARAH commands which might be useful in this context are

getGen[x] returns the number of generations of a particle x
getDim[x] returns the dimension of a variable x
SPhenoMass[x] returns the name used for the mass of a particle x in the SPheno output
SPhenoMassSq[x] returns the name used for the mass squared of a particle x in the SPheno output
SPhenoWidth[x] returns the name used for the width of a particle x in the SPheno output
HiggsMixingMatrix name of the mixing matrix for the CP even Higgs states in a given model
PseudoScalarMixingMatrix name of the mixing matrix for the CP odd Higgs states in a given model

[1] The user can define in the parameters.m and particles.m file for a given model in SARAH the particles which should be taken to be the CP-even or CP-odd Higgs and the parameter that corresponds to their rotation matrices. This is done by using the Description statements Higgs or Pseudo-Scalar Higgs as well as Scalar-Mixing-Matrix or Pseudo-Scalar-Mixing-Matrix. If the particle or parameter needed to calculate an observable is not present or has not been defined, the observable is skipped in the SPheno output.

Clone repository

Home

Index

  • Additional terms in Lagrangian
  • Advanced usage of FlavorKit
  • Advanced usage of FlavorKit to calculate new Wilson coefficients
  • Advanced usage of FlavorKit to define new observables
  • Already defined Operators in FlavorKit
  • Already defined observables in FlavorKit
  • Auto-generated templates for particles.m and parameters.m
  • Automatic index contraction
  • Basic definitions for a non-supersymmetric model
  • Basic definitions for a supersymmetric model
  • Basic usage of FlavorKit
  • Boundary conditions in SPheno
  • CalcHep CompHep
  • Calculation of flavour and precision observables with SPheno
  • Checking the particles and parameters within Mathematica
  • Checks of implemented models
  • Conventions
  • Decay calculation with SPheno
  • Defined FlavorKit parameters
  • Definition of the properties of different eigenstates
  • Delete Particles
  • Different sets of eigenstates
  • Diphoton and digluon vertices with SPheno
  • Dirac Spinors
  • FeynArts
  • Fine-Tuning calculations with SPheno
  • Flags for SPheno Output
  • Flags in SPheno LesHouches file
  • FlavorKit
  • FlavorKit Download and Installation
  • Flavour Decomposition
  • GUT scale condition in SPheno
  • Gauge Symmetries SUSY
  • Gauge Symmetries non-SUSY
  • Gauge fixing
  • Gauge group constants
  • General information about Field Properties
  • General information about model implementations
  • Generating files with particle properties
  • Generic RGE calculation
  • Global Symmetries SUSY
  • Global Symmetries non-SUSY
  • Handling of Tadpoles with SPheno
  • Handling of non-fundamental representations
  • HiggsBounds
  • Higher dimensionsal terms in superpotential
  • Input parameters of SPheno
  • Installation
  • Installing Vevacious
  • LHCP
  • LHPC
  • LaTeX
  • Lagrangian
  • Loop Masses
  • Loop calculations
  • Loop functions
  • Low or High scale SPheno version
  • Main Commands
  • Main Model File
  • Matching to the SM in SPheno
  • MicrOmegas
  • ModelOutput
  • Model files for Monte-Carlo tools
  • Model files for other tools
  • Models with Thresholds in SPheno
  • Models with another gauge group at the SUSY scale
  • Models with several generations of Higgs doublets
  • More precise mass spectrum calculation
  • No SPheno output possible
  • Nomenclature for fields in non-supersymmetric models
  • Nomenclature for fields in supersymmetric models
  • One-Loop Self-Energies and Tadpoles
  • One-Loop Threshold Corrections in Scalar Sectors
  • Options SUSY Models
  • Options non-SUSY Models
  • Parameters.m
  • Particle Content SUSY
  • Particle Content non-SUSY
  • Particles.m
  • Phases
  • Potential
  • Presence of super-heavy particles
  • RGE Running with Mathematica
  • RGEs
  • Renormalisation procedure of SPheno
  • Rotations angles in SPheno
  • Rotations in gauge sector
  • Rotations in matter sector
  • SARAH in a Nutshell
  • SARAH wiki
  • SLHA input for Vevacious
  • SPheno
  • SPheno Higgs production
  • SPheno Output
  • SPheno and Monte-Carlo tools
  • SPheno files
  • SPheno mass calculation
  • SPheno threshold corrections
  • Setting up SPheno.m
  • Setting up Vevacious
  • Setting up the SPheno properties
  • Special fields and parameters in SARAH
  • Superpotential
  • Support of Dirac Gauginos
  • Supported Models
  • Supported gauge sectors
  • Supported global symmetries
  • Supported matter sector
  • Supported options for symmetry breaking
  • Supported particle mixing
  • Tadpole Equations
  • The renormalisation scale in SPheno
  • Tree-level calculations
  • Tree Masses
  • Two-Loop Self-Energies and Tadpoles
  • UFO
  • Usage of tadpoles equations
  • Using SPheno for two-loop masses
  • Using auxiliary parameters in SPheno
  • VEVs
  • Vertices
  • Vevacious
  • WHIZARD