# DirectDetectionDarkMatter-experiments
| Package | CI |
| --- | --- |
|[![Documentation Status](https://readthedocs.org/projects/dddm/badge/?version=latest)](https://dddm.readthedocs.io/en/latest/?badge=latest) | [![CodeFactor](https://www.codefactor.io/repository/github/joranangevaare/dddm/badge)](https://www.codefactor.io/repository/github/joranangevaare/dddm)|
|[![PyPI version shields.io](https://img.shields.io/pypi/v/dddm.svg)](https://pypi.python.org/pypi/dddm/) | [![Pytest](https://github.com/joranangevaare/dddm/workflows/Pytest/badge.svg)](https://github.com/joranangevaare/dddm/actions?query=workflow%3APytest) |
|[![Python Versions](https://img.shields.io/pypi/pyversions/reprox.svg)](https://pypi.python.org/pypi/reprox)| [![Coverage Status](https://coveralls.io/repos/github/JoranAngevaare/dddm/badge.svg?branch=master)](https://coveralls.io/github/JoranAngevaare/dddm?branch=master)|
| | [![DOI](https://zenodo.org/badge/214990710.svg)](https://zenodo.org/badge/latestdoi/214990710)|
Probing the complementarity of several in Direct Detection Dark Matter Experiments to reconstruct
Dark Matter models
# Installation (linux)
Please follow the installation
script [here](https://github.com/JoranAngevaare/dddm/blob/master/.github/scripts/install_on_linux.sh)
For running on multiple cores, I'd advise using `conda install -c conda-forge mpi4py openmpi`
# Author
Joran Angevaare <j.angevaare@nikhef.nl>
# Requirements
- WIMP spectrum generation modules:
- [`wimprates`](https://github.com/joranangevaare/wimprates). For generic spectra generation
- [`verne`](https://github.com/joranangevaare/verne). For generating spectra taking into account earth shielding
- [`darkelf`](https://github.com/JoranAngevaare/DarkELF). For Ge/Si Migdal spectra generation
- Optimizer:
- [`multinest`](https://github.com/JohannesBuchner/PyMultiNest). The fastest, but installation can be tricky
- [`emcee`](https://emcee.readthedocs.io/en/stable/). Used mostly for validation of the other methods
- [`nestle`](http://kylebarbary.com/nestle/). Fully pythonic, works on all platforms and
- [`ultranest`]( https://johannesbuchner.github.io/UltraNest/using-ultranest.html). Still in alpha phase but has a lot of nice features
# Options
- Multiprocessing
- Earth shielding integration
- Computing cluster utilization
4.0.0 / 2022-07-28
------------------
Major changes:
- Add ultranest sampler by @JoranAngevaare in https://github.com/JoranAngevaare/dddm/pull/246
- Add dark-elf example by @JoranAngevaare in https://github.com/JoranAngevaare/dddm/pull/234
- Add DarkElf + test notebooks by @JoranAngevaare in https://github.com/JoranAngevaare/dddm/pull/215
## What's Changed
* Up utils coverage by @JoranAngevaare in https://github.com/JoranAngevaare/dddm/pull/206
* Bump actions/setup-python from 3.0.0 to 3.1.0 by @dependabot in https://github.com/JoranAngevaare/dddm/pull/207
* Bump typing-extensions from 4.1.1 to 4.2.0 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/211
* Bump pandas from 1.4.1 to 1.4.2 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/210
* Bump github/codeql-action from 1 to 2 by @dependabot in https://github.com/JoranAngevaare/dddm/pull/209
* Bump actions/setup-python from 3.1.0 to 3.1.2 by @dependabot in https://github.com/JoranAngevaare/dddm/pull/208
* Bump pytest from 7.1.1 to 7.1.2 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/212
* Bump tqdm from 4.63.1 to 4.64.0 by @dependabot in https://github.com/JoranAngevaare/dddm/pull/213
* Update numpy by @JoranAngevaare in https://github.com/JoranAngevaare/dddm/pull/214
* Add DarkElf + test notebooks by @JoranAngevaare in https://github.com/JoranAngevaare/dddm/pull/215
* Bump gvar from 11.9.7 to 11.10 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/219
* Bump emcee from 3.1.1 to 3.1.2 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/218
* Bump matplotlib from 3.5.1 to 3.5.2 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/216
* Bump psutil from 5.9.0 to 5.9.1 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/217
* Bump scipy from 1.8.0 to 1.8.1 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/220
* Bump sphinx from 4.5.0 to 5.0.0 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/221
* Bump nbsphinx from 0.8.8 to 0.8.9 by @dependabot in https://github.com/JoranAngevaare/dddm/pull/231
* Bump pandas from 1.4.2 to 1.4.3 by @dependabot in https://github.com/JoranAngevaare/dddm/pull/228
* Bump sphinx from 5.0.0 to 5.0.2 by @dependabot in https://github.com/JoranAngevaare/dddm/pull/227
* Bump nbsphinx from 0.8.8 to 0.8.9 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/226
* Bump pandas from 1.4.2 to 1.4.3 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/225
* Bump actions/setup-python from 3.1.2 to 4.1.0 by @dependabot in https://github.com/JoranAngevaare/dddm/pull/232
* Bump typing-extensions from 4.2.0 to 4.3.0 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/236
* Bump sphinx from 5.0.2 to 5.1.0 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/237
* Bump numba from 0.55.2 to 0.56.0 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/239
* Bump nbmake from 1.3.0 to 1.3.3 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/240
* Add dark-elf example by @JoranAngevaare in https://github.com/JoranAngevaare/dddm/pull/234
* Bump sphinx from 5.1.0 to 5.1.1 in /extra_requirements by @dependabot in https://github.com/JoranAngevaare/dddm/pull/245
* Add ultranest sampler by @JoranAngevaare in https://github.com/JoranAngevaare/dddm/pull/246
* Semiconductor experiments energy range by @JoranAngevaare in https://github.com/JoranAngevaare/dddm/pull/252
**Full Changelog**: https://github.com/JoranAngevaare/dddm/compare/v3.0.2...v4.0.0
3.0.2 / 2022-03-30
------------------
minor:
- Plotting tweaks (#203, 2e05346ed6f89d500e191eec3969d357b57a05b4)
- Test requirements (#184, #183, #187, #188, #189, #190, #191, #192, #193, #194, #196, #202, #200, #198)
3.0.1 / 2022-02-01
------------------
minor:
- Fix submission to stoomboot (#179)
- Fixes to the energy resolution / threshold (#176)
3.0.0 / 2022-01-30
------------------
major:
- Refactor dddm (#158)
patch:
- pipy install (#175)
- Write documentation(#169)
2.1.1 / 2022-01-30
------------------
patch:
- try upping coverage (#131)
- Sourcery refactored master branch (#141)
- fix line endings (#142)
- Increase testing stability (#145)
2.1.0 / 2021-11-23
------------------
minor:
- Fix name change of package (#109)
- Add seaborn copies for extracting confidence regions (#119, #130)
patch:
- Readme updates (000057cb1e90bd77a5a733eb134ac36641173ef9,
0776ec9d6f35c87c5ae755d8c080a5c6675bb95f, e366fabba589eb7779a65adc73bd657ec55ef102,
a9623b8092c0d800e21066c0c3207fb6927fde7e)
- add fixed priors (#129)
2.0.1 / 2021-09-17
------------------
patch:
- First apply smearing, then the threshold (#92)
- Fix kwargs setting for scatter plots (#107)
2.0.0 / 2021-08-25
------------------
major:
- Fix galactic and det spectrum (#87, #90)
minor:
- Don't use save-intermediate or emax for run_combined_multinest (#51)
- Use 1T low-er resolution (#52)
- Fix Ge-iZIP background rate (#53)
- Make 5 keV consistently emax (#56)
- Fix #54 - Update XENONnT (#84)
- Sdd result plotting (#83)
patch:
- Make requirements file pinned (#57)
- Add a logger with nice formatting (#85)
- Save canvas to pickle (#50)
- Restore autopep8 (#88)
- remove old notebooks (#91, 794adfb )
1.0.0 / 2021-06-22
------------------
major:
- Restructure code, get ready for release (#16)
- Restructure dddm and improve CI (#15)
- Debugging DirectDmTargets (#12)
minor:
- Update to run locally (#37)
- Small tweaks to context and verne interfacing (#30)
- Detector configurations and config passing (#13)
patch:
- Delete run_dddm_multinest (#46)
- Use dependabot for actions (#34, #35)
- Pending issues work in development (#32)
- use workflows for testing (#14)
- Fix the tests (#19)
- Flag files for computation before continuing (#10)
0.4.0 / 2020-04-23
------------------
- Working fully for three optimizers:
- multinest
- emcee
- nestle
0.1.0 / 2019-11-14
------------------
- Initial release