softsusy is hosted by Hepforge, IPPP Durham
SOFTSUSY  4.1
twoBodyDecays.h File Reference

Code calculates two body decay modes of sparticles and Higgs. See arxiv:1703.09717. More...

#include "nmssmsoftsusy.h"
#include "decays.h"
#include "softsusy.h"
#include "physpars.h"
#include "lowe.h"
#include "softpars.h"
#include "flavoursoft.h"
#include "susy.h"
#include "particle.h"
#include <iostream>
#include <cstring>
#include <stdlib.h>
#include <cmath>
#include <vector>
#include <iomanip>
#include <complex>

Go to the source code of this file.

Functions

double charginoToNeutralino1pion (const MssmSoftsusy *m)
 Two body partial width calculations. More...
 
double gluinoamplitudedecay (double m1, double m2, double m3, double alphastrong)
 First, do hadronic decays.
 
double gluinoamplitudedecaymix (double m1, double m2, double m3, double alphastrong, double squarkmix, double theta)
 
double squarkamplitudedecaygluino (double m1, double m2, double m3, double alphastrong)
 
double squarkamplitudedecaygluinomix (double m1, double m2, double m3, double alphastrong, double squarkmix, double theta)
 
double squarkamplitudedecaycharginoW1 (double m1, double m2, double m3, double g, double gamma)
 
double squarkamplitudedecaycharginoW2 (double m1, double m2, double m3, double g, double gamma)
 
double squark1amplitudedecaycharginoW1mix (double m1, double m2, double m3, double g, double gammaL, double gammaR, double theta, double beta, double mWboson, double runmt, double runmb, double torb)
 the variable torb depends on if it is stop (torb=1) or sbottom (torb =2) decaying and changes AprimeuW1 to AprimedW1 accordingly
 
double squark1amplitudedecaycharginoW2mix (double m1, double m2, double m3, double g, double gammaL, double gammaR, double theta, double beta, double mWboson, double runmt, double runmb, double torb)
 the variable torb depends on if it is stop (torb=1) or sbottom (torb =2) decaying and changes AprimeuW2 to AprimedW2 accordingly
 
double squark2amplitudedecaycharginoW1mix (double m1, double m2, double m3, double g, double gammaL, double gammaR, double theta, double beta, double mWboson, double mup, double mdown, double torb)
 the variable torb depends on if it is stop (torb=1) or sbottom (torb =2) decaying and changes AprimeuW1 to AprimedW1 accordingly
 
double squark2amplitudedecaycharginoW2mix (double m1, double m2, double m3, double g, double gammaL, double gammaR, double theta, double beta, double mWboson, double mup, double mdown, double torb)
 the variable torb depends on if it is stop (torb=1) or sbottom (torb =2) decaying and changes AprimeuW2 to AprimedW2 accordingly
 
double squarkLamplitudedecayneutralino (double m1, double m2, double m3, double g, double gprime, DoubleMatrix &mixNeut, int neutralino, int uord)
 neutralino takes values of 1, 2, 3, or 4 and denotes which neutralino mass eigenstate we decay into, uord takes value 1 for up quarks (or charm quarks) and -1 for down quarks (or strange quarks) in order to change the sign of the g*neutralinomixingmatrix[2][element] in AqZ accordingly
 
double squarkRamplitudedecayneutralino (double m1, double m2, double m3, double g, double gprime, DoubleMatrix &mixNeut, int neutralino, int uord)
 neutralino takes values of 1, 2, 3, or 4 and denotes which neutralino mass eigenstate we decay into, uord takes value 1 for up quarks (or charm quarks) and -1 for down quarks (or strange quarks) in order to change the sign and magnitude of the coefficient BqZ accordingly More...
 
double squark3amplitudedecayneutralino (double m1, double m2, double m3, double mWboson, double theta, double beta, DoubleMatrix &mixNeut, double g, double gp, double runmt, int squark, int oneortwo, int neutralino)
 
double squark3amplitudedecaysquark3Wboson (double m1, double m2, double m3, double g, double thetat, double thetab, int m1torb, int m1oneortwo, int m3torb, int m3oneortwo)
 m1torb tells the function if the initial squark is a stop or sbottom, m1oneortwo tells it whether it's the lighter or heavier squark, similarly for the final state squark with m3torb and m3oneortwo More...
 
double squark3amplitudedecaychargedHiggssquark3 (double m1, double m2, double m3, double g, double mWboson, double beta, double thetat, double thetab, double greekmu, double At, double Ab, double mt, double mb, int t1or2, int b1or2)
 
double squark32amplitudedecayneutralHiggssquark3 (double m1, double m2, double m3, double g, double gp, double mWboson, double beta, double alpha, double thetat, double thetab, double greekmu, double At, double Ab, double mt, double mb, int torb, char phi)
 
double squark32amplitudedecaysquark3Zboson (double m1, double m2, double m3, double g, double gp, double theta)
 
double sleptonamplitudedecayleptonneutralino (double m1, double m2, double m3, double g, double gp, DoubleMatrix &mixNeut, char LorR, int neutralino)
 
double sneutrinoamplitudedecayneutrinoneutralino (double m1, double m2, double m3, double g, double gp, DoubleMatrix &mixNeut, int neutralino)
 
double sleptonamplitudedecaychargino (double m1, double m2, double m3, double g, double theta, int chargino)
 for both sleptonL decays to charginos + neutrinos and for sneutrino decays to lepton + charginos - just change theta from thetaL in first case to thetaR in second case More...
 
double stauamplitudedecaytauneutralino (double m1, double m2, double m3, double g, double gp, double mWboson, DoubleMatrix &mixNeut, double theta, double beta, int oneortwo, int neutralino)
 
double stausneutrinoamplitudedecaytauneutrinoneutralino (double m1, double m2, double m3, double g, double gp, DoubleMatrix &mixNeut, int neutralino)
 
double stauamplitudedecaynutauchargino (double m1, double m2, double m3, double g, double mWboson, double theta, double thetaL, double beta, double mtau, int oneortwo, int chargino)
 
double stausneutrinoamplitudedecaytauchargino (double m1, double m2, double m3, double g, double mWboson, double beta, double thetaL, double thetaR, int chargino)
 
double stauamplitudedecaysnustauHminus (double m1, double m2, double m3, double g, double mWboson, double beta, double thetatau, double mtau, double mu, double Atau, int oneortwo)
 Also does decay mode snustau to Hplus and stau1/2 just with m1, m2 and m3 permuted.
 
double stauamplitudedecaysnustauWboson (double m1, double m2, double m3, double g, double thetatau, int oneortwo)
 m3 must be mw here
 
double stau2amplitudedecaystau1Zboson (double m1, double m2, double m3, double g, double gp, double thetatau)
 m3 must be mz here
 
double stau2amplitudedecaystau1phi (double m1, double m2, double m3, double g, double gp, double thetatau, double beta, double alpha, double mWboson, double mtau, double greekmu, double Atau, char phi)
 
double charginoamplitudedecayquarksquarkL (double m1, double m2, double m3, double g, double theta, int chargino)
 quark mass is m2 More...
 
double charginoamplitudedecayquarksquarkmix (double m1, double m2, double m3, double g, double theta, double thetaL, double thetaR, double beta, double runmt, double runmb, double mWboson, int chargino, int upordowntypesquark, int oneortwo)
 quark mass is m2 More...
 
double charginoamplitudedecayleptonsleptonL (double m1, double m2, double m3, double g, double thetaLorR, int chargino)
 lepton mass is m2, use thetaR for decays to sneutrinos and leptons, use thetaL for decays to sleptons neutrinos More...
 
double charginoamplitudedecaysnutautau (double m1, double m2, double m3, double g, double thetaL, double thetaR, double beta, double mWboson, int chargino)
 m2 must be tau mass More...
 
double charginoamplitudedecaystaunutau (double m1, double m2, double m3, double g, double thetaL, double thetaR, double thetatau, double beta, double mWboson, double mtau, int oneortwo, int chargino)
 m2 must be nutau mass (i.e. 0) More...
 
double charginoamplitudedecayWbosonneutralino (double m1, double m2, double m3, double g, double thetaL, double thetaR, DoubleMatrix &mixNeut, int chargino, int neutralino)
 m2 must be Wboson mass
 
double charginoamplitudedecayHminusneutralino (double m1, double m2, double m3, double g, double gp, double thetaL, double thetaR, double beta, DoubleMatrix &mixNeut, int chargino, int neutralino)
 m2 must be Hminus mass
 
double chargino2amplitudedecaychargino1Zboson (double m1, double m2, double m3, double g, double gp, double thetaL, double thetaR)
 m2 must be Zboson mass
 
double chargino2amplitudedecaychargino1neutHiggs (double m1, double m2, double m3, double g, double gp, double thetaL, double thetaR, double beta, double alpha, char phi)
 m2 must be neutral Higgs mass More...
 
double neutralinoamplitudedecayquarksquarkLorR (double m1, double m2, double m3, double g, double gp, DoubleMatrix &mixNeut, int uordtype, char LorR, int neutralino)
 m2 must be quark mass More...
 
double neutralinoamplitudedecayleptonsleptonLorR (double m1, double m2, double m3, double g, double gp, DoubleMatrix &mixNeut, char LorR, int neutralino)
 m2 must be lepton mass More...
 
double neutralinoamplitudedecayneutrinosneutrinoL (double m1, double m2, double m3, double g, double gp, DoubleMatrix &mixNeut, int neutralino)
 m2 must be neutrino mass (i.e. 0)
 
double neutralinoamplitudedecaysquark3quarkmix (double m1, double m2, double m3, double mWboson, double theta, double beta, DoubleMatrix &mixNeut, double g, double gp, double runmq, int squark, int oneortwo, int neutralino)
 m2 must be quark mass More...
 
double neutralinoamplitudedecaystautau (double m1, double m2, double m3, double mWboson, double theta, double beta, DoubleMatrix &mixNeut, double g, double gp, int oneortwo, int neutralino)
 m2 must be tau (i.e. lepton) mass More...
 
