Features - lopez86/PyWIMPs GitHub Wiki

Working

Astronomy and Particle Physics (astro and xsec modules)

  • Basic cross section model
  • Several form factors for both spin-independent and spin-dependent interactions
  • Standard halo model velocity distribution
  • Halo mean direction and velocity
  • Nucleus to nucleon normalization

Limit and interval setting (limits module)

  • Poisson frequentist upper limit (no background)
  • Feldman-Cousins confidence interval (known background rate)
  • CLs limits in a counting experiment.

Detector effects (det module)

  • Basic efficiency models: constant and logistic
  • Basic response models: ideal detector and Gaussian energy resolution
  • Experiment class to hold detector and physics models

Monte Carlo-based sampling (mc module)

  • Weighted samples using uniform velocity throws
  • Weighted samples drawing from a Maxwellian (Gaussian) velocity distribution
  • Unweighted samples using rejection sampling
  • Unweighted samples using a Markov chain with the Metropolis-Hastings algorithm

Note: All of these are designed to be used with the standard cross section and halo models here. They may not work with alternative models.

Examples

  • Some code to start training an MCMC model
  • Some code to compare the different sampling methods
  • An example of an annual modulation curve (threaded and unthreaded versions)

Future

Interactions

  • Inelastic dark matter scattering (small splitting between dark matter WIMPs and an excited state)
  • Coherent elastic neutrino scattering

More

  • Likelihood fitting of parameters
  • Bayesian limits
  • Maximum gap limits (Yellen 2002)
  • Model-independent annual modulation analysis
  • Spectrum and skymap plots
  • Cross section limit plots
  • Some ideas for daily modulation (directional) limits
  • Documentation - Explanation of physics, math, and stats used

Possible ambitious future project:

Toy simulation of a xenon TPC detector. Simulate a recoil and use geometry to assign hits to arrays of PMTs. Use machine learning techniques to calculate hit energies and positions (or at least a binary inside/outside fiducial volume)