def residual(log10_gsxx): """ Compute the difference between the relic density and the observed dark matter relic density for use in root solving. """ self.gsxx = 10**log10_gsxx return (relic_density(self, semi_analytic=semi_analytic) - omega_h2_cdm / dimensionless_hubble_constant**2)
def fn(gsxx): hp = HiggsPortal(mx, ms, gsxx, stheta) return relic_density(hp) - 0.22
def fn(log_gsxx): hp = HiggsPortal(mx, ms, 10**log_gsxx, stheta) hp.gsxx = 10**log_gsxx return relic_density(hp, semi_analytic) - Omega_dm
# # Top quark # m_f = 173e3 # g_f = 3 # color factor # svs_ff_to_xxs = np.array([ # hp.thermal_cross_section_ff_to_xx(hp.ms / temp, m_f) for temp in temps # ]) # n_eq_fs = n_eq(temps, m_f, 2 * g_f * 2, "fermion") # plt.loglog( # xs, svs_ff_to_xxs * n_eq_fs, "-", color=mpl_colors[4], # label=r"$\langle \sigma v \rangle_{\bar{t}t\to\bar{\chi}\chi} \, n_t^\mathrm{eq}$" # ) # %% hidden=true hp.stheta = 1e-3 hp.gsxx = 2.2e-2 print(relic_density(hp), Omega_dm) print(hp) # %% hidden=true plt.loglog( xs, svs_xx_to_sms * n_eq_xs**2, ":", color=mpl_colors[3], # label=r"$\langle \sigma v \rangle_{\bar{\chi}\chi \to \mathrm{SM}} \, n_\chi^\mathrm{eq}$" ) plt.loglog(xs, np.array([ hp.thermal_cross_section_ff_to_xx(hp.ms / temp, 173e3) * n_eq(temp, 173e3, 2 * 3 * 2, "fermion")**2 for temp in temps ])) # %% hidden=true # %% [markdown] heading_collapsed=true hidden=true