a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
SUSYMatching Class Reference

A class for the matching in the MSSM. More...

#include <SUSYMatching.h>

+ Inheritance diagram for SUSYMatching:

Detailed Description

A class for the matching in the MSSM.

Author
HEPfit Collaboration


Definition at line 32 of file SUSYMatching.h.

Public Member Functions

virtual gslpp::vector< gslpp::complex > AFunctions (int n)
 Calculates gamma penguin amplitudes for the process \( \ell_j \to \ell_i \gamma \) from [Hisano:1995cp] [Arganda:2005ji]. More...
 
virtual gslpp::vector< gslpp::complex > BFunctions (int n)
 Calculates box diagram amplitudes for the process \( \ell_j \to \ell_i \ell_i \ell_i \) from from [Hisano:1995cp] [Arganda:2005ji]. More...
 
virtual gslpp::vector< gslpp::complex > BHFunctions (int n)
 Calculates Higgs penguin amplitudes for the process \( \ell_j \to \ell_i \ell_i \ell_i \) from [Arganda:2005ji]. More...
 
virtual gslpp::vector< gslpp::complex > C10_Lepton (int n)
 Calculates \( C_{10} \) and \( C^{\prime}_{10} \) Wilson coefficients for the process \( \ell_j \to \ell_i \ell_i \ell_i \). More...
 
virtual gslpp::vector< gslpp::complex > C7_Lepton (int n)
 Calculates \( C_{7} \) and \( C^{\prime}_{7} \) Wilson coefficients for the process \( \ell_j \to \ell_i \gamma \). More...
 
virtual gslpp::vector< gslpp::complex > C9_Lepton (int n)
 Calculates \( C_{9} \) and \( C^{\prime}_{9} \) Wilson coefficients for the process \( \ell_j \to \ell_i \ell_i \ell_i \). More...
 
virtual std::vector< WilsonCoefficient > & CMBMll (QCD::lepton lepton)
 operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic More...
 
virtual std::vector< WilsonCoefficient > & CMbsg ()
 operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic More...
 
virtual std::vector< WilsonCoefficient > & CMdbd2 ()
 \( \Delta B = 2 \), \( B_{d} \) More...
 
virtual std::vector< WilsonCoefficient > & CMdbs2 ()
 \( \Delta B = 2 \), \( B_{s} \) More...
 
virtual std::vector< WilsonCoefficient > & CMdd2 ()
 
virtual std::vector< WilsonCoefficient > & CMdk2 ()
 \( \Delta S = 2 \) More...
 
virtual std::vector< WilsonCoefficient > & CMDLi3j (int li_lj)
 Wilson coefficient for the process \( \ell_j \to \ell_i \ell_i \ell_i \). More...
 
virtual std::vector< WilsonCoefficient > & CMDLij (int li_lj)
 Wilson coefficient for the process \( \ell_j \to \ell_i \gamma \). More...
 
virtual std::vector< WilsonCoefficient > & CMgminus2mu ()
 Wilson coefficient for \( (g-2)_{\mu} \) at one-loop. More...
 
virtual std::vector< WilsonCoefficient > & CMmueconv ()
 Wilson coefficient for the process \( \mu \to e \) conversion in Nuclei. More...
 
void Comp_DeltaDL ()
 
void Comp_DeltaMd ()
 
void Comp_Eps_J ()
 
void Comp_Lambda0EpsY ()
 
void Comp_mySUSY_CKM ()
 
void Comp_mySUSYMQ ()
 
void Comp_PHLR ()
 
void Comp_PHRL ()
 
void Comp_VdDNL (int flag)
 
void Comp_VdDNR (int flag)
 
void Comp_VdUCL ()
 
void Comp_VdUCR (int flag)
 
void Comp_VuDCL ()
 
void Comp_VuDCR ()
 
void Comp_VUDHH ()
 
void Comp_VuUN ()
 
virtual gslpp::vector< gslpp::complex > CP_Lepton (int n)
 Calculates \( C_{P} \) and \( C^{\prime}_{P} \) Wilson coefficients for the process \( \ell_j \to \ell_i \ell_i \ell_i \). More...
 
virtual gslpp::vector< gslpp::complex > CS_Lepton (int n)
 Calculates \( C_{S} \) and \( C^{\prime}_{S} \) Wilson coefficients for the process \( \ell_j \to \ell_i \ell_i \ell_i \). More...
 
virtual gslpp::vector< gslpp::complex > CT_Lepton (int n)
 Calculates \( C_{T} \) and \( C_{T5} \) Wilson coefficients for the process \( \ell_j \to \ell_i \ell_i \ell_i \). More...
 
virtual gslpp::vector< gslpp::complex > DFunctions ()
 Calculates box diagram amplitudes for the process \( \mu \to e \) conversion in Nuclei from from [Hisano:1995cp]. More...
 
virtual gslpp::vector< gslpp::complex > FFunctions (int n)
 Calculates Z penguin amplitudes for the process \( \ell_j \to \ell_i \ell_i \ell_i \) from [Hisano:1995cp] [Arganda:2005ji]. More...
 
virtual gslpp::vector< gslpp::complex > gminus2mu ()
 Calculates amplitudes for \( (g-2)_{\mu} \) at one-loop from [Hisano:1995cp]. More...
 
virtual double gminus2muNLO ()
 Calculates amplitudes for \( (g-2)_{\mu} \) at two-loop. More...
 
 SUSYMatching (const SUSY &SUSY_i)
 
void updateSUSYParameters ()
 Updates to new SUSY parameter sets. More...
 
- Public Member Functions inherited from StandardModelMatching
 StandardModelMatching (const StandardModel &SM_i)
 
void updateSMParameters ()
 Updates to new Standard Model parameter sets. More...
 
virtual ~StandardModelMatching ()
 
- Public Member Functions inherited from ModelMatching
virtual std::vector< WilsonCoefficient > & CMbnlep (int a)=0
 
virtual std::vector< WilsonCoefficient > & CMbnlepCC (const int a)=0
 
virtual std::vector< WilsonCoefficient > & CMBXsnn (QCD::lepton lepton)=0
 
virtual std::vector< WilsonCoefficient > & CMd1 ()=0
 
virtual std::vector< WilsonCoefficient > & CMd1Buras ()=0
 
virtual std::vector< WilsonCoefficientNew > & CMDF1 (std::string blocks, unsigned int nops)=0
 
virtual std::vector< WilsonCoefficient > & CMprimeBMll (QCD::lepton lepton)=0
 
virtual std::vector< WilsonCoefficient > & CMprimebsg ()=0
 
virtual ~ModelMatching ()
 

Private Member Functions

double Bk (double x, double y, int k)
 
double BL (double a, int k)
 
double bsll_C0 (double m1, double m2, double m3)
 
double bsll_C2 (double m1, double m2, double m3, double mu2)
 
double bsll_D0reg (double m1, double m2, double m3, double m4)
 
double bsll_D2reg (double m1, double m2, double m3, double m4)
 
gslpp::complex bsll_DeltaC10_SUSY (int lep_pair)
 
gslpp::complex bsll_DeltaC7_SUSY ()
 
gslpp::complex bsll_DeltaC9_SUSY (int lep_pair)
 
double bsll_f1 (double x)
 
double bsll_f2 (double x)
 
double bsll_f3 (double x)
 
double bsll_f4 (double x)
 
double bsll_f5 (double x)
 
double bsll_f6 (double x)
 
double bsll_f7 (double x)
 
double bsll_f8 (double x)
 
gslpp::complex bsll_Y_SUSY (int lep_pair)
 
gslpp::complex bsll_Z_SUSY (int lep_pair)
 
gslpp::vector< gslpp::complex > CalcC7 (int b, int q)
 
gslpp::vector< gslpp::complex > CdF2dChi0Chi0 (int b, int q, int Dmixingflag)
 
gslpp::vector< gslpp::complex > CdF2dChi0g (int b, int q, int Dmixingflag)
 
gslpp::vector< gslpp::complex > CdF2dChiChi (int b, int q, int Dmixingflag)
 
gslpp::vector< gslpp::complex > CdF2dgg (int b, int q, int Dmixingflag)
 
gslpp::vector< gslpp::complex > CdF2dHp (int b, int q, int Dmixingflag)
 
double Ck (double x, double y, double z, int k)
 
double CL (double a, double b, int k)
 
double CLL (double a, int k)
 
double D0N (double x, double y, double z, double t)
 
double D2LL0 (double a, double b)
 
int delta_ab (int a, int b)
 Kronecker delta. More...
 
gslpp::complex DeltaDL (int J, int I)
 
gslpp::complex DeltaDR (int J, int I)
 
gslpp::complex DeltaFHL (int j, int i)
 
gslpp::complex DeltaMd (int J, int I)
 
double Dk (double x, double y, double z, double t, int k)
 
double DL (double a, double b, double c, int k)
 
double DL0 (double a, double b, double c, int k)
 
double DLL (double a, double b, int k)
 
double DLLL (double a, int k)
 
double DLLp (double a, double b, int k)
 
gslpp::complex Eps_J (int J)
 
gslpp::complex EpsPrime (int J, int I)
 
double F3C (double x)
 
double F3N (double x)
 
double F4C (double x)
 
double F4N (double x)
 
double F7k (double x, int k)
 
double Fa (double x, double y)
 
double Fb (double x, double y)
 
double fft (double x)
 
double fPS (double x)
 
double fS (double x)
 
double It (double a, double b, double c)
 
gslpp::complex Lambda0EpsY (int J, int I)
 
double Li2 (double x)
 
gslpp::matrix< gslpp::complex > mySUSY_CKM ()
 
void NeutralinoRemixing ()
 
gslpp::complex PGLR (int j, int i)
 
gslpp::complex PGRL (int j, int i)
 
gslpp::complex PHLR (int j, int i)
 
gslpp::complex PHRL (int j, int i)
 
gslpp::complex PLRk (int j, int i, int k)
 
gslpp::complex PLRk (int j, int i, int k, int Dmixingflag)
 
gslpp::complex PRLk (int j, int i, int k)
 
gslpp::complex PRLk (int j, int i, int k, int Dmixingflag)
 
gslpp::complex VdDNL (int b, int k, int j, int flag)
 
gslpp::complex VdDNL (int b, int k, int j, int flag, int Dmixingflag)
 
gslpp::complex VdDNR (int b, int k, int j, int flag)
 
gslpp::complex VdDNR (int b, int k, int j, int flag, int Dmixingflag)
 
gslpp::complex VdUCL (int b, int k, int j)
 
gslpp::complex VdUCL (int b, int k, int j, int Dmixingflag)
 
gslpp::complex VdUCR (int b, int k, int j, int flag)
 
gslpp::complex VdUCR (int b, int k, int j, int flag, int Dmixingflag)
 
gslpp::complex VuDCL (int b, int k, int j)
 
gslpp::complex VuDCR (int b, int k, int j)
 
gslpp::complex VUDHH (int i, int j)
 
gslpp::complex VuUN (int b, int k, int j, const std::string)
 
gslpp::complex xdS (int S)
 
gslpp::complex XLRS (int J, int I, int S)
 
gslpp::complex XRLS (int J, int I, int S)
 
gslpp::complex xuS (int S)
 

Private Attributes

double Als
 
gslpp::matrix< gslpp::complex > AmpA1LC
 
gslpp::matrix< gslpp::complex > AmpA1LN
 Amplitudes of Chargino and Neutralino contribution to various LFV observables. More...
 
gslpp::matrix< gslpp::complex > AmpA1RC
 
gslpp::matrix< gslpp::complex > AmpA1RN
 
gslpp::matrix< gslpp::complex > AmpALC
 
gslpp::matrix< gslpp::complex > AmpALN
 
gslpp::matrix< gslpp::complex > AmpARC
 
gslpp::matrix< gslpp::complex > AmpARN
 
gslpp::matrix< gslpp::complex > AmpTauA1LC
 
gslpp::matrix< gslpp::complex > AmpTauA1LN
 
gslpp::matrix< gslpp::complex > AmpTauA1RC
 
gslpp::matrix< gslpp::complex > AmpTauA1RN
 
gslpp::matrix< gslpp::complex > AmpTauALC
 
gslpp::matrix< gslpp::complex > AmpTauALN
 
gslpp::matrix< gslpp::complex > AmpTauARC
 
gslpp::matrix< gslpp::complex > AmpTauARN
 
gslpp::matrix< gslpp::complex > AmpTEA1LC
 
gslpp::matrix< gslpp::complex > AmpTEA1LN
 
gslpp::matrix< gslpp::complex > AmpTEA1RC
 
gslpp::matrix< gslpp::complex > AmpTEA1RN
 
gslpp::matrix< gslpp::complex > AmpTEALC
 
gslpp::matrix< gslpp::complex > AmpTEALN
 
gslpp::matrix< gslpp::complex > AmpTEARC
 
gslpp::matrix< gslpp::complex > AmpTEARN
 
gslpp::matrix< gslpp::complex > CLlE
 
gslpp::matrix< gslpp::complex > CLlMU
 
gslpp::matrix< gslpp::complex > CLlTAU
 
gslpp::matrix< gslpp::complex > CLqDOWN
 
gslpp::matrix< gslpp::complex > CLqUP
 
double cosb
 
gslpp::matrix< gslpp::complex > CRlE
 Chargino and Neutralino couplings to sfermions. More...
 
gslpp::matrix< gslpp::complex > CRlMU
 
gslpp::matrix< gslpp::complex > CRlTAU
 
gslpp::matrix< gslpp::complex > CRqDOWN
 
gslpp::matrix< gslpp::complex > CRqUP
 
gslpp::matrix< gslpp::complex > DeltaDL_Cache
 
gslpp::matrix< gslpp::complex > DeltaMd_cache
 
gslpp::matrix< gslpp::complex > downQmassM
 
gslpp::vector< gslpp::complex > Eps_JCache
 
gslpp::matrix< gslpp::complex > gamDLMD
 
gslpp::matrix< gslpp::complex > gamDRgamDRdag
 
gslpp::matrix< gslpp::complex > gamDRMD
 
gslpp::matrix< gslpp::complex > gamULCKM
 
gslpp::matrix< gslpp::complex > gamULCKMMD
 
gslpp::matrix< gslpp::complex > gamULgamULdag
 
gslpp::matrix< gslpp::complex > gamURCKM
 
gslpp::matrix< gslpp::complex > gamURCKMMU
 
double gW
 
gslpp::matrix< gslpp::complex > Lambda0EpsYCache
 
gslpp::matrix< double > Leptf1
 
gslpp::matrix< double > Leptf2
 
gslpp::matrix< double > Leptf3
 
gslpp::matrix< double > Leptf4
 
gslpp::matrix< double > Leptfa1
 
gslpp::matrix< double > Leptfa2
 
std::complex< double > Leptfzc [3][2][2]
 
std::complex< double > Leptfzn [6][4][4]
 
std::complex< double > Leptgzc [3][2][2]
 
std::complex< double > Leptgzn [6][4][4]
 
gslpp::matrix< double > Lepty
 Functions needed to calculate various LFV observables. More...
 
gslpp::matrix< double > Leptz
 
WilsonCoefficient mcBMll
 
WilsonCoefficient mcbnlep
 
WilsonCoefficient mcbnlepCC
 
WilsonCoefficient mcbsg
 
WilsonCoefficient mcd1
 
WilsonCoefficient mcd1Buras
 
WilsonCoefficient mcdbd2
 
WilsonCoefficient mcdbd2Chi0Chi0
 
WilsonCoefficient mcdbd2Chi0Chi0T
 
WilsonCoefficient mcdbd2Chi0g
 
WilsonCoefficient mcdbd2Chi0gT
 
WilsonCoefficient mcdbd2ChiChi
 
WilsonCoefficient mcdbd2ChiChiT
 
WilsonCoefficient mcdbd2gg
 
WilsonCoefficient mcdbd2ggT
 
WilsonCoefficient mcdbd2Hp
 
WilsonCoefficient mcdbd2HpT
 
WilsonCoefficient mcdbs2
 
WilsonCoefficient mcdbs2Chi0Chi0
 
WilsonCoefficient mcdbs2Chi0Chi0T
 
WilsonCoefficient mcdbs2Chi0g
 
WilsonCoefficient mcdbs2Chi0gT
 
WilsonCoefficient mcdbs2ChiChi
 
WilsonCoefficient mcdbs2ChiChiT
 
WilsonCoefficient mcdbs2gg
 
WilsonCoefficient mcdbs2ggT
 
WilsonCoefficient mcdbs2Hp
 
WilsonCoefficient mcdbs2HpT
 
WilsonCoefficient mcdd2
 
WilsonCoefficient mcdd2Chi0Chi0
 
WilsonCoefficient mcdd2Chi0Chi0T
 
WilsonCoefficient mcdd2Chi0g
 
WilsonCoefficient mcdd2Chi0gT
 
WilsonCoefficient mcdd2ChiChi
 
WilsonCoefficient mcdd2ChiChiT
 
WilsonCoefficient mcdd2gg
 
WilsonCoefficient mcdd2ggT
 
WilsonCoefficient mcdd2Hp
 
WilsonCoefficient mcdd2HpT
 
WilsonCoefficient mcdk2
 
WilsonCoefficient mcdk2Chi0Chi0
 
WilsonCoefficient mcdk2Chi0Chi0T
 
WilsonCoefficient mcdk2Chi0g
 
WilsonCoefficient mcdk2Chi0gT
 
WilsonCoefficient mcdk2ChiChi
 
WilsonCoefficient mcdk2ChiChiT
 
WilsonCoefficient mcdk2gg
 
WilsonCoefficient mcdk2ggT
 
WilsonCoefficient mcdk2Hp
 
WilsonCoefficient mcdk2HpT
 
WilsonCoefficient mcDLi3j
 
WilsonCoefficient mcDLij
 
WilsonCoefficient mcgminus2mu
 
gslpp::vector< double > MChi
 Chargino mass-eigenvalue. More...
 
gslpp::vector< double > MChi0
 Neutralino mass-eigenvalue. More...
 
WilsonCoefficient mcmueconv
 
double Mg
 
double MHpm
 
gslpp::vector< double > MNeig
 
double mu2R
 
double mW
 
gslpp::matrix< gslpp::complex > myCKM
 
gslpp::matrix< gslpp::complex > myCKM_cache
 
gslpp::vector< double > mym_sd_sq
 
gslpp::vector< double > mym_se_sq
 
gslpp::vector< double > mym_sn_sq
 
gslpp::vector< double > mym_su_sq
 Sfermion mass-eigenvalue squared. More...
 
gslpp::matrix< gslpp::complex > myN
 Neutralino mixing matrix. More...
 
gslpp::matrix< gslpp::complex > myRd
 
gslpp::matrix< gslpp::complex > myRl
 
gslpp::matrix< gslpp::complex > myRn
 
gslpp::matrix< gslpp::complex > myRu
 Sfermion mixing matrices. More...
 
const SUSYmySUSY
 
gslpp::vector< double > mySUSYMQ
 
gslpp::matrix< gslpp::complex > myU
 
gslpp::matrix< gslpp::complex > myV
 Chargino mixing matrices. More...
 
gslpp::matrix< gslpp::complex > NLlE
 
gslpp::matrix< gslpp::complex > NLlMU
 
gslpp::matrix< gslpp::complex > NLlTAU
 
gslpp::matrix< gslpp::complex > NLqDOWN
 
gslpp::matrix< gslpp::complex > NLqUP
 
gslpp::matrix< gslpp::complex > NRlE
 
gslpp::matrix< gslpp::complex > NRlMU
 
gslpp::matrix< gslpp::complex > NRlTAU
 
gslpp::matrix< gslpp::complex > NRqDOWN
 
gslpp::matrix< gslpp::complex > NRqUP
 
gslpp::matrix< gslpp::complex > ON
 
gslpp::matrix< gslpp::complex > PHLRCache
 
gslpp::matrix< gslpp::complex > PHRLCache
 
const Polylogarithms Polylogs
 
const PVfunctions PV
 
double Q_S
 
double sinb
 
double sinthetaW
 
double tanb
 
gslpp::matrix< gslpp::complex > TDhat
 Sdown tri-linear coupling matrix. More...
 
gslpp::matrix< gslpp::complex > TEhat
 Slepton tri-linear coupling matrix. More...
 
gslpp::matrix< gslpp::complex > TUhat
 Sup tri-linear coupling matrix. More...
 
gslpp::matrix< gslpp::complex > upQmassM
 
double v
 
double v1
 
double v2
 
gslpp::complex VdDNL_cache [3][6][4][2]
 
gslpp::complex VdDNR_cache [3][6][4][2]
 
gslpp::complex VdUCL_cache [3][6][2]
 
gslpp::complex VdUCR_cache [3][6][2][2]
 
std::vector< WilsonCoefficientvmcbsg
 
std::vector< WilsonCoefficientvmdbd2
 
std::vector< WilsonCoefficientvmdbs2
 
std::vector< WilsonCoefficientvmdd2
 
std::vector< WilsonCoefficientvmdk2
 
gslpp::complex VuDCL_cache [3][6][2]
 
gslpp::complex VuDCR_cache [3][6][2]
 
gslpp::matrix< gslpp::complex > VUDHH_cache
 
gslpp::complex VuUNL_cache [3][6][4]
 
gslpp::complex VuUNR_cache [3][6][4]
 
gslpp::complex XUL [6][3][2]
 
gslpp::complex XUR [6][3][2]
 
gslpp::complex ZDL [6][3][4]
 
gslpp::complex ZDR [6][3][4]
 

Constructor & Destructor Documentation

◆ SUSYMatching()

SUSYMatching::SUSYMatching ( const SUSY SUSY_i)

Definition at line 14 of file SUSYMatching.cpp.

14 :
15
17 mySUSY(SUSY_i),
18 Polylogs(),
19 PV(true),
20
21 mcdbd2(5, NDR, NLO),
22 mcdbd2Hp(5, NDR, NLO),
23 mcdbd2gg(5, NDR, NLO),
24 mcdbd2ChiChi(5, NDR, NLO),
26 mcdbd2Chi0g(5, NDR, NLO),
27 mcdbd2HpT(5, NDR, NLO),
28 mcdbd2ggT(5, NDR, NLO),
31 mcdbd2Chi0gT(5, NDR, NLO),
32 mcdbs2(5, NDR, NLO),
33 mcdbs2Hp(5, NDR, NLO),
34 mcdbs2gg(5, NDR, NLO),
35 mcdbs2ChiChi(5, NDR, NLO),
37 mcdbs2Chi0g(5, NDR, NLO),
38 mcdbs2HpT(5, NDR, NLO),
39 mcdbs2ggT(5, NDR, NLO),
42 mcdbs2Chi0gT(5, NDR, NLO),
43 mcdk2(5, NDR, NLO),
44 mcdk2Hp(5, NDR, NLO),
45 mcdk2gg(5, NDR, NLO),
46 mcdk2ChiChi(5, NDR, NLO),
48 mcdk2Chi0g(5, NDR, NLO),
49 mcdk2HpT(5, NDR, NLO),
50 mcdk2ggT(5, NDR, NLO),
51 mcdk2ChiChiT(5, NDR, NLO),
53 mcdk2Chi0gT(5, NDR, NLO),
54 mcdd2(5, NDR, NLO),
55 mcdd2Hp(5, NDR, NLO),
56 mcdd2gg(5, NDR, NLO),
57 mcdd2ChiChi(5, NDR, NLO),
59 mcdd2Chi0g(5, NDR, NLO),
60 mcdd2HpT(5, NDR, NLO),
61 mcdd2ggT(5, NDR, NLO),
62 mcdd2ChiChiT(5, NDR, NLO),
64 mcdd2Chi0gT(5, NDR, NLO),
65 mcDLij(2, NDR, LO),
66 mcDLi3j(20, NDR, LO),
67 mcmueconv(8, NDR, LO),
68 mcgminus2mu(2, NDR, LO),
69 mcbsg(8, NDR, NNLO),
70 mcBMll(13, NDR, NLO),
71 mcbnlep(10, NDR, NLO, NLO_QED11),
72 mcbnlepCC(10, NDR, NLO),
73 mcd1(10, NDR, NLO),
74 mcd1Buras(10, NDR, NLO),
75
76 myCKM(3, 3, 0.),
77 mym_su_sq(6, 0.),
78 mym_sd_sq(6, 0.),
79 mym_se_sq(6, 0.),
80 mym_sn_sq(6, 0.),
81 myRu(6, 6, 0.),
82 myRd(6, 6, 0.),
83 myRl(6, 6, 0.),
84 myRn(6, 6, 0.),
85 MChi(2, 0.),
86 myV(2, 2, 0.),
87 myU(2, 2, 0.),
88 MChi0(4, 0.),
89 MNeig(4, 0.),
90 myN(4, 4, 0.),
91 ON(4, 4, 0.),
92
93 Lepty(4, 6, 0.),
94 Leptz(2, 3, 0.),
95 Leptfa1(4, 6, 0.),
96 Leptfa2(2, 3, 0.),
97 Leptf1(4, 6, 0.),
98 Leptf2(4, 6, 0.),
99 Leptf3(2, 3, 0.),
100 Leptf4(2, 3, 0.),
101 CRlE(2, 3, 0.),
102 CRlMU(2, 3, 0.),
103 CRlTAU(2, 3, 0.),
104 CRqUP(2, 6, 0.),
105 CRqDOWN(2, 6, 0.),
106 CLlE(2, 3, 0.),
107 CLlMU(2, 3, 0.),
108 CLlTAU(2, 3, 0.),
109 CLqUP(2, 6, 0.),
110 CLqDOWN(2, 6, 0.),
111 NRlE(4, 6, 0.),
112 NRlMU(4, 6, 0.),
113 NRlTAU(4, 6, 0.),
114 NRqUP(4, 6, 0.),
115 NRqDOWN(4, 6, 0.),
116 NLlE(4, 6, 0.),
117 NLlMU(4, 6, 0.),
118 NLlTAU(4, 6, 0.),
119 NLqUP(4, 6, 0.),
120 NLqDOWN(4, 6, 0.),
121 AmpA1LN(4, 6, 0.),
122 AmpA1RN(4, 6, 0.),
123 AmpA1LC(2, 3, 0.),
124 AmpA1RC(2, 3, 0.),
125 AmpTauA1LN(4, 6, 0.),
126 AmpTauA1RN(4, 6, 0.),
127 AmpTauA1LC(2, 3, 0.),
128 AmpTauA1RC(2, 3, 0.),
129 AmpTEA1LN(4, 6, 0.),
130 AmpTEA1RN(4, 6, 0.),
131 AmpTEA1LC(2, 3, 0.),
132 AmpTEA1RC(2, 3, 0.),
133 AmpALN(4, 6, 0.),
134 AmpARN(4, 6, 0.),
135 AmpALC(2, 3, 0.),
136 AmpARC(2, 3, 0.),
137 AmpTauALN(4, 6, 0.),
138 AmpTauARN(4, 6, 0.),
139 AmpTauALC(2, 3, 0.),
140 AmpTauARC(2, 3, 0.),
141 AmpTEALN(4, 6, 0.),
142 AmpTEARN(4, 6, 0.),
143 AmpTEALC(2, 3, 0.),
144 AmpTEARC(2, 3, 0.),
145 TUhat(3, 3, 0.),
146 TDhat(3, 3, 0.),
147 TEhat(3, 3, 0.),
148
149 gamULCKM(6, 3, 0.),
150 gamURCKM(6, 3, 0.),
151 gamULCKMMD(6, 3, 0.),
152 gamURCKMMU(6, 3, 0.),
153 gamDLMD(6, 3, 0.),
154 gamDRMD(6, 3, 0.),
155 gamULgamULdag(6, 6, 0.),
156 gamDRgamDRdag(6, 6, 0.),
157 upQmassM(3,3,0.),
158 downQmassM(3,3,0.),
159
160 Eps_JCache(3,0.),
161 Lambda0EpsYCache(3,3,0.),
162 DeltaDL_Cache(3,3,0.),
163 PHLRCache(3,3,0.),
164 PHRLCache(3,3,0.),
165 myCKM_cache(3, 3, 0.),
166 VUDHH_cache(6, 6, 0.),
167 DeltaMd_cache(3, 3, 0.),
168 mySUSYMQ(6, 0.)
169
170{
171}
@ NNLO
Definition: OrderScheme.h:36
@ LO
Definition: OrderScheme.h:34
@ NLO
Definition: OrderScheme.h:35
@ NDR
Definition: OrderScheme.h:21
@ NLO_QED11
Definition: OrderScheme.h:59
const PVfunctions PV
Definition: SUSYMatching.h:311
gslpp::matrix< gslpp::complex > myCKM
Definition: SUSYMatching.h:333
gslpp::matrix< gslpp::complex > AmpA1LC
Definition: SUSYMatching.h:423
gslpp::matrix< gslpp::complex > NLlE
Definition: SUSYMatching.h:398
WilsonCoefficient mcdd2Chi0g
Definition: SUSYMatching.h:319
gslpp::matrix< double > Leptf3
Definition: SUSYMatching.h:380
gslpp::matrix< gslpp::complex > gamULCKMMD
Definition: SUSYMatching.h:511
WilsonCoefficient mcdbs2Chi0g
Definition: SUSYMatching.h:315
gslpp::matrix< gslpp::complex > NLqUP
Definition: SUSYMatching.h:398
gslpp::matrix< gslpp::complex > AmpTEA1LC
Definition: SUSYMatching.h:423
WilsonCoefficient mcDLij
Definition: SUSYMatching.h:321
gslpp::matrix< gslpp::complex > AmpTauA1RC
Definition: SUSYMatching.h:423
gslpp::matrix< gslpp::complex > AmpA1RC
Definition: SUSYMatching.h:423
gslpp::vector< double > MChi0
Neutralino mass-eigenvalue.
Definition: SUSYMatching.h:368
const Polylogarithms Polylogs
Definition: SUSYMatching.h:310
WilsonCoefficient mcbnlep
Definition: SUSYMatching.h:323
WilsonCoefficient mcdk2Chi0Chi0
Definition: SUSYMatching.h:317
gslpp::matrix< gslpp::complex > AmpTauALN
Definition: SUSYMatching.h:423
WilsonCoefficient mcdd2
Definition: SUSYMatching.h:319
gslpp::matrix< gslpp::complex > AmpA1RN
Definition: SUSYMatching.h:423
WilsonCoefficient mcdbd2
Definition: SUSYMatching.h:313
gslpp::matrix< gslpp::complex > CLqUP
Definition: SUSYMatching.h:398
WilsonCoefficient mcdbd2gg
Definition: SUSYMatching.h:313
WilsonCoefficient mcdk2Hp
Definition: SUSYMatching.h:317
gslpp::matrix< gslpp::complex > AmpALC
Definition: SUSYMatching.h:423
WilsonCoefficient mcdd2ChiChiT
Definition: SUSYMatching.h:320
WilsonCoefficient mcdd2gg
Definition: SUSYMatching.h:319
gslpp::matrix< double > Leptf1
Definition: SUSYMatching.h:380
gslpp::matrix< gslpp::complex > NRqUP
Definition: SUSYMatching.h:398
WilsonCoefficient mcdbd2Hp
Definition: SUSYMatching.h:313
gslpp::matrix< gslpp::complex > AmpTEALN
Definition: SUSYMatching.h:423
WilsonCoefficient mcdk2ChiChiT
Definition: SUSYMatching.h:318
gslpp::matrix< gslpp::complex > gamULCKM
Definition: SUSYMatching.h:511
gslpp::matrix< gslpp::complex > myRl
Definition: SUSYMatching.h:353
gslpp::matrix< gslpp::complex > CRqUP
Definition: SUSYMatching.h:398
gslpp::vector< double > mym_su_sq
Sfermion mass-eigenvalue squared.
Definition: SUSYMatching.h:348
WilsonCoefficient mcdd2Chi0gT
Definition: SUSYMatching.h:320
WilsonCoefficient mcmueconv
Definition: SUSYMatching.h:321
gslpp::matrix< gslpp::complex > myRn
Definition: SUSYMatching.h:353
gslpp::matrix< gslpp::complex > TDhat
Sdown tri-linear coupling matrix.
Definition: SUSYMatching.h:457
gslpp::matrix< double > Lepty
Functions needed to calculate various LFV observables.
Definition: SUSYMatching.h:380
gslpp::matrix< gslpp::complex > downQmassM
Definition: SUSYMatching.h:513
gslpp::matrix< gslpp::complex > AmpTEARN
Definition: SUSYMatching.h:423
WilsonCoefficient mcdk2ggT
Definition: SUSYMatching.h:318
gslpp::matrix< gslpp::complex > CLlTAU
Definition: SUSYMatching.h:398
WilsonCoefficient mcbsg
Definition: SUSYMatching.h:323
gslpp::matrix< gslpp::complex > TEhat
Slepton tri-linear coupling matrix.
Definition: SUSYMatching.h:462
gslpp::matrix< gslpp::complex > NRlMU
Definition: SUSYMatching.h:398
WilsonCoefficient mcd1
Definition: SUSYMatching.h:323
gslpp::matrix< gslpp::complex > myRd
Definition: SUSYMatching.h:353
gslpp::matrix< gslpp::complex > gamDLMD
Definition: SUSYMatching.h:511
gslpp::matrix< gslpp::complex > AmpTEA1LN
Definition: SUSYMatching.h:423
WilsonCoefficient mcd1Buras
Definition: SUSYMatching.h:323
gslpp::matrix< gslpp::complex > myN
Neutralino mixing matrix.
Definition: SUSYMatching.h:372
gslpp::matrix< double > Leptfa1
Definition: SUSYMatching.h:380
WilsonCoefficient mcbnlepCC
Definition: SUSYMatching.h:323
gslpp::vector< double > MChi
Chargino mass-eigenvalue.
Definition: SUSYMatching.h:358
WilsonCoefficient mcdbs2Hp
Definition: SUSYMatching.h:315
WilsonCoefficient mcdd2Chi0Chi0
Definition: SUSYMatching.h:319
gslpp::matrix< gslpp::complex > TUhat
Sup tri-linear coupling matrix.
Definition: SUSYMatching.h:452
WilsonCoefficient mcdbs2ggT
Definition: SUSYMatching.h:316
gslpp::matrix< gslpp::complex > AmpTauARN
Definition: SUSYMatching.h:423
gslpp::matrix< gslpp::complex > AmpARC
Definition: SUSYMatching.h:423
gslpp::vector< double > mym_se_sq
Definition: SUSYMatching.h:348
gslpp::matrix< gslpp::complex > myCKM_cache
Definition: SUSYMatching.h:663
WilsonCoefficient mcdk2Chi0Chi0T
Definition: SUSYMatching.h:318
WilsonCoefficient mcdbs2Chi0gT
Definition: SUSYMatching.h:316
gslpp::matrix< gslpp::complex > AmpTauA1LC
Definition: SUSYMatching.h:423
gslpp::matrix< gslpp::complex > PHRLCache
Definition: SUSYMatching.h:642
WilsonCoefficient mcdbs2gg
Definition: SUSYMatching.h:315
gslpp::matrix< gslpp::complex > VUDHH_cache
Definition: SUSYMatching.h:664
gslpp::matrix< gslpp::complex > NLlTAU
Definition: SUSYMatching.h:398
WilsonCoefficient mcdbs2Chi0Chi0T
Definition: SUSYMatching.h:316
gslpp::matrix< gslpp::complex > AmpA1LN
Amplitudes of Chargino and Neutralino contribution to various LFV observables.
Definition: SUSYMatching.h:423
gslpp::matrix< gslpp::complex > ON
Definition: SUSYMatching.h:372
gslpp::vector< double > mySUSYMQ
Definition: SUSYMatching.h:666
WilsonCoefficient mcdbs2Chi0Chi0
Definition: SUSYMatching.h:315
gslpp::matrix< gslpp::complex > AmpTauARC
Definition: SUSYMatching.h:423
gslpp::vector< gslpp::complex > Eps_JCache
Definition: SUSYMatching.h:615
gslpp::matrix< gslpp::complex > upQmassM
Definition: SUSYMatching.h:513
gslpp::matrix< gslpp::complex > NLqDOWN
Definition: SUSYMatching.h:398
gslpp::matrix< gslpp::complex > AmpTEA1RC
Definition: SUSYMatching.h:423
gslpp::matrix< gslpp::complex > AmpTEALC
Definition: SUSYMatching.h:423
gslpp::matrix< gslpp::complex > CRlTAU
Definition: SUSYMatching.h:398
gslpp::matrix< gslpp::complex > CLlE
Definition: SUSYMatching.h:398
WilsonCoefficient mcdbd2Chi0gT
Definition: SUSYMatching.h:314
gslpp::matrix< gslpp::complex > myU
Definition: SUSYMatching.h:363
WilsonCoefficient mcdk2Chi0g
Definition: SUSYMatching.h:317
gslpp::matrix< gslpp::complex > AmpTauALC
Definition: SUSYMatching.h:423
gslpp::matrix< gslpp::complex > AmpALN
Definition: SUSYMatching.h:423
WilsonCoefficient mcdbd2Chi0Chi0
Definition: SUSYMatching.h:313
gslpp::matrix< gslpp::complex > AmpTEA1RN
Definition: SUSYMatching.h:423
WilsonCoefficient mcdd2HpT
Definition: SUSYMatching.h:320
gslpp::matrix< gslpp::complex > gamURCKM
Definition: SUSYMatching.h:511
WilsonCoefficient mcdk2ChiChi
Definition: SUSYMatching.h:317
WilsonCoefficient mcdbs2
Definition: SUSYMatching.h:315
gslpp::matrix< gslpp::complex > myV
Chargino mixing matrices.
Definition: SUSYMatching.h:362
gslpp::matrix< gslpp::complex > gamULgamULdag
Definition: SUSYMatching.h:512
WilsonCoefficient mcdbs2ChiChiT
Definition: SUSYMatching.h:316
gslpp::vector< double > MNeig
Definition: SUSYMatching.h:368
gslpp::vector< double > mym_sn_sq
Definition: SUSYMatching.h:348
WilsonCoefficient mcBMll
Definition: SUSYMatching.h:323
gslpp::matrix< gslpp::complex > AmpTauA1RN
Definition: SUSYMatching.h:423
const SUSY & mySUSY
Definition: SUSYMatching.h:309
gslpp::matrix< double > Leptf2
Definition: SUSYMatching.h:380
WilsonCoefficient mcdbd2ChiChiT
Definition: SUSYMatching.h:314
gslpp::matrix< gslpp::complex > PHLRCache
Definition: SUSYMatching.h:636
gslpp::matrix< double > Leptfa2
Definition: SUSYMatching.h:380
gslpp::matrix< gslpp::complex > DeltaMd_cache
Definition: SUSYMatching.h:665
gslpp::matrix< gslpp::complex > AmpARN
Definition: SUSYMatching.h:423
gslpp::matrix< gslpp::complex > NLlMU
Definition: SUSYMatching.h:398
WilsonCoefficient mcdk2HpT
Definition: SUSYMatching.h:318
gslpp::matrix< double > Leptz
Definition: SUSYMatching.h:380
gslpp::matrix< double > Leptf4
Definition: SUSYMatching.h:380
WilsonCoefficient mcdbs2HpT
Definition: SUSYMatching.h:316
gslpp::matrix< gslpp::complex > CRlMU
Definition: SUSYMatching.h:398
WilsonCoefficient mcgminus2mu
Definition: SUSYMatching.h:321
gslpp::vector< double > mym_sd_sq
Definition: SUSYMatching.h:348
WilsonCoefficient mcdk2Chi0gT
Definition: SUSYMatching.h:318
gslpp::matrix< gslpp::complex > CRlE
Chargino and Neutralino couplings to sfermions.
Definition: SUSYMatching.h:398
WilsonCoefficient mcdd2Hp
Definition: SUSYMatching.h:319
gslpp::matrix< gslpp::complex > NRqDOWN
Definition: SUSYMatching.h:398
WilsonCoefficient mcdbd2Chi0g
Definition: SUSYMatching.h:313
WilsonCoefficient mcdbd2ChiChi
Definition: SUSYMatching.h:313
WilsonCoefficient mcdd2ggT
Definition: SUSYMatching.h:320
WilsonCoefficient mcdbd2Chi0Chi0T
Definition: SUSYMatching.h:314
gslpp::matrix< gslpp::complex > DeltaDL_Cache
Definition: SUSYMatching.h:622
WilsonCoefficient mcdd2ChiChi
Definition: SUSYMatching.h:319
gslpp::matrix< gslpp::complex > gamURCKMMU
Definition: SUSYMatching.h:511
gslpp::matrix< gslpp::complex > gamDRgamDRdag
Definition: SUSYMatching.h:512
gslpp::matrix< gslpp::complex > Lambda0EpsYCache
Definition: SUSYMatching.h:618
gslpp::matrix< gslpp::complex > myRu
Sfermion mixing matrices.
Definition: SUSYMatching.h:353
WilsonCoefficient mcdd2Chi0Chi0T
Definition: SUSYMatching.h:320
WilsonCoefficient mcdk2
Definition: SUSYMatching.h:317
gslpp::matrix< gslpp::complex > AmpTauA1LN
Definition: SUSYMatching.h:423
gslpp::matrix< gslpp::complex > CLlMU
Definition: SUSYMatching.h:398
WilsonCoefficient mcdbd2ggT
Definition: SUSYMatching.h:314
gslpp::matrix< gslpp::complex > gamDRMD
Definition: SUSYMatching.h:511
WilsonCoefficient mcdk2gg
Definition: SUSYMatching.h:317
gslpp::matrix< gslpp::complex > NRlE
Definition: SUSYMatching.h:398
gslpp::matrix< gslpp::complex > CRqDOWN
Definition: SUSYMatching.h:398
WilsonCoefficient mcdbd2HpT
Definition: SUSYMatching.h:314
WilsonCoefficient mcDLi3j
Definition: SUSYMatching.h:321
gslpp::matrix< gslpp::complex > CLqDOWN
Definition: SUSYMatching.h:398
gslpp::matrix< gslpp::complex > NRlTAU
Definition: SUSYMatching.h:398
gslpp::matrix< gslpp::complex > AmpTEARC
Definition: SUSYMatching.h:423
WilsonCoefficient mcdbs2ChiChi
Definition: SUSYMatching.h:315
StandardModelMatching(const StandardModel &SM_i)

Member Function Documentation

◆ AFunctions()

gslpp::vector< gslpp::complex > SUSYMatching::AFunctions ( int  n)
virtual

Calculates gamma penguin amplitudes for the process \( \ell_j \to \ell_i \gamma \) from [Hisano:1995cp] [Arganda:2005ji].

Parameters
[in]ndetermines the process, e.g., 1 = \( \mu \to e \gamma \), 2 = \( \tau \to \mu \gamma \), 3 = \( \tau \to e \gamma \)
Returns
returns the vector of gamma penguin amplitude

Definition at line 4050 of file SUSYMatching.cpp.

4050 {
4051 //gamma penguin contributions
4052
4054
4055 double MW = mySUSY.Mw_tree();
4056 double pi = M_PI;
4057 double piconst = 1.0/(32.0 * pi * pi);
4058 double sw2 = mySUSY.StandardModel::sW2(MW);
4059 double stw = sqrt(sw2);
4060 double ctw = sqrt(1.0 - sw2);
4061 double ttw = stw/ctw;
4065 sinb = mySUSY.getSinb();
4066 double cdenc = sqrt(2.0)*MW*cosb;
4067 double cdenn = MW*cosb;
4068 double g2 = gW;
4069 double g2t = g2/sqrt(2.0);
4070
4071 gslpp::vector<gslpp::complex> AFunctions(4, 0.);
4072
4073 // Neutralino-Fermion-Sfermion couplings
4074 for (int a=0;a<4;a++) {
4075 for (int x=0;x<6;x++) {
4076 // LL + RL TYPE MI
4077 NRlE.assign(a, x, - (g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 0) + (mE/cdenn)*ON(a, 2)*myRl(x, 3)));
4078 NRlMU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 1) + (mMU/cdenn)*ON(a, 2)*myRl(x, 4)));
4079 NRlTAU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 2) + (mTAU/cdenn)*ON(a, 2)*myRl(x, 5)));
4080 // RL + RR TYPE MI
4081 NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2)*myRl(x, 0) + 2.0*ON(a, 0)*ttw*myRl(x, 3)));
4082 NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2)*myRl(x, 1) + 2.0*ON(a, 0)*ttw*myRl(x, 4)));
4083 NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2)*myRl(x, 2) + 2.0*ON(a, 0)*ttw*myRl(x, 5)));
4084// Commented expressions might be useful for complex neutralino mixing matrices
4085// NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2).conjugate()*myRl(x, 0) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 3)));
4086// NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2).conjugate()*myRl(x, 1) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 4)));
4087// NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2).conjugate()*myRl(x, 2) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 5)));
4088 }
4089 }
4090
4091 // Chargino-Fermion-Sfermion couplings
4092 for (int a=0;a<2;a++) {
4093 for (int x=0;x<3;x++) {
4094 // LL-TYPE
4095 CRlE.assign(a, x, - (g2*myV(a, 0)*myRn(x, 0)));
4096 CRlMU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 1)));
4097 CRlTAU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 2)));
4098 // LR-TYPE
4099 CLlE.assign(a, x, g2*mE/cdenc*myU(a, 1).conjugate()*myRn(x, 0));
4100 CLlMU.assign(a, x, g2*mMU/cdenc*myU(a, 1).conjugate()*myRn(x, 1));
4101 CLlTAU.assign(a, x, g2*mTAU/cdenc*myU(a, 1).conjugate()*myRn(x, 2));
4102 }
4103 }
4104
4105 // Definition of y and z - remember they are dimensionless quantities.
4106 for (int a=0;a<4;a++) {
4107 for (int x=0;x<6;x++) {
4108 Lepty.assign(a, x, MNeig(a) * MNeig(a) / mym_se_sq(x) );
4109 }
4110 }
4111
4112 for (int a=0;a<2;a++) {
4113 for (int x=0;x<3;x++) {
4114 Leptz.assign(a, x, MChi(a) * MChi(a) / mym_sn_sq(x) );
4115 }
4116 }
4117
4118 for (int a=0;a<4;a++) {
4119 for (int x=0;x<6;x++) {
4120 if (fabs(1.0 - Lepty(a, x)) > 0.01) {
4121 Leptfa1.assign(a, x, (1.0/mym_se_sq(x))*(1.0/pow((1.0 - Lepty(a, x)),4.0))*
4122 (2.0 - 9.0*Lepty(a, x) + 18.0*pow(Lepty(a, x),2.0) - 11.0*pow(Lepty(a, x),3.0)
4123 + 6.0*pow(Lepty(a, x),3.0)*log(Lepty(a, x))) );
4124 Leptf1.assign(a, x, ((1.0 - 6.0*Lepty(a, x) + 3.0 * pow(Lepty(a, x),2.0) +
4125 2.0*pow(Lepty(a, x),3.0) - 6.0*pow(Lepty(a,x),2.0)*log(Lepty(a, x))))/
4126 (6.0 * pow((1.0 - Lepty(a,x)),4.0)) );
4127 Leptf2.assign(a, x, (1.0 - pow(Lepty(a, x),2.0) + 2.0 * Lepty(a, x) * log(Lepty(a, x)))/
4128 (pow((1.0-Lepty(a, x)),3.0)));
4129 }
4130 else {
4131 Leptfa1.assign(a, x, (3.0/2.0)*(1.0/mym_se_sq(x)));
4132 Leptf1.assign(a, x, 1.0/12.0 - (Lepty(a, x) - 1.0)/30.0);
4133 Leptf2.assign(a, x, 1.0/3.0 - (Lepty(a, x) - 1.0)/6.0);
4134 }
4135 }
4136 }
4137
4138 for (int a=0;a<2;a++) {
4139 for (int x=0;x<3;x++) {
4140 if(fabs(1.0-Leptz(a, x)) > 0.01) {
4141 Leptfa2.assign(a, x, (1.0/mym_sn_sq(x))*(1.0/pow(1.0 - Leptz(a,x),4.0))*
4142 (16.0 - 45.0*Leptz(a,x) + 36.0*pow(Leptz(a,x),2.0) - 7.0*pow(Leptz(a,x),3.0)
4143 + 6.0*(2.0 - 3.0*Leptz(a,x))*log(Leptz(a,x))) );
4144 Leptf3.assign(a, x, ((2.0 + 3.0*Leptz(a, x) - 6.0*pow(Leptz(a, x),2.0)
4145 + pow(Leptz(a, x),3.0) + 6.0*Leptz(a, x)*log(Leptz(a, x)))/
4146 (6.0*pow((1.0 - Leptz(a, x)),4.0))) );
4147 Leptf4.assign(a, x, ((-3.0 + 4.0*Leptz(a, x) - pow(Leptz(a, x),2.0)
4148 - 2.0*log(Leptz(a, x)))/
4149 pow((1.0 - Leptz(a, x)),3.0)) );
4150 }
4151 else {
4152 Leptfa2.assign(a, x, (-9.0/2.0)*(1.0/mym_sn_sq(x)) );
4153 Leptf3.assign(a, x, 1.0/12.0 - (Leptz(a, x) - 1.0)/20.0 );
4154 Leptf4.assign(a, x, 2.0/3.0 - (Leptz(a, x) - 1.0)/2.0 );
4155 }
4156 }
4157 }
4158
4159 if (li_to_lj == 1) // mu -> (3)e
4160 {
4161 // Neutralino contributions
4162 for (int a=0;a<4;a++) {
4163 for (int x=0;x<6;x++) {
4164 AmpA1RN.assign(a, x, (piconst/18.0)*NLlE(a,x)*NLlMU(a,x).conjugate()*Leptfa1(a,x) );
4165 AmpA1LN.assign(a, x, (piconst/18.0)*NRlE(a,x)*NRlMU(a,x).conjugate()*Leptfa1(a,x) );
4166 AmpARN.assign(a, x, piconst*(NRlE(a, x) * NRlMU(a, x).conjugate() * Leptf1(a, x)
4167// The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
4168 + NLlE(a, x) * NLlMU(a, x).conjugate() * (mE/mMU) * Leptf1(a, x)
4169//...until here
4170 + NRlE(a, x) * NLlMU(a, x).conjugate() * (MNeig(a)/mMU) * Leptf2(a, x)) /mym_se_sq(x) );
4171 AmpALN.assign(a, x, piconst*(NLlE(a, x) * NLlMU(a, x).conjugate() * Leptf1(a, x)
4172// The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
4173 + NRlE(a, x) * NRlMU(a, x).conjugate() * (mE/mMU) * Leptf1(a, x)
4174//...until here
4175 + NLlE(a, x) * NRlMU(a, x).conjugate() * (MNeig(a)/mMU) * Leptf2(a, x)) /mym_se_sq(x) );
4176 }
4177 }
4178 gslpp::complex A1RN = 0.0;
4179 gslpp::complex A1LN = 0.0;
4180 gslpp::complex ARN = 0.0;
4181 gslpp::complex ALN = 0.0;
4182 for (int a=0;a<4;a++) {
4183 for (int x=0;x<6;x++) {
4184 A1RN = A1RN + AmpA1RN(a,x);
4185 A1LN = A1LN + AmpA1LN(a,x);
4186 ARN = ARN + AmpARN(a,x);
4187 ALN = ALN + AmpALN(a,x);
4188 }
4189 }
4190 // Chargino contributions
4191 for (int a=0;a<2;a++) {
4192 for (int x=0;x<3;x++) {
4193 AmpA1RC.assign(a, x, -(piconst/18.0)*CLlE(a,x)*CLlMU(a,x).conjugate()*Leptfa2(a,x) );
4194 AmpA1LC.assign(a, x, -(piconst/18.0)*CRlE(a,x)*CRlMU(a,x).conjugate()*Leptfa2(a,x) );
4195 AmpARC.assign(a, x, -(piconst/mym_sn_sq(x)) * (CRlE(a, x)*CRlMU(a, x).conjugate() * Leptf3(a, x)
4196// The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
4197 + CLlE(a, x) * CLlMU(a, x).conjugate() * (mE/mMU) * Leptf3(a, x)
4198//...until here
4199 + CRlE(a, x) * CLlMU(a, x).conjugate() * (MChi(a)/mMU) * Leptf4(a, x)) );
4200 AmpALC.assign(a, x, -(piconst/mym_sn_sq(x)) * (CLlE(a, x) * CLlMU(a, x).conjugate() * Leptf3(a, x)
4201// The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
4202 + CRlE(a, x) * CRlMU(a, x).conjugate() * (mE/mMU) * Leptf3(a, x)
4203//...until here
4204 + CLlE(a, x) * CRlMU(a, x).conjugate() * (MChi(a)/mMU) * Leptf4(a, x)) );
4205 }
4206 }
4207 gslpp::complex A1RC = 0.0;
4208 gslpp::complex A1LC = 0.0;
4209 gslpp::complex ARC = 0.0;
4210 gslpp::complex ALC = 0.0;
4211 for (int a=0;a<2;a++) {
4212 for (int x=0;x<3;x++) {
4213 A1RC = A1RC + AmpA1RC(a,x);
4214 A1LC = A1LC + AmpA1LC(a,x);
4215 ARC = ARC + AmpARC(a,x);
4216 ALC = ALC + AmpALC(a,x);
4217 }
4218 }
4219 // write AR and AL into a vector for mu->(3)e
4220 AFunctions.assign(0, A1RN + A1RC );
4221 AFunctions.assign(1, A1LN + A1LC );
4222 AFunctions.assign(2, ARN + ARC );
4223 AFunctions.assign(3, ALN + ALC );
4224
4225 }
4226
4227 if (li_to_lj == 2) // tau -> (3)mu
4228 {
4229 // Neutralino contributions
4230 for (int a=0;a<4;a++) {
4231 for (int x=0;x<6;x++) {
4232 AmpTauA1RN.assign(a, x, (piconst/18.0)*NLlMU(a,x)*NLlTAU(a,x).conjugate()*Leptfa1(a,x) );
4233 AmpTauA1LN.assign(a, x, (piconst/18.0)*NRlMU(a,x)*NRlTAU(a,x).conjugate()*Leptfa1(a,x) );
4234 AmpTauARN.assign(a, x, piconst * (NRlMU(a, x) * NRlTAU(a, x).conjugate() * Leptf1(a, x)
4235// The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
4236 + NLlMU(a, x) * NLlTAU(a, x).conjugate() * (mMU/mTAU) * Leptf1(a, x)
4237//...until here
4238 + NRlMU(a, x) * NLlTAU(a, x).conjugate() * (MNeig(a)/mTAU) * Leptf2(a, x)) /mym_se_sq(x) );
4239 AmpTauALN.assign(a, x, piconst * (NLlMU(a, x) * NLlTAU(a, x).conjugate() * Leptf1(a, x)
4240// The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
4241 + NRlMU(a, x) * NRlTAU(a, x).conjugate() * (mMU/mTAU) * Leptf1(a, x)
4242//...until here
4243 + NLlMU(a, x) * NRlTAU(a, x).conjugate() * (MNeig(a)/mTAU) * Leptf2(a, x)) /mym_se_sq(x) );
4244 }
4245 }
4246 gslpp::complex TauA1RN = 0.0;
4247 gslpp::complex TauA1LN = 0.0;
4248 gslpp::complex TauARN = 0.0;
4249 gslpp::complex TauALN = 0.0;
4250 for (int a=0;a<4;a++) {
4251 for (int x=0;x<6;x++) {
4252 TauA1RN = TauA1RN + AmpTauA1RN(a,x);
4253 TauA1LN = TauA1LN + AmpTauA1LN(a,x);
4254 TauARN = TauARN + AmpTauARN(a,x);
4255 TauALN = TauALN + AmpTauALN(a,x);
4256 }
4257 }
4258 // Chargino contributions
4259 for (int a=0;a<2;a++) {
4260 for (int x=0;x<3;x++) {
4261 AmpTauA1RC.assign(a, x, -(piconst/18.0)*CLlMU(a,x)*CLlTAU(a,x).conjugate()*Leptfa2(a,x) );
4262 AmpTauA1LC.assign(a, x, -(piconst/18.0)*CRlMU(a,x)*CRlTAU(a,x).conjugate()*Leptfa2(a,x) );
4263 AmpTauARC.assign(a, x, -piconst / mym_sn_sq(x) * (CRlMU(a, x) * CRlTAU(a, x).conjugate() * Leptf3(a, x)
4264// The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
4265 + CLlMU(a, x) * CLlTAU(a, x).conjugate() * (mMU/mTAU) * Leptf3(a, x)
4266//...until here
4267 + CRlMU(a, x) * CLlTAU(a, x).conjugate() * (MChi(a)/mTAU) * Leptf4(a, x)) );
4268 AmpTauALC.assign(a, x, -piconst / mym_sn_sq(x) * (CLlMU(a, x) * CLlTAU(a, x).conjugate() * Leptf3(a, x)
4269// The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
4270 + CRlMU(a, x) * CRlTAU(a, x).conjugate() * (mMU/mTAU) * Leptf3(a, x)
4271//...until here
4272 + CLlMU(a, x) * CRlTAU(a, x).conjugate() * (MChi(a)/mTAU) * Leptf4(a, x)) );
4273 }
4274 }
4275 gslpp::complex TauA1RC = 0.0;
4276 gslpp::complex TauA1LC = 0.0;
4277 gslpp::complex TauARC = 0.0;
4278 gslpp::complex TauALC = 0.0;
4279 for (int a=0;a<2;a++) {
4280 for (int x=0;x<3;x++) {
4281 TauA1RC = TauA1RC + AmpTauA1RC(a,x);
4282 TauA1LC = TauA1LC + AmpTauA1LC(a,x);
4283 TauARC = TauARC + AmpTauARC(a,x);
4284 TauALC = TauALC + AmpTauALC(a,x);
4285 }
4286 }
4287 // write AR and AL into a vector for tau->(3)mu
4288 AFunctions.assign(0, TauA1RC + TauA1RN );
4289 AFunctions.assign(1, TauA1LC + TauA1LN );
4290 AFunctions.assign(2, TauARC + TauARN );
4291 AFunctions.assign(3, TauALC + TauALN );
4292 }
4293
4294 if (li_to_lj == 3) // tau -> (3)e
4295 {
4296 // Neutralino contributions
4297 for (int a=0;a<4;a++) {
4298 for (int x=0;x<6;x++) {
4299 AmpTEA1RN.assign(a, x, (piconst/18.0)*NLlE(a,x)*NLlTAU(a,x).conjugate()*Leptfa1(a,x) );
4300 AmpTEA1LN.assign(a, x, (piconst/18.0)*NRlE(a,x)*NRlTAU(a,x).conjugate()*Leptfa1(a,x) );
4301 AmpTEARN.assign(a, x, piconst * (NRlE(a, x) * NRlTAU(a, x).conjugate() * Leptf1(a,x)
4302// The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
4303 + NLlE(a, x) * NLlTAU(a, x).conjugate() * (mE/mTAU) * Leptf1(a,x)
4304//...until here
4305 + NRlE(a, x) * NLlTAU(a, x).conjugate() * (MNeig(a)/mTAU) * Leptf2(a, x)) / mym_se_sq(x) );
4306 AmpTEALN.assign(a, x, piconst * (NLlE(a, x) * NLlTAU(a, x).conjugate() * Leptf1(a, x)
4307// The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
4308 + NRlE(a, x) * NRlTAU(a, x).conjugate() * (mE/mTAU) * Leptf1(a, x)
4309//...until here
4310 + NLlE(a, x) * NRlTAU(a, x).conjugate() * (MNeig(a)/mTAU) * Leptf2(a, x)) / mym_se_sq(x) );
4311 }
4312 }
4313 gslpp::complex TEA1RN = 0.0;
4314 gslpp::complex TEA1LN = 0.0;
4315 gslpp::complex TEARN = 0.0;
4316 gslpp::complex TEALN = 0.0;
4317 for (int a=0;a<4;a++) {
4318 for (int x=0;x<6;x++) {
4319 TEA1RN = TEA1RN + AmpTEA1RN(a,x);
4320 TEA1LN = TEA1LN + AmpTEA1LN(a,x);
4321 TEARN = TEARN + AmpTEARN(a,x);
4322 TEALN = TEALN + AmpTEALN(a,x);
4323 }
4324 }
4325 // Chargino contributions
4326 for (int a=0;a<2;a++) {
4327 for (int x=0;x<3;x++) {
4328 AmpTEA1RC.assign(a, x, -(piconst/18.0)*CLlE(a,x)*CLlTAU(a,x).conjugate()*Leptfa2(a,x) );
4329 AmpTEA1LC.assign(a, x, -(piconst/18.0)*CRlE(a,x)*CRlTAU(a,x).conjugate()*Leptfa2(a,x) );
4330 AmpTEARC.assign(a, x, -piconst / mym_sn_sq(x) * (CRlE(a, x) * CRlTAU(a, x).conjugate() * Leptf3(a, x)
4331// The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
4332 + CLlE(a, x) * CLlTAU(a, x).conjugate() * (mE/mTAU) * Leptf3(a, x)
4333//...until here
4334 + CRlE(a, x) * CLlTAU(a, x).conjugate() *(MChi(a)/mTAU) * Leptf4(a, x)) );
4335 AmpTEALC.assign(a, x, -piconst / mym_sn_sq(x) * (CLlE(a, x) * CLlTAU(a, x).conjugate() * Leptf3(a, x)
4336// The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
4337 + CRlE(a, x) * CRlTAU(a, x).conjugate() * (mE/mTAU) * Leptf3(a, x)
4338//...until here
4339 + CLlE(a, x) * CRlTAU(a, x).conjugate() * (MChi(a)/mTAU) * Leptf4(a, x)) );
4340 }
4341 }
4342 gslpp::complex TEA1RC = 0.0;
4343 gslpp::complex TEA1LC = 0.0;
4344 gslpp::complex TEARC = 0.0;
4345 gslpp::complex TEALC = 0.0;
4346 for (int a=0;a<2;a++) {
4347 for (int x=0;x<3;x++) {
4348 TEA1RC = TEA1RC + AmpTEA1RC(a, x);
4349 TEA1LC = TEA1LC + AmpTEA1LC(a,x);
4350 TEARC = TEARC + AmpTEARC(a,x);
4351 TEALC = TEALC + AmpTEALC(a,x);
4352 }
4353 }
4354 // write AR and AL into a vector for tau->(3)e
4355 AFunctions.assign(0, TEA1RC + TEA1RN );
4356 AFunctions.assign(1, TEA1LC + TEA1LN );
4357 AFunctions.assign(2, TEARC + TEARN );
4358 AFunctions.assign(3, TEALC + TEALN );
4359
4360 }
4361
4362 return(AFunctions);
4363}
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
@ MU
Definition: QCD.h:314
@ ELECTRON
Definition: QCD.h:312
@ TAU
Definition: QCD.h:316
const double getSinb() const
Gets .
Definition: SUSY.h:208
void NeutralinoRemixing()
virtual gslpp::vector< gslpp::complex > AFunctions(int n)
Calculates gamma penguin amplitudes for the process from .
const Particle & getLeptons(const QCD::lepton p) const
A get method to retrieve the member object of a lepton.
const double Mw_tree() const
The tree-level mass of the boson, .

◆ BFunctions()

gslpp::vector< gslpp::complex > SUSYMatching::BFunctions ( int  n)
virtual

Calculates box diagram amplitudes for the process \( \ell_j \to \ell_i \ell_i \ell_i \) from from [Hisano:1995cp] [Arganda:2005ji].

Parameters
[in]ndetermines the process, e.g., 1 = \( \mu \to eee \), 2 = \( \tau \to \mu \mu \mu \), 3 = \( \tau \to eee \)
Returns
returns the vector of gamma diagram amplitude

Definition at line 4365 of file SUSYMatching.cpp.

4365 {
4366 //box diagram contributions
4367
4369
4370 double MW = mySUSY.Mw_tree();
4371 double pi = M_PI;
4372 double sw2 = mySUSY.StandardModel::sW2(MW);
4373 double stw = sqrt(sw2);
4374 double ctw = sqrt(1.0 - sw2);
4375 double ttw = stw/ctw;
4379
4380 double cdenc = sqrt(2.0)*MW*cosb;
4381 double cdenn = MW*cosb;
4382 double g2 = gW;
4383 double g2t = g2/sqrt(2.0);
4384 double alph = mySUSY.getAle();
4385
4386 gslpp::vector<gslpp::complex> BFunctions(8, 0.);
4387
4388 // Neutralino-Fermion-Sfermion couplings
4389 for (int a=0;a<4;a++) {
4390 for (int x=0;x<6;x++) {
4391 // LL + RL TYPE MI
4392 NRlE.assign(a, x, - (g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 0) + (mE/cdenn)*ON(a, 2)*myRl(x, 3)));
4393 NRlMU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 1) + (mMU/cdenn)*ON(a, 2)*myRl(x, 4)));
4394 NRlTAU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 2) + (mTAU/cdenn)*ON(a, 2)*myRl(x, 5)));
4395 // RL + RR TYPE MI
4396 NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2)*myRl(x, 0) + 2.0*ON(a, 0)*ttw*myRl(x, 3)));
4397 NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2)*myRl(x, 1) + 2.0*ON(a, 0)*ttw*myRl(x, 4)));
4398 NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2)*myRl(x, 2) + 2.0*ON(a, 0)*ttw*myRl(x, 5)));
4399// Commented expressions might be useful for complex neutralino mixing matrices
4400// NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2).conjugate()*myRl(x, 0) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 3)));
4401// NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2).conjugate()*myRl(x, 1) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 4)));
4402// NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2).conjugate()*myRl(x, 2) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 5)));
4403 }
4404 }
4405
4406 // Chargino-Fermion-Sfermion couplings
4407 for (int a=0;a<2;a++) {
4408 for (int x=0;x<3;x++) {
4409 // LL-TYPE
4410 CRlE.assign(a, x, - (g2*myV(a, 0)*myRn(x, 0)));
4411 CRlMU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 1)));
4412 CRlTAU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 2)));
4413 // LR-TYPE
4414 CLlE.assign(a, x, g2*mE/cdenc*myU(a, 1).conjugate()*myRn(x, 0));
4415 CLlMU.assign(a, x, g2*mMU/cdenc*myU(a, 1).conjugate()*myRn(x, 1));
4416 CLlTAU.assign(a, x, g2*mTAU/cdenc*myU(a, 1).conjugate()*myRn(x, 2));
4417 }
4418 }
4419
4420 if (li_to_lj == 1) // mu -> 3e
4421 {
4422 // Neutralino contributions
4423// J4n(a,b,x,t)=/*J4n(a,b,x,t)*/
4424// *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
4425// I4n(a,b,x,t)=/*I4n(a,b,x,t)*/
4426// *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi)
4427 gslpp::complex B1nRMu3E = 0.0;
4428 gslpp::complex B2nRMu3E = 0.0;
4429 gslpp::complex B3nRMu3E = 0.0;
4430 gslpp::complex B4nRMu3E = 0.0;
4431 gslpp::complex B1nLMu3E = 0.0;
4432 gslpp::complex B2nLMu3E = 0.0;
4433 gslpp::complex B3nLMu3E = 0.0;
4434 gslpp::complex B4nLMu3E = 0.0;
4435 for (int a=0;a<4;a++) {
4436 for (int b=0;b<4;b++) {
4437 for (int x=0;x<6;x++) {
4438 for (int t=0;t<6;t++) {
4439 B1nRMu3E = B1nRMu3E + (1.0/(4.0*pi*alph))*(0.5*NLlMU(a,x)*NLlE(a,t)*NLlE(b,t)*NLlE(b,x)/*J4n(a,b,x,t)*/
4440 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
4441 +MNeig(a)*MNeig(b)*NLlMU(a,x)*NLlE(a,t)*NLlE(b,t)*NLlE(b,x)/*I4n(a,b,x,t)*/
4442 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
4443 B2nRMu3E = B2nRMu3E + (1.0/(4.0*pi*alph))*(0.25*(NLlMU(a,x)*NLlE(a,t)*NRlE(b,t)*NRlE(b,x)
4444 +NLlMU(a,x)*NRlE(a,t)*NLlE(b,t)*NRlE(b,x)
4445 -NLlMU(a,x)*NRlE(a,t)*NRlE(b,t)*NLlE(b,x))/*J4n(a,b,x,t)*/
4446 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
4447 -0.5*MNeig(a)*MNeig(b)*NLlMU(a,x)*NRlE(a,t)*NRlE(b,t)*NLlE(b,x)/*I4n(a,b,x,t)*/
4448 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
4449 B3nRMu3E = B3nRMu3E + (1.0/(4.0*pi*alph))*MNeig(a)*MNeig(b)*(NLlMU(a,x)*NRlE(a,t)*NLlE(b,t)*NRlE(b,x)
4450 +0.5*NLlMU(a,x)*NLlE(a,t)*NRlE(b,t)*NRlE(b,x))/*I4n(a,b,x,t)*/
4451 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
4452 B4nRMu3E = B4nRMu3E + (1.0/(32.0*pi*alph))*MNeig(a)*MNeig(b)*NLlMU(a,x)*NLlE(a,t)*NRlE(b,t)*NRlE(b,x)/*I4n(a,b,x,t)*/
4453 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
4454 B1nLMu3E = B1nLMu3E + (1.0/(4.0*pi*alph))*(0.5*NRlMU(a,x)*NRlE(a,t)*NRlE(b,t)*NRlE(b,x)/*J4n(a,b,x,t)*/
4455 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
4456 +MNeig(a)*MNeig(b)*NRlMU(a,x)*NRlE(a,t)*NRlE(b,t)*NRlE(b,x)/*I4n(a,b,x,t)*/
4457 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
4458 B2nLMu3E = B2nLMu3E + (1.0/(4.0*pi*alph))*(0.25*(NRlMU(a,x)*NRlE(a,t)*NLlE(b,t)*NLlE(b,x)
4459 +NRlMU(a,x)*NLlE(a,t)*NRlE(b,t)*NLlE(b,x)
4460 -NRlMU(a,x)*NLlE(a,t)*NLlE(b,t)*NRlE(b,x))/*J4n(a,b,x,t)*/
4461 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
4462 -0.5*MNeig(a)*MNeig(b)*NRlMU(a,x)*NLlE(a,t)*NLlE(b,t)*NRlE(b,x)/*I4n(a,b,x,t)*/
4463 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
4464 B3nLMu3E = B3nLMu3E + (1.0/(4.0*pi*alph))*MNeig(a)*MNeig(b)*(NRlMU(a,x)*NLlE(a,t)*NRlE(b,t)*NLlE(b,x)
4465 +0.5*NRlMU(a,x)*NRlE(a,t)*NLlE(b,t)*NLlE(b,x))/*I4n(a,b,x,t)*/
4466 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
4467 B4nLMu3E = B4nLMu3E + (1.0/(32.0*pi*alph))*MNeig(a)*MNeig(b)*NRlMU(a,x)*NRlE(a,t)*NLlE(b,t)*NLlE(b,x)/*I4n(a,b,x,t)*/
4468 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
4469 }
4470 }
4471 }
4472 }
4473 // Chargino contributions
4474// J4c(a,b,x,t)=/*J4c(a,b,x,t)*/
4475// *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi)
4476// I4c(a,b,x,t)=/*I4c(a,b,x,t)*/
4477// *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi)
4478 gslpp::complex B1cRMu3E = 0.0;
4479 gslpp::complex B2cRMu3E = 0.0;
4480 gslpp::complex B3cRMu3E = 0.0;
4481 gslpp::complex B1cLMu3E = 0.0;
4482 gslpp::complex B2cLMu3E = 0.0;
4483 gslpp::complex B3cLMu3E = 0.0;
4484 for (int a=0;a<2;a++) {
4485 for (int b=0;b<2;b++) {
4486 for (int x=0;x<3;x++) {
4487 for (int t=0;t<3;t++) {
4488 B1cRMu3E = B1cRMu3E + (1.0/(8.0*pi*alph))*CLlMU(a,x)*CLlE(a,t)*CLlE(b,t)*CLlE(b,x)/*J4c(a,b,x,t)*/
4489 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi);
4490 B2cRMu3E = B2cRMu3E + (1.0/(4.0*pi*alph))*(0.25*CLlMU(a,x)*CLlE(a,t)*CRlE(b,t)*CRlE(b,x)/*J4c(a,b,x,t)*/
4491 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi)
4492 -0.5*MChi(a)*MChi(b)*CLlMU(a,x)*CRlE(a,t)*CRlE(b,t)*CLlE(b,x)/*I4c(a,b,x,t)*/
4493 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi));
4494 B3cRMu3E = B3cRMu3E + (1.0/(4.0*pi*alph))*MChi(a)*MChi(b)*CLlMU(a,x)*CRlE(a,t)*CLlE(b,t)*CRlE(b,x)/*I4c(a,b,x,t)*/
4495 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi);
4496 B1cLMu3E = B1cLMu3E + (1.0/(8.0*pi*alph))*(CRlMU(a,x)*CRlE(a,t)*CRlE(b,t)*CRlE(b,x)/*J4c(a,b,x,t)*/
4497 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi));
4498 B2cLMu3E = B2cLMu3E + (1.0/(4.0*pi*alph))*(0.25*CRlMU(a,x)*CRlE(a,t)*CLlE(b,t)*CLlE(b,x)/*J4c(a,b,x,t)*/
4499 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi)
4500 -0.5*MChi(a)*MChi(b)*CRlMU(a,x)*CLlE(a,t)*CLlE(b,t)*CRlE(b,x)/*I4c(a,b,x,t)*/
4501 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi));
4502 B3cLMu3E = B3cLMu3E + (1.0/(4.0*pi*alph))*MChi(a)*MChi(b)*CRlMU(a,x)*CLlE(a,t)*CRlE(b,t)*CLlE(b,x)/*I4c(a,b,x,t)*/
4503 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi);
4504 }
4505 }
4506 }
4507 }
4508
4509// write BR and BL into a vector for mu->3e
4510 BFunctions.assign(0, B1nRMu3E + B1cRMu3E );
4511 BFunctions.assign(1, B1nLMu3E + B1cLMu3E );
4512 BFunctions.assign(2, B2nRMu3E + B2cRMu3E );
4513 BFunctions.assign(3, B2nLMu3E + B2cLMu3E );
4514 BFunctions.assign(4, B3nRMu3E + B3cRMu3E );
4515 BFunctions.assign(5, B3nLMu3E + B3cLMu3E );
4516 BFunctions.assign(6, B4nRMu3E );
4517 BFunctions.assign(7, B4nLMu3E );
4518 }
4519 if (li_to_lj == 2) // tau -> 3mu
4520 {
4521 // Neutralino contributions
4522 gslpp::complex B1nRTau3Mu = 0.0;
4523 gslpp::complex B2nRTau3Mu = 0.0;
4524 gslpp::complex B3nRTau3Mu = 0.0;
4525 gslpp::complex B4nRTau3Mu = 0.0;
4526 gslpp::complex B1nLTau3Mu = 0.0;
4527 gslpp::complex B2nLTau3Mu = 0.0;
4528 gslpp::complex B3nLTau3Mu = 0.0;
4529 gslpp::complex B4nLTau3Mu = 0.0;
4530 for (int a=0;a<4;a++) {
4531 for (int b=0;b<4;b++) {
4532 for (int x=0;x<6;x++) {
4533 for (int t=0;t<6;t++) {
4534 B1nRTau3Mu = B1nRTau3Mu + (1.0/(4.0*pi*alph))*(0.5*NLlTAU(a,x)*NLlMU(a,t)*NLlMU(b,t)*NLlMU(b,x)/*J4n(a,b,x,t)*/
4535 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
4536 +MNeig(a)*MNeig(b)*NLlTAU(a,x)*NLlMU(a,t)*NLlMU(b,t)*NLlMU(b,x)/*I4n(a,b,x,t)*/
4537 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
4538 B2nRTau3Mu = B2nRTau3Mu + (1.0/(4.0*pi*alph))*(0.25*(NLlTAU(a,x)*NLlMU(a,t)*NRlMU(b,t)*NRlMU(b,x)
4539 +NLlTAU(a,x)*NRlMU(a,t)*NLlMU(b,t)*NRlMU(b,x)
4540 -NLlTAU(a,x)*NRlMU(a,t)*NRlMU(b,t)*NLlMU(b,x))/*J4n(a,b,x,t)*/
4541 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
4542 -0.5*MNeig(a)*MNeig(b)*NLlTAU(a,x)*NRlMU(a,t)*NRlMU(b,t)*NLlMU(b,x)/*I4n(a,b,x,t)*/
4543 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
4544 B3nRTau3Mu = B3nRTau3Mu + (1.0/(4.0*pi*alph))*MNeig(a)*MNeig(b)*(NLlTAU(a,x)*NRlMU(a,t)*NLlMU(b,t)*NRlMU(b,x)
4545 +0.5*NLlTAU(a,x)*NLlMU(a,t)*NRlMU(b,t)*NRlMU(b,x))/*I4n(a,b,x,t)*/
4546 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
4547 B4nRTau3Mu = B4nRTau3Mu + (1.0/(32.0*pi*alph))*MNeig(a)*MNeig(b)*NLlTAU(a,x)*NLlMU(a,t)*NRlMU(b,t)*NRlMU(b,x)/*I4n(a,b,x,t)*/
4548 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
4549 B1nLTau3Mu = B1nLTau3Mu + (1.0/(4.0*pi*alph))*(0.5*NRlTAU(a,x)*NRlMU(a,t)*NRlMU(b,t)*NRlMU(b,x)/*J4n(a,b,x,t)*/
4550 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
4551 +MNeig(a)*MNeig(b)*NRlTAU(a,x)*NRlMU(a,t)*NRlMU(b,t)*NRlMU(b,x)/*I4n(a,b,x,t)*/
4552 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
4553 B2nLTau3Mu = B2nLTau3Mu + (1.0/(4.0*pi*alph))*(0.25*(NRlTAU(a,x)*NRlMU(a,t)*NLlMU(b,t)*NLlMU(b,x)
4554 +NRlTAU(a,x)*NLlMU(a,t)*NRlMU(b,t)*NLlMU(b,x)
4555 -NRlTAU(a,x)*NLlMU(a,t)*NLlMU(b,t)*NRlMU(b,x))/*J4n(a,b,x,t)*/
4556 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
4557 -0.5*MNeig(a)*MNeig(b)*NRlTAU(a,x)*NLlMU(a,t)*NLlMU(b,t)*NRlMU(b,x)/*I4n(a,b,x,t)*/
4558 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
4559 B3nLTau3Mu = B3nLTau3Mu + (1.0/(4.0*pi*alph))*MNeig(a)*MNeig(b)*(NRlTAU(a,x)*NLlMU(a,t)*NRlMU(b,t)*NLlMU(b,x)
4560 +0.5*NRlTAU(a,x)*NRlMU(a,t)*NLlMU(b,t)*NLlMU(b,x))/*I4n(a,b,x,t)*/
4561 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
4562 B4nLTau3Mu = B4nLTau3Mu + (1.0/(32.0*pi*alph))*MNeig(a)*MNeig(b)*NRlTAU(a,x)*NRlMU(a,t)*NLlMU(b,t)*NLlMU(b,x)/*I4n(a,b,x,t)*/
4563 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
4564 }
4565 }
4566 }
4567 }
4568 // Chargino contributions
4569 gslpp::complex B1cRTau3Mu = 0.0;
4570 gslpp::complex B2cRTau3Mu = 0.0;
4571 gslpp::complex B3cRTau3Mu = 0.0;
4572 gslpp::complex B1cLTau3Mu = 0.0;
4573 gslpp::complex B2cLTau3Mu = 0.0;
4574 gslpp::complex B3cLTau3Mu = 0.0;
4575 for (int a=0;a<2;a++) {
4576 for (int b=0;b<2;b++) {
4577 for (int x=0;x<3;x++) {
4578 for (int t=0;t<3;t++) {
4579 B1cRTau3Mu = B1cRTau3Mu + (1.0/(8.0*pi*alph))*CLlTAU(a,x)*CLlMU(a,t)*CLlMU(b,t)*CLlMU(b,x)/*J4c(a,b,x,t)*/
4580 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi);
4581 B2cRTau3Mu = B2cRTau3Mu + (1.0/(4.0*pi*alph))*(0.25*CLlTAU(a,x)*CLlMU(a,t)*CRlMU(b,t)*CRlMU(b,x)/*J4c(a,b,x,t)*/
4582 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi)
4583 -0.5*MChi(a)*MChi(b)*CLlTAU(a,x)*CRlMU(a,t)*CRlMU(b,t)*CLlMU(b,x)/*I4c(a,b,x,t)*/
4584 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi));
4585 B3cRTau3Mu = B3cRTau3Mu + (1.0/(4.0*pi*alph))*MChi(a)*MChi(b)*CLlTAU(a,x)*CRlMU(a,t)*CLlMU(b,t)*CRlMU(b,x)/*I4c(a,b,x,t)*/
4586 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi);
4587 B1cLTau3Mu = B1cLTau3Mu + (1.0/(8.0*pi*alph))*CRlTAU(a,x)*CRlMU(a,t)*CRlMU(b,t)*CRlMU(b,x)/*J4c(a,b,x,t)*/
4588 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi);
4589 B2cLTau3Mu = B2cLTau3Mu + (1.0/(4.0*pi*alph))*(0.25*CRlTAU(a,x)*CRlMU(a,t)*CLlMU(b,t)*CLlMU(b,x)/*J4c(a,b,x,t)*/
4590 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi)
4591 -0.5*MChi(a)*MChi(b)*CRlTAU(a,x)*CLlMU(a,t)*CLlMU(b,t)*CRlMU(b,x)/*I4c(a,b,x,t)*/
4592 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi));
4593 B3cLTau3Mu = B3cLTau3Mu + (1.0/(4.0*pi*alph))*MChi(a)*MChi(b)*CRlTAU(a,x)*CLlMU(a,t)*CRlMU(b,t)*CLlMU(b,x)/*I4c(a,b,x,t)*/
4594 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi);
4595 }
4596 }
4597 }
4598 }
4599 // write BR and BL into a vector for tau->3mu
4600 BFunctions.assign(0, B1nRTau3Mu + B1cRTau3Mu );
4601 BFunctions.assign(1, B1nLTau3Mu + B1cLTau3Mu );
4602 BFunctions.assign(2, B2nRTau3Mu + B2cRTau3Mu );
4603 BFunctions.assign(3, B2nLTau3Mu + B2cLTau3Mu );
4604 BFunctions.assign(4, B3nRTau3Mu + B3cRTau3Mu );
4605 BFunctions.assign(5, B3nLTau3Mu + B3cLTau3Mu );
4606 BFunctions.assign(6, B4nRTau3Mu );
4607 BFunctions.assign(7, B4nLTau3Mu );
4608 }
4609 if (li_to_lj == 3) // tau -> 3e
4610 {
4611 // Neutralino contributions
4612 gslpp::complex B1nRTau3E = 0.0;
4613 gslpp::complex B2nRTau3E = 0.0;
4614 gslpp::complex B3nRTau3E = 0.0;
4615 gslpp::complex B4nRTau3E = 0.0;
4616 gslpp::complex B1nLTau3E = 0.0;
4617 gslpp::complex B2nLTau3E = 0.0;
4618 gslpp::complex B3nLTau3E = 0.0;
4619 gslpp::complex B4nLTau3E = 0.0;
4620 for (int a=0;a<4;a++) {
4621 for (int b=0;b<4;b++) {
4622 for (int x=0;x<6;x++) {
4623 for (int t=0;t<6;t++) {
4624 B1nRTau3E = B1nRTau3E + (1.0/(4.0*pi*alph))*(0.5*NLlTAU(a,x)*NLlE(a,t)*NLlE(b,t)*NLlE(b,x)/*J4n(a,b,x,t)*/
4625 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
4626 +MNeig(a)*MNeig(b)*NLlTAU(a,x)*NLlE(a,t)*NLlE(b,t)*NLlE(b,x)/*I4n(a,b,x,t)*/
4627 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
4628 B2nRTau3E = B2nRTau3E + (1.0/(4.0*pi*alph))*(0.25*(NLlTAU(a,x)*NLlE(a,t)*NRlE(b,t)*NRlE(b,x)
4629 +NLlTAU(a,x)*NRlE(a,t)*NLlE(b,t)*NRlE(b,x)
4630 -NLlTAU(a,x)*NRlE(a,t)*NRlE(b,t)*NLlE(b,x))/*J4n(a,b,x,t)*/
4631 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
4632 -0.5*MNeig(a)*MNeig(b)*NLlTAU(a,x)*NRlE(a,t)*NRlE(b,t)*NLlE(b,x)/*I4n(a,b,x,t)*/
4633 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
4634 B3nRTau3E = B3nRTau3E + (1.0/(4.0*pi*alph))*MNeig(a)*MNeig(b)*(NLlTAU(a,x)*NRlE(a,t)*NLlE(b,t)*NRlE(b,x)
4635 +0.5*NLlTAU(a,x)*NLlE(a,t)*NRlE(b,t)*NRlE(b,x))/*I4n(a,b,x,t)*/
4636 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
4637 B4nRTau3E = B4nRTau3E + (1.0/(32.0*pi*alph))*MNeig(a)*MNeig(b)*NLlTAU(a,x)*NLlE(a,t)*NRlE(b,t)*NRlE(b,x)/*I4n(a,b,x,t)*/
4638 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
4639 B1nLTau3E = B1nLTau3E + (1.0/(4.0*pi*alph))*(0.5*NRlTAU(a,x)*NRlE(a,t)*NRlE(b,t)*NRlE(b,x)/*J4n(a,b,x,t)*/
4640 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
4641 +MNeig(a)*MNeig(b)*NRlTAU(a,x)*NRlE(a,t)*NRlE(b,t)*NRlE(b,x)/*I4n(a,b,x,t)*/
4642 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
4643 B2nLTau3E = B2nLTau3E + (1.0/(4.0*pi*alph))*(0.25*(NRlTAU(a,x)*NRlE(a,t)*NLlE(b,t)*NLlE(b,x)
4644 +NRlTAU(a,x)*NLlE(a,t)*NRlE(b,t)*NLlE(b,x)
4645 -NRlTAU(a,x)*NLlE(a,t)*NLlE(b,t)*NRlE(b,x))/*J4n(a,b,x,t)*/
4646 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
4647 -0.5*MNeig(a)*MNeig(b)*NRlTAU(a,x)*NLlE(a,t)*NLlE(b,t)*NRlE(b,x)/*I4n(a,b,x,t)*/
4648 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
4649 B3nLTau3E = B3nLTau3E + (1.0/(4.0*pi*alph))*MNeig(a)*MNeig(b)*(NRlTAU(a,x)*NLlE(a,t)*NRlE(b,t)*NLlE(b,x)
4650 +0.5*NRlTAU(a,x)*NRlE(a,t)*NLlE(b,t)*NLlE(b,x))/*I4n(a,b,x,t)*/
4651 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
4652 B4nLTau3E = B4nLTau3E + (1.0/(32.0*pi*alph))*MNeig(a)*MNeig(b)*NRlTAU(a,x)*NRlE(a,t)*NLlE(b,t)*NLlE(b,x)/*I4n(a,b,x,t)*/
4653 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
4654 }
4655 }
4656 }
4657 }
4658 // Chargino contributions
4659 gslpp::complex B1cRTau3E = 0.0;
4660 gslpp::complex B2cRTau3E = 0.0;
4661 gslpp::complex B3cRTau3E = 0.0;
4662 gslpp::complex B1cLTau3E = 0.0;
4663 gslpp::complex B2cLTau3E = 0.0;
4664 gslpp::complex B3cLTau3E = 0.0;
4665 for (int a=0;a<2;a++) {
4666 for (int b=0;b<2;b++) {
4667 for (int x=0;x<3;x++) {
4668 for (int t=0;t<3;t++) {
4669 B1cRTau3E = B1cRTau3E + (1.0/(8.0*pi*alph))*CLlTAU(a,x)*CLlE(a,t)*CLlE(b,t)*CLlE(b,x)/*J4c(a,b,x,t)*/
4670 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi);
4671 B2cRTau3E = B2cRTau3E + (1.0/(4.0*pi*alph))*(0.25*CLlTAU(a,x)*CLlE(a,t)*CRlE(b,t)*CRlE(b,x)/*J4c(a,b,x,t)*/
4672 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi)
4673 -0.5*MChi(a)*MChi(b)*CLlTAU(a,x)*CRlE(a,t)*CRlE(b,t)*CLlE(b,x)/*I4c(a,b,x,t)*/
4674 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi));
4675 B3cRTau3E = B3cRTau3E + (1.0/(4.0*pi*alph))*MChi(a)*MChi(b)*CLlTAU(a,x)*CRlE(a,t)*CLlE(b,t)*CRlE(b,x)/*I4c(a,b,x,t)*/
4676 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi);
4677 B1cLTau3E = B1cLTau3E + (1.0/(8.0*pi*alph))*CRlTAU(a,x)*CRlE(a,t)*CRlE(b,t)*CRlE(b,x)/*J4c(a,b,x,t)*/
4678 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi);
4679 B2cLTau3E = B2cLTau3E + (1.0/(4.0*pi*alph))*(0.25*CRlTAU(a,x)*CRlE(a,t)*CLlE(b,t)*CLlE(b,x)/*J4c(a,b,x,t)*/
4680 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi)
4681 -0.5*MChi(a)*MChi(b)*CRlTAU(a,x)*CLlE(a,t)*CLlE(b,t)*CRlE(b,x)/*I4c(a,b,x,t)*/
4682 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi));
4683 B3cLTau3E = B3cLTau3E + (1.0/(4.0*pi*alph))*MChi(a)*MChi(b)*CRlTAU(a,x)*CLlE(a,t)*CRlE(b,t)*CLlE(b,x)/*I4c(a,b,x,t)*/
4684 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi);
4685 }
4686 }
4687 }
4688 }
4689 // write BR and BL into a vector for tau->3e
4690 BFunctions.assign(0, B1nRTau3E + B1cRTau3E );
4691 BFunctions.assign(1, B1nLTau3E + B1cLTau3E );
4692 BFunctions.assign(2, B2nRTau3E + B2cRTau3E );
4693 BFunctions.assign(3, B2nLTau3E + B2cLTau3E );
4694 BFunctions.assign(4, B3nRTau3E + B3cRTau3E );
4695 BFunctions.assign(5, B3nLTau3E + B3cLTau3E );
4696 BFunctions.assign(6, B4nRTau3E );
4697 BFunctions.assign(7, B4nLTau3E );
4698 }
4699// if (li_to_lj == 4) // tau -> muee
4700// {
4701// // write BR and BL into a vector for tau->muee
4702// BFunctions.assign(0, 0. );
4703// BFunctions.assign(1, 0. );
4704// BFunctions.assign(2, 0. );
4705// BFunctions.assign(3, 0. );
4706// BFunctions.assign(4, 0. );
4707// BFunctions.assign(5, 0. );
4708// BFunctions.assign(6, 0. );
4709// BFunctions.assign(7, 0. );
4710// }
4711// std::cout<<"BFunctions("<<li_to_lj<<") = "<<BFunctions<<std::endl;
4712
4713 return(BFunctions);
4714}
gslpp::complex D00(const double s, const double t, const double m02, const double m12, const double m22, const double m32) const
.
gslpp::complex D0(const double s, const double t, const double m02, const double m12, const double m22, const double m32) const
.
virtual gslpp::vector< gslpp::complex > BFunctions(int n)
Calculates box diagram amplitudes for the process from from .
const double getAle() const
A get method to retrieve the fine-structure constant .
Test Observable.

◆ BHFunctions()

gslpp::vector< gslpp::complex > SUSYMatching::BHFunctions ( int  n)
virtual

Calculates Higgs penguin amplitudes for the process \( \ell_j \to \ell_i \ell_i \ell_i \) from [Arganda:2005ji].

Parameters
[in]ndetermines the process, e.g., 1 = \( \mu \to eee \), 2 = \( \tau \to \mu \mu \mu \), 3 = \( \tau \to eee \)
Returns
returns the vector of Higgs penguin amplitude

Definition at line 4721 of file SUSYMatching.cpp.

4721 {
4722 //Higgs penguin contributions from PhysRevD.73.055003
4723
4724
4725 // To do:
4726 // Are the trilinear couplings from (A24) correct?
4727 // Should we update the missing parameters in the update function (sinalpha, A_l, ...)?
4728
4730
4731 double MZ = mySUSY.getMz();
4732 double MW = mySUSY.Mw_tree();
4733 double pi = M_PI;
4734 double piconst = 1.0/(32.0 * pi * pi);
4735 double sw2 = mySUSY.StandardModel::sW2(MW);
4736 double stw = sqrt(sw2);
4737 double ctw = sqrt(1.0 - sw2);
4738 double ttw = stw/ctw;
4742 double cos2b = 2.0*cosb*cosb-1.0;
4743 gslpp::complex sina = mySUSY.getSaeff();
4744 gslpp::complex cosa = sqrt(1.0-sina*sina);
4745 gslpp::complex sinapb = sina*cosb+cosa*sinb;
4746 gslpp::complex cosapb = cosa*cosb-sina*sinb;
4747 gslpp::complex cosbma = cosb*cosa+sinb*sina;
4748 gslpp::complex sinbma = sinb*cosa-cosb*sina;
4749 double mh = mySUSY.getMHl();
4750 double mH = mySUSY.getMHh();
4751 double mA = mySUSY.getMHa();
4752 gslpp::complex M1 = mySUSY.getM1();
4753 gslpp::complex M2 = mySUSY.getM2();
4754 gslpp::complex muH = mySUSY.getMuH();
4755 TEhat = mySUSY.getTEhat();
4756
4757 double cdenc = sqrt(2.0)*MW*cosb;
4758 double cdenn = MW*cosb;
4759 double g2 = gW;
4760 double g2t = g2/sqrt(2.0);
4761 double alph = mySUSY.getAle();
4762
4763 //DEBUG
4791
4792 gslpp::vector<gslpp::complex> BHFunctions(4, 0.);
4793
4794
4795 // Neutralino-Fermion-Sfermion couplings
4796 for (int a=0;a<4;a++) {
4797 for (int x=0;x<6;x++) {
4798 // LL + RL TYPE MI
4799 NRlE.assign(a, x, - (g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 0) + (mE/cdenn)*ON(a, 2)*myRl(x, 3)));
4800 NRlMU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 1) + (mMU/cdenn)*ON(a, 2)*myRl(x, 4)));
4801 NRlTAU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 2) + (mTAU/cdenn)*ON(a, 2)*myRl(x, 5)));
4802 // RL + RR TYPE MI
4803 NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2)*myRl(x, 0) + 2.0*ON(a, 0)*ttw*myRl(x, 3)));
4804 NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2)*myRl(x, 1) + 2.0*ON(a, 0)*ttw*myRl(x, 4)));
4805 NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2)*myRl(x, 2) + 2.0*ON(a, 0)*ttw*myRl(x, 5)));
4806// Commented expressions might be useful for complex neutralino mixing matrices
4807// NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2).conjugate()*myRl(x, 0) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 3)));
4808// NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2).conjugate()*myRl(x, 1) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 4)));
4809// NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2).conjugate()*myRl(x, 2) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 5)));
4810 }
4811 }
4812
4813 // Chargino-Fermion-Sfermion couplings
4814 for (int a=0;a<2;a++) {
4815 for (int x=0;x<3;x++) {
4816 // LL-TYPE
4817 CRlE.assign(a, x, - (g2*myV(a, 0)*myRn(x, 0)));
4818 CRlMU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 1)));
4819 CRlTAU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 2)));
4820 // LR-TYPE
4821 CLlE.assign(a, x, g2*mE/cdenc*myU(a, 1).conjugate()*myRn(x, 0));
4822 CLlMU.assign(a, x, g2*mMU/cdenc*myU(a, 1).conjugate()*myRn(x, 1));
4823 CLlTAU.assign(a, x, g2*mTAU/cdenc*myU(a, 1).conjugate()*myRn(x, 2));
4824 }
4825 }
4826
4827 gslpp::vector<gslpp::complex> sigma1(3, 0.);
4828 gslpp::vector<gslpp::complex> sigma2(3, 0.);
4829 gslpp::vector<gslpp::complex> sigma3(3, 0.);
4830 gslpp::vector<gslpp::complex> sigma4(3, 0.);
4831 gslpp::vector<gslpp::complex> sigma5(3, 0.);
4832 sigma1.assign(0, sina);
4833 sigma1.assign(1, -cosa);
4834 sigma1.assign(2, sinb*gslpp::complex::i());
4835 sigma2.assign(0, cosa);
4836 sigma2.assign(1, sina);
4837 sigma2.assign(2, -cosb*gslpp::complex::i());
4838 sigma3.assign(0, sinapb);
4839 sigma3.assign(1, -cosapb);
4840 sigma3.assign(2, 0.);
4841 sigma4.assign(0, -sina);
4842 sigma4.assign(1, cosa);
4843 sigma4.assign(2, 0.);
4844 sigma5.assign(0, -cosbma);
4845 sigma5.assign(1, sinbma);
4846 sigma5.assign(2, cos2b*gslpp::complex::i());
4847
4848 gslpp::matrix<gslpp::complex> Qpp(4, 4, 0.), Rpp(4, 4, 0.);
4849 gslpp::matrix<gslpp::complex> DL0(4, 4, 0.), DR0(4, 4, 0.), DL1(4, 4, 0.), DR1(4, 4, 0.), DL2(4, 4, 0.), DR2(4, 4, 0.);
4850 for (int a=0;a<4;a++) {
4851 for (int b=0;b<4;b++) {
4852 Qpp.assign(a, b, 0.5*(ON(a,2)*(ON(b,1)-ttw*ON(b,0))+ON(b,2)*(ON(a,1)-ttw*ON(a,0))) );
4853 Rpp.assign(a, b, (M2.conjugate()*ON(a,1)*ON(b,1) +M1.conjugate()*ON(a,0)*ON(b,0) -muH.conjugate()*(ON(a,2)*ON(b,3)+ON(a,3)*ON(b,2)))/(2.0*MW) );
4854 DL0.assign(b, a, -g2/sinb * (Qpp(a,b).conjugate()*sigma5(0) -Rpp(a,b).conjugate()*sigma2(0) +MNeig(a)/(2.0*MW)*sigma2(0)*delta_ab(a,b)) );
4855 DR0.assign(b, a, DL0(b,a).conjugate() );
4856 DL1.assign(b, a, -g2/sinb * (Qpp(a,b).conjugate()*sigma5(1) -Rpp(a,b).conjugate()*sigma2(1) +MNeig(a)/(2.0*MW)*sigma2(1)*delta_ab(a,b)) );
4857 DR1.assign(b, a, DL1(b,a).conjugate() );
4858 DL2.assign(b, a, -g2/sinb * (Qpp(a,b).conjugate()*sigma5(2) -Rpp(a,b).conjugate()*sigma2(2) +MNeig(a)/(2.0*MW)*sigma2(2)*delta_ab(a,b)) );
4859 DR2.assign(b, a, DL2(b,a).conjugate() );
4860 }
4861 }
4862
4863 gslpp::matrix<gslpp::complex> Qch(2, 2, 0.), Rch(2, 2, 0.);
4864 gslpp::matrix<gslpp::complex> WL0(2, 2, 0.), WR0(2, 2, 0.), WL1(2, 2, 0.), WR1(2, 2, 0.), WL2(2, 2, 0.), WR2(2, 2, 0.);
4865 for (int a=0;a<2;a++) {
4866 for (int b=0;b<2;b++) {
4867 Qch.assign(a, b, myU(a,1)*myV(b,0)/sqrt(2.0) );
4868 Rch.assign(a, b, (M2.conjugate()*myU(a,0)*myV(b,0) +muH.conjugate()*myU(a,1)*myV(b,1))/(2.0*MW) );
4869 WR0.assign(a, b, -g2/sinb * (Qch(a,b)*sigma5(0).conjugate() -Rch(a,b)*sigma2(0).conjugate() +MChi(a)/(2.0*MW)*sigma2(0).conjugate()*delta_ab(a,b)) );
4870 WL0.assign(b, a, WR0(a,b).conjugate() );
4871 WR1.assign(a, b, -g2/sinb * (Qch(a,b)*sigma5(1).conjugate() -Rch(a,b)*sigma2(1).conjugate() +MChi(a)/(2.0*MW)*sigma2(1).conjugate()*delta_ab(a,b)) );
4872 WL1.assign(b, a, WR1(a,b).conjugate() );
4873 WR2.assign(a, b, -g2/sinb * (Qch(a,b)*sigma5(2).conjugate() -Rch(a,b)*sigma2(2).conjugate() +MChi(a)/(2.0*MW)*sigma2(2).conjugate()*delta_ab(a,b)) );
4874 WL2.assign(b, a, WR2(a,b).conjugate() );
4875 }
4876 }
4877
4878 gslpp::vector<gslpp::complex> gLLE(3, 0.), gRRE(3, 0.), gLRE(3, 0.), gRLE(3, 0.);
4879 gslpp::vector<gslpp::complex> gLLMU(3, 0.), gRRMU(3, 0.), gLRMU(3, 0.), gRLMU(3, 0.);
4880 gslpp::vector<gslpp::complex> gLLTAU(3, 0.), gRRTAU(3, 0.), gLRTAU(3, 0.), gRLTAU(3, 0.);
4881 gslpp::vector<gslpp::complex> gLLNU(3, 0.);
4882 for (int p=0;p<3;p++) {
4883 gLLE.assign(p, MZ/ctw*sigma3(p)*(0.5-sw2) + mE*mE/(MW*cosb)*sigma4(p));
4884 gLLMU.assign(p, MZ/ctw*sigma3(p)*(0.5-sw2) + mMU*mMU/(MW*cosb)*sigma4(p));
4885 gLLTAU.assign(p, MZ/ctw*sigma3(p)*(0.5-sw2) + mTAU*mTAU/(MW*cosb)*sigma4(p));
4886 gRRE.assign(p, MZ/ctw*sigma3(p)*sw2 + mE*mE/(MW*cosb)*sigma4(p));
4887 gRRMU.assign(p, MZ/ctw*sigma3(p)*sw2 + mMU*mMU/(MW*cosb)*sigma4(p));
4888 gRRTAU.assign(p, MZ/ctw*sigma3(p)*sw2 + mTAU*mTAU/(MW*cosb)*sigma4(p));
4889 gLRE.assign(p, (-sigma1(p)*TEhat(0,0)/mE*v1/sqrt(2.0)-sigma2(p).conjugate()*muH)*mE/(2.0*MW*cosb));
4890 gLRMU.assign(p, (-sigma1(p)*TEhat(1,1)/mMU*v1/sqrt(2.0)-sigma2(p).conjugate()*muH)*mMU/(2.0*MW*cosb));
4891 gLRTAU.assign(p, (-sigma1(p)*TEhat(2,2)/mTAU*v1/sqrt(2.0)-sigma2(p).conjugate()*muH)*mTAU/(2.0*MW*cosb));
4892 gRLE.assign(p, gLRE(p).conjugate());
4893 gRLMU.assign(p, gLRMU(p).conjugate());
4894 gRLTAU.assign(p, gLRTAU(p).conjugate());
4895 gLLNU.assign(p, -0.5*MZ/ctw*sigma3(p));
4896 }
4897
4898 //Note that the dependence on the Rl and Rn elements here is different than the one in PhysRevD.73.055003
4899 //due to the different choice of flavour basis.
4900 //The replacement rules are:
4901 //AH basis (PhysRevD.73.055003) -> SLHA basis
4902 // (from 1 to 6) -> (from 0 to 5)
4903 // Rl(x,1) -> Rl(0,x)
4904 // Rl(x,2) -> Rl(3,x)
4905 // Rl(x,3) -> Rl(1,x)
4906 // Rl(x,4) -> Rl(4,x)
4907 // Rl(x,5) -> Rl(2,x)
4908 // Rl(x,6) -> Rl(5,x)
4909 //For Rn, the indices have to be swapped.
4910
4911 gslpp::matrix<gslpp::complex> Gl0(6, 6, 0.), Gl1(6, 6, 0.), Gl2(6, 6, 0.);
4912 for (int x=0;x<6;x++) {
4913 for (int y=0;y<6;y++) {
4914 Gl0.assign(x, y, -g2*( gLLE(0)*myRl(x,0).conjugate()*myRl(y,0) +gRRE(0)*myRl(x,3).conjugate()*myRl(y,3) +gLRE(0)*myRl(x,0).conjugate()*myRl(y,3) +gRLE(0)*myRl(x,3).conjugate()*myRl(y,0)
4915 +gLLMU(0)*myRl(x,1).conjugate()*myRl(y,1) +gRRMU(0)*myRl(x,4).conjugate()*myRl(y,4) +gLRMU(0)*myRl(x,1).conjugate()*myRl(y,4) +gRLMU(0)*myRl(x,4).conjugate()*myRl(y,1)
4916 +gLLTAU(0)*myRl(x,2).conjugate()*myRl(y,2) +gRRTAU(0)*myRl(x,5).conjugate()*myRl(y,5) +gLRTAU(0)*myRl(x,2).conjugate()*myRl(y,5) +gRLTAU(0)*myRl(x,5).conjugate()*myRl(y,2)));
4917 Gl1.assign(x, y, -g2*( gLLE(1)*myRl(x,0).conjugate()*myRl(y,0) +gRRE(1)*myRl(x,3).conjugate()*myRl(y,3) +gLRE(1)*myRl(x,0).conjugate()*myRl(y,3) +gRLE(1)*myRl(x,3).conjugate()*myRl(y,0)
4918 +gLLMU(1)*myRl(x,1).conjugate()*myRl(y,1) +gRRMU(1)*myRl(x,4).conjugate()*myRl(y,4) +gLRMU(1)*myRl(x,1).conjugate()*myRl(y,4) +gRLMU(1)*myRl(x,4).conjugate()*myRl(y,1)
4919 +gLLTAU(1)*myRl(x,2).conjugate()*myRl(y,2) +gRRTAU(1)*myRl(x,5).conjugate()*myRl(y,5) +gLRTAU(1)*myRl(x,2).conjugate()*myRl(y,5) +gRLTAU(1)*myRl(x,5).conjugate()*myRl(y,2)));
4920 Gl2.assign(x, y, -g2*( gLLE(2)*myRl(x,0).conjugate()*myRl(y,0) +gRRE(2)*myRl(x,3).conjugate()*myRl(y,3) +gLRE(2)*myRl(x,0).conjugate()*myRl(y,3) +gRLE(2)*myRl(x,3).conjugate()*myRl(y,0)
4921 +gLLMU(2)*myRl(x,1).conjugate()*myRl(y,1) +gRRMU(2)*myRl(x,4).conjugate()*myRl(y,4) +gLRMU(2)*myRl(x,1).conjugate()*myRl(y,4) +gRLMU(2)*myRl(x,4).conjugate()*myRl(y,1)
4922 +gLLTAU(2)*myRl(x,2).conjugate()*myRl(y,2) +gRRTAU(2)*myRl(x,5).conjugate()*myRl(y,5) +gLRTAU(2)*myRl(x,2).conjugate()*myRl(y,5) +gRLTAU(2)*myRl(x,5).conjugate()*myRl(y,2)));
4923 }
4924 }
4925
4926 gslpp::matrix<gslpp::complex> Gnu0(3, 3, 0.), Gnu1(3, 3, 0.), Gnu2(3, 3, 0.);
4927 for (int x=0;x<3;x++) {
4928 Gnu0.assign(x, x, -g2*gLLNU(0) );
4929 Gnu1.assign(x, x, -g2*gLLNU(1) );
4930 Gnu2.assign(x, x, -g2*gLLNU(2) );
4931 }
4932
4933 gslpp::vector<gslpp::complex> SRE(3, 0.), SLE(3, 0.), SRMU(3, 0.), SLMU(3, 0.), SRTAU(3, 0.), SLTAU(3, 0.);
4934 for (int p=0;p<3;p++) {
4935 SRE.assign(p, g2*mE/(2.0*MW*cosb) * sigma1(p));
4936 SLE.assign(p, g2*mE/(2.0*MW*cosb) * sigma1(p).conjugate());
4937 SRMU.assign(p, g2*mMU/(2.0*MW*cosb) * sigma1(p));
4938 SLMU.assign(p, g2*mMU/(2.0*MW*cosb) * sigma1(p).conjugate());
4939 SRTAU.assign(p, g2*mTAU/(2.0*MW*cosb) * sigma1(p));
4940 SLTAU.assign(p, g2*mTAU/(2.0*MW*cosb) * sigma1(p).conjugate());
4941 }
4942
4943 if (li_to_lj == 1) // mu -> 3e
4944 {
4945 // Neutralino contributions
4946 gslpp::complex HpengMuEEENR0 = 0.0;
4947 gslpp::complex HpengMuEEENL0 = 0.0;
4948 gslpp::complex HpengMuEEENR1 = 0.0;
4949 gslpp::complex HpengMuEEENL1 = 0.0;
4950 gslpp::complex HpengMuEEENR2 = 0.0;
4951 gslpp::complex HpengMuEEENL2 = 0.0;
4952 for (int x=0;x<6;x++) {
4953 for (int a=0;a<4;a++) {
4954 for (int b=0;b<4;b++) {
4955 // h R contribution
4956 HpengMuEEENR0 = HpengMuEEENR0 - 2.0*piconst*(NRlE(a,x)*DL0(a,b)*NLlMU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4957 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4958 +mMU*mMU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4959 +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4960 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
4961 +NLlE(a,x)*DR0(a,b)*NRlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4962 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
4963 +NLlE(a,x)*DR0(a,b)*NLlMU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4964 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4965 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
4966 +NRlE(a,x)*DL0(a,b)*NRlMU(b,x).conjugate()*mMU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4967 +NLlE(a,x)*DL0(a,b)*NLlMU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4968 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
4969 +NRlE(a,x)*DR0(a,b)*NRlMU(b,x).conjugate()*mMU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4970 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
4971 +NRlE(a,x)*DR0(a,b)*NLlMU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
4972 // h L contribution
4973 HpengMuEEENL0 = HpengMuEEENL0 - 2.0*piconst*(NLlE(a,x)*DR0(a,b)*NRlMU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4974 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4975 +mMU*mMU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4976 +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4977 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
4978 +NRlE(a,x)*DL0(a,b)*NLlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4979 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
4980 +NRlE(a,x)*DL0(a,b)*NRlMU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4981 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4982 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
4983 +NLlE(a,x)*DR0(a,b)*NLlMU(b,x).conjugate()*mMU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4984 +NRlE(a,x)*DR0(a,b)*NRlMU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4985 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
4986 +NLlE(a,x)*DL0(a,b)*NLlMU(b,x).conjugate()*mMU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4987 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
4988 +NLlE(a,x)*DL0(a,b)*NRlMU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
4989 // H R contribution
4990 HpengMuEEENR1 = HpengMuEEENR1 - 2.0*piconst*(NRlE(a,x)*DL1(a,b)*NLlMU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4991 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4992 +mMU*mMU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4993 +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4994 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
4995 +NLlE(a,x)*DR1(a,b)*NRlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4996 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
4997 +NLlE(a,x)*DR1(a,b)*NLlMU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4998 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
4999 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5000 +NRlE(a,x)*DL1(a,b)*NRlMU(b,x).conjugate()*mMU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5001 +NLlE(a,x)*DL1(a,b)*NLlMU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5002 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5003 +NRlE(a,x)*DR1(a,b)*NRlMU(b,x).conjugate()*mMU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5004 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5005 +NRlE(a,x)*DR1(a,b)*NLlMU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5006 // H L contribution
5007 HpengMuEEENL1 = HpengMuEEENL1 - 2.0*piconst*(NLlE(a,x)*DR1(a,b)*NRlMU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5008 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5009 +mMU*mMU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5010 +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5011 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
5012 +NRlE(a,x)*DL1(a,b)*NLlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5013 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5014 +NRlE(a,x)*DL1(a,b)*NRlMU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5015 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5016 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5017 +NLlE(a,x)*DR1(a,b)*NLlMU(b,x).conjugate()*mMU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5018 +NRlE(a,x)*DR1(a,b)*NRlMU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5019 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5020 +NLlE(a,x)*DL1(a,b)*NLlMU(b,x).conjugate()*mMU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5021 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5022 +NLlE(a,x)*DL1(a,b)*NRlMU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5023 // A R contribution
5024 HpengMuEEENR2 = HpengMuEEENR2 - 2.0*piconst*(NRlE(a,x)*DL2(a,b)*NLlMU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5025 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5026 +mMU*mMU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5027 +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5028 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
5029 +NLlE(a,x)*DR2(a,b)*NRlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5030 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5031 +NLlE(a,x)*DR2(a,b)*NLlMU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5032 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5033 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5034 +NRlE(a,x)*DL2(a,b)*NRlMU(b,x).conjugate()*mMU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5035 +NLlE(a,x)*DL2(a,b)*NLlMU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5036 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5037 +NRlE(a,x)*DR2(a,b)*NRlMU(b,x).conjugate()*mMU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5038 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5039 +NRlE(a,x)*DR2(a,b)*NLlMU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5040 // A L contribution
5041 HpengMuEEENL2 = HpengMuEEENL2 - 2.0*piconst*(NLlE(a,x)*DR2(a,b)*NRlMU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5042 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5043 +mMU*mMU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5044 +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5045 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
5046 +NRlE(a,x)*DL2(a,b)*NLlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5047 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5048 +NRlE(a,x)*DL2(a,b)*NRlMU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5049 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5050 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5051 +NLlE(a,x)*DR2(a,b)*NLlMU(b,x).conjugate()*mMU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5052 +NRlE(a,x)*DR2(a,b)*NRlMU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5053 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5054 +NLlE(a,x)*DL2(a,b)*NLlMU(b,x).conjugate()*mMU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5055 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5056 +NLlE(a,x)*DL2(a,b)*NRlMU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5057 }
5058 for (int y=0;y<6;y++) {
5059 // h R contribution
5060 HpengMuEEENR0 = HpengMuEEENR0 - 2.0*piconst*Gl0(x,y)*(-NLlE(a,x)*NLlMU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5061 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5062 -NRlE(a,x)*NRlMU(a,y).conjugate()*mMU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5063 -NRlE(a,x)*NLlMU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5064 // h L contribution
5065 HpengMuEEENL0 = HpengMuEEENL0 - 2.0*piconst*Gl0(x,y)*(-NRlE(a,x)*NRlMU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5066 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5067 -NLlE(a,x)*NLlMU(a,y).conjugate()*mMU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5068 -NLlE(a,x)*NRlMU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5069 // H R contribution
5070 HpengMuEEENR1 = HpengMuEEENR1 - 2.0*piconst*Gl1(x,y)*(-NLlE(a,x)*NLlMU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5071 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5072 -NRlE(a,x)*NRlMU(a,y).conjugate()*mMU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5073 -NRlE(a,x)*NLlMU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5074 // H L contribution
5075 HpengMuEEENL1 = HpengMuEEENL1 - 2.0*piconst*Gl1(x,y)*(-NRlE(a,x)*NRlMU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5076 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5077 -NLlE(a,x)*NLlMU(a,y).conjugate()*mMU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5078 -NLlE(a,x)*NRlMU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5079 // A R contribution
5080 HpengMuEEENR2 = HpengMuEEENR2 - 2.0*piconst*Gl2(x,y)*(-NLlE(a,x)*NLlMU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5081 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5082 -NRlE(a,x)*NRlMU(a,y).conjugate()*mMU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5083 -NRlE(a,x)*NLlMU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5084 // A L contribution
5085 HpengMuEEENL2 = HpengMuEEENL2 - 2.0*piconst*Gl2(x,y)*(-NRlE(a,x)*NRlMU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5086 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5087 -NLlE(a,x)*NLlMU(a,y).conjugate()*mMU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5088 -NLlE(a,x)*NRlMU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5089 }
5090 // h R contribution
5091 HpengMuEEENR0 = HpengMuEEENR0 - 2.0*piconst*(SRMU(0)/(mE*mE-mMU*mMU)*(-NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5092 +NLlE(a,x)*NRlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5093 -NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5094 +NRlE(a,x)*NLlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5095 +SRE(0)/(mMU*mMU-mE*mE)*(-NLlE(a,x)*NLlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5096 +NLlE(a,x)*NRlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5097 -NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5098 +NRlE(a,x)*NLlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5099 // h L contribution
5100 HpengMuEEENL0 = HpengMuEEENL0 - 2.0*piconst*(SLMU(0)/(mE*mE-mMU*mMU)*(-NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5101 +NRlE(a,x)*NLlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5102 -NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5103 +NLlE(a,x)*NRlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5104 +SLE(0)/(mMU*mMU-mE*mE)*(-NRlE(a,x)*NRlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5105 +NRlE(a,x)*NLlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5106 -NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5107 +NLlE(a,x)*NRlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5108 // H R contribution
5109 HpengMuEEENR1 = HpengMuEEENR1 - 2.0*piconst*(SRMU(1)/(mE*mE-mMU*mMU)*(-NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5110 +NLlE(a,x)*NRlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5111 -NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5112 +NRlE(a,x)*NLlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5113 +SRE(1)/(mMU*mMU-mE*mE)*(-NLlE(a,x)*NLlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5114 +NLlE(a,x)*NRlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5115 -NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5116 +NRlE(a,x)*NLlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5117 // H L contribution
5118 HpengMuEEENL1 = HpengMuEEENL1 - 2.0*piconst*(SLMU(1)/(mE*mE-mMU*mMU)*(-NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5119 +NRlE(a,x)*NLlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5120 -NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5121 +NLlE(a,x)*NRlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5122 +SLE(1)/(mMU*mMU-mE*mE)*(-NRlE(a,x)*NRlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5123 +NRlE(a,x)*NLlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5124 -NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5125 +NLlE(a,x)*NRlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5126 // A R contribution
5127 HpengMuEEENR2 = HpengMuEEENR2 - 2.0*piconst*(SRMU(2)/(mE*mE-mMU*mMU)*(-NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5128 +NLlE(a,x)*NRlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5129 -NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5130 +NRlE(a,x)*NLlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5131 +SRE(2)/(mMU*mMU-mE*mE)*(-NLlE(a,x)*NLlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5132 +NLlE(a,x)*NRlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5133 -NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5134 +NRlE(a,x)*NLlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5135 // A L contribution
5136 HpengMuEEENL2 = HpengMuEEENL2 - 2.0*piconst*(SLMU(2)/(mE*mE-mMU*mMU)*(-NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5137 +NRlE(a,x)*NLlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5138 -NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5139 +NLlE(a,x)*NRlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5140 +SLE(2)/(mMU*mMU-mE*mE)*(-NRlE(a,x)*NRlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5141 +NRlE(a,x)*NLlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5142 -NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5143 +NLlE(a,x)*NRlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5144 }
5145 }
5146
5147 // summing up the h (0), H (1) and A (2) parts
5148 gslpp::complex B2HiggsnR = (-0.5*HpengMuEEENR0*SLE(0)/(mh*mh)-0.5*HpengMuEEENR1*SLE(1)/(mH*mH)-0.5*HpengMuEEENR2*SLE(2)/(mA*mA))/(4.0*pi*alph);
5149 gslpp::complex B2HiggsnL = (-0.5*HpengMuEEENL0*SRE(0)/(mh*mh)-0.5*HpengMuEEENL1*SRE(1)/(mH*mH)-0.5*HpengMuEEENL2*SRE(2)/(mA*mA))/(4.0*pi*alph);
5150 gslpp::complex B3HiggsnR = (HpengMuEEENR0*SRE(0)/(mh*mh)+HpengMuEEENR1*SRE(1)/(mH*mH)+HpengMuEEENR2*SRE(2)/(mA*mA))/(4.0*pi*alph);
5151 gslpp::complex B3HiggsnL = (HpengMuEEENL0*SLE(0)/(mh*mh)+HpengMuEEENL1*SLE(1)/(mH*mH)+HpengMuEEENL2*SLE(2)/(mA*mA))/(4.0*pi*alph);
5152
5153 // Chargino contributions
5154 gslpp::complex HpengMuEEECR0 = 0.0;
5155 gslpp::complex HpengMuEEECL0 = 0.0;
5156 gslpp::complex HpengMuEEECR1 = 0.0;
5157 gslpp::complex HpengMuEEECL1 = 0.0;
5158 gslpp::complex HpengMuEEECR2 = 0.0;
5159 gslpp::complex HpengMuEEECL2 = 0.0;
5160 for (int x=0;x<3;x++) {
5161 for (int a=0;a<2;a++) {
5162 for (int b=0;b<2;b++) {
5163 // h R contribution
5164 HpengMuEEECR0 = HpengMuEEECR0 - 2.0*piconst*(CRlE(a,x)*WL0(a,b)*CLlMU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
5165 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5166 +mMU*mMU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5167 +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5168 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
5169 +CLlE(a,x)*WR0(a,b)*CRlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5170 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5171 +CLlE(a,x)*WR0(a,b)*CLlMU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5172 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5173 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5174 +CRlE(a,x)*WL0(a,b)*CRlMU(b,x).conjugate()*mMU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5175 +CLlE(a,x)*WL0(a,b)*CLlMU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5176 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5177 +CRlE(a,x)*WR0(a,b)*CRlMU(b,x).conjugate()*mMU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5178 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5179 +CRlE(a,x)*WR0(a,b)*CLlMU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
5180 // h L contribution
5181 HpengMuEEECL0 = HpengMuEEECL0 - 2.0*piconst*(CLlE(a,x)*WR0(a,b)*CRlMU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
5182 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5183 +mMU*mMU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5184 +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5185 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
5186 +CRlE(a,x)*WL0(a,b)*CLlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5187 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5188 +CRlE(a,x)*WL0(a,b)*CRlMU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5189 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5190 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5191 +CLlE(a,x)*WR0(a,b)*CLlMU(b,x).conjugate()*mMU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5192 +CRlE(a,x)*WR0(a,b)*CRlMU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5193 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5194 +CLlE(a,x)*WL0(a,b)*CLlMU(b,x).conjugate()*mMU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5195 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5196 +CLlE(a,x)*WL0(a,b)*CRlMU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
5197 // H R contribution
5198 HpengMuEEECR1 = HpengMuEEECR1 - 2.0*piconst*(CRlE(a,x)*WL1(a,b)*CLlMU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
5199 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5200 +mMU*mMU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5201 +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5202 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
5203 +CLlE(a,x)*WR1(a,b)*CRlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5204 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5205 +CLlE(a,x)*WR1(a,b)*CLlMU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5206 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5207 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5208 +CRlE(a,x)*WL1(a,b)*CRlMU(b,x).conjugate()*mMU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5209 +CLlE(a,x)*WL1(a,b)*CLlMU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5210 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5211 +CRlE(a,x)*WR1(a,b)*CRlMU(b,x).conjugate()*mMU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5212 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5213 +CRlE(a,x)*WR1(a,b)*CLlMU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
5214 // H L contribution
5215 HpengMuEEECL1 = HpengMuEEECL1 - 2.0*piconst*(CLlE(a,x)*WR1(a,b)*CRlMU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
5216 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5217 +mMU*mMU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5218 +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5219 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
5220 +CRlE(a,x)*WL1(a,b)*CLlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5221 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5222 +CRlE(a,x)*WL1(a,b)*CRlMU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5223 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5224 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5225 +CLlE(a,x)*WR1(a,b)*CLlMU(b,x).conjugate()*mMU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5226 +CRlE(a,x)*WR1(a,b)*CRlMU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5227 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5228 +CLlE(a,x)*WL1(a,b)*CLlMU(b,x).conjugate()*mMU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5229 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5230 +CLlE(a,x)*WL1(a,b)*CRlMU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
5231 // A R contribution
5232 HpengMuEEECR2 = HpengMuEEECR2 - 2.0*piconst*(CRlE(a,x)*WL2(a,b)*CLlMU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
5233 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5234 +mMU*mMU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5235 +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5236 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
5237 +CLlE(a,x)*WR2(a,b)*CRlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5238 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5239 +CLlE(a,x)*WR2(a,b)*CLlMU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5240 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5241 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5242 +CRlE(a,x)*WL2(a,b)*CRlMU(b,x).conjugate()*mMU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5243 +CLlE(a,x)*WL2(a,b)*CLlMU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5244 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5245 +CRlE(a,x)*WR2(a,b)*CRlMU(b,x).conjugate()*mMU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5246 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5247 +CRlE(a,x)*WR2(a,b)*CLlMU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
5248 // A L contribution
5249 HpengMuEEECL2 = HpengMuEEECL2 - 2.0*piconst*(CLlE(a,x)*WR2(a,b)*CRlMU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
5250 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5251 +mMU*mMU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5252 +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5253 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
5254 +CRlE(a,x)*WL2(a,b)*CLlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5255 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5256 +CRlE(a,x)*WL2(a,b)*CRlMU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5257 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5258 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5259 +CLlE(a,x)*WR2(a,b)*CLlMU(b,x).conjugate()*mMU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5260 +CRlE(a,x)*WR2(a,b)*CRlMU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5261 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5262 +CLlE(a,x)*WL2(a,b)*CLlMU(b,x).conjugate()*mMU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5263 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5264 +CLlE(a,x)*WL2(a,b)*CRlMU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
5265 }
5266 for (int y=0;y<3;y++) {
5267 // h R contribution
5268 HpengMuEEECR0 = HpengMuEEECR0 - 2.0*piconst*Gnu0(x,y)*(-CLlE(a,x)*CLlMU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5269 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
5270 -CRlE(a,x)*CRlMU(a,y).conjugate()*mMU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5271 -CRlE(a,x)*CLlMU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
5272 // h L contribution
5273 HpengMuEEECL0 = HpengMuEEECL0 - 2.0*piconst*Gnu0(x,y)*(-CRlE(a,x)*CRlMU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5274 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
5275 -CLlE(a,x)*CLlMU(a,y).conjugate()*mMU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5276 -CLlE(a,x)*CRlMU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
5277 // H R contribution
5278 HpengMuEEECR1 = HpengMuEEECR1 - 2.0*piconst*Gnu1(x,y)*(-CLlE(a,x)*CLlMU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5279 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
5280 -CRlE(a,x)*CRlMU(a,y).conjugate()*mMU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5281 -CRlE(a,x)*CLlMU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
5282 // H L contribution
5283 HpengMuEEECL1 = HpengMuEEECL1 - 2.0*piconst*Gnu1(x,y)*(-CRlE(a,x)*CRlMU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5284 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
5285 -CLlE(a,x)*CLlMU(a,y).conjugate()*mMU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5286 -CLlE(a,x)*CRlMU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
5287 // A R contribution
5288 HpengMuEEECR2 = HpengMuEEECR2 - 2.0*piconst*Gnu2(x,y)*(-CLlE(a,x)*CLlMU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5289 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
5290 -CRlE(a,x)*CRlMU(a,y).conjugate()*mMU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5291 -CRlE(a,x)*CLlMU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
5292 // A L contribution
5293 HpengMuEEECL2 = HpengMuEEECL2 - 2.0*piconst*Gnu2(x,y)*(-CRlE(a,x)*CRlMU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5294 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
5295 -CLlE(a,x)*CLlMU(a,y).conjugate()*mMU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5296 -CLlE(a,x)*CRlMU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
5297 }
5298 // h R contribution
5299 HpengMuEEECR0 = HpengMuEEECR0 - 2.0*piconst*(SRMU(0)/(mE*mE-mMU*mMU)*(-CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5300 +CLlE(a,x)*CRlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5301 -CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5302 +CRlE(a,x)*CLlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
5303 +SRE(0)/(mMU*mMU-mE*mE)*(-CLlE(a,x)*CLlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5304 +CLlE(a,x)*CRlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5305 -CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5306 +CRlE(a,x)*CLlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
5307 // h L contribution
5308 HpengMuEEECL0 = HpengMuEEECL0 - 2.0*piconst*(SLMU(0)/(mE*mE-mMU*mMU)*(-CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5309 +CRlE(a,x)*CLlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5310 -CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5311 +CLlE(a,x)*CRlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
5312 +SLE(0)/(mMU*mMU-mE*mE)*(-CRlE(a,x)*CRlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5313 +CRlE(a,x)*CLlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5314 -CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5315 +CLlE(a,x)*CRlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
5316 // H R contribution
5317 HpengMuEEECR1 = HpengMuEEECR1 - 2.0*piconst*(SRMU(1)/(mE*mE-mMU*mMU)*(-CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5318 +CLlE(a,x)*CRlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5319 -CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5320 +CRlE(a,x)*CLlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
5321 +SRE(1)/(mMU*mMU-mE*mE)*(-CLlE(a,x)*CLlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5322 +CLlE(a,x)*CRlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5323 -CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5324 +CRlE(a,x)*CLlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
5325 // H L contribution
5326 HpengMuEEECL1 = HpengMuEEECL1 - 2.0*piconst*(SLMU(1)/(mE*mE-mMU*mMU)*(-CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5327 +CRlE(a,x)*CLlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5328 -CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5329 +CLlE(a,x)*CRlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
5330 +SLE(1)/(mMU*mMU-mE*mE)*(-CRlE(a,x)*CRlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5331 +CRlE(a,x)*CLlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5332 -CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5333 +CLlE(a,x)*CRlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
5334 // A R contribution
5335 HpengMuEEECR2 = HpengMuEEECR2 - 2.0*piconst*(SRMU(2)/(mE*mE-mMU*mMU)*(-CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5336 +CLlE(a,x)*CRlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5337 -CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5338 +CRlE(a,x)*CLlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
5339 +SRE(2)/(mMU*mMU-mE*mE)*(-CLlE(a,x)*CLlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5340 +CLlE(a,x)*CRlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5341 -CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5342 +CRlE(a,x)*CLlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
5343 // A L contribution
5344 HpengMuEEECL2 = HpengMuEEECL2 - 2.0*piconst*(SLMU(2)/(mE*mE-mMU*mMU)*(-CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5345 +CRlE(a,x)*CLlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5346 -CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5347 +CLlE(a,x)*CRlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
5348 +SLE(2)/(mMU*mMU-mE*mE)*(-CRlE(a,x)*CRlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5349 +CRlE(a,x)*CLlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5350 -CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5351 +CLlE(a,x)*CRlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
5352 }
5353 }
5354
5355 // summing up the h (0), H (1) and A (2) parts
5356 gslpp::complex B2HiggscR = (-0.5*HpengMuEEECR0*SLE(0)/(mh*mh)-0.5*HpengMuEEECR1*SLE(1)/(mH*mH)-0.5*HpengMuEEECR2*SLE(2)/(mA*mA))/(4.0*pi*alph);
5357 gslpp::complex B2HiggscL = (-0.5*HpengMuEEECL0*SRE(0)/(mh*mh)-0.5*HpengMuEEECL1*SRE(1)/(mH*mH)-0.5*HpengMuEEECL2*SRE(2)/(mA*mA))/(4.0*pi*alph);
5358 gslpp::complex B3HiggscR = (HpengMuEEECR0*SRE(0)/(mh*mh)+HpengMuEEECR1*SRE(1)/(mH*mH)+HpengMuEEECR2*SRE(2)/(mA*mA))/(4.0*pi*alph);
5359 gslpp::complex B3HiggscL = (HpengMuEEECL0*SLE(0)/(mh*mh)+HpengMuEEECL1*SLE(1)/(mH*mH)+HpengMuEEECL2*SLE(2)/(mA*mA))/(4.0*pi*alph);
5360
5361 // write B2H and B3H into a vector for mu->3e
5362 BHFunctions.assign(0, B2HiggsnR+B2HiggscR );
5363 BHFunctions.assign(1, B2HiggsnL+B2HiggscL );
5364 BHFunctions.assign(2, B3HiggsnR+B3HiggscR );
5365 BHFunctions.assign(3, B3HiggsnL+B3HiggscL );
5366 }
5367
5368 if (li_to_lj == 2) // tau -> 3mu
5369 {
5370 // Neutralino contributions
5371 gslpp::complex HpengTauMUMUMUNR0 = 0.0;
5372 gslpp::complex HpengTauMUMUMUNL0 = 0.0;
5373 gslpp::complex HpengTauMUMUMUNR1 = 0.0;
5374 gslpp::complex HpengTauMUMUMUNL1 = 0.0;
5375 gslpp::complex HpengTauMUMUMUNR2 = 0.0;
5376 gslpp::complex HpengTauMUMUMUNL2 = 0.0;
5377 for (int x=0;x<6;x++) {
5378 for (int a=0;a<4;a++) {
5379 for (int b=0;b<4;b++) {
5380 // h R contribution
5381 HpengTauMUMUMUNR0 = HpengTauMUMUMUNR0 - 2.0*piconst*(NRlMU(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5382 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5383 +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5384 +mMU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5385 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
5386 +NLlMU(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5387 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5388 +NLlMU(a,x)*DR0(a,b)*NLlTAU(b,x).conjugate()*mMU*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5389 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5390 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5391 +NRlMU(a,x)*DL0(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5392 +NLlMU(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*mMU*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5393 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5394 +NRlMU(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5395 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5396 +NRlMU(a,x)*DR0(a,b)*NLlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5397 // h L contribution
5398 HpengTauMUMUMUNL0 = HpengTauMUMUMUNL0 - 2.0*piconst*(NLlMU(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5399 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5400 +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5401 +mMU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5402 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
5403 +NRlMU(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5404 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5405 +NRlMU(a,x)*DL0(a,b)*NRlTAU(b,x).conjugate()*mMU*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5406 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5407 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5408 +NLlMU(a,x)*DR0(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5409 +NRlMU(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*mMU*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5410 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5411 +NLlMU(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5412 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5413 +NLlMU(a,x)*DL0(a,b)*NRlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5414 // H R contribution
5415 HpengTauMUMUMUNR1 = HpengTauMUMUMUNR1 - 2.0*piconst*(NRlMU(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5416 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5417 +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5418 +mMU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5419 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
5420 +NLlMU(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5421 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5422 +NLlMU(a,x)*DR1(a,b)*NLlTAU(b,x).conjugate()*mMU*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5423 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5424 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5425 +NRlMU(a,x)*DL1(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5426 +NLlMU(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*mMU*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5427 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5428 +NRlMU(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5429 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5430 +NRlMU(a,x)*DR1(a,b)*NLlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5431 // H L contribution
5432 HpengTauMUMUMUNL1 = HpengTauMUMUMUNL1 - 2.0*piconst*(NLlMU(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5433 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5434 +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5435 +mMU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5436 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
5437 +NRlMU(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5438 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5439 +NRlMU(a,x)*DL1(a,b)*NRlTAU(b,x).conjugate()*mMU*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5440 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5441 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5442 +NLlMU(a,x)*DR1(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5443 +NRlMU(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*mMU*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5444 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5445 +NLlMU(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5446 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5447 +NLlMU(a,x)*DL1(a,b)*NRlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5448 // A R contribution
5449 HpengTauMUMUMUNR2 = HpengTauMUMUMUNR2 - 2.0*piconst*(NRlMU(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5450 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5451 +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5452 +mMU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5453 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
5454 +NLlMU(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5455 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5456 +NLlMU(a,x)*DR2(a,b)*NLlTAU(b,x).conjugate()*mMU*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5457 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5458 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5459 +NRlMU(a,x)*DL2(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5460 +NLlMU(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*mMU*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5461 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5462 +NRlMU(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5463 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5464 +NRlMU(a,x)*DR2(a,b)*NLlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5465 // A L contribution
5466 HpengTauMUMUMUNL2 = HpengTauMUMUMUNL2 - 2.0*piconst*(NLlMU(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5467 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5468 +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5469 +mMU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5470 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
5471 +NRlMU(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5472 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5473 +NRlMU(a,x)*DL2(a,b)*NRlTAU(b,x).conjugate()*mMU*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5474 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5475 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5476 +NLlMU(a,x)*DR2(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5477 +NRlMU(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*mMU*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5478 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5479 +NLlMU(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5480 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5481 +NLlMU(a,x)*DL2(a,b)*NRlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5482 }
5483 for (int y=0;y<6;y++) {
5484 // h R contribution
5485 HpengTauMUMUMUNR0 = HpengTauMUMUMUNR0 - 2.0*piconst*Gl0(x,y)*(-NLlMU(a,x)*NLlTAU(a,y).conjugate()*mMU*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5486 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5487 -NRlMU(a,x)*NRlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5488 -NRlMU(a,x)*NLlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5489 // h L contribution
5490 HpengTauMUMUMUNL0 = HpengTauMUMUMUNL0 - 2.0*piconst*Gl0(x,y)*(-NRlMU(a,x)*NRlTAU(a,y).conjugate()*mMU*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5491 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5492 -NLlMU(a,x)*NLlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5493 -NLlMU(a,x)*NRlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5494 // H R contribution
5495 HpengTauMUMUMUNR1 = HpengTauMUMUMUNR1 - 2.0*piconst*Gl1(x,y)*(-NLlMU(a,x)*NLlTAU(a,y).conjugate()*mMU*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5496 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5497 -NRlMU(a,x)*NRlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5498 -NRlMU(a,x)*NLlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5499 // H L contribution
5500 HpengTauMUMUMUNL1 = HpengTauMUMUMUNL1 - 2.0*piconst*Gl1(x,y)*(-NRlMU(a,x)*NRlTAU(a,y).conjugate()*mMU*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5501 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5502 -NLlMU(a,x)*NLlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5503 -NLlMU(a,x)*NRlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5504 // A R contribution
5505 HpengTauMUMUMUNR2 = HpengTauMUMUMUNR2 - 2.0*piconst*Gl2(x,y)*(-NLlMU(a,x)*NLlTAU(a,y).conjugate()*mMU*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5506 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5507 -NRlMU(a,x)*NRlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5508 -NRlMU(a,x)*NLlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5509 // A L contribution
5510 HpengTauMUMUMUNL2 = HpengTauMUMUMUNL2 - 2.0*piconst*Gl2(x,y)*(-NRlMU(a,x)*NRlTAU(a,y).conjugate()*mMU*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5511 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5512 -NLlMU(a,x)*NLlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5513 -NLlMU(a,x)*NRlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5514 }
5515 // h R contribution
5516 HpengTauMUMUMUNR0 = HpengTauMUMUMUNR0 - 2.0*piconst*(SRTAU(0)/(mMU*mMU-mTAU*mTAU)*(-NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5517 +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5518 -NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5519 +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5520 +SRMU(0)/(mTAU*mTAU-mMU*mMU)*(-NLlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5521 +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5522 -NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5523 +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5524 // h L contribution
5525 HpengTauMUMUMUNL0 = HpengTauMUMUMUNL0 - 2.0*piconst*(SLTAU(0)/(mMU*mMU-mTAU*mTAU)*(-NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5526 +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5527 -NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5528 +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5529 +SLMU(0)/(mTAU*mTAU-mMU*mMU)*(-NRlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5530 +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5531 -NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5532 +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5533 // H R contribution
5534 HpengTauMUMUMUNR1 = HpengTauMUMUMUNR1 - 2.0*piconst*(SRTAU(1)/(mMU*mMU-mTAU*mTAU)*(-NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5535 +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5536 -NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5537 +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5538 +SRMU(1)/(mTAU*mTAU-mMU*mMU)*(-NLlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5539 +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5540 -NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5541 +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5542 // H L contribution
5543 HpengTauMUMUMUNL1 = HpengTauMUMUMUNL1 - 2.0*piconst*(SLTAU(1)/(mMU*mMU-mTAU*mTAU)*(-NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5544 +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5545 -NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5546 +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5547 +SLMU(1)/(mTAU*mTAU-mMU*mMU)*(-NRlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5548 +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5549 -NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5550 +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5551 // A R contribution
5552 HpengTauMUMUMUNR2 = HpengTauMUMUMUNR2 - 2.0*piconst*(SRTAU(2)/(mMU*mMU-mTAU*mTAU)*(-NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5553 +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5554 -NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5555 +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5556 +SRMU(2)/(mTAU*mTAU-mMU*mMU)*(-NLlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5557 +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5558 -NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5559 +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5560 // A L contribution
5561 HpengTauMUMUMUNL2 = HpengTauMUMUMUNL2 - 2.0*piconst*(SLTAU(2)/(mMU*mMU-mTAU*mTAU)*(-NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5562 +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5563 -NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5564 +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5565 +SLMU(2)/(mTAU*mTAU-mMU*mMU)*(-NRlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5566 +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5567 -NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5568 +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5569 }
5570 }
5571
5572 // summing up the h (0), H (1) and A (2) parts
5573 gslpp::complex B2HiggsnRtm = (-0.5*HpengTauMUMUMUNR0*SLMU(0)/(mh*mh)-0.5*HpengTauMUMUMUNR1*SLMU(1)/(mH*mH)-0.5*HpengTauMUMUMUNR2*SLMU(2)/(mA*mA))/(4.0*pi*alph);
5574 gslpp::complex B2HiggsnLtm = (-0.5*HpengTauMUMUMUNL0*SRMU(0)/(mh*mh)-0.5*HpengTauMUMUMUNL1*SRMU(1)/(mH*mH)-0.5*HpengTauMUMUMUNL2*SRMU(2)/(mA*mA))/(4.0*pi*alph);
5575 gslpp::complex B3HiggsnRtm = (HpengTauMUMUMUNR0*SRMU(0)/(mh*mh)+HpengTauMUMUMUNR1*SRMU(1)/(mH*mH)+HpengTauMUMUMUNR2*SRMU(2)/(mA*mA))/(4.0*pi*alph);
5576 gslpp::complex B3HiggsnLtm = (HpengTauMUMUMUNL0*SLMU(0)/(mh*mh)+HpengTauMUMUMUNL1*SLMU(1)/(mH*mH)+HpengTauMUMUMUNL2*SLMU(2)/(mA*mA))/(4.0*pi*alph);
5577
5578 // Chargino contributions
5579 gslpp::complex HpengTauMUMUMUCR0 = 0.0;
5580 gslpp::complex HpengTauMUMUMUCL0 = 0.0;
5581 gslpp::complex HpengTauMUMUMUCR1 = 0.0;
5582 gslpp::complex HpengTauMUMUMUCL1 = 0.0;
5583 gslpp::complex HpengTauMUMUMUCR2 = 0.0;
5584 gslpp::complex HpengTauMUMUMUCL2 = 0.0;
5585 for (int x=0;x<3;x++) {
5586 for (int a=0;a<2;a++) {
5587 for (int b=0;b<2;b++) {
5588 // h R contribution
5589 HpengTauMUMUMUCR0 = HpengTauMUMUMUCR0 - 2.0*piconst*(CRlMU(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
5590 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5591 +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5592 +mMU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5593 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
5594 +CLlMU(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5595 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5596 +CLlMU(a,x)*WR0(a,b)*CLlTAU(b,x).conjugate()*mMU*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5597 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5598 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5599 +CRlMU(a,x)*WL0(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5600 +CLlMU(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*mMU*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5601 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5602 +CRlMU(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5603 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5604 +CRlMU(a,x)*WR0(a,b)*CLlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
5605 // h L contribution
5606 HpengTauMUMUMUCL0 = HpengTauMUMUMUCL0 - 2.0*piconst*(CLlMU(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
5607 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5608 +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5609 +mMU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5610 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
5611 +CRlMU(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5612 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5613 +CRlMU(a,x)*WL0(a,b)*CRlTAU(b,x).conjugate()*mMU*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5614 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5615 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5616 +CLlMU(a,x)*WR0(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5617 +CRlMU(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*mMU*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5618 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5619 +CLlMU(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5620 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5621 +CLlMU(a,x)*WL0(a,b)*CRlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
5622 // H R contribution
5623 HpengTauMUMUMUCR1 = HpengTauMUMUMUCR1 - 2.0*piconst*(CRlMU(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
5624 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5625 +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5626 +mMU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5627 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
5628 +CLlMU(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5629 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5630 +CLlMU(a,x)*WR1(a,b)*CLlTAU(b,x).conjugate()*mMU*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5631 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5632 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5633 +CRlMU(a,x)*WL1(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5634 +CLlMU(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*mMU*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5635 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5636 +CRlMU(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5637 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5638 +CRlMU(a,x)*WR1(a,b)*CLlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
5639 // H L contribution
5640 HpengTauMUMUMUCL1 = HpengTauMUMUMUCL1 - 2.0*piconst*(CLlMU(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
5641 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5642 +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5643 +mMU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5644 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
5645 +CRlMU(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5646 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5647 +CRlMU(a,x)*WL1(a,b)*CRlTAU(b,x).conjugate()*mMU*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5648 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5649 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5650 +CLlMU(a,x)*WR1(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5651 +CRlMU(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*mMU*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5652 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5653 +CLlMU(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5654 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5655 +CLlMU(a,x)*WL1(a,b)*CRlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
5656 // A R contribution
5657 HpengTauMUMUMUCR2 = HpengTauMUMUMUCR2 - 2.0*piconst*(CRlMU(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
5658 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5659 +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5660 +mMU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5661 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
5662 +CLlMU(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5663 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5664 +CLlMU(a,x)*WR2(a,b)*CLlTAU(b,x).conjugate()*mMU*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5665 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5666 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5667 +CRlMU(a,x)*WL2(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5668 +CLlMU(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*mMU*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5669 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5670 +CRlMU(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5671 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5672 +CRlMU(a,x)*WR2(a,b)*CLlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
5673 // A L contribution
5674 HpengTauMUMUMUCL2 = HpengTauMUMUMUCL2 - 2.0*piconst*(CLlMU(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
5675 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5676 +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5677 +mMU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5678 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
5679 +CRlMU(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5680 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5681 +CRlMU(a,x)*WL2(a,b)*CRlTAU(b,x).conjugate()*mMU*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5682 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5683 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5684 +CLlMU(a,x)*WR2(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5685 +CRlMU(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*mMU*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5686 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5687 +CLlMU(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
5688 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
5689 +CLlMU(a,x)*WL2(a,b)*CRlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
5690 }
5691 for (int y=0;y<3;y++) {
5692 // h R contribution
5693 HpengTauMUMUMUCR0 = HpengTauMUMUMUCR0 - 2.0*piconst*Gnu0(x,y)*(-CLlMU(a,x)*CLlTAU(a,y).conjugate()*mMU*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5694 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
5695 -CRlMU(a,x)*CRlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5696 -CRlMU(a,x)*CLlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
5697 // h L contribution
5698 HpengTauMUMUMUCL0 = HpengTauMUMUMUCL0 - 2.0*piconst*Gnu0(x,y)*(-CRlMU(a,x)*CRlTAU(a,y).conjugate()*mMU*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5699 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
5700 -CLlMU(a,x)*CLlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5701 -CLlMU(a,x)*CRlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
5702 // H R contribution
5703 HpengTauMUMUMUCR1 = HpengTauMUMUMUCR1 - 2.0*piconst*Gnu1(x,y)*(-CLlMU(a,x)*CLlTAU(a,y).conjugate()*mMU*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5704 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
5705 -CRlMU(a,x)*CRlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5706 -CRlMU(a,x)*CLlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
5707 // H L contribution
5708 HpengTauMUMUMUCL1 = HpengTauMUMUMUCL1 - 2.0*piconst*Gnu1(x,y)*(-CRlMU(a,x)*CRlTAU(a,y).conjugate()*mMU*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5709 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
5710 -CLlMU(a,x)*CLlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5711 -CLlMU(a,x)*CRlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
5712 // A R contribution
5713 HpengTauMUMUMUCR2 = HpengTauMUMUMUCR2 - 2.0*piconst*Gnu2(x,y)*(-CLlMU(a,x)*CLlTAU(a,y).conjugate()*mMU*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5714 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
5715 -CRlMU(a,x)*CRlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5716 -CRlMU(a,x)*CLlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
5717 // A L contribution
5718 HpengTauMUMUMUCL2 = HpengTauMUMUMUCL2 - 2.0*piconst*Gnu2(x,y)*(-CRlMU(a,x)*CRlTAU(a,y).conjugate()*mMU*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5719 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
5720 -CLlMU(a,x)*CLlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
5721 -CLlMU(a,x)*CRlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
5722 }
5723 // h R contribution
5724 HpengTauMUMUMUCR0 = HpengTauMUMUMUCR0 - 2.0*piconst*(SRTAU(0)/(mMU*mMU-mTAU*mTAU)*(-CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5725 +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5726 -CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5727 +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
5728 +SRMU(0)/(mTAU*mTAU-mMU*mMU)*(-CLlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5729 +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5730 -CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5731 +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
5732 // h L contribution
5733 HpengTauMUMUMUCL0 = HpengTauMUMUMUCL0 - 2.0*piconst*(SLTAU(0)/(mMU*mMU-mTAU*mTAU)*(-CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5734 +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5735 -CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5736 +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
5737 +SLMU(0)/(mTAU*mTAU-mMU*mMU)*(-CRlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5738 +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5739 -CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5740 +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
5741 // H R contribution
5742 HpengTauMUMUMUCR1 = HpengTauMUMUMUCR1 - 2.0*piconst*(SRTAU(1)/(mMU*mMU-mTAU*mTAU)*(-CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5743 +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5744 -CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5745 +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
5746 +SRMU(1)/(mTAU*mTAU-mMU*mMU)*(-CLlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5747 +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5748 -CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5749 +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
5750 // H L contribution
5751 HpengTauMUMUMUCL1 = HpengTauMUMUMUCL1 - 2.0*piconst*(SLTAU(1)/(mMU*mMU-mTAU*mTAU)*(-CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5752 +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5753 -CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5754 +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
5755 +SLMU(1)/(mTAU*mTAU-mMU*mMU)*(-CRlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5756 +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5757 -CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5758 +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
5759 // A R contribution
5760 HpengTauMUMUMUCR2 = HpengTauMUMUMUCR2 - 2.0*piconst*(SRTAU(2)/(mMU*mMU-mTAU*mTAU)*(-CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5761 +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5762 -CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5763 +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
5764 +SRMU(2)/(mTAU*mTAU-mMU*mMU)*(-CLlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5765 +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5766 -CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5767 +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
5768 // A L contribution
5769 HpengTauMUMUMUCL2 = HpengTauMUMUMUCL2 - 2.0*piconst*(SLTAU(2)/(mMU*mMU-mTAU*mTAU)*(-CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5770 +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5771 -CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5772 +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
5773 +SLMU(2)/(mTAU*mTAU-mMU*mMU)*(-CRlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5774 +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5775 -CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
5776 +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
5777 }
5778 }
5779
5780 // summing up the h (0), H (1) and A (2) parts
5781 gslpp::complex B2HiggscRtm = (-0.5*HpengTauMUMUMUCR0*SLMU(0)/(mh*mh)-0.5*HpengTauMUMUMUCR1*SLMU(1)/(mH*mH)-0.5*HpengTauMUMUMUCR2*SLMU(2)/(mA*mA))/(4.0*pi*alph);
5782 gslpp::complex B2HiggscLtm = (-0.5*HpengTauMUMUMUCL0*SRMU(0)/(mh*mh)-0.5*HpengTauMUMUMUCL1*SRMU(1)/(mH*mH)-0.5*HpengTauMUMUMUCL2*SRMU(2)/(mA*mA))/(4.0*pi*alph);
5783 gslpp::complex B3HiggscRtm = (HpengTauMUMUMUCR0*SRMU(0)/(mh*mh)+HpengTauMUMUMUCR1*SRMU(1)/(mH*mH)+HpengTauMUMUMUCR2*SRMU(2)/(mA*mA))/(4.0*pi*alph);
5784 gslpp::complex B3HiggscLtm = (HpengTauMUMUMUCL0*SLMU(0)/(mh*mh)+HpengTauMUMUMUCL1*SLMU(1)/(mH*mH)+HpengTauMUMUMUCL2*SLMU(2)/(mA*mA))/(4.0*pi*alph);
5785
5786 // write B2H and B3H into a vector for tau->3mu
5787 BHFunctions.assign(0, B2HiggsnRtm+B2HiggscRtm );
5788 BHFunctions.assign(1, B2HiggsnLtm+B2HiggscLtm );
5789 BHFunctions.assign(2, B3HiggsnRtm+B3HiggscRtm );
5790 BHFunctions.assign(3, B3HiggsnLtm+B3HiggscLtm );
5791 }
5792
5793 if (li_to_lj == 3) // tau -> 3e
5794 {
5795 // Neutralino contributions
5796 gslpp::complex HpengTauEEENR0 = 0.0;
5797 gslpp::complex HpengTauEEENL0 = 0.0;
5798 gslpp::complex HpengTauEEENR1 = 0.0;
5799 gslpp::complex HpengTauEEENL1 = 0.0;
5800 gslpp::complex HpengTauEEENR2 = 0.0;
5801 gslpp::complex HpengTauEEENL2 = 0.0;
5802 for (int x=0;x<6;x++) {
5803 for (int a=0;a<4;a++) {
5804 for (int b=0;b<4;b++) {
5805 // h R contribution
5806 HpengTauEEENR0 = HpengTauEEENR0 - 2.0*piconst*(NRlE(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5807 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5808 +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5809 +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5810 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
5811 +NLlE(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5812 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5813 +NLlE(a,x)*DR0(a,b)*NLlTAU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5814 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5815 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5816 +NRlE(a,x)*DL0(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5817 +NLlE(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5818 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5819 +NRlE(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5820 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5821 +NRlE(a,x)*DR0(a,b)*NLlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5822 // h L contribution
5823 HpengTauEEENL0 = HpengTauEEENL0 - 2.0*piconst*(NLlE(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5824 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5825 +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5826 +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5827 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
5828 +NRlE(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5829 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5830 +NRlE(a,x)*DL0(a,b)*NRlTAU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5831 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5832 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5833 +NLlE(a,x)*DR0(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5834 +NRlE(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5835 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5836 +NLlE(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5837 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5838 +NLlE(a,x)*DL0(a,b)*NRlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5839 // H R contribution
5840 HpengTauEEENR1 = HpengTauEEENR1 - 2.0*piconst*(NRlE(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5841 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5842 +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5843 +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5844 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
5845 +NLlE(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5846 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5847 +NLlE(a,x)*DR1(a,b)*NLlTAU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5848 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5849 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5850 +NRlE(a,x)*DL1(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5851 +NLlE(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5852 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5853 +NRlE(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5854 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5855 +NRlE(a,x)*DR1(a,b)*NLlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5856 // H L contribution
5857 HpengTauEEENL1 = HpengTauEEENL1 - 2.0*piconst*(NLlE(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5858 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5859 +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5860 +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5861 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
5862 +NRlE(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5863 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5864 +NRlE(a,x)*DL1(a,b)*NRlTAU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5865 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5866 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5867 +NLlE(a,x)*DR1(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5868 +NRlE(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5869 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5870 +NLlE(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5871 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5872 +NLlE(a,x)*DL1(a,b)*NRlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5873 // A R contribution
5874 HpengTauEEENR2 = HpengTauEEENR2 - 2.0*piconst*(NRlE(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5875 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5876 +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5877 +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5878 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
5879 +NLlE(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5880 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5881 +NLlE(a,x)*DR2(a,b)*NLlTAU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5882 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5883 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5884 +NRlE(a,x)*DL2(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5885 +NLlE(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5886 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5887 +NRlE(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5888 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5889 +NRlE(a,x)*DR2(a,b)*NLlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5890 // A L contribution
5891 HpengTauEEENL2 = HpengTauEEENL2 - 2.0*piconst*(NLlE(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5892 -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5893 +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5894 +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5895 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
5896 +NRlE(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5897 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5898 +NRlE(a,x)*DL2(a,b)*NRlTAU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5899 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5900 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5901 +NLlE(a,x)*DR2(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5902 +NRlE(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5903 -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5904 +NLlE(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
5905 -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
5906 +NLlE(a,x)*DL2(a,b)*NRlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
5907 }
5908 for (int y=0;y<6;y++) {
5909 // h R contribution
5910 HpengTauEEENR0 = HpengTauEEENR0 - 2.0*piconst*Gl0(x,y)*(-NLlE(a,x)*NLlTAU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5911 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5912 -NRlE(a,x)*NRlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5913 -NRlE(a,x)*NLlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5914 // h L contribution
5915 HpengTauEEENL0 = HpengTauEEENL0 - 2.0*piconst*Gl0(x,y)*(-NRlE(a,x)*NRlTAU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5916 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5917 -NLlE(a,x)*NLlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5918 -NLlE(a,x)*NRlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5919 // H R contribution
5920 HpengTauEEENR1 = HpengTauEEENR1 - 2.0*piconst*Gl1(x,y)*(-NLlE(a,x)*NLlTAU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5921 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5922 -NRlE(a,x)*NRlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5923 -NRlE(a,x)*NLlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5924 // H L contribution
5925 HpengTauEEENL1 = HpengTauEEENL1 - 2.0*piconst*Gl1(x,y)*(-NRlE(a,x)*NRlTAU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5926 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5927 -NLlE(a,x)*NLlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5928 -NLlE(a,x)*NRlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5929 // A R contribution
5930 HpengTauEEENR2 = HpengTauEEENR2 - 2.0*piconst*Gl2(x,y)*(-NLlE(a,x)*NLlTAU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5931 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5932 -NRlE(a,x)*NRlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5933 -NRlE(a,x)*NLlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5934 // A L contribution
5935 HpengTauEEENL2 = HpengTauEEENL2 - 2.0*piconst*Gl2(x,y)*(-NRlE(a,x)*NRlTAU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5936 -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
5937 -NLlE(a,x)*NLlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
5938 -NLlE(a,x)*NRlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
5939 }
5940 // h R contribution
5941 HpengTauEEENR0 = HpengTauEEENR0 - 2.0*piconst*(SRTAU(0)/(mE*mE-mTAU*mTAU)*(-NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5942 +NLlE(a,x)*NRlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5943 -NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5944 +NRlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5945 +SRE(0)/(mTAU*mTAU-mE*mE)*(-NLlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5946 +NLlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5947 -NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5948 +NRlE(a,x)*NLlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5949 // h L contribution
5950 HpengTauEEENL0 = HpengTauEEENL0 - 2.0*piconst*(SLTAU(0)/(mE*mE-mTAU*mTAU)*(-NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5951 +NRlE(a,x)*NLlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5952 -NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5953 +NLlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5954 +SLE(0)/(mTAU*mTAU-mE*mE)*(-NRlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5955 +NRlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5956 -NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5957 +NLlE(a,x)*NRlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5958 // H R contribution
5959 HpengTauEEENR1 = HpengTauEEENR1 - 2.0*piconst*(SRTAU(1)/(mE*mE-mTAU*mTAU)*(-NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5960 +NLlE(a,x)*NRlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5961 -NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5962 +NRlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5963 +SRE(1)/(mTAU*mTAU-mE*mE)*(-NLlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5964 +NLlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5965 -NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5966 +NRlE(a,x)*NLlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5967 // H L contribution
5968 HpengTauEEENL1 = HpengTauEEENL1 - 2.0*piconst*(SLTAU(1)/(mE*mE-mTAU*mTAU)*(-NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5969 +NRlE(a,x)*NLlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5970 -NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5971 +NLlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5972 +SLE(1)/(mTAU*mTAU-mE*mE)*(-NRlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5973 +NRlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5974 -NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5975 +NLlE(a,x)*NRlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5976 // A R contribution
5977 HpengTauEEENR2 = HpengTauEEENR2 - 2.0*piconst*(SRTAU(2)/(mE*mE-mTAU*mTAU)*(-NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5978 +NLlE(a,x)*NRlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5979 -NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5980 +NRlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5981 +SRE(2)/(mTAU*mTAU-mE*mE)*(-NLlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5982 +NLlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5983 -NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5984 +NRlE(a,x)*NLlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5985 // A L contribution
5986 HpengTauEEENL2 = HpengTauEEENL2 - 2.0*piconst*(SLTAU(2)/(mE*mE-mTAU*mTAU)*(-NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5987 +NRlE(a,x)*NLlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5988 -NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5989 +NLlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
5990 +SLE(2)/(mTAU*mTAU-mE*mE)*(-NRlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5991 +NRlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5992 -NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
5993 +NLlE(a,x)*NRlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
5994 }
5995 }
5996
5997 // summing up the h (0), H (1) and A (2) parts
5998 gslpp::complex B2HiggsnRte = (-0.5*HpengTauEEENR0*SLE(0)/(mh*mh)-0.5*HpengTauEEENR1*SLE(1)/(mH*mH)-0.5*HpengTauEEENR2*SLE(2)/(mA*mA))/(4.0*pi*alph);
5999 gslpp::complex B2HiggsnLte = (-0.5*HpengTauEEENL0*SRE(0)/(mh*mh)-0.5*HpengTauEEENL1*SRE(1)/(mH*mH)-0.5*HpengTauEEENL2*SRE(2)/(mA*mA))/(4.0*pi*alph);
6000 gslpp::complex B3HiggsnRte = (HpengTauEEENR0*SRE(0)/(mh*mh)+HpengTauEEENR1*SRE(1)/(mH*mH)+HpengTauEEENR2*SRE(2)/(mA*mA))/(4.0*pi*alph);
6001 gslpp::complex B3HiggsnLte = (HpengTauEEENL0*SLE(0)/(mh*mh)+HpengTauEEENL1*SLE(1)/(mH*mH)+HpengTauEEENL2*SLE(2)/(mA*mA))/(4.0*pi*alph);
6002
6003 // Chargino contributions
6004 gslpp::complex HpengTauEEECR0 = 0.0;
6005 gslpp::complex HpengTauEEECL0 = 0.0;
6006 gslpp::complex HpengTauEEECR1 = 0.0;
6007 gslpp::complex HpengTauEEECL1 = 0.0;
6008 gslpp::complex HpengTauEEECR2 = 0.0;
6009 gslpp::complex HpengTauEEECL2 = 0.0;
6010 for (int x=0;x<3;x++) {
6011 for (int a=0;a<2;a++) {
6012 for (int b=0;b<2;b++) {
6013 // h R contribution
6014 HpengTauEEECR0 = HpengTauEEECR0 - 2.0*piconst*(CRlE(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
6015 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6016 +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6017 +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6018 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
6019 +CLlE(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6020 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6021 +CLlE(a,x)*WR0(a,b)*CLlTAU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6022 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6023 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6024 +CRlE(a,x)*WL0(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6025 +CLlE(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6026 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6027 +CRlE(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6028 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6029 +CRlE(a,x)*WR0(a,b)*CLlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
6030 // h L contribution
6031 HpengTauEEECL0 = HpengTauEEECL0 - 2.0*piconst*(CLlE(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
6032 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6033 +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6034 +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6035 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
6036 +CRlE(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6037 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6038 +CRlE(a,x)*WL0(a,b)*CRlTAU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6039 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6040 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6041 +CLlE(a,x)*WR0(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6042 +CRlE(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6043 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6044 +CLlE(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6045 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6046 +CLlE(a,x)*WL0(a,b)*CRlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
6047 // H R contribution
6048 HpengTauEEECR1 = HpengTauEEECR1 - 2.0*piconst*(CRlE(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
6049 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6050 +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6051 +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6052 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
6053 +CLlE(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6054 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6055 +CLlE(a,x)*WR1(a,b)*CLlTAU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6056 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6057 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6058 +CRlE(a,x)*WL1(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6059 +CLlE(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6060 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6061 +CRlE(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6062 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6063 +CRlE(a,x)*WR1(a,b)*CLlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
6064 // H L contribution
6065 HpengTauEEECL1 = HpengTauEEECL1 - 2.0*piconst*(CLlE(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
6066 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6067 +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6068 +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6069 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
6070 +CRlE(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6071 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6072 +CRlE(a,x)*WL1(a,b)*CRlTAU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6073 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6074 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6075 +CLlE(a,x)*WR1(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6076 +CRlE(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6077 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6078 +CLlE(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6079 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6080 +CLlE(a,x)*WL1(a,b)*CRlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
6081 // A R contribution
6082 HpengTauEEECR2 = HpengTauEEECR2 - 2.0*piconst*(CRlE(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
6083 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6084 +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6085 +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6086 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
6087 +CLlE(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6088 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6089 +CLlE(a,x)*WR2(a,b)*CLlTAU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6090 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6091 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6092 +CRlE(a,x)*WL2(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6093 +CLlE(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6094 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6095 +CRlE(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6096 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6097 +CRlE(a,x)*WR2(a,b)*CLlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
6098 // A L contribution
6099 HpengTauEEECL2 = HpengTauEEECL2 - 2.0*piconst*(CLlE(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
6100 -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6101 +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6102 +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6103 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
6104 +CRlE(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6105 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6106 +CRlE(a,x)*WL2(a,b)*CRlTAU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6107 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6108 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6109 +CLlE(a,x)*WR2(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6110 +CRlE(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6111 -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6112 +CLlE(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
6113 -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
6114 +CLlE(a,x)*WL2(a,b)*CRlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
6115 }
6116 for (int y=0;y<3;y++) {
6117 // h R contribution
6118 HpengTauEEECR0 = HpengTauEEECR0 - 2.0*piconst*Gnu0(x,y)*(-CLlE(a,x)*CLlTAU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
6119 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
6120 -CRlE(a,x)*CRlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
6121 -CRlE(a,x)*CLlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
6122 // h L contribution
6123 HpengTauEEECL0 = HpengTauEEECL0 - 2.0*piconst*Gnu0(x,y)*(-CRlE(a,x)*CRlTAU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
6124 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
6125 -CLlE(a,x)*CLlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
6126 -CLlE(a,x)*CRlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
6127 // H R contribution
6128 HpengTauEEECR1 = HpengTauEEECR1 - 2.0*piconst*Gnu1(x,y)*(-CLlE(a,x)*CLlTAU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
6129 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
6130 -CRlE(a,x)*CRlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
6131 -CRlE(a,x)*CLlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
6132 // H L contribution
6133 HpengTauEEECL1 = HpengTauEEECL1 - 2.0*piconst*Gnu1(x,y)*(-CRlE(a,x)*CRlTAU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
6134 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
6135 -CLlE(a,x)*CLlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
6136 -CLlE(a,x)*CRlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
6137 // A R contribution
6138 HpengTauEEECR2 = HpengTauEEECR2 - 2.0*piconst*Gnu2(x,y)*(-CLlE(a,x)*CLlTAU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
6139 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
6140 -CRlE(a,x)*CRlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
6141 -CRlE(a,x)*CLlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
6142 // A L contribution
6143 HpengTauEEECL2 = HpengTauEEECL2 - 2.0*piconst*Gnu2(x,y)*(-CRlE(a,x)*CRlTAU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
6144 -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
6145 -CLlE(a,x)*CLlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
6146 -CLlE(a,x)*CRlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
6147 }
6148 // h R contribution
6149 HpengTauEEECR0 = HpengTauEEECR0 - 2.0*piconst*(SRTAU(0)/(mE*mE-mTAU*mTAU)*(-CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6150 +CLlE(a,x)*CRlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6151 -CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6152 +CRlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
6153 +SRE(0)/(mTAU*mTAU-mE*mE)*(-CLlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6154 +CLlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6155 -CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6156 +CRlE(a,x)*CLlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
6157 // h L contribution
6158 HpengTauEEECL0 = HpengTauEEECL0 - 2.0*piconst*(SLTAU(0)/(mE*mE-mTAU*mTAU)*(-CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6159 +CRlE(a,x)*CLlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6160 -CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6161 +CLlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
6162 +SLE(0)/(mTAU*mTAU-mE*mE)*(-CRlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6163 +CRlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6164 -CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6165 +CLlE(a,x)*CRlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
6166 // H R contribution
6167 HpengTauEEECR1 = HpengTauEEECR1 - 2.0*piconst*(SRTAU(1)/(mE*mE-mTAU*mTAU)*(-CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6168 +CLlE(a,x)*CRlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6169 -CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6170 +CRlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
6171 +SRE(1)/(mTAU*mTAU-mE*mE)*(-CLlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6172 +CLlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6173 -CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6174 +CRlE(a,x)*CLlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
6175 // H L contribution
6176 HpengTauEEECL1 = HpengTauEEECL1 - 2.0*piconst*(SLTAU(1)/(mE*mE-mTAU*mTAU)*(-CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6177 +CRlE(a,x)*CLlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6178 -CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6179 +CLlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
6180 +SLE(1)/(mTAU*mTAU-mE*mE)*(-CRlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6181 +CRlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6182 -CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6183 +CLlE(a,x)*CRlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
6184 // A R contribution
6185 HpengTauEEECR2 = HpengTauEEECR2 - 2.0*piconst*(SRTAU(2)/(mE*mE-mTAU*mTAU)*(-CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6186 +CLlE(a,x)*CRlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6187 -CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6188 +CRlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
6189 +SRE(2)/(mTAU*mTAU-mE*mE)*(-CLlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6190 +CLlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6191 -CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6192 +CRlE(a,x)*CLlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
6193 // A L contribution
6194 HpengTauEEECL2 = HpengTauEEECL2 - 2.0*piconst*(SLTAU(2)/(mE*mE-mTAU*mTAU)*(-CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6195 +CRlE(a,x)*CLlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6196 -CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6197 +CLlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
6198 +SLE(2)/(mTAU*mTAU-mE*mE)*(-CRlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6199 +CRlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6200 -CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
6201 +CLlE(a,x)*CRlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
6202 }
6203 }
6204
6205 // summing up the h (0), H (1) and A (2) parts
6206 gslpp::complex B2HiggscRte = (-0.5*HpengTauEEECR0*SLE(0)/(mh*mh)-0.5*HpengTauEEECR1*SLE(1)/(mH*mH)-0.5*HpengTauEEECR2*SLE(2)/(mA*mA))/(4.0*pi*alph);
6207 gslpp::complex B2HiggscLte = (-0.5*HpengTauEEECL0*SRE(0)/(mh*mh)-0.5*HpengTauEEECL1*SRE(1)/(mH*mH)-0.5*HpengTauEEECL2*SRE(2)/(mA*mA))/(4.0*pi*alph);
6208 gslpp::complex B3HiggscRte = (HpengTauEEECR0*SRE(0)/(mh*mh)+HpengTauEEECR1*SRE(1)/(mH*mH)+HpengTauEEECR2*SRE(2)/(mA*mA))/(4.0*pi*alph);
6209 gslpp::complex B3HiggscLte = (HpengTauEEECL0*SLE(0)/(mh*mh)+HpengTauEEECL1*SLE(1)/(mH*mH)+HpengTauEEECL2*SLE(2)/(mA*mA))/(4.0*pi*alph);
6210
6211 // write B2H and B3H into a vector for tau->3e
6212 BHFunctions.assign(0, B2HiggsnRte+B2HiggscRte );
6213 BHFunctions.assign(1, B2HiggsnLte+B2HiggscLte );
6214 BHFunctions.assign(2, B3HiggsnRte+B3HiggscRte );
6215 BHFunctions.assign(3, B3HiggsnLte+B3HiggscLte );
6216 }
6217
6218 return(BHFunctions);
6219}
double C12(const double m12, const double m22, const double m32) const
.
gslpp::complex B1(const double mu2, const double p2, const double m02, const double m12) const
.
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
double C11(const double m12, const double m22, const double m32) const
.
gslpp::complex C0(const double p2, const double m02, const double m12, const double m22) const
.
gslpp::complex getMuH() const
Gets the parameter in the superpotential.
Definition: SUSY.h:167
virtual const double getMHl() const
Gets the light Higgs mass.
Definition: SUSY.h:235
gslpp::matrix< gslpp::complex > getTEhat() const
Gets the trilinear-coupling matrix for charged sleptons.
Definition: SUSY.h:454
const double getMHh() const
Gets the heavy Higgs mass.
Definition: SUSY.h:244
gslpp::complex getSaeff() const
Gets the sine of the effective mixing angle for the CP-even neutral Higgs bosons.
Definition: SUSY.h:226
gslpp::complex getM1() const
Gets the bino mass.
Definition: SUSY.h:131
gslpp::complex getM2() const
Gets the wino mass.
Definition: SUSY.h:140
const double getMHa() const
Gets the pseudo-scalar Higgs mass.
Definition: SUSY.h:253
int delta_ab(int a, int b)
Kronecker delta.
double DL0(double a, double b, double c, int k)
virtual gslpp::vector< gslpp::complex > BHFunctions(int n)
Calculates Higgs penguin amplitudes for the process from .
const double getMz() const
A get method to access the mass of the boson .

◆ Bk()

double SUSYMatching::Bk ( double  x,
double  y,
int  k 
)
private

Limit of B0 function for zero x or zero y

Definition at line 669 of file SUSYMatching.cpp.

669 {
670
672 if((fabs(x) < SUSYLEPS2)&&(k==0)) return (log(y));
673 if((fabs(y) < SUSYLEPS2)&&(k==0)) return (log(x));
674
675
676 if (fabs((1. - y / x)) < SUSYLEPS2) {
677 return (BL(x, k));
678
679 }
680 if (k == 0) {
681 return (log(x) + (y * log(x / y)) / (x - y));
682 }
683 else if (k == 2) {
684
685 return (1. / 4. + 0.5 * Ck(x, y, y, 2));
686 }
687 else {
688
689 throw std::runtime_error("Error in Bk(x,y,k) in SUSYMatching.cpp ");
690 }
691
692 return (EXIT_FAILURE);
693
694}
double Ck(double x, double y, double z, int k)
double BL(double a, int k)

◆ BL()

double SUSYMatching::BL ( double  a,
int  k 
)
private

Definition at line 653 of file SUSYMatching.cpp.

653 {
654
655 if (k == 0) {
656 return (1. + log(a));
657 }
658 else if (k == 2) {
659 return ((-log(mu2R) + 2. + log(a)) / 2.);
660 }
661 else {
662
663 throw std::runtime_error("Error in BL(a,k) in SUSYMatching.cpp ");
664 }
665
666 return (EXIT_FAILURE);
667}

◆ bsll_C0()

double SUSYMatching::bsll_C0 ( double  m1,
double  m2,
double  m3 
)
private

Definition at line 3623 of file SUSYMatching.cpp.

3624{
3625
3626 if (m1 <= 0.0 || m2 <= 0.0 || m3 <= 0.0) throw std::runtime_error("SUSYMatching::bsll_C0(): Invalid argument!");
3627
3628 if ((std::fabs((m1 - m2) / m1) <= SUSYLEPS2) && (std::fabs((m2 - m3) / m2) <= SUSYLEPS2)) {
3629 return -1. / (2 * m1 * m1);
3630 } else if ((std::fabs((m1 - m2) / m1) <= SUSYLEPS2) && (std::fabs((m2 - m3) / m2) > SUSYLEPS2)) {
3631 return (m3 * m3 * (1. - log(m3 * m3 / (m2 * m2))) - m2 * m2) / ((m2 * m2 - m3 * m3)*(m2 * m2 - m3 * m3));
3632 } else if ((std::fabs((m1 - m3) / m1) <= SUSYLEPS2) && (std::fabs((m2 - m3) / m2) > SUSYLEPS2)) {
3633 return (m2 * m2 * (1. - log(m2 * m2 / (m3 * m3))) - m3 * m3) / ((m2 * m2 - m3 * m3)*(m2 * m2 - m3 * m3));
3634 } else if ((std::fabs((m1 - m2) / m1) > SUSYLEPS2) && (std::fabs((m2 - m3) / m2) <= SUSYLEPS2)) {
3635 return (m1 * m1 * (1. + log(m3 * m3 / (m1 * m1))) - m3 * m3) / ((m1 * m1 - m3 * m3)*(m1 * m1 - m3 * m3));
3636 } else if ((std::fabs((m1 - m2) / m1) > SUSYLEPS2) && (std::fabs((m2 - m3) / m2) > SUSYLEPS2)) {
3637 return (m2 * m2 / (m1 * m1 - m2 * m2) * log(m2 * m2 / (m1 * m1)) - m3 * m3 / (m1 * m1 - m3 * m3) * log(m3 * m3 / (m1 * m1))) / (m2 * m2 - m3 * m3);
3638 } else {
3639 std::cout << "m1, m2, m3 = " << m1 << ", " << m2 << ", " << m3 << std::endl;
3640 throw std::runtime_error("SUSYMatching::bsll_C0(): limit/case not implemented!");
3641 }
3642}

◆ bsll_C2()

double SUSYMatching::bsll_C2 ( double  m1,
double  m2,
double  m3,
double  mu2 
)
private

Definition at line 3644 of file SUSYMatching.cpp.

3645{
3646
3647 if (mu2 <= 0.0 || m1 <= 0.0 || m2 <= 0.0 || m3 <= 0.0) throw std::runtime_error("SUSYMatching::bsll_C2(): Invalid argument!");
3648
3649 if ((std::fabs((m1 - m2) / m1) <= SUSYLEPS2) && (std::fabs((m2 - m3) / m2) <= SUSYLEPS2)) {
3650 return -(1 / 4.) * log(m3 * m3 / (mu2));
3651 } else if ((std::fabs((m1 - m2) / m1) <= SUSYLEPS2) && (std::fabs((m2 - m3) / m2) > SUSYLEPS2)) {
3652 return (pow(m2, 4.) - 4. * m2 * m2 * m3 * m3 + 3. * pow(m3, 4.) - (2. * pow(m2, 4.) - 4. * m2 * m2 * m3 * m3) * log(m2 * m2 / (mu2)) - 2. * pow(m3, 4.) * log(m3 * m3 / (mu2))) / (8. * (m2 * m2 - m3 * m3)*(m2 * m2 - m3 * m3));
3653 } else if ((std::fabs((m1 - m3) / m1) <= SUSYLEPS2) && (std::fabs((m2 - m3) / m2) > SUSYLEPS2)) {
3654 return (3. * pow(m2, 4.) - 4. * m2 * m2 * m3 * m3 + pow(m3, 4.) + (-2. * pow(m3, 4.) + 4. * m2 * m2 * m3 * m3) * log(m3 * m3 / (mu2)) - 2. * pow(m2, 4.) * log(m2 * m2 / (mu2))) / (8. * (m2 * m2 - m3 * m3)*(m2 * m2 - m3 * m3));
3655 } else if ((std::fabs((m1 - m2) / m1) > SUSYLEPS2) && (std::fabs((m2 - m3) / m2) <= SUSYLEPS2)) {
3656 return (3. * pow(m1, 4.) - 4. * m1 * m1 * m3 * m3 + pow(m3, 4.) + (-2. * pow(m3, 4.) + 4. * m1 * m1 * m3 * m3) * log(m3 * m3 / (mu2)) - 2. * pow(m1, 4.) * log(m1 * m1 / (mu2))) / (8. * (m1 * m1 - m3 * m3)*(m1 * m1 - m3 * m3));
3657 } else if ((std::fabs((m1 - m2) / m1) > SUSYLEPS2) && (std::fabs((m2 - m3) / m2) > SUSYLEPS2)) {
3658 return 3. / 8. - (1. / 4.)*(pow(m1, 4.) / ((m1 * m1 - m2 * m2)*(m1 * m1 - m3 * m3)) * log(m1 * m1 / (mu2)) + pow(m2, 4.) / ((m2 * m2 - m1 * m1)*(m2 * m2 - m3 * m3)) * log(m2 * m2 / (mu2)) + pow(m3, 4.) / ((m3 * m3 - m2 * m2)*(m3 * m3 - m1 * m1)) * log(m3 * m3 / (mu2)));
3659 } else {
3660 std::cout << "m1, m2, m3, mu2 = " << m1 << ", " << m2 << ", " << m3 << ", " << mu2 << std::endl;
3661 throw std::runtime_error("SUSYMatching::bsll_C2(): limit/case not implemented!");
3662 }
3663}

◆ bsll_D0reg()

double SUSYMatching::bsll_D0reg ( double  m1,
double  m2,
double  m3,
double  m4 
)
private

Definition at line 3665 of file SUSYMatching.cpp.

3666{
3667
3668 if (m1 <= 0.0 || m2 <= 0.0 || m3 <= 0.0 || m4 <= 0.0) throw std::runtime_error("SUSYMatching::bsll_D0(): Invalid argument!");
3669
3670 if ((std::fabs((m1 - m2) / m1) <= SUSYLEPS2) && (std::fabs((m1 - m3) / m1) <= SUSYLEPS2) && (std::fabs((m2 - m4) / m2) <= SUSYLEPS2)) {
3671 return 1. / (6. * m1 * m1 * m1 * m1);
3672 } else if ((std::fabs((m1 - m2) / m1) <= SUSYLEPS2) && (std::fabs((m2 - m3) / m3) <= SUSYLEPS2)) {
3673 return (m3 * m3 * m3 * m3 - m4 * m4 * m4 * m4 + 4. * m3 * m3 * m4 * m4 * log(m4 / m3)) / (2. * (m3 * m3 - m4 * m4)*(m3 * m3 - m4 * m4)*(m3 * m3 - m4 * m4) * m3 * m3);
3674 } else if ((std::fabs((m1 - m2) / m1) <= SUSYLEPS2) && (std::fabs((m2 - m4) / m4) <= SUSYLEPS2)) {
3675 return (-m3 * m3 * m3 * m3 + m4 * m4 * m4 * m4 + 4. * m3 * m3 * m4 * m4 * log(m3 / m4)) / (2. * (-m3 * m3 + m4 * m4)*(-m3 * m3 + m4 * m4)*(-m3 * m3 + m4 * m4) * m4 * m4);
3676 } else if ((std::fabs((m1 - m3) / m1) <= SUSYLEPS2) && (std::fabs((m3 - m4) / m4) <= SUSYLEPS2)) {
3677 return (-m2 * m2 * m2 * m2 + m4 * m4 * m4 * m4 + 4. * m2 * m2 * m4 * m4 * log(m2 / m4)) / (2. * (-m2 * m2 + m4 * m4)*(-m2 * m2 + m4 * m4)*(-m2 * m2 + m4 * m4) * m4 * m4);
3678 } else if ((std::fabs((m2 - m3) / m2) <= SUSYLEPS2) && (std::fabs((m3 - m4) / m4) <= SUSYLEPS2)) {
3679 return (-m1 * m1 * m1 * m1 + m4 * m4 * m4 * m4 + 4. * m1 * m1 * m4 * m4 * log(m1 / m4)) / (2. * (-m1 * m1 + m4 * m4)*(-m1 * m1 + m4 * m4)*(-m1 * m1 + m4 * m4) * m4 * m4);
3680 } else if ((std::fabs((m1 - m2) / m1) <= SUSYLEPS2)) {
3681 double term1 = (m3 * m3 * (-m2 * m2 + m3 * m3 + 2. * m2 * m2 * log(m2 / m3))) / (m2 * m2 - m3 * m3) / (m2 * m2 - m3 * m3);
3682 double term2 = (m4 * m4 * (-m2 * m2 + m4 * m4 + 2. * m2 * m2 * log(m2 / m4))) / (m2 * m2 - m4 * m4) / (m2 * m2 - m4 * m4);
3683 return (term1 - term2) / (m2 * m2 * (m3 * m3 - m4 * m4));
3684 } else if ((std::fabs((m1 - m3) / m1) <= SUSYLEPS2)) {
3685 double term1 = (2. * m3 * m3 * log(m3 / m2)) / (-m2 * m2 + m3 * m3);
3686 double term2 = (2. * m4 * m4 * log(m4 / m2)) / (-m2 * m2 + m4 * m4);
3687 double term3 = (2. * m4 * m4 * log(m4 / m3)) / (-m3 * m3 + m4 * m4);
3688 return (-1. + term1 - term2 + term3) / (m3 * m3 - m2 * m2) / (m3 * m3 - m4 * m4);
3689 } else if ((std::fabs((m1 - m4) / m1) <= SUSYLEPS2)) {
3690 double term1 = (2. * m3 * m3 * log(m3 / m2)) / (-m2 * m2 + m3 * m3);
3691 double term2 = (2. * m3 * m3 * log(m3 / m4)) / (-m4 * m4 + m3 * m3);
3692 double term3 = (2. * m4 * m4 * log(m4 / m2)) / (-m2 * m2 + m4 * m4);
3693 return (1. + term1 - term2 - term3) / (m4 * m4 - m2 * m2) / (m3 * m3 - m4 * m4);
3694 } else if ((std::fabs((m2 - m3) / m2) <= SUSYLEPS2)) {
3695 double term1 = (2. * m3 * m3 * log(m3 / m1)) / (-m1 * m1 + m3 * m3);
3696 double term2 = (2. * m4 * m4 * log(m4 / m1)) / (-m1 * m1 + m4 * m4);
3697 double term3 = (2. * m4 * m4 * log(m4 / m3)) / (-m3 * m3 + m4 * m4);
3698 return (1. - term1 + term2 - term3) / (-m4 * m4 + m3 * m3) / (-m3 * m3 + m1 * m1);
3699 } else if ((std::fabs((m2 - m4) / m2) <= SUSYLEPS2)) {
3700 double term1 = (2. * m3 * m3 * log(m3 / m1)) / (-m1 * m1 + m3 * m3);
3701 double term2 = (2. * m3 * m3 * log(m3 / m4)) / (-m4 * m4 + m3 * m3);
3702 double term3 = (2. * m4 * m4 * log(m4 / m1)) / (-m1 * m1 + m4 * m4);
3703 return (-1. - term1 + term2 + term3) / (-m4 * m4 + m3 * m3) / (-m4 * m4 + m1 * m1);
3704 } else if ((std::fabs((m3 - m4) / m3) <= SUSYLEPS2)) {
3705 double term1 = (-m4 * m4 + m1 * m1 + 2. * m1 * m1 * log(m4 / m1)) / (m1 * m1 - m4 * m4) / (m1 * m1 - m4 * m4);
3706 double term2 = (-m4 * m4 + m2 * m2 + 2. * m2 * m2 * log(m4 / m2)) / (m2 * m2 - m4 * m4) / (m2 * m2 - m4 * m4);
3707 return (term1 - term2) / (m1 * m1 - m2 * m2);
3708 } else if ((std::fabs((m1 - m2) / m1) > SUSYLEPS2) && (std::fabs((m3 - m4) / m3) > SUSYLEPS2) && (std::fabs((m1 - m4) / m1) > SUSYLEPS2) && (std::fabs((m1 - m3) / m1) > SUSYLEPS2) && (std::fabs((m2 - m3) / m2) > SUSYLEPS2) && (std::fabs((m2 - m4) / m2) > SUSYLEPS2)) {
3709 return (bsll_C0(m1, m3, m4) - bsll_C0(m2, m3, m4)) / (m1 * m1 - m2 * m2);
3710 } else {
3711 std::cout << "m1, m2, m3, m4 = " << m1 << ", " << m2 << ", " << m3 << ", " << m4 << std::endl;
3712 throw std::runtime_error("SUSYMatching::bsll_D0reg(): limit/case not implemented!");
3713 }
3714}
double bsll_C0(double m1, double m2, double m3)

◆ bsll_D2reg()

double SUSYMatching::bsll_D2reg ( double  m1,
double  m2,
double  m3,
double  m4 
)
private

Definition at line 3716 of file SUSYMatching.cpp.

3717{
3718
3719 if (m1 <= 0.0 || m2 <= 0.0 || m3 <= 0.0 || m4 <= 0.0) throw std::runtime_error("SUSYMatching::bsll_D2(): Invalid argument!");
3720
3721 if ((std::fabs((m1 - m2) / m1) <= SUSYLEPS2) && (std::fabs((m1 - m3) / m1) <= SUSYLEPS2) && (std::fabs((m2 - m4) / m2) <= SUSYLEPS2)) {
3722 return -1. / (12. * m1 * m1 * m1 * m1);
3723 } else if ((std::fabs((m1 - m2) / m1) <= SUSYLEPS2) && (std::fabs((m2 - m3) / m3) <= SUSYLEPS2)) {
3724 return -(m3 * m3 * m3 * m3 - 4. * m3 * m3 * m4 * m4 + 3. * m4 * m4 * m4 * m4 - 4. * m4 * m4 * m4 * m4 * log(m4 / m3)) / (8. * (m3 * m3 - m4 * m4)*(m3 * m3 - m4 * m4)*(m3 * m3 - m4 * m4));
3725 } else if ((std::fabs((m1 - m2) / m1) <= SUSYLEPS2) && (std::fabs((m2 - m4) / m4) <= SUSYLEPS2)) {
3726 return (m4 * m4 * m4 * m4 - 4. * m3 * m3 * m4 * m4 + 3. * m3 * m3 * m3 * m3 - 4. * m3 * m3 * m3 * m3 * log(m3 / m4)) / (8. * (m3 * m3 - m4 * m4)*(m3 * m3 - m4 * m4)*(m3 * m3 - m4 * m4));
3727 } else if ((std::fabs((m1 - m3) / m1) <= SUSYLEPS2) && (std::fabs((m3 - m4) / m3) <= SUSYLEPS2)) {
3728 return (m4 * m4 * m4 * m4 - 4. * m2 * m2 * m4 * m4 + 3. * m2 * m2 * m2 * m2 - 4. * m2 * m2 * m2 * m2 * log(m2 / m4)) / (8. * (m2 * m2 - m4 * m4)*(m2 * m2 - m4 * m4)*(m2 * m2 - m4 * m4));
3729 } else if ((std::fabs((m2 - m3) / m2) <= SUSYLEPS2) && (std::fabs((m3 - m4) / m3) <= SUSYLEPS2)) {
3730 return (m4 * m4 * m4 * m4 - 4. * m1 * m1 * m4 * m4 + 3. * m1 * m1 * m1 * m1 - 4. * m1 * m1 * m1 * m1 * log(m1 / m4)) / (8. * (m1 * m1 - m4 * m4)*(m1 * m1 - m4 * m4)*(m1 * m1 - m4 * m4));
3731 } else if ((std::fabs((m1 - m2) / m1) <= SUSYLEPS2)) {
3732 double num = 2. * m3 * m3 * m3 * m3 * (m2 * m2 - m4 * m4)*(m2 * m2 - m4 * m4) * log(m3 / m2)+(m2 * m2 - m3 * m3)*(m2 * m2 * (m2 * m2 - m4 * m4)*(m3 * m3 - m4 * m4) + 2. * (-m2 * m2 + m3 * m3) * m4 * m4 * m4 * m4 * log(m4 / m2));
3733 double den = 4. * (m2 * m2 - m3 * m3)*(m2 * m2 - m3 * m3)*(m2 * m2 - m4 * m4)*(m2 * m2 - m4 * m4)*(m3 * m3 - m4 * m4);
3734 return -(num / den);
3735 } else if ((std::fabs((m1 - m3) / m1) <= SUSYLEPS2)) {
3736 double num = -m2 * m2 * (2. * m3 * m3 * log(m3 / m2) / (m2 * m2 - m3 * m3) + 2. * m4 * m4 * log(m4 / m2) / (-m2 * m2 + m4 * m4)) + m3 * m3 * (-1. + 2. * m4 * m4 * log(m4 / m3) / (m4 * m4 - m3 * m3));
3737 double den = 4. * (-m2 * m2 + m3 * m3)*(m3 * m3 - m4 * m4);
3738 return (num / den);
3739 } else if ((std::fabs((m1 - m4) / m1) <= SUSYLEPS2)) {
3740 double num = 2. * m2 * m2 * m3 * m3 * log(m3 / m2) / (-m2 * m2 + m3 * m3) + m4 * m4 * (1. - 2. * m3 * m3 * log(m3 / m4) / (m3 * m3 - m4 * m4) - 2. * m2 * m2 * log(m2 / m4) / (m2 * m2 - m4 * m4));
3741 double den = 4. * (-m2 * m2 + m4 * m4)*(m3 * m3 - m4 * m4);
3742 return (num / den);
3743 } else if ((std::fabs((m2 - m3) / m2) <= SUSYLEPS2)) {
3744 double num = m3 * m3 + m1 * m1 * (2. * m3 * m3 * log(m3 / m1) / (m1 * m1 - m3 * m3) + 2. * m4 * m4 * log(m4 / m1) / (m4 * m4 - m1 * m1)) + 2. * m3 * m3 * m4 * m4 * log(m4 / m3) / (m3 * m3 - m4 * m4);
3745 double den = 4. * (m1 * m1 - m3 * m3)*(m3 * m3 - m4 * m4);
3746 return (num / den);
3747 } else if ((std::fabs((m2 - m4) / m2) <= SUSYLEPS2)) {
3748 double num = 2. * m1 * m1 * m3 * m3 * log(m3 / m1) / (m1 * m1 - m3 * m3) + m4 * m4 * (-1. + 2. * m3 * m3 * log(m3 / m4) / (m3 * m3 - m4 * m4) + 2. * m1 * m1 * log(m1 / m4) / (m1 * m1 - m4 * m4));
3749 double den = 4. * (m1 * m1 - m4 * m4)*(m3 * m3 - m4 * m4);
3750 return (num / den);
3751 } else if ((std::fabs((m3 - m4) / m3) <= SUSYLEPS2)) {
3752 double num = 2. * m1 * m1 * (m1 * m1 - m4 * m4 + 2. * m1 * m1 * log(m4 / m1)) / (m1 * m1 - m4 * m4) / (m1 * m1 - m4 * m4);
3753 num -= 2. * m2 * m2 * (m2 * m2 - m4 * m4 + 2. * m2 * m2 * log(m4 / m2)) / (m2 * m2 - m4 * m4) / (m2 * m2 - m4 * m4);
3754 double den = 8. * (m1 * m1 - m2 * m2);
3755 return (num / den);
3756 } else if ((std::fabs((m1 - m2) / m1) > SUSYLEPS2) && (std::fabs((m3 - m4) / m3) > SUSYLEPS2) && (std::fabs((m1 - m4) / m1) > SUSYLEPS2) && (std::fabs((m1 - m3) / m1) > SUSYLEPS2) && (std::fabs((m2 - m3) / m2) > SUSYLEPS2) && (std::fabs((m2 - m4) / m2) > SUSYLEPS2)) {
3757 return (m1 * m1 * bsll_C0(m1, m3, m4) - m2 * m2 * bsll_C0(m2, m3, m4)) / (4. * (m1 * m1 - m2 * m2));
3758 } else {
3759 std::cout << "m1,m2,m3,m4 = " << m1 << ", " << m2 << ", " << m3 << ", " << m4 << std::endl;
3760 throw std::runtime_error("SUSYMatching::bsll_D2reg(): limit/case not implemented!");
3761 }
3762}

◆ bsll_DeltaC10_SUSY()

gslpp::complex SUSYMatching::bsll_DeltaC10_SUSY ( int  lep_pair)
private

Definition at line 4017 of file SUSYMatching.cpp.

4018{
4019
4020 double sw2 = sinthetaW*sinthetaW;
4021 return -bsll_Y_SUSY(lep_pair) / sw2;
4022}
gslpp::complex bsll_Y_SUSY(int lep_pair)
double sinthetaW
Definition: SUSYMatching.h:475

◆ bsll_DeltaC7_SUSY()

gslpp::complex SUSYMatching::bsll_DeltaC7_SUSY ( )
private

Definition at line 3764 of file SUSYMatching.cpp.

3765{
3766
3767 double pi = M_PI;
3768 double MW = mySUSY.Mw_tree();
3769 double mt = mySUSY.Mq_Q(mySUSY.TOP);
3770 double mb = mySUSY.Mq_Q(mySUSY.BOTTOM);
3771 double g3 = sqrt(4. * pi * Als);
3772
3773 // charged Higgs loops
3774 gslpp::complex DC7_chargedHiggs = (0.5 * mt * mt / MHpm / MHpm * bsll_f1(mt * mt / MHpm / MHpm) / (tanb * tanb) + bsll_f2(mt * mt / MHpm / MHpm)) / 6.;
3775
3776 // chargino loops
3777 gslpp::complex DC7_chargino = 0.;
3778 for (int a = 0; a < 6; a++) {
3779 for (int i = 0; i < 2; i++) {
3780 DC7_chargino += (-0.5 * (XUL[a][1][i]).conjugate() * XUL[a][2][i] * bsll_f1(mym_su_sq(a) / MChi(i) / MChi(i))
3781 + (XUL[a][1][i]).conjugate() * XUR[a][2][i]*(MChi(i) / mb) * bsll_f2(mym_su_sq(a) / MChi(i) / MChi(i))) / MChi(i) / MChi(i);
3782 }
3783 }
3784 DC7_chargino *= MW * MW / (3. * gW * gW * myCKM(2, 1).conjugate() * myCKM(2, 2));
3785
3786
3787 // neutralino loops
3788 gslpp::complex DC7_neutralino = 0.;
3789 for (int a = 0; a < 6; a++) {
3790 for (int i = 0; i < 4; i++) {
3791 DC7_neutralino += (0.5 * (ZDL[a][1][i]).conjugate() * ZDL[a][2][i] * bsll_f3(mym_sd_sq(a) / MChi0(i) / MChi0(i))
3792 + (ZDL[a][1][i]).conjugate() * ZDR[a][2][i]*(MChi0(i) / mb) * bsll_f4(mym_sd_sq(a) / MChi0(i) / MChi0(i))) / MChi0(i) / MChi0(i);
3793 }
3794 }
3795 DC7_neutralino *= -MW * MW / (3. * gW * gW * myCKM(2, 1).conjugate() * myCKM(2, 2));
3796
3797 // gluino loops
3798 gslpp::complex DC7_gluino = 0.;
3799 for (int a = 0; a < 6; a++) {
3800 DC7_gluino += (-myRd(a, 1).conjugate() * myRd(a, 2) * bsll_f3(mym_sd_sq(a) / Mg / Mg)
3801 + 2. * myRd(a, 1).conjugate() * myRd(a, 5)*(Mg / mb) * bsll_f4(mym_sd_sq(a) / Mg / Mg)) / Mg / Mg;
3802 }
3803 DC7_gluino *= 4. * MW * MW * g3 * g3 / (9. * gW * gW * myCKM(2, 1).conjugate() * myCKM(2, 2));
3804
3805 // std::cout << DC7_chargedHiggs << ", " << DC7_chargino << ", " << DC7_neutralino << ", " << DC7_gluino << std::endl;
3806
3807 return DC7_chargedHiggs + DC7_chargino + DC7_neutralino + DC7_gluino;
3808
3809}
@ BOTTOM
Definition: QCD.h:329
@ TOP
Definition: QCD.h:328
double Mq_Q(const quark q) const
Definition: SUSY.h:499
gslpp::complex ZDL[6][3][4]
Definition: SUSYMatching.h:515
gslpp::complex ZDR[6][3][4]
Definition: SUSYMatching.h:515
double bsll_f1(double x)
gslpp::complex XUR[6][3][2]
Definition: SUSYMatching.h:515
gslpp::complex XUL[6][3][2]
Definition: SUSYMatching.h:515
double bsll_f2(double x)
double bsll_f3(double x)
double bsll_f4(double x)

◆ bsll_DeltaC9_SUSY()

gslpp::complex SUSYMatching::bsll_DeltaC9_SUSY ( int  lep_pair)
private

Definition at line 4010 of file SUSYMatching.cpp.

4011{
4012
4013 double sw2 = sinthetaW*sinthetaW;
4014 return bsll_Y_SUSY(lep_pair) / sw2 - 4. * bsll_Z_SUSY(lep_pair);
4015}
gslpp::complex bsll_Z_SUSY(int lep_pair)

◆ bsll_f1()

double SUSYMatching::bsll_f1 ( double  x)
private

Definition at line 3538 of file SUSYMatching.cpp.

3539{
3540
3541 if (std::fabs(x - 1.) > SUSYLEPS2) {
3542 return (-7. + 5. * x + 8. * x * x) / (6. * (1. - x) * (1. - x) * (1. - x))
3543 - (2. * x - 3. * x * x) / ((1. - x) * (1. - x) * (1. - x) * (1. - x)) * log(x);
3544 } else {
3545 return -5. / 12.;
3546 }
3547}

◆ bsll_f2()

double SUSYMatching::bsll_f2 ( double  x)
private

Definition at line 3549 of file SUSYMatching.cpp.

3550{
3551
3552 if (std::fabs(x - 1.) > SUSYLEPS2) {
3553 return (3. * x - 5. * x * x) / (2. * (1. - x) * (1. - x))
3554 + (2. * x - 3. * x * x) / ((1. - x) * (1. - x) * (1. - x)) * log(x);
3555 } else {
3556 return -7. / 6.;
3557 }
3558}

◆ bsll_f3()

double SUSYMatching::bsll_f3 ( double  x)
private

Definition at line 3560 of file SUSYMatching.cpp.

3561{
3562
3563 if (std::fabs(x - 1.) > SUSYLEPS2) {
3564 return (2. + 5. * x - x * x) / (6. * (1. - x) * (1. - x) * (1. - x))
3565 + x / ((1. - x) * (1. - x) * (1. - x) * (1. - x)) * log(x);
3566 } else {
3567 return 1. / 12.;
3568 }
3569}

◆ bsll_f4()

double SUSYMatching::bsll_f4 ( double  x)
private

Definition at line 3571 of file SUSYMatching.cpp.

3572{
3573
3574 if (std::fabs(x - 1.) > SUSYLEPS2) {
3575 return (1. + x) / (2. * (1. - x) * (1. - x))
3576 + x / ((1. - x) * (1. - x) * (1. - x)) * log(x);
3577 } else {
3578 return 1. / 6.;
3579 }
3580}

◆ bsll_f5()

double SUSYMatching::bsll_f5 ( double  x)
private

Definition at line 3582 of file SUSYMatching.cpp.

3583{
3584
3585 if (std::fabs(x - 1.) > SUSYLEPS2) {
3586 return x / (1. - x) + x / ((1. - x) * (1. - x)) * log(x);
3587 } else return -1. / 2.;
3588}

◆ bsll_f6()

double SUSYMatching::bsll_f6 ( double  x)
private

Definition at line 3590 of file SUSYMatching.cpp.

3591{
3592
3593 if (std::fabs(x - 1.) > SUSYLEPS2) {
3594 return (38. * x - 79. * x * x + 47. * x * x * x) / (6. * (1. - x) * (1. - x) * (1. - x))
3595 + (4. * x - 6. * x * x + 3. * x * x * x * x) / ((1. - x) * (1. - x) * (1. - x) * (1. - x)) * log(x);
3596 } else {
3597 return -3. / 4.;
3598 }
3599}

◆ bsll_f7()

double SUSYMatching::bsll_f7 ( double  x)
private

Definition at line 3601 of file SUSYMatching.cpp.

3602{
3603
3604 if (std::fabs(x - 1.) > SUSYLEPS2) {
3605 return (52. - 101. * x + 43. * x * x) / (6. * (1. - x) * (1. - x) * (1. - x))
3606 + (6. - 9. * x + 2. * x * x * x) / ((1. - x) * (1. - x) * (1. - x) * (1. - x)) * log(x);
3607 } else {
3608 return -7. / 4.;
3609 }
3610}

◆ bsll_f8()

double SUSYMatching::bsll_f8 ( double  x)
private

Definition at line 3612 of file SUSYMatching.cpp.

3613{
3614
3615 if (std::fabs(x - 1.) > SUSYLEPS2) {
3616 return (2. - 7. * x + 11. * x * x) / ((1. - x) * (1. - x) * (1. - x))
3617 + (6. * x * x * x) / ((1. - x) * (1. - x) * (1. - x) * (1. - x)) * log(x);
3618 } else {
3619 return 3. / 2.;
3620 }
3621}

◆ bsll_Y_SUSY()

gslpp::complex SUSYMatching::bsll_Y_SUSY ( int  lep_pair)
private

Definition at line 3811 of file SUSYMatching.cpp.

3812{
3813
3814
3815 double pi = M_PI;
3816 double MW = mySUSY.Mw_tree();
3817 double mt = mySUSY.Mq_Q(mySUSY.TOP);
3818 double g3 = sqrt(4. * pi * Als);
3819 double sw2 = sinthetaW*sinthetaW;
3820 double tantheta = sqrt(sw2) / sqrt(1. - sw2);
3821 double mu2 = 100.; // check independence of the result from renornmalization scale mu!
3822
3823 // charged Higgs Z penguin and bubble
3824 gslpp::complex Y_chargedHiggs = -bsll_f5(mt * mt / MHpm / MHpm) / 8. / (tanb * tanb) * mt * mt / MW / MW;
3825
3826 // chargino Z penguin and bubble
3827 gslpp::complex Y_chargino = 0.;
3828 for (int a = 0; a < 6; a++) {
3829 for (int b = 0; b < 6; b++) {
3830 for (int i = 0; i < 2; i++) {
3831 for (int j = 0; j < 2; j++) {
3832 Y_chargino += (XUL[a][1][i]).conjugate() * XUL[b][2][j] *
3833 (bsll_C2(MChi(i), sqrt(mym_su_sq(a)), sqrt(mym_su_sq(b)), mu2) * gamULgamULdag(a, b)*(i == j)
3834 - bsll_C2(sqrt(mym_su_sq(a)), MChi(i), MChi(j), mu2)*(a == b) * myV(i, 0).conjugate() * myV(j, 0)
3835 + 0.5 * MChi(i) * MChi(j) * bsll_C0(sqrt(mym_su_sq(a)), MChi(i), MChi(j))*(a == b)
3836 * myU(i, 0) * myU(j, 0).conjugate()) / 2.;
3837 }
3838 }
3839 }
3840 }
3841 Y_chargino /= (gW * gW * myCKM(2, 1).conjugate() * myCKM(2, 2));
3842
3843 // neutralino Z penguin and bubble
3844 gslpp::complex Y_neutralino = 0.;
3845 for (int a = 0; a < 6; a++) {
3846 for (int b = 0; b < 6; b++) {
3847 for (int i = 0; i < 4; i++) {
3848 for (int j = 0; j < 4; j++) {
3849 Y_neutralino += (ZDL[a][1][i]).conjugate() * ZDL[b][2][j] *
3850 (bsll_C2(MChi0(i), sqrt(mym_sd_sq(a)), sqrt(mym_sd_sq(b)), mu2) * gamDRgamDRdag(a, b)*(i == j)
3851 - bsll_C2(sqrt(mym_sd_sq(a)), MChi0(i), MChi0(j), mu2)*(a == b)*(myN(i, 2).conjugate() * myN(j, 2) - myN(i, 3).conjugate() * myN(j, 3))
3852 - 0.5 * MChi0(i) * MChi0(j) * bsll_C0(sqrt(mym_sd_sq(a)), MChi0(i), MChi0(j))*(a == b)
3853 *(myN(j, 2).conjugate() * myN(i, 2) - myN(j, 3).conjugate() * myN(i, 3))) / 2.;
3854 }
3855 }
3856 }
3857 }
3858 Y_neutralino /= (gW * gW * myCKM(2, 1).conjugate() * myCKM(2, 2));
3859
3860 // gluino Z penguin and bubble
3861 gslpp::complex Y_gluino = 0.;
3862 for (int a = 0; a < 6; a++) {
3863 for (int b = 0; b < 6; b++) {
3864 Y_gluino += 4. * myRd(a, 1).conjugate() * myRd(b, 2) * bsll_C2(Mg, sqrt(mym_sd_sq(a)), sqrt(mym_sd_sq(b)), mu2) * gamDRgamDRdag(a, b) / 3.;
3865 }
3866 }
3867 Y_gluino *= g3 * g3 / (gW * gW * myCKM(2, 1).conjugate() * myCKM(2, 2));
3868
3869 // LFV contribution: chargino box
3870 gslpp::complex Y_chargino_box = 0.;
3871 for (int a = 0; a < 6; a++) {
3872 for (int i = 0; i < 2; i++) {
3873 for (int j = 0; j < 2; j++) {
3874 Y_chargino_box += (XUL[a][1][i]).conjugate() * XUL[a][2][j] * bsll_D2reg(MChi(i), MChi(j), sqrt(mym_su_sq(a)), sqrt(mym_sn_sq(lep_pair))) * myV(i, 0).conjugate() * myV(j, 0);
3875 }
3876 }
3877 }
3878 Y_chargino_box *= MW * MW / (gW * gW * myCKM(2, 1).conjugate() * myCKM(2, 2));
3879
3880 // LFV contribution: neutralino box
3881 gslpp::complex Z_neutralino_box = 0.;
3882 for (int a = 0; a < 6; a++) {
3883 for (int i = 0; i < 4; i++) {
3884 for (int j = 0; j < 4; j++) {
3885 Z_neutralino_box += (ZDL[a][1][i]).conjugate() * ZDL[a][2][j] / (1. - sw2)*
3886 (bsll_D2reg(MChi0(i), MChi0(j), sqrt(mym_sd_sq(a)), sqrt(mym_se_sq(3 + lep_pair))) * myN(i, 0).conjugate() * myN(j, 0)
3887 + 0.5 * MChi0(i) * MChi0(j) * bsll_D0reg(MChi0(i), MChi0(j), sqrt(mym_sd_sq(a)), sqrt(mym_se_sq(3 + lep_pair))) * myN(j, 0).conjugate() * myN(i, 0));
3888 }
3889 }
3890 }
3891 Z_neutralino_box *= MW * MW / (gW * gW * myCKM(2, 1).conjugate() * myCKM(2, 2));
3892
3893 gslpp::complex Y_neutralino_box = 0.;
3894 for (int a = 0; a < 6; a++) {
3895 for (int i = 0; i < 4; i++) {
3896 for (int j = 0; j < 4; j++) {
3897 Y_neutralino_box += (ZDL[a][1][i]).conjugate() * ZDL[a][2][j]*
3898 (bsll_D2reg(MChi0(i), MChi0(j), sqrt(mym_sd_sq(a)), sqrt(mym_se_sq(lep_pair)))*
3899 (tantheta * myN(i, 0).conjugate() + myN(i, 1).conjugate())*(tantheta * myN(j, 0) + myN(j, 1))
3900 + 0.5 * MChi0(i) * MChi0(j) * bsll_D0reg(MChi0(i), MChi0(j), sqrt(mym_sd_sq(a)), sqrt(mym_se_sq(lep_pair)))
3901 *(tantheta * myN(j, 0).conjugate() + myN(j, 1).conjugate())*(tantheta * myN(i, 0) + myN(i, 1))) / 2.;
3902 }
3903 }
3904 }
3905 Y_neutralino_box *= MW * MW / (gW * gW * myCKM(2, 1).conjugate() * myCKM(2, 2));
3906 Y_neutralino_box += 2. * sw2*Z_neutralino_box;
3907
3908 // std::cout << "Y_chargedHiggs = " << Y_chargedHiggs << ", " << "Y_chargino = " << Y_chargino << ", " << "Y_neutralino = " << Y_neutralino << ", " << "Y_gluino = " << Y_gluino << ", " << "Y_chargino_box = " << Y_chargino_box << ", " << "Y_neutralino_box = " << Y_neutralino_box << ", " << "Z_neutralino_box = " << Z_neutralino_box << std::endl;
3909
3910 return Y_chargedHiggs + Y_chargino + Y_neutralino + Y_gluino + Y_chargino_box + Y_neutralino_box;
3911}
double bsll_D2reg(double m1, double m2, double m3, double m4)
double bsll_f5(double x)
double bsll_D0reg(double m1, double m2, double m3, double m4)
double bsll_C2(double m1, double m2, double m3, double mu2)

◆ bsll_Z_SUSY()

gslpp::complex SUSYMatching::bsll_Z_SUSY ( int  lep_pair)
private

Definition at line 3913 of file SUSYMatching.cpp.

3914{
3915
3916 double pi = M_PI;
3917 double MW = mySUSY.Mw_tree();
3918 double sw2 = sinthetaW*sinthetaW;
3919 double mt = mySUSY.Mq_Q(mySUSY.TOP);
3920
3921 // double g2 = gW;
3922 double g3 = sqrt(4. * pi * Als);
3923 double mu2 = 100.; // check independence of the result from renornmalization scale mu!
3924
3925 // charged Higgs Z penguin and bubble
3926 gslpp::complex Z_chargedHiggs = -bsll_f5(mt * mt / MHpm / MHpm) / 8. / (tanb * tanb) * mt * mt / MW / MW;
3927
3928 // charged Higgs gamma penguin and bubble
3929 Z_chargedHiggs += -bsll_f6(mt * mt / MHpm / MHpm) / 72. / (tanb * tanb);
3930
3931 // chargino Z penguin and bubble
3932 gslpp::complex Z_chargino = 0.;
3933 for (int a = 0; a < 6; a++) {
3934 for (int b = 0; b < 6; b++) {
3935 for (int i = 0; i < 2; i++) {
3936 for (int j = 0; j < 2; j++) {
3937 Z_chargino += (XUL[a][1][i]).conjugate() * (XUL[b][2][j]) *
3938 (bsll_C2(MChi(i), sqrt(mym_su_sq(a)), sqrt(mym_su_sq(b)), mu2)*(gamULgamULdag(a, b))*(i == j)
3939 - bsll_C2(sqrt(mym_su_sq(a)), MChi(i), MChi(j), mu2)*(a == b) * myV(i, 0).conjugate() * myV(j, 0)
3940 + 0.5 * MChi(i) * MChi(j) * bsll_C0(sqrt(mym_su_sq(a)), MChi(i), MChi(j))*(a == b)
3941 * myU(i, 0) * myU(j, 0).conjugate()) / 2.;
3942 }
3943 }
3944 }
3945 }
3946 // chargino gamma penguin and bubble
3947 for (int a = 0; a < 6; a++) {
3948 for (int i = 0; i < 2; i++) {
3949 Z_chargino += mW * mW / mym_su_sq(a) * XUL[a][1][i].conjugate() * XUL[a][2][i] * bsll_f7(MChi(i) * MChi(i) / mym_su_sq(a)) / 36.;
3950 }
3951 }
3952 Z_chargino /= (gW * gW * myCKM(2, 1).conjugate() * myCKM(2, 2));
3953
3954 // neutralino Z penguin and bubble
3955 gslpp::complex Z_neutralino = 0.;
3956 for (int a = 0; a < 6; a++) {
3957 for (int b = 0; b < 6; b++) {
3958 for (int i = 0; i < 4; i++) {
3959 for (int j = 0; j < 4; j++) {
3960 Z_neutralino += (ZDL[a][1][i]).conjugate() * ZDL[b][2][j] *
3961 (bsll_C2(MChi0(i), sqrt(mym_sd_sq(a)), sqrt(mym_sd_sq(b)), mu2) * gamDRgamDRdag(a, b)*(i == j)
3962 - bsll_C2(sqrt(mym_sd_sq(a)), MChi0(i), MChi0(j), mu2)*(a == b)*(myN(i, 2).conjugate() * myN(j, 2) - myN(i, 3).conjugate() * myN(j, 3))
3963 - 0.5 * MChi0(i) * MChi0(j) * bsll_C0(sqrt(mym_sd_sq(a)), MChi0(i), MChi0(j))*(a == b)
3964 *(myN(j, 2).conjugate() * myN(i, 2) - myN(j, 3).conjugate() * myN(i, 3))) / 2.;
3965 }
3966 }
3967 }
3968 }
3969 // neutralino gamma penguin and bubble
3970 for (int a = 0; a < 6; a++) {
3971 for (int i = 0; i < 4; i++) {
3972 Z_neutralino -= mW * mW / mym_sd_sq(a)*(ZDL[a][1][i]).conjugate() * ZDL[a][2][i] *
3973 bsll_f8(MChi0(i) * MChi0(i) / mym_sd_sq(a)) / 216.;
3974 }
3975 }
3976 Z_neutralino /= (gW * gW * myCKM(2, 1).conjugate() * myCKM(2, 2));
3977
3978 // gluino Z penguin and bubble
3979 gslpp::complex Z_gluino = 0.;
3980 for (int a = 0; a < 6; a++) {
3981 for (int b = 0; b < 6; b++) {
3982 Z_gluino += 4. * myRd(a, 1).conjugate() * myRd(b, 2) * bsll_C2(Mg, sqrt(mym_sd_sq(a)), sqrt(mym_sd_sq(b)), mu2) * gamDRgamDRdag(a, b) / 3.;
3983 }
3984 }
3985 // gluino gamma penguin and bubble
3986 for (int a = 0; a < 6; a++) {
3987 Z_gluino -= mW * mW / mym_sd_sq(a) * myRd(a, 1).conjugate() * myRd(a, 2) * bsll_f8(Mg * Mg / mym_sd_sq(a)) / 81.;
3988 }
3989 Z_gluino *= g3 * g3 / (gW * gW * myCKM(2, 1).conjugate() * myCKM(2, 2));
3990
3991 // LFV contribution: neutralino box
3992 gslpp::complex Z_neutralino_box = 0.;
3993 for (int a = 0; a < 6; a++) {
3994 for (int i = 0; i < 4; i++) {
3995 for (int j = 0; j < 4; j++) {
3996 Z_neutralino_box += (ZDL[a][1][i]).conjugate() * ZDL[a][2][j] / (1. - sw2)*
3997 (bsll_D2reg(MChi0(i), MChi0(j), sqrt(mym_sd_sq(a)), sqrt(mym_se_sq(3 + lep_pair))) * myN(i, 0).conjugate() * myN(j, 0)
3998 + 0.5 * MChi0(i) * MChi0(j) * bsll_D0reg(MChi0(i), MChi0(j), sqrt(mym_sd_sq(a)), sqrt(mym_se_sq(3 + lep_pair))) * myN(j, 0).conjugate() * myN(i, 0));
3999 }
4000 }
4001 }
4002 Z_neutralino_box *= MW * MW / (gW * gW * myCKM(2, 1).conjugate() * myCKM(2, 2));
4003
4004
4005 // std::cout << "Z_chargedHiggs = " << Z_chargedHiggs << ", " << "Z_chargino = " << Z_chargino << ", " << "Z_neutralino = " << Z_neutralino << ", " << "Z_gluino = " << Z_gluino << ", " << "Z_neutralino_box = " << Z_neutralino_box << std::endl;
4006
4007 return Z_chargedHiggs + Z_chargino + Z_neutralino + Z_gluino + Z_neutralino_box;
4008}
double bsll_f6(double x)
double bsll_f7(double x)
double bsll_f8(double x)

◆ C10_Lepton()

gslpp::vector< gslpp::complex > SUSYMatching::C10_Lepton ( int  n)
virtual

Calculates \( C_{10} \) and \( C^{\prime}_{10} \) Wilson coefficients for the process \( \ell_j \to \ell_i \ell_i \ell_i \).

Calculates C10 and C10' for m->eee (1), t->mmm (2), t->eee (3) and t->muee (4)

Parameters
[in]ndetermines the process, e.g., 1 = \( \mu \to eee \), 2 = \( \tau \to \mu \mu \mu \), 3 = \( \tau \to eee \)
Returns
returns the vector of \( C_{10} \) and \( C^{\prime}_{10} \) Wilson coefficients

Definition at line 7493 of file SUSYMatching.cpp.

7493 {
7494
7495 double MZ = mySUSY.getMz();
7496 double MW = mySUSY.Mw_tree();
7497 double sw2 = mySUSY.StandardModel::sW2(MW);
7498 double cw2 = 1.0 - sw2;
7499
7500 gslpp::vector<gslpp::complex> C10(2, 0.);
7501
7502 // write C10 and C10' into a vector
7503 C10.assign(0, 1.0/(4.0*sw2*cw2*MZ*MZ)*FFunctions(li_to_lj)(1)
7504 + (BFunctions(li_to_lj)(3)-BFunctions(li_to_lj)(1))/2.0 );
7505 C10.assign(1, 1.0/(4.0*sw2*cw2*MZ*MZ)*FFunctions(li_to_lj)(0)
7506 + (BFunctions(li_to_lj)(0)-BFunctions(li_to_lj)(2))/2.0 );
7507
7508 return(C10);
7509}
virtual gslpp::vector< gslpp::complex > FFunctions(int n)
Calculates Z penguin amplitudes for the process from .

◆ C7_Lepton()

gslpp::vector< gslpp::complex > SUSYMatching::C7_Lepton ( int  n)
virtual

Calculates \( C_{7} \) and \( C^{\prime}_{7} \) Wilson coefficients for the process \( \ell_j \to \ell_i \gamma \).

Calculates C7 and C7' for m->e (1), t->m (2) and t->e (3)

Parameters
[in]ndetermines the process, e.g., 1 = \( \mu \to e \gamma \), 2 = \( \tau \to \mu \gamma \), 3 = \( \tau \to e \gamma \)
Returns
returns the vector of \( C_{7} \) and \( C^{\prime}_{7} \) Wilson coefficients

Definition at line 7463 of file SUSYMatching.cpp.

7463 {
7464
7465 gslpp::vector<gslpp::complex> C7(2, 0.);
7466
7467 // write C7 and C7' into a vector
7468 C7.assign(0, -0.5*AFunctions(li_to_lj)(2) );
7469 C7.assign(1, -0.5*AFunctions(li_to_lj)(3) );
7470 return(C7);
7471}

◆ C9_Lepton()

gslpp::vector< gslpp::complex > SUSYMatching::C9_Lepton ( int  n)
virtual

Calculates \( C_{9} \) and \( C^{\prime}_{9} \) Wilson coefficients for the process \( \ell_j \to \ell_i \ell_i \ell_i \).

Calculates C9 and C9' for m->eee (1), t->mmm (2), t->eee (3) and t->muee (4)

Parameters
[in]ndetermines the process, e.g., 1 = \( \mu \to eee \), 2 = \( \tau \to \mu \mu \mu \), 3 = \( \tau \to eee \)
Returns
returns the vector of \( C_{9} \) and \( C^{\prime}_{9} \) Wilson coefficients

Definition at line 7473 of file SUSYMatching.cpp.

7473 {
7474
7475 double MZ = mySUSY.getMz();
7476 double MW = mySUSY.Mw_tree();
7477 double sw2 = mySUSY.StandardModel::sW2(MW);
7478 double cw2 = 1.0 - sw2;
7479
7480 gslpp::vector<gslpp::complex> C9(2, 0.);
7481
7482 // write C9 and C9' into a vector
7483 C9.assign(0, AFunctions(li_to_lj)(1)
7484 + (1.0-1.0/(4.0*sw2))/(cw2*MZ*MZ)*FFunctions(li_to_lj)(1)
7485 + (BFunctions(li_to_lj)(1)+BFunctions(li_to_lj)(3))/2.0 );
7486 C9.assign(1, AFunctions(li_to_lj)(0)
7487 + (1.0-1.0/(4.0*sw2))/(cw2*MZ*MZ)*FFunctions(li_to_lj)(0)
7488 + (BFunctions(li_to_lj)(0)+BFunctions(li_to_lj)(2))/2.0 );
7489
7490 return(C9);
7491}

◆ CalcC7()

gslpp::vector< gslpp::complex > SUSYMatching::CalcC7 ( int  b,
int  q 
)
private

Definition at line 3408 of file SUSYMatching.cpp.

3408 {
3409
3410 gslpp::vector<gslpp::complex> VCLO(5, 0.);
3411 gslpp::complex CLO(0., 0., false);
3412 double m2top = mySUSYMQ(4) * mySUSYMQ(4);
3413 double M2Hp = mySUSY.getMHp() * mySUSY.getMHp();
3414 double M2W = mySUSY.Mw_tree() * mySUSY.Mw_tree();
3415
3416 gslpp::vector<double> myMU2Squarks(6, 0.);
3417 myMU2Squarks = mySUSY.getMsu2();
3418 int j, k;
3419
3420
3421 VCLO.assign(0, F7k(m2top / M2W, 0) + (Eps_J(2) - EpsPrime(2, 2)) / (1 + Eps_J(2)
3422 * tanb) * F7k(m2top / M2W, 2));
3423
3424 VCLO.assign(1, 1. / (3. * tanb * tanb) * F7k(m2top / M2Hp, 1) +
3425 F7k(m2top / M2Hp, 2) - (EpsPrime(2, 1) + Eps_J(2)) / (1. + Eps_J(2) * tanb) *
3426 tanb * F7k(m2top / M2Hp, 2));
3427
3428 for (j = 0; j < 2; j++) {
3429 for (k = 0; k < 6; k++) {
3430 CLO += 1. / (3. * gW * gW * myCKM(2, 1).conjugate() * myCKM(2, 2)) *
3431 M2W / (MChi(j) * MChi(j)) * (-1. / 2. * VdUCL(q, k, j).conjugate()
3432 * VdUCL(b, k, j).conjugate()
3433 * F7k(myMU2Squarks(k) / (MChi(j) * MChi(j)), 1) +
3434 VdUCL(q, k, j).conjugate() * VdUCR(b, k, j,1) *
3435 MChi(j) / mySUSYMQ(5) * 6. *
3436 F7k(myMU2Squarks(k) / (MChi(j) * MChi(j)), 2));
3437 }
3438 }
3439
3440 VCLO.assign(2, CLO);
3441
3442 return (VCLO);
3443
3444}
const double getMHp() const
Gets the charged Higgs mass.
Definition: SUSY.h:262
gslpp::vector< double > getMsu2() const
Gets the up-type squark mass squared.
Definition: SUSY.h:371
gslpp::complex VdUCL(int b, int k, int j)
gslpp::complex VdUCR(int b, int k, int j, int flag)
double F7k(double x, int k)
gslpp::complex Eps_J(int J)
gslpp::complex EpsPrime(int J, int I)

◆ CdF2dChi0Chi0()

gslpp::vector< gslpp::complex > SUSYMatching::CdF2dChi0Chi0 ( int  b,
int  q,
int  Dmixingflag 
)
private

Computation Neutralino contribution to Wilson Coefficents

Definition at line 2161 of file SUSYMatching.cpp.

2161 {
2162
2163 gslpp::vector<double> myM2Squarks(6, 0.);
2164 gslpp::vector<gslpp::complex> VCLO(8, 0.);
2165 gslpp::complex CLO(0., 0., false);
2166 int i, j, h, k, O;
2167
2168 // Set the D - Dbar mixing flag
2169 // in D - Dbar mixing the flag = 1 otherwise the flag = 0
2170
2171 if (Dmixingflag == 0) {
2172 myM2Squarks = mySUSY.getMsd2();
2173 }
2174 else if (Dmixingflag == 1) {
2175 myM2Squarks = mySUSY.getMsu2();
2176 }
2177
2178
2179 int D = Dmixingflag;
2180
2181 for (O = 1; O < 9; O++) {
2182
2183 CLO.assign(0., 0., 0);
2184
2185 if (O == 1) {
2186 for (i = 0; i < 4; i++) {
2187 for (j = 0; j < 4; j++) {
2188 for (h = 0; h < 6; h++) {
2189 for (k = 0; k < 6; k++) {
2190
2191 CLO += - VdDNL(q, k, j, 1, D).conjugate()*VdDNL(b, k, i, 1, D)*
2192 (1./ 32. / M_PI / M_PI * VdDNL(b, h, j, 1, D)
2193 * VdDNL(q, h, i, 1, D).conjugate()
2194 * Dk(myM2Squarks(k),myM2Squarks(h), MChi0(i) * MChi0(i),
2195 MChi0(j) * MChi0(j), 2) + MChi0(i) * MChi0(j)
2196 / 64. / M_PI / M_PI * Dk(myM2Squarks(k),
2197 myM2Squarks(h), MChi0(i) * MChi0(i), MChi0(j)
2198 * MChi0(j), 0) * VdDNL(b, h, i, 1, D)*
2199 VdDNL(q, h, j, 1, D).conjugate());
2200 }
2201 }
2202 }
2203 }
2204 }
2205 else if (O == 2) {
2206
2207 for (i = 0; i < 4; i++) {
2208 for (j = 0; j < 4; j++) {
2209 for (h = 0; h < 6; h++) {
2210 for (k = 0; k < 6; k++) {
2211
2212 CLO += MChi0(i) * MChi0(j) / 32. / M_PI / M_PI *
2213 Dk(myM2Squarks(k), myM2Squarks(h),
2214 MChi0(i) * MChi0(i), MChi0(j) * MChi0(j), 0) *
2215 VdDNL(b, k, i, 1, D) * VdDNR(q, k, j, 1, D).conjugate()*
2216 VdDNL(b, h, i, 1, D) * VdDNR(q, h, j, 1, D).conjugate() ;
2217 }
2218 }
2219 }
2220 }
2221 }
2222 else if (O == 3) {
2223
2224 for (i = 0; i < 4; i++) {
2225 for (j = 0; j < 4; j++) {
2226 for (h = 0; h < 6; h++) {
2227 for (k = 0; k < 6; k++) {
2228
2229 CLO += -MChi0(i) * MChi0(j) / 32. / M_PI / M_PI *
2230 Dk(myM2Squarks(k), myM2Squarks(h), MChi0(i) * MChi0(i),
2231 MChi0(j) * MChi0(j), 0) * VdDNL(b, k, i, 1, D) *
2232 VdDNR(q, k, j, 1, D).conjugate() *
2233 (VdDNL(b, h, j, 1, D) * VdDNR(q, h, i, 1, D).conjugate() -
2234 VdDNL(b, h, i, 1, D) * VdDNR(q, h, j, 1, D).conjugate());
2235 }
2236 }
2237 }
2238 }
2239 }
2240 else if (O == 4) {
2241
2242 for (i = 0; i < 4; i++) {
2243 for (j = 0; j < 4; j++) {
2244 for (h = 0; h < 6; h++) {
2245 for (k = 0; k < 6; k++) {
2246
2247 CLO += 1. / 8. / M_PI / M_PI * Dk(myM2Squarks(k),
2248 myM2Squarks(h), MChi0(i) * MChi0(i),
2249 MChi0(j) * MChi0(j), 2) * VdDNR(b, k, i, 1, D) *
2250 VdDNL(q, k, j, 1, D).conjugate() * (
2251 VdDNL(b, h, j, 1, D) * (VdDNR(q, h, i, 1, D).conjugate()) +
2252 VdDNL(b, h, i, 1, D) * (VdDNR(q, h, j, 1, D).conjugate()));
2253 }
2254 }
2255 }
2256 }
2257 }
2258 else if (O == 5) {
2259
2260 for (i = 0; i < 4; i++) {
2261 for (j = 0; j < 4; j++) {
2262 for (h = 0; h < 6; h++) {
2263 for (k = 0; k < 6; k++) {
2264
2265 CLO += -1. / 8. / M_PI / M_PI * Dk(myM2Squarks(k),
2266 myM2Squarks(h), MChi0(i) * MChi0(i),
2267 MChi0(j) * MChi0(j), 2) * VdDNL(q, k, j, 1, D).conjugate() *
2268 VdDNR(q, h, j, 1, D).conjugate() * VdDNL(b, k, i, 1, D) *
2269 VdDNR(b, h, i, 1, D) - MChi0(i) * MChi0(j) / 16. / M_PI /
2270 M_PI * Dk(myM2Squarks(k), myM2Squarks(h),
2271 MChi0(i) * MChi0(i), MChi0(j) * MChi0(j), 0) *
2272 VdDNL(q, h, i, 1, D).conjugate() * VdDNR(q, k, j, 1, D).conjugate() *
2273 VdDNL(b, h, j, 1, D) * VdDNR(b, k, i, 1, D);
2274 }
2275 }
2276 }
2277 }
2278 }
2279 else if (O == 6) {
2280
2281 for (i = 0; i < 4; i++) {
2282 for (j = 0; j < 4; j++) {
2283 for (h = 0; h < 6; h++) {
2284 for (k = 0; k < 6; k++) {
2285
2286 CLO += - VdDNR(q, k, j, 1, D).conjugate()*VdDNR(b, k, i, 1, D)*
2287 (1./ 32. / M_PI / M_PI * VdDNR(b, h, j, 1, D)
2288 * VdDNR(q, h, i, 1, D).conjugate()
2289 * Dk(myM2Squarks(k),myM2Squarks(h), MChi0(i) * MChi0(i),
2290 MChi0(j) * MChi0(j), 2) + MChi0(i) * MChi0(j)
2291 / 64. / M_PI / M_PI * Dk(myM2Squarks(k),
2292 myM2Squarks(h), MChi0(i) * MChi0(i), MChi0(j)
2293 * MChi0(j), 0) * VdDNR(b, h, i, 1, D)*
2294 VdDNR(q, h, j, 1, D).conjugate());
2295 }
2296 }
2297 }
2298 }
2299 }
2300 else if (O == 7) {
2301
2302 for (i = 0; i < 4; i++) {
2303 for (j = 0; j < 4; j++) {
2304 for (h = 0; h < 6; h++) {
2305 for (k = 0; k < 6; k++) {
2306
2307 CLO += MChi0(i) * MChi0(j) / 32. / M_PI / M_PI *
2308 Dk(myM2Squarks(k), myM2Squarks(h),
2309 MChi0(i) * MChi0(i), MChi0(j) * MChi0(j), 0) *
2310 VdDNR(b, k, i, 1, D) * VdDNL(q, k, j, 1, D).conjugate()*
2311 VdDNR(b, h, i, 1, D) * VdDNL(q, h, j, 1, D).conjugate() ;
2312 }
2313 }
2314 }
2315 }
2316
2317 }
2318 else if (O == 8) {
2319
2320 for (i = 0; i < 4; i++) {
2321 for (j = 0; j < 4; j++) {
2322 for (h = 0; h < 6; h++) {
2323 for (k = 0; k < 6; k++) {
2324
2325 CLO += -MChi0(i) * MChi0(j) / 32. / M_PI / M_PI *
2326 Dk(myM2Squarks(k), myM2Squarks(h), MChi0(i) * MChi0(i),
2327 MChi0(j) * MChi0(j), 0) * VdDNR(b, k, i, 1, D) *
2328 VdDNL(q, k, j, 1, D).conjugate() *
2329 (VdDNR(b, h, j, 1, D) * VdDNL(q, h, i, 1, D).conjugate() -
2330 VdDNR(b, h, i, 1, D) * VdDNL(q, h, j, 1, D).conjugate());
2331 }
2332 }
2333 }
2334 }
2335 }
2336
2337 VCLO.assign(O - 1, CLO);
2338
2339 }
2340 return (VCLO);
2341
2342}
gslpp::vector< double > getMsd2() const
Gets the down-type squark mass squared.
Definition: SUSY.h:380
gslpp::complex VdDNL(int b, int k, int j, int flag)
gslpp::complex VdDNR(int b, int k, int j, int flag)
double Dk(double x, double y, double z, double t, int k)

◆ CdF2dChi0g()

gslpp::vector< gslpp::complex > SUSYMatching::CdF2dChi0g ( int  b,
int  q,
int  Dmixingflag 
)
private

Computation Neutralino - Gluino Box

Definition at line 2347 of file SUSYMatching.cpp.

2347 {
2348
2349
2350 gslpp::matrix<gslpp::complex> myR(6, 6, 0.);
2351 gslpp::vector<double> myM2Squarks(6, 0.);
2352 gslpp::vector<gslpp::complex> VCLO(8, 0.);
2353 gslpp::complex CLO(0., 0., false);
2354 int i, h, k, O;
2355 double M2g = Mg*Mg;
2356
2357
2358
2359 // Set the D - Dbar mixing flag
2360 // in D - Dbar mixing the flag = 1 otherwise the flag = 0
2361
2362 if (Dmixingflag == 0) {
2363 myM2Squarks = mySUSY.getMsd2();
2364 myR = mySUSY.getRd();
2365 }
2366 else if (Dmixingflag == 1) {
2367 myM2Squarks = mySUSY.getMsu2();
2368
2369 /* in the D mixing Rd -> Ru^* , b -> c , q -> u */
2370
2371 myR = mySUSY.getRu().hconjugate().transpose();
2372 }
2373
2374 int D = Dmixingflag;
2375
2376
2377 for (O = 1; O < 9; O++) {
2378
2379 CLO.assign(0., 0., 0);
2380
2381 if (O == 1) {
2382 for (i = 0; i < 4; i++) {
2383 for (h = 0; h < 6; h++) {
2384 for (k = 0; k < 6; k++) {
2385
2386 CLO += -Als * 2. / 3. / 4. / M_PI * Dk(myM2Squarks(k), myM2Squarks(h),
2387 MChi0(i) * MChi0(i), M2g, 2) * myR(k, q).conjugate()
2388 * myR(h, b) * VdDNL(q, h, i, 1, D).conjugate() *
2389 VdDNL(b, k, i, 1, D) - Als / 4. / M_PI * MChi0(i) * Mg / 6. *
2390 Dk(myM2Squarks(k), myM2Squarks(h), MChi0(i) * MChi0(i)
2391 , M2g, 0) * (myR(h, q).conjugate() * myR(k, q).conjugate()
2392 * VdDNL(b, h, i, 1, D) * VdDNL(b, k, i, 1, D)
2393 + myR(h, b) * myR(k, b) * VdDNL(q, h, i, 1, D).conjugate() *
2394 VdDNL(q, k, i, 1, D).conjugate());
2395
2396 }
2397 }
2398 }
2399 }
2400 else if (O == 2) {
2401 for (i = 0; i < 4; i++) {
2402 for (h = 0; h < 6; h++) {
2403 for (k = 0; k < 6; k++) {
2404
2405 CLO += Als /4. / M_PI * MChi0(i) * Mg / 3. *
2406 Dk(myM2Squarks(k), myM2Squarks(h), MChi0(i)
2407 * MChi0(i), M2g, 0) * (3. * myR(h, b) *
2408 myR(k, q + 3).conjugate() * VdDNL(b, k, i, 1, D) *
2409 VdDNR(q, h, i, 1, D).conjugate()
2410 + myR(k, b) * myR(h, b) *
2411 VdDNR(q, k, i, 1, D).conjugate() * VdDNR(q, h, i, 1, D).conjugate() +
2412 myR(k, q + 3).conjugate() * myR(h, q + 3).conjugate() *
2413 VdDNL(b, k, i, 1, D) * VdDNL(b, h, i, 1, D));
2414
2415 }
2416 }
2417 }
2418 }
2419 else if (O == 3) {
2420 for (i = 0; i < 4; i++) {
2421 for (h = 0; h < 6; h++) {
2422 for (k = 0; k < 6; k++) {
2423
2424 CLO += -Als / 4. / M_PI * MChi0(i) * Mg / 3. *
2425 Dk(myM2Squarks(k), myM2Squarks(h), MChi0(i)
2426 * MChi0(i), M2g, 0) * (
2427 myR(h, b) * myR(k, q + 3).conjugate() * VdDNL(b, k, i, 1, D) *
2428 VdDNR(q, h, i, 1, D).conjugate() - myR(k, b) *
2429 myR(h, b) * VdDNR(q, k, i, 1, D).conjugate() *
2430 VdDNR(q, h, i, 1, D).conjugate() - myR(k, q + 3).conjugate() *
2431 myR(h, q + 3).conjugate() * VdDNL(b, k, i, 1, D) *
2432 VdDNL(b, h, i, 1, D));
2433
2434 }
2435 }
2436 }
2437 }
2438 else if (O == 4) {
2439 for (i = 0; i < 4; i++) {
2440 for (h = 0; h < 6; h++) {
2441 for (k = 0; k < 6; k++) {
2442
2443 CLO += -Als / 4. / M_PI * 2. / 3. *
2444 Dk(myM2Squarks(k), myM2Squarks(h), MChi0(i)
2445 * MChi0(i), M2g, 2) * (
2446 myR(h, b) * myR(k, q).conjugate() * VdDNR(b, k, i, 1, D) *
2447 VdDNR(q, h, i, 1, D).conjugate() +
2448 myR(h, b + 3) *
2449 myR(k, q + 3).conjugate() * VdDNL(b, k, i, 1, D) *
2450 VdDNL(q, h, i, 1, D).conjugate()
2451 - myR(h, b) * myR(k, b + 3) *
2452 VdDNL(q, k, i, 1, D).conjugate() * VdDNR(q, h, i, 1, D).conjugate()
2453 - myR(h, q).conjugate() * myR(k, q + 3).conjugate() *
2454 VdDNL(b, k, i, 1, D) * VdDNR(b, h, i, 1, D)
2455 - 3. * myR(k, b + 3) * myR(h, b) *
2456 VdDNL(q, h, i, 1, D).conjugate() *VdDNR(q, k, i, 1, D).conjugate()
2457 - 3. * myR(k, q + 3).conjugate() *
2458 myR(h, q).conjugate() * VdDNL(b, h, i, 1, D) * VdDNR(b, k, i, 1, D)) +
2459 Als / 4. / M_PI * MChi0(i) * Mg *
2460 Dk(myM2Squarks(k), myM2Squarks(h), MChi0(i)* MChi0(i), M2g, 0) *
2461 (myR(h, b) * myR(k, q + 3).conjugate() *
2462 VdDNR(b, k, i, 1, D) * VdDNL(q, h, i, 1, D).conjugate() +
2463 myR(h, b + 3) * myR(k, q).conjugate() *
2464 VdDNL(b, k, i, 1, D) * VdDNR(q, h, i, 1, D).conjugate());
2465
2466 }
2467 }
2468 }
2469 }
2470 else if (O == 5) {
2471 for (i = 0; i < 4; i++) {
2472 for (h = 0; h < 6; h++) {
2473 for (k = 0; k < 6; k++) {
2474
2475 CLO += Als / 4. / M_PI * 2. / 3. *
2476 Dk(myM2Squarks(k), myM2Squarks(h), MChi0(i)
2477 * MChi0(i), M2g, 2)*(
2478 3. * myR(h, b) * myR(k, q).conjugate() * VdDNR(b, k, i, 1, D) *
2479 VdDNR(q, h, i, 1, D).conjugate() + 3. * myR(h, b + 3) *
2480 myR(k, q + 3).conjugate() * VdDNL(b, k, i, 1, D) *
2481 VdDNL(q, h, i, 1, D).conjugate()
2482 - 3. * myR(h, b) * myR(k, b + 3) *
2483 VdDNL(q, k, i, 1, D).conjugate() * VdDNR(q, h, i, 1, D).conjugate()
2484 - 3. * myR(h, q).conjugate() * myR(k, q + 3).conjugate() *
2485 VdDNL(b, k, i, 1, D) * VdDNR(b, h, i, 1, D) - myR(k, b + 3) *
2486 myR(h, b) * VdDNL(q, h, i, 1, D).conjugate() *
2487 VdDNR(q, k, i, 1, D).conjugate() - myR(k, q + 3).conjugate() *
2488 myR(h, q).conjugate() * VdDNL(b, h, i, 1, D) * VdDNR(b, k, i, 1, D)) -
2489 Als / 4. / M_PI * MChi0(i) * Mg / 3. *
2490 Dk(myM2Squarks(k), myM2Squarks(h), MChi0(i)
2491 * MChi0(i), M2g, 0)* (myR(h, b) * myR(k, q + 3).conjugate() *
2492 VdDNR(b, k, i, 1, D) * VdDNL(q, h, i, 1, D).conjugate() +
2493 myR(h, b + 3) * myR(k, q).conjugate() *
2494 VdDNL(b, k, i, 1, D) * VdDNR(q, h, i, 1, D).conjugate());
2495
2496 }
2497 }
2498 }
2499 }
2500 else if (O == 6) {
2501 for (i = 0; i < 4; i++) {
2502 for (h = 0; h < 6; h++) {
2503 for (k = 0; k < 6; k++) {
2504
2505 CLO += -Als * 2. / 3. / 4. / M_PI * Dk(myM2Squarks(k), myM2Squarks(h),
2506 MChi0(i) * MChi0(i), M2g, 2) * myR(k, q + 3).conjugate()
2507 * myR(h, b + 3) * VdDNR(q, h, i, 1, D).conjugate() *
2508 VdDNR(b, k, i, 1, D) - Als / 4. / M_PI * MChi0(i) * Mg / 6. *
2509 Dk(myM2Squarks(k), myM2Squarks(h), MChi0(i) * MChi0(i)
2510 , M2g, 0) * (myR(h, q + 3).conjugate() * myR(k, q + 3).conjugate()
2511 * VdDNR(b, h, i, 1, D) * VdDNR(b, k, i, 1, D)
2512 + myR(h, b + 3) * myR(k, b + 3) * VdDNR(q, h, i, 1, D).conjugate() *
2513 VdDNR(q, k, i, 1, D).conjugate());
2514
2515 }
2516 }
2517 }
2518 }
2519 else if (O == 7) {
2520 for (i = 0; i < 4; i++) {
2521 for (h = 0; h < 6; h++) {
2522 for (k = 0; k < 6; k++) {
2523
2524 CLO += Als /4. / M_PI * MChi0(i) * Mg / 3. *
2525 Dk(myM2Squarks(k), myM2Squarks(h), MChi0(i)
2526 * MChi0(i), M2g, 0) * (3. * myR(h, b + 3) *
2527 myR(k, q).conjugate() * VdDNR(b, k, i, 1, D) *
2528 VdDNL(q, h, i, 1, D).conjugate()
2529 + myR(k, b + 3) * myR(h, b + 3) *
2530 VdDNL(q, k, i, 1, D).conjugate() * VdDNL(q, h, i, 1, D).conjugate() +
2531 myR(k, q).conjugate() * myR(h, q).conjugate() *
2532 VdDNR(b, k, i, 1, D) * VdDNR(b, h, i, 1, D));
2533
2534 }
2535 }
2536 }
2537 }
2538 else if (O == 8) {
2539 for (i = 0; i < 4; i++) {
2540 for (h = 0; h < 6; h++) {
2541 for (k = 0; k < 6; k++) {
2542
2543 CLO += -Als / 4. / M_PI * MChi0(i) * Mg / 3. *
2544 Dk(myM2Squarks(k), myM2Squarks(h), MChi0(i)
2545 * MChi0(i), M2g, 0) * (
2546 myR(h, b + 3) * myR(k, q).conjugate() * VdDNR(b, k, i, 1, D) *
2547 VdDNL(q, h, i, 1, D).conjugate() - myR(k, b + 3) *
2548 myR(h, b + 3) * VdDNL(q, k, i, 1, D).conjugate() *
2549 VdDNL(q, h, i, 1, D).conjugate() - myR(k, q).conjugate() *
2550 myR(h, q).conjugate() * VdDNR(b, k, i, 1, D) *
2551 VdDNR(b, h, i, 1, D));
2552
2553 }
2554 }
2555 }
2556 }
2557
2558 VCLO.assign(O - 1, CLO);
2559
2560 }
2561 return (VCLO);
2562}
gslpp::matrix< gslpp::complex > getRu() const
Gets the rotation matrix for up-type squarks.
Definition: SUSY.h:399
gslpp::matrix< gslpp::complex > getRd() const
Gets the rotation matrix for down-type squarks.
Definition: SUSY.h:408

◆ CdF2dChiChi()

gslpp::vector< gslpp::complex > SUSYMatching::CdF2dChiChi ( int  b,
int  q,
int  Dmixingflag 
)
private

Computation Charginos contribution to Wilson Coefficents

Definition at line 2027 of file SUSYMatching.cpp.

2027 {
2028
2029 gslpp::vector<double> myM2Squarks(6, 0.);
2030
2031 gslpp::complex CLO(0., 0., false);
2032 gslpp::vector<gslpp::complex> VCLO(8, 0.);
2033 int i, j, h, k, O;
2034
2035
2036 // Set the D - Dbar mixing flag
2037 // in D - Dbar mixing the flag = 1 otherwise the flag = 0
2038
2039 if (Dmixingflag == 0) {
2040 myM2Squarks = mySUSY.getMsu2();
2041 }
2042 else if (Dmixingflag == 1) {
2043 myM2Squarks = mySUSY.getMsd2();
2044 }
2045
2046 int D = Dmixingflag;
2047
2048 for (O = 1; O < 9; O++) {
2049
2050 CLO.assign(0., 0.,0);
2051
2052 if (O == 1) {
2053 for (i = 0; i < 2; i++) {
2054 for (j = 0; j < 2; j++) {
2055 for (h = 0; h < 6; h++) {
2056 for (k = 0; k < 6; k++) {
2057
2058 CLO += -1. / (32. * M_PI * M_PI) * Dk(myM2Squarks(k),
2059 myM2Squarks(h), MChi(i) * MChi(i), MChi(j)
2060 * MChi(j), 2) * VdUCL(b, k, j, D) * VdUCL(b, h, i, D)
2061 * VdUCL(q, h, j, D).conjugate()
2062 * VdUCL(q, k, i, D).conjugate();
2063 }
2064 }
2065 }
2066 }
2067 }
2068 else if (O == 3) {
2069 for (i = 0; i < 2; i++) {
2070 for (j = 0; j < 2; j++) {
2071 for (h = 0; h < 6; h++) {
2072 for (k = 0; k < 6; k++) {
2073
2074 CLO += -1. / (32. * M_PI * M_PI) *
2075 VdUCR(q, k, j, 1, D).conjugate() *
2076 VdUCR(q, h, i, 1, D).conjugate() *
2077 VdUCL(b, k, i, D) * VdUCL(b, h, j, D) *
2078 D0N(myM2Squarks(k),
2079 myM2Squarks(h), MChi(i) * MChi(i),
2080 MChi(j) * MChi(j));
2081 }
2082 }
2083 }
2084 }
2085 }
2086 else if (O == 4) {
2087 for (i = 0; i < 2; i++) {
2088 for (j = 0; j < 2; j++) {
2089 for (h = 0; h < 6; h++) {
2090 for (k = 0; k < 6; k++) {
2091
2092 CLO += 1. / (8. * M_PI * M_PI) * VdUCL(q, h, i, D).conjugate() *
2093 VdUCR(q, k, j, 1, D).conjugate() * VdUCL(b, k, i, D) *
2094 VdUCR(b, h, j, 1, D) * Dk(myM2Squarks(k),
2095 myM2Squarks(h), MChi(i) * MChi(i), MChi(j)
2096 * MChi(j), 2);
2097 }
2098 }
2099 }
2100 }
2101 }
2102 else if (O == 5) {
2103 for (i = 0; i < 2; i++) {
2104 for (j = 0; j < 2; j++) {
2105 for (h = 0; h < 6; h++) {
2106 for (k = 0; k < 6; k++) {
2107
2108 CLO += -1. / (16. * M_PI * M_PI) * VdUCL(q, k, j, D).conjugate() *
2109 VdUCR(q, h, i, 1, D).conjugate() * VdUCL(b, k, i, D) *
2110 VdUCR(b, h, j, 1, D) * D0N(myM2Squarks(k),
2111 myM2Squarks(h), MChi(i) * MChi(i), MChi(j)
2112 * MChi(j));
2113 }
2114 }
2115 }
2116 }
2117 }
2118 else if (O == 6) {
2119 for (i = 0; i < 2; i++) {
2120 for (j = 0; j < 2; j++) {
2121 for (h = 0; h < 6; h++) {
2122 for (k = 0; k < 6; k++) {
2123
2124 CLO += -1. / (32. * M_PI * M_PI) * Dk(myM2Squarks(k),
2125 myM2Squarks(h), MChi(i) * MChi(i), MChi(j)
2126 * MChi(j), 2) * VdUCR(q, k, i, 1, D).conjugate() *
2127 VdUCR(q, h, j, 1, D).conjugate() * VdUCR(b, h, i, 1, D) *
2128 VdUCR(b, k, j, 1, D);
2129 }
2130 }
2131 }
2132 }
2133 }
2134 else if (O == 8) {
2135 for (i = 0; i < 2; i++) {
2136 for (j = 0; j < 2; j++) {
2137 for (h = 0; h < 6; h++) {
2138 for (k = 0; k < 6; k++) {
2139
2140 CLO += -1. / (32. * M_PI * M_PI) * VdUCL(q, k, j, D).conjugate() *
2141 VdUCL(q, h, i, D).conjugate() * VdUCR(b, k, i, 1, D) *
2142 VdUCR(b, h, j, 1, D) *
2143 D0N(myM2Squarks(k), myM2Squarks(h),
2144 MChi(i) * MChi(i), MChi(j) * MChi(j));
2145 }
2146 }
2147 }
2148 }
2149 }
2150
2151 VCLO.assign(O - 1, CLO);
2152 }
2153
2154 return (VCLO);
2155}
double D0N(double x, double y, double z, double t)

◆ CdF2dgg()

gslpp::vector< gslpp::complex > SUSYMatching::CdF2dgg ( int  b,
int  q,
int  Dmixingflag 
)
private

Computation Gluinos Box

Definition at line 1879 of file SUSYMatching.cpp.

1879 {
1880
1881 gslpp::matrix<gslpp::complex> myR(6, 6, 0.);
1882 gslpp::vector<double> myM2Squarks(6, 0.);
1883
1884
1885 // Set the D - Dbar mixing flag
1886 // in D - Dbar mixing the flag = 1 otherwise the flag = 0
1887
1888 if (Dmixingflag == 0) {
1889 myM2Squarks = mySUSY.getMsd2();
1890 myR = mySUSY.getRd();
1891 }
1892 else if (Dmixingflag == 1) {
1893 myM2Squarks = mySUSY.getMsu2();
1894
1895 /* in the D mixing Rd -> Ru^* , b -> c , q -> u */
1896
1897 myR = mySUSY.getRu().hconjugate().transpose();
1898
1899 }
1900
1901 gslpp::complex CLO(0., 0., false);
1902 gslpp::vector<gslpp::complex> VCLO(8, 0.);
1903
1904
1905 double M2g = Mg*Mg;
1906 int h, k, O;
1907
1908
1909 for (O = 1; O < 9; O++) {
1910
1911 CLO.assign(0., 0.,0);
1912
1913 if (O == 1) {
1914 for (h = 0; h < 6; h++) {
1915 for (k = 0; k < 6; k++) {
1916
1917 CLO += -Als * Als *
1918 myR(h, b) * myR(k, b)
1919 * myR(h, q).conjugate() * myR(k, q).conjugate() *
1920 (1. / 9. * M2g *
1921 Dk(myM2Squarks(h), myM2Squarks(k), M2g, M2g, 0) +
1922 11. / 9. * Dk(myM2Squarks(h), myM2Squarks(k), M2g, M2g, 2));
1923 }
1924 }
1925 }
1926 else if (O == 2) {
1927 for (h = 0; h < 6; h++) {
1928 for (k = 0; k < 6; k++) {
1929
1930 CLO += -Als * Als * 17. / 18. * M2g * myR(h, b)
1931 * myR(k, b) * myR(h, q + 3).conjugate()
1932 * myR(k, q + 3).conjugate() *
1933 Dk(myM2Squarks(h), myM2Squarks(k), M2g, M2g, 0);
1934 }
1935 }
1936 }
1937 else if (O == 3) {
1938 for (h = 0; h < 6; h++) {
1939 for (k = 0; k < 6; k++) {
1940
1941 CLO += Als * Als * 1. / 6. * M2g * myR(h, b)
1942 * myR(k, b) * myR(h, q + 3).conjugate()
1943 * myR(k, q + 3).conjugate() *
1944 Dk(myM2Squarks(h), myM2Squarks(k), M2g, M2g, 0);
1945 }
1946 }
1947 }
1948 else if (O == 4) {
1949 for (h = 0; h < 6; h++) {
1950 for (k = 0; k < 6; k++) {
1951
1952 CLO += -Als * Als * 7. / 3. * M2g * myR(h, b)
1953 * myR(k, b + 3) * myR(h, q).conjugate()
1954 * myR(k, q + 3).conjugate() *
1955 Dk(myM2Squarks(h), myM2Squarks(k), M2g, M2g, 0) +
1956 Als * Als * 2. / 9. *
1957 Dk(myM2Squarks(h), myM2Squarks(k), M2g, M2g, 2)
1958 * myR(h, b) * myR(k, b + 3) *
1959 (6. * myR(h, q).conjugate() * myR(k, q + 3).conjugate()
1960 + 11. * myR(k, q).conjugate() * myR(h, q + 3).conjugate())
1961 ;
1962 }
1963 }
1964 }
1965 else if (O == 5) {
1966 for (h = 0; h < 6; h++) {
1967 for (k = 0; k < 6; k++) {
1968
1969 CLO += -Als * Als * 1. / 9. * M2g * myR(h, b)
1970 * myR(k, b + 3) * myR(h, q).conjugate()
1971 * myR(k, q + 3).conjugate() *
1972 Dk(myM2Squarks(h), myM2Squarks(k), M2g, M2g, 0) +
1973 Als * Als * 10. / 9. *
1974 Dk(myM2Squarks(h), myM2Squarks(k), M2g, M2g, 2)
1975 * myR(h, b) * myR(k, b + 3) *
1976 (3. * myR(k, q).conjugate() * myR(h, q + 3).conjugate()
1977 - 2. * myR(h, q).conjugate() * myR(k, q + 3).conjugate())
1978 ;
1979 }
1980 }
1981 }
1982 else if (O == 6) {
1983 for (h = 0; h < 6; h++) {
1984 for (k = 0; k < 6; k++) {
1985
1986 CLO += -Als * Als * myR(h, b + 3) * myR(k, b + 3)
1987 * myR(h, q + 3).conjugate() * myR(k, q + 3).conjugate() *
1988 (1. / 9. * M2g * Dk(myM2Squarks(h), myM2Squarks(k), M2g, M2g, 0) -
1989 11. / 9. * Dk(myM2Squarks(h), myM2Squarks(k), M2g, M2g, 2));
1990 }
1991 }
1992 }
1993 else if (O == 7) {
1994 for (h = 0; h < 6; h++) {
1995 for (k = 0; k < 6; k++) {
1996
1997 CLO += -Als * Als * 17. / 18. * M2g * myR(h, b + 3)
1998 * myR(k, b + 3) * myR(h, q).conjugate()
1999 * myR(k, q).conjugate() *
2000 Dk(myM2Squarks(h), myM2Squarks(k), M2g, M2g, 0);
2001 }
2002 }
2003 }
2004 else if (O == 8) {
2005 for (h = 0; h < 6; h++) {
2006 for (k = 0; k < 6; k++) {
2007
2008 CLO += Als * Als * 1. / 6. * M2g * myR(h, b + 3)
2009 * myR(k, b + 3) * myR(h, q).conjugate()
2010 * myR(k, q).conjugate() *
2011 Dk(myM2Squarks(h), myM2Squarks(k), M2g, M2g, 0);
2012 }
2013 }
2014 }
2015
2016
2017 VCLO.assign(O - 1, CLO);
2018
2019 }
2020
2021 return (VCLO);
2022}

◆ CdF2dHp()

gslpp::vector< gslpp::complex > SUSYMatching::CdF2dHp ( int  b,
int  q,
int  Dmixingflag 
)
private

Computation of Charged Higgs contributions

The double Penguin contributions are calulated only for the B and K mixing

end double Penguin contribution

Definition at line 1662 of file SUSYMatching.cpp.

1662 {
1663
1664 gslpp::vector<double> M2S(3,0.);
1665 gslpp::vector<double> MQuarks(6,0.);
1666 int i;
1667
1668 // Set the D - Dbar mixing flag
1669 // in D - Dbar mixing the flag = 1 otherwise the flag = 0
1670
1671 if (Dmixingflag == 0) {
1672 for (i = 0; i < 6; i++) {
1673 MQuarks(i) += mySUSYMQ(i);
1674 }
1675 }
1676 else if (Dmixingflag == 1) {
1677 for (i = 0; i < 3; i++) {
1678
1679 MQuarks(2 * i) += mySUSYMQ(2 * i + 1);
1680 MQuarks(2 * i + 1) += mySUSYMQ(2 * i);
1681 }
1682 myCKM.transpose();
1683 }
1684 else {
1685 throw std::runtime_error("Error in Dmixingflag in SUSYMatching.cpp. Flag can be either 0 or 1 ");
1686 }
1687
1688 M2S(0) = mySUSY.getMHl() * mySUSY.getMHl();
1689 M2S(1) = mySUSY.getMHh() * mySUSY.getMHh();
1690 M2S(2) = mySUSY.getMHa() * mySUSY.getMHa();
1691
1692 gslpp::vector<gslpp::complex> VCLO(8, 0.);
1693 gslpp::complex CLO(0.,0.,false);
1694
1695
1696 int I, J, k, l, S, O;
1697 double M2W = mySUSY.Mw_tree();
1698 double M2H = mySUSY.getMHp();
1699 double M2I;
1700 double M2J;
1701 M2W *= M2W;
1702 M2H *= M2H;
1703
1704 gslpp::vector<double> M2Hk(2, 0);
1705 M2Hk(0) = M2H;
1706 M2Hk(1) = M2W;
1707
1708 int D = Dmixingflag;
1709
1710 for (O = 1; O < 9; O++) {
1711
1712 CLO.assign(0., 0., 0);
1713
1714 if (O == 1) {
1715 for (I = 0; I < 3; I++) {
1716 M2I = MQuarks(2 * I);
1717 M2I *= M2I;
1718
1719 for (J = 0; J < 3; J++) {
1720
1721 M2J = MQuarks(2 * J);
1722 M2J *= M2J;
1723 CLO += gW * gW / (32. * M_PI * M_PI) *
1724 myCKM(I, q).conjugate() * myCKM(J, b) * PRLk(J, q, 0, D).conjugate() *
1725 PRLk(I, b, 0, D) * D0N(M2W, M2W, M2I, M2J)
1726
1727 - 1. / (32. * M_PI * M_PI) * PRLk(I, q, 0, D).conjugate() *
1728 PRLk(J, q, 0, D).conjugate() * PRLk(I, b, 0, D) * PRLk(J, b, 0, D) *
1729 Dk(M2W, M2W, M2I, M2J, 2)
1730
1731 - 1. / (16. * M_PI * M_PI) * PRLk(I, q, 1, D).conjugate() *
1732 PRLk(J, q, 0, D).conjugate() * PRLk(I, b, 0, D) * PRLk(J, b, 1, D) *
1733 Dk(M2W, M2W, M2I, M2J, 2);
1734 }
1735 }
1736 }
1737 else if (O == 2) {
1738 for (I = 1; I < 3; I++) {
1739 M2I = MQuarks(2 * I);
1740 M2I *= M2I;
1741
1742 for (J = 1; J < 3; J++) {
1743
1744 M2J = MQuarks(2 * J);
1745 M2J *= M2J;
1746
1747 for (k = 0; k < 2; k++) {
1748 for (l = 0; l < 2; l++) {
1749
1750 CLO += -1. / (32. * M_PI * M_PI) * PLRk(I, q, l, D).conjugate() *
1751 PLRk(J, q, k, D).conjugate() * PRLk(I, b, k, D) * PRLk(J, b, l, D) *
1752 D0N(M2Hk(k), M2Hk(l), M2I, M2J);
1753
1754
1755 }
1756 }
1757 }
1758 }
1759 }
1760 else if (O == 4) {
1761 for (I = 0; I < 3; I++) {
1762 M2I = MQuarks(2 * I);
1763 M2I *= M2I;
1764
1765 for (J = 0; J < 3; J++) {
1766
1767 M2J = MQuarks(2 * J);
1768 M2J *= M2J;
1769
1770 for (k = 0; k < 2; k++) {
1771
1772
1773 CLO += gW * gW / (8. * M_PI * M_PI) *
1774 myCKM(I, q).conjugate() * myCKM(J, b) *
1775 PLRk(J, q, k, D).conjugate() * PLRk(I, b, k, D) *
1776 Dk(M2W, M2Hk(k), M2I, M2J, 2);
1777
1778
1779
1780 for (l = 0; l < 2; l++) {
1781
1782 CLO += -1. / (16. * M_PI * M_PI) * PLRk(I, q, l, D).conjugate() *
1783 PRLk(J, q, k, D).conjugate() * PRLk(I, b, k, D) *
1784 PLRk(J, b, l, D) * D0N(M2Hk(k), M2Hk(l), M2I, M2J);
1785 }
1786 }
1787 }
1788 }
1789
1792 if (D == 0) {
1793 for (S = 0; S < 3; S++) {
1794
1795 CLO += -XRLS(q, b, S) * XLRS(q, b, S) / M2S(S);
1796
1797 }
1798 }
1799
1802 }
1803 else if (O == 5) {
1804 for (I = 0; I < 3; I++) {
1805 M2I = MQuarks(2 * I);
1806 M2I *= M2I;
1807
1808 for (J = 0; J < 3; J++) {
1809
1810 M2J = MQuarks(2 * J);
1811 M2J *= M2J;
1812
1813 for (k = 0; k < 2; k++) {
1814 for (l = 0; l < 2; l++) {
1815
1816 CLO += 1. / 8. * PRLk(I, q, l, D).conjugate() *
1817 PLRk(J, q, k, D).conjugate() * PRLk(I, b, k, D) *
1818 PLRk(J, b, l, D) * Dk(M2Hk(k), M2Hk(l), M2I, M2J, 2);
1819 }
1820 }
1821 }
1822 }
1823 }
1824 else if (O == 6) {
1825 for (I = 0; I < 3; I++) {
1826 M2I = MQuarks(2 * I);
1827 M2I *= M2I;
1828
1829 for (J = 0; J < 3; J++) {
1830
1831 M2J = MQuarks(2 * J);
1832 M2J *= M2J;
1833
1834 for (k = 0; k < 2; k++) {
1835 for (l = 0; l < 2; l++) {
1836
1837 CLO += -1. / (32. * M_PI * M_PI) * PLRk(I, q, k, D).conjugate() *
1838 PLRk(J, q, l, D).conjugate() * PLRk(I, b, k, D) *
1839 PLRk(J, b, l, D) * Dk(M2Hk(k), M2Hk(l), M2I, M2J, 2);
1840
1841 }
1842 }
1843 }
1844 }
1845 }
1846 else if (O == 7) {
1847 for (I = 0; I < 3; I++) {
1848 M2I = MQuarks(2 * I);
1849 M2I *= M2I;
1850
1851 for (J = 0; J < 3; J++) {
1852
1853 M2J = MQuarks(2 * J);
1854 M2J *= M2J;
1855
1856 for (k = 0; k < 2; k++) {
1857 for (l = 0; l < 2; l++) {
1858
1859 CLO += -1. / (32. * M_PI * M_PI) * PRLk(I, q, l, D).conjugate() *
1860 PRLk(J, q, k, D).conjugate() * PLRk(I, b, k, D) * PLRk(J, b, l, D)
1861 * D0N(M2Hk(k), M2Hk(l), M2I, M2J);
1862
1863 }
1864 }
1865 }
1866 }
1867 }
1868
1869 VCLO.assign(O - 1,CLO);
1870
1871 }
1872
1873 return (VCLO);
1874}
A class for the form factor in .
gslpp::complex XRLS(int J, int I, int S)
gslpp::complex PRLk(int j, int i, int k)
gslpp::complex PLRk(int j, int i, int k)
gslpp::complex XLRS(int J, int I, int S)

◆ Ck()

double SUSYMatching::Ck ( double  x,
double  y,
double  z,
int  k 
)
private

Definition at line 610 of file SUSYMatching.cpp.

610 {
611
612 if ((fabs(1. - y / x) < SUSYLEPS)&(fabs(1. - z / x) < SUSYLEPS)) {
613
614 return (CLL(x,k));
615
616 }
617 else if ((fabs(1. - y / x) < SUSYLEPS)) {
618
619 return (CL(x,z,k));
620
621 }
622 else if ((fabs(1. - z / x) < SUSYLEPS)) {
623
624 return (CL(x,y,k));
625
626 }
627 else if ((fabs(1. - z / y) < SUSYLEPS)) {
628
629 return (CL(y,x,k));
630
631 }
632
633 if (k == 0) {
634 return ((y * log(y / x)) / ((x - y)*(-y + z)) + (z * log(z / x)) /
635 ((x - z)*(y - z)));
636 }
637 else if (k == 2) {
638 return (-log(mu2R) + log(x) + y * y * log(y / x) / ((x - y)*(-y + z))
639 + z * z * log(z / x) / ((x - z)*(y - z)));
640 }
641 else {
642
643 throw std::runtime_error("Error in Ck(x,y,z,k) in SUSYMatching.cpp ");
644 }
645
646 return (EXIT_FAILURE);
647
648}
double CLL(double a, int k)
double CL(double a, double b, int k)

◆ CL()

double SUSYMatching::CL ( double  a,
double  b,
int  k 
)
private

Definition at line 569 of file SUSYMatching.cpp.

569 {
570
571 if (k == 0) {
572 return ((a - b - b * log(a) + b * log(b)) / ((a - b)*(a - b)));
573
574 }
575 else if (k == 2) {
576
577 return (-log(mu2R) + (a * (a - b) + a * (a - 2 * b) * log(a) + b * b * log(b)) /
578 ((a - b)*(a - b)));
579 }
580 else {
581
582 throw std::runtime_error("Error in CL(a,b,k) in SUSYMatching.cpp ");
583 }
584
585 return (EXIT_FAILURE);
586}

◆ CLL()

double SUSYMatching::CLL ( double  a,
int  k 
)
private

Definition at line 588 of file SUSYMatching.cpp.

588 {
589
590 if (k == 0) {
591 return (1. / (2. * a));
592
593 }
594 else if (k == 2) {
595
596 return (-log(mu2R) + 1.5 + log(a));
597 }
598 else {
599
600 throw std::runtime_error("Error in CLL(a,k) in SUSYMatching.cpp ");
601 }
602
603 return (EXIT_FAILURE);
604}

◆ CMBMll()

std::vector< WilsonCoefficient > & SUSYMatching::CMBMll ( QCD::lepton  lepton)
virtual

operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic

Returns
Wilson coefficients, Misiak basis, for \( B \rightarrow X_{s} \gamma, l^{+} l{-} \)

Implements ModelMatching.

Definition at line 3481 of file SUSYMatching.cpp.

3482{
3483 int lepton_pair;
3484 switch (lepton) {
3485 case QCD::ELECTRON:
3486 lepton_pair = 0;
3487 break;
3488 case QCD::MU:
3489 lepton_pair = 1;
3490 break;
3491 case QCD::TAU:
3492 lepton_pair = 2;
3493 break;
3494 case QCD::NOLEPTON:
3495 lepton_pair = 1; // NOLEPTON SET TO MUON. Ayan Paul
3496 break;
3497 case QCD::NEUTRINO_1:
3498 case QCD::NEUTRINO_2:
3499 case QCD::NEUTRINO_3:
3500 std::runtime_error("SUSYMatching::CMBMll(): LEPTON not implemented");
3501 break;
3502 }
3503 vmcBMll = StandardModelMatching::CMBMll(lepton);
3504
3505 switch (mcBMll.getScheme()) {
3506 case NDR:
3507 //case HV:
3508 //case LRI:
3509 break;
3510 default:
3511 std::stringstream out;
3512 out << mcBMll.getScheme();
3513 throw std::runtime_error("StandardModel::CMBKstrall(): scheme " + out.str() + "not implemented");
3514 }
3515
3517
3518 switch (mcBMll.getOrder()) {
3519 case NNLO:
3520 case NLO:
3521 case LO:
3522 mcBMll.setCoeff(8, bsll_DeltaC9_SUSY(lepton_pair), LO);
3523 mcBMll.setCoeff(9, bsll_DeltaC10_SUSY(lepton_pair), LO);
3524 break;
3525 default:
3526 std::stringstream out;
3527 out << mcBMll.getOrder();
3528 throw std::runtime_error("StandardModelMatching::CMBKstrall(): order " + out.str() + "not implemented");
3529 }
3530
3531 vmcBMll.push_back(mcBMll);
3532 return (vmcBMll);
3533}
virtual std::vector< WilsonCoefficient > & CMBMll(QCD::lepton lepton)=0
@ NEUTRINO_2
Definition: QCD.h:313
@ NEUTRINO_1
Definition: QCD.h:311
@ NOLEPTON
Definition: QCD.h:317
@ NEUTRINO_3
Definition: QCD.h:315
gslpp::complex bsll_DeltaC9_SUSY(int lep_pair)
gslpp::complex bsll_DeltaC10_SUSY(int lep_pair)
const double getMuw() const
A get method to retrieve the matching scale around the weak scale.
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
schemes getScheme() const
virtual void setMu(double mu)
orders getOrder() const

◆ CMbsg()

std::vector< WilsonCoefficient > & SUSYMatching::CMbsg ( )
virtual

operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic

Returns
Wilson coefficients, Misiak basis, for \( B \rightarrow X_{s} \gamma, l^{+} l{-} \)

Implements ModelMatching.

Definition at line 3446 of file SUSYMatching.cpp.

3447{
3448
3450
3451 switch (mcbsg.getScheme()) {
3452 case NDR:
3453
3454 break;
3455 default:
3456 std::stringstream out;
3457 out << mcbsg.getScheme();
3458 throw std::runtime_error("SUSYMatching::CMbsg(): scheme " + out.str() + "not implemented");
3459 }
3460
3462
3463 switch (mcbsg.getOrder()) {
3464 case NNLO:
3465 case NLO:
3466 case LO:
3468// mcbsg.setCoeff(7,, LO); "WE WILL THINK ABOUT THIS LATER" : MAURO VALLI & AYAN PAUL (I WANTED TO THINK ABOUT IT NOW...)
3469
3470 break;
3471 default:
3472 std::stringstream out;
3473 out << mcbsg.getOrder();
3474 throw std::runtime_error("SUSYMatching::CMbsg(): order " + out.str() + "not implemented");
3475 }
3476
3477 vmcbsg.push_back(mcbsg);
3478 return (vmcbsg);
3479}
virtual std::vector< WilsonCoefficient > & CMbsg()=0
gslpp::complex bsll_DeltaC7_SUSY()
std::vector< WilsonCoefficient > vmcbsg
Definition: SUSYMatching.h:329

◆ CMdbd2()

std::vector< WilsonCoefficient > & SUSYMatching::CMdbd2 ( )
virtual

\( \Delta B = 2 \), \( B_{d} \)

Returns
return the vector of SUSY Wilson coefficients

Wilson coefficients of operator Q_1,2,3,4,5

Wilson coefficients of operator Q_1,2,3 tilde

Reimplemented from StandardModelMatching.

Definition at line 2570 of file SUSYMatching.cpp.

2570 {
2571
2572 int i;
2573 gslpp::vector<gslpp::complex> CdF2dHpT(8, 0.);
2574 gslpp::vector<gslpp::complex> CdF2dggT(8, 0.);
2575 gslpp::vector<gslpp::complex> CdF2dChiChiT(8, 0.);
2576 gslpp::vector<gslpp::complex> CdF2dChi0Chi0T(8, 0.);
2577 gslpp::vector<gslpp::complex> CdF2dChigT(8, 0.);
2578
2579 if (mySUSY.IsFlag_h()) CdF2dHpT = CdF2dHp(0, 2, 0);
2580 if (mySUSY.IsFlag_ch()) CdF2dChiChiT = CdF2dChiChi(0, 2, 0);
2581 if (mySUSY.IsFlag_g()) CdF2dggT = CdF2dgg(0, 2, 0);
2582 if (mySUSY.IsFlag_ne()) CdF2dChi0Chi0T = CdF2dChi0Chi0(0, 2, 0);
2583 if ((mySUSY.IsFlag_g()) || (mySUSY.IsFlag_ne())) CdF2dChigT = CdF2dChi0g(0, 2, 0);
2584
2586
2589 switch (mcdbd2Hp.getOrder()) {
2590 case NLO:
2591 case LO:
2592 if (mySUSY.IsFlag_h()) {
2594 for (i = 0; i < 5; i++) {
2595 mcdbd2Hp.setCoeff(i, CdF2dHpT(i), LO);
2596 }
2597 vmdbd2.push_back(mcdbd2Hp);
2598 }
2599 break;
2600 case FULLNLO:
2601 case NNLO:
2602 case FULLNNLO:
2603 default:
2604 throw std::runtime_error("Error in SUSYMatching::CMdbd2()");
2605 }
2606 switch (mcdbd2gg.getOrder()) {
2607 case NLO:
2608 case LO:
2609 if (mySUSY.IsFlag_g()) {
2610
2612 for (i = 0; i < 5; i++) {
2613 mcdbd2gg.setCoeff(i, CdF2dggT(i), LO);
2614 }
2615 vmdbd2.push_back(mcdbd2gg);
2616 }
2617 break;
2618 case FULLNLO:
2619 case NNLO:
2620 case FULLNNLO:
2621 default:
2622 throw std::runtime_error("Error in SUSYMatching::CMdbd2()");
2623 }
2624 switch (mcdbd2ChiChi.getOrder()) {
2625 case NLO:
2626 case LO:
2627 if (mySUSY.IsFlag_ch()) {
2629 for (i = 0; i < 5; i++) {
2630 mcdbd2ChiChi.setCoeff(i, CdF2dChiChiT(i), LO);
2631 }
2632 vmdbd2.push_back(mcdbd2ChiChi);
2633 }
2634 break;
2635 case FULLNLO:
2636 case NNLO:
2637 case FULLNNLO:
2638 default:
2639 throw std::runtime_error("Error in SUSYMatching::CMdbd2()");
2640 }
2641 switch (mcdbd2Chi0Chi0.getOrder()) {
2642 case NLO:
2643 case LO:
2644 if (mySUSY.IsFlag_ne()) {
2646 for (i = 0; i < 5; i++) {
2647 mcdbd2Chi0Chi0.setCoeff(i, CdF2dChi0Chi0T(i), LO);
2648 }
2649 vmdbd2.push_back(mcdbd2Chi0Chi0);
2650 }
2651 break;
2652 case FULLNLO:
2653 case NNLO:
2654 case FULLNNLO:
2655 default:
2656 throw std::runtime_error("Error in SUSYMatching::CMdbd2()");
2657 }
2658 switch (mcdbd2Chi0g.getOrder()) {
2659 case NLO:
2660 case LO:
2661 if ((mySUSY.IsFlag_g()) || (mySUSY.IsFlag_ne())) {
2663 for (i = 0; i < 5; i++) {
2664 mcdbd2Chi0g.setCoeff(i, CdF2dChigT(i), LO);
2665 }
2666 vmdbd2.push_back(mcdbd2Chi0g);
2667 }
2668 break;
2669 case FULLNLO:
2670 case NNLO:
2671 case FULLNNLO:
2672 default:
2673 throw std::runtime_error("Error in SUSYMatching::CMdbd2()");
2674 }
2675
2678 switch (mcdbd2HpT.getOrder()) {
2679 case NLO:
2680 case LO:
2681 if (mySUSY.IsFlag_h()) {
2683 for (i = 0; i < 3; i++) {
2684 mcdbd2HpT.setCoeff(i, CdF2dHpT(i + 5), LO);
2685 }
2686 vmdbd2.push_back(mcdbd2HpT);
2687 }
2688 break;
2689 case FULLNLO:
2690 case NNLO:
2691 case FULLNNLO:
2692 default:
2693 throw std::runtime_error("Error in SUSYMatching::CMdbd2()");
2694 }
2695 switch (mcdbd2ggT.getOrder()) {
2696 case NLO:
2697 case LO:
2698 if (mySUSY.IsFlag_g()) {
2699
2701 for(i = 0; i < 3 ; i++){
2702 mcdbd2ggT.setCoeff(i, CdF2dggT(i + 5), LO);
2703 }
2704 vmdbd2.push_back(mcdbd2ggT);
2705 }
2706 break;
2707 case FULLNLO:
2708 case NNLO:
2709 case FULLNNLO:
2710 default:
2711 throw std::runtime_error("Error in SUSYMatching::CMdbd2()");
2712 }
2713 switch (mcdbd2ChiChiT.getOrder()) {
2714 case NLO:
2715 case LO:
2716 if (mySUSY.IsFlag_ch()) {
2718 for (i = 0; i < 3; i++) {
2719 mcdbd2ChiChiT.setCoeff(i, CdF2dChiChiT(i + 5), LO);
2720 }
2721 vmdbd2.push_back(mcdbd2ChiChiT);
2722 }
2723 break;
2724 case FULLNLO:
2725 case NNLO:
2726 case FULLNNLO:
2727 default:
2728 throw std::runtime_error("Error in SUSYMatching::CMdbd2()");
2729 }
2730 switch (mcdbd2Chi0Chi0T.getOrder()) {
2731 case NLO:
2732 case LO:
2733 if (mySUSY.IsFlag_ne()) {
2734
2736 for (i = 0; i < 3; i++) {
2737 mcdbd2Chi0Chi0T.setCoeff(i, CdF2dChi0Chi0T(i + 5), LO);
2738 }
2739 vmdbd2.push_back(mcdbd2Chi0Chi0T);
2740 }
2741 break;
2742 case FULLNLO:
2743 case NNLO:
2744 case FULLNNLO:
2745 default:
2746 throw std::runtime_error("Error in SUSYMatching::CMdbd2()");
2747 }
2748 switch (mcdbd2Chi0gT.getOrder()) {
2749 case NLO:
2750 case LO:
2751 if ((mySUSY.IsFlag_g()) || (mySUSY.IsFlag_ne())) {
2753 for (i = 0; i < 3; i++) {
2754 mcdbd2Chi0gT.setCoeff(i, CdF2dChigT(i + 5), LO);
2755 }
2756 vmdbd2.push_back(mcdbd2Chi0gT);
2757 }
2758 break;
2759 case FULLNLO:
2760 case NNLO:
2761 case FULLNNLO:
2762 default:
2763 throw std::runtime_error("Error in SUSYMatching::CMdbd2()");
2764
2765 }
2766
2767 return (vmdbd2);
2768}
@ FULLNNLO
Definition: OrderScheme.h:39
@ FULLNLO
Definition: OrderScheme.h:38
bool IsFlag_ch() const
Definition: SUSY.h:108
bool IsFlag_h() const
Definition: SUSY.h:98
bool IsFlag_ne() const
Definition: SUSY.h:113
bool IsFlag_g() const
Definition: SUSY.h:103
gslpp::vector< gslpp::complex > CdF2dHp(int b, int q, int Dmixingflag)
gslpp::vector< gslpp::complex > CdF2dgg(int b, int q, int Dmixingflag)
gslpp::vector< gslpp::complex > CdF2dChi0g(int b, int q, int Dmixingflag)
gslpp::vector< gslpp::complex > CdF2dChi0Chi0(int b, int q, int Dmixingflag)
std::vector< WilsonCoefficient > vmdbd2
Definition: SUSYMatching.h:325
gslpp::vector< gslpp::complex > CdF2dChiChi(int b, int q, int Dmixingflag)
virtual std::vector< WilsonCoefficient > & CMdbd2()
,

◆ CMdbs2()

std::vector< WilsonCoefficient > & SUSYMatching::CMdbs2 ( )
virtual

\( \Delta B = 2 \), \( B_{s} \)

Returns
return the vector of SUSY Wilson coefficients

Wilson coefficients of operator Q_1,2,3,4,5

Wilson coefficients of operator Q_1,2,3 tilde

Reimplemented from StandardModelMatching.

Definition at line 2772 of file SUSYMatching.cpp.

2772 {
2773 int i;
2774 gslpp::vector<gslpp::complex> CdF2dHpT(8, 0.);
2775 gslpp::vector<gslpp::complex> CdF2dggT(8, 0.);
2776 gslpp::vector<gslpp::complex> CdF2dChiChiT(8, 0.);
2777 gslpp::vector<gslpp::complex> CdF2dChi0Chi0T(8, 0.);
2778 gslpp::vector<gslpp::complex> CdF2dChigT(8, 0.);
2779
2780 if (mySUSY.IsFlag_h()) CdF2dHpT = CdF2dHp(1, 2, 0);
2781 if (mySUSY.IsFlag_ch()) CdF2dChiChiT = CdF2dChiChi(1, 2, 0);
2782 if (mySUSY.IsFlag_g()) CdF2dggT = CdF2dgg(1, 2, 0);
2783 if (mySUSY.IsFlag_ne()) CdF2dChi0Chi0T = CdF2dChi0Chi0(1, 2, 0);
2784 if ((mySUSY.IsFlag_g()) || (mySUSY.IsFlag_ne())) CdF2dChigT = CdF2dChi0g(1, 2, 0);
2785
2787
2790 switch (mcdbs2Hp.getOrder()) {
2791 case NLO:
2792 case LO:
2793 if (mySUSY.IsFlag_h()) {
2795 for (i = 0; i < 5; i++) {
2796 mcdbs2Hp.setCoeff(i, CdF2dHpT(i), LO);
2797 }
2798 vmdbs2.push_back(mcdbs2Hp);
2799 }
2800 break;
2801 case FULLNLO:
2802 case NNLO:
2803 case FULLNNLO:
2804 default:
2805 throw std::runtime_error("Error in SUSYMatching::CMdbs2()");
2806 }
2807 switch (mcdbs2gg.getOrder()) {
2808 case NLO:
2809 case LO:
2810 if (mySUSY.IsFlag_g()) {
2812 for(i = 0; i < 5 ; i++){
2813 mcdbs2gg.setCoeff(i, CdF2dggT(i), LO);
2814 }
2815 vmdbs2.push_back(mcdbs2gg);
2816 }
2817 break;
2818 case FULLNLO:
2819 case NNLO:
2820 case FULLNNLO:
2821 default:
2822 throw std::runtime_error("Error in SUSYMatching::CMdbs2()");
2823 }
2824 switch (mcdbs2ChiChi.getOrder()) {
2825 case NLO:
2826 case LO:
2827 if (mySUSY.IsFlag_ch()) {
2829 for (i = 0; i < 5; i++) {
2830 mcdbs2ChiChi.setCoeff(i, CdF2dChiChiT(i), LO);
2831 }
2832 vmdbs2.push_back(mcdbs2ChiChi);
2833 }
2834 break;
2835 case FULLNLO:
2836 case NNLO:
2837 case FULLNNLO:
2838 default:
2839 throw std::runtime_error("Error in SUSYMatching::CMdbs2()");
2840 }
2841 switch (mcdbs2Chi0Chi0.getOrder()) {
2842 case NLO:
2843 case LO:
2844 if (mySUSY.IsFlag_ne()) {
2846 for (i = 0; i < 5; i++) {
2847 mcdbs2Chi0Chi0.setCoeff(i, CdF2dChi0Chi0T(i), LO);
2848 }
2849 vmdbs2.push_back(mcdbs2Chi0Chi0);
2850 }
2851 break;
2852 case FULLNLO:
2853 case NNLO:
2854 case FULLNNLO:
2855 default:
2856 throw std::runtime_error("Error in SUSYMatching::CMdbs2()");
2857 }
2858 switch (mcdbs2Chi0g.getOrder()) {
2859 case NLO:
2860 case LO:
2861 if ((mySUSY.IsFlag_g()) || (mySUSY.IsFlag_ne())) {
2863 for (i = 0; i < 5; i++) {
2864 mcdbs2Chi0g.setCoeff(i, CdF2dChigT(i), LO);
2865 }
2866 vmdbs2.push_back(mcdbs2Chi0g);
2867 }
2868 break;
2869 case FULLNLO:
2870 case NNLO:
2871 case FULLNNLO:
2872 default:
2873 throw std::runtime_error("Error in SUSYMatching::CMdbs2()");
2874 }
2875
2878 switch (mcdbs2HpT.getOrder()) {
2879 case NLO:
2880 case LO:
2881 if (mySUSY.IsFlag_h()) {
2883 for (i = 0; i < 3; i++) {
2884 mcdbs2HpT.setCoeff(i, CdF2dHpT(i + 5), LO);
2885 }
2886 vmdbs2.push_back(mcdbs2HpT);
2887 }
2888 break;
2889 case FULLNLO:
2890 case NNLO:
2891 case FULLNNLO:
2892 default:
2893 throw std::runtime_error("Error in SUSYMatching::CMdbs2()");
2894 }
2895 switch (mcdbs2ggT.getOrder()) {
2896 case NLO:
2897 case LO:
2898 if (mySUSY.IsFlag_g()) {
2900 for(i = 0; i < 3 ; i++){
2901 mcdbs2ggT.setCoeff(i, CdF2dggT(i + 5), LO);
2902 }
2903 vmdbs2.push_back(mcdbs2ggT);
2904 }
2905 break;
2906 case FULLNLO:
2907 case NNLO:
2908 case FULLNNLO:
2909 default:
2910 throw std::runtime_error("Error in SUSYMatching::CMdbs2()");
2911 }
2912 switch (mcdbs2ChiChiT.getOrder()) {
2913 case NLO:
2914 case LO:
2915 if (mySUSY.IsFlag_ch()) {
2917 for (i = 0; i < 3; i++) {
2918 mcdbs2ChiChiT.setCoeff(i, CdF2dChiChiT(i + 5), LO);
2919 }
2920 vmdbs2.push_back(mcdbs2ChiChiT);
2921 }
2922 break;
2923 case FULLNLO:
2924 case NNLO:
2925 case FULLNNLO:
2926 default:
2927 throw std::runtime_error("Error in SUSYMatching::CMdbs2()");
2928 }
2929 switch (mcdbs2Chi0Chi0T.getOrder()) {
2930 case NLO:
2931 case LO:
2932 if (mySUSY.IsFlag_ne()) {
2934 for (i = 0; i < 3; i++) {
2935 mcdbs2Chi0Chi0T.setCoeff(i, CdF2dChi0Chi0T(i + 5), LO);
2936 }
2937 vmdbs2.push_back(mcdbs2Chi0Chi0T);
2938 }
2939 break;
2940 case FULLNLO:
2941 case NNLO:
2942 case FULLNNLO:
2943 default:
2944 throw std::runtime_error("Error in SUSYMatching::CMdbs2()");
2945 }
2946 switch (mcdbs2Chi0gT.getOrder()) {
2947 case NLO:
2948 case LO:
2949 if ((mySUSY.IsFlag_g()) || (mySUSY.IsFlag_ne())) {
2951 for (i = 0; i < 3; i++) {
2952 mcdbs2Chi0gT.setCoeff(i, CdF2dChigT(i + 5), LO);
2953 }
2954 vmdbs2.push_back(mcdbs2Chi0gT);
2955 }
2956 break;
2957 case FULLNLO:
2958 case NNLO:
2959 case FULLNNLO:
2960 default:
2961 throw std::runtime_error("Error in SUSYMatching::CMdbs2()");
2962 }
2963
2964
2965 return (vmdbs2);
2966}
std::vector< WilsonCoefficient > vmdbs2
Definition: SUSYMatching.h:326
virtual std::vector< WilsonCoefficient > & CMdbs2()
,

◆ CMdd2()

std::vector< WilsonCoefficient > & SUSYMatching::CMdd2 ( )
virtual

Wilson coefficients of operator Q_1,2,3,4,5

Wilson coefficients of operator Q_1,2,3 tilde

Reimplemented from StandardModelMatching.

Definition at line 3170 of file SUSYMatching.cpp.

3170 {
3171
3172 int i;
3173 gslpp::vector<gslpp::complex> CdF2dHpT(8, 0.);
3174 gslpp::vector<gslpp::complex> CdF2dggT(8, 0.);
3175 gslpp::vector<gslpp::complex> CdF2dChiChiT(8, 0.);
3176 gslpp::vector<gslpp::complex> CdF2dChi0Chi0T(8, 0.);
3177 gslpp::vector<gslpp::complex> CdF2dChigT(8, 0.);
3178
3179 if (mySUSY.IsFlag_h()) CdF2dHpT = CdF2dHp(1, 0, 1);
3180 if (mySUSY.IsFlag_g()) CdF2dggT = CdF2dgg(1, 0, 1);
3181 if (mySUSY.IsFlag_ch()) CdF2dChiChiT = CdF2dChiChi(1, 0, 1);
3182 if (mySUSY.IsFlag_ne()) CdF2dChi0Chi0T = CdF2dChi0Chi0(1, 0, 1);
3183 if ((mySUSY.IsFlag_g()) || (mySUSY.IsFlag_ne())) CdF2dChigT = CdF2dChi0g(1, 0, 1);
3184
3186
3189 switch (mcdd2Hp.getOrder()) {
3190 case NLO:
3191 case LO:
3192 if (mySUSY.IsFlag_h()) {
3193 mcdd2Hp.setMu(Q_S);
3194 for (i = 0; i < 5; i++) {
3195 mcdd2Hp.setCoeff(i, CdF2dHpT(i), LO);
3196 }
3197 vmdd2.push_back(mcdd2Hp);
3198 }
3199 break;
3200 case FULLNLO:
3201 case NNLO:
3202 case FULLNNLO:
3203 default:
3204 throw std::runtime_error("Error in SUSYMatching::CMdd2()");
3205 }
3206 switch (mcdd2gg.getOrder()) {
3207 case NLO:
3208 case LO:
3209 if (mySUSY.IsFlag_g()) {
3210 mcdd2gg.setMu(Q_S);
3211 for(i = 0; i < 5 ; i++){
3212 mcdd2gg.setCoeff(i, CdF2dggT(i), LO);
3213 }
3214 vmdd2.push_back(mcdd2gg);
3215 }
3216 break;
3217 case FULLNLO:
3218 case NNLO:
3219 case FULLNNLO:
3220 default:
3221 throw std::runtime_error("Error in SUSYMatching::CMdd2()");
3222 }
3223 switch (mcdd2ChiChi.getOrder()) {
3224 case NLO:
3225 case LO:
3226 if (mySUSY.IsFlag_ch()) {
3228 for (i = 0; i < 5; i++) {
3229 mcdd2ChiChi.setCoeff(i, CdF2dChiChiT(i), LO);
3230 }
3231 vmdd2.push_back(mcdd2ChiChi);
3232 }
3233 break;
3234 case FULLNLO:
3235 case NNLO:
3236 case FULLNNLO:
3237 default:
3238 throw std::runtime_error("Error in SUSYMatching::CMdd2()");
3239 }
3240 switch (mcdd2Chi0Chi0.getOrder()) {
3241 case NLO:
3242 case LO:
3243 if (mySUSY.IsFlag_ne()) {
3245 for (i = 0; i < 5; i++) {
3246 mcdd2Chi0Chi0.setCoeff(i, CdF2dChi0Chi0T(i), LO);
3247 }
3248 vmdd2.push_back(mcdd2Chi0Chi0);
3249 }
3250 break;
3251 case FULLNLO:
3252 case NNLO:
3253 case FULLNNLO:
3254 default:
3255 throw std::runtime_error("Error in SUSYMatching::CMdd2()");
3256 }
3257 switch (mcdd2Chi0g.getOrder()) {
3258 case NLO:
3259 case LO:
3260 if ((mySUSY.IsFlag_g()) || (mySUSY.IsFlag_ne())) {
3262 for (i = 0; i < 5; i++) {
3263 mcdd2Chi0g.setCoeff(i, CdF2dChigT(i), LO);
3264 }
3265 vmdd2.push_back(mcdd2Chi0g);
3266 }
3267 break;
3268 case FULLNLO:
3269 case NNLO:
3270 case FULLNNLO:
3271 default:
3272 throw std::runtime_error("Error in SUSYMatching::CMdd2()");
3273 }
3274
3277 switch (mcdd2HpT.getOrder()) {
3278 case NLO:
3279 case LO:
3280 if (mySUSY.IsFlag_h()) {
3282 for (i = 0; i < 3; i++) {
3283 mcdd2HpT.setCoeff(i, CdF2dHpT(i + 5), LO);
3284 }
3285 vmdd2.push_back(mcdd2HpT);
3286 }
3287 break;
3288 case FULLNLO:
3289 case NNLO:
3290 case FULLNNLO:
3291 default:
3292 throw std::runtime_error("Error in SUSYMatching::CMdd2()");
3293 }
3294 switch (mcdd2ggT.getOrder()) {
3295 case NLO:
3296 case LO:
3297 if (mySUSY.IsFlag_g()) {
3299 for(i = 0; i < 3 ; i++){
3300 mcdd2ggT.setCoeff(i, CdF2dggT(i + 5), LO);
3301 }
3302 vmdd2.push_back(mcdd2ggT);
3303 }
3304 break;
3305 case FULLNLO:
3306 case NNLO:
3307 case FULLNNLO:
3308 default:
3309 throw std::runtime_error("Error in SUSYMatching::CMdd2()");
3310 }
3311 switch (mcdd2ChiChiT.getOrder()) {
3312 case NLO:
3313 case LO:
3314 if (mySUSY.IsFlag_ch()) {
3316 for (i = 0; i < 3; i++) {
3317 mcdd2ChiChiT.setCoeff(i, CdF2dChiChiT(i + 5), LO);
3318 }
3319 vmdd2.push_back(mcdd2ChiChiT);
3320 }
3321 break;
3322 case FULLNLO:
3323 case NNLO:
3324 case FULLNNLO:
3325 default:
3326 throw std::runtime_error("Error in SUSYMatching::CMdd2()");
3327 }
3328 switch (mcdd2Chi0Chi0T.getOrder()) {
3329 case NLO:
3330 case LO:
3331 if (mySUSY.IsFlag_ne()) {
3333 for (i = 0; i < 3; i++) {
3334 mcdd2Chi0Chi0T.setCoeff(i, CdF2dChi0Chi0T(i + 5), LO);
3335 }
3336 vmdd2.push_back(mcdd2Chi0Chi0T);
3337 }
3338 break;
3339 case FULLNLO:
3340 case NNLO:
3341 case FULLNNLO:
3342 default:
3343 throw std::runtime_error("Error in SUSYMatching::CMdd2()");
3344 }
3345 switch (mcdd2Chi0gT.getOrder()) {
3346 case NLO:
3347 case LO:
3348 if ((mySUSY.IsFlag_g()) || (mySUSY.IsFlag_ne())) {
3350 for (i = 0; i < 3; i++) {
3351 mcdd2Chi0gT.setCoeff(i, CdF2dChigT(i + 5), LO);
3352 }
3353 vmdd2.push_back(mcdd2Chi0gT);
3354 }
3355 break;
3356 case FULLNLO:
3357 case NNLO:
3358 case FULLNNLO:
3359 default:
3360 throw std::runtime_error("Error in SUSYMatching::CMdd2()");
3361 }
3362
3363 return (vmdd2);
3364
3365}
std::vector< WilsonCoefficient > vmdd2
Definition: SUSYMatching.h:328
virtual std::vector< WilsonCoefficient > & CMdd2()
,

◆ CMdk2()

std::vector< WilsonCoefficient > & SUSYMatching::CMdk2 ( )
virtual

\( \Delta S = 2 \)

Returns
return the vector of SUSY Wilson coefficients

Wilson coefficients of operator Q_1,2,3,4,5

Wilson coefficients of operator Q_1,2,3 tilde

Definition at line 2970 of file SUSYMatching.cpp.

2970 {
2971
2972 int i;
2973 gslpp::vector<gslpp::complex> CdF2dHpT(8, 0.);
2974 gslpp::vector<gslpp::complex> CdF2dggT(8, 0.);
2975 gslpp::vector<gslpp::complex> CdF2dChiChiT(8, 0.);
2976 gslpp::vector<gslpp::complex> CdF2dChi0Chi0T(8, 0.);
2977 gslpp::vector<gslpp::complex> CdF2dChigT(8, 0.);
2978
2979 if (mySUSY.IsFlag_h()) CdF2dHpT = CdF2dHp(0, 1, 0);
2980 if (mySUSY.IsFlag_ch()) CdF2dChiChiT = CdF2dChiChi(0, 1, 0);
2981 if (mySUSY.IsFlag_g()) CdF2dggT = CdF2dgg(0, 1, 0);
2982 if (mySUSY.IsFlag_ne()) CdF2dChi0Chi0T = CdF2dChi0Chi0(0, 1, 0);
2983 if ((mySUSY.IsFlag_g()) || (mySUSY.IsFlag_ne())) CdF2dChigT = CdF2dChi0g(0, 1, 0);
2984
2985 vmdk2 = StandardModelMatching::CMdk2();
2986
2989 switch (mcdk2Hp.getOrder()) {
2990 case NLO:
2991 case LO:
2992 if (mySUSY.IsFlag_h()) {
2993 mcdk2Hp.setMu(Q_S);
2994 for (i = 0; i < 5; i++) {
2995 mcdk2Hp.setCoeff(i, CdF2dHpT(i), LO);
2996 }
2997 vmdk2.push_back(mcdk2Hp);
2998 }
2999 break;
3000 case FULLNLO:
3001 case NNLO:
3002 case FULLNNLO:
3003 default:
3004 throw std::runtime_error("Error in SUSYMatching::CMdk2()");
3005 }
3006 switch (mcdk2gg.getOrder()) {
3007 case NLO:
3008 case LO:
3009 if (mySUSY.IsFlag_g()) {
3010 mcdk2gg.setMu(Q_S);
3011 for(i = 0; i < 5 ; i++){
3012 mcdk2gg.setCoeff(i, CdF2dggT(i), LO);
3013 }
3014 vmdk2.push_back(mcdk2gg);
3015 }
3016 break;
3017 case FULLNLO:
3018 case NNLO:
3019 case FULLNNLO:
3020 default:
3021 throw std::runtime_error("Error in SUSYMatching::CMdk2()");
3022 }
3023 switch (mcdk2ChiChi.getOrder()) {
3024 case NLO:
3025 case LO:
3026 if (mySUSY.IsFlag_ch()) {
3028 for (i = 0; i < 5; i++) {
3029 mcdk2ChiChi.setCoeff(i, CdF2dChiChiT(i), LO);
3030 }
3031 vmdk2.push_back(mcdk2ChiChi);
3032 }
3033 break;
3034 case FULLNLO:
3035 case NNLO:
3036 case FULLNNLO:
3037 default:
3038 throw std::runtime_error("Error in SUSYMatching::CMdk2()");
3039 }
3040 switch (mcdk2Chi0Chi0.getOrder()) {
3041 case NLO:
3042 case LO:
3043 if (mySUSY.IsFlag_ne()) {
3045 for (i = 0; i < 5; i++) {
3046 mcdk2Chi0Chi0.setCoeff(i, CdF2dChi0Chi0T(i), LO);
3047 }
3048 vmdk2.push_back(mcdk2Chi0Chi0);
3049 }
3050 break;
3051 case FULLNLO:
3052 case NNLO:
3053 case FULLNNLO:
3054 default:
3055 throw std::runtime_error("Error in SUSYMatching::CMdk2()");
3056 }
3057 switch (mcdk2Chi0g.getOrder()) {
3058 case NLO:
3059 case LO:
3060 if ((mySUSY.IsFlag_g()) || (mySUSY.IsFlag_ne())) {
3062 for (i = 0; i < 5; i++) {
3063 mcdk2Chi0g.setCoeff(i, CdF2dChigT(i), LO);
3064 }
3065 vmdk2.push_back(mcdk2Chi0g);
3066 }
3067 break;
3068 case FULLNLO:
3069 case NNLO:
3070 case FULLNNLO:
3071 default:
3072 throw std::runtime_error("Error in SUSYMatching::CMdk2()");
3073 }
3074
3077 switch (mcdk2HpT.getOrder()) {
3078 case NLO:
3079 case LO:
3080 if (mySUSY.IsFlag_h()) {
3082 for (i = 0; i < 3; i++) {
3083 mcdk2HpT.setCoeff(i, CdF2dHpT(i + 5), LO);
3084 }
3085 vmdk2.push_back(mcdk2HpT);
3086 }
3087 break;
3088 case FULLNLO:
3089 case NNLO:
3090 case FULLNNLO:
3091 default:
3092 throw std::runtime_error("Error in SUSYMatching::CMdk2()");
3093 }
3094 switch (mcdk2ggT.getOrder()) {
3095 case NLO:
3096 case LO:
3097 if (mySUSY.IsFlag_g()) {
3099 for(i = 0; i < 3 ; i++){
3100 mcdk2ggT.setCoeff(i, CdF2dggT(i + 5), LO);
3101 }
3102 vmdk2.push_back(mcdk2ggT);
3103 }
3104 break;
3105 case FULLNLO:
3106 case NNLO:
3107 case FULLNNLO:
3108 default:
3109 throw std::runtime_error("Error in SUSYMatching::CMdk2()");
3110 }
3111 switch (mcdk2ChiChiT.getOrder()) {
3112 case NLO:
3113 case LO:
3114 if (mySUSY.IsFlag_ch()) {
3116 for (i = 0; i < 3; i++) {
3117 mcdk2ChiChiT.setCoeff(i, CdF2dChiChiT(i + 5), LO);
3118 }
3119 vmdk2.push_back(mcdk2ChiChiT);
3120 }
3121 break;
3122 case FULLNLO:
3123 case NNLO:
3124 case FULLNNLO:
3125 default:
3126 throw std::runtime_error("Error in SUSYMatching::CMdk2()");
3127 }
3128 switch (mcdk2Chi0Chi0T.getOrder()) {
3129 case NLO:
3130 case LO:
3131 if (mySUSY.IsFlag_ne()) {
3133 for (i = 0; i < 3; i++) {
3134 mcdk2Chi0Chi0T.setCoeff(i, CdF2dChi0Chi0T(i + 5), LO);
3135 }
3136 vmdk2.push_back(mcdk2Chi0Chi0T);
3137 }
3138 break;
3139 case FULLNLO:
3140 case NNLO:
3141 case FULLNNLO:
3142 default:
3143 throw std::runtime_error("Error in SUSYMatching::CMdk2()");
3144 }
3145 switch (mcdk2Chi0gT.getOrder()) {
3146 case NLO:
3147 case LO:
3148 if ((mySUSY.IsFlag_g()) || (mySUSY.IsFlag_ne())) {
3150 for (i = 0; i < 3; i++) {
3151 mcdk2Chi0gT.setCoeff(i, CdF2dChigT(i + 5), LO);
3152 }
3153 vmdk2.push_back(mcdk2Chi0gT);
3154 }
3155 break;
3156 case FULLNLO:
3157 case NNLO:
3158 case FULLNNLO:
3159 default:
3160 throw std::runtime_error("Error in SUSYMatching::CMdk2()");
3161 }
3162
3163
3164 return (vmdk2);
3165}
std::vector< WilsonCoefficient > vmdk2
Definition: SUSYMatching.h:327

◆ CMDLi3j()

std::vector< WilsonCoefficient > & SUSYMatching::CMDLi3j ( int  li_lj)
virtual

Wilson coefficient for the process \( \ell_j \to \ell_i \ell_i \ell_i \).

Parameters
[in]li_ljdetermines the process, e.g., 1 = \( \mu \to eee \), 2 = \( \tau \to \mu \mu \mu \), 3 = \( \tau \to eee \)
Returns
returns the vector of SUSY Wilson coefficients

Definition at line 7567 of file SUSYMatching.cpp.

7567 {
7568
7569 vmcDLi3j = StandardModelMatching::CMDLi3j(li_lj);
7570
7571 gslpp::vector<gslpp::complex> Avector=AFunctions(li_lj);
7572 gslpp::vector<gslpp::complex> Bvector=BFunctions(li_lj);
7573 gslpp::vector<gslpp::complex> BHvector=BHFunctions(li_lj);
7574 gslpp::vector<gslpp::complex> Fvector=FFunctions(li_lj);
7575 switch (mcDLi3j.getOrder()) {
7576 case LO:
7577// mcDLi3j.setCoeff(0, C7_Lepton(li_lj)(0), LO);
7578// mcDLi3j.setCoeff(1, C7_Lepton(li_lj)(1), LO);
7579// mcDLi3j.setCoeff(2, C9_Lepton(li_lj)(0), LO);
7580// mcDLi3j.setCoeff(3, C9_Lepton(li_lj)(1), LO);
7581// mcDLi3j.setCoeff(4, C10_Lepton(li_lj)(0), LO);
7582// mcDLi3j.setCoeff(5, C10_Lepton(li_lj)(1), LO);
7583// mcDLi3j.setCoeff(6, CS_Lepton(li_lj)(0), LO);
7584// mcDLi3j.setCoeff(7, CS_Lepton(li_lj)(1), LO);
7585// mcDLi3j.setCoeff(8, CP_Lepton(li_lj)(0), LO);
7586// mcDLi3j.setCoeff(9, CP_Lepton(li_lj)(1), LO);
7587// mcDLi3j.setCoeff(10, CT_Lepton(li_lj)(0), LO);
7588// mcDLi3j.setCoeff(11, CT_Lepton(li_lj)(1), LO);
7589 mcDLi3j.setCoeff(0, Avector(0), LO); //A1R
7590 mcDLi3j.setCoeff(1, Avector(1), LO); //A1L
7591 mcDLi3j.setCoeff(2, Avector(2), LO); //A2R
7592 mcDLi3j.setCoeff(3, Avector(3), LO); //A2L
7593 mcDLi3j.setCoeff(4, Bvector(0), LO); //B1R
7594 mcDLi3j.setCoeff(5, Bvector(1), LO); //B1L
7595 mcDLi3j.setCoeff(6, Bvector(2), LO); //B2R
7596 mcDLi3j.setCoeff(7, Bvector(3), LO); //B2L
7597 mcDLi3j.setCoeff(8, Bvector(4), LO); //B3R
7598 mcDLi3j.setCoeff(9, Bvector(5), LO); //B3L
7599 mcDLi3j.setCoeff(10, Bvector(6), LO); //B4R
7600 mcDLi3j.setCoeff(11, Bvector(7), LO); //B4L
7601 mcDLi3j.setCoeff(12, BHvector(0), LO); //BH2R
7602 mcDLi3j.setCoeff(13, BHvector(1), LO); //BH2L
7603 mcDLi3j.setCoeff(14, BHvector(2), LO); //BH3R
7604 mcDLi3j.setCoeff(15, BHvector(3), LO); //BH3L
7605 mcDLi3j.setCoeff(16, Fvector(0), LO); //FRR
7606 mcDLi3j.setCoeff(17, Fvector(1), LO); //FRL
7607 mcDLi3j.setCoeff(18, Fvector(2), LO); //FLR
7608 mcDLi3j.setCoeff(19, Fvector(3), LO); //FLL
7609 break;
7610 case NNLO:
7611 case NLO:
7612 default:
7613 std::stringstream out;
7614 out << mcDLi3j.getOrder();
7615 throw std::runtime_error("SUSYMatching::CMDLi3j(): order " + out.str() + " not implemented.\nFor lepton flavour violating observables only Leading Order (LO) necessary.");
7616 }
7617
7618 vmcDLi3j.push_back(mcDLi3j);
7619 return(vmcDLi3j);
7620
7621}

◆ CMDLij()

std::vector< WilsonCoefficient > & SUSYMatching::CMDLij ( int  li_lj)
virtual

Wilson coefficient for the process \( \ell_j \to \ell_i \gamma \).

Parameters
[in]li_ljdetermines the process, e.g., 1 = \( \mu \to e \gamma \), 2 = \( \tau \to \mu \gamma \), 3 = \( \tau \to e \gamma \)
Returns
returns the vector of SUSY Wilson coefficients

Definition at line 7544 of file SUSYMatching.cpp.

7544 {
7545
7546 vmcDLij = StandardModelMatching::CMDLij(li_lj);
7547
7548 gslpp::vector<gslpp::complex> C7vector=C7_Lepton(li_lj);
7549 switch (mcDLij.getOrder()) {
7550 case LO:
7551 mcDLij.setCoeff(0, C7vector(0), LO);
7552 mcDLij.setCoeff(1, C7vector(1), LO);
7553 break;
7554 case NNLO:
7555 case NLO:
7556 default:
7557 std::stringstream out;
7558 out << mcDLij.getOrder();
7559 throw std::runtime_error("SUSYMatching::CMDLij(): order " + out.str() + " not implemented.\nFor lepton flavour violating observables only Leading Order (LO) necessary.");
7560 }
7561
7562 vmcDLij.push_back(mcDLij);
7563 return(vmcDLij);
7564
7565}
virtual gslpp::vector< gslpp::complex > C7_Lepton(int n)
Calculates and Wilson coefficients for the process .

◆ CMgminus2mu()

std::vector< WilsonCoefficient > & SUSYMatching::CMgminus2mu ( )
virtual

Wilson coefficient for \( (g-2)_{\mu} \) at one-loop.

Returns
returns the vector of SUSY Wilson coefficients

Definition at line 7657 of file SUSYMatching.cpp.

7657 {
7658
7659 vmcgminus2mu = StandardModelMatching::CMgminus2mu();
7660
7661 gslpp::vector<gslpp::complex> gminus2muvector=gminus2mu();
7662// std::cout<<"gminus2muvector in the Wilson coeff"<<gminus2muvector<<std::endl;
7663 double gminus2muvectorNLO=gminus2muNLO();
7664 switch (mcgminus2mu.getOrder()) {
7665 case LO:
7666 mcgminus2mu.setCoeff(0, gminus2muvector(0), LO); //g-2_muR
7667 mcgminus2mu.setCoeff(1, gminus2muvector(1), LO); //g-2_muL
7668 break;
7669 case NLO:
7670 mcgminus2mu.setCoeff(0, gminus2muvectorNLO, NLO); //g-2_muR
7671 mcgminus2mu.setCoeff(1, 0., NLO); //g-2_muL
7672 break;
7673 case NNLO:
7674 default:
7675 std::stringstream out;
7676 out << mcgminus2mu.getOrder();
7677 throw std::runtime_error("SUSYMatching::CMgminus2mu(): order " + out.str() + " not implemented.\nFor lepton flavour violating observables only Leading Order (LO) necessary.");
7678 }
7679
7680 vmcgminus2mu.push_back(mcgminus2mu);
7681 return(vmcgminus2mu);
7682
7683}
virtual gslpp::vector< gslpp::complex > gminus2mu()
Calculates amplitudes for at one-loop from .
virtual double gminus2muNLO()
Calculates amplitudes for at two-loop.

◆ CMmueconv()

std::vector< WilsonCoefficient > & SUSYMatching::CMmueconv ( )
virtual

Wilson coefficient for the process \( \mu \to e \) conversion in Nuclei.

Returns
returns the vector of SUSY Wilson coefficients

Definition at line 7623 of file SUSYMatching.cpp.

7623 {
7624
7625 double MW = mySUSY.Mw_tree();
7626 double sw2 = mySUSY.StandardModel::sW2(MW);
7627
7628 vmcmueconv = StandardModelMatching::CMmueconv();
7629
7630 gslpp::vector<gslpp::complex> Avector=AFunctions(1);
7631 gslpp::vector<gslpp::complex> Dvector=DFunctions();
7632 gslpp::vector<gslpp::complex> Fvector=FFunctions(1);
7633 switch (mcmueconv.getOrder()) {
7634 case LO:
7635 mcmueconv.setCoeff(0, Avector(0), LO); //A1R
7636 mcmueconv.setCoeff(1, Avector(1), LO); //A1L
7637 mcmueconv.setCoeff(2, Avector(2), LO); //A2R
7638 mcmueconv.setCoeff(3, Avector(3), LO); //A2L
7639 mcmueconv.setCoeff(4, Dvector(0)+(1.0/(4.0*sw2)-2.0/3.0)*Fvector(0), LO); //DbaruR
7640 mcmueconv.setCoeff(5, Dvector(1)+(1.0/(4.0*sw2)-2.0/3.0)*Fvector(2), LO); //DbaruL
7641 mcmueconv.setCoeff(6, Dvector(2)+(-1.0/(4.0*sw2)+1.0/3.0)*Fvector(0), LO); //DbardR
7642 mcmueconv.setCoeff(7, Dvector(3)+(-1.0/(4.0*sw2)+1.0/3.0)*Fvector(2), LO); //DbardL
7643 break;
7644 case NNLO:
7645 case NLO:
7646 default:
7647 std::stringstream out;
7648 out << mcmueconv.getOrder();
7649 throw std::runtime_error("SUSYMatching::CMmueconv(): order " + out.str() + " not implemented.\nFor lepton flavour violating observables only Leading Order (LO) necessary.");
7650 }
7651
7652 vmcmueconv.push_back(mcmueconv);
7653 return(vmcmueconv);
7654
7655}
virtual gslpp::vector< gslpp::complex > DFunctions()
Calculates box diagram amplitudes for the process conversion in Nuclei from from .

◆ Comp_DeltaDL()

void SUSYMatching::Comp_DeltaDL ( )

Definition at line 807 of file SUSYMatching.cpp.

807 {
808
809 int I, J;
810 gslpp::complex C(0., 0., false);
811
812 for (I = 0; I < 3; I++) {
813 for (J = 0; J < 3; J++) {
814 if (J != I) {
815 double mdJ = mySUSYMQ(2 * J + 1);
816 double mdI = mySUSYMQ(2 * I + 1);
817 DeltaDL_Cache.assign(J, I, -(mdJ * DeltaMd(J, I) + DeltaMd(I, J).conjugate() * mdI) /
818 (mdJ * mdJ - mdI * mdI));
819 } else
820 if (J == I) {
821 DeltaDL_Cache.assign(J, I, C);
822 }
823
824 }
825
826 }
827
828}
gslpp::complex DeltaMd(int J, int I)

◆ Comp_DeltaMd()

void SUSYMatching::Comp_DeltaMd ( )

Large tan beta correction to CKM, down-quark mass

Definition at line 711 of file SUSYMatching.cpp.

711 {
712
713 gslpp::vector<double> myMU2Squarks(6, 0.);
714 gslpp::vector<double> myMD2Squarks(6, 0.);
715 myMU2Squarks = mySUSY.getMsu2();
716 myMD2Squarks = mySUSY.getMsd2();
717
718 int k, l, I, J;//, i, j;
719
720 for (J = 0; J < 3; J++) {
721 for (I = 0; I < 3; I++) {
722
723 gslpp::complex temp(0., 0., false);
724
725 for (k = 0; k < 6; k++) {
726
727 temp += -2. / 3. * Als / M_PI * Mg * myRd(k, J + 3).conjugate()
728 * myRd(k, I) * Bk(Mg * Mg, myMD2Squarks(k), 0);
729
730 }
731
732 for (k = 0; k < 6; k++) {
733 for (l = 0; l < 4; l++) {
734
735 temp += 1. / (16. * M_PI * M_PI) * VdDNR(J, k, l, 0).conjugate()
736 * VdDNL(I, k, l, 0)
737 * MChi0(l) * Bk(MChi0(l) * MChi0(l), myMD2Squarks(k), 0);
738 }
739
740 }
741
742 for (k = 0; k < 6; k++) {
743 for (l = 0; l < 2; l++) {
744
745 temp += 1. / (16. * M_PI * M_PI) * VdUCR(J, k, l, 0).conjugate() * VdUCL(I, k, l) *
746 MChi(l) * Bk(MChi(l) * MChi(l), myMU2Squarks(k), 0);
747 }
748 }
749
750 DeltaMd_cache.assign(J, I, temp);
751 }
752 }
753}
double Bk(double x, double y, int k)

◆ Comp_Eps_J()

void SUSYMatching::Comp_Eps_J ( )

Tan beta corrections to down quark masses

Definition at line 763 of file SUSYMatching.cpp.

763 {
764
765 for (int J = 0; J < 3; J++) {
766
767 Eps_JCache.assign(J, DeltaMd(J, J) / (tanb * mySUSYMQ(2 * J + 1)));
768 }
769}

◆ Comp_Lambda0EpsY()

void SUSYMatching::Comp_Lambda0EpsY ( )

Definition at line 777 of file SUSYMatching.cpp.

777 {
778
779 int I,J;
780 double mtop = mySUSYMQ(4);
781
782 for( I = 0;I < 3;I++){
783 for( J = 0;J < 3;J++){
784
785 Lambda0EpsYCache.assign(J,I,DeltaMd(J,I)/(tanb
786 * mySUSYMQ(2 * J + 1)) /( 2 /(v2 * v2)
787 * mtop * mtop ));
788 }
789 }
790}

◆ Comp_mySUSY_CKM()

void SUSYMatching::Comp_mySUSY_CKM ( )

Definition at line 843 of file SUSYMatching.cpp.

843 {
844
845
846
847 gslpp::complex Delta_CKM_IJ(0.,0.,false);
848
849 int l, I, J;
850
851 for (I = 0; I < 3; I++) {
852 for (J = 0; J < 3; J++) {
853
854 for (l = 0; l < 3; l++) {
855
856 Delta_CKM_IJ += myCKM(I, l) * DeltaDL(l, J);
857
858 }
859
860 myCKM_cache.assign(I, J, myCKM(I, J) - Delta_CKM_IJ);
861 Delta_CKM_IJ.assign(0.,0.,0);
862
863 }
864 }
865}
gslpp::complex DeltaDL(int J, int I)

◆ Comp_mySUSYMQ()

void SUSYMatching::Comp_mySUSYMQ ( )

Quark Masses run to the SUSY scale Q

Definition at line 698 of file SUSYMatching.cpp.

698 {
699
706}
double getMass_scale() const
A get method to access the scale at which the particle mass is defined.
Definition: Particle.h:133
const double Mrun(const double mu, const double m, const quark q, const orders order=FULLNNLO) const
Computes a running quark mass from .
Definition: QCD.cpp:1353
@ UP
Definition: QCD.h:324
@ DOWN
Definition: QCD.h:325
@ STRANGE
Definition: QCD.h:327
@ CHARM
Definition: QCD.h:326
const Particle & getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:536

◆ Comp_PHLR()

void SUSYMatching::Comp_PHLR ( )

Computation of charged Higgs - quark vertex

Definition at line 1319 of file SUSYMatching.cpp.

1319 {
1320
1321 gslpp::complex PHLR(0., 0., false);
1322 int k;
1323 int i, j;
1324 for (i = 0; i < 3; i++) {
1325 for (j = 0; j < 3; j++) {
1326
1327
1328
1329 PHLR += myCKM(j, i) *
1330 mySUSYMQ(2 * i + 1) / (1. + Eps_J(i) * tanb);
1331
1332 for (k = 0; k < 3; k++) {
1333
1334 PHLR += myCKM(j, k) * mySUSYMQ(2 * k + 1) /
1335 (1. + Eps_J(k) * tanb) * DeltaDR(k, i) - myCKM(j, k) *
1336 DeltaDL(k, i) * mySUSYMQ(2 * i + 1) /
1337 (1. + Eps_J(i) * tanb);
1338
1339 }
1340
1341 PHLR *= sqrt(2.) / mySUSY.v() * tanb;
1342
1343 PHLRCache.assign(j,i,PHLR);
1344 PHLR.assign(0.,0.,0);
1345 }
1346 }
1347}
gslpp::complex PHLR(int j, int i)
gslpp::complex DeltaDR(int J, int I)
const double v() const
The Higgs vacuum expectation value.

◆ Comp_PHRL()

void SUSYMatching::Comp_PHRL ( )

Definition at line 1461 of file SUSYMatching.cpp.

1461 {
1462
1463 int i, j;
1464 for (i = 0; i < 3; i++) {
1465 for (j = 0; j < 3; j++) {
1466
1467 PHRLCache.assign(j, i, sqrt(2.) / (v * tanb) *
1468 mySUSYMQ(2 * j) * myCKM(j, i) + DeltaFHL(j, i));
1469 }
1470 }
1471}
gslpp::complex DeltaFHL(int j, int i)

◆ Comp_VdDNL()

void SUSYMatching::Comp_VdDNL ( int  flag)

Computation of down quark - down squark - neutralino vertex

Definition at line 959 of file SUSYMatching.cpp.

959 {
960
961 gslpp::complex VdDNL_bkj(0., 0., false);
962 /* tree-level cW2 */
963 double cW2 = mySUSY.Mw_tree()*mySUSY.Mw_tree()/mySUSY.getMz()/mySUSY.getMz();
964 /* SM value for cW2 in the on-shell scheme */
965 //double cW2 = mySUSY.StandardModel::cW2();
966 /* MSSM value for cW2 in the on-shell scheme */
967 //double cW2 = mySUSY.cW2();
968 double sW2 = 1.0 - cW2;
969 double CosThetaW = sqrt(cW2);
970 double SinThetaW = sqrt(sW2);
971 int l, b, k, j;
972
973 for (b = 0; b < 3; b++) {
974 for (k = 0; k < 6; k++) {
975 for (j = 0; j < 4; j++) {
976
977 if(flag==1) {
978
979 VdDNL_bkj += (-gW / sqrt(2.) * myRd(k, b) * (1. / 3.
980 * SinThetaW / CosThetaW * myN(j, 0).conjugate() -
981 myN(j, 1).conjugate()) - sqrt(2.) / v1
982 * mySUSYMQ(2 * b + 1) /
983 (1. + Eps_J(b) * tanb)
984 * myRd(k, b + 3) * myN(j, 2).conjugate());
985
986 for (l = 0; l < 3; l++) {
987
988 // correzione vertici neutralini calcolate seguendo le indicazioni di Buras
989
990 VdDNL_bkj += (-gW / sqrt(2.) * myRd(k, l) * (1. / 3.
991 * SinThetaW / CosThetaW * myN(j, 0).conjugate() -
992 myN(j, 1).conjugate()) - sqrt(2.) / v1
993 * mySUSYMQ(2 * l + 1) /
994 (1. + Eps_J(l)* tanb)
995 * myRd(k, l + 3) * myN(j, 2).conjugate())
996 *DeltaDL(l, b);
997 }
998 }
999
1000 if(flag==0){
1001
1002 VdDNL_bkj += -gW / sqrt(2.) * myRd(k, b) * (1. / 3.
1003 * SinThetaW / CosThetaW * myN(j, 0).conjugate() -
1004 myN(j, 1).conjugate()) - sqrt(2.) / v1
1005 * mySUSYMQ(2 * b + 1)
1006 * myRd(k, b + 3) * myN(j, 2).conjugate();
1007
1008 }
1009
1010 VdDNL_cache[b][k][j][flag] = VdDNL_bkj;
1011 VdDNL_bkj.assign(0., 0., 0);
1012
1013 }
1014
1015 }
1016 }
1017
1018 if(flag != 0 && flag != 1) throw std::runtime_error("Error in Comp_VdDNL(flag) in SUSYMatching.cpp ");
1019}
gslpp::complex VdDNL_cache[3][6][4][2]
Definition: SUSYMatching.h:573

◆ Comp_VdDNR()

void SUSYMatching::Comp_VdDNR ( int  flag)

Definition at line 1031 of file SUSYMatching.cpp.

1031 {
1032
1033 gslpp::complex VdDNR_bkj(0., 0., false);
1034 /* tree-level cW2 */
1035 double cW2 = mySUSY.Mw_tree()*mySUSY.Mw_tree()/mySUSY.getMz()/mySUSY.getMz();
1036 /* SM value for cW2 in the on-shell scheme */
1037 //double cW2 = mySUSY.StandardModel::cW2();
1038 /* MSSM value for cW2 in the on-shell scheme */
1039 //double cW2 = mySUSY.cW2();
1040 double sW2 = 1.0 - cW2;
1041
1042 double CosThetaW = sqrt(cW2);
1043 double SinThetaW = sqrt(sW2);
1044 int l, b, k, j;
1045
1046 for (b = 0; b < 3; b++) {
1047 for (k = 0; k < 6; k++) {
1048 for (j = 0; j < 4; j++) {
1049
1050 if(flag==1){
1051
1052 VdDNR_bkj += -sqrt(2.) / 3. * gW * SinThetaW / CosThetaW *
1053 myRd(k, b + 3) * myN(j, 0) - sqrt(2.) / v1
1054 * mySUSYMQ(2 * b + 1) /
1055 (1. + Eps_J(b) * tanb) * myRd(k, b) *
1056 myN(j, 2);
1057
1058 for (l = 0; l < 3; l++) {
1059
1060 // correzione vertici neutralini calcolate seguendo le indicazioni di Buras
1061
1062 VdDNR_bkj += (-sqrt(2.) / 3. * gW * SinThetaW / CosThetaW *
1063 myRd(k, l + 3) * myN(j, 0) - sqrt(2.) / v1
1064 * mySUSYMQ(2 * l + 1) /
1065 (1. + Eps_J(l) * tanb) * myRd(k, l) *
1066 myN(j, 2)) * DeltaDR(l, b);
1067 }
1068 }
1069
1070 if(flag==0){
1071 VdDNR_bkj += -sqrt(2.) / 3. * gW * SinThetaW / CosThetaW *
1072 myRd(k, b + 3) * myN(j, 0) - sqrt(2.) / v1
1073 * mySUSYMQ(2 * b + 1)* myRd(k, b) * myN(j, 2);
1074 }
1075
1076 VdDNR_cache[b][k][j][flag] = VdDNR_bkj;
1077 VdDNR_bkj.assign(0., 0., 0);
1078
1079 }
1080 }
1081 }
1082
1083 if(flag != 0 && flag != 1) throw std::runtime_error("Error in Comp_VdDNR(flag) in SUSYMatching.cpp ");
1084
1085}
gslpp::complex VdDNR_cache[3][6][4][2]
Definition: SUSYMatching.h:574

◆ Comp_VdUCL()

void SUSYMatching::Comp_VdUCL ( )

Computation of down quark - up squark - chargino vertex

Definition at line 875 of file SUSYMatching.cpp.

875 {
876
877
878 gslpp::complex VdUCL_bkj(0., 0., false);
879 int l, b, k, j;
880
881 for (b = 0; b < 3; b++) {
882 for (k = 0; k < 6; k++) {
883 for (j = 0; j < 2; j++) {
884
885
886 for (l = 0; l < 3; l++) {
887 VdUCL_bkj += -gW * myRu(k, l) * myCKM(l, b) * myV(j, 0).conjugate()
888 + sqrt(2.) / v2 * mySUSYMQ(2 * l)
889 * myRu(k, l + 3) * myV(j, 1).conjugate() * myCKM(l, b);
890 }
891
892 VdUCL_cache[b][k][j] = VdUCL_bkj;
893 VdUCL_bkj.assign(0., 0., 0);
894
895 }
896 }
897 }
898}
gslpp::complex VdUCL_cache[3][6][2]
Definition: SUSYMatching.h:565

◆ Comp_VdUCR()

void SUSYMatching::Comp_VdUCR ( int  flag)

Definition at line 909 of file SUSYMatching.cpp.

909 {
910
911 gslpp::complex VdUCR_bkj(0., 0., false);
912 gslpp::complex Ydb(0., 0., false);
913 gslpp::complex Ydp(0., 0., false);
914 int l, p, b, k, j;
915
916 for (b = 0; b < 3; b++) {
917 for (k = 0; k < 6; k++) {
918 for (j = 0; j < 2; j++) {
919 for (l = 0; l < 3; l++) {
920 if(flag == 1) {
921 Ydb = mySUSYMQ(2 * b + 1) * sqrt(2.) / v1 /(1. + Eps_J(b)*tanb) ;
922 VdUCR_bkj += Ydb * myCKM(l, b) * myRu(k, l) * myU(j, 1);
923
924 for (p = 0; p < 3; p++) {
925 Ydp = mySUSYMQ(2 * p + 1)* sqrt(2.) / v1 /(1. + Eps_J(p)* tanb) ;
926 VdUCR_bkj += (myCKM(l, p)*(Ydp * DeltaDR(p, b)
927 - DeltaDL(p, b) * Ydb) * myRu(k, l) * myU(j, 1));
928 }
929
930 }
931 else if(flag == 0){
932 Ydb = mySUSYMQ(2 * b + 1) * sqrt(2.) / v1;
933 VdUCR_bkj += Ydb * myRu(k, l) * myU(j, 1)
934 * myCKM(l, b);
935 }
936
937 else{throw std::runtime_error("Wrong flag assigned to vertex VdUCR_bkj å");}
938
939 }
940
941 VdUCR_cache[b][k][j][flag] = VdUCR_bkj;
942 VdUCR_bkj.assign(0., 0., 0);
943
944 }
945 }
946 }
947}
gslpp::complex VdUCR_cache[3][6][2][2]
Definition: SUSYMatching.h:566

◆ Comp_VuDCL()

void SUSYMatching::Comp_VuDCL ( )

Computation of up quark - down squark - chargino vertex

Definition at line 1098 of file SUSYMatching.cpp.

1098 { // to be corrected
1099
1100
1101 gslpp::matrix<gslpp::complex> myCKM(3, 3, 0.);
1102 gslpp::complex VuDCL_bkj(0., 0., false);
1103 gslpp::complex YdI(0., 0., false);
1104 int I, b, k, j;
1105
1106 for (b = 0; b < 3; b++) {
1107 for (k = 0; k < 6; k++) {
1108 for (j = 0; j < 2; j++) {
1109
1110 for (I = 0; I < 3; I++) {
1111 YdI = sqrt(2.) / v1 * mySUSYMQ(2 * I + 1);
1112 VuDCL_bkj += -(gW * myRd(k, I) * myU(j, 0).conjugate()
1113 - YdI * myRd(k, I + 3) * myU(j, 1).conjugate()) *
1114 myCKM(b, I).conjugate();
1115 }
1116
1117 VuDCL_cache[b][k][j] = VuDCL_bkj;
1118 VuDCL_bkj.assign(0., 0., 0);
1119
1120 }
1121 }
1122 }
1123}
gslpp::complex VuDCL_cache[3][6][2]
Definition: SUSYMatching.h:581

◆ Comp_VuDCR()

void SUSYMatching::Comp_VuDCR ( )

Definition at line 1131 of file SUSYMatching.cpp.

1131 {
1132
1133
1134 gslpp::matrix<gslpp::complex> mySUSYCKM(3, 3, 0.);
1135 mySUSYCKM = mySUSY_CKM();
1136 gslpp::matrix<gslpp::complex> myV(2, 2, 0.);
1137 myV = mySUSY.getV();
1138 double Yub;
1139 gslpp::complex VuDCR_bkj(0., 0., false);
1140
1141 int I, b, k, j;
1142
1143 for (b = 0; b < 3; b++) {
1144 for (k = 0; k < 6; k++) {
1145 for (j = 0; j < 2; j++) {
1146
1147 Yub = sqrt(2.) / v2 * mySUSYMQ(2 * b); // b is the up quark type index
1148
1149 for (I = 0; I < 3; I++) {
1150
1151 VuDCR_bkj += mySUSYCKM(b, I).conjugate() * Yub * myRd(k, I) * myV(j, 1) ;
1152
1153 }
1154
1155 VuDCR_cache[b][k][j] = VuDCR_bkj;
1156 VuDCR_bkj.assign(0., 0., 0);
1157
1158
1159 }
1160 }
1161 }
1162}
gslpp::matrix< gslpp::complex > getV() const
Gets the rotation matrix for positive charginos.
Definition: SUSY.h:303
gslpp::matrix< gslpp::complex > mySUSY_CKM()
gslpp::complex VuDCR_cache[3][6][2]
Definition: SUSYMatching.h:582

◆ Comp_VUDHH()

void SUSYMatching::Comp_VUDHH ( )

Computation of Charged Higgs - squrks down - squarks up vertex

Definition at line 1355 of file SUSYMatching.cpp.

1355 {
1356
1357 gslpp::complex VUDHijH(0., 0., false);
1358 gslpp::matrix<gslpp::complex> myTU(3, 3, 0.);
1359 gslpp::matrix<gslpp::complex> myTD(3, 3, 0.);
1360 gslpp::complex YuJ(0., 0., false);
1361 gslpp::complex YdI(0., 0., false);
1362 gslpp::matrix<gslpp::complex> mySUSYCKM(3, 3, 0.);
1363 mySUSYCKM = mySUSY_CKM();
1364 myTU = mySUSY.getTUhat();
1365 myTD = mySUSY.getTDhat();
1366 gslpp::matrix<gslpp::complex> ZH(2, 2, 0.);
1367 ZH.assign(0, 0, mySUSY.getSinb());
1368 ZH.assign(0, 1, -mySUSY.getCosb());
1369 ZH.assign(1, 0, mySUSY.getCosb());
1370 ZH.assign(1, 1, mySUSY.getSinb());
1371 int I, J, i, j;// ,l;
1372
1373 for (i = 0; i < 6; i++) {
1374 for (j = 0; j < 6; j++) {
1375
1376
1377 for (I = 0; I < 3; I++) {
1378 for (J = 0; J < 3; J++) {
1379
1380
1381 VUDHijH += v / sqrt(2.) * sqrt(2.) / v2 * mySUSYMQ(2 * J) *
1382 sqrt(2.) / v1 * mySUSYMQ(2 * I + 1) /
1383 (1 + Eps_J(I) * tanb) * mySUSYCKM(J, I) * myRd(j, I + 3).conjugate() *
1384 myRu(i, J + 3)
1385
1386 + 1. / sqrt(2.) * (v1 * sqrt(2.) / v1 * mySUSYMQ(2 * I + 1) /
1387 (1 + Eps_J(I) * tanb) * sqrt(2.) / v1 * mySUSYMQ(2 * I + 1) /
1388 (1 + Eps_J(I) * tanb) * ZH(0, 0) +
1389 v2 * sqrt(2.) / v2 * mySUSYMQ(2 * J) * sqrt(2.) / v2 * mySUSYMQ(2 * J)
1390 * ZH(1, 0)) * mySUSYCKM(J, I) * myRd(j, I).conjugate() * myRu(i, J)
1391
1392
1393 + (ZH(0, 0) * (mySUSY.getMuH()).conjugate() *
1394 sqrt(2.) / v2 * mySUSYMQ(2 * J) * mySUSYCKM(J, I) +
1395 ZH(1,0)*(myTU(J,0)*mySUSYCKM(0,I) + myTU(J,1)*mySUSYCKM(1,I)
1396 + myTU(J,2)*mySUSYCKM(2,I)))
1397 * myRu(i, J + 3) * myRd(j, I).conjugate()
1398
1399 + (ZH(0,0) * (myTD(I,0).conjugate() * mySUSYCKM(J,0)
1400 + myTD(I,1).conjugate() * mySUSYCKM(J,1)
1401 + myTD(I,2).conjugate() * mySUSYCKM(J,2))
1402 + ZH(1,0) * mySUSY.getMuH() * sqrt(2.) / v1 * mySUSYMQ(2 * I + 1) /
1403 (1 + Eps_J(I) * tanb) * mySUSYCKM(J,I)) * myRu(i,J) *
1404 myRd(j, I + 3).conjugate();
1405
1406
1407 }
1408 }
1409
1410
1411
1412 VUDHH_cache.assign(i, j, VUDHijH);
1413 VUDHijH.assign(0., 0., 0);
1414 }
1415 }
1416}
gslpp::matrix< gslpp::complex > getTDhat() const
Gets the trilinear-coupling matrix for down-type squarks.
Definition: SUSY.h:362
const double getCosb() const
Gets .
Definition: SUSY.h:217
gslpp::matrix< gslpp::complex > getTUhat() const
Gets the trilinear-coupling matrix for up-type squarks.
Definition: SUSY.h:353

◆ Comp_VuUN()

void SUSYMatching::Comp_VuUN ( )

Computation of up quark - up squark - neutralino vertex

Definition at line 1204 of file SUSYMatching.cpp.

1204 {
1205
1206 double TanThetaW = sqrt(mySUSY.sW2() / mySUSY.cW2());
1207 gslpp::complex VuUNL_bkj(0.,0.,false);
1208 gslpp::complex VuUNR_bkj(0.,0.,false);
1209 double Yub;
1210
1211 int b, k, j;
1212
1213 for (b = 0; b < 3; b++) {
1214 for (k = 0; k < 6; k++) {
1215 for (j = 0; j < 4; j++) {
1216
1217 Yub = sqrt(2.) / v2 * mySUSYMQ(2 * b);
1218
1219 VuUNL_bkj += -1. / sqrt(2.) * gW * myRu(k, b) * (1. / (3. * TanThetaW) *
1220 myN(j, 0).conjugate() + myN(j, 1).conjugate())
1221 - Yub * myRu(k, b + 3) * myN(j, 3).conjugate();
1222
1223 VuUNR_bkj += 2. * sqrt(2.) / 3. * gW * TanThetaW * myRu(k, b + 3) *
1224 myN(j, 0) - Yub * myRu(k, b) * myN(j, 3);
1225
1226 VuUNL_cache[b][k][j] = VuUNL_bkj;
1227 VuUNL_bkj.assign(0., 0., 0);
1228 VuUNR_cache[b][k][j] = VuUNR_bkj;
1229 VuUNR_bkj.assign(0.,0.,0);
1230
1231 }
1232 }
1233 }
1234}
gslpp::complex VuUNL_cache[3][6][4]
Definition: SUSYMatching.h:590
gslpp::complex VuUNR_cache[3][6][4]
Definition: SUSYMatching.h:591
virtual const double cW2(const double Mw_i) const
The square of the cosine of the weak mixing angle in the on-shell scheme, denoted as .
virtual const double sW2(const double Mw_i) const
The square of the sine of the weak mixing angle in the on-shell scheme, denoted as .

◆ CP_Lepton()

gslpp::vector< gslpp::complex > SUSYMatching::CP_Lepton ( int  n)
virtual

Calculates \( C_{P} \) and \( C^{\prime}_{P} \) Wilson coefficients for the process \( \ell_j \to \ell_i \ell_i \ell_i \).

Calculates CP and CP' for m->eee (1), t->mmm (2), t->eee (3) and t->muee (4)

Parameters
[in]ndetermines the process, e.g., 1 = \( \mu \to eee \), 2 = \( \tau \to \mu \mu \mu \), 3 = \( \tau \to eee \)
Returns
returns the vector of \( C_{P} \) and \( C^{\prime}_{P} \) Wilson coefficients

Definition at line 7522 of file SUSYMatching.cpp.

7522 {
7523
7524 gslpp::vector<gslpp::complex> CP(2, 0.);
7525
7526 // write CP and CP' into a vector
7527 CP.assign(0, BFunctions(li_to_lj)(4)/2.0 );
7528 CP.assign(1, -BFunctions(li_to_lj)(5)/2.0 );
7529
7530 return(CP);
7531}

◆ CS_Lepton()

gslpp::vector< gslpp::complex > SUSYMatching::CS_Lepton ( int  n)
virtual

Calculates \( C_{S} \) and \( C^{\prime}_{S} \) Wilson coefficients for the process \( \ell_j \to \ell_i \ell_i \ell_i \).

Calculates CS and CS' for m->eee (1), t->mmm (2), t->eee (3) and t->muee (4)

Parameters
[in]ndetermines the process, e.g., 1 = \( \mu \to eee \), 2 = \( \tau \to \mu \mu \mu \), 3 = \( \tau \to eee \)
Returns
returns the vector of \( C_{S} \) and \( C^{\prime}_{S} \) Wilson coefficients

Definition at line 7511 of file SUSYMatching.cpp.

7511 {
7512
7513 gslpp::vector<gslpp::complex> CS(2, 0.);
7514
7515 // write CS and CS' into a vector
7516 CS.assign(0, BFunctions(li_to_lj)(4)/2.0 );
7517 CS.assign(1, BFunctions(li_to_lj)(5)/2.0 );
7518
7519 return(CS);
7520}

◆ CT_Lepton()

gslpp::vector< gslpp::complex > SUSYMatching::CT_Lepton ( int  n)
virtual

Calculates \( C_{T} \) and \( C_{T5} \) Wilson coefficients for the process \( \ell_j \to \ell_i \ell_i \ell_i \).

Calculates CT and CT5 for m->eee (1), t->mmm (2), t->eee (3) and t->muee (4)

Parameters
[in]ndetermines the process, e.g., 1 = \( \mu \to eee \), 2 = \( \tau \to \mu \mu \mu \), 3 = \( \tau \to eee \)
Returns
returns the vector of \( C_{T} \) and \( C_{T5} \) Wilson coefficients

Definition at line 7533 of file SUSYMatching.cpp.

7533 {
7534
7535 gslpp::vector<gslpp::complex> CT(2, 0.);
7536
7537 // write CT and CT5 into a vector
7538 CT.assign(0, (BFunctions(li_to_lj)(6)+BFunctions(li_to_lj)(7))/2.0 );
7539 CT.assign(1, (BFunctions(li_to_lj)(6)+BFunctions(li_to_lj)(7))/2.0 );
7540
7541 return(CT);
7542}

◆ D0N()

double SUSYMatching::D0N ( double  x,
double  y,
double  z,
double  t 
)
private

Definition at line 283 of file SUSYMatching.cpp.

283 {
284
285 if ((fabs(z) < SUSYLEPS3) || (fabs(t) < SUSYLEPS3)) {
286 return (0.);
287 }
288 else
289 return (sqrt(z * t) * Dk(x, y, z, t, 0));
290
291}

◆ D2LL0()

double SUSYMatching::D2LL0 ( double  a,
double  b 
)
private

Definition at line 293 of file SUSYMatching.cpp.

293 {
294
295 return ( (log(a) - log(b)) / (4. * (-a + b)) );
296
297}

◆ delta_ab()

int SUSYMatching::delta_ab ( int  a,
int  b 
)
private

Kronecker delta.

Kronecker delta

Parameters
[in]ais the first index of the Kronecker delta function
[in]bis the second index of the Kronecker delta function

Definition at line 4716 of file SUSYMatching.cpp.

4716 {
4717 if(a == b) return 1;
4718 else return 0;
4719}

◆ DeltaDL()

gslpp::complex SUSYMatching::DeltaDL ( int  J,
int  I 
)
private

Definition at line 830 of file SUSYMatching.cpp.

830 {
831
832 return(DeltaDL_Cache(J,I));
833}

◆ DeltaDR()

gslpp::complex SUSYMatching::DeltaDR ( int  J,
int  I 
)
private

Definition at line 835 of file SUSYMatching.cpp.

835 {
836
837 gslpp::complex C(0., 0., false);
838 C = DeltaDL_Cache(J,I).conjugate();
839
840 return (C);
841}

◆ DeltaFHL()

gslpp::complex SUSYMatching::DeltaFHL ( int  j,
int  i 
)
private

Definition at line 1425 of file SUSYMatching.cpp.

1425 {
1426
1427
1428 gslpp::complex DFHL_ji(0., 0., false);
1429 gslpp::vector<double> myMU2Squarks(6, 0.);
1430 gslpp::vector<double> myMD2Squarks(6, 0.);
1431 myMU2Squarks = mySUSY.getMsu2();
1432 myMD2Squarks = mySUSY.getMsd2();
1433 gslpp::vector<double> MChi0(4, 0.);
1434 gslpp::complex Yuj(0., 0., false);
1435 gslpp::complex Ydi(0., 0., false);
1436 int m, l;
1437
1438 Yuj = sqrt(2.) / v2 * mySUSYMQ(2 * j);
1439 Ydi = sqrt(2.) / v1 * mySUSYMQ(2 * i + 1) /
1440 (1 + Eps_J(i) * tanb);
1441
1442 for (m = 0; m < 6; m++) {
1443 for (l = 0; l < 6; l++) {
1444
1445 DFHL_ji += VUDHH(m,l) *(-2 * Als / (3. * M_PI) * Mg
1446 * myRu(m, j + 3).conjugate() * myRd(l, i) *
1447 Ck(Mg * Mg, myMU2Squarks(m), myMD2Squarks(l), 0)
1448
1449 - 1. / (16. * M_PI * M_PI) * Yuj * Ydi *
1450 myRu(m, j).conjugate() * myRd(l, i + 3) *
1451 mySUSY.getMuH().conjugate() *
1452 Ck(mySUSY.getMuH().abs2(), myMU2Squarks(m), myMD2Squarks(l), 0));
1453
1454 }
1455
1456 }
1457 return (DFHL_ji);
1458}
gslpp::complex VUDHH(int i, int j)

◆ DeltaMd()

gslpp::complex SUSYMatching::DeltaMd ( int  J,
int  I 
)
private

Definition at line 755 of file SUSYMatching.cpp.

755 {
756
757 return (DeltaMd_cache(J,I));
758}

◆ DFunctions()

gslpp::vector< gslpp::complex > SUSYMatching::DFunctions ( )
virtual

Calculates box diagram amplitudes for the process \( \mu \to e \) conversion in Nuclei from from [Hisano:1995cp].

Returns
returns the vector of box diagram amplitude

Definition at line 6221 of file SUSYMatching.cpp.

6221 {
6222 //box contributions to mu->e conversion
6223
6225
6226 double MW = mySUSY.Mw_tree();
6227 double pi = M_PI;
6228 double sw2 = mySUSY.StandardModel::sW2(MW);
6229 double stw = sqrt(sw2);
6230 double ctw = sqrt(1.0 - sw2);
6231 double ttw = stw/ctw;
6234 double mUP = mySUSY.getQuarks(QCD::UP).getMass();
6235 double mDOWN = mySUSY.getQuarks(QCD::DOWN).getMass();
6236 double cdenc = sqrt(2.0)*MW*cosb;
6237 double cdenn = MW*cosb;
6238 double g2 = gW;
6239 double g2t = g2/sqrt(2.0);
6240 double alph = mySUSY.getAle();
6241
6242 gslpp::vector<gslpp::complex> DFunctions(4, 0.);
6243 // Neutralino-Fermion-Sfermion couplings
6244 for (int a=0;a<4;a++) {
6245 for (int x=0;x<6;x++) {
6246 // LL + RL TYPE MI
6247 NRlE.assign(a, x, - (g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 0) + (mE/cdenn)*ON(a, 2)*myRl(x, 3)));
6248 NRlMU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 1) + (mMU/cdenn)*ON(a, 2)*myRl(x, 4)));
6249 NRqUP.assign(a, x, -(g2t)*((ON(a, 1)+ON(a, 0)*ttw/3.0)*myRu(x, 0)+mUP/(MW*sinb)*ON(a, 3)*myRu(x, 3)));
6250 NRqDOWN.assign(a, x, -(g2t)*((-ON(a, 1)+ON(a, 0)*ttw/3.0)*myRd(x, 0)+mDOWN/(MW*cosb)*ON(a, 2)*myRd(x, 3)));
6251 // RL + RR TYPE MI
6252 NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2)*myRl(x, 0) + 2.0*ON(a, 0)*ttw*myRl(x, 3)));
6253 NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2)*myRl(x, 1) + 2.0*ON(a, 0)*ttw*myRl(x, 4)));
6254 NLqUP.assign(a, x, -(g2t)*(mUP/(MW*sinb)*ON(a, 3)*myRu(x, 0)-4.0*ON(a, 0)*myRu(x, 3)*ttw/3.0));
6255 NLqDOWN.assign(a, x, -(g2t)*(mDOWN/(MW*cosb)*ON(a, 2)*myRd(x, 0)+2.0*ON(a, 0)*myRd(x, 3)*ttw/3.0));
6256 }
6257 }
6258 // Chargino-Fermion-Sfermion couplings
6259 for (int a=0;a<2;a++) {
6260 for (int x=0;x<3;x++) {
6261 // LL-TYPE
6262 CRlE.assign(a, x, - (g2*myV(a, 0)*myRn(x, 0)));
6263 CRlMU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 1)));
6264 // LR-TYPE
6265 CLlE.assign(a, x, g2*mE/cdenc*myU(a, 1).conjugate()*myRn(x, 0));
6266 CLlMU.assign(a, x, g2*mMU/cdenc*myU(a, 1).conjugate()*myRn(x, 1));
6267 }
6268 }
6269 for (int a=0;a<2;a++) {
6270 for (int x=0;x<6;x++) {
6271 // LL-TYPE
6272 CRqUP.assign(a, x, g2*(-myU(a, 0)*myRd(x, 0) + mDOWN/cdenc*myU(a, 1)*myRd(x, 3)));
6273 CRqDOWN.assign(a, x, g2*(-myV(a, 0)*myRu(x, 0) + mUP/(sqrt(2.0)*MW*sinb)*myV(a, 1)*myRu(x, 3)));
6274 // LR-TYPE
6275 CLqUP.assign(a, x, g2*mUP/(sqrt(2.0)*MW*sinb)*myV(a, 1)*myRd(x, 0));
6276 CLqDOWN.assign(a, x, g2*mDOWN/cdenc*myU(a, 1)*myRu(x, 0));
6277 }
6278 }
6279
6280 // Neutralino contributions
6281 gslpp::complex DunR = 0.0;
6282 gslpp::complex DunL = 0.0;
6283 gslpp::complex DdnR = 0.0;
6284 gslpp::complex DdnL = 0.0;
6285 for (int a=0;a<4;a++) {
6286 for (int b=0;b<4;b++) {
6287 for (int x=0;x<6;x++) {
6288 for (int y=0;y<6;y++) {
6289 DunR = DunR + (0.125*(NLlMU(a,x).conjugate()*NLlE(b,x)*NLqUP(a,y)*NLqUP(b,y).conjugate()
6290 -NLlMU(a,x).conjugate()*NLlE(b,x)*NRqUP(a,y).conjugate()*NRqUP(b,y))
6291 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_su_sq(y))/(4.0*pi*pi)
6292 -0.25*MNeig(a)*MNeig(b)*(NLlMU(a,x).conjugate()*NLlE(b,x)*NRqUP(a,y)*NRqUP(b,y).conjugate()
6293 -NLlMU(a,x).conjugate()*NLlE(b,x)*NLqUP(a,y).conjugate()*NLqUP(b,y))
6294 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_su_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
6295 DunL = DunL + (0.125*(NRlMU(a,x).conjugate()*NRlE(b,x)*NRqUP(a,y)*NRqUP(b,y).conjugate()
6296 -NRlMU(a,x).conjugate()*NRlE(b,x)*NLqUP(a,y).conjugate()*NLqUP(b,y))
6297 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_su_sq(y))/(4.0*pi*pi)
6298 -0.25*MNeig(a)*MNeig(b)*(NRlMU(a,x).conjugate()*NRlE(b,x)*NLqUP(a,y)*NLqUP(b,y).conjugate()
6299 -NRlMU(a,x).conjugate()*NRlE(b,x)*NRqUP(a,y).conjugate()*NRqUP(b,y))
6300 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_su_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
6301 DdnR = DdnR + (0.125*(NLlMU(a,x).conjugate()*NLlE(b,x)*NLqDOWN(a,y)*NLqDOWN(b,y).conjugate()
6302 -NLlMU(a,x).conjugate()*NLlE(b,x)*NRqDOWN(a,y).conjugate()*NRqDOWN(b,y))
6303 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_sd_sq(y))/(4.0*pi*pi)
6304 -0.25*MNeig(a)*MNeig(b)*(NLlMU(a,x).conjugate()*NLlE(b,x)*NRqDOWN(a,y)*NRqDOWN(b,y).conjugate()
6305 -NLlMU(a,x).conjugate()*NLlE(b,x)*NLqDOWN(a,y).conjugate()*NLqDOWN(b,y))
6306 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_sd_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
6307 DdnL = DdnL + (0.125*(NRlMU(a,x).conjugate()*NRlE(b,x)*NRqDOWN(a,y)*NRqDOWN(b,y).conjugate()
6308 -NRlMU(a,x).conjugate()*NRlE(b,x)*NLqDOWN(a,y).conjugate()*NLqDOWN(b,y))
6309 *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_sd_sq(y))/(4.0*pi*pi)
6310 -0.25*MNeig(a)*MNeig(b)*(NRlMU(a,x).conjugate()*NRlE(b,x)*NLqDOWN(a,y)*NLqDOWN(b,y).conjugate()
6311 -NRlMU(a,x).conjugate()*NRlE(b,x)*NRqDOWN(a,y).conjugate()*NRqDOWN(b,y))
6312 *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_sd_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
6313 }
6314 }
6315 }
6316 }
6317
6318 // Chargino contributions
6319 gslpp::complex DucR = 0.0;
6320 gslpp::complex DucL = 0.0;
6321 gslpp::complex DdcR = 0.0;
6322 gslpp::complex DdcL = 0.0;
6323 for (int a=0;a<2;a++) {
6324 for (int b=0;b<2;b++) {
6325 for (int x=0;x<3;x++) {
6326 for (int y=0;y<6;y++) {
6327 DucR = DucR + (-0.125*CLlMU(a,x).conjugate()*CLlE(b,x)*CRqUP(a,y).conjugate()*CRqUP(b,y)
6328 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sd_sq(y))/(4.0*pi*pi)
6329 +0.25*MChi(a)*MChi(b)*CLlMU(a,x).conjugate()*CLlE(b,x)*CLqUP(a,y).conjugate()*CLqUP(b,y)
6330 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sd_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
6331 DucL = DucL + (-0.125*CRlMU(a,x).conjugate()*CRlE(b,x)*CLqUP(a,y).conjugate()*CLqUP(b,y)
6332 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sd_sq(y))/(4.0*pi*pi)
6333 +0.25*MChi(a)*MChi(b)*CRlMU(a,x).conjugate()*CRlE(b,x)*CRqUP(a,y).conjugate()*CRqUP(b,y)
6334 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sd_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
6335 DdcR = DdcR + (0.125*CLlMU(a,x).conjugate()*CLlE(b,x)*CLqDOWN(a,y)*CLqDOWN(b,y).conjugate()
6336 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_su_sq(y))/(4.0*pi*pi)
6337 -0.25*MChi(a)*MChi(b)*CLlMU(a,x).conjugate()*CLlE(b,x)*CRqDOWN(a,y)*CRqDOWN(b,y).conjugate()
6338 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_su_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
6339 DdcL = DdcL + (0.125*CRlMU(a,x).conjugate()*CRlE(b,x)*CRqDOWN(a,y)*CRqDOWN(b,y).conjugate()
6340 *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_su_sq(y))/(4.0*pi*pi)
6341 -0.25*MChi(a)*MChi(b)*CRlMU(a,x).conjugate()*CRlE(b,x)*CLqDOWN(a,y)*CLqDOWN(b,y).conjugate()
6342 *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_su_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
6343 }
6344 }
6345 }
6346 }
6347
6348 // write DuR, DuL, DdR and DdL into a vector for mu->e conversion
6349 DFunctions.assign(0, DunR+DucR ); //DuR
6350 DFunctions.assign(1, DunL+DucL ); //DuL
6351 DFunctions.assign(2, DdnR+DdcR ); //DdR
6352 DFunctions.assign(3, DdnL+DdcL ); //DdL
6353
6354 return(DFunctions);
6355}

◆ Dk()

double SUSYMatching::Dk ( double  x,
double  y,
double  z,
double  t,
int  k 
)
private

Passarino Veltman functions, Dk with k = 0,2 , and their limits

four variables equals

three variables equals

pairs variables equals

one variable equal to zero

different variables

Definition at line 469 of file SUSYMatching.cpp.

469 {
470
472 if ((fabs(1. - y / x) < SUSYLEPS) && (fabs(1. - z / x) < SUSYLEPS) &&
473 (fabs(1. - t / x) < SUSYLEPS)) {
474 return DLLL(x, k);
475 }
476
478 if ((fabs(1. - y / x) < SUSYLEPS) && (fabs(1. - z / x) < SUSYLEPS)) {
479 return DLL(x, t, k);
480 }
481 if ((fabs(1. - y / x) < SUSYLEPS) && (fabs(1. - t / x) < SUSYLEPS)) {
482 return DLL(x, z, k);
483 }
484 if ((fabs(1. - z / x) < SUSYLEPS) && (fabs(1. - t / x) < SUSYLEPS)) {
485 return DLL(x, y, k);
486 }
487 if ((fabs(1. - z / y) < SUSYLEPS) && (fabs(1. - t / y) < SUSYLEPS)) {
488 return DLL(y, x, k);
489 }
490
492 if (fabs(1. - y / x) < SUSYLEPS) {
493 if ((fabs(1. - t / z) < SUSYLEPS)) {
494 return DLLp(x, z, k);
495 }
496 else
497 return DL(x, z, t, k);
498 }
499 if (fabs(1. - z / x) < SUSYLEPS) {
500 if (fabs(1. - t / y) < SUSYLEPS) {
501 return DLLp(x, y, k);
502 }
503 else
504 return DL(x, y, t, k);
505 }
506 if (fabs(1. - t / x) < SUSYLEPS) {
507 if (fabs(1. - z / y) < SUSYLEPS) {
508 return DLLp(x, y, k);
509 }
510 else
511 return DL(x, z, y, k);
512 }
513 if ((fabs(1. - z / y) < SUSYLEPS)) {
514 return DL(y, x, t, k);
515 }
516 if ((fabs(1. - t / y) < SUSYLEPS)) {
517 return DL(y, z, x, k);
518 }
519 if ((fabs(1. - z / t) < SUSYLEPS)) {
520
521 return (DL(x, y, z, k));
522 }
523
525
526 if (fabs(x) < SUSYLEPS) {
527
528 return (DL0(y, z, t, k));
529 }
530 if (fabs(y) < SUSYLEPS) {
531
532 return (DL0(x, z, t, k));
533 }
534 if (fabs(z) < SUSYLEPS) {
535
536 return (DL0(x, y, t, k));
537 }
538 if (fabs(t) < SUSYLEPS) {
539
540 return (DL0(x, y, z, k));
541 }
542
543
545 if (k == 0) {
546 return x * log(x) / ((t - x)*(z - x)*(y - x)) + y * log(y)
547 / ((t - y)*(z - y)*(x - y)) + z * log(z)
548 / ((t - z)*(x - z)*(y - z)) +
549 t * log(t) / ((x - t)*(z - t)*(y - t));
550 }
551 else if (k == 2) {
552 return (((t * t * log(t)) / ((-t + x)*(-t + y)*(-t + z))
553 + (x * x * log(x)) / ((t - x)*(-x + y)*(-x + z))
554 + (y * y * log(y)) / ((t - y)*(x - y)*(-y + z))
555 + (z * z * log(z)) / ((t - z)*(x - z)*(y - z)))/4.);
556 }
557 else {
558
559 throw std::runtime_error("Error in Dk(x,y,z,t,k) in SUSYMatching.cpp ");
560 }
561
562 return (EXIT_FAILURE);
563
564}
double DLLp(double a, double b, int k)
double DLL(double a, double b, int k)
double DL(double a, double b, double c, int k)
double DLLL(double a, int k)

◆ DL()

double SUSYMatching::DL ( double  a,
double  b,
double  c,
int  k 
)
private

Definition at line 319 of file SUSYMatching.cpp.

319 {
320 if (k == 0) {
321 if (fabs(a) < SUSYLEPS) {
322
323 throw std::runtime_error("Error in DL(a,b,c,0) in SUSYMatching.cpp because the limit DL(0,b,c, k = 0) is singular");
324 }
325 else if (fabs(b) < SUSYLEPS) {
326
327 return ( (-a + c + a * log(a) - a * log(c)) / (a * (a - c) * (a - c)));
328 }
329 else if (fabs(c) < SUSYLEPS) {
330
331 return ( (-a + b + a * log(a) - a * log(b)) / (a * (a - b) * (a - b)));
332 }
333 else
334 return( (a*a-b*c)/(a-b)/(a-b)/(a-c)/(a-c)*log(a) +
335 b/(a-b)/(a-b)/(c-b)*log(b) - c/(a-c)/(a-c)/(c-b)*log(c)
336 - 1./(a-b)/(a-c) ) ;
337 }
338 else if (k == 2) {
339
340 if (fabs(a) < SUSYLEPS) {
341
342 return ( (-log(b) + log(c)) / (4. * (b - c)));
343 }
344 else if (fabs(b) < SUSYLEPS) {
345
346 return ( (-a + c + c * log(a) - c * log(c)) / (4. * (a - c) * (a - c)));
347 }
348 else if (fabs(c) < SUSYLEPS) {
349
350 return ( (-a + b + b * log(a) - b * log(b)) / (4. * (a - b) * (a - b)));
351 }
352
353 return ( a*(-2.*b*c + a*(b + c))/4./(a - b)/(a - b)/(a - c)/(a - c)*log(a)
354 + b*b/4./(a - b)/(a - b)/(c - b)*log(b) - c*c/4./(a - c)/(a - c)/
355 (c - b)*log(c) + a/4./(a - b)/(c - a) );
356 }
357 else {
358
359 throw std::runtime_error("Error in DL(a,b,c,k) in SUSYMatching.cpp ");
360 }
361
362 return (EXIT_FAILURE);
363}

◆ DL0()

double SUSYMatching::DL0 ( double  a,
double  b,
double  c,
int  k 
)
private

Definition at line 300 of file SUSYMatching.cpp.

300 {
301
302 if (k == 2) {
303 return ( (a * (-b + c) * log(a) + b * (a - c) * log(b)
304 + (-a + b) * c * log(c)) / (4. * (a - b)*(-a + c)*(-b + c)));
305 }
306 else if (k == 0) {
307
308 return (((-b + c) * log(a) + (a - c) * log(b) + (-a + b) * log(c)) /
309 ((a - b)*(-a + c)*(-b + c)));
310 }
311 else {
312
313 throw std::runtime_error("Error in DL0(a,b,c,k) in SUSYMatching.cpp ");
314 }
315
316 return (EXIT_FAILURE);
317}

◆ DLL()

double SUSYMatching::DLL ( double  a,
double  b,
int  k 
)
private

Definition at line 365 of file SUSYMatching.cpp.

365 {
366 if (k == 0) {
367
368 if (fabs(a) < SUSYLEPS) {
369
370 throw std::runtime_error("Error in DLL(a,b,k = 0) in SUSYMatching.cpp because the limit DLL(0,b, k = 0) is singular");
371 }
372
373 if (fabs(b) < SUSYLEPS) {
374 return (1. / (2. * a * a));
375 }
376 else
377 return ( -(-a * a + b * b + 2 * a * b * log(a) - 2 * a * b * log(b)) / // sign mistake found
378 (2. * a * (a - b) * (a - b) * (a - b)));
379 }
380 else if (k == 2) {
381
382 if (fabs(a) < SUSYLEPS) {
383
384 throw std::runtime_error("Error in DLL(a,b,k = 2) in SUSYMatching.cpp because the limit DLL(0,b, k = 2) is singular");
385 }
386
387 if (fabs(b) < SUSYLEPS) {
388
389 return ( -1. / (8. * a));
390 }
391 else
392 return (a * a - 4 * a * b + 3 * b * b + 2 * b * b * log(a)
393 - 2 * b * b * log(b)) / (8. * (-a + b) * (-a + b) * (-a + b));
394 }
395 else {
396
397 throw std::runtime_error("Error in DLL(a,b,k) in SUSYMatching.cpp ");
398 }
399
400 return (EXIT_FAILURE);
401}

◆ DLLL()

double SUSYMatching::DLLL ( double  a,
int  k 
)
private

Definition at line 451 of file SUSYMatching.cpp.

451 {
452 if (k == 0) {
453 return (1. / (6. * a * a));
454 }
455 else if (k == 2) {
456 return (-1. / (12. * a));
457 }
458 else {
459
460 throw std::runtime_error("Error in DLLL(a,k) in SUSYMatching.cpp ");
461 }
462
463 return (EXIT_FAILURE);
464}

◆ DLLp()

double SUSYMatching::DLLp ( double  a,
double  b,
int  k 
)
private

Definition at line 403 of file SUSYMatching.cpp.

403 {
404 if (k == 0) {
405
406 if ( (fabs(a) < SUSYLEPS) || (fabs(b) < SUSYLEPS) ) {
407
408 std::cout << "MChargini = " << mySUSY.getMch() << std::endl;
409 std::cout << "MNeutralini = " << mySUSY.getMneu() << std::endl;
410 std::cout << "MD2squarks = " << mySUSY.getMsd2() << std::endl;
411 std::cout << "MU2squarks = " << mySUSY.getMsu2() << std::endl;
412 std::cout << "Mgluino = " << mySUSY.getM3() << std::endl;
413 std::cout << "MHp = " << mySUSY.getMHp() << std::endl;
414 std::cout << "Mw_tree = " << mySUSY.Mw_tree() << std::endl;
415 std::cout << "Mup(Q_S) = " << mySUSYMQ(0) << std::endl;
416 std::cout << "Mdown(Q_S) = " << mySUSYMQ(1) << std::endl;
417 std::cout << "Mc(Q_S) = " << mySUSYMQ(2) << std::endl;
418 std::cout << "Ms(Q_S) = " << mySUSYMQ(3) << std::endl;
419 std::cout << "Mtop(Q_S) = " << mySUSYMQ(4) << std::endl;
420 std::cout << "Mb(Q_S) = " << mySUSYMQ(5) << std::endl;
421
422
423 throw std::runtime_error("Error in DLLp function, because the limits D0(0,0,b,b) and D0(a,a,0,0) are singular ");
424 }
425 return (-2 * a + 2 * b + (a + b) * log(a) - (a + b) * log(b))
426 / ((a - b)*(a - b)*(a - b));
427 }
428 else if (k == 2) {
429
430 if ( fabs(a) < SUSYLEPS ){
431
432 return (-1. / (4. * b ));
433 }
434 else if ( fabs(b) < SUSYLEPS ){
435
436 return ( -1. / (4. * a) );
437 }
438
439 return (-a * a + b * b + 2 * a * b * log(a) - 2 * a * b * log(b))
440 / (4. * (a - b)*(a - b)*(a - b));
441 }
442 else {
443
444 throw std::runtime_error("Error in DLLp(a,b,k) in SUSYMatching.cpp ");
445 }
446
447 return (EXIT_FAILURE);
448
449}
gslpp::vector< double > getMneu() const
Gets the neutralino masses.
Definition: SUSY.h:316
gslpp::vector< double > getMch() const
Gets the chargino masses.
Definition: SUSY.h:285
const double getM3() const
Gets the gluino mass.
Definition: SUSY.h:149

◆ Eps_J()

gslpp::complex SUSYMatching::Eps_J ( int  J)
private

Definition at line 771 of file SUSYMatching.cpp.

771 {
772
773 return (Eps_JCache(J));
774
775}

◆ EpsPrime()

gslpp::complex SUSYMatching::EpsPrime ( int  J,
int  I 
)
private

Definition at line 3375 of file SUSYMatching.cpp.

3375 {
3376
3377 gslpp::matrix<gslpp::complex> myCKM(3, 3, 0.);
3378 myCKM = mySUSY_CKM();
3379 gslpp::complex YuJ(0., 0., false);
3380
3381 YuJ = sqrt(2.) / v2 * mySUSYMQ(2 * J);
3382
3383
3384 return (-DeltaFHL(J,I) / (tanb * myCKM(J,I) * YuJ));
3385}

◆ F3C()

double SUSYMatching::F3C ( double  x)
private

Definition at line 6872 of file SUSYMatching.cpp.

6872 {
6873
6874 double r=0;
6875 if (std::fabs(x-1.) < 0.005)
6876 {
6877 r=1. + (1059.*(x-1.))/1175.;
6878 }
6879 else
6880 {
6881 r=(1. - x) * (151. * x*x - 335. * x + 592.)
6882 + 6. * (21. * x*x*x - 108. * x*x - 93. * x + 50.) * log(x)
6883 - 54. * x * (x*x - 2. * x - 2.) * pow(log(x),2)
6884 - 108. * x * (x*x - 2. * x + 12.) * Polylogs.Li2(1.- x).real() ;
6885 r*=4./(141.*pow(1. - x,4));
6886 }
6887 return r;
6888}
gslpp::complex Li2(const double x) const
The dilogarithm with a real argument, .

◆ F3N()

double SUSYMatching::F3N ( double  x)
private

Definition at line 6907 of file SUSYMatching.cpp.

6907 {
6908
6909 double r=0;
6910 if (std::fabs(x-1.) < 0.005)
6911 {
6912 r=1. + (76.*(x-1.))/875.;
6913 }
6914 else
6915 {
6916 r=(1-x)*(-97.*x*x-529.*x+2.)+6.*x*x*(13.*x+81.)*log(x)
6917 +108.*x*(7.*x+4.)*Polylogs.Li2(1.-x).real();
6918 r=r*4./(105.*pow(1-x,4));
6919 }
6920 return r;
6921}

◆ F4C()

double SUSYMatching::F4C ( double  x)
private

Definition at line 6890 of file SUSYMatching.cpp.

6890 {
6891
6892 double r=0;
6893 if (std::fabs(x-1.) < 0.005)
6894 {
6895 r=1. - (45.*(x-1.))/122.;
6896 }
6897 else
6898 {
6899 r=8.*(x*x-3.*x+2.)+(11.*x*x-40.*x+5.)*log(x)
6900 -2.*(x*x-2.*x-2.)*log(x)*log(x)
6901 -4.*(x*x-2.*x+9.)*Polylogs.Li2(1.-x).real();
6902 r=r*(-9.)/(122.*pow(1-x,3));
6903 }
6904 return r;
6905}

◆ F4N()

double SUSYMatching::F4N ( double  x)
private

Definition at line 6923 of file SUSYMatching.cpp.

6923 {
6924
6925 double r=0;
6926 if (std::fabs(x-1.) < 0.005)
6927 {
6928 r=1. - (111.*(x-1.)*(x-1.))/800.;
6929 }
6930 else
6931 {
6932 r=(x+3.)*(x*log(x)+x-1.0)+(6.*x+2.)*Polylogs.Li2(1.-x).real();
6933 r=r*(-9.)/(4.*pow(1-x,3));
6934 }
6935 return r;
6936}

◆ F7k()

double SUSYMatching::F7k ( double  x,
int  k 
)
private

Definition at line 3386 of file SUSYMatching.cpp.

3386 {
3387
3388 if (k == 1) {
3389
3390 if (fabs(x - 1.) < SUSYLEPS) return (-5. / 48.);
3391
3392 return ((x * (7 - 5 * x - 8 * x * x)) / (24. * (-1 + x)*(-1 + x)*(-1 + x)) +
3393 x * x * (-2 + 3 * x) * log(x) / (4. * (-1 + x)*(-1 + x)*(-1 + x)*(-1 + x)));
3394
3395 }
3396 else if (k == 2) {
3397
3398 if (fabs(x - 1.) < SUSYLEPS) return (-7. / 36.);
3399
3400 return (((3 - 5 * x) * x) / (12. * (-1 + x)*(-1 + x)) +
3401 (x * (-2 + 3 * x) * log(x)) / (6. * (-1 + x)*(-1 + x)*(-1 + x)));
3402
3403 }
3404 else throw std::runtime_error("Error in F7k ");
3405
3406}

◆ Fa()

double SUSYMatching::Fa ( double  x,
double  y 
)
private

Definition at line 6938 of file SUSYMatching.cpp.

6938 {
6939
6940 double r=0;
6941 if (std::fabs(x-y) < 0.005)
6942 {
6943 if (std::fabs(y-1.) < 0.005)
6944 {
6945 r=(49. - 22.*x - 22.*y + 10.*x*y)/60.;
6946 }
6947 else
6948 {
6949 r=(2. + 3.*x - 6.*x*x + x*x*x + 6.*x*log(x))/(4.*pow(x-1.,4)*x)
6950 +(2. + 3.*y - 6.*y*y + y*y*y + 6.*y*log(y))/(4.*pow(y-1.,4)*y);
6951 }
6952 }
6953 else
6954 {
6955 if (std::fabs(x-1.) < 0.005)
6956 {
6957 r=((x-1.)*(-25. + 48.*y - 36.*y*y + 16.*y*y*y - 3.*y*y*y*y - 12.*log(y)))/(12.*pow(y-1.,5))
6958 + (-11. + 18.*y - 9.*y*y + 2.*y*y*y - 6.*log(y))/(6.*pow(y-1.,4));
6959 }
6960 else if (std::fabs(y-1.) < 0.005)
6961 {
6962 r=((y-1.)*(-25. + 48.*x - 36.*x*x + 16.*x*x*x - 3.*x*x*x*x - 12.*log(x)))/(12.*pow(x-1.,5))
6963 + (-11. + 18.*x - 9.*x*x + 2.*x*x*x - 6.*log(x))/(6.*pow(x-1.,4));
6964 }
6965 else
6966 {
6967 double G3x, G3y;
6968 G3x=(1./(2.*pow(x-1,3))) *( (x-1)*(x-3)+2.*log(x) );
6969 G3y=(1./(2.*pow(y-1,3))) *( (y-1)*(y-3)+2.*log(y) );
6970 r=-(G3x-G3y)/(x-y);
6971 }
6972 }
6973 return r;
6974}

◆ Fb()

double SUSYMatching::Fb ( double  x,
double  y 
)
private

Definition at line 6976 of file SUSYMatching.cpp.

6976 {
6977
6978 double r=0;
6979 if (std::fabs(x-y) < 0.005)
6980 {
6981 if (std::fabs(y-1.) < 0.005)
6982 {
6983 r=(13. - 5.*x - 5.*y + 2.*x*y)/60.;
6984 }
6985 else
6986 {
6987 r=((2. + 3.*x - 6.*x*x + x*x*x + 6.*x*log(x))/pow(x-1.,4)
6988 + (2. + 3.*y - 6.*y*y + y*y*y + 6.*y*log(y))/pow(y-1.,4))/12.;
6989 }
6990 }
6991 else
6992 {
6993 if (std::fabs(x-1.) < 0.005)
6994 {
6995 r=(2. + 3.*y - 6.*y*y + y*y*y + 6.*y*log(y))/(6.*pow(y-1.,4))
6996 + ((x-1.)*(3. + 10.*y - 18.*y*y + 6.*y*y*y - y*y*y*y + 12.*y*log(y)))/(12.*pow(y-1.,5));
6997 }
6998 else if (std::fabs(y-1.) < 0.005)
6999 {
7000 r=(2. + 3.*x - 6.*x*x + x*x*x + 6.*x*log(x))/(6.*pow(x-1.,4))
7001 + ((y-1.)*(3. + 10.*x - 18.*x*x + 6.*x*x*x - x*x*x*x + 12.*x*log(x)))/(12.*pow(x-1.,5));
7002 }
7003 else
7004 {
7005 double G4x, G4y;
7006 G4x=(1./(2.*pow(x-1,3))) *( (x-1)*(x+1) -2.*x*log(x) );
7007 G4y=(1./(2.*pow(y-1,3))) *( (y-1)*(y+1) -2.*y*log(y) );
7008 r=-(G4x-G4y)/(x-y);
7009 }
7010 }
7011 return r;
7012}

◆ fft()

double SUSYMatching::fft ( double  x)
private

Definition at line 6778 of file SUSYMatching.cpp.

6778 {
6779
6780 double r=0;
6781 r=x*(2.+log(x)-fPS(x))/2.0;
6782 return r;
6783}
double fPS(double x)

◆ FFunctions()

gslpp::vector< gslpp::complex > SUSYMatching::FFunctions ( int  n)
virtual

Calculates Z penguin amplitudes for the process \( \ell_j \to \ell_i \ell_i \ell_i \) from [Hisano:1995cp] [Arganda:2005ji].

Parameters
[in]ndetermines the process, e.g., 1 = \( \mu \to eee \), 2 = \( \tau \to \mu \mu \mu \), 3 = \( \tau \to eee \)
Returns
returns the vector of Z penguin amplitude

Definition at line 6357 of file SUSYMatching.cpp.

6357 {
6358 //Z penguin contributions
6359
6361
6362 double MZ = mySUSY.getMz();
6363 double MW = mySUSY.Mw_tree();
6364 double pi = M_PI;
6365 double piconst = 1.0/(32.0 * pi * pi);
6366 double sw2 = mySUSY.StandardModel::sW2(MW);
6367 double stw = sqrt(sw2);
6368 double ctw = sqrt(1.0 - sw2);
6369 double ttw = stw/ctw;
6373
6374 double cdenc = sqrt(2.0)*MW*cosb;
6375 double cdenn = MW*cosb;
6376 double g2 = gW;
6377 double g2t = g2/sqrt(2.0);
6378
6379 gslpp::vector<gslpp::complex> FFunctions(4, 0.);
6380// Note: Here contributions proportional to the Yukawa couplings are set to
6381// zero. In particular this leads to Right Chargino Contributions to be zero.
6382
6383 // Neutralino-Fermion-Sfermion couplings
6384 for (int a=0;a<4;a++) {
6385 for (int x=0;x<6;x++) {
6386 // LL + RL TYPE MI
6387 NRlE.assign(a, x, - (g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 0) + (mE/cdenn)*ON(a, 2)*myRl(x, 3)));
6388 NRlMU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 1) + (mMU/cdenn)*ON(a, 2)*myRl(x, 4)));
6389 NRlTAU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 2) + (mTAU/cdenn)*ON(a, 2)*myRl(x, 5)));
6390 // RL + RR TYPE MI
6391 NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2)*myRl(x, 0) + 2.0*ON(a, 0)*ttw*myRl(x, 3)));
6392 NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2)*myRl(x, 1) + 2.0*ON(a, 0)*ttw*myRl(x, 4)));
6393 NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2)*myRl(x, 2) + 2.0*ON(a, 0)*ttw*myRl(x, 5)));
6394// Commented expressions might be useful for complex neutralino mixing matrices
6395// NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2).conjugate()*myRl(x, 0) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 3)));
6396// NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2).conjugate()*myRl(x, 1) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 4)));
6397// NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2).conjugate()*myRl(x, 2) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 5)));
6398 }
6399 }
6400
6401 // Chargino-Fermion-Sfermion couplings
6402 for (int a=0;a<2;a++) {
6403 for (int x=0;x<3;x++) {
6404 // LL-TYPE
6405 CRlE.assign(a, x, - (g2*myV(a, 0)*myRn(x, 0)));
6406 CRlMU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 1)));
6407 CRlTAU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 2)));
6408 // LR-TYPE
6409 CLlE.assign(a, x, g2*mE/cdenc*myU(a, 1).conjugate()*myRn(x, 0));
6410 CLlMU.assign(a, x, g2*mMU/cdenc*myU(a, 1).conjugate()*myRn(x, 1));
6411 CLlTAU.assign(a, x, g2*mTAU/cdenc*myU(a, 1).conjugate()*myRn(x, 2));
6412 }
6413 }
6414
6415// Neutralino contributions
6416
6417 for (int a=0;a<4;a++) {
6418 for (int x=0;x<6;x++) {
6419 Lepty.assign(a, x, ( MNeig(a) * MNeig(a) ) / mym_se_sq(x) );
6420 }
6421 }
6422
6423 for (int x=0;x<6;x++) {
6424 for (int a=0;a<4;a++) {
6425 for (int b=0;b<4;b++) {
6426 if (a != b && std::fabs(Lepty(a,x)-Lepty(b,x)) > 0.01 && std::fabs(1.0-Lepty(a,x)) > 0.01 && std::fabs(1.0-Lepty(b,x)) > 0.01) {
6427 Leptfzn[x][a][b] = log(Lepty(a,x)) + 1.0/(Lepty(a,x)-Lepty(b,x))*
6428 ( (Lepty(a,x)*Lepty(a,x)*log(Lepty(a,x)))/(1.0-Lepty(a,x)) - (Lepty(b,x)*Lepty(b,x)*log(Lepty(b,x)))/(1.0-Lepty(b,x)) );
6429 Leptgzn[x][a][b] = (MNeig(a)*MNeig(b)/mym_se_sq(x))/(Lepty(a,x)-Lepty(b,x))*
6430 ( (Lepty(a,x)*log(Lepty(a,x)))/(1.0-Lepty(a,x)) - (Lepty(b,x)*log(Lepty(b,x)))/(1.0-Lepty(b,x)) );
6431 }
6432 else if (a != b && std::fabs(Lepty(a,x)-Lepty(b,x)) > 0.01 && std::fabs(1.0-Lepty(a,x)) > 0.01 && std::fabs(1.0-Lepty(b,x)) <= 0.01) {
6433 Leptfzn[x][a][b] = (-2.0*log(Lepty(a,x))*Lepty(a,x)+log(Lepty(a,x))+Lepty(a,x)-1.0)/(Lepty(a,x)-1.0)/(Lepty(a,x)-1.0);
6434 Leptgzn[x][a][b] = -(MNeig(a)*MNeig(b)/mym_se_sq(x))*(log(Lepty(a,x))*Lepty(a,x)-Lepty(a,x)+1.0)/(Lepty(a,x)-1.0)/(Lepty(a,x)-1.0);
6435 }
6436 else if (a != b && std::fabs(Lepty(a,x)-Lepty(b,x)) > 0.01 && std::fabs(1.0-Lepty(b,x)) > 0.01 && std::fabs(1.0-Lepty(a,x)) <= 0.01) {
6437 Leptfzn[x][a][b] = (-log(Lepty(b,x))*Lepty(b,x)*Lepty(b,x)+Lepty(b,x)-1.0)/(Lepty(b,x)-1.0)/(Lepty(b,x)-1.0);
6438 Leptgzn[x][a][b] = -(MNeig(a)*MNeig(b)/mym_se_sq(x))*(log(Lepty(b,x))*Lepty(b,x)-Lepty(b,x)+1.0)/(Lepty(b,x)-1.0)/(Lepty(b,x)-1.0);
6439 }
6440 else if ((a == b || std::fabs(Lepty(a,x)-Lepty(b,x)) <= 0.01) && std::fabs(1.0-Lepty(a,x)) > 0.01 && std::fabs(1.0-Lepty(b,x)) > 0.01) {
6441 Leptfzn[x][a][b] = (-Lepty(a,x)*Lepty(a,x)+Lepty(a,x)+log(Lepty(a,x)))/(Lepty(a,x)-1.0)/(Lepty(a,x)-1.0);
6442 Leptgzn[x][a][b] = (MNeig(b)*MNeig(b)/mym_se_sq(x))*(-Lepty(a,x)+log(Lepty(a,x))+1.0)/(Lepty(a,x)-1.0)/(Lepty(a,x)-1.0);
6443 }
6444 else {
6445 Leptfzn[x][a][b] = -3.0/2.0-(Lepty(a,x)-1.0)/3.0;
6446 Leptgzn[x][a][b] = -MNeig(a)*MNeig(b)/(2.0*mym_se_sq(x));
6447 }
6448 }
6449 }
6450 }
6451
6452// Chargino contributions
6453 for (int a=0;a<2;a++) {
6454 for (int x=0;x<3;x++) {
6455 Leptz.assign(a, x, MChi(a)*MChi(a)/mym_sn_sq(x) );
6456 }
6457 }
6458
6459 for (int x=0;x<3;x++) {
6460 for (int a=0;a<2;a++) {
6461 for (int b=0;b<2;b++) {
6462 if (a != b && std::fabs(Leptz(a,x)-Leptz(b,x)) > 0.01 && std::fabs(1.0-Leptz(a,x)) > 0.01 && std::fabs(1.0-Leptz(b,x)) > 0.01) {
6463 Leptfzc[x][a][b] = log(Leptz(a,x)) + 1.0/(Leptz(a,x)-Leptz(b,x))*
6464 ( (Leptz(a,x)*Leptz(a,x)*log(Leptz(a,x)))/(1.0-Leptz(a,x)) - (Leptz(b,x)*Leptz(b,x)*log(Leptz(b,x)))/(1.0-Leptz(b,x)) );
6465 Leptgzc[x][a][b] = (MChi(a)*MChi(b)/mym_sn_sq(x))/(Leptz(a,x)-Leptz(b,x))*
6466 ( (Leptz(a,x)*log(Leptz(a,x)))/(1.0-Leptz(a,x)) - (Leptz(b,x)*log(Leptz(b,x)))/(1.0-Leptz(b,x)) );
6467 }
6468 else if (a != b && std::fabs(Leptz(a,x)-Leptz(b,x)) > 0.01 && std::fabs(1.0-Leptz(a,x)) > 0.01 && std::fabs(1.0-Leptz(b,x)) <= 0.01) {
6469 Leptfzc[x][a][b] = (-2.0*log(Leptz(a,x))*Leptz(a,x)+Leptz(a,x)+log(Leptz(a,x))-1.0)/(Leptz(a,x)-1.0)/(Leptz(a,x)-1.0);
6470 Leptgzc[x][a][b] = -(MChi(a)*MChi(b)/mym_sn_sq(x))*(log(Leptz(a,x))*Leptz(a,x)-Leptz(a,x)+1.0)/(Leptz(a,x)-1.0)/(Leptz(a,x)-1.0);
6471 }
6472 else if (a != b && std::fabs(Leptz(a,x)-Leptz(b,x)) > 0.01 && std::fabs(1.0-Leptz(b,x)) > 0.01 && std::fabs(1.0-Leptz(a,x)) <= 0.01) {
6473 Leptfzc[x][a][b] = (-log(Leptz(b,x))*Leptz(b,x)*Leptz(b,x)+Leptz(b,x)-1.0)/(Leptz(b,x)-1.0)/(Leptz(b,x)-1.0);
6474 Leptgzc[x][a][b] = -(MChi(a)*MChi(b)/mym_sn_sq(x))*(log(Leptz(b,x))*Leptz(b,x)-Leptz(b,x)+1.0)/(Leptz(b,x)-1.0)/(Leptz(b,x)-1.0);
6475 }
6476 else if ((a == b || std::fabs(Leptz(a,x)-Leptz(b,x)) <= 0.01) && std::fabs(1.0-Leptz(a,x)) > 0.01 && std::fabs(1.0-Leptz(b,x)) > 0.01) {
6477 Leptfzc[x][a][b] = (-Leptz(a,x)*Leptz(a,x)+Leptz(a,x)+log(Leptz(a,x)))/(Leptz(a,x)-1.0)/(Leptz(a,x)-1.0);
6478 Leptgzc[x][a][b] = (MChi(b)*MChi(b)/mym_sn_sq(x))*((-Leptz(a,x)+log(Leptz(a,x))+1.0))/(Leptz(a,x)-1.0)/(Leptz(a,x)-1.0);
6479 }
6480 else {
6481 Leptfzc[x][a][b] = -3.0/2.0-(Leptz(a,x)-1.0)/3.0;
6482 Leptgzc[x][a][b] = -MChi(a)*MChi(b)/(2.0*mym_sn_sq(x));
6483 }
6484 }
6485 }
6486 }
6487
6488 if (li_to_lj == 1) // mu -> 3e
6489 {
6490 // Neutralino contributions
6491 gslpp::complex ZpengMuEEENR = 0.0;
6492 gslpp::complex ZpengMuEEENL = 0.0;
6493 for (int x=0;x<6;x++) {
6494 for (int a=0;a<4;a++) {
6495 for (int b=0;b<4;b++) {
6496 ZpengMuEEENR = ZpengMuEEENR - NLlE(a,x)*NLlMU(b,x)*piconst*
6497 (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
6498 ZpengMuEEENL = ZpengMuEEENL + NRlE(a,x)*NRlMU(b,x)*piconst*
6499 (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
6500 }
6501 }
6502 }
6503 // Chargino contributions
6504 gslpp::complex ZpengMuEEEC = 0.0;
6505 for (int x=0;x<3;x++) {
6506 for (int a=0;a<2;a++) {
6507 for (int b=0;b<2;b++) {
6508 ZpengMuEEEC = ZpengMuEEEC + CRlE(a,x)*CRlMU(b,x)*piconst*
6509 (myU(a,1)*myU(b,1)*gslpp::complex(std::real(Leptgzc[x][a][b]),std::imag(Leptgzc[x][a][b]))
6510 -myV(a,1)*myV(b,1)*gslpp::complex(std::real(Leptfzc[x][a][b]),std::imag(Leptfzc[x][a][b]))/2.0);
6511 }
6512 }
6513 }
6514 // write FRR, FRL, FLR and FLL into a vector for mu->3e
6515 FFunctions.assign(0, ZpengMuEEENR/(MZ*MZ*ctw*ctw) ); //FRR
6516 FFunctions.assign(1, ZpengMuEEENR*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FRL
6517 FFunctions.assign(2, (ZpengMuEEENL + ZpengMuEEEC)/(MZ*MZ*ctw*ctw) ); //FLR
6518 FFunctions.assign(3, (ZpengMuEEENL + ZpengMuEEEC)*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FLL
6519 }
6520 if (li_to_lj == 2) // tau -> 3mu
6521 {
6522 // Neutralino contributions
6523 gslpp::complex ZpengTauMuMuMuNR = 0.0;
6524 gslpp::complex ZpengTauMuMuMuNL = 0.0;
6525 for (int x=0;x<6;x++) {
6526 for (int a=0;a<4;a++) {
6527 for (int b=0;b<4;b++) {
6528 ZpengTauMuMuMuNR = ZpengTauMuMuMuNR - NLlMU(a,x)*NLlTAU(b,x)*piconst*
6529 (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
6530 ZpengTauMuMuMuNL = ZpengTauMuMuMuNL + NRlMU(a,x)*NRlTAU(b,x)*piconst*
6531 (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
6532 }
6533 }
6534 }
6535 // Chargino contributions
6536 gslpp::complex ZpengTauMuMuMuC = 0.0;
6537 for (int x=0;x<3;x++) {
6538 for (int a=0;a<2;a++) {
6539 for (int b=0;b<2;b++) {
6540 ZpengTauMuMuMuC = ZpengTauMuMuMuC + CRlMU(a,x)*CRlTAU(b,x)*piconst*
6541 (myU(a,1)*myU(b,1)*gslpp::complex(std::real(Leptgzc[x][a][b]),std::imag(Leptgzc[x][a][b]))
6542 -myV(a,1)*myV(b,1)*gslpp::complex(std::real(Leptfzc[x][a][b]),std::imag(Leptfzc[x][a][b]))/2.0);
6543 }
6544 }
6545 }
6546 // write FRR, FRL, FLR and FLL into a vector for tau->3mu
6547 FFunctions.assign(0, ZpengTauMuMuMuNR/(MZ*MZ*ctw*ctw) ); //FRR
6548 FFunctions.assign(1, ZpengTauMuMuMuNR*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FRL
6549 FFunctions.assign(2, (ZpengTauMuMuMuNL + ZpengTauMuMuMuC)/(MZ*MZ*ctw*ctw) ); //FLR
6550 FFunctions.assign(3, (ZpengTauMuMuMuNL + ZpengTauMuMuMuC)*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FLL
6551 }
6552 if (li_to_lj == 3) // tau -> 3e
6553 {
6554 // Neutralino contributions
6555 gslpp::complex ZpengTauEEENR = 0.0;
6556 gslpp::complex ZpengTauEEENL = 0.0;
6557 for (int x=0;x<6;x++) {
6558 for (int a=0;a<4;a++) {
6559 for (int b=0;b<4;b++) {
6560 ZpengTauEEENR = ZpengTauEEENR - NLlE(a,x)*NLlTAU(b,x)*piconst*
6561 (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
6562 ZpengTauEEENL = ZpengTauEEENL + NRlE(a,x)*NRlTAU(b,x)*piconst*
6563 (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
6564 }
6565 }
6566 }
6567 // Chargino contributions
6568 gslpp::complex ZpengTauEEEC = 0.0;
6569 for (int x=0;x<3;x++) {
6570 for (int a=0;a<2;a++) {
6571 for (int b=0;b<2;b++) {
6572 ZpengTauEEEC = ZpengTauEEEC + CRlE(a,x)*CRlTAU(b,x)*piconst*
6573 (myU(a,1)*myU(b,1)*gslpp::complex(std::real(Leptgzc[x][a][b]),std::imag(Leptgzc[x][a][b]))
6574 -myV(a,1)*myV(b,1)*gslpp::complex(std::real(Leptfzc[x][a][b]),std::imag(Leptfzc[x][a][b]))/2.0);
6575 }
6576 }
6577 }
6578 // write FRR, FRL, FLR and FLL into a vector for tau->3e
6579 FFunctions.assign(0, ZpengTauEEENR/(MZ*MZ*ctw*ctw) ); //FRR
6580 FFunctions.assign(1, ZpengTauEEENR*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FRL
6581 FFunctions.assign(2, (ZpengTauEEENL + ZpengTauEEEC)/(MZ*MZ*ctw*ctw) ); //FLR
6582 FFunctions.assign(3, (ZpengTauEEENL + ZpengTauEEEC)*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FLL
6583 }
6584 if (li_to_lj == 4) // tau -> muee
6585 {
6586 // Neutralino contributions
6587 gslpp::complex ZpengTauMuEENR = 0.0;
6588 gslpp::complex ZpengTauMuEENL = 0.0;
6589 for (int x=0;x<6;x++) {
6590 for (int a=0;a<4;a++) {
6591 for (int b=0;b<4;b++) {
6592 ZpengTauMuEENR = ZpengTauMuEENR - NLlMU(a,x)*NLlTAU(b,x)*piconst*
6593 (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
6594 ZpengTauMuEENL = ZpengTauMuEENL + NRlMU(a,x)*NRlTAU(b,x)*piconst*
6595 (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
6596 }
6597 }
6598 }
6599 // Chargino contributions
6600 gslpp::complex ZpengTauMuEEC = 0.0;
6601 for (int x=0;x<3;x++) {
6602 for (int a=0;a<2;a++) {
6603 for (int b=0;b<2;b++) {
6604 ZpengTauMuEEC = ZpengTauMuEEC + CRlMU(a,x)*CRlTAU(b,x)*piconst*
6605 (myU(a,1)*myU(b,1)*gslpp::complex(std::real(Leptgzc[x][a][b]),std::imag(Leptgzc[x][a][b]))
6606 -myV(a,1)*myV(b,1)*gslpp::complex(std::real(Leptfzc[x][a][b]),std::imag(Leptfzc[x][a][b]))/2.0);
6607 }
6608 }
6609 }
6610 // write FRR, FRL, FLR and FLL into a vector for tau->muee
6611 FFunctions.assign(0, ZpengTauMuEENR/(MZ*MZ*ctw*ctw) ); //FRR
6612 FFunctions.assign(1, ZpengTauMuEENR*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FRL
6613 FFunctions.assign(2, (ZpengTauMuEENL + ZpengTauMuEEC)/(MZ*MZ*ctw*ctw) ); //FLR
6614 FFunctions.assign(3, (ZpengTauMuEENL + ZpengTauMuEEC)*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FLL
6615 }
6616
6617 return(FFunctions);
6618}
std::complex< double > Leptfzc[3][2][2]
Definition: SUSYMatching.h:381
std::complex< double > Leptgzc[3][2][2]
Definition: SUSYMatching.h:381
std::complex< double > Leptgzn[6][4][4]
Definition: SUSYMatching.h:381
std::complex< double > Leptfzn[6][4][4]
Definition: SUSYMatching.h:381

◆ fPS()

double SUSYMatching::fPS ( double  x)
private

NLO g-2 auxiliary functions

Definition at line 6751 of file SUSYMatching.cpp.

6751 {
6752
6753 __fPS_params params;
6754 params.a=x;
6755
6756 double result;
6757 gsl_integration_glfixed_table * w
6758 = gsl_integration_glfixed_table_alloc(100);
6759 gsl_function F;
6760
6761 F.function = &__fPS_integ;
6762 F.params = reinterpret_cast<void *>(&params);
6763
6764 result = gsl_integration_glfixed (&F, 0, 1, w);
6765
6766 gsl_integration_glfixed_table_free (w);
6767
6768 return result;
6769}
double __fPS_integ(double x, void *p)

◆ fS()

double SUSYMatching::fS ( double  x)
private

Definition at line 6771 of file SUSYMatching.cpp.

6771 {
6772
6773 double r=0;
6774 r=(2.*x-1.)*fPS(x)-2.*x*(2.+log(x));
6775 return r;
6776}

◆ gminus2mu()

gslpp::vector< gslpp::complex > SUSYMatching::gminus2mu ( )
virtual

Calculates amplitudes for \( (g-2)_{\mu} \) at one-loop from [Hisano:1995cp].

Returns
returns the vector of \( (g-2)_{\mu} \) amplitude

Definition at line 6620 of file SUSYMatching.cpp.

6620 {
6621
6623
6624 double MW = mySUSY.Mw_tree();
6625 double pi = M_PI;
6626 double piconst = 1.0/(32.0 * pi * pi);
6627 double sw2 = mySUSY.StandardModel::sW2(MW);
6628 double stw = sqrt(sw2);
6629 double ctw = sqrt(1.0 - sw2);
6630 double ttw = stw/ctw;
6632
6633 double cdenc = sqrt(2.0)*MW*cosb;
6634 double cdenn = MW*cosb;
6635 double g2 = gW;
6636 double g2t = g2/sqrt(2.0);
6637
6638 gslpp::vector<gslpp::complex> gminus2mu(2, 0.);
6639
6640 // Neutralino-Fermion-Sfermion couplings
6641 for (int a=0;a<4;a++) {
6642 for (int x=0;x<6;x++) {
6643 // LL + RL TYPE MI
6644 NRlMU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 1) + (mMU/cdenn)*ON(a, 2)*myRl(x, 4)));
6645 // RL + RR TYPE MI
6646 NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2)*myRl(x, 1) + 2.0*ON(a, 0)*ttw*myRl(x, 4)));
6647// Commented expressions might be useful for complex neutralino mixing matrices
6648// NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2).conjugate()*myRl(x, 1) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 4)));
6649 }
6650 }
6651
6652 // Chargino-Fermion-Sfermion couplings
6653 for (int a=0;a<2;a++) {
6654 for (int x=0;x<3;x++) {
6655 // LL-TYPE
6656 CRlMU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 1)));
6657 // LR-TYPE
6658 CLlMU.assign(a, x, g2*mMU/cdenc*myU(a, 1).conjugate()*myRn(x, 1));
6659 }
6660 }
6661
6662 for (int a=0;a<4;a++) {
6663 for (int x=0;x<6;x++) {
6664 Lepty.assign(a, x, MNeig(a) * MNeig(a) / mym_se_sq(x) );
6665 }
6666 }
6667
6668 for (int a=0;a<2;a++) {
6669 for (int x=0;x<3;x++) {
6670 Leptz.assign(a, x, MChi(a) * MChi(a) / mym_sn_sq(x) );
6671 }
6672 }
6673
6674 for (int a=0;a<4;a++) {
6675 for (int x=0;x<6;x++) {
6676 if (fabs(1.0 - Lepty(a, x)) > 0.01) {
6677 Leptf1.assign(a, x, ((1.0 - 6.0*Lepty(a, x) + 3.0 * pow(Lepty(a, x),2.0) +
6678 2.0*pow(Lepty(a, x),3.0) - 6.0*pow(Lepty(a,x),2.0)*log(Lepty(a, x))))/
6679 (6.0 * pow((1.0 - Lepty(a,x)),4.0)) );
6680 Leptf2.assign(a, x, (1.0 - pow(Lepty(a, x),2.0) + 2.0 * Lepty(a, x) * log(Lepty(a, x)))/
6681 (pow((1.0-Lepty(a, x)),3.0)));
6682 }
6683 else {
6684 Leptf1.assign(a, x, 1.0/12.0 - (Lepty(a, x) - 1.0)/30.0);
6685 Leptf2.assign(a, x, 1.0/3.0 - (Lepty(a, x) - 1.0)/6.0);
6686 }
6687 }
6688 }
6689
6690 for (int a=0;a<2;a++) {
6691 for (int x=0;x<3;x++) {
6692 if(fabs(1.0-Leptz(a, x)) > 0.01) {
6693 Leptf3.assign(a, x, ((2.0 + 3.0*Leptz(a, x) - 6.0*pow(Leptz(a, x),2.0)
6694 + pow(Leptz(a, x),3.0) + 6.0*Leptz(a, x)*log(Leptz(a, x)))/
6695 (6.0*pow((1.0 - Leptz(a, x)),4.0))) );
6696 Leptf4.assign(a, x, ((-3.0 + 4.0*Leptz(a, x) - pow(Leptz(a, x),2.0)
6697 - 2.0*log(Leptz(a, x)))/
6698 pow((1.0 - Leptz(a, x)),3.0)) );
6699 }
6700 else {
6701 Leptf3.assign(a, x, 1.0/12.0 - (Leptz(a, x) - 1.0)/20.0 );
6702 Leptf4.assign(a, x, 2.0/3.0 - (Leptz(a, x) - 1.0)/2.0 );
6703 }
6704 }
6705 }
6706
6707 // Neutralino contributions
6708 gslpp::complex g2ARN = 0.0;
6709 gslpp::complex g2ALN = 0.0;
6710 for (int a=0;a<4;a++) {
6711 for (int x=0;x<6;x++) {
6712 g2ARN = g2ARN -mMU*mMU*piconst*(4.0*NRlMU(a,x)*NRlMU(a,x).conjugate()*Leptf1(a,x)
6713 +2.0*NRlMU(a,x)*NLlMU(a,x).conjugate()*(MNeig(a)/mMU)*Leptf2(a,x))/mym_se_sq(x);
6714 g2ALN = g2ALN -mMU*mMU*piconst*(4.0*NLlMU(a,x)*NLlMU(a,x).conjugate()*Leptf1(a,x)
6715 +2.0*NLlMU(a,x)*NRlMU(a,x).conjugate()*(MNeig(a)/mMU)*Leptf2(a,x))/mym_se_sq(x);
6716 }
6717 }
6718
6719 // Chargino contributions
6720 gslpp::complex g2ARC = 0.0;
6721 gslpp::complex g2ALC = 0.0;
6722 for (int a=0;a<2;a++) {
6723 for (int x=0;x<3;x++) {
6724 g2ARC = g2ARC +mMU*mMU*piconst*(4.0*CRlMU(a,x)*CRlMU(a,x).conjugate()*Leptf3(a,x)
6725 +2.0*CRlMU(a,x)*CLlMU(a,x).conjugate()*(MChi(a)/mMU)*Leptf4(a,x))/mym_sn_sq(x);
6726 g2ALC = g2ALC +mMU*mMU*piconst*(4.0*CLlMU(a,x)*CLlMU(a,x).conjugate()*Leptf3(a,x)
6727 +2.0*CLlMU(a,x)*CRlMU(a,x).conjugate()*(MChi(a)/mMU)*Leptf4(a,x))/mym_sn_sq(x);
6728 }
6729 }
6730
6731 // write R and L contributions to the muon g-2 into a vector
6732 gminus2mu.assign(0, g2ARN + g2ARC ); //g-2_muR
6733 gminus2mu.assign(1, g2ALN + g2ALC ); //g-2_muL
6734
6735// std::cout<<"g2AN="<<g2ARN+g2ALN <<std::endl;
6736// std::cout<<"g2AC="<<g2ARC+g2ALC <<std::endl;
6737
6738 return(gminus2mu);
6739}

◆ gminus2muNLO()

double SUSYMatching::gminus2muNLO ( )
virtual

Calculates amplitudes for \( (g-2)_{\mu} \) at two-loop.

Returns
returns the vector of the two-loop contributions to the \( (g-2)_{\mu} \) amplitude

bino-higgsino-R-smuon

Definition at line 7014 of file SUSYMatching.cpp.

7014 {
7015
7017
7018 double pi = M_PI;
7019 double MZ = mySUSY.getMz();
7020// double g1atMZ = sqrt(4.0*pi*mySUSY.getAle());
7021// double g2atMZ = gW;
7022 double g1atMZ = 0.357456;
7023 double g2atMZ = 0.651721;
7024 double g3atMZ = sqrt(4.0*pi*mySUSY.getAlsMz());
7025 double mh = mySUSY.getMHl();
7026 double mhh = mySUSY.getMHh();
7027 double ma = mySUSY.getMHa();
7028 gslpp::complex sa = mySUSY.getSaeff();
7029 gslpp::complex ca = sqrt(1.0-sa*sa);
7030 gslpp::complex s2a = 2.0*ca*sa;
7031 gslpp::complex c2a = ca*ca-sa*sa;
7032 double vew = v/sqrt(2.);
7033// double mE = mySUSY.getLeptons(StandardModel::ELECTRON).getMass();
7036 double mt = mySUSY.getQuarks(mySUSY.TOP).getMass();
7037 double mb = mySUSY.getQuarks(mySUSY.BOTTOM).getMass();
7038 gslpp::complex M1 = mySUSY.getM1();
7039 gslpp::complex M2 = mySUSY.getM2();
7040
7041 gslpp::complex muH = mySUSY.getMuH();
7042 TUhat = mySUSY.getTUhat();
7043 TDhat = mySUSY.getTDhat();
7044 TEhat = mySUSY.getTEhat();
7045 gslpp::complex a3t = TUhat(2,2)*mySUSY.v2()/sqrt(2.0)/mt;
7046 gslpp::complex a3b = TDhat(2,2)*mySUSY.v1()/sqrt(2.0)/mb;
7047 gslpp::complex a3tau = TEhat(2,2)*mySUSY.v1()/sqrt(2.0)/mTAU;
7048
7049 gslpp::matrix<gslpp::complex> MsQhat2(3,3,0);
7050 gslpp::matrix<gslpp::complex> MsUhat2(3,3,0);
7051 gslpp::matrix<gslpp::complex> MsDhat2(3,3,0);
7052 gslpp::matrix<gslpp::complex> MsLhat2(3,3,0);
7053 gslpp::matrix<gslpp::complex> MsEhat2(3,3,0);
7054 MsQhat2 = mySUSY.getMsQhat2();
7055 MsUhat2 = mySUSY.getMsUhat2();
7056 MsDhat2 = mySUSY.getMsDhat2();
7057 MsLhat2 = mySUSY.getMsLhat2();
7058 MsEhat2 = mySUSY.getMsEhat2();
7059 double msq1L = MsQhat2(0,0).real();
7060 double msq2L = MsQhat2(1,1).real();
7061 double msq3L = MsQhat2(2,2).real();
7062 double msuR = MsUhat2(0,0).real();
7063 double mscR = MsUhat2(1,1).real();
7064 double mstR = MsUhat2(2,2).real();
7065 double msdR = MsDhat2(0,0).real();
7066 double mssR = MsDhat2(1,1).real();
7067 double msbR = MsDhat2(2,2).real();
7068 double mseL = MsLhat2(0,0).real();
7069 double msmuL = MsLhat2(1,1).real();
7070 double mstauL = MsLhat2(2,2).real();
7071 double mseR = MsEhat2(0,0).real();
7072 double msmuR = MsEhat2(1,1).real();
7073 double mstauR = MsEhat2(2,2).real();
7074
7075 int k;
7076 double b1[3];
7077 double gi[3];
7078 double g1, g2, g3;
7079 double res_g;
7080 b1[0]=41./6., b1[1]=-19./6., b1[2]=-7.;
7081 gi[0]=g1atMZ, gi[1]=g2atMZ, gi[2]=g3atMZ;
7082 for(k=0; k<3; k++){
7083 res_g=1./gi[k]/gi[k] -b1[k]/(8.*pi*pi)*log(sqrt(msmuL)/MZ);
7084 gi[k]=sqrt(1/res_g);
7085 }
7086 g1=gi[0], g2=gi[1], g3=gi[2];
7087
7088 double alp = (g1*g1*g2*g2/(g1*g1+g2*g2))/(4.0*pi);
7089// double s2b = 2.0*cosb*sinb;
7090 double c2b = cosb*cosb-sinb*sinb;
7091 double mzq = sqrt( 0.5*(g1*g1+g2*g2)*vew*vew );
7092 double mwq = sqrt( 0.5*(g2*g2)*vew*vew );
7093 double sw2 = g1*g1/(g1*g1+g2*g2);
7094 gslpp::complex lh1 = -sa/cosb;
7095 gslpp::complex lh2 = ca/cosb;
7096 double lA = tanb;
7097 double msneu2 = msmuL+0.5*mzq*mzq*c2b;
7098
7099 TEhat.assign(1,1, 0.);
7100// a3t = 0.;
7101// a3b = 0.;
7102// a3tau = 0.;
7103
7104
7105 gslpp::matrix<gslpp::complex> Rsmu(2,2,0.), Xm(2,2,0.);
7106 gslpp::vector<double> msmu2(2,0.);
7107 Rsmu.assign(0,0, msmuL+mmu*mmu+c2b*mzq*mzq*(-1.0/2.0+sw2) );
7108 Rsmu.assign(0,1, mySUSY.v1()/sqrt(2.0)*TEhat(1,1).conjugate()-muH*mmu*tanb);
7109 Rsmu.assign(1,0, mySUSY.v1()/sqrt(2.0)*TEhat(1,1)-muH.conjugate()*mmu*tanb);
7110 Rsmu.assign(1,1, msmuR+mmu*mmu-c2b*mzq*mzq*sw2);
7111 Rsmu.eigensystem(Xm,msmu2); //in the 1,2 basis now!
7112
7113 gslpp::vector<gslpp::complex> gminus2muvector=gminus2mu();
7114// std::cout<<"gminus2muvector"<<gminus2muvector<<std::endl;
7115// double gm21loop = (gminus2muvector(0)+gminus2muvector(1)).abs();
7116// std::cout<<"gm21loop="<<gm21loop<<std::endl;
7117
7118
7119 double gm21loop = 1.06978e-9;
7120 mh=125.;
7121 alp = 0.00729927;
7122 mt=173.34;
7123
7124
7125 double res,res1; //the two Barr-Zee contributions
7126 double gm2cor, res2, res3; //muon mass correction, photonic two-loop and corrected smuon-muon-chargino/neutralino couplings
7127 double res01, res02;
7128 double gminus2muNLO;
7129
7131 //two-loop corrections to SM one-loop diagrams
7133
7134 // Barr-Zee diagrams (photonic)
7135 // chargino-loop
7136 gslpp::vector<gslpp::complex> lxh1(2,0);
7137 gslpp::vector<gslpp::complex> lxh2(2,0);
7138 gslpp::vector<gslpp::complex> lxA(2,0);
7139
7140 double tmp1;
7141 for(int i=0; i<2; i++){
7142 tmp1=sqrt(2.0)*mwq/MChi(i);
7143 lxh1.assign(i, tmp1*( myU(i,0)*myV(i,1)*ca + myU(i,1)*myV(i,0)*(-sa) ) );
7144 lxh2.assign(i, tmp1*( myU(i,0)*myV(i,1)*sa + myU(i,1)*myV(i,0)*( ca) ) );
7145 lxA.assign(i, tmp1*( myU(i,0)*myV(i,1)*(-cosb) + myU(i,1)*myV(i,0)*(-sinb) ) );
7146 }
7147
7148 res=0;
7149 double xps, xh1, xh2;
7150 for(int i=0; i<2; i++){
7151 xps=MChi(i)*MChi(i)/(ma*ma);
7152 xh1=MChi(i)*MChi(i)/(mh*mh);
7153 xh2=MChi(i)*MChi(i)/(mhh*mhh);
7154
7155 res += (lA*lxA(i)).real()*fPS(xps) + (lh1*lxh1(i)).real()*fS(xh1)
7156 +(lh2*lxh2(i)).real()*fS(xh2);
7157 }
7158 res *= alp*alp * mmu*mmu / (8.*pi*pi*mwq*mwq*sw2);
7159
7160 // Barr-Zee diagrams (photonic)
7161 // sfermion-loop
7162 gslpp::matrix<gslpp::complex> stauM(2,2,0), sbottomM(2,2,0), stopM(2,2,0);
7163 gslpp::vector<double> mstau2(2,0), msbottom2(2,0), mstop2(2,0);
7164 gslpp::matrix<gslpp::complex> Ustau(2,2,0), Usbottom(2,2,0), Ustop(2,2,0);
7165
7166 stauM.assign(0,0, mstauL+mTAU*mTAU + mzq*mzq*c2b*(0.5-(-1.)*sw2) );
7167 stauM.assign(1,1, mstauR+mTAU*mTAU + mzq*mzq*c2b*(-1.)*sw2);
7168 stauM.assign(0,1, mTAU*(a3tau-muH*tanb));
7169 stauM.assign(1,0, mTAU*(a3tau-muH*tanb));
7170
7171 sbottomM.assign(0,0, msq3L+mb*mb + mzq*mzq*c2b*(0.5-(-1./3.)*sw2) );
7172 sbottomM.assign(1,1, msbR+mb*mb + mzq*mzq*c2b*(-1./3.)*sw2);
7173 sbottomM.assign(0,1, mb*(a3b-muH*tanb));
7174 sbottomM.assign(1,0, mb*(a3b-muH*tanb));
7175
7176 stopM.assign(0,0, msq3L+mt*mt + mzq*mzq*c2b*(0.5-(2./3.)*sw2) );
7177 stopM.assign(1,1, mstR+mt*mt + mzq*mzq*c2b*(2./3.)*sw2);
7178 stopM.assign(0,1, mt*(a3t-muH/tanb));
7179 stopM.assign(1,0, mt*(a3t-muH/tanb));
7180
7181 stauM.eigensystem(Ustau,mstau2);
7182 sbottomM.eigensystem(Usbottom,msbottom2);
7183 stopM.eigensystem(Ustop,mstop2);
7184
7185 Ustau=Ustau.hconjugate();
7186 Usbottom=Usbottom.hconjugate();
7187 Ustop=Ustop.hconjugate();
7188
7189 gslpp::vector<gslpp::complex> lstauh1(2,0);
7190 gslpp::vector<gslpp::complex> lstauh2(2,0);
7191 gslpp::vector<gslpp::complex> lsbottomh1(2,0);
7192 gslpp::vector<gslpp::complex> lsbottomh2(2,0);
7193 gslpp::vector<gslpp::complex> lstoph1(2,0);
7194 gslpp::vector<gslpp::complex> lstoph2(2,0);
7195
7196 gslpp::complex rr;
7197 for(int i=0; i<2; i++){
7198
7199 rr=2.*mTAU/(cosb*mstau2(i)) * Ustau(i,0).conjugate() * Ustau(i,1);
7200 lstauh1.assign(i,rr*(-muH*ca + a3tau*(-sa)) );
7201 lstauh2.assign(i,rr*(-muH*sa + a3tau*(ca)) );
7202
7203 rr=2.*mb/(cosb*msbottom2(i)) * Usbottom(i,0).conjugate() * Usbottom(i,1);
7204 lsbottomh1.assign(i,rr*(-muH*ca + a3b*(-sa)) );
7205 lsbottomh2.assign(i,rr*(-muH*sa + a3b*(ca)) );
7206
7207 rr=2.*mt/(cosb*mstop2(i)) * Ustop(i,0).conjugate() * Ustop(i,1);
7208 lstoph1.assign(i,rr*(-muH*sa + a3t*(ca)) );
7209 lstoph2.assign(i,rr*(-muH*(-ca) + a3t*(sa)) );
7210 }
7211// std::cout<<"mh="<<mh<<std::endl;
7212// std::cout<<"mhh="<<mhh<<std::endl;
7213// std::cout<<"ma="<<ma<<std::endl;
7214
7215 res1=0;
7216 double qe2;
7217 double xx1,xx2;
7218 for(int i=0;i<2;i++){
7219 xx1=mstau2(i)/(mh*mh);
7220 xx2=mstau2(i)/(mhh*mhh);
7221 res1 += (lh1*lstauh1(i)).real()*fft(xx1)
7222 +(lh2*lstauh2(i)).real()*fft(xx2);
7223// std::cout<<"mstau2="<<mstau2<<std::endl;
7224
7225 qe2=1./3.0;
7226 xx1=msbottom2(i)/(mh*mh);
7227 xx2=msbottom2(i)/(mhh*mhh);
7228 res1 += (lh1*lsbottomh1(i)).real()*qe2*fft(xx1)
7229 +(lh2*lsbottomh2(i)).real()*qe2*fft(xx2);
7230// std::cout<<"msbottom2="<<msbottom2<<std::endl;
7231
7232 qe2=4./3.0;
7233 xx1=mstop2(i)/(mh*mh);
7234 xx2=mstop2(i)/(mhh*mhh);
7235 res1 += (lh1*lstoph1(i)).real()*qe2*fft(xx1)
7236 +(lh2*lstoph2(i)).real()*qe2*fft(xx2);
7237// std::cout<<"mstop2="<<mstop2<<std::endl;
7238 }
7239 res1 *= alp*alp * mmu*mmu / (8.*pi*pi*mwq*mwq*sw2);
7240
7241 //adding up the photonic Barr-Zee contributions
7242 res02=res+res1;
7243
7244// std::cout<<"res="<<res<<std::endl;
7245// std::cout<<"res1="<<res1<<std::endl;
7246
7248 //two-loop corrections to MSSM one-loop diagrams
7250
7251 gm2cor=0, res2=0, res3=0;
7252
7254 //
7255 // tanb enhanced correction from SUSY one-loop correction to the muon mass
7256 // (ref. arXiv:0808.1530 )
7257 //
7259
7260 double dmu=0;
7261// double I=0;
7262 double x0, x1a, x2a, xL, xR;
7263 double tmp2, tmp3;
7264
7265 x0=sqrt(std::fabs(msneu2));
7266 xL=sqrt( msmuL-mzq*mzq*(sw2-0.5) );
7267 xR=sqrt( msmuR +mzq*mzq*sw2 );
7268
7269 tmp2=M2.abs2()+muH.abs2() +2.*mwq*mwq;
7270 tmp3= tmp2*tmp2 -4.*M2.abs2()*muH.abs2();
7271 x1a=sqrt( 0.5*( tmp2-sqrt(tmp3) ) );
7272 x2a=sqrt( 0.5*( tmp2+sqrt(tmp3) ) );
7273
7274 dmu=-muH.real()*tanb*g2*g2*M2.real()/(16.*pi*pi)*(It(x1a,x2a,x0) + 0.5*It(x1a,x2a,xL))
7275 -muH.real()*tanb*g1*g1*M1.real()/(16.*pi*pi)*(It(muH.real(),M1.real(),xR) - 0.5*It(muH.real(),M1.real(),xL) - It(M1.real(),xL,xR));
7276
7277 // corrected one-loop result
7278 gm2cor=gm21loop/(1+dmu);
7279
7281 //
7282 // photonic two-loop (arXiv:1003.5820)
7283 //
7285
7286 // leading part is simple, which is enhanced by log(mmu/msmu)
7287 res2=gm2cor*alp/(4.*pi)*16.*log(mmu/sqrt(msmuL));
7288
7289 // non-logarithmic corrections, which are usually small
7290 double amch=0;
7291 double amne=0;
7292
7293 // switch of the sub-leading contribution to reduce the computation time
7294 int sub_leading=1;
7295
7296 if (sub_leading==1){
7298 // for the corrections to the chargino diagrams
7300 gslpp::vector<gslpp::complex> ckL(2,0), ckR(2,0);
7301 double ymu=mmu/(vew*cosb);
7302
7303 ckR.assign(0, ymu*myU(0,1));
7304 ckR.assign(1, ymu*myU(1,1));
7305
7306 // gauge couplings are defined at the smuon mass scale msmuL
7307 ckL.assign(0, -g2*myV(0,0));
7308 ckL.assign(1, -g2*myV(1,0));
7309
7310 double xk=0;
7311 for(int i=0; i<2; i++){
7312 xk=MChi(i)*MChi(i)/msneu2;
7313 amch=amch -(47.*mmu/(12.*msneu2))*( (ckL(i).abs()*ckL(i).abs() + ckR(i).abs()*ckR(i).abs())*F3C(xk) );
7314 amch=amch -(122.*MChi(i)/(9.*msneu2))*F4C(xk)*( (ckL(i)*ckR(i)).real() );
7315 }
7316 amch=(1./(1+dmu))*amch*mmu/(16.*pi*pi)*alp/(4.*pi);
7317
7319 // for the corrections to the neutralino diagrams
7321 gslpp::vector<gslpp::complex> nR1(4,0), nR2(4,0), nL1(4,0), nL2(4,0);
7322
7323 for(int i=0; i<4; i++){
7324 nR1.assign(i, sqrt(2.)*g1*myN(i,0)*Xm(0,1) + ymu*myN(i,2)*Xm(0,0));
7325 nR2.assign(i, sqrt(2.)*g1*myN(i,0)*Xm(1,1) + ymu*myN(i,2)*Xm(1,0));
7326 nL1.assign(i, (1./sqrt(2.))*(g2*myN(i,1) + g1*myN(i,0))*Xm(0,0).conjugate() -ymu*myN(i,2)*Xm(0,1).conjugate());
7327 nL2.assign(i, (1./sqrt(2.))*(g2*myN(i,1) + g1*myN(i,0))*Xm(1,0).conjugate() -ymu*myN(i,2)*Xm(1,1).conjugate());
7328 }
7329
7330 double tmp4, tmp5;
7331 double xi1, xi2;
7332 double r1, r2;
7333 for(int i=0; i<4; i++){
7334 xi1=MChi0(i)*MChi0(i)/msmu2(0);
7335 xi2=MChi0(i)*MChi0(i)/msmu2(1);
7336 tmp4=nL1(i).abs2() + nR1(i).abs2();
7337 tmp5=nL2(i).abs2() + nR2(i).abs2();
7338 r1=35.*mmu/(72.*msmu2(0))*F3N(xi1)*tmp4 - 16.*MChi0(i)/(9.*msmu2(0))*F4N(xi1)*( (nL1(i)*nR1(i)).real() );
7339 r2=35.*mmu/(72.*msmu2(1))*F3N(xi2)*tmp5 - 16.*MChi0(i)/(9.*msmu2(1))*F4N(xi2)*( (nL2(i)*nR2(i)).real() );
7340 amne=amne+r1+r2;
7341 }
7342
7343 amne*=(1./(1.+dmu))*mmu/(16.*pi*pi)*alp/(4.*pi);
7344 }// end of the subleading term
7345
7346 //adding leading log correction and sub-leading terms
7347 res2=res2+amch+amne;
7348// std::cout<<"res2="<<res2<<std::endl;
7349
7351 //
7352 // Deviation of the smuon-muon-chargino/neutralino couplings
7353 // from gauge/Yukawa couplings due to the breaking of SUSY relations
7354 // ref. arXiv:1311.1775
7355 //
7357
7358 // approximate one-loop corrections
7359 // usually awhn and ablr are dominant contribution
7360 double x1,y1,x2,y2,x3,y3,x4,y4,x5,y5;
7361 double awhn=mmu*mmu*muH.real()*tanb/(1+dmu);
7362 double awhl=awhn;
7363 double abhl=awhn;
7364 double abhr=awhn;
7365 double ablr=awhn;
7366
7367 //wino-Higgsino-sneutrino
7368 x1=M2.abs2()/msneu2;
7369 y1=muH.abs2()/msneu2;
7370 awhn *= g2*g2*M2.real()/(8.*pi*pi*msneu2*msneu2)*Fa(x1,y1);
7371
7372 //wino-Higgsino-L-smuon
7373 x2=M2.abs2()/msmuL;
7374 y2=muH.abs2()/msmuL;
7375 awhl *= -g2*g2*M2.real()/(16.*pi*pi*pow(msmuL,2))*Fb(x2,y2);
7376
7377 //bino-higgsino-L-smuon
7378 x3=M1.abs2()/msmuL;
7379 y3=muH.abs2()/msmuL;
7380 abhl *= g1*g1*M1.real()/(16.*pi*pi*pow(msmuL,2))*Fb(x3,y3);
7381
7383 x4=M1.abs2()/msmuR;
7384 y4=muH.abs2()/msmuR;
7385 abhr *= -g1*g1*M1.real()/(8.*pi*pi*pow(msmuR,2))*Fb(x4,y4);
7386
7387 //bino-L-smuon-R-smuon
7388 x5=msmuL/(M1.abs2());
7389 y5=msmuR/(M1.abs2());
7390 ablr *= g1*g1/(8.*pi*pi*pow(M1.real(),3))*Fb(x5,y5);
7391
7392 double dg2, dg1, dh, dwh, dbh, dtb;
7393 double msusy=sqrt(msmuL);
7394
7395 dg1=g1*g1/(16.*pi*pi)*(4./3.)
7396 *(4./3.*log(sqrt(msuR)/msusy) + 4./3.*log(sqrt(mscR)/msusy) + 4./3.*log(sqrt(mstR)/msusy)
7397 + 2./3.*log(sqrt(msdR)/msusy) + 2./3.*log(sqrt(mssR)/msusy) + 2./3.*log(sqrt(msbR)/msusy)
7398 + 1./3.*log(sqrt(msq1L)/msusy) + 1./3.*log(sqrt(msq2L)/msusy) + 1./3.*log(sqrt(msq3L)/msusy)
7399 + log(sqrt(mseR)/msusy) + log(sqrt(mstauR)/msusy)
7400 + 1./2.*log(sqrt(mseL)/msusy) + 1./2.*log(sqrt(mstauL)/msusy) );
7401
7402 dg2=g2*g2/(16.*pi*pi)*(4./3.)
7403 *(3./2.*log(sqrt(msq1L)/msusy) + 3./2.*log(sqrt(msq2L)/msusy) + 3./2.*log(sqrt(msq3L)/msusy)
7404 + 1./2.*log(sqrt(mseL)/msusy) + 1./2.*log(sqrt(mstauL)/msusy) );
7405
7406 // corrections involving Yukawa couplings
7407 double yb, ytau, yt;
7408 double as_mt, delta_mt;
7409
7410 // a_s(msmuL)
7411 as_mt=1/(g3*g3);
7412 //running down to mt
7413 as_mt=as_mt - (-7.)*log(mt/sqrt(msmuL))/(8.*pi*pi);
7414 as_mt=(1./as_mt)/(4.*pi);
7415
7416 delta_mt=-4./3.*(as_mt/pi)-9.1*pow( (as_mt/pi), 2)-80.*pow((as_mt/pi),3);
7417
7418 yb=mb/(vew*cosb);
7419 yt=mt/(vew*sinb)*(1+delta_mt); //neglecting small EW correction
7420 ytau=mTAU/(vew*cosb);
7421
7422 // to the DR bar scheme
7423 yt=yt*(1+as_mt/(8.*pi)*(-4./3.));
7424 yb=yb*(1+as_mt/(8.*pi)*(-4./3.));
7425
7426 dh=0.5/(16.*pi*pi)*(3.*yt*yt*log(sqrt(mstR)/msusy) +3.*yb*yb*log(sqrt(msbR)/msusy)
7427 +3.*(yt*yt+yb*yb)*log(sqrt(msq3L)/msusy)
7428 +ytau*ytau*log(sqrt(mstauR)/msusy) +ytau*ytau*log(sqrt(mstauL)/msusy));
7429
7430 dwh=yt*yt/(16.*pi*pi)*(-6.*log(sqrt(msq3L)/msusy));
7431
7432 dbh=yt*yt/(16.*pi*pi)*( 2.*log(sqrt(msq3L)/msusy)-8.*log(sqrt(mstR)/msusy) );
7433
7434 Q_S=msusy;
7435
7436 dtb=1./(16.*pi*pi)*( 3.*yb*yb -3.*yt*yt +ytau*ytau)*log(Q_S/msusy);
7437
7438 // summing sfermion/fermion contributions
7439 res3= awhn*(dg2 + dh + dwh + dtb)
7440 + awhl*(dg2 + dh + dwh + dtb)
7441 + abhl*(dg1 + dh + dbh + dtb)
7442 + abhr*(dg1 + dh + dbh + dtb)
7443 + ablr*(dg1 + dtb);
7444// std::cout<<"awhn="<<awhn<<std::endl;
7445// std::cout<<"awhl="<<awhl <<std::endl;
7446// std::cout<<"abhl="<<abhl <<std::endl;
7447// std::cout<<"abhr="<<abhr<<std::endl;
7448// std::cout<<"ablr="<<ablr<<std::endl;
7449
7450// std::cout<<"res3="<<res3<<std::endl;
7451// std::cout<<"gm2cor="<<gm2cor<<std::endl;
7452 res01=gm2cor+res2+res3-gm21loop;
7453
7454// std::cout<<"res01="<<res01<<std::endl;
7455// std::cout<<"res02="<<res02<<std::endl;
7456
7457 gminus2muNLO=res01+res02;
7458
7459// std::cout<<"gm2NLO="<<gminus2muNLO<<std::endl;
7460 return(gminus2muNLO);
7461}
gslpp::matrix< gslpp::complex > getMsLhat2() const
Definition: SUSY.h:426
double v2() const
Definition: SUSY.cpp:384
gslpp::matrix< gslpp::complex > getMsDhat2() const
Definition: SUSY.h:344
gslpp::matrix< gslpp::complex > getMsUhat2() const
Definition: SUSY.h:339
gslpp::matrix< gslpp::complex > getMsQhat2() const
Definition: SUSY.h:334
gslpp::matrix< gslpp::complex > getMsEhat2() const
Definition: SUSY.h:436
double v1() const
Definition: SUSY.cpp:379
double Fa(double x, double y)
double F3C(double x)
double fft(double x)
double Fb(double x, double y)
double It(double a, double b, double c)
void updateSUSYParameters()
Updates to new SUSY parameter sets.
double F3N(double x)
double F4C(double x)
double F4N(double x)
double fS(double x)
const double getAlsMz() const
A get method to access the value of .

◆ It()

double SUSYMatching::It ( double  a,
double  b,
double  c 
)
private

Definition at line 6785 of file SUSYMatching.cpp.

6785 {
6786
6787 double r=0;
6788 if (std::fabs(a-b) < 0.0005 && std::fabs(a-c) < 0.0005 && std::fabs(b-c) < 0.0005)
6789 {
6790 r=9./(2.*(a+b+c)*(a+b+c));
6791 }
6792 else
6793 {
6794 if (std::fabs(a-b) < 0.0005)
6795 {
6796 if (std::fabs(a-c) < 0.0005)
6797 {
6798 r=(-4.*(4.*b*b*c*c*log(b*b/(c*c))
6799 +((b+c)*(b+c))*(c*c*log((4.*c*c)/((b+c)*(b+c)))
6800 + b*b*log(((b+c)*(b+c))/(4.*b*b)))))
6801 /(pow(b-c,3)*(b+c)*(3.*b+c)*(b+3.*c));
6802 }
6803 else
6804 {
6805 if (std::fabs(b-c) < 0.0005)
6806 {
6807 r=(4.*(pow(a-2.*b+c,2)*(-3.*pow(a,8) - 46.*pow(a,7)*c - 42.*pow(a,6)*c*c + 234.*pow(a,5)*c*c*c
6808 - 234.*a*a*a*pow(c,5) + 42.*a*a*pow(c,6) + 46.*a*pow(c,7) + 3.*pow(c,8)
6809 + 8.*a*a*c*c*(11.*pow(a,4) + 28.*a*a*a*c + 50.*a*a*c*c + 28.*a*c*c*c + 11.*pow(c,4))
6810 *log(c*c/(a*a))
6811 + a*a*(7.*pow(a,6) + 62.*pow(a,5)*c + 265.*pow(a,4)*c*c
6812 + 356.*a*a*a*c*c*c + 265.*a*a*pow(c,4) + 62.*a*pow(c,5) + 7.*pow(c,6))
6813 *log((4.*a*a)/((a+c)*(a+c)))
6814 + 7.*pow(a,6)*c*c*log(((a+c)*(a+c))/(4.*c*c))
6815 + 62.*pow(a,5)*c*c*c*log(((a+c)*(a+c))/(4.*c*c))
6816 + 265.*pow(a,4)*pow(c,4)*log(((a+c)*(a+c))/(4.*c*c))
6817 + 356.*a*a*a*pow(c,5)*log(((a+c)*(a+c))/(4.*c*c))
6818 + 265.*a*a*pow(c,6)*log(((a+c)*(a+c))/(4.*c*c))
6819 + 62.*a*pow(c,7)*log(((a+c)*(a+c))/(4.*c*c))
6820 + 7.*pow(c,8)*log(((a+c)*(a+c))/(4.*c*c)))
6821 +((a-c)*(a-c))*pow(3.*a+c,2)*pow(a+3.*c,2)
6822 *(4.*a*a*c*c*log((c*c)/(a*a))
6823 +((a+c)*(a+c))*(a*a*log((4.*a*a)/((a+c)*(a+c))) + c*c*log(((a+c)*(a+c))/(4.*c*c))))))
6824 /(pow(a-c,5)*(a+c)*pow(3.*a+c,3)*pow(a+3.*c,3));
6825 }
6826 else
6827 {
6828 r=((b*b) - (c*c) - (c*c)*log((b*b)/(c*c)))/pow((b*b) - (c*c),2) +
6829 ((a - b)*(-pow(b,4) + pow(c,4) + 2*(b*b)*(c*c)*log((b*b)/(c*c))))/(b*pow((b*b) - (c*c),3));
6830 }
6831 }
6832 }
6833 else
6834 {
6835 if (std::fabs(b-c) < 0.0005)
6836 {
6837 if (std::fabs(a-c) < 0.0005)
6838 {
6839 r=(-4*(4*(a*a)*(b*b)*log((a*a)/(b*b)) + ((a+b)*(a+b))*((b*b)*log((4*(b*b))/((a+b)*(a+b))) + (a*a)*log(((a+b)*(a+b))/(4.*(a*a))))))/
6840(pow(a - b,3)*(a + b)*(3*a + b)*(a + 3*b));
6841 }
6842 else
6843 {
6844 r=(-(a*a) + (c*c) - (a*a)*log((c*c)/(a*a)))/pow((a*a) - (c*c),2) +
6845((b - c)*(pow(a,4) - pow(c,4) + 2*(a*a)*(c*c)*log((c*c)/(a*a))))/(c*pow(-(a*a) + (c*c),3));
6846 }
6847 }
6848 else
6849 {
6850 if (std::fabs(a-c) < 0.0005)
6851 {
6852 r=(-(b*b) + (c*c) + (b*b)*log((b*b)/(c*c)))/pow((b*b) - (c*c),2) +
6853 ((a - c)*(pow(b,4) - pow(c,4) - 2*(b*b)*(c*c)*log((b*b)/(c*c))))/(c*pow(-(b*b) + (c*c),3));
6854 }
6855 else
6856 {
6857 r=( a*a*b*b*log(a*a/(b*b))+b*b*c*c*log(b*b/(c*c))+c*c*a*a*log(c*c/(a*a)) )
6858 /( (a*a-b*b)*(b*b-c*c)*(a*a-c*c) );
6859 }
6860 }
6861 }
6862
6863
6864
6865
6866
6867
6868 }
6869 return r;
6870}

◆ Lambda0EpsY()

gslpp::complex SUSYMatching::Lambda0EpsY ( int  J,
int  I 
)
private

Definition at line 794 of file SUSYMatching.cpp.

794 {
795
796
797
798 return (Lambda0EpsYCache(J,I));
799
800}

◆ Li2()

double SUSYMatching::Li2 ( double  x)
private

◆ mySUSY_CKM()

gslpp::matrix< gslpp::complex > SUSYMatching::mySUSY_CKM ( )
private

Definition at line 867 of file SUSYMatching.cpp.

867 {
868
869 return (myCKM_cache);
870
871}

◆ NeutralinoRemixing()

void SUSYMatching::NeutralinoRemixing ( )
private

Re-diagonalisation of the Neutralino mass matrix

Definition at line 4029 of file SUSYMatching.cpp.

4029 {
4030
4031 gslpp::matrix<gslpp::complex> MN_tmp(4, 4, 0.);
4032 gslpp::matrix<gslpp::complex> Mdiag(4, 4, 0.);
4033 for (int a=0;a<4;a++) {
4034 Mdiag.assign(a,a,MChi0(a));
4035 }
4036// std::cout<<"Old eigenvalues "<<MChi0<<std::endl;
4037// std::cout<<"Old mixing matrix "<<myN<<std::endl;
4038 MN_tmp = myN.transpose() * Mdiag * myN;
4039 gslpp::matrix<gslpp::complex> cmplxONT(4, 4, 0.);
4040 MN_tmp.eigensystem(cmplxONT, MNeig);
4041 for (int a=0;a<4;a++) {
4042 for (int b=0;b<4;b++) {
4043 ON.assign(a,b,cmplxONT(b,a).real());
4044 }
4045 }
4046// std::cout<<"New eigenvalues"<<MNeig<<std::endl;
4047// std::cout<<"New mixing matrix "<<ON<<std::endl;
4048}

◆ PGLR()

gslpp::complex SUSYMatching::PGLR ( int  j,
int  i 
)
private

Definition at line 1307 of file SUSYMatching.cpp.

1307 {
1308
1309 return (-sqrt(2.) / v * myCKM(j, i) *
1310 mySUSYMQ(2 * i + 1));
1311}

◆ PGRL()

gslpp::complex SUSYMatching::PGRL ( int  j,
int  i 
)
private

Definition at line 1313 of file SUSYMatching.cpp.

1313 {
1314
1315 return (sqrt(2.) / v * myCKM(j, i) *
1316 mySUSYMQ(2 * j));
1317}

◆ PHLR()

gslpp::complex SUSYMatching::PHLR ( int  j,
int  i 
)
private

Definition at line 1349 of file SUSYMatching.cpp.

1349 {
1350
1351 return(PHLRCache(j,i));
1352}

◆ PHRL()

gslpp::complex SUSYMatching::PHRL ( int  j,
int  i 
)
private

Definition at line 1473 of file SUSYMatching.cpp.

1473 {
1474
1475
1476 return(PHRLCache(j,i));
1477}

◆ PLRk() [1/2]

gslpp::complex SUSYMatching::PLRk ( int  j,
int  i,
int  k 
)
private

Definition at line 1479 of file SUSYMatching.cpp.

1479 {
1480
1481 if(k == 0){
1482 return (PHLR(j,i));
1483 }
1484 else if(k == 1){
1485 return (PGLR(j,i));
1486 }
1487 else {
1488 throw std::runtime_error("Error in PLRk(j,i,k) in SUSYMatching.cpp ");
1489 }
1490
1491 return (EXIT_FAILURE);
1492}
gslpp::complex PGLR(int j, int i)

◆ PLRk() [2/2]

gslpp::complex SUSYMatching::PLRk ( int  j,
int  i,
int  k,
int  Dmixingflag 
)
private

Definition at line 1525 of file SUSYMatching.cpp.

1525 {
1526
1527
1528 if (Dmixingflag == 0) {
1529 return (PLRk(j, i, k));
1530
1531 }
1532 else if (Dmixingflag == 1) {
1533 return (PRLk(i, j, k).conjugate());
1534 }
1535 else {
1536 throw std::runtime_error("Error in PLRk(j,i,k,Dmixingflag) in SUSYMatching.cpp ");
1537 }
1538
1539 return (EXIT_FAILURE);
1540}

◆ PRLk() [1/2]

gslpp::complex SUSYMatching::PRLk ( int  j,
int  i,
int  k 
)
private

Definition at line 1494 of file SUSYMatching.cpp.

1494 {
1495
1496 if(k == 0){
1497 return (PHRL(j,i));
1498 }
1499 else if(k == 1){
1500 return (PGRL(j,i));
1501 }
1502 else {
1503 throw std::runtime_error("Error in PRLk(j,i,k) in SUSYMatching.cpp ");
1504 }
1505}
gslpp::complex PHRL(int j, int i)
gslpp::complex PGRL(int j, int i)

◆ PRLk() [2/2]

gslpp::complex SUSYMatching::PRLk ( int  j,
int  i,
int  k,
int  Dmixingflag 
)
private

Charged Higgs vertices genralized both for B and D mixing

Definition at line 1510 of file SUSYMatching.cpp.

1510 {
1511
1512 if (Dmixingflag == 0) {
1513 return (PRLk(j, i, k));
1514
1515 }
1516 else if (Dmixingflag == 1) {
1517 return (PLRk(i, j, k).conjugate());
1518 }
1519 else {
1520 throw std::runtime_error("Error in PRLk(j,i,k,Dmixingflag) in SUSYMatching.cpp ");
1521 }
1522
1523}

◆ updateSUSYParameters()

void SUSYMatching::updateSUSYParameters ( )

Updates to new SUSY parameter sets.

Returns

Definition at line 174 of file SUSYMatching.cpp.

175{
176 myCKM = mySUSY.getVCKM();
177 myRu = mySUSY.getRu();
178 myRd = mySUSY.getRd();
179 myRl = mySUSY.getRl();
180 myRn = mySUSY.getRn();
185 Q_S = mySUSY.getQ_SUSY();
186 mu2R = Q_S * Q_S;
187 tanb = mySUSY.getTanb();
188 sinb = mySUSY.getSinb();
189 cosb = mySUSY.getCosb();
190 Als = mySUSY.Als(Q_S);
191 Mg = mySUSY.getMGl();
192 MChi0 = mySUSY.getMneu();
193 MChi = mySUSY.getMch();
194 MHpm = mySUSY.getMHp();
195 v = mySUSY.v();
196 v1 = mySUSY.v1();
197 v2 = mySUSY.v2();
198 gW = sqrt(8. * mySUSY.getGF() / sqrt(2.)) * mySUSY.Mw_tree();
199 myN = mySUSY.getN();
200 myV = mySUSY.getV();
201 myU = mySUSY.getU();
202
203// std::cout << Mg << " Mg " << std::endl;
204// std::cout << MChi0 << " MChi0 " << std::endl;
205// std::cout << MChi << " MChi " << std::endl;
206// std::cout << MHpm << " MHpm " << std::endl;
207//
208// std::cout << mym_su_sq << " mym_su_sq " << std::endl;
209// std::cout << mym_sd_sq << " mym_sd_sq " << std::endl;
210// std::cout << mym_sn_sq << " mym_sn_sq " << std::endl;
211// std::cout << mym_se_sq << " mym_se_sq " << std::endl;
212
213 mW = mySUSY.Mw_tree();
214 sinthetaW = sqrt(mySUSY.StandardModel::sW2(mW));
215
216 upQmassM.assign(0,0,mySUSY.Mq_Q(mySUSY.UP));
217 upQmassM.assign(1,1,mySUSY.Mq_Q(mySUSY.CHARM));
218 upQmassM.assign(2,2,mySUSY.Mq_Q(mySUSY.TOP));
219
220 downQmassM.assign(0,0,mySUSY.Mq_Q(mySUSY.DOWN));
221 downQmassM.assign(1,1,mySUSY.Mq_Q(mySUSY.STRANGE));
222 downQmassM.assign(2,2,mySUSY.Mq_Q(mySUSY.BOTTOM));
223
224 for (int i = 0; i < 6; i++) {
225 for (int j = 0; j < 3; j++) {
226 gslpp::complex sum_k_gamULCKM = 0.,sum_k_gamURCKMMU = 0., sum_k_gamULCKMMD = 0., sum_k_gamDRMD = 0., sum_k_gamDLMD = 0.;
227 for (int k = 0; k < 3; k++) {
228 gslpp::complex temp_QmassUCKM = 0., temp_CKMQmassD = 0.;
229 for (int l = 0; l < 3; l++) {
230 temp_QmassUCKM += upQmassM(k, l) * myCKM(l, j);
231 temp_CKMQmassD += myCKM(k, l) * downQmassM(l, j) ;
232 }
233 sum_k_gamULCKM += myRu(i, k) * myCKM(k, j);
234 sum_k_gamURCKMMU += myRu(i, k + 3) * temp_QmassUCKM;
235 sum_k_gamULCKMMD += myRu(i, k) * temp_CKMQmassD;
236 sum_k_gamDRMD += myRd(i, k + 3) * downQmassM(k, j);
237 sum_k_gamDLMD += myRd(i, k) * downQmassM(k, j);
238 }
239 gamULCKM.assign(i, j, sum_k_gamULCKM);
240 gamURCKMMU.assign(i, j, sum_k_gamURCKMMU);
241 gamULCKMMD.assign(i, j, sum_k_gamULCKMMD);
242 gamDRMD.assign(i, j, sum_k_gamDRMD);
243 gamDLMD.assign(i, j, sum_k_gamDLMD);
244 }
245 }
246
247 for (int i = 0; i < 6; i++) {
248 for (int j = 0; j < 6; j++) {
249 gslpp::complex sum_k_gamULgamULdag = 0.,sum_k_gamDRgamDRdag = 0.;
250 for (int k = 0; k < 3; k++) {
251 sum_k_gamULgamULdag += myRu(i, k) * myRu(j, k).conjugate();
252 sum_k_gamDRgamDRdag += myRd(i, k + 3) * myRd(j, k + 3).conjugate();
253 }
254 gamULgamULdag.assign(i, j, sum_k_gamULgamULdag);
255 gamDRgamDRdag.assign(i, j, sum_k_gamDRgamDRdag);
256 }
257 }
258
259 for (int i = 0; i < 6; i++) {
260 for (int j = 0; j < 3; j++) {
261 for (int k = 0; k < 2; k++) {
262 XUL[i][j][k] = gW * (-myV(k, 0).conjugate() * gamULCKM(i, j) + myV(k, 1).conjugate() * gamURCKMMU(i, j) / (sqrt(2.) * mW * sinb));
263 XUR[i][j][k] = gW * (myU(k, 1) * gamULCKMMD(i, j) / (sqrt(2.) * mW * cosb));
264 }
265 }
266 }
267
268 for (int i = 0; i < 6; i++) {
269 for (int j = 0; j < 3; j++) {
270 for (int k = 0; k < 4; k++) {
271 ZDL[i][j][k] = -gW/sqrt(2.) * ((-myN(k, 1).conjugate() + 1./3. * (sinthetaW / sqrt(1. - sinthetaW * sinthetaW)) * myN(k, 0).conjugate()) * myRd(i, j) + myN(k, 2).conjugate() * gamDRMD(i, j) / (mW * cosb));
272 ZDR[i][j][k] = -gW/sqrt(2.) * (2./3. * (sinthetaW / sqrt(1. - sinthetaW * sinthetaW)) * myN(k, 0) * myRd(i, j + 3) + myN(k, 2) * gamDLMD(i, j) / (mW * cosb));
273 }
274 }
275 }
276
277}
gslpp::vector< double > getMsn2() const
Gets the sneutrino mass squared.
Definition: SUSY.h:463
const double getTanb() const
Gets .
Definition: SUSY.h:176
gslpp::vector< double > getMse2() const
Gets the charged slepton mass squared.
Definition: SUSY.h:472
const double getMGl() const
Gets the gluino mass obtained from FHGetPara().
Definition: SUSY.cpp:389
const double getQ_SUSY() const
Gets the scale of the input parameters.
Definition: SUSY.h:185
gslpp::matrix< gslpp::complex > getN() const
Gets the rotation matrix for neutralinos.
Definition: SUSY.h:325
gslpp::matrix< gslpp::complex > getRl() const
Gets the rotation matrix for charged sleptons.
Definition: SUSY.h:490
gslpp::matrix< gslpp::complex > getRn() const
Gets the rotation matrix for sneutrinos.
Definition: SUSY.h:481
gslpp::matrix< gslpp::complex > getU() const
Gets the rotation matrix for negative charginos.
Definition: SUSY.h:294
const gslpp::matrix< gslpp::complex > getVCKM() const
A get method to retrieve the CKM matrix.
const double getGF() const
A get method to retrieve the Fermi constant .
const double Als(const double mu, const orders order, const bool Nf_thr, const bool qed_flag) const
The running QCD coupling in the scheme including QED corrections.

◆ VdDNL() [1/2]

gslpp::complex SUSYMatching::VdDNL ( int  b,
int  k,
int  j,
int  flag 
)
private

Definition at line 1021 of file SUSYMatching.cpp.

1021 {
1022
1023
1024 return (VdDNL_cache[b][k][j][flag]);
1025
1026}

◆ VdDNL() [2/2]

gslpp::complex SUSYMatching::VdDNL ( int  b,
int  k,
int  j,
int  flag,
int  Dmixingflag 
)
private

Definition at line 1264 of file SUSYMatching.cpp.

1264 {
1265
1266 if (Dmixingflag == 0) {
1267
1268 return (VdDNL(b, k, j, flag));
1269
1270 }
1271 else if (Dmixingflag == 1) {
1272
1273 return (VuUN(b, k, j, "L"));
1274 }
1275 else {
1276
1277 throw std::runtime_error("Error in VdDNL(b,k,j,flag,Dmixingflag) in SUSYMatching.cpp ");
1278 }
1279
1280 return (EXIT_FAILURE);
1281}
gslpp::complex VuUN(int b, int k, int j, const std::string)

◆ VdDNR() [1/2]

gslpp::complex SUSYMatching::VdDNR ( int  b,
int  k,
int  j,
int  flag 
)
private

Definition at line 1088 of file SUSYMatching.cpp.

1088 {
1089
1090 return (VdDNR_cache[b][k][j][flag]);
1091
1092}

◆ VdDNR() [2/2]

gslpp::complex SUSYMatching::VdDNR ( int  b,
int  k,
int  j,
int  flag,
int  Dmixingflag 
)
private

Definition at line 1283 of file SUSYMatching.cpp.

1283 {
1284
1285 if (Dmixingflag == 0) {
1286
1287 return (VdDNR(b, k, j, flag));
1288
1289 }
1290 else if (Dmixingflag == 1) {
1291
1292 return (VuUN(b, k, j, "R"));
1293 }
1294 else {
1295
1296 throw std::runtime_error("Error in VdDNR(b,k,j,flag,Dmixingflag) in SUSYMatching.cpp ");
1297 }
1298
1299 return (EXIT_FAILURE);
1300}

◆ VdUCL() [1/2]

gslpp::complex SUSYMatching::VdUCL ( int  b,
int  k,
int  j 
)
private

Definition at line 900 of file SUSYMatching.cpp.

900 {
901
902 return (VdUCL_cache[b][k][j]);
903
904}

◆ VdUCL() [2/2]

gslpp::complex SUSYMatching::VdUCL ( int  b,
int  k,
int  j,
int  Dmixingflag 
)
private

Rules to include in the same formulas the D - D bar mixing

Definition at line 1169 of file SUSYMatching.cpp.

1169 {
1170
1171 if (Dmixingflag == 0) {
1172
1173 return (VdUCL(b, k, j));
1174 }
1175 else if (Dmixingflag == 1) {
1176
1177 return (VuDCL(b, k, j));
1178 }
1179 else {
1180
1181 throw std::runtime_error("Error in VdUCL(b,k,j,flag,Dmixingflag) in SUSYMatching.cpp ");
1182 }
1183}
gslpp::complex VuDCL(int b, int k, int j)

◆ VdUCR() [1/2]

gslpp::complex SUSYMatching::VdUCR ( int  b,
int  k,
int  j,
int  flag 
)
private

Definition at line 950 of file SUSYMatching.cpp.

950 {
951
952 return (VdUCR_cache[b][k][j][flag]);
953}

◆ VdUCR() [2/2]

gslpp::complex SUSYMatching::VdUCR ( int  b,
int  k,
int  j,
int  flag,
int  Dmixingflag 
)
private

Definition at line 1185 of file SUSYMatching.cpp.

1185 {
1186
1187 if (Dmixingflag == 0) {
1188
1189 return (VdUCR(b, k, j, flag));
1190 }
1191 else if (Dmixingflag == 1) {
1192
1193 return (VuDCR(b, k, j));
1194 }
1195 else {
1196
1197 throw std::runtime_error("Error in VdUCR(b,k,j,flag,Dmixingflag) in SUSYMatching.cpp ");
1198 }
1199}
gslpp::complex VuDCR(int b, int k, int j)

◆ VuDCL()

gslpp::complex SUSYMatching::VuDCL ( int  b,
int  k,
int  j 
)
private

Definition at line 1125 of file SUSYMatching.cpp.

1125 {
1126
1127 return (VuDCL_cache[b][k][j]);
1128
1129}

◆ VuDCR()

gslpp::complex SUSYMatching::VuDCR ( int  b,
int  k,
int  j 
)
private

Definition at line 1164 of file SUSYMatching.cpp.

1164 {
1165
1166 return (VuDCR_cache[b][k][j]);
1167}

◆ VUDHH()

gslpp::complex SUSYMatching::VUDHH ( int  i,
int  j 
)
private

Definition at line 1418 of file SUSYMatching.cpp.

1418 {
1419
1420 return (VUDHH_cache(i, j));
1421
1422}

◆ VuUN()

gslpp::complex SUSYMatching::VuUN ( int  b,
int  k,
int  j,
const std::string  chirality 
)
private

Definition at line 1238 of file SUSYMatching.cpp.

1238 {
1239
1240
1241 if (chirality.compare("L") == 0) {
1242
1243 return (VuUNL_cache[b][k][j]);
1244
1245 }
1246 else if (chirality.compare("R") == 0) {
1247
1248 return (VuUNR_cache[b][k][j]);
1249
1250 }
1251 else {
1252
1253 std::cout << " VuUN error in SUSYMatching.cpp" << std::endl;
1254
1255 }
1256
1257 return (EXIT_FAILURE);
1258
1259}

◆ xdS()

gslpp::complex SUSYMatching::xdS ( int  S)
private

Definition at line 1544 of file SUSYMatching.cpp.

1544 {
1545
1546 double M2A = mySUSY.getMHa() * mySUSY.getMHa();
1547 double M2Z = mySUSY.getMz() * mySUSY.getMz();
1548 double tan2alpha = 2. * tanb / (1 - tanb * tanb) * (M2A + M2Z) / (M2A - M2Z);
1549 double tana = (-1. + sqrt(1. + tan2alpha * tan2alpha)) / tan2alpha;
1550 double sina = tana / sqrt(1. + tana * tana);
1551 double cosa = 1. / sqrt(1 + tana * tana);
1552
1553 gslpp::complex Cosa(cosa,0.,false);
1554 gslpp::complex Sina(sina,0.,false);
1555 gslpp::complex i(0.,1.,false);
1556
1557
1558 switch ( S ) {
1559 case 0:
1560 return (Cosa);
1561
1562 case 1:
1563 return (-Sina);
1564
1565 case 2:
1566 return ( i * mySUSY.getSinb());
1567
1568 default:
1569 throw std::runtime_error("Error in xdS(S) in SUSYMatching.cpp ");
1570 break;
1571 }
1572
1573 return (EXIT_FAILURE);
1574}

◆ XLRS()

gslpp::complex SUSYMatching::XLRS ( int  J,
int  I,
int  S 
)
private

Definition at line 1626 of file SUSYMatching.cpp.

1626 {
1627
1628
1629 double Y2ut = sqrt(2.) / v2 * mySUSYMQ(4);
1630 Y2ut *= Y2ut;
1631 gslpp::complex temp(0.,0.,false);
1632 temp = 1 + Eps_J(J) * tanb;
1633 gslpp::complex rJI(0.,0.,false);
1634
1635 rJI = ((1. + (Eps_J(J) + (Eps_J(I).conjugate() - Eps_J(J).conjugate()) *
1636 Lambda0EpsY(J, I) / Lambda0EpsY(I, J).conjugate()) * tanb) /
1637 (1 + Eps_J(I).conjugate() * tanb));
1638
1639 if (J > I) {
1640 return (mySUSYMQ(2 * I + 1) / (v1 * temp.abs2()) *
1641 Lambda0EpsY(I, J).conjugate() * Y2ut * rJI *
1642 (xuS(S).conjugate() - xdS(S).conjugate() * tanb));
1643 }
1644 else if (J < I) {
1645 return (XRLS(I, J, S).conjugate());
1646
1647 }
1648 else {
1649 throw std::runtime_error("Error in XLRS(J,I,S) in SUSYMatching.cpp ");
1650 }
1651
1652 return (EXIT_FAILURE);
1653
1654}
gslpp::complex xdS(int S)
gslpp::complex xuS(int S)
gslpp::complex Lambda0EpsY(int J, int I)

◆ XRLS()

gslpp::complex SUSYMatching::XRLS ( int  J,
int  I,
int  S 
)
private

Definition at line 1608 of file SUSYMatching.cpp.

1608 {
1609
1610 if (J > I) {
1611 return (mySUSYMQ(2 * J + 1) / (v1 * (1 + Eps_J(J) * tanb) *
1612 (1 + Eps_J(J) * tanb)) * Lambda0EpsY(J, I) * 2. / (v2 * v2)
1613 * mySUSYMQ(4) * mySUSYMQ(4) *
1614 (xuS(S) - xdS(S) * tanb));
1615 }
1616 else if (J < I) {
1617 return (XLRS(I, J, S).conjugate());
1618 }
1619 else {
1620 throw std::runtime_error("Error in XRLS(J,I,S) in SUSYMatching.cpp ");
1621 }
1622
1623 return (EXIT_FAILURE);
1624}

◆ xuS()

gslpp::complex SUSYMatching::xuS ( int  S)
private

Definition at line 1576 of file SUSYMatching.cpp.

1576 {
1577
1578 double M2A = mySUSY.getMHa() * mySUSY.getMHa();
1579 double M2Z = mySUSY.getMz() * mySUSY.getMz();
1580
1581 double tan2alpha = 2. * tanb / (1 - tanb * tanb) * (M2A + M2Z) / (M2A - M2Z);
1582 double tana = (-1. + sqrt(1. + tan2alpha * tan2alpha)) / tan2alpha;
1583 double sina = tana / sqrt(1. + tana * tana);
1584 double cosa = 1. / sqrt(1 + tana * tana);
1585
1586 gslpp::complex Cosa(cosa,0.,false);
1587 gslpp::complex Sina(sina,0.,false);
1588 gslpp::complex i(0.,1.,false);
1589
1590 switch ( S ) {
1591 case 0:
1592 return (Sina);
1593
1594 case 1:
1595 return (Cosa);
1596
1597 case 2:
1598 return (-i * mySUSY.getCosb());
1599
1600 default:
1601 throw std::runtime_error("Error in xuS(S) in SUSYMatching.cpp ");
1602 break;
1603 }
1604
1605 return (EXIT_FAILURE);
1606}

Member Data Documentation

◆ Als

double SUSYMatching::Als
private

Definition at line 466 of file SUSYMatching.h.

◆ AmpA1LC

gslpp::matrix<gslpp::complex> SUSYMatching::AmpA1LC
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpA1LN

gslpp::matrix<gslpp::complex> SUSYMatching::AmpA1LN
private

Amplitudes of Chargino and Neutralino contribution to various LFV observables.

Definition at line 423 of file SUSYMatching.h.

◆ AmpA1RC

gslpp::matrix<gslpp::complex> SUSYMatching::AmpA1RC
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpA1RN

gslpp::matrix<gslpp::complex> SUSYMatching::AmpA1RN
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpALC

gslpp::matrix<gslpp::complex> SUSYMatching::AmpALC
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpALN

gslpp::matrix<gslpp::complex> SUSYMatching::AmpALN
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpARC

gslpp::matrix<gslpp::complex> SUSYMatching::AmpARC
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpARN

gslpp::matrix<gslpp::complex> SUSYMatching::AmpARN
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTauA1LC

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTauA1LC
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTauA1LN

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTauA1LN
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTauA1RC

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTauA1RC
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTauA1RN

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTauA1RN
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTauALC

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTauALC
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTauALN

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTauALN
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTauARC

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTauARC
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTauARN

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTauARN
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTEA1LC

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTEA1LC
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTEA1LN

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTEA1LN
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTEA1RC

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTEA1RC
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTEA1RN

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTEA1RN
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTEALC

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTEALC
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTEALN

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTEALN
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTEARC

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTEARC
private

Definition at line 423 of file SUSYMatching.h.

◆ AmpTEARN

gslpp::matrix<gslpp::complex> SUSYMatching::AmpTEARN
private

Definition at line 423 of file SUSYMatching.h.

◆ CLlE

gslpp::matrix<gslpp::complex> SUSYMatching::CLlE
private

Definition at line 398 of file SUSYMatching.h.

◆ CLlMU

gslpp::matrix<gslpp::complex> SUSYMatching::CLlMU
private

Definition at line 398 of file SUSYMatching.h.

◆ CLlTAU

gslpp::matrix<gslpp::complex> SUSYMatching::CLlTAU
private

Definition at line 398 of file SUSYMatching.h.

◆ CLqDOWN

gslpp::matrix<gslpp::complex> SUSYMatching::CLqDOWN
private

Definition at line 398 of file SUSYMatching.h.

◆ CLqUP

gslpp::matrix<gslpp::complex> SUSYMatching::CLqUP
private

Definition at line 398 of file SUSYMatching.h.

◆ cosb

double SUSYMatching::cosb
private

Definition at line 471 of file SUSYMatching.h.

◆ CRlE

gslpp::matrix<gslpp::complex> SUSYMatching::CRlE
private

Chargino and Neutralino couplings to sfermions.

Definition at line 398 of file SUSYMatching.h.

◆ CRlMU

gslpp::matrix<gslpp::complex> SUSYMatching::CRlMU
private

Definition at line 398 of file SUSYMatching.h.

◆ CRlTAU

gslpp::matrix<gslpp::complex> SUSYMatching::CRlTAU
private

Definition at line 398 of file SUSYMatching.h.

◆ CRqDOWN

gslpp::matrix<gslpp::complex> SUSYMatching::CRqDOWN
private

Definition at line 398 of file SUSYMatching.h.

◆ CRqUP

gslpp::matrix<gslpp::complex> SUSYMatching::CRqUP
private

Definition at line 398 of file SUSYMatching.h.

◆ DeltaDL_Cache

gslpp::matrix<gslpp::complex> SUSYMatching::DeltaDL_Cache
private

Definition at line 622 of file SUSYMatching.h.

◆ DeltaMd_cache

gslpp::matrix<gslpp::complex> SUSYMatching::DeltaMd_cache
private

Definition at line 665 of file SUSYMatching.h.

◆ downQmassM

gslpp::matrix<gslpp::complex> SUSYMatching::downQmassM
private

Definition at line 513 of file SUSYMatching.h.

◆ Eps_JCache

gslpp::vector<gslpp::complex> SUSYMatching::Eps_JCache
private

Definition at line 615 of file SUSYMatching.h.

◆ gamDLMD

gslpp::matrix<gslpp::complex> SUSYMatching::gamDLMD
private

Definition at line 511 of file SUSYMatching.h.

◆ gamDRgamDRdag

gslpp::matrix<gslpp::complex> SUSYMatching::gamDRgamDRdag
private

Definition at line 512 of file SUSYMatching.h.

◆ gamDRMD

gslpp::matrix<gslpp::complex> SUSYMatching::gamDRMD
private

Definition at line 511 of file SUSYMatching.h.

◆ gamULCKM

gslpp::matrix<gslpp::complex> SUSYMatching::gamULCKM
private

Definition at line 511 of file SUSYMatching.h.

◆ gamULCKMMD

gslpp::matrix<gslpp::complex> SUSYMatching::gamULCKMMD
private

Definition at line 511 of file SUSYMatching.h.

◆ gamULgamULdag

gslpp::matrix<gslpp::complex> SUSYMatching::gamULgamULdag
private

Definition at line 512 of file SUSYMatching.h.

◆ gamURCKM

gslpp::matrix<gslpp::complex> SUSYMatching::gamURCKM
private

Definition at line 511 of file SUSYMatching.h.

◆ gamURCKMMU

gslpp::matrix<gslpp::complex> SUSYMatching::gamURCKMMU
private

Definition at line 511 of file SUSYMatching.h.

◆ gW

double SUSYMatching::gW
private

Definition at line 475 of file SUSYMatching.h.

◆ Lambda0EpsYCache

gslpp::matrix<gslpp::complex> SUSYMatching::Lambda0EpsYCache
private

Definition at line 618 of file SUSYMatching.h.

◆ Leptf1

gslpp::matrix<double> SUSYMatching::Leptf1
private

Definition at line 380 of file SUSYMatching.h.

◆ Leptf2

gslpp::matrix<double> SUSYMatching::Leptf2
private

Definition at line 380 of file SUSYMatching.h.

◆ Leptf3

gslpp::matrix<double> SUSYMatching::Leptf3
private

Definition at line 380 of file SUSYMatching.h.

◆ Leptf4

gslpp::matrix<double> SUSYMatching::Leptf4
private

Definition at line 380 of file SUSYMatching.h.

◆ Leptfa1

gslpp::matrix<double> SUSYMatching::Leptfa1
private

Definition at line 380 of file SUSYMatching.h.

◆ Leptfa2

gslpp::matrix<double> SUSYMatching::Leptfa2
private

Definition at line 380 of file SUSYMatching.h.

◆ Leptfzc

std::complex<double> SUSYMatching::Leptfzc[3][2][2]
private

Definition at line 381 of file SUSYMatching.h.

◆ Leptfzn

std::complex<double> SUSYMatching::Leptfzn[6][4][4]
private

Definition at line 381 of file SUSYMatching.h.

◆ Leptgzc

std::complex<double> SUSYMatching::Leptgzc[3][2][2]
private

Definition at line 381 of file SUSYMatching.h.

◆ Leptgzn

std::complex<double> SUSYMatching::Leptgzn[6][4][4]
private

Definition at line 381 of file SUSYMatching.h.

◆ Lepty

gslpp::matrix<double> SUSYMatching::Lepty
private

Functions needed to calculate various LFV observables.

Definition at line 380 of file SUSYMatching.h.

◆ Leptz

gslpp::matrix<double> SUSYMatching::Leptz
private

Definition at line 380 of file SUSYMatching.h.

◆ mcBMll

WilsonCoefficient SUSYMatching::mcBMll
private

Definition at line 323 of file SUSYMatching.h.

◆ mcbnlep

WilsonCoefficient SUSYMatching::mcbnlep
private

Definition at line 323 of file SUSYMatching.h.

◆ mcbnlepCC

WilsonCoefficient SUSYMatching::mcbnlepCC
private

Definition at line 323 of file SUSYMatching.h.

◆ mcbsg

WilsonCoefficient SUSYMatching::mcbsg
private

Definition at line 323 of file SUSYMatching.h.

◆ mcd1

WilsonCoefficient SUSYMatching::mcd1
private

Definition at line 323 of file SUSYMatching.h.

◆ mcd1Buras

WilsonCoefficient SUSYMatching::mcd1Buras
private

Definition at line 323 of file SUSYMatching.h.

◆ mcdbd2

WilsonCoefficient SUSYMatching::mcdbd2
private

Definition at line 313 of file SUSYMatching.h.

◆ mcdbd2Chi0Chi0

WilsonCoefficient SUSYMatching::mcdbd2Chi0Chi0
private

Definition at line 313 of file SUSYMatching.h.

◆ mcdbd2Chi0Chi0T

WilsonCoefficient SUSYMatching::mcdbd2Chi0Chi0T
private

Definition at line 314 of file SUSYMatching.h.

◆ mcdbd2Chi0g

WilsonCoefficient SUSYMatching::mcdbd2Chi0g
private

Definition at line 313 of file SUSYMatching.h.

◆ mcdbd2Chi0gT

WilsonCoefficient SUSYMatching::mcdbd2Chi0gT
private

Definition at line 314 of file SUSYMatching.h.

◆ mcdbd2ChiChi

WilsonCoefficient SUSYMatching::mcdbd2ChiChi
private

Definition at line 313 of file SUSYMatching.h.

◆ mcdbd2ChiChiT

WilsonCoefficient SUSYMatching::mcdbd2ChiChiT
private

Definition at line 314 of file SUSYMatching.h.

◆ mcdbd2gg

WilsonCoefficient SUSYMatching::mcdbd2gg
private

Definition at line 313 of file SUSYMatching.h.

◆ mcdbd2ggT

WilsonCoefficient SUSYMatching::mcdbd2ggT
private

Definition at line 314 of file SUSYMatching.h.

◆ mcdbd2Hp

WilsonCoefficient SUSYMatching::mcdbd2Hp
private

Definition at line 313 of file SUSYMatching.h.

◆ mcdbd2HpT

WilsonCoefficient SUSYMatching::mcdbd2HpT
private

Definition at line 314 of file SUSYMatching.h.

◆ mcdbs2

WilsonCoefficient SUSYMatching::mcdbs2
private

Definition at line 315 of file SUSYMatching.h.

◆ mcdbs2Chi0Chi0

WilsonCoefficient SUSYMatching::mcdbs2Chi0Chi0
private

Definition at line 315 of file SUSYMatching.h.

◆ mcdbs2Chi0Chi0T

WilsonCoefficient SUSYMatching::mcdbs2Chi0Chi0T
private

Definition at line 316 of file SUSYMatching.h.

◆ mcdbs2Chi0g

WilsonCoefficient SUSYMatching::mcdbs2Chi0g
private

Definition at line 315 of file SUSYMatching.h.

◆ mcdbs2Chi0gT

WilsonCoefficient SUSYMatching::mcdbs2Chi0gT
private

Definition at line 316 of file SUSYMatching.h.

◆ mcdbs2ChiChi

WilsonCoefficient SUSYMatching::mcdbs2ChiChi
private

Definition at line 315 of file SUSYMatching.h.

◆ mcdbs2ChiChiT

WilsonCoefficient SUSYMatching::mcdbs2ChiChiT
private

Definition at line 316 of file SUSYMatching.h.

◆ mcdbs2gg

WilsonCoefficient SUSYMatching::mcdbs2gg
private

Definition at line 315 of file SUSYMatching.h.

◆ mcdbs2ggT

WilsonCoefficient SUSYMatching::mcdbs2ggT
private

Definition at line 316 of file SUSYMatching.h.

◆ mcdbs2Hp

WilsonCoefficient SUSYMatching::mcdbs2Hp
private

Definition at line 315 of file SUSYMatching.h.

◆ mcdbs2HpT

WilsonCoefficient SUSYMatching::mcdbs2HpT
private

Definition at line 316 of file SUSYMatching.h.

◆ mcdd2

WilsonCoefficient SUSYMatching::mcdd2
private

Definition at line 319 of file SUSYMatching.h.

◆ mcdd2Chi0Chi0

WilsonCoefficient SUSYMatching::mcdd2Chi0Chi0
private

Definition at line 319 of file SUSYMatching.h.

◆ mcdd2Chi0Chi0T

WilsonCoefficient SUSYMatching::mcdd2Chi0Chi0T
private

Definition at line 320 of file SUSYMatching.h.

◆ mcdd2Chi0g

WilsonCoefficient SUSYMatching::mcdd2Chi0g
private

Definition at line 319 of file SUSYMatching.h.

◆ mcdd2Chi0gT

WilsonCoefficient SUSYMatching::mcdd2Chi0gT
private

Definition at line 320 of file SUSYMatching.h.

◆ mcdd2ChiChi

WilsonCoefficient SUSYMatching::mcdd2ChiChi
private

Definition at line 319 of file SUSYMatching.h.

◆ mcdd2ChiChiT

WilsonCoefficient SUSYMatching::mcdd2ChiChiT
private

Definition at line 320 of file SUSYMatching.h.

◆ mcdd2gg

WilsonCoefficient SUSYMatching::mcdd2gg
private

Definition at line 319 of file SUSYMatching.h.

◆ mcdd2ggT

WilsonCoefficient SUSYMatching::mcdd2ggT
private

Definition at line 320 of file SUSYMatching.h.

◆ mcdd2Hp

WilsonCoefficient SUSYMatching::mcdd2Hp
private

Definition at line 319 of file SUSYMatching.h.

◆ mcdd2HpT

WilsonCoefficient SUSYMatching::mcdd2HpT
private

Definition at line 320 of file SUSYMatching.h.

◆ mcdk2

WilsonCoefficient SUSYMatching::mcdk2
private

Definition at line 317 of file SUSYMatching.h.

◆ mcdk2Chi0Chi0

WilsonCoefficient SUSYMatching::mcdk2Chi0Chi0
private

Definition at line 317 of file SUSYMatching.h.

◆ mcdk2Chi0Chi0T

WilsonCoefficient SUSYMatching::mcdk2Chi0Chi0T
private

Definition at line 318 of file SUSYMatching.h.

◆ mcdk2Chi0g

WilsonCoefficient SUSYMatching::mcdk2Chi0g
private

Definition at line 317 of file SUSYMatching.h.

◆ mcdk2Chi0gT

WilsonCoefficient SUSYMatching::mcdk2Chi0gT
private

Definition at line 318 of file SUSYMatching.h.

◆ mcdk2ChiChi

WilsonCoefficient SUSYMatching::mcdk2ChiChi
private

Definition at line 317 of file SUSYMatching.h.

◆ mcdk2ChiChiT

WilsonCoefficient SUSYMatching::mcdk2ChiChiT
private

Definition at line 318 of file SUSYMatching.h.

◆ mcdk2gg

WilsonCoefficient SUSYMatching::mcdk2gg
private

Definition at line 317 of file SUSYMatching.h.

◆ mcdk2ggT

WilsonCoefficient SUSYMatching::mcdk2ggT
private

Definition at line 318 of file SUSYMatching.h.

◆ mcdk2Hp

WilsonCoefficient SUSYMatching::mcdk2Hp
private

Definition at line 317 of file SUSYMatching.h.

◆ mcdk2HpT

WilsonCoefficient SUSYMatching::mcdk2HpT
private

Definition at line 318 of file SUSYMatching.h.

◆ mcDLi3j

WilsonCoefficient SUSYMatching::mcDLi3j
private

Definition at line 321 of file SUSYMatching.h.

◆ mcDLij

WilsonCoefficient SUSYMatching::mcDLij
private

Definition at line 321 of file SUSYMatching.h.

◆ mcgminus2mu

WilsonCoefficient SUSYMatching::mcgminus2mu
private

Definition at line 321 of file SUSYMatching.h.

◆ MChi

gslpp::vector<double> SUSYMatching::MChi
private

Chargino mass-eigenvalue.

Definition at line 358 of file SUSYMatching.h.

◆ MChi0

gslpp::vector<double> SUSYMatching::MChi0
private

Neutralino mass-eigenvalue.

Definition at line 368 of file SUSYMatching.h.

◆ mcmueconv

WilsonCoefficient SUSYMatching::mcmueconv
private

Definition at line 321 of file SUSYMatching.h.

◆ Mg

double SUSYMatching::Mg
private

Definition at line 467 of file SUSYMatching.h.

◆ MHpm

double SUSYMatching::MHpm
private

Definition at line 468 of file SUSYMatching.h.

◆ MNeig

gslpp::vector<double> SUSYMatching::MNeig
private

Definition at line 368 of file SUSYMatching.h.

◆ mu2R

double SUSYMatching::mu2R
private

Definition at line 465 of file SUSYMatching.h.

◆ mW

double SUSYMatching::mW
private

Definition at line 475 of file SUSYMatching.h.

◆ myCKM

gslpp::matrix<gslpp::complex> SUSYMatching::myCKM
private

Definition at line 333 of file SUSYMatching.h.

◆ myCKM_cache

gslpp::matrix<gslpp::complex> SUSYMatching::myCKM_cache
private

Definition at line 663 of file SUSYMatching.h.

◆ mym_sd_sq

gslpp::vector<double> SUSYMatching::mym_sd_sq
private

Definition at line 348 of file SUSYMatching.h.

◆ mym_se_sq

gslpp::vector<double> SUSYMatching::mym_se_sq
private

Definition at line 348 of file SUSYMatching.h.

◆ mym_sn_sq

gslpp::vector<double> SUSYMatching::mym_sn_sq
private

Definition at line 348 of file SUSYMatching.h.

◆ mym_su_sq

gslpp::vector<double> SUSYMatching::mym_su_sq
private

Sfermion mass-eigenvalue squared.

Definition at line 348 of file SUSYMatching.h.

◆ myN

gslpp::matrix<gslpp::complex> SUSYMatching::myN
private

Neutralino mixing matrix.

Definition at line 372 of file SUSYMatching.h.

◆ myRd

gslpp::matrix<gslpp::complex> SUSYMatching::myRd
private

Definition at line 353 of file SUSYMatching.h.

◆ myRl

gslpp::matrix<gslpp::complex> SUSYMatching::myRl
private

Definition at line 353 of file SUSYMatching.h.

◆ myRn

gslpp::matrix<gslpp::complex> SUSYMatching::myRn
private

Definition at line 353 of file SUSYMatching.h.

◆ myRu

gslpp::matrix<gslpp::complex> SUSYMatching::myRu
private

Sfermion mixing matrices.

Definition at line 353 of file SUSYMatching.h.

◆ mySUSY

const SUSY& SUSYMatching::mySUSY
private

Definition at line 309 of file SUSYMatching.h.

◆ mySUSYMQ

gslpp::vector<double> SUSYMatching::mySUSYMQ
private

Definition at line 666 of file SUSYMatching.h.

◆ myU

gslpp::matrix<gslpp::complex> SUSYMatching::myU
private

Definition at line 363 of file SUSYMatching.h.

◆ myV

gslpp::matrix<gslpp::complex> SUSYMatching::myV
private

Chargino mixing matrices.

Definition at line 362 of file SUSYMatching.h.

◆ NLlE

gslpp::matrix<gslpp::complex> SUSYMatching::NLlE
private

Definition at line 398 of file SUSYMatching.h.

◆ NLlMU

gslpp::matrix<gslpp::complex> SUSYMatching::NLlMU
private

Definition at line 398 of file SUSYMatching.h.

◆ NLlTAU

gslpp::matrix<gslpp::complex> SUSYMatching::NLlTAU
private

Definition at line 398 of file SUSYMatching.h.

◆ NLqDOWN

gslpp::matrix<gslpp::complex> SUSYMatching::NLqDOWN
private

Definition at line 398 of file SUSYMatching.h.

◆ NLqUP

gslpp::matrix<gslpp::complex> SUSYMatching::NLqUP
private

Definition at line 398 of file SUSYMatching.h.

◆ NRlE

gslpp::matrix<gslpp::complex> SUSYMatching::NRlE
private

Definition at line 398 of file SUSYMatching.h.

◆ NRlMU

gslpp::matrix<gslpp::complex> SUSYMatching::NRlMU
private

Definition at line 398 of file SUSYMatching.h.

◆ NRlTAU

gslpp::matrix<gslpp::complex> SUSYMatching::NRlTAU
private

Definition at line 398 of file SUSYMatching.h.

◆ NRqDOWN

gslpp::matrix<gslpp::complex> SUSYMatching::NRqDOWN
private

Definition at line 398 of file SUSYMatching.h.

◆ NRqUP

gslpp::matrix<gslpp::complex> SUSYMatching::NRqUP
private

Definition at line 398 of file SUSYMatching.h.

◆ ON

gslpp::matrix<gslpp::complex> SUSYMatching::ON
private

Definition at line 372 of file SUSYMatching.h.

◆ PHLRCache

gslpp::matrix<gslpp::complex> SUSYMatching::PHLRCache
private

Definition at line 636 of file SUSYMatching.h.

◆ PHRLCache

gslpp::matrix<gslpp::complex> SUSYMatching::PHRLCache
private

Definition at line 642 of file SUSYMatching.h.

◆ Polylogs

const Polylogarithms SUSYMatching::Polylogs
private

Definition at line 310 of file SUSYMatching.h.

◆ PV

const PVfunctions SUSYMatching::PV
private

Definition at line 311 of file SUSYMatching.h.

◆ Q_S

double SUSYMatching::Q_S
private

Definition at line 464 of file SUSYMatching.h.

◆ sinb

double SUSYMatching::sinb
private

Definition at line 470 of file SUSYMatching.h.

◆ sinthetaW

double SUSYMatching::sinthetaW
private

Definition at line 475 of file SUSYMatching.h.

◆ tanb

double SUSYMatching::tanb
private

Definition at line 469 of file SUSYMatching.h.

◆ TDhat

gslpp::matrix<gslpp::complex> SUSYMatching::TDhat
private

Sdown tri-linear coupling matrix.

Definition at line 457 of file SUSYMatching.h.

◆ TEhat

gslpp::matrix<gslpp::complex> SUSYMatching::TEhat
private

Slepton tri-linear coupling matrix.

Definition at line 462 of file SUSYMatching.h.

◆ TUhat

gslpp::matrix<gslpp::complex> SUSYMatching::TUhat
private

Sup tri-linear coupling matrix.

Definition at line 452 of file SUSYMatching.h.

◆ upQmassM

gslpp::matrix<gslpp::complex> SUSYMatching::upQmassM
private

Definition at line 513 of file SUSYMatching.h.

◆ v

double SUSYMatching::v
private

Definition at line 472 of file SUSYMatching.h.

◆ v1

double SUSYMatching::v1
private

Definition at line 473 of file SUSYMatching.h.

◆ v2

double SUSYMatching::v2
private

Definition at line 474 of file SUSYMatching.h.

◆ VdDNL_cache

gslpp::complex SUSYMatching::VdDNL_cache[3][6][4][2]
private

Feynmann rule for the Neutralino - down quark - down squarks vertex with tan beta correction

Definition at line 573 of file SUSYMatching.h.

◆ VdDNR_cache

gslpp::complex SUSYMatching::VdDNR_cache[3][6][4][2]
private

Definition at line 574 of file SUSYMatching.h.

◆ VdUCL_cache

gslpp::complex SUSYMatching::VdUCL_cache[3][6][2]
private

Feynmann rule for the Chargino - down quark - up squarks vertex with tan beta correction

Definition at line 565 of file SUSYMatching.h.

◆ VdUCR_cache

gslpp::complex SUSYMatching::VdUCR_cache[3][6][2][2]
private

Definition at line 566 of file SUSYMatching.h.

◆ vmcbsg

std::vector<WilsonCoefficient> SUSYMatching::vmcbsg
private

Definition at line 329 of file SUSYMatching.h.

◆ vmdbd2

std::vector<WilsonCoefficient> SUSYMatching::vmdbd2
private

Definition at line 325 of file SUSYMatching.h.

◆ vmdbs2

std::vector<WilsonCoefficient> SUSYMatching::vmdbs2
private

Definition at line 326 of file SUSYMatching.h.

◆ vmdd2

std::vector<WilsonCoefficient> SUSYMatching::vmdd2
private

Definition at line 328 of file SUSYMatching.h.

◆ vmdk2

std::vector<WilsonCoefficient> SUSYMatching::vmdk2
private

Definition at line 327 of file SUSYMatching.h.

◆ VuDCL_cache

gslpp::complex SUSYMatching::VuDCL_cache[3][6][2]
private

Feynmann rule for the Chargino - up quark - down squarks vertex with tan beta correction

Definition at line 581 of file SUSYMatching.h.

◆ VuDCR_cache

gslpp::complex SUSYMatching::VuDCR_cache[3][6][2]
private

Definition at line 582 of file SUSYMatching.h.

◆ VUDHH_cache

gslpp::matrix<gslpp::complex> SUSYMatching::VUDHH_cache
private

Definition at line 664 of file SUSYMatching.h.

◆ VuUNL_cache

gslpp::complex SUSYMatching::VuUNL_cache[3][6][4]
private

Vertices Neutralino (N) - up quark (u) - up squarks (U) from Buras arXiv:hep-ph/0210145v2 in SLHA convention usefull in D - Dbar mixing

Definition at line 590 of file SUSYMatching.h.

◆ VuUNR_cache

gslpp::complex SUSYMatching::VuUNR_cache[3][6][4]
private

Definition at line 591 of file SUSYMatching.h.

◆ XUL

gslpp::complex SUSYMatching::XUL[6][3][2]
private

Definition at line 515 of file SUSYMatching.h.

◆ XUR

gslpp::complex SUSYMatching::XUR[6][3][2]
private

Definition at line 515 of file SUSYMatching.h.

◆ ZDL

gslpp::complex SUSYMatching::ZDL[6][3][4]
private

Definition at line 515 of file SUSYMatching.h.

◆ ZDR

gslpp::complex SUSYMatching::ZDR[6][3][4]
private

Definition at line 515 of file SUSYMatching.h.


The documentation for this class was generated from the following files: