Skip to content
Implications for particle dark matter if primordial black holes are detected with gravitational waves or radio observations
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
figures update and merge README May 3, 2019
LICENSE update p_gamma script comments May 3, 2019

Constraining weakly interacting massive particles with primordial black holes

DOI arXiv

Read the paper: arXiv:1905.01238.

Code authors: Adam Coogan, Daniele Gaggero and Bradley Kavanagh.

Reproducing results

The figures can be remade with the following commands:

  • Figure 1: python
  • Figure 2: python -plot_limits
  • Figure 3: python -plot_ps_diff

Computing the point-source limits requires making tables containing p_gamma, the probability that an individual PBH is detectable by Fermi-LAT. The tables used for the analysis in the paper are contained in the directory data/p_gammas/. These may take a few hours to recompute. They can be regenerated with python -test. With the -test flag, the p_gamma tables will be written to data/p_gammas/test/ instead of overwriting the precomputed tables. The script can also be used to generate p_gamma tables over different (m_dm, sv) grids.

All limit calculations require tabulated posteriors of f_pbh. These are provided in data/posteriors_f but they can be recomputed by running the script This script calls a number of scripts in src/ which calculate the posteriors from gravitational wave observations. Run python src/ -h and python src/ -h for more detailed usage of these scripts. Scripts for calculating posteriors from SKA will be added shortly.

bayesian branch

This branch contains code for performing a Bayesian analysis of the cross section limits.

  • The notebook plot_bayesian_limits.ipynb generates Bayesian versions of figures 2 and 3 assuming a uniform prior on the cross section.
  • generates tables of the posterior over a grid of (m_dm, sv) points for the diffuse analysis. The posterior is very simple: we marginalize over f, assume the background model for the EGB perfectly matches observations, and simply penalize the extragalactic flux from PBHs for exceeding zero using a Gaussian likelihood for each bin.
  • The analysis point-source analysis assumes that astrophysical sources can appear in the unassociated point source catalogue with an unknown rate, which we marginalize over assuming a Jeffreys prior. The script generates tables of p_gamma and the posterior over an (m_dm, sv) grid.
You can’t perform that action at this time.