snorer.BoostedDarkMatter¶
class
snorer.BoostedDarkMatter(Rs,Rg,beta,amp2_xv,amp2_xe,
mt=None,is_spike=False,**kwargs)¶
Superclass: Constants
Class with medoths that evaluate supernova-neutrino-boosted dark matter (SN\(\nu\) BDM) coming from SN in arbitrary distant
galaxy with DM-\(\nu\) and DM-\(e\) interaction cross sections descrbied by a specific particle model. This class integrates functions like snorer.flux
and snorer.event
as methods for user to calculate the SN\(\nu\) BDM flux and event associated to any models.
To construct the scattering amplitude \(\mathcal{M}\) from a specific model, we take the one discussed in Ref. [1] for instance. Both DM-\(\nu\) and DM-\(e\) have the same amplitude square \(|\mathcal{M}|^2\) shown by Eq. (3) of Ref. [1] in terms of Mandelstam variables \(s\), \(t\), and \(u\),
where \(\mathcal{Q}\) is the multiplication of coupling constants, \(m_1\) and \(m_2\) are the masses of incident and target particles respectively and \(m_V\) the mediator mass.
Thus we can construct DM-\(\nu\) amplitude square by letting, \(m_1 = 0\) and assume \(m_V = m_\chi/3\), \(g_V = 10^{-6}\) and \(g_\chi = 10^{-2}\),
def amp2_xv(s,t,u,mx) -> float:
mV = mx/3
gV,gx = 1e-06,1e-02
Q = gV*gx
return (s**2 + u**2 + 4*t*(mx**2) - 2*(mx**2)**2)*(Q/(t - mV**2))**2
Similarily, for DM-\(e\) scattering, \(m_1 = m_\chi\), \(m_2 = m_e\) and kinetic mixing \(\varepsilon = 10^{-6}\),
def amp2_xe(s,t,u,mx) -> float:
mV = mx/3
me = snorer.constant.me
gx,eps = 1e-02,1e-06
Q = gx*eps
return 2*(s**2 + u**2 + 4*t*(me**2 + mx**2) - 2*(me**2 + mx**2)**2)*(Q/(t - mV**2))**2
These are the desired amplitudes and serve as the inputs in the class.
Rs
: float
Distance from Earth to SN, kpc.
Rg
: float
Distance from Earth to the center of a distant galaxy, kpc.
beta
: float
Off-center angle, rad.
amp2_xv
: func
Amplitude squared for DM-\(\nu\) interaction with 4 positioning arguments.amp2_xv = func(s,t,u,mx)
: the first 3 are Mandelstam variables and the last one is the DM mass.
amp2_xe
: func
Arguments are identical toamp2_xv
, but is for DM-\(e\) interaction. Generally,amp2_xe
is not exclusively for electron, user can assume any particle in the detector to be scattered off by BDM. If the target is not electron, user has to input its massmt
. See the description for parametermt
next.
mt
: None/float
Mass of the target in the detector. Default isNone
and implies the target is electron. Ifamp2_xe
is for particle other than electron, user has to assign its mass here. The unit is MeV.
is_spike
: bool
Whether spike feature is included in \(n_\chi\). Default is False.
**kwargs
Keyword arguments for characteristic parameters of NFW profile and spike halo, . Ifis_spike = False
, the parameters for configuring spiky halo will be deactivated. Default values assume Milky Way. See default arguments insnorer.params.halo
andsnorer.params.spike
.
nx(r,mx)¶
Method.
Yields DM number density at place distant \(r\) to GC. Whether spike feature is on depending the initial setting of is_spike
when the class instance is initialized.
r
: float
Distance from Earth to GC, kpc.
mx
: float
Dark matter mass, MeV.
out
: float
Dark matter number density at \(r\), cm−3.
dsigma_xv(Tx,mx,psi)¶
Method.
Yields differential DM-\(\nu\) cross section for a given \((T_\chi,m_\chi,\psi)\) associated with amp2_xv
.
Tx
: float
BDM kinetic energy, MeV.
mx
: float
Dark matter mass, MeV.
psi
: float
Scattering angle in lab frame, rad.
out
: float
Differential DM-\(\nu\) cross section, cm2 sr−1.
sigma_xe(Tx,mx)¶
Method.
Yields total DM-\(e\) cross section for a given \((T_\chi,m_\chi)\) associated with amp2_xe
.
Tx
: float
BDM kinetic energy, MeV.
mx
: float
Dark matter mass, MeV.
out
: float
Total DM-\(e\) cross section, cm2.
flux(t,Tx,mx,**kwargs)¶
Method.
The SN\(\nu\) BDM flux at time \(t\) on Earth after integrated over a field-of-view \(d\Omega_{\rm lab}\). Note that zenith angle \(\theta\) is integrated up to \(\theta_{\rm M}^*\) and azimuthal angle \(\varphi\) from \(0\) to \(2\pi\).
t
: float
The BDM ToF, relative to the first SN neutrino's arrival.
Tx
: float
BDM kinetic energy, MeV.
mx
: float
Dark matter mass, MeV.
**kwargs
Keyword arguments for min distances and vegas. See default arguments insnorer.params.min_distance
andsnorer.params.vegas
.
out
: float
The time-depenent boosted dark matter flux at Earth, MeV−1 cm2 s−1.
event(mx,Tx_range=[5,30],t_range=[10,1.1045e+09],**kwargs)¶
Method.
The SN\(\nu\) BDM evnet per electron, \(N_{\chi,0}\). To retrieve the correct event number, one should mutiply the total electron number \(N_e\). For instance, if the BDM event rate obtained from this function is \(N_\chi\), then the total BDM event in a detector with electron number \(N_e\) is
mx
: float
Dark matter mass, MeV.
Tx_range
: list
Integration range for BDM kinetic energy[Tx_min,Tx_max]
, MeV. Default is[5,30]
.
t_range
: list
Integration range for exposure time[t_min,t_max]
, seconds. Default is[10,1.1045e+09]
and impliest_max
is around 35 years.
**kwargs
Keyword arguments for min distances and vegas. See default arguments insnorer.params.min_distance
andsnorer.params.vegas
.
out
: float
Event number of SN\(\nu\) BDM per electron.
References¶
Y.-H. Lin et al., Phys. Rev. D 108, 083013 (2023)