double neutralinoamplitudedecaycharginoWboson (double m1, double m2, double m3, double g, double thetaL, double thetaR, DoubleMatrix &mixNeut, int neutralino, int chargino)
 m2 must be W boson mass (expect to be pole mass 80.4...), neutralino is i in T&B whilst chargino is j
 
double neutralinoamplitudedecaycharginoHplus (double m1, double m2, double m3, double g, double gp, double beta, double thetaL, double thetaR, DoubleMatrix &mixNeut, int neutralino, int chargino)
 m2 must be Hplus mass, neutralino is i in T&B whilst chargino is j
 
double neutralinoamplitudedecayneutralinoZboson (double m1, double m2, double m3, double g, double gp, DoubleMatrix &mixNeut, int ineutralino, int fneutralino)
 m2 must be Z mass, ineutralino is i in T&B whilst fneutralino is j
 
double neutralinoamplitudedecayneutralinoneutHiggs (double m1, double m2, double m3, double g, double gp, DoubleMatrix &mixNeut, double mixingangle, int ineutralino, int fneutralino, char phi)
 m2 must be phi mass, ineutralino is i in T&B whilst fneutralino is j More...
 
double higgslorHamplitudedecayquarkantiquark (double m1, double m2, double g, double alpha, double beta, double mWboson, int uord, char lorH, DoubleMatrix &CPEMix, bool nmssmIsIt, bool QCD, double alphas)
 uord indicates if it's an up type quark (1) or down type quark (0) to choose which trig functions to act on the mixing angles (which parts of the mixing matrices), and int lorH tells the program if it's a light higgs (l) or heavy higgs (H) decaying in order to change the trig functions acting on the mixing angles; note can also use this formula for decays of higgs to leptons as these are in this sense down-type More...
 
double higgsAamplitudedecayquarkantiquark (double m1, double m2, double g, double beta, double mWboson, int uord, bool QCD, double alphas)
 uord indicates if it's an up type quark (1) or down type quark (0) to choose which trig functions to act on the mixing angles (which parts of the mixing matrices), note can also use this formula for decays of higgs to leptons as these are in this sense down-type
 
double higgsAamplitudedecayquarkantiquarkNMSSM (double m1, double m2, double beta, DoubleMatrix &CPOMix, int uord, int higgs, bool QCD, double alphas)
 uord indicates if it's an up type quark (1) or down type quark (0) to choose which trig functions to act on the mixing angles (which parts of the mixing matrices), note can also use this formula for decays of higgs to leptons as these are in this sense down-type
 
double higgsphiamplitudedecayneutralinoneutralino (double m1, double m2, double m3, double g, double tanthetaW, double mixingangle, DoubleMatrix &mixNeut, int ineutralino, int fneutralino, char phi)
 phi tells it whether a "h", "H" or "A" is decaying More...
 
double higgsphiamplitudedecaysamechargino (double m1, double m2, double g, double thetaL, double thetaR, double alpha, double beta, int chargino, char phi)
 phi tells it whether a "h", "H" or "A" is decaying More...
 
double higgsphiamplitudedecaydifchargino (double m1, double m2, double m3, double g, double thetaL, double thetaR, double alpha, double beta, char phi)
 this function calls the function higgsphicharginocouplings to calculate the couplings for it More...
 
double higgshamplitudedecayAA (double m1, double m2, double g, double gp, double alpha, double beta, double mWboson)
 calculates partial width for h->AA More...
 
double higgsHamplitudedecayhh (double m1, double m2, double g, double gp, double alpha, double beta, double mWboson)
 calculates partial width for h->hh More...
 
double higgsHamplitudedecayAA (double m1, double m2, double g, double gp, double alpha, double beta, double mWboson)
 calculates partial width for H->AA More...
 
double higgsHamplitudedecayHplusHminus (double m1, double m2, double g, double gp, double alpha, double beta, double mWboson)
 calculates partial width for H->H+H- More...
 
double higgshamplitudedecayhiggsAZboson (double m1, double m2, double m3, double g, double gp, double alpha, double beta)
 calculates partial width for h->AZ, m2 must be Zboson mass
 
double higgsHamplitudedecayhiggsAZboson (double m1, double m2, double m3, double g, double gp, double alpha, double beta)
 calculates partial width for H->AZ, m2 must be Zboson mass
 
double higgsAamplitudedecayhiggshZboson (double m1, double m2, double m3, double g, double gp, double alpha, double beta)
 calculates partial width for A->hZ, m2 must be Zboson mass
 
double higgsAamplitudedecayhiggsHZboson (double m1, double m2, double m3, double g, double gp, double alpha, double beta)
 calculates partial width for A->HZ, m2 must be Zboson mass
 
double higgshamplitudedecay2squarksamehand (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mupq, double mdownq, int sq)
 calculates partial width for h->squark squark with no mixing and squarks of same handedness, therefore for first two generations, int sq tells the function which squarks it's decaying into - uL, dL, uR, dR for sq = 1,2,3,4 respectively
 
double higgshamplitudedecay2squarkdiffhand (double m1, double m2, double m3, double g, double alpha, double beta, double mWboson, double mupq, double mdownq, double greekmu, double Aup, double Adown, int sq)
 calculates partial width for h->squark squark with no mixing and squarks of different handedness, therefore for first two generations, int sq tells the function which squarks it's decaying into - uL, dL, uR, dR for sq = 1,2,3,4 respectively
 
double higgsHamplitudedecay2squarksamehand (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mupq, double mdownq, int sq)
 calculates partial width for H->squark squark with no mixing and squarks of same handedness, therefore for first two generations, int sq tells the function which squarks it's decaying into - uL, dL, uR, dR for sq = 1,2,3,4 respectively
 
double higgsHamplitudedecay2squarkdiffhand (double m1, double m2, double m3, double g, double alpha, double beta, double mWboson, double mupq, double mdownq, double greekmu, double Aup, double Adown, int sq)
 calculates partial width for H->squark squark with no mixing and squarks of different handedness, therefore for first two generations, int sq tells the function which squarks it's decaying into - uL, dL, uR, dR for sq = 1,2,3,4 respectively
 
double higgshamplitudedecay2sleptonsamehand (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mel, int sl)
 calculates partial width for h->slepton slepton with no mixing and sleptons of same handedness, therefore for first two generations, int sl tells the function which sleptons it's decaying into - nuL, eL, eR for sl = 1,2,3 respectively
 
double higgshamplitudedecay2sleptondiffhand (double m1, double m2, double m3, double g, double alpha, double beta, double mWboson, double mel, double greekmu, double Aelectron, int sl)
 calculates partial width for h->slepton slepton with no mixing and sleptons of different handedness, therefore for first two generations, int sl tells the function which sleptons it's decaying into - nuL, eL, eR for sl = 1,2,3 respectively
 
double higgsHamplitudedecay2sleptonsamehand (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mel, int sl)
 calculates partial width for H->slepton slepton with no mixing and sleptons of same handedness, therefore for first two generations, int sl tells the function which sleptons it's decaying into - nuL, eL, eR for sl = 1,2,3 respectively
 
double higgsHamplitudedecay2sleptondiffhand (double m1, double m2, double m3, double g, double alpha, double beta, double mWboson, double mel, double greekmu, double Aelectron, int sl)
 calculates partial width for H->slepton slepton with no mixing and sleptons of different handedness, therefore for first two generations, int sl tells the function which sleptons it's decaying into - nuL, eL, eR for sl = 1,2,3 respectively
 
double higgshamplitudedecaystop1stop1 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtop, double mbottom, double greekmu, double Atop, double Abottom, double theta)
 calculates partial width for h->stop1 antistop1
 
double higgshamplitudedecaystop2stop2 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtop, double mbottom, double greekmu, double Atop, double Abottom, double theta)
 calculates partial width for h->stop2 antistop2
 
double higgshamplitudedecaystop1stop2 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtop, double mbottom, double greekmu, double Atop, double Abottom, double theta)
 calculates partial width for h->stop1 antistop2 or stop2 antistop1 as they are the same
 
double higgshamplitudedecaysbottom1sbottom1 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtop, double mbottom, double greekmu, double Atop, double Abottom, double theta)
 calculates partial width for h->sbottom1 antisbottom1
 
double higgshamplitudedecaysbottom2sbottom2 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtop, double mbottom, double greekmu, double Atop, double Abottom, double theta)
 calculates partial width for h->sbottom2 antisbottom2
 
double higgshamplitudedecaysbottom1sbottom2 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtop, double mbottom, double greekmu, double Atop, double Abottom, double theta)
 calculates partial width for h->sbottom1 antisbottom2 or sbottom2 antisbottom1 as they are the same
 
double higgsHamplitudedecaystop1stop1 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtop, double mbottom, double greekmu, double Atop, double Abottom, double theta)
 calculates partial width for H->stop1 antistop1
 
double higgsHamplitudedecaystop2stop2 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtop, double mbottom, double greekmu, double Atop, double Abottom, double theta)
 calculates partial width for H->stop2 antistop2
 
double higgsHamplitudedecaystop1stop2 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtop, double mbottom, double greekmu, double Atop, double Abottom, double theta)
 calculates partial width for H->stop1 antistop2 or stop2 antistop1 as they are the same
 
double higgsHamplitudedecaysbottom1sbottom1 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtop, double mbottom, double greekmu, double Atop, double Abottom, double theta)
 calculates partial width for H->sbottom1 antisbottom1
 
double higgsHamplitudedecaysbottom2sbottom2 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtop, double mbottom, double greekmu, double Atop, double Abottom, double theta)
 calculates partial width for H->sbottom2 antisbottom2
 
double higgsHamplitudedecaysbottom1sbottom2 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtop, double mbottom, double greekmu, double Atop, double Abottom, double theta)
 calculates partial width for H->sbottom1 antisbottom2 or sbottom2 antisbottom1 as they are the same
 
double higgshamplitudedecaystau1stau1 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtau, double greekmu, double Atau, double theta)
 calculates partial width for h->stau1 antistau1
 
