Skip to main content

A package for analysis of rare particle decays with machine-learning algorithms

Project description

Code Health Build Status PyPI version


This package consists of several tools for the event selection of particle decays, mostly built on machine learning techniques. It contains:

  • a data-container holding data, weights, labels and more and implemented root-to-python data conversion as well as plots and KFold-data splitting
  • reweighting tools from the hep_ml-repository wrapped in a KFolding structure and with metrics to evaluate the reweighting quality
  • classifier optimization tools for hyper-parameters as well as feature selection involving a backward-elimination
  • an output handler which makes it easy to add text as well as figures into your code and automatically save them to a file
  • … and more

HowTo examples

To get an idea of the package, have a look at the howto notebooks: HTML version or the IPython Notebooks

Minimal example

Want to test whether your reweighting did overfit? Use train_similar:

import raredecay as rd

mc_data =, weights=*pd.Series weights*, target=0)
real_data =, weights=*pd.Series weights*, target=1)

score = rd.score.train_similar(mc_data, real_data, old_mc_weights=1 *or whatever weights the mc had before*)

Getting started right now

If you want it the easy, fast way, have a look at the Ready-to-use scripts. All you need to do is to have a look at every “TODO” task and probably change them. Then you can run the script without the need of coding at all.

Documentation and API

The API as well as the documentation: Documentation

Setup and installation


The package with all extras requires root_numpy as well as rootpy (and therefore a ROOT installation with python-bindings) to be installed on your system. If that is not the case, some functions won’t work.

Recommended installation (requires ROOT):

pip install raredecay[all] --process-dependency-links


Easiest way: use conda to install everything (except of the rep, which has to be upgraded with pip for some functionalities)

conda install raredecay -c mayou36

To make sure you can convert ROOT-NTuples, use

pip install raredecay[root]  # *use raredecay\[root\] in a zsh-console*

or, instead of root/additionally (comma separated) reweight or reweight for the specific functionalities.

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 raredecay, version 2.1.0
Filename, size File type Python version Upload date Hashes
Filename, size raredecay-2.1.0-py3-none-any.whl (114.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size raredecay-2.1.0.tar.gz (92.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page