コード例 #1
0
# i.e. pseudoscalar coupling to quarks and gluons
# ---> pseudoscalar coupling to nucleons
# (with coupling to pseudoscalar WIMP current)

g4u_limit = g4q(p.mu,M4_limit)
g4d_limit = g4q(p.md,M4_limit)
g4s_limit = g4q(p.ms,M4_limit)
g4c_limit = g4q(p.mc,M4_limit)
g4b_limit = g4q(p.mb,M4_limit)
g4t_limit = g4q(p.mt,M4_limit)

g10G_limit = g10G(M10_limit)

# limits on nucleon couplings from quark couplings (M1):
# (extra factor is from mapping of O_4^R --> O_6^NR
g6p_M4q = (-p.mN/M4_mchi) * t.calc_cN_pseudoscalar(g4u_limit,g4d_limit,g4s_limit,g4c_limit,g4b_limit,g4t_limit,0.,p.data_p)
g6n_M4q = (-p.mN/M4_mchi) * t.calc_cN_pseudoscalar(g4u_limit,g4d_limit,g4s_limit,g4c_limit,g4b_limit,g4t_limit,0.,p.data_n)

# limits on nucleon couplings from gluon couplings (M7):
g6p_M10G = (-p.mN/M10_mchi) * t.calc_cN_pseudoscalar(0.,0.,0.,0.,0.,0.,g10G_limit,p.data_p)
g6n_M10G = (-p.mN/M10_mchi) * t.calc_cN_pseudoscalar(0.,0.,0.,0.,0.,0.,g10G_limit,p.data_n)

limits_O[6]+= [{"data" : g6n_M4q**2 * p.mWeak**4, 
                "mchi" : M4_mchi, 
                "label": r"$\overline{\chi}\gamma_5\chi\overline{q}\gamma_5q$ (Tevatron)"}
              ,{"data" : g6n_M10G**2 * p.mWeak**4, 
                "mchi" : M10_mchi, 
                "label": r"$\overline{\chi}\gamma_5\chi G \tilde{G}$ (Tevatron)"}]

#==================================================
# Limits on O10 from M3 and M9  (tevatron) 
コード例 #2
0
g3d_limit = g3q(p.md,M3_limit)
g3s_limit = g3q(p.ms,M3_limit)
g3c_limit = g3q(p.mc,M3_limit)
g3b_limit = g3q(p.mb,M3_limit)
g3t_limit = g3q(p.mt,M3_limit)

g9G_limit = g9G(M9_limit)

# Translate to limits on nucleon couplings
#-------

# Not sure this really makes sense, should probably set all couplings
# equal to largest(smallest?) of limits. Though actually I think this is assuming
# the same M*, i.e. mediator mass / coupling, for each effecting operator, so
# maybe ok.
g10p_M3q = t.calc_cN_pseudoscalar(g3u_limit,g3d_limit,g3s_limit,g3c_limit,g3b_limit,g3t_limit,0,p.data_p)
g10n_M3q = t.calc_cN_pseudoscalar(g3u_limit,g3d_limit,g3s_limit,g3c_limit,g3b_limit,g3t_limit,0,p.data_n)

g10p_M9G = t.calc_cN_pseudoscalar(0,0,0,0,0,0,g9G_limit,p.data_p)
g10n_M9G = t.calc_cN_pseudoscalar(0,0,0,0,0,0,g9G_limit,p.data_n)

#=========================================

# Get SI XENON100 225 live day limits (1207.5988)
mX225, sigmaSI_X225 = np.loadtxt("goodman_limits_data/xenon225livedays.csv",delimiter=",").T
sigmaSI_X225 = 10**sigmaSI_X225 # data in file is in log10 units

# Compare to SI XENON100 estimated limits via EFT:
c1_lim_XENON100 = tools.get_c_curve("c1p=c1n") # SI operator, equal proton/neutron couplings
c1n_lim_XENON100 = tools.get_c_curve("c1n") # SI operator, neutron only couplings
c1p_lim_XENON100 = tools.get_c_curve("c1p") # SI operator, neutron only couplings