double higgshamplitudedecaystau2stau2 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtau, double greekmu, double Atau, double theta)
 calculates partial width for h->stau2 antistau2
 
double higgshamplitudedecaystau1stau2 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtau, double greekmu, double Atau, double theta)
 calculates partial width for h->stau1 antistau2 or h->stau2 antistau1 as these widths have the same value
 
double higgshtestamplitudedecaystau1stau1 (double m1, double m2, double thetatau, double g, double gp, double mWboson, double alpha, double beta, double mtau, double greekmu, double Atau)
 
double higgsHamplitudedecaystau1stau1 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtau, double greekmu, double Atau, double theta)
 calculates partial width for H->stau1 antistau1
 
double higgsHamplitudedecaystau2stau2 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtau, double greekmu, double Atau, double theta)
 calculates partial width for H->stau2 antistau2
 
double higgsHamplitudedecaystau1stau2 (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mtau, double greekmu, double Atau, double theta)
 calculates partial width for H->stau1 antistau2 or H->stau2 antistau1 as these widths have the same value
 
double higgsAamplitudedecaysfermions (double m1, double m2, double m3, double g, double mWboson, double mf, double greekmu, double Asf, double beta, char uord)
 calculates partial width for A->sfermion1 sfermion2, these sfermions must be of the same type, note can't have decays to sfermion1 and sfermion 1 or to sfermion2 and sfermion2 by CP conservation, also note there's no dependence on sfermion mixing angle in these decays, mf is the mass of the corresponding fermion. char uord tells it whether we have up type (so Asf*cot(beta)) or down type (so Asf*tan(beta)). Finally note that the extra factor of three from colour for squarks is added above by multiplying the answer this function gives by 3
 
double higgsHplusamplitudedecayquarkantiquark (double m1, double m2, double m3, double g, double mWboson, double beta, DoubleMatrix &VCKM, int quark, int antiquark)
 calculates partial width for H+ ->quark1 antiquark2, this is the same as H- -> antiquark1 quark2, note the up type quark (quark1) is m2, the down type quark (quark2) is m3, the int quark is 1,2,3 (u,c,t) and int antiquark is 1,2,3 (d,s,b) then this selects VCKM matrix element VCKM(quark, antiquark)
 
double higgsHplusamplitudedecayneutralinochargino (double m1, double m2, double m3, double g, double gp, double beta, double thetaL, double thetaR, DoubleMatrix &mixNeut, int neutralino, int chargino)
 Calculates the partial width for decays of the charged H+ higgs to a neutralino and a chragino Wtilda+ where neutralino is j in T&B whilst chargino is i.
 
double higgsHplusamplitudedecayneutralinocharginosusyhitway (double m1, double m2, double m3, double g, double gp, double beta, double thetaL, double thetaR, DoubleMatrix &mixNeut, int neutralino, int chargino)
 
double higgsHplusamplitudedecayWbosonhiggsh (double m1, double m2, double m3, double g, double alpha, double beta)
 Calculates the partial width for a charged Higgs boson H+ to decay to a Wboson and a neutral light scalar higgs (i.e. the SM-like higgs) h, m2 must be the W boson mass.
 
DoubleVector higgsHplusamplitudedecaysquarksquark (double m1, double m2, double m3, double g, double beta, double mWboson, double mup, double mdown, double greekmu, double Aup, double Adown)
 
DoubleVector higgsHplusamplitudedecaysquarksquarkmix (double m1, double m2, double m3, double g, double beta, double mWboson, double mtop, double mbottom, double greekmu, double Atop, double Abottom, double thetatop, double thetabottom)
 calculates partial width for Hplus->squarki antisquarkj where i,j are each 1/2 so mixing included, i.e. third generations of squarks
 
double higgsesamplitudedecaygammagammatotal (double m1, double g, double gprime, double alphaEmrun, double mWboson, double polemw, double alpha, double beta, double mtop, double mbottom, double mcharm, double mtau, double mHpm, double mstop1, double mstop2, double msbottom1, double msbottom2, double mstau1, double mstau2, double mchargino1, double mchargino2, double thetaL, double thetaR, double thetat, double thetab, double thetatau, double greekmu, double Atop, double Abottom, double Atau, char higgstype)
 function that calculates the partial width for h->gamma gamma at 1-loop (forbidden at tree-level)
 
double higgsesamplitudedecaygluongluontotal (double m1, double g, double gs, double gprime, double mWboson, double alpha, double beta, double mtop, double mbottom, double mcharm, double mstop1, double mstop2, double msbottom1, double msbottom2, double thetat, double thetab, double greekmu, double Atop, double Abottom, double mstrange, double mscharmL, double mscharmR, double msstrangeL, double msstrangeR, double Acharm, double Astrange, double mup, double mdown, double msupL, double msupR, double msdownL, double msdownR, double Aup, double Adown, char higgstype, bool QCD)
 function that calculates the partial width for h->gluon gluon at 1-loop (forbidden at tree-level) More...
 
DoubleVector higgshamplitudedecayVV (double m1, double mWboson, double mZboson, double g, double gp, double alpha, double beta, char Vtype, DoubleMatrix &CPEMix, bool nmssmIsIt)
 double higgsamplitudedecayVVstar (double m1, double mboson, double g, double gp, double beta, double alpha, char Vtype); More...
 
DoubleVector higgsHamplitudedecayVV (double m1, double mWboson, double mZboson, double g, double gp, double alpha, double beta, char Vtype, DoubleMatrix &CPEMix, bool nmssmIsIt)
 Function that calculates the Heavy Higgs decays to two vector bosons, assuming both are on-shell.
 
DoubleVector higgsH3amplitudedecayVVNMSSM (double m1, double mWboson, double mZboson, double g, double gp, double alpha, double beta, char Vtype, DoubleMatrix &CPEMix, bool nmssmIsIt)
 Function that calculates the Heavy Higgs decays to two vector bosons, assuming both are on-shell. More...
 
double higgsAamplitudedecayHpmWboson (double m1, double mWboson, double mHpm, double g, double thetaA, int pseudoscalar, bool nmssmIsIt)
 Does A/A2 -> H+W- (note multiply by 2 if want to include H-W+ as well as H+W- in this)
 
double stop2amplitudedecaystop1CPevenhiggsNMSSM (double mst2, double mst1, double mh, double mt, double thetat, DoubleMatrix &CPEMix, double beta, double mWboson, double g, double gp, double At, double mueff, double lam, int higgs)
 
double stop2amplitudedecaystop1CPoddhiggsNMSSM (double mst2, double mst1, double ma, double mt, double thetat, DoubleMatrix &CPOMix, double beta, double mWboson, double g, double At, double mueff, double lam, int higgs)
 
double sbottom2amplitudedecaysbottom1CPevenhiggsNMSSM (double msb2, double msb1, double mh, double mb, double thetab, DoubleMatrix &CPEMix, double beta, double mWboson, double g, double gp, double Ab, double mueff, double lam, int higgs)
 
double sbottom2amplitudedecaysbottom1CPoddhiggsNMSSM (double msb2, double msb1, double ma, double mb, double thetab, DoubleMatrix &CPOMix, double beta, double mWboson, double g, double Ab, double mueff, double lam, int higgs)
 
double stau2amplitudedecaystau1CPevenhiggsNMSSM (double mstau2, double mstau1, double mh, double mtau, double thetatau, DoubleMatrix &CPEMix, double beta, double mWboson, double g, double gp, double Atau, double mueff, double lam, int higgs)
 
double stau2amplitudedecaystau1CPoddhiggsNMSSM (double mstau2, double mstau1, double ma, double mtau, double thetatau, DoubleMatrix &CPOMix, double beta, double mWboson, double g, double Atau, double mueff, double lam, int higgs)
 
double chargino2amplitudedecaychargino1CPevenhiggsNMSSM (double mchar2, double mchar1, double mh, double g, double lam, double thetaL, double thetaR, DoubleMatrix &CPEMix, int higgs)
 
double chargino2amplitudedecaychargino1CPoddhiggsNMSSM (double mchar2, double mchar1, double mA, double g, double lam, double thetaL, double thetaR, DoubleMatrix &CPOMix, int higgs)
 
double neutralinoamplitudedecaycharginoWNMSSM (double mneut, double mchar, double mWboson, double g, double thetaL, double thetaR, DoubleMatrix &mixNeut, int neutralino, int chargino)
 
double neutralinoamplitudedecayneutralinoZNMSSM (double mneuti, double mneutj, double mZboson, double g, double gp, DoubleMatrix &mixNeut, int neutralinoi, int neutralinoj)
 
double neutralinoamplitudecharginoHpmNMSSM (double mneut, double mchar, double mHp, double g, double gp, double beta, double thetaL, double thetaR, double lam, DoubleMatrix &mixNeut, int neutralino, int chargino)
 
double neutralinoamplitudedecayneutralinoCPevenhiggsNMSSM (double mneuti, double mneutj, double mhiggs, double g, double gp, double lam, double kappa, DoubleMatrix &mixNeut, DoubleMatrix &CPEMix, int neutralinoi, int neutralinoj, int higgs)
 
double neutralinoamplitudedecayneutralinoCPoddhiggsNMSSM (double mneuti, double mneutj, double ma, double g, double gp, double lam, double kappa, DoubleMatrix &mixNeut, DoubleMatrix &CPOMix, int neuti, int neutj, int higgsa)
 
double neutralinoamplitudedecaysfermionfermionfirst2genNMSSM (double mneut, double msf, double mf, double g, double gp, DoubleMatrix &mixNeut, int neut, char type, char LorR)
 type indicates type of fermion, 'u' for up type quark, 'd' for down type quark, 'l' for charged lepton, 'n' for neutrino, note ignoring yukawa of fermion here as first 2 gen
 
double neutralinoamplitudestoptopNMSSM (double mneut, double mst, double mt, double g, double gp, double thetat, double beta, double mWboson, DoubleMatrix &mixNeut, double runmt, int neut, int stop)
 
