-
Notifications
You must be signed in to change notification settings - Fork 0
/
RunSM_331v3.f90
191 lines (148 loc) · 6.37 KB
/
RunSM_331v3.f90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
! -----------------------------------------------------------------------------
! This file was automatically created by SARAH version 4.14.3
! SARAH References: arXiv:0806.0538, 0909.2863, 1002.0840, 1207.0906, 1309.7223
! (c) Florian Staub, 2013
! ------------------------------------------------------------------------------
! File created at 16:50 on 3.7.2020
! ----------------------------------------------------------------------
Module RunSM_331v3
Use Control
Use Settings
Use LoopFunctions
Use Mathematics
Use StandardModel
Use RGEs_331v3
Use RGEs_SM_HC
Use Model_Data_331v3
Logical,Private,Save::OnlyDiagonal
Contains
Subroutine RunSM_and_SUSY_RGEs(Qout,g1input,g2input,g3input,l1input,l12input, &
& l13input,l12tinput,l13tinput,l2input,l23input,l23tinput,l3input,hll1input, &
& hdp11input,hd1input,hdtp11input,hdt1input,hup11input,hUp1input,hdp1input, &
& hd2input,hdtp1input,hdt2input,hup21input,hUp2input,hd3input,hdt3input,hu11input, &
& h12input,hU1input,hU2input,ftriinput,mu12input,mu22input,mu32input,Vninput, &
& v1input,v2input,g1,g2,g3,l1,l12,l13,l12t,l13t,l2,l23,l23t,l3,hll1,hdp11, &
& hd1,hdtp11,hdt1,hup11,hUp1,hdp1,hd2,hdtp1,hdt2,hup21,hUp2,hd3,hdt3,hu11, &
& h12,hU1,hU2,ftri,mu12,mu22,mu32,Vn,v1,v2,CKMout,sinW2_out,Alpha_out,AlphaS_out,realCKM)
Implicit None
Real(dp),Intent(in) :: g1input,g2input,g3input,ftriinput,mu12input,mu22input,mu32input,Vninput, &
& v1input,v2input
Complex(dp),Intent(in) :: l1input,l12input,l13input,l12tinput,l13tinput,l2input,l23input,l23tinput, &
& l3input,hll1input(3,3),hdp11input(3),hd1input(3),hdtp11input(2),hdt1input(2), &
& hup11input(3),hUp1input,hdp1input(3),hd2input(3),hdtp1input(2),hdt2input(2), &
& hup21input(3),hUp2input,hd3input(3),hdt3input(2),hu11input(3),h12input(3), &
& hU1input,hU2input
Real(dp),Intent(out) :: g1,g2,g3,ftri,mu12,mu22,mu32,Vn,v1,v2
Complex(dp),Intent(out) :: l1,l12,l13,l12t,l13t,l2,l23,l23t,l3,hll1(3,3),hdp11(3),hd1(3),hdtp11(2), &
& hdt1(2),hup11(3),hUp1,hdp1(3),hd2(3),hdtp1(2),hdt2(2),hup21(3),hUp2,hd3(3), &
& hdt3(2),hu11(3),h12(3),hU1,hU2
Real(dp), Intent(in) :: Qout
Complex(dp), Intent(out) :: CKMout(3,3)
Real(dp), Intent(out) :: sinW2_out, Alpha_out, AlphaS_out
Complex(dp) :: YdSM(3,3), YuSM(3,3), YeSM(3,3)
Real(dp) :: g1SM, g2SM, g3SM, vSM
Complex(dp) :: lambdaSM, muSM, dummy(3,3)
Integer :: kont
Logical :: OnlyDiagonal
Logical :: realCKM
Real(dp) :: deltaM = 0.000001_dp, test(3)
Real(dp) :: scale_save, Qin, tz, dt, g1D(128), g62_SM(62)
! Run SUSY RGEs from M_SUSY to Qin
Qin=sqrt(getRenormalizationScale())
scale_save = Qin
Call ParametersToG128(g1input,g2input,g3input,l1input,l12input,l13input, &
& l12tinput,l13tinput,l2input,l23input,l23tinput,l3input,hll1input,hdp11input, &
& hd1input,hdtp11input,hdt1input,hup11input,hUp1input,hdp1input,hd2input,hdtp1input, &
& hdt2input,hup21input,hUp2input,hd3input,hdt3input,hu11input,h12input,hU1input, &
& hU2input,ftriinput,mu12input,mu22input,mu32input,Vninput,v1input,v2input,g1D)
Call GToParameters128(g1D,g1,g2,g3,l1,l12,l13,l12t,l13t,l2,l23,l23t,l3, &
& hll1,hdp11,hd1,hdtp11,hdt1,hup11,hUp1,hdp1,hd2,hdtp1,hdt2,hup21,hUp2,hd3, &
& hdt3,hu11,h12,hU1,hU2,ftri,mu12,mu22,mu32,Vn,v1,v2)
g1 = 1*g1
! Run SM RGEs from MZ to Qin
If (RunningSMparametersLowEnergy) Then
! Run SM RGEs separately
! Get values of gauge and Yukawa couplings at M_Z
Call GetRunningSMparametersMZ(YdSM,YeSM,YuSM,g1SM,g2SM,g3SM,lambdaSM,muSM, &
& vSM,realCKM)
Call ParametersToG62_SM(g1SM, g2SM, g3SM, lambdaSM, YuSM, YdSM, YeSM, muSM, vSM, g62_SM)
! Run to output scale
tz=Log(sqrt(MZ2)/Qout)
dt=tz/100._dp
Call odeint(g62_SM,62,tz,0._dp,deltaM,dt,0._dp,rge62_SM,kont)
Call GtoParameters62_SM(g62_SM, g1SM, g2SM, g3SM, lambdaSM, YuSM, YdSM, YeSM, muSM, vSM)
! Overwrite values obtained from SUSY running
g2 = g2SM
g3 = g3SM
! Calculate running CKM matrix
Call FermionMass(YuSM,1._dp,test,dummy,CKMout,kont)
! Output values for running SM constants
sinW2_out = g1SM**2/(g1SM**2+g2SM**2)
Alpha_out = sinW2_out*g2SM**2/(4._dp*Pi)
AlphaS_out = g3SM**2/(4._dp*Pi)
Else
! Don't run SM RGEs separately
CKMout = CKMcomplex
sinW2_out = 0.22290_dp
Alpha_out = Alpha
AlphaS_out = g3**2/(4._dp*Pi)
Call SetMatchingConditions(g1SM,g2SM,g3SM,YuSM,YdSM,YeSM,vSM,Vn,v1,v2,g1, &
& g2,g3,l1,l12,l13,l12t,l13t,l2,l23,l23t,l3,hll1,hdp11,hd1,hdtp11,hdt1,hup11, &
& hUp1,hdp1,hd2,hdtp1,hdt2,hup21,hUp2,hd3,hdt3,hu11,h12,hU1,hU2,ftri,mu12, &
& mu22,mu32,.False.)
End if
Qin = SetRenormalizationScale(Qout**2)
End Subroutine RunSM_and_SUSY_RGEs
Subroutine GetRunningSMparametersMZ(YdSM,YeSM,YuSM,g1SM,g2SM,g3SM,lambdaSM, &
& muSM,vSM,realCKM)
Implicit None
Complex(dp), Intent(out) :: YdSM(3,3), YuSM(3,3), YeSM(3,3)
Real(dp), Intent(out) :: g1SM, g2SM, g3SM, vSM
Complex(dp), Intent(out) :: lambdaSM, muSM
Real(dp) :: vev2, sinW2, CosW2SinW2
Real(dp) :: gSM2(2), gSM3(3), mtopMS, mtopMS_MZ
Real(dp) :: dt, tz
Real(dp) :: deltaM = 0.000001_dp, test(3)
Logical :: realCKM
Integer :: i1,kont
SinW2=0.22290_dp
CosW2SinW2=(1._dp-sinW2)*sinW2
vev2=mZ2*CosW2SinW2/(pi*Alpha_mZ) -0
vSM = sqrt(vev2)
YdSM = 0._dp
YeSM = 0._dp
YuSM = 0._dp
Do i1=1,3
YdSM(i1,i1) = sqrt2*mf_d_mz(i1)/vSM
YeSM(i1,i1) = sqrt2*mf_l_mz(i1)/vSM
YuSM(i1,i1) = sqrt2*mf_u_mz(i1)/vSM
End do
! Calculating m_top(M_Z)
gSM2(1)=sqrt(Alpha_mZ*4*Pi)
gSM2(2)=sqrt(AlphaS_mZ*4*Pi)
tz=Log(sqrt(mz2)/mf_u(3))
dt=tz/50._dp
Call odeint(gSM2,2,tz,0._dp,deltaM,dt,0._dp,RGEAlphaS,kont)
!m_top^pole to m_top^MS(m_top)
mtopMS=mf_u(3)*(1._dp-4._dp/3._dp*(gSM2(2)**2/4._dp/Pi )/Pi)
!Running m_top^MS(m_top) to M_Z
gSM3(1)=gSM2(1)
gSM3(2)=gSM2(2)
gSM3(3)=mtopMS
tz=Log(sqrt(mz2)/mf_u(3))
dt=tz/50._dp
Call odeint(gSM3,3,0._dp,tz,deltaM,dt,0._dp,RGEtop,kont)
mtopMS_MZ=gSM3(3)
YuSM(3,3) = sqrt2*mtopMS_MZ/vSM
If (realCKM) Then
YuSM = Transpose(Matmul(Transpose(Real(CKMcomplex,dp)),Transpose(YuSM)))
Else
YuSM = Transpose(Matmul(Transpose(CKMcomplex),Transpose(YuSM)))
End if
g1SM=sqrt(Alpha_MZ/(1-sinW2)*4._dp*Pi)
g2SM=sqrt(Alpha_MZ/sinW2*4._dp*Pi)
g3SM=sqrt(AlphaS_MZ*4._dp*Pi)
lambdaSM = 0._dp
muSM = 0._dp
End Subroutine GetRunningSMparametersMZ
End Module RunSM_331v3