Skip to main content

Streaming analysis for XENON

Project description

strax

Streaming analysis for Xenon experiments

Build Status Coverage Status PyPI version shields.io Join the chat at https://gitter.im/AxFoundation/strax Codacy Badge

Strax is an analysis framework for pulse-only digitization data, specialized for live data reduction at speeds of 50-100 MB(raw) / core / sec.

For comparison, this is more than 100x faster than the XENON1T processor pax, and does not require a preprocessing stage ('eventbuilder'). It achieves this due to using numpy structured arrays internally, which are supported by the amazing just-in-time compiler numba.

Features:

  • Start from unordered streams of pulses (like pax's trigger)
  • Output to files or MongoDB
  • Plugin system for extensibility
    • Each plugin produces a dataframe
    • Dependencies and configuration tracked explicitly
    • Limited "Event class" emulation for code that needs it
  • Processing algorithms: hitfinding, sum waveform, clustering, classification, event building

Strax is initially developed for the XENONnT experiment. However, the configuration and specific algorithms for XENONnT will ultimately be hosted into a separate repository.

Documentation

Documentation is under construction. For the moment, you might find these useful:

Installation

To install the latest stable version (from pypi), run pip install strax. Dependencies should install automatically: numpy, pandas, numba, two compression libraries (blosc and zstd and a few miscellaneous pure-python packages.

You can also clone the repository, then setup a developer installation with python setup.py develop.

If you experience problems during installation, try installing exactly the same version of the dependencies as used on he Travis build test server. Clone the repository, then do pip install -r requirements.txt.

Test data

The provided demonstration notebooks require test data that is not included in the repository. Eventually we will provide simulated data for this purpose. For now, XENON collaboration members can find test data at:

  • Processed only (for strax demo notebook)
  • Raw (for fake_daq.py and eb.py) at midway: /scratch/midway2/aalbers/test_input_data.zip

To use these, unzip them in the same directory as the notebooks. The 'processed' zipfile will just make one directory with a single zipfile inside.

Project details


Release history Release notifications | RSS feed

This version

0.1.1

Download files

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

Source Distribution

strax-0.1.1.tar.gz (40.3 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