forked from quarkquartet/SFO-EWPT-light-scalar
-
Notifications
You must be signed in to change notification settings - Fork 0
/
betaH_curve.py
61 lines (49 loc) · 2.04 KB
/
betaH_curve.py
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
"""
This code scan over the light scalar masses along the parameter line
where the fine-tuning is fixed to be 10%.
Both 2d and 1d solution are computed.
Requires package of cosmoTransitions.
Author: Isaac Wang
"""
import csv
import numpy as np
from light_scalar import model, model1d
from light_scalar_interpolation import model as model_inter
mS_list = np.logspace(np.log10(0.05),np.log10(12),20).tolist()
mH = 125.13
def sin_theta(mS):
return np.sqrt(19*mS**2/(mH**2-mS**2))
Interpolation= True
if Interpolation:
output_file = "./output/betaH_inter_2.csv"
else:
output_file = "./output/betaH.csv"
with open(output_file, "w") as f:
data_writer = csv.writer(f)
if Interpolation:
print("Use interpolation to solve the S3/T!")
mS_list = np.logspace(np.log10(0.01),np.log10(12),20).tolist()
for mS in mS_list:
m2d=model_inter(mS,sin_theta(mS))
m1d=model1d(mS,sin_theta(mS))
print("mS: " + str(mS) + ", sin theta: " + str(sin_theta(mS)) + "\n")
betaH_1d = m1d.beta_over_H_at_Tn()
betaH_2d = m2d.beta_over_H_at_Tn()
Tn1d=m1d.Tn
Tn2d=m2d.Tn
print("mS: " + str(mS) + ", sin theta: " + str(sin_theta(mS)) + " beta\/H of 1d: " + str(betaH_1d) + " beta\/H of 2d: " + str(betaH_2d))
output = [mS, betaH_1d, betaH_2d, Tn1d, Tn2d]
data_writer.writerow(output)
else:
mS_list = np.logspace(np.log10(0.05),np.log10(12),20).tolist()
for mS in mS_list:
m2d=model(mS,sin_theta(mS))
m1d=model1d(mS,sin_theta(mS))
print("mS: " + str(mS) + ", sin theta: " + str(sin_theta(mS)) + "\n")
betaH_1d = m1d.beta_over_H_at_Tn()
betaH_2d = m2d.beta_over_H_at_Tn()
Tn1d=m1d.Tn
Tn2d=m2d.Tn
print("mS: " + str(mS) + ", sin theta: " + str(sin_theta(mS)) + " beta\/H of 1d: " + str(betaH_1d) + " beta\/H of 2d: " + str(betaH_2d))
output = [mS, betaH_1d, betaH_2d, Tn1d, Tn2d]
data_writer.writerow(output)