Skip to main content

Fast likelihood analysis in more dimensions for xenon TPCs

Project description

Flamedisx

Fast likelihood analysis in more dimensions for xenon TPCs.

Build Status Documentation Status DOI ArXiv number Join the chat at https://gitter.im/AxFoundation/strax

Flamedisx aims to increase the practical number of dimensions and parameters in likelihoods for liquid-xenon (LXe) detectors, which are leading the field of direct dark matter detection.

Traditionally, particle physicists compute signal and background models by filling histogram 'templates' with high-statistics Monte Carlo (MC) simulations. However, the LXe model can also be computed with a series of (large) matrix multiplications, equivalent to the integral approximated by the MC simulation. Using TensorFlow makes this computation differentiable and GPU-scalable, so it can be used practically for fitting and statistical inference.

The result is a better sensitivity, since the likelihood can use all observables, and more robust fits, because using simultaneous correlated nuisance parameters no longer requires challenging interpolation and template morphing.

Getting started

To get started, Launch our tutorial on Colaboratory, or view it statically on GitHub or ReadTheDocs.

Our paper gives a detailed description of Flamedisx, and compares Flamedisx quantitatively to traditional template-based methods.

If you want all the details, see the Flamedisx Documentation and our Notebooks repository.

1.5.0 / 2021-06-29

  • Variable stepping, support for high-energy models (#127)
  • NEST models for post-quanta processes (#136)
  • Configuration system (#140, #147)
  • XENON1T: Fix S2 acceptance (#138) and unused imports (#128)
  • Update block system documentation (#139)

1.4.1 / 2021-04-20

  • Stabilize default optimizer with better parameter scaling (#114)
  • XENONnT: Support reading data from private repository (#115)
  • XENON1T: Variable elife (#118)
  • XENON1T: Npz resource reading (#123)

1.4.0 / 2021-03-05

  • Fix 'sticky defaults' bug (#110)
  • Enable GitHub Actions and Dependabot (#109)
  • Documentation updates (#92, notebooks#3)
  • Likelihood defaults support, simulate argument fixes (#103)
  • SpatialRateEnergySpectrum: Simplify API (#100) and fix draw_positions (#105)
  • WIMPEnergySpectrum: Accept event times slightly out of range (#99)
  • Do not round photons_detected_mle (#91)
  • XENON1T: fix S2 acceptance (#97) and name reconstruction efficiency pivots (#102)

1.3.0 / 2020-08-25

  • Block system (#81)
  • Documentation (#81)
  • Bugfixes (#83, #87, #89)

1.2.0 / 2020-07-21

  • Access BBF data and XENON-utilities (#80)
  • Double photoelectron emission modeling (#78)
  • Optimization improvements (#76)
  • Bugfix (#79)

1.1.0 / 2020-07-09

  • Nonlinear constraint limit setting (experimental) (#70)
  • Dimension scaling inside optimizers (#72)
  • Auto-guess rate multipliers (#74)
  • Python 3.8 builds (#73)
  • Add sanity checks on input and guess (#69)

1.0.0 / 2020-03-26

  • Fiducial volume specification (#64)
  • Added default cS1 cut (#63)
  • Cleanup and optimizations (#63, #64, #65)

0.5.0 / 2020-01-31

  • Autographed Hessian; use Hessian in the optimizer (#62)
  • Check for optimizer failures (#61)
  • Trace single-batch likelihood, but use numpy thereafter (#61)
  • Fix simulation/data discrepancy in recombination fluctuation
  • Adjust optimizer defaults
  • Option to use time-averaged WIMP spectra

0.4.0 / 2020-01-15

  • Many changes to objectives and inference (#59, #60)
  • Add tilt to objective for interval/limit searches
  • one_parameter_interval -> limit and interval methods
  • Optimizers use bounds
  • Tolerance option homogenization (first pass)
  • Auto-guess limits

0.3.1 / 2019-11-26

  • Performance improvements and cleanup (#58)
  • Improve one_parameter_interval arguments (#56)
  • Add Tutorial output to flamedisx-notebooks (#56)
  • Bugfixes (#57)

0.3.0 / 2019-11-19

  • Split off notebook folder to flamedisx-notebooks
  • Pass source specific parameters correctly (#51)
  • Flexible event padding (#54)
  • SciPy optimizer and optimizer settings (#54)
  • one_parameter_interval (#54)
  • Bugfixes (#46, #55, #51)
  • Unify optimizers (#54)

0.2.2 / 2019-10-30

  • Minuit optimizer (#40)
  • Likelihood simulator (#43, #44)
  • Updates to NRSource (#40)

0.2.1 / 2019-10-24

  • Workaround for numerical errors (#38, #39)

0.2.0 / 2019-10-11

  • Spatially dependent rates (#27)
  • Time dependent energy spectra (#24)
  • XENON1T SR1-like model / fixes (#22, #32)
  • Switch optimizer to BFGS + Hessian (#19)
  • Multiple source support (#14)
  • Optimization (#13)
  • Bugfixes / refactor (#18, #20, #21, #28, #30, #31, #35)

0.1.2 / 2019-07-24

  • Speedup ER computation, add tutorial (#11)
  • Optimize lookup-axis1 (#10)

0.1.1 / 2019-07-21

  • 5x speedup for Hessian (#9)
  • Fix pip install

0.1.0 / 2019-07-16

  • Batching (#7)
  • Inference (#6)
  • Ported to tensorflow / GPU support (#1, #2, #3, #5)

0.0.1 / 2019-03-17

  • Initial numpy-based version

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flamedisx-1.5.0.tar.gz (86.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flamedisx-1.5.0-py3-none-any.whl (100.0 kB view details)

Uploaded Python 3

File details

Details for the file flamedisx-1.5.0.tar.gz.

File metadata

  • Download URL: flamedisx-1.5.0.tar.gz
  • Upload date:
  • Size: 86.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for flamedisx-1.5.0.tar.gz
Algorithm Hash digest
SHA256 4bbe5f5ff24e236fe47118f25c609d4f5c84a63cd37a6c0e9b910aac858e26b8
MD5 42510bf193a27ab11d3191befa993e66
BLAKE2b-256 9ce634c4f93c3db0b1f72f6f9c6ce72d7d74d0f090dd136ab3eca5da6cd778c6

See more details on using hashes here.

File details

Details for the file flamedisx-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: flamedisx-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 100.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for flamedisx-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 30c31f8e92742d4ce1c8b3bd11a9a6b708ec58805f61ade6d24a70a468259369
MD5 127e9f056d731c3cea9b8986f9690588
BLAKE2b-256 b615beeba5b6007cc1a6c105fc432ee589b012a745684c6029ad4ad3f87d3157

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page