double neutralinoamplitudesbottombottomNMSSM (double mneut, double msb, double mb, double g, double gp, double thetab, double beta, double mWboson, DoubleMatrix &mixNeut, double runmb, int neut, int sbottom)
 
double neutralinoamplitudestautauNMSSM (double mneut, double mstau, double mtau, double g, double gp, double thetatau, double beta, double mWboson, DoubleMatrix &mixNeut, double runmtau, int neut, int stau)
 
double neutralinoamplitudestauneutrinotauneutrinoNMSSM (double mneut, double mstaunu, double mtaunu, double g, double gp, DoubleMatrix &mixNeut, int neut)
 
double squarkamplitudedecayquarkneutralinoNMSSM (double m1, double mq, double mneut, double g, double gp, DoubleMatrix &mixNeut, char uord, char LorR, int neut)
 
double sleptonamplitudedecayleptonneutralinoNMSSM (double m1, double ml, double mneut, double g, double gp, DoubleMatrix &mixNeut, char uord, char LorR, int neut)
 
double stopamplitudedecaytopneutralinoNMSSM (double m1, double mt, double mneut, double g, double gp, double thetat, DoubleMatrix &mixNeut, double runmt, double mWboson, double beta, int stop, int neut)
 
double sbottomamplitudedecaybottomneutralinoNMSSM (double m1, double mb, double mneut, double g, double gp, double thetab, DoubleMatrix &mixNeut, double runmb, double mWboson, double beta, int sbottom, int neut)
 
double stauamplitudedecaytauneutralinoNMSSM (double m1, double mtau, double mneut, double g, double gp, double thetatau, DoubleMatrix &mixNeut, double runmtau, double mWboson, double beta, int stau, int neut)
 
double charginoiamplitudedecayneutralinojHpmNMSSM (double mchar, double mneut, double mHpm, double g, double gp, double thetaL, double thetaR, double beta, DoubleMatrix &mixNeut, double lam, int chargino, int neut)
 
double charginoiamplitudedecayneutralinojWNMSSM (double mchar, double mneut, double mWboson, double g, double gp, double thetaL, double thetaR, DoubleMatrix &mixNeut, int chargino, int neut)
 
double HpmamplitudecharginojneutralinoiNMSSM (double mHp, double mchar, double mneut, double g, double gp, double beta, double thetaL, double thetaR, double lam, DoubleMatrix &mixNeut, int neutralino, int chargino)
 
double snutauamplitudedecaynutauneutralinoNMSSM (double m1, double mneut, double g, double gp, DoubleMatrix &mixNeut, int neutralino)
 
double higgsesamplitudedecayZbosonphotontotal (double m1, double mZboson, double g, double gprime, double alphaEmrun, double polemw, double runmw, double alpha, double beta, double mtop, double mbottom, double mcharm, double mstrange, double mstop1, double mstop2, double msbottom1, double msbottom2, double mHplus, double thetat, double thetab, double greekmu, double Atop, double Abottom, char higgstype)
 function that calculates the partial width for h->Z gamma at 1-loop (forbidden at tree-level)
 
double gluinoamplitudedecaydgausscharginoqqpbarfirsttwogen (double mgluino, double mchargino, double mquark, double mquarkp, double msqL, double msqpL, double g, double thetaL, double thetaR, double alphas, int charg, bool onetothree)
 Functions for 1->3 decays via dgauss: More...
 
double gluinoamplitudedecay1to3neutfirsttwogen (double m1, double m2, double m3, double m4, double m5, double g, double gp, DoubleMatrix &mixNeut, double alphas, char uord, int neut, int Nsteps, int adaptive, bool onetothree, double approx)
 BEN.
 
double gluinoamplitudedecay1to3charfirsttwogen (double m1, double m2, double m3, double m4, double m5, double m6, double g, double thetaL, double thetaR, double alphas, int charg, int Nsteps, int adaptive, bool onetothree, double approx)
 
double gluinoamplitudedecay1to3neutttbar (double m1, double m2, double m3, double m4, double m5, double mw, double g, double gp, double thetat, double beta, double alphas, DoubleMatrix &mixNeut, double runmq, int neutralino, int Nsteps, int adaptive, bool onetothree, double approx)
 
double gluinoamplitudedecay1to3neutbbbar (double m1, double m2, double m3, double m4, double m5, double mw, double g, double gp, double thetab, double beta, double alphas, DoubleMatrix &mixNeut, double runmq, int neutralino, int Nsteps, int adaptive, bool onetothree, double approx)
 
double gluinoamplitudedecaychartbbar (double m1, double m2, double m3, double m4, double m5, double m6, double m7, double m8, double alphas, double thetat, double thetab, double mw, double g, double gp, double gammaL, double gammaR, double beta, double runmt, double runmb, int chargino, int Nsteps, int adaptive, bool onetothree, double approx)
 
double neutralinoamplitudedecayneutffbar (double m1, double m2, double mf, double msf1, double msf2, double mz, double mh, double mH, double mA, double runmf, double mw, double thetaf, double beta, double alpha, double g, double gp, DoubleMatrix &mixNeut, int neutralinoj, int neutralinoi, char qorl, char uord, int Nsteps, int adaptive, bool onetothree, double approx)
 
double gluinoamplitudedecaygravitino (double m1, double mgrav, double MPlreduced, int gravonoff, int gluNLSP)
 Decays to gravitinos. More...
 
double squarkamplitudedecaygravitino (double m1, double mgrav, double mquark, double MPlreduced, int gravonoff, int squNLSP)
 Function that calculates the decays to gravitinos of squark if int gravonoff == 1, otherwise decays to gravitinos are off. More...
 
double neutralinoamplitudedecayphotongravitino (double m1, double mgrav, double MPlreduced, DoubleMatrix &mixNeut, double g, double gp, int neutralino, int gravonoff, int neutNLSP)
 Function that calculates the decays to gravitino and photon of a neutralino if int gravonoff == 1, otherwise decays to gravitinos are off. More...
 
double neutralinoamplitudedecayZgravitino (double m1, double mZ, double mgrav, double MPlreduced, DoubleMatrix &mixNeut, double g, double gp, double beta, int neutralino, int gravonoff, int neutNLSP)
 Function that calculates the decays to gravitino and Z boson of a neutralino if int gravonoff == 1, otherwise decays to gravitinos are off. More...
 
double neutralinoamplitudedecayphigravitino (double m1, double mphi, double mgrav, double MPlreduced, DoubleMatrix &mixNeut, double alpha, double beta, int neutralino, int gravonoff, char phi, int neutNLSP)
 Function that calculates the decays to gravitino and Z boson of a neutralino if int gravonoff == 1, otherwise decays to gravitinos are off. More...
 
