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 DOI

By Jelle Aalbers, Bart Pelssers, and Cristian Antochi

Tutorial and documentation

See the Tutorial and other notebooks in our separate notebooks repository.

Description

Flamedisx aims to increase the practical number of dimensions (e.g. s1, s2, x, y, z and time) and parameters (g1, g2, recombination model coefficients, electron lifetime, ...) in LXe TPC likelihoods.

Traditionally, we evaluate our signal and background models by filling histograms with high-statistics Monte Carlo simulations. However, the LXe emission model can be expressed so that the integral equivalent to an MC simulation can be computed with a few matrix multiplications. Flamedisx uses this to compute the probability density directly at each observed event, without using MC integration.

This has several advantages:

  • Each event has its "private" detector model computation at the observed (x, y, z, time), so it is easy and cheap to add time- and position dependences to the likelihood.
  • Since the likelihood for a dataset takes O(seconds) to compute, we can do this at each of optimizer's proposed points during inference. We thus remove a histogram precomputation step exponential in the number of parameters, and can thus fit a great deal more parameters.
  • By implementing the signal model in tensorflow, the likelihood becomes differentiable. Using the gradient during fitting drastically reducing the number of needed interactions for a fit or profile likelihood.

Note this is still under construction / development, so it probably has some bugs and little documentation.

0.4.0 / 2019-01-15

  • Many changes to objectives and inference (#39, #40)
  • 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.

Files for flamedisx, version 0.4.0
Filename, size File type Python version Upload date Hashes
Filename, size flamedisx-0.4.0.tar.gz (36.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page