Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
November 8, 2018 12:19
December 4, 2018 13:34
December 4, 2018 13:34
October 12, 2018 15:12
November 26, 2018 19:01
December 5, 2018 08:41
December 5, 2018 08:39
December 5, 2018 08:39


Is it possible to make a Dark Matter detection with a paleo-detector?

Binder DOI MIT Licence

Code for calculating track length spectra in paleo-detectors and exploring paleo-detector sensitivity to Dark Matter (DM). This code can be used to reproduce the results of arXiv:1811.10549, "Digging for Dark Matter: Spectral Analysis and Discovery Potential of Paleo-Detectors".

More information about paleo-detectors can also be found in arXiv:1806.05991 and arXiv:1811.06844.

Authors: Thomas D P Edwards, Bradley J Kavanagh.

Please get in touch with any questions, comments or bug-reports.

Overview: Paleopy

The core of the code runs on the paleopy package. This includes data for converting recoil energies to track lengths, along with tables of background distributions. This then allows you to calculate all the relevant track length distributions. The currently supported minerals are Nchwaningite, Sinjarite, Halite, Olivine, Gypsum and Phlogopite.

To run the notebooks it is required to install the paleopy package with:

pip3 install git+

Check out Notebooks/PlotSpectra.ipynb for an illustration of how to use the code: Binder


SRIM data

SRIM data can be found in Data/dRdESRIM. There, you'll also find CleanSRIM.ipynb, which lets you clean up the standard SRIM output files so that they can be read by the code (you just have to trim off the top and bottom junk from the files first, then the notebook can read them in and format them properly).


Tables of projected upper limits and discovery reach are output to ES/limits.


The code in this repo should run with Python3. Standard library requirements are in requirements.txt. In addition, you will need swordfish for performing the statistical analysis and WIMpy for calculating the DM and neutrino spectra.