double higgsAamplitudedecaysfermionsNMSSM (double m1, double m2, double m3, double g, double mWboson, double mf, double Asf, double beta, double lam, double mueff, DoubleMatrix &CPOMix, char uord, int pseudoscalar)
 NMSSM functions (where MSSM functions haven't been recycled) More...
 
double higgsAamplitudedecaysamecharginoNMSSM (double m1, double m2, double g, double thetaL, double thetaR, double alpha, double lam, DoubleMatrix &CPOMix, int chargino, int pseudoscalar)
 
double higgsAamplitudedecaydifcharginoNMSSM (double m1, double m2, double m3, double g, double thetaL, double thetaR, double alpha, double lam, DoubleMatrix &CPOMix, int pseudoscalar)
 
double higgsAamplitudedecayneutralinoneutralinoNMSSM (double m1, double m2, double m3, double g, double tanthetaW, double lam, double kappa, DoubleMatrix &CPOMix, DoubleMatrix &mixNeut, int ineutralino, int fneutralino, int pseudoscalar)
 
double higgsAamplitudedecayhiggshorHZbosonNMSSM (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double thetaA, DoubleMatrix &CPEMix, int pseudoscalar, int higgs)
 m2 must be Z mass
 
double higgslHamplitudedecayquarkantiquarkNMSSM (double MSSMamplitude, DoubleMatrix &CPEMix, double alpha, int higgs, char uord)
 
double higgshamplitudedecay2squarksamehandNMSSM (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mq, DoubleMatrix &CPEMix, int sq)
 takes MSSM amplitude and applies relevant NMSSM prefactor to get NMSSM amplitude More...
 
double higgshamplitudedecay2sleptonsamehandNMSSM (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mq, DoubleMatrix &CPEMix, int sl)
 
double higgsHamplitudedecay2squarksamehandNMSSM (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mq, DoubleMatrix &CPEMix, int sq)
 
double higgsHamplitudedecay2sleptonsamehandNMSSM (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mq, DoubleMatrix &CPEMix, int sl)
 
double higgsH3amplitudedecay2squarksamehandNMSSM (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mq, DoubleMatrix &CPEMix, int sq)
 
double higgsH3amplitudedecay2sleptonsamehandNMSSM (double m1, double m2, double m3, double g, double gp, double alpha, double beta, double mWboson, double mq, DoubleMatrix &CPEMix, int sl)
 
double higgshamplitudedecay2squarkdiffhandNMSSM (double m1, double m2, double m3, double g, double alpha, double beta, double mWboson, double mq, double Aq, double mueff, double lam, DoubleMatrix &CPEMix, int sq, int higgs)
 
double higgsphiamplitudedecaysamecharginoNMSSM (double m1, double m2, double g, double thetaL, double thetaR, double lam, DoubleMatrix &CPEMix, int chargino, int higgs)
 
double higgsphiamplitudedecaydiffcharginoNMSSM (double m1, double m2, double m3, double g, double thetaL, double thetaR, double lam, DoubleMatrix &CPEMix, int higgs)
 
double higgsAamplitudedecaygammagammaNMSSM (double m1, double g, double gprime, double alpha, double mWboson, DoubleMatrix &CPOMix, double beta, double mtop, double mbottom, double mcharm, double mtau, double mch1, double mch2, double thetaL, double thetaR, double lam, int higgs)
 
double higgsAamplitudedecaygluongluonNMSSM (double m1, double g, double gs, double alphas, double mWboson, DoubleMatrix &CPOMix, double beta, double mtop, double mbottom, double mcharm, double lam, int higgs, bool QCD)
 
double higgsAamplitudedecayZgammaNMSSM (double m1, double g, double gp, double alpha, double mWboson, double mZboson, DoubleMatrix &CPOMix, double beta, double mtop, double mbottom, double mcharm, double mch1, double mch2, double thetaL, double thetaR, double lam, int higgs)
 
double higgsCPevenamplitudedecaygammagammaNMSSM (double m1, double mtop, double mbottom, double mcharm, double mtau, double mWboson, double mHpm, double mchar1, double mchar2, double mscharmL, double mscharmR, double mstop1, double mstop2, double msstrangeL, double msstrangeR, double msbottom1, double msbottom2, double msmuonL, double msmuonR, double mstau1, double mstau2, DoubleMatrix &CPEMix, double beta, double g, double gp, double alpha, double thetat, double thetab, double thetatau, double thetaL, double thetaR, double At, double Ab, double Atau, double mu, double mueff, double lam, double kappa, double Alambda, int higgs)
 
double higgsCPevenamplitudedecaygluongluonNMSSM (double m1, double mtop, double mbottom, double mcharm, double mWboson, double mscharmL, double mscharmR, double mstop1, double mstop2, double msstrangeL, double msstrangeR, double msbottom1, double msbottom2, double msupL, double msupR, double msdownL, double msdownR, double runmt, double runmb, DoubleMatrix &CPEMix, double beta, double g, double gp, double gs, double alphas, double thetat, double thetab, double thetaL, double thetaR, double At, double Ab, double mu, double mueff, double lam, double kappa, double Alambda, int higgs, bool QCD)
 
double higgshamplitudedecayZgammaNMSSM (double m1, double g, double gp, double alpha, double mWboson, double mZboson, double mHpm, DoubleMatrix &CPEMix, double beta, double mtop, double mbottom, double mcharm, double mch1, double mch2, double thetaL, double thetaR, double lam, double kappa, double Alambda, double greekmu, double mueff, int higgs)
 
double higgshamplitudedecayneutineutjNMSSM (double m1, double mneuti, double mneutj, double g, double gp, DoubleMatrix &CPEMix, DoubleMatrix &mixNeut, double lam, double kappa, int neuti, int neutj, int higgs)
 
double higgsCPevenamplitudedecayAANMSSM (double m1, double mA1, double mA2, double mWboson, double runmt, double runmb, double g, double gp, double beta, DoubleMatrix &CPEMix, DoubleMatrix &CPOMix, double lam, double kappa, double Alambda, double Akappa, double mueff, int higgs, int pseudoscalar1, int pseudoscalar2)
 
double higgsCPevenamplitudedecaypseudoscalarZNMSSM (double m1, double mA, double mZboson, double g, double gp, double beta, DoubleMatrix &CPEMix, DoubleMatrix &CPOMix, int higgs, int pseudoscalar)
 
double higgsCPevenamplitudedecayHpHmNMSSM (double m1, double mHpm, double mWboson, double g, double gp, double mtop, double mbottom, double beta, double lam, double mueff, double kappa, double Alambda, DoubleMatrix &CPEMix, int higgs)
 
double higgsCPevenamplitudedecayhhorhHorHH (double m1, double mh1, double mh2, double g, double gp, double runmw, double beta, double lam, double Alambda, double kappa, double Akappa, double mueff, DoubleMatrix &CPEMix, DoubleMatrix &CPOMix, int higgs1, int higgs2)
 
double higgsCPevenamplitudedecayhhorhHorHHNMSSM (double m1, double mh1, double mh2, double g, double gp, double mWboson, double mtop, double mbottom, double beta, double lam, double Alambda, double kappa, double Akappa, double mueff, DoubleMatrix &CPEMix, DoubleMatrix &CPOMix, int higgs1, int higgs2, int starthiggs)
 
double higgsA2amplitudedecayA1CPevenNMSSM (double m1, double mA1, double mh, double mWboson, double runmt, double runmb, double g, double gp, double beta, DoubleMatrix &CPEMix, DoubleMatrix &CPOMix, double lam, double kappa, double Alambda, double Akappa, double mueff, int higgs)
 
double higgsCPevenamplitudedecayWHpmNMSSM (double m1, double mWboson, double mHpm, double beta, double g, DoubleMatrix &CPEMix, int higgs)
 
double higgsCPevenamplitudedecaystopistopiNMSSM (double m1, double mstopi, double thetat, double runmt, double g, double gp, double mWboson, double beta, DoubleMatrix &CPEMix, double At, double mueff, double lam, int stop, int higgs)
 
double higgsCPevenamplitudedecaystopistopjNMSSM (double m1, double mstopi, double mstopj, double thetat, double runmt, double g, double gp, double mWboson, double beta, DoubleMatrix &CPEMix, double At, double mueff, double lam, int higgs)
 
double higgsCPevenamplitudedecaysbottomisbottomiNMSSM (double m1, double msbottomi, double thetab, double runmb, double g, double gp, double mWboson, double beta, DoubleMatrix &CPEMix, double Ab, double mueff, double lam, int sbottom, int higgs)
 
double higgsCPevenamplitudedecaysbottomisbottomjNMSSM (double m1, double msbottomi, double msbottomj, double thetab, double runmb, double g, double gp, double mWboson, double beta, DoubleMatrix &CPEMix, double Ab, double mueff, double lam, int higgs)
 
double higgsCPevenamplitudedecaystauistauiNMSSM (double m1, double mstaui, double thetatau, double runmtau, double g, double gp, double mWboson, double beta, DoubleMatrix &CPEMix, double Atau, double mueff, double lam, int stau, int higgs)
 
double higgsCPevenamplitudedecaystauistaujNMSSM (double m1, double mstaui, double mstauj, double thetatau, double runmtau, double g, double gp, double mWboson, double beta, DoubleMatrix &CPEMix, double Atau, double mueff, double lam, int higgs)
 
double higgsCPevenamplitudedecaysnusnuNMSSM (double m1, double msnu, double g, double gp, double mWboson, double beta, DoubleMatrix &CPEMix, int higgs)
 
void slhaDecays (ostream &fout, vector< Particle > &decayTable, bool outputPartialWidths)
 outputs a decay table in SLHA format
 
DoubleVector hggQCDcorrections (double amplitudeW, double alphas, int Nf, char higgs, double prefactor, double SMtotr, double SMtoti, double sqtotr, double sqtoti)
 Function for QCD corrections to h->gg.
 
DoubleVector higgsmatrixelementgammagammaviatops (double m1, double mtop, double alpha, double beta, char higgstype)
 function that calculates the part of the matrix element that differs depending on the loop particles, in this case it calculates it for tops in the loop.
 
DoubleVector higgsmatrixelementgammagammaviastops (double m1, double mstop1, double mstop2, double mtop, double mbottom, double mWboson, double thetat, double g, double gprime, double alpha, double beta, double greekmu, double Atop, double Abottom, char higgstype)
 function that calculates the part of the matrix element that differs depending on the loop particles, in this case it calculates it for stop1s and for stop2s in the loop.
 
DoubleVector higgsmatrixelementgammagammaviabottoms (double m1, double mbottom, double alpha, double beta, char higgstype)
 function that calculates the part of the matrix element that differs depending on the loop particles, in this case it calculates it for bottoms in the loop.
 
DoubleVector higgsmatrixelementgammagammaviasbottoms (double m1, double msbottom1, double msbottom2, double mbottom, double mtop, double mWboson, double thetab, double g, double gprime, double alpha, double beta, double Atop, double Abottom, double greekmu, char higgstype)
 function that calculates the part of the matrix element that differs depending on the loop particles, in this case it calculates it for sbottom1s and for sbottom2s in the loop.
 
DoubleVector higgsmatrixelementgammagammaviastaus (double m1, double mstau1, double mstau2, double mtau, double mWboson, double thetatau, double g, double gprime, double alpha, double beta, double greekmu, double Atau, char higgstype)
 function that calculates the part of the matrix element that differs depending on the loop particles, in this case it calculates it for stau1s and for stau2s in the loop.
 
DoubleVector higgsmatrixelementgammagammaviaWbosons (double m1, double mWboson, double alpha, double beta, double g, double gprime, char higgstype)
 function that calculates the part of the matrix element that differs depending on the loop particles, in this case it calculates it for W bosons in the loop.
 
DoubleVector higgsmatrixelementgammagammaviaHpms (double m1, double mHpm, double mWboson, double alpha, double beta, double g, double gprime, char higgstype)
 function that calculates the part of the matrix element that differs depending on the loop particles, in this case it calculates it for H+-s in the loop.
 
DoubleVector higgsmatrixelementgammagammaviachargino1s (double m1, double mchargino1, double mWboson, double alpha, double beta, double thetaL, double thetaR, char higgstype)
 function that calculates the part of the matrix element that differs depending on the loop particles, in this case it calculates it for chargino1s in the loop.
 
DoubleVector higgsmatrixelementgammagammaviachargino2s (double m1, double mchargino2, double mWboson, double alpha, double beta, double thetaL, double thetaR, char higgstype)
 function that calculates the part of the matrix element that differs depending on the loop particles, in this case it calculates it for chargino2s in the loop.
 
DoubleVector higgsmatrixelementgammagammaviacharms (double m1, double mcharm, double alpha, double beta, char higgstype)
 function that calculates the part of the matrix element that differs depending on the loop particles, in this case it calculates it for charms in the loop.
 
DoubleVector higgsmatrixelementgammagammaviataus (double m1, double mtau, double alpha, double beta, char higgstype)
 function that calculates the part of the matrix element that differs depending on the loop particles, in this case it calculates it for taus in the loop.
 

Variables

const double fpi = 0.13041 / root2
 
const double mpiplus = 0.13957018
 
const double mpi0 = 0.1349766
 

Detailed Description

Code calculates two body decay modes of sparticles and Higgs. See arxiv:1703.09717.

Function Documentation

◆ chargino2amplitudedecaychargino1neutHiggs()

double chargino2amplitudedecaychargino1neutHiggs ( double  m1,
double  m2,
double  m3,
double  g,
double  gp,
double  thetaL,
double  thetaR,
double  beta,
double  alpha,
char  phi 
)

m2 must be neutral Higgs mass

throw("DECAY to h\n");

throw("DECAY to H\n");

throw("DECAY to A\n");

◆ charginoamplitudedecayleptonsleptonL()

double charginoamplitudedecayleptonsleptonL ( double  m1,
double  m2,
double  m3,
double  g,
double  thetaLorR,
int  chargino 
)

lepton mass is m2, use thetaR for decays to sneutrinos and leptons, use thetaL for decays to sleptons neutrinos

altered as now + quarkmass/initialmass ^2 not minus

◆ charginoamplitudedecayquarksquarkL()

double charginoamplitudedecayquarksquarkL ( double  m1,
double  m2,
double  m3,
double  g,
double  theta,
int  chargino 
)

quark mass is m2

altered as now + quarkmass/initialmass ^2 not minus

chargino1 decaying

theta is thetaL if sdownL and thetaR if supL

chargino2 decaying

theta is thetaL if sdownL and thetaR if supL

◆ charginoamplitudedecayquarksquarkmix()

double charginoamplitudedecayquarksquarkmix ( double  m1,
double  m2,
double  m3,
double  g,
double  theta,
double  thetaL,
double  thetaR,
double  beta,
double  runmt,
double  runmb,
double  mWboson,
int  chargino,
int  upordowntypesquark,
int  oneortwo 
)

quark mass is m2

altered as now + quarkmass/initialmass ^2 not minus

◆ charginoamplitudedecaysnutautau()

double charginoamplitudedecaysnutautau ( double  m1,
double  m2,
double  m3,
double  g,
double  thetaL,
double  thetaR,
double  beta,
double  mWboson,
int  chargino 
)

m2 must be tau mass

altered as now + quarkmass/initialmass ^2 not minus

◆ charginoamplitudedecaystaunutau()

double charginoamplitudedecaystaunutau ( double  m1,
double  m2,
double  m3,
double  g,
double  thetaL,
double  thetaR,
double  thetatau,
double  beta,
double  mWboson,
double  mtau,
int  oneortwo,
int  chargino 
)

m2 must be nutau mass (i.e. 0)

altered as now + quarkmass/initialmass ^2 not minus

reduces to 1 - pow(m3/m1,2) as m2 = 0

decaying to a stau1

decaying to a stau2

decaying to a stau1

decaying to a stau2

◆ charginoToNeutralino1pion()

double charginoToNeutralino1pion ( const MssmSoftsusy m)

Two body partial width calculations.

Two body partial width calculations.

◆ gluinoamplitudedecaydgausscharginoqqpbarfirsttwogen()

double gluinoamplitudedecaydgausscharginoqqpbarfirsttwogen ( double  mgluino,
double  mchargino,
double  mquark,
double  mquarkp,
double  msqL,
double  msqpL,
double  g,
double  thetaL,
double  thetaR,
double  alphas,
int  charg,
bool  onetothree 
)

Functions for 1->3 decays via dgauss:

1->3 decay not relevant here if one to two decay open

chargino1 decaying

chargino2 decaying

Note mq isn't important really for these modes as they are first two gen quarks

◆ gluinoamplitudedecaygravitino()

double gluinoamplitudedecaygravitino ( double  m1,
double  mgrav,
double  MPlreduced,
int  gravonoff,
int  gluNLSP 
)

Decays to gravitinos.

Function that calculates the decays to gravitinos of gluinos if int gravonoff == 1, otherwise decays to gravitinos are off

Comment this line, last line and line 3 below this out if always want decays to gravitinos output

◆ higgsAamplitudedecaygammagammaNMSSM()

double higgsAamplitudedecaygammagammaNMSSM ( double  m1,
double  g,
double  gprime,
double  alpha,
double  mWboson,
DoubleMatrix CPOMix,
double  beta,
double  mtop,
double  mbottom,
double  mcharm,
double  mtau,
double  mch1,
double  mch2,
double  thetaL,
double  thetaR,
double  lam,
int  higgs 
)

Initialise these components

◆ higgsAamplitudedecaygluongluonNMSSM()

double higgsAamplitudedecaygluongluonNMSSM ( double  m1,
double  g,
double  gs,
double  alphas,
double  mWboson,
DoubleMatrix CPOMix,
double  beta,
double  mtop,
double  mbottom,
double  mcharm,
double  lam,
int  higgs,
bool  QCD 
)

Initialise these components

No squark loop contributions as CP odd higgs

No squark loop contributions as CP odd higgs

Pass hggQCDcorrections 'A' as it just matters whether it is CPeven (so 95/4 in FQCD) or CPodd (so 97/4 in FQCD)

◆ higgsAamplitudedecaysamecharginoNMSSM()

double higgsAamplitudedecaysamecharginoNMSSM ( double  m1,
double  m2,
double  g,
double  thetaL,
double  thetaR,
double  alpha,
double  lam,
DoubleMatrix CPOMix,
int  chargino,
int  pseudoscalar 
)

so ofcourse squarminus is just 1, just keeping link with other amplitudes

◆ higgsAamplitudedecaysfermionsNMSSM()

double higgsAamplitudedecaysfermionsNMSSM ( double  m1,
double  m2,
double  m3,
double  g,
double  mWboson,
double  mf,
double  Asf,
double  beta,
double  lam,
double  mueff,
DoubleMatrix CPOMix,
char  uord,
int  pseudoscalar 
)

NMSSM functions (where MSSM functions haven't been recycled)

NMSSM functions (where MSSM functions haven't been recycled)

◆ higgsAamplitudedecayZgammaNMSSM()

double higgsAamplitudedecayZgammaNMSSM ( double  m1,
double  g,
double  gp,
double  alpha,
double  mWboson,
double  mZboson,
DoubleMatrix CPOMix,
double  beta,
double  mtop,
double  mbottom,
double  mcharm,
double  mch1,
double  mch2,
double  thetaL,
double  thetaR,
double  lam,
int  higgs 
)

Initialise these components

◆ higgsCPevenamplitudedecayAANMSSM()

double higgsCPevenamplitudedecayAANMSSM ( double  m1,
double  mA1,
double  mA2,
double  mWboson,
double  runmt,
double  runmb,
double  g,
double  gp,
double  beta,
DoubleMatrix CPEMix,
DoubleMatrix CPOMix,
double  lam,
double  kappa,
double  Alambda,
double  Akappa,
double  mueff,
int  higgs,
int  pseudoscalar1,
int  pseudoscalar2 
)

Multiplied by 2 later if A A2 to account for indistinguishability

◆ higgsCPevenamplitudedecaygammagammaNMSSM()

double higgsCPevenamplitudedecaygammagammaNMSSM ( double  m1,
double  mtop,
double  mbottom,
double  mcharm,
double  mtau,
double  mWboson,
double  mHpm,
double  mchar1,
double  mchar2,
double  mscharmL,
double  mscharmR,
double  mstop1,
double  mstop2,
double  msstrangeL,
double  msstrangeR,
double  msbottom1,
double  msbottom2,
double  msmuonL,
double  msmuonR,
double  mstau1,
double  mstau2,
DoubleMatrix CPEMix,
double  beta,
double  g,
double  gp,
double  alpha,
double  thetat,
double  thetab,
double  thetatau,
double  thetaL,
double  thetaR,
double  At,
double  Ab,
double  Atau,
double  mu,
double  mueff,
double  lam,
double  kappa,
double  Alambda,
int  higgs 
)

Initialise

◆ higgsCPevenamplitudedecaygluongluonNMSSM()

double higgsCPevenamplitudedecaygluongluonNMSSM ( double  m1,
double  mtop,
double  mbottom,
double  mcharm,
double  mWboson,
double  mscharmL,
double  mscharmR,
double  mstop1,
double  mstop2,
double  msstrangeL,
double  msstrangeR,
double  msbottom1,
double  msbottom2,
double  msupL,
double  msupR,
double  msdownL,
double  msdownR,
double  runmt,
double  runmb,
DoubleMatrix CPEMix,
double  beta,
double  g,
double  gp,
double  gs,
double  alphas,
double  thetat,
double  thetab,
double  thetaL,
double  thetaR,
double  At,
double  Ab,
double  mu,
double  mueff,
double  lam,
double  kappa,
double  Alambda,
int  higgs,
bool  QCD 
)

Initialise

Pass hggQCDcorrections 'h' as it just matters whether it is CPeven (so 95/4 in FQCD) or CPodd (so 97/4 in FQCD)

◆ higgsesamplitudedecaygluongluontotal()

double higgsesamplitudedecaygluongluontotal ( double  m1,
double  g,
double  gs,
double  gprime,
double  mWboson,
double  alpha,
double  beta,
double  mtop,
double  mbottom,
double  mcharm,
double  mstop1,
double  mstop2,
double  msbottom1,
double  msbottom2,
double  thetat,
double  thetab,
double  greekmu,
double  Atop,
double  Abottom,
double  mstrange,
double  mscharmL,
double  mscharmR,
double  msstrangeL,
double  msstrangeR,
double  Acharm,
double  Astrange,
double  mup,
double  mdown,
double  msupL,
double  msupR,
double  msdownL,
double  msdownR,
double  Aup,
double  Adown,
char  higgstype,
bool  QCD 
)

function that calculates the partial width for h->gluon gluon at 1-loop (forbidden at tree-level)

Now as the only difference is in the prefactor I can use the same functions for each of the loop contributions as in the higgs to gamma gamma case.

◆ higgsH3amplitudedecay2sleptonsamehandNMSSM()

double higgsH3amplitudedecay2sleptonsamehandNMSSM ( double  m1,
double  m2,
double  m3,
double  g,
double  gp,
double  alpha,
double  beta,
double  mWboson,
double  mq,
DoubleMatrix CPEMix,
int  sl 
)

snuLsnuL - drop terms proportional to ml^2 here

slLslL

slRslR

◆ higgsH3amplitudedecay2squarksamehandNMSSM()

double higgsH3amplitudedecay2squarksamehandNMSSM ( double  m1,
double  m2,
double  m3,
double  g,
double  gp,
double  alpha,
double  beta,
double  mWboson,
double  mq,
DoubleMatrix CPEMix,
int  sq 
)

uLuL

dLdL

uRuR

dRdR

◆ higgsH3amplitudedecayVVNMSSM()

DoubleVector higgsH3amplitudedecayVVNMSSM ( double  m1,
double  mWboson,
double  mZboson,
double  g,
double  gp,
double  alpha,
double  beta,
char  Vtype,
DoubleMatrix CPEMix,
bool  nmssmIsIt 
)

Function that calculates the Heavy Higgs decays to two vector bosons, assuming both are on-shell.

Only get H3 in NMSSM

Only get H3 in NMSSM

◆ higgshamplitudedecay2sleptonsamehandNMSSM()

double higgshamplitudedecay2sleptonsamehandNMSSM ( double  m1,
double  m2,
double  m3,
double  g,
double  gp,
double  alpha,
double  beta,
double  mWboson,
double  mq,
DoubleMatrix CPEMix,
int  sl 
)

snuLsnuL - drop terms proportional to ml^2 here

slLslL

slRslR

◆ higgsHamplitudedecay2sleptonsamehandNMSSM()

double higgsHamplitudedecay2sleptonsamehandNMSSM ( double  m1,
double  m2,
double  m3,
double  g,
double  gp,
double  alpha,
double  beta,
double  mWboson,
double  mq,
DoubleMatrix CPEMix,
int  sl 
)

snuLsnuL - drop terms proportional to ml^2 here

slLslL

slRslR

◆ higgshamplitudedecay2squarkdiffhandNMSSM()

double higgshamplitudedecay2squarkdiffhandNMSSM ( double  m1,
double  m2,
double  m3,
double  g,
double  alpha,
double  beta,
double  mWboson,
double  mq,
double  Aq,
double  mueff,
double  lam,
DoubleMatrix CPEMix,
int  sq,
int  higgs 
)

uLuR

dLdR

◆ higgshamplitudedecay2squarksamehandNMSSM()

double higgshamplitudedecay2squarksamehandNMSSM ( double  m1,
double  m2,
double  m3,
double  g,
double  gp,
double  alpha,
double  beta,
double  mWboson,
double  mq,
DoubleMatrix CPEMix,
int  sq 
)

takes MSSM amplitude and applies relevant NMSSM prefactor to get NMSSM amplitude

uLuL

dLdL

uRuR

dRdR

◆ higgsHamplitudedecay2squarksamehandNMSSM()

double higgsHamplitudedecay2squarksamehandNMSSM ( double  m1,
double  m2,
double  m3,
double  g,
double  gp,
double  alpha,
double  beta,
double  mWboson,
double  mq,
DoubleMatrix CPEMix,
int  sq 
)

uLuL

dLdL

uRuR

dRdR

◆ higgshamplitudedecayAA()

double higgshamplitudedecayAA ( double  m1,
double  m2,
double  g,
double  gp,
double  alpha,
double  beta,
double  mWboson 
)

calculates partial width for h->AA

obviously 1, just for comparison and consistency with other decay modes

◆ higgsHamplitudedecayAA()

double higgsHamplitudedecayAA ( double  m1,
double  m2,
double  g,
double  gp,
double  alpha,
double  beta,
double  mWboson 
)

calculates partial width for H->AA

obviously 1, just for comparison and consistency with other decay modes

◆ higgsHamplitudedecayhh()

double higgsHamplitudedecayhh ( double  m1,
double  m2,
double  g,
double  gp,
double  alpha,
double  beta,
double  mWboson 
)

calculates partial width for h->hh

obviously 1, just for comparison and consistency with other decay modes

◆ higgsHamplitudedecayHplusHminus()

double higgsHamplitudedecayHplusHminus ( double  m1,
double  m2,
double  g,
double  gp,
double  alpha,
double  beta,
double  mWboson 
)

calculates partial width for H->H+H-

obviously 1, just for comparison and consistency with other decay modes

◆ higgshamplitudedecayneutineutjNMSSM()

double higgshamplitudedecayneutineutjNMSSM ( double  m1,
double  mneuti,
double  mneutj,
double  g,
double  gp,
DoubleMatrix CPEMix,
DoubleMatrix mixNeut,
double  lam,
double  kappa,
int  neuti,
int  neutj,
int  higgs 
)

accounts for decay being neuti neutj or neutj neuti when i!=j

for same neutralino they are QM indistinguishable so don't get factor of 2

◆ higgshamplitudedecayVV()

DoubleVector higgshamplitudedecayVV ( double  m1,
double  mWboson,
double  mZboson,
double  g,
double  gp,
double  alpha,
double  beta,
char  Vtype,
DoubleMatrix CPEMix,
bool  nmssmIsIt 
)

double higgsamplitudedecayVVstar (double m1, double mboson, double g, double gp, double beta, double alpha, char Vtype);

double higgsamplitudedecayVVstar (double m1, double mboson, double g, double gp, double beta, double alpha, char Vtype);

I don't calculate cases where both are off-shell

I don't calculate cases where both are off-shell

◆ higgshamplitudedecayZgammaNMSSM()

double higgshamplitudedecayZgammaNMSSM ( double  m1,
double  g,
double  gp,
double  alpha,
double  mWboson,
double  mZboson,
double  mHpm,
DoubleMatrix CPEMix,
double  beta,
double  mtop,
double  mbottom,
double  mcharm,
double  mch1,
double  mch2,
double  thetaL,
double  thetaR,
double  lam,
double  kappa,
double  Alambda,
double  greekmu,
double  mueff,
int  higgs 
)

Initialise these components

ignored corrections for now - no top or bottom loop corrections ///MUP in NMSSMTools is a fine-tuning parameter - set 0

◆ higgsHplusamplitudedecaysquarksquark()

DoubleVector higgsHplusamplitudedecaysquarksquark ( double  m1,
double  m2,
double  m3,
double  g,
double  beta,
double  mWboson,
double  mup,
double  mdown,
double  greekmu,
double  Aup,
double  Adown 
)

calculates partial width for Hplus->squarki antisquarkj where i,j are each L/R so no mixing, i.e. first two generations of squarks

◆ higgslorHamplitudedecayquarkantiquark()

double higgslorHamplitudedecayquarkantiquark ( double  m1,
double  m2,
double  g,
double  alpha,
double  beta,
double  mWboson,
int  uord,
char  lorH,
DoubleMatrix CPEMix,
bool  nmssmIsIt,
bool  QCD,
double  alphas 
)

uord indicates if it's an up type quark (1) or down type quark (0) to choose which trig functions to act on the mixing angles (which parts of the mixing matrices), and int lorH tells the program if it's a light higgs (l) or heavy higgs (H) decaying in order to change the trig functions acting on the mixing angles; note can also use this formula for decays of higgs to leptons as these are in this sense down-type

M for max i.e. H3 heaviest higgs in NMSSM

u

d

◆ higgsphiamplitudedecaydifchargino()

double higgsphiamplitudedecaydifchargino ( double  m1,
double  m2,
double  m3,
double  g,
double  thetaL,
double  thetaR,
double  alpha,
double  beta,
char  phi 
)

this function calls the function higgsphicharginocouplings to calculate the couplings for it

this function calls the function higgsphicharginocouplings to calculate the couplings for it

◆ higgsphiamplitudedecayneutralinoneutralino()

double higgsphiamplitudedecayneutralinoneutralino ( double  m1,
double  m2,
double  m3,
double  g,
double  tanthetaW,
double  mixingangle,
DoubleMatrix mixNeut,
int  ineutralino,
int  fneutralino,
char  phi 
)

phi tells it whether a "h", "H" or "A" is decaying

here mixingangle is alpha

these are actually Xij/g and Xji/g really

here mixingangle is alpha

here mixingangle is beta

◆ higgsphiamplitudedecaysamechargino()

double higgsphiamplitudedecaysamechargino ( double  m1,
double  m2,
double  g,
double  thetaL,
double  thetaR,
double  alpha,
double  beta,
int  chargino,
char  phi 
)

phi tells it whether a "h", "H" or "A" is decaying

so ofcourse squarminus is just 1, just keeping link with other amplitudes

◆ higgsphiamplitudedecaysamecharginoNMSSM()

double higgsphiamplitudedecaysamecharginoNMSSM ( double  m1,
double  m2,
double  g,
double  thetaL,
double  thetaR,
double  lam,
DoubleMatrix CPEMix,
int  chargino,
int  higgs 
)

so ofcourse squarminus is just 1, just keeping link with other amplitudes

◆ neutralinoamplitudedecayleptonsleptonLorR()

double neutralinoamplitudedecayleptonsleptonLorR ( double  m1,
double  m2,
double  m3,
double  g,
double  gp,
DoubleMatrix mixNeut,
char  LorR,
int  neutralino 
)

m2 must be lepton mass

so get wino and zino couplings as LH slepton

so get only Zino couplings as RH

◆ neutralinoamplitudedecayneutralinoneutHiggs()

double neutralinoamplitudedecayneutralinoneutHiggs ( double  m1,
double  m2,
double  m3,
double  g,
double  gp,
DoubleMatrix mixNeut,
double  mixingangle,
int  ineutralino,
int  fneutralino,
char  phi 
)

m2 must be phi mass, ineutralino is i in T&B whilst fneutralino is j

here mixingangle is alpha

here mixingangle is alpha

here mixingangle is beta

◆ neutralinoamplitudedecayphigravitino()

double neutralinoamplitudedecayphigravitino ( double  m1,
double  mphi,
double  mgrav,
double  MPlreduced,
DoubleMatrix mixNeut,
double  alpha,
double  beta,
int  neutralino,
int  gravonoff,
char  phi,
int  neutNLSP 
)

Function that calculates the decays to gravitino and Z boson of a neutralino if int gravonoff == 1, otherwise decays to gravitinos are off.

Comment this line, last line and line 3 below this out if always want decays to gravitinos output

◆ neutralinoamplitudedecayphotongravitino()

double neutralinoamplitudedecayphotongravitino ( double  m1,
double  mgrav,
double  MPlreduced,
DoubleMatrix mixNeut,
double  g,
double  gp,
int  neutralino,
int  gravonoff,
int  neutNLSP 
)

Function that calculates the decays to gravitino and photon of a neutralino if int gravonoff == 1, otherwise decays to gravitinos are off.

Comment this line, last line and line 3 below this out if always want decays to gravitinos output

◆ neutralinoamplitudedecayquarksquarkLorR()

double neutralinoamplitudedecayquarksquarkLorR ( double  m1,
double  m2,
double  m3,
double  g,
double  gp,
DoubleMatrix mixNeut,
int  uordtype,
char  LorR,
int  neutralino 
)

m2 must be quark mass

up type squark (i.e. u squark or c squark)

down type squark (i.e. d squark or s squark)

so get wino and zino couplings as LH squark

so get only Zino couplings as RH

◆ neutralinoamplitudedecaysquark3quarkmix()

double neutralinoamplitudedecaysquark3quarkmix ( double  m1,
double  m2,
double  m3,
double  mWboson,
double  theta,
double  beta,
DoubleMatrix mixNeut,
double  g,
double  gp,
double  runmq,
int  squark,
int  oneortwo,
int  neutralino 
)

m2 must be quark mass

we have stops

we have stop1s

this is just simpler (rearranged) form of atopr(1,i) from susyhit *g

this is just simpler (rearranged) form of btopr(1,i) from susyhit * g

we have stop2s

again simplified form of atopr(2,i) * g from susyhit

again simplified form of btopr(2,i) * g from susyhit

we have sbottoms

we have sbottom1s

just simplified form of abot(1,i) * g from susyhit

we have sbottom2s

simplified abot(2,i)*g from susyhit

simplified bbot(2,i)*g from susyhit

◆ neutralinoamplitudedecaystautau()

double neutralinoamplitudedecaystautau ( double  m1,
double  m2,
double  m3,
double  mWboson,
double  theta,
double  beta,
DoubleMatrix mixNeut,
double  g,
double  gp,
int  oneortwo,
int  neutralino 
)

m2 must be tau (i.e. lepton) mass

we are decaying into a stau1

we are decaying into a stau2

◆ neutralinoamplitudedecayZgravitino()

double neutralinoamplitudedecayZgravitino ( double  m1,
double  mZ,
double  mgrav,
double  MPlreduced,
DoubleMatrix mixNeut,
double  g,
double  gp,
double  beta,
int  neutralino,
int  gravonoff,
int  neutNLSP 
)

Function that calculates the decays to gravitino and Z boson of a neutralino if int gravonoff == 1, otherwise decays to gravitinos are off.

Comment this line, last line and line 3 below this out if always want decays to gravitinos output

◆ sleptonamplitudedecaychargino()

double sleptonamplitudedecaychargino ( double  m1,
double  m2,
double  m3,
double  g,
double  theta,
int  chargino 
)

for both sleptonL decays to charginos + neutrinos and for sneutrino decays to lepton + charginos - just change theta from thetaL in first case to thetaR in second case

note in the slepton decay to neutrinos case m2 is zero so lambda reduces to squareratio - giving squareratio squared

◆ sleptonamplitudedecayleptonneutralinoNMSSM()

double sleptonamplitudedecayleptonneutralinoNMSSM ( double  m1,
double  ml,
double  mneut,
double  g,
double  gp,
DoubleMatrix mixNeut,
char  uord,
char  LorR,
int  neut 
)

no sneutrinoR

◆ sneutrinoamplitudedecayneutrinoneutralino()

double sneutrinoamplitudedecayneutrinoneutralino ( double  m1,
double  m2,
double  m3,
double  g,
double  gp,
DoubleMatrix mixNeut,
int  neutralino 
)

note here as m2=0 then lambda and squareratio each reduce to (1-pow(m3/m1,2))

◆ snutauamplitudedecaynutauneutralinoNMSSM()

double snutauamplitudedecaynutauneutralinoNMSSM ( double  m1,
double  mneut,
double  g,
double  gp,
DoubleMatrix mixNeut,
int  neutralino 
)

c2 is c(2) from above formulae

◆ squark32amplitudedecayneutralHiggssquark3()

double squark32amplitudedecayneutralHiggssquark3 ( double  m1,
double  m2,
double  m3,
double  g,
double  gp,
double  mWboson,
double  beta,
double  alpha,
double  thetat,
double  thetab,
double  greekmu,
double  At,
double  Ab,
double  mt,
double  mb,
int  torb,
char  phi 
)

possible minus sign issue here, both terms are same sign in susyhit -> changed second sign to - ?? whereas Tata and Baer has a signs of two terms opposite - note as it's squared anyway only relative sign between the two terms matters

stop2 decay

sbottom2 decay

◆ squark3amplitudedecaychargedHiggssquark3()

double squark3amplitudedecaychargedHiggssquark3 ( double  m1,
double  m2,
double  m3,
double  g,
double  mWboson,
double  beta,
double  thetat,
double  thetab,
double  greekmu,
double  At,
double  Ab,
double  mt,
double  mb,
int  t1or2,
int  b1or2 
)

we have an initial stop1

we have a final state sbottom1

we have a final state sbottom2

we have an initial stop2

we have a final state sbottom1

we have a final state sbottom2

◆ squark3amplitudedecayneutralino()

double squark3amplitudedecayneutralino ( double  m1,
double  m2,
double  m3,
double  mWboson,
double  theta,
double  beta,
DoubleMatrix mixNeut,
double  g,
double  gp,
double  runmt,
int  squark,
int  oneortwo,
int  neutralino 
)

we have stops

we have stop1s

this is just simpler (rearranged) form of atopr(1,i) from susyhit *g

this is just simpler (rearranged) form of btopr(1,i) from susyhit * g

we have stop2s

again simplified form of atopr(2,i) * g from susyhit

again simplified form of btopr(2,i) * g from susyhit

we have sbottoms

we have sbottom1s

just simplified form of abot(1,i) * g from susyhit

we have sbottom2s

simplified abot(2,i)*g from susyhit

simplified bbot(2,i)*g from susyhit

◆ squark3amplitudedecaysquark3Wboson()

double squark3amplitudedecaysquark3Wboson ( double  m1,
double  m2,
double  m3,
double  g,
double  thetat,
double  thetab,
int  m1torb,
int  m1oneortwo,
int  m3torb,
int  m3oneortwo 
)

m1torb tells the function if the initial squark is a stop or sbottom, m1oneortwo tells it whether it's the lighter or heavier squark, similarly for the final state squark with m3torb and m3oneortwo

we have an initial stop

we have an initial stop1

we have an initial sbottom

we have an initial sbottom1

we have a final state stop

we have a final state stop2

we have a final state sbottom

we have a final state sbottom1

we have a final state sbottom2

◆ squarkamplitudedecaygravitino()

double squarkamplitudedecaygravitino ( double  m1,
double  mgrav,
double  mquark,
double  MPlreduced,
int  gravonoff,
int  squNLSP 
)

Function that calculates the decays to gravitinos of squark if int gravonoff == 1, otherwise decays to gravitinos are off.

Comment this line, last line and line 3 below this out if always want decays to gravitinos output

◆ squarkRamplitudedecayneutralino()

double squarkRamplitudedecayneutralino ( double  m1,
double  m2,
double  m3,
double  g,
double  gprime,
DoubleMatrix mixNeut,
int  neutralino,
int  uord 
)

neutralino takes values of 1, 2, 3, or 4 and denotes which neutralino mass eigenstate we decay into, uord takes value 1 for up quarks (or charm quarks) and -1 for down quarks (or strange quarks) in order to change the sign and magnitude of the coefficient BqZ accordingly

Following changes in AqZ suggested by SUSYHIT

need to check this formula, unsure about BqZ and also if it should be mod squared or just the squared I have done here!

◆ stau2amplitudedecaystau1phi()

double stau2amplitudedecaystau1phi ( double  m1,
double  m2,
double  m3,
double  g,
double  gp,
double  thetatau,
double  beta,
double  alpha,
double  mWboson,
double  mtau,
double  greekmu,
double  Atau,
char  phi 
)

is just -1 + 3*pow(tanthetaW,2)

◆ stauamplitudedecaynutauchargino()

double stauamplitudedecaynutauchargino ( double  m1,
double  m2,
double  m3,
double  g,
double  mWboson,
double  theta,
double  thetaL,
double  beta,
double  mtau,
int  oneortwo,
int  chargino 
)

again lambda and squareratio reduce to same thing as m2 = 0

◆ stauamplitudedecaytauneutralino()

double stauamplitudedecaytauneutralino ( double  m1,
double  m2,
double  m3,
double  g,
double  gp,
double  mWboson,
DoubleMatrix mixNeut,
double  theta,
double  beta,
int  oneortwo,
int  neutralino 
)

we have a stau1 decaying

we have a stau2 decaying

◆ stausneutrinoamplitudedecaytauchargino()

double stausneutrinoamplitudedecaytauchargino ( double  m1,
double  m2,
double  m3,
double  g,
double  mWboson,
double  beta,
double  thetaL,
double  thetaR,
int  chargino 
)

as m2 is mtau which is what we need to calculate ftau

◆ stausneutrinoamplitudedecaytauneutrinoneutralino()

double stausneutrinoamplitudedecaytauneutrinoneutralino ( double  m1,
double  m2,
double  m3,
double  g,
double  gp,
DoubleMatrix mixNeut,
int  neutralino 
)

note lambda and squareratio reduce to same thing here as m2 = 0