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.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-0.3.1.tar.gz (32.2 kB view hashes)

Uploaded Source

Supported by

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