singletscalar_dm package#
Module contents#
Singlet Scalar DM#
This modules provides the code for calculating cross sections, relic density and source spectra for the singlet scalar model of dark matter.
Notes
The package routines rely on additional data files containing the main data the computations are based on. These data files can be obtained by using the function import_data_file:
>>> from singletscalar_dm import import_data_file
... data_path = import_data_file('SHP_sigmav_bb.dat')
- singletscalar_dm.Br_inv(lambda_hs, DMmass, Gamma_H)[source]#
Calculates the Branching ratio of the Standard Model Higgs boson to invisible particles.
- Parameters:
lambda_hs (np.ndarray) – The coupling between Higgs boson and the dark matter.
DMmass (np.ndarray) – Dark matter mass values in GeV.
Gamma_H (np.ndarray) – The Higgs width in GeV.
- Returns:
Br_inv – The Branching ratio of Higgs to invisible.
- Return type:
ndarray
- singletscalar_dm.Br_inv_UL(lambda_hs, DMmass, Gamma_H, Gamma_inv_measured)[source]#
Calculates the upper limit on the Branching ratio of Higgs boson to invisible particles.
- Parameters:
lambda_hs (np.ndarray) – The coupling between Higgs boson and the dark matter.
DMmass (np.ndarray) – Dark matter mass values in GeV.
Gamma_H (np.ndarray) – The Higgs width in GeV.
Gamma_inv_measured (np.ndarray) – The Higgs with to invisible particles as measured experimentally.
- Returns:
Br_inv_ul – The upper limit on Branching ratio of Higgs to invisible particles.
- Return type:
ndarray
- singletscalar_dm.DMspectra_inttable(DMmass_val, lambdahs_val, particle, smooth=False)[source]#
Calculates the dark matter source spectra in units of dN/dlog10(x).
The computation is done for given values of the mass and lambda_HS.
- Parameters:
DMmass_val (np.ndarray) – Dark matter mass values in GeV.
lambdahs_val (np.ndarray) – Values of the lambda_HS parameter.
particle ({'gammas', 'positrons', 'antiprotons', 'neutrinos_e', 'neutrinos_mu', 'neutrinos_tau'}) – The annihilation channel of dark matter.
smooth (bool, default=False) – Whether to consider the smoothed spectra.
- Returns:
bins (ndarray) – The log-spaced bins in variable \(x = E/m_{DM}\).
spectra (ndarray) – The values of the spectra.
- singletscalar_dm.Gamma_inv(DMmass, lambda_hs)[source]#
Calculates the invisible width of the Higgs boson in GeV.
- Parameters:
DMmass (np.ndarray) – Dark matter mass values in GeV.
lambda_hs (np.ndarray) – The coupling between Higgs boson and the dark matter.
- Returns:
Gamma_inv – The invisible width of the Higgs boson.
- Return type:
ndarray
- singletscalar_dm.GetUL_DD_nomega(DMmass_val, Exp)[source]#
Provides the direct detection sigma SI upper limits for specified experiment.
It interpolates the limits on the array of dark matter masses provided. Limits are returned in units cm^2. The relic relic density and local dark matter density is the one of DM.
- Parameters:
DMmass (np.ndarray) – Dark matter mass values in GeV.
Exp ({'LZ', 'Darwin'}) – The experiment to consider.
- Returns:
ul – The upper limit values sampled at the provided masses.
- Return type:
ndarray
- singletscalar_dm.GetUL_DD_withomega(DMmass, Lambda_vec, Mass_vec, csi_vec, Exp)[source]#
Provides the direct detection sigma SI upper limits for specified experiment.
It interpolates the limits on the array of dark matter masses provided. Limits are returned in units cm^2. <missing>
- Parameters:
DMmass (np.ndarray) – Dark matter mass values in GeV.
Lambda_vec (np.ndarray) – Vector of the values of lambda_hs used for the calculation of the relic density
Mass_vec (np.ndarray) – Vector of the values of mass used for the calculation of the relic density
csi_vec (np.ndarray) – Vector of the values of csi used for the calculation of the relic density
Exp ({'LZ', 'Darwin'}) – The experiment to consider.
- Returns:
ul – The upper limit values sampled at the provided masses.
- Return type:
ndarray
- singletscalar_dm.SI_noomega(DMmass_val, lambdahs_val)[source]#
Provides the spin-independent cross-section for direct detection in cm^2.
The computation is done for given values of the mass and lambda_HS.
- Parameters:
DMmass_val (np.ndarray) – Dark matter mass values in GeV.
lambdahs_val (np.ndarray) – Values of the lambda_HS parameter.
- Returns:
sigma_si – The values of the spin-independent cross-section.
- Return type:
ndarray
- singletscalar_dm.SI_withomega(DMmass, lambda_hs, Lambda_vec, Mass_vec, csi_vec)[source]#
Provides the spin-independent cross-section for direct detection in cm^2.
This function takes into account the relic density for the values of the parameters lambda_hs and DMmass.
- Parameters:
lambdahs_val (np.ndarray) – Values of the lambda_HS parameter.
DMmass_val (np.ndarray) – Dark matter mass values in GeV.
Lambda_vec (np.ndarray) – Vector of the values of lambda_hs used for the calculation of the relic density
Mass_vec (np.ndarray) – Vector of the values of mass used for the calculation of the relic density
csi_vec (np.ndarray) – Vector of the values of csi used for the calculation of the relic density
- Returns:
sigma_si – The values of the spin-independent cross-section.
- Return type:
ndarray
- singletscalar_dm.flux_DM_prompt(Energy, DMmass, lambda_hs, warningprint)[source]#
Calculates prompt flux of gamma rays from dark matter annihilation for a given dark matter mass and lambda_hs.
- Parameters:
Energy (np.ndarray) – The gamma-ray energy in GeV
DMmass (np.ndarray) – Dark matter mass values in GeV.
lambda_hs (np.ndarray) – The coupling between Higgs boson and the dark matter.
warningprint ({True, False}) – Flag to decide if you want to print the warning messages or not
- Returns:
dNdE – The prompt flux of gamma rays from dark matter annihilation
- Return type:
ndarray
- singletscalar_dm.func_interpolate(varval, variablevec, funcvec)[source]#
This function is a generic 1D interpolator that can be used for every vectors variablevec,funcvec
- Parameters:
varval (np.ndarray) – Value at which the interpolation is performed
variablevec (np.ndarray) – Vector of the indipendent variable
funcvec (np.ndarray) – Vector of the dependent variable
- Returns:
result – Result of the interpolation at varval
- Return type:
ndarray
- singletscalar_dm.import_data_file(file_name)[source]#
Return the path of a data file in singletscalar_dm.data
- Parameters:
file_name (str) – The file name.
- Returns:
path – The path of the specified
file_name
.- Return type:
str
- Raises:
FileNotFoundError – If the specified file does not exist in the package data.
Notes
It leverages importlib.resources.path, which can be used from Python 3.7.
- singletscalar_dm.interpolate_Omega(mass_val, lambda_val, QCDmodel, warningprint)[source]#
Calculates the relic density as Omega h^2 given the dark matter mass and lambda_hs.
- Parameters:
mass_val (np.ndarray) – Dark matter mass values in GeV.
lambda_val (np.ndarray) – Values of the lambda_HS parameter.
QCDmodel ({'QCDA', 'QCDB'}) – Model for the QCD phase transition.
- Returns:
Omega_val – The values of the relic density interpolated on the 2d grid of mass and coupling.
- Return type:
np.ndarray
Notes
The computation of the relic density has been obtained via the code DRAKE and MICROMEGAs.
- singletscalar_dm.interpolate_Omega_MicrOMEGAs(mass_val, lambda_val)[source]#
Calculates the relic density as Omega h^2 given the mass and lambda.
- Parameters:
mass_val (np.ndarray) – Dark matter mass values in GeV.
lambda_val (np.ndarray) – Values of the lambda_HS parameter.
- Returns:
Omega_val – The value of the relic density interpolated on the 2d grid of mass and coupling.
- Return type:
np.ndarray
Notes
The computation of the relic density has been obtained via the code MicrOMEGAs.
- singletscalar_dm.interpolate_lambda(mass_val, Omega_val, QCDmodel, warningprint)[source]#
Calculates the lambda_HS parameter for given relic density and mass values.
- Parameters:
mass_val (np.ndarray) – Dark matter mass values in GeV.
Omega_val (np.ndarray) – The values of the relic density interpolated on the 2d grid of mass
QCDmodel ({'QCDA', 'QCDB'}) – Model for the QCD phase transition.
warningprint ({True, False}) – Flag to decide if you want to print the warning messages or not
- Returns:
lambda_val – Values of the lambda_HS parameter, obtained through interpolation.
- Return type:
np.ndarray
Notes
The computation of the parameter uses the computation of the relic density obtained via the code DRAKE and MICROMEGAs.
- singletscalar_dm.interpolate_lambda_MicrOMEGAs(mass_val, Omega_val, warningprint)[source]#
Calculates the lambda_HS parameter for given relic density and mass values.
- Parameters:
mass_val (np.ndarray) – Dark matter mass values in GeV.
Omega_val (np.ndarray) – The value of the relic density interpolated on the 2d grid of mass
warningprint ({True, False}) – Flag to decide if you want to print the warning messages or not
- Returns:
lambda_val – Values of the lambda_HS parameter, obtained through interpolation.
- Return type:
np.ndarray
Notes
The computation of the parameter uses the computation of the relic density obtained via the code MicrOMEGAs.
- singletscalar_dm.interpolate_relicdensity(mass_val, QCDmodel)[source]#
Calculates the lambda_hs value for which we obtain the observed DM relic density (Omegah^2=0.120).
- Parameters:
mass_val (np.ndarray) – Dark matter mass values in GeV.
QCDmodel ({'MICROMEGAs', 'QCDA', 'QCDB'}) – Model for the QCD phase transition.
- Returns:
lambda_val – Values of the lambda_HS parameter.
- Return type:
np.ndarray
Notes
The computation of the relic density has been obtained via the code DRAKE and MICROMEGAs.
- singletscalar_dm.lambda2sigmav(DMmass_val, lambdahs_val, table_int)[source]#
Returns the interpolated \(\sigma v\) value on mass and coupling.
The value is given in units of cm^3/s.
- Parameters:
DMmass_val (np.ndarray) – Dark matter mass values in GeV.
lambdahs_val (np.ndarray) – Values of the lambda_HS parameter.
table_int (np.ndarray) – Array containing all the computed values of the \(\sigma v\).
- Returns:
sigmav – The values of the \(\sigma v\).
- Return type:
np.ndarray
- singletscalar_dm.minimize_br_inv(DMmass, Gamma_H, Gamma_inv_measured)[source]#
Returns the upper limits for lambda_hs given the upper limits for the branching ratio of the Higgs boson into invisible particles
This function utilizes a minimazer to find the upper limit for lambda_hs. In particular, it finds the value of lambda_hs for which the theoretical value of Gamma^H_invisible is equal to the observed value.
- Parameters:
DMmass (np.ndarray) – Dark matter mass values in GeV.
Gamma_H (np.ndarray) – The Higgs width in GeV.
Gamma_inv_measured (np.ndarray) – The Higgs with to invisible particles as measured experimentally.
- Returns:
lambda_ul – Upper limit for lambda_hs found with collider constraints.
- Return type:
ndarray
- singletscalar_dm.provide_ULEXP(DMmass, Exp)[source]#
Provides the direct detection sigma SI upper limits for specified experiment.
It interpolates the limits on the array of dark matter masses provided. Limits are returned in units cm^2.
- Parameters:
DMmass (np.ndarray) – Dark matter mass values in GeV.
Exp ({'LZ', 'Darwin'}) – The experiment to consider.
- Returns:
ul (ndarray) – The upper limit values sampled at the provided masses.
Ref
—
- singletscalar_dm.sigmav_channels(DMmass_val, lambdahs_val, channel)[source]#
Calculate the \(\sigma v\) for a given value of mass and lambda_HS for a certain channel.
The value is given in units of cm^3/s.
- Parameters:
DMmass_val (np.ndarray) – Dark matter mass values in GeV.
lambdahs_val (np.ndarray) – Values of the lambda_HS parameter.
channel ({'tot', 'cc', 'bb', 'tt', 'tautau', 'gg', 'ww', 'zz', 'hh', 'aa', 'za'}) – The annihilation channel of dark matter.
- Returns:
sigmav – The values of the \(\sigma v\) for the selected channel.
- Return type:
np.ndarray
See also
_lambda2sigma
Notes
This function internally calls lambda2sigmav passing the
table_int
as the content of the data file related to thechannel
specified.