Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

pynFold: implementation of various solutions to unfoldngand the inverse problem

Project description


pynFold (pronounced pen-fold) is a pythonic implementation of (eventually) many of the RooUnfold ROOT Unfolding Framework aiming to compare unfolding methods with those provided outisde of high energy physics and to increase to robustness of a flexible re-usable codebase.

The fbu algorithm implemented here is the fully basian unfolding method based code developed by Clement Helsens, Davide Gerbaudo, and Francesco Rubbo

Unfolding relates to the problem of estimating probability distributions in cases where no parametric form is available, and where the data are subject to additional random fluctuations due to limited resolution. The same mathematics can be found under the general heading of inverse problems, and is also called deconvolution or unsmearing.

This type of equation is also known as the Fredholm integral of the first kind. The Kernel K, acts as a smoothing matrix in the forward detector and we can interpret its elements as a matrix of probabilites, strictly positive between 0 and one. Inverting the matrix (if possible) resutls in strictly non-probabilistic terms that, instead of smothing, add large high frequency components due to arbitrarily small fluctuations. The goal of unfolding is to impose some knowledge about the smoothness of this matrix onto the inversion to suppress such high frequency elements.

This project is currently under development. If you would like to be involved please contact vincent.croft at


pynfold is licensed under the terms of the MIT license. See the file “LICENSE” for information on the history of this software, terms & conditions for usage, and a DISCLAIMER OF ALL WARRANTIES.

All trademarks referenced herein are property of their respective holders.

Copyright (c) 2018–, Vincent Alexander Croft, New York University Department of Physics and DIANA-HEP

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 pynfold, version 0.1.dev0
Filename, size File type Python version Upload date Hashes
Filename, size pynfold-0.1.dev0-py2.7.egg (38.7 kB) File type Egg Python version 2.7 Upload date Hashes View
Filename, size pynfold-0.1.dev0-py2-none-any.whl (19.4 kB) File type Wheel Python version py2 Upload date Hashes View
Filename, size pynfold-0.1.dev0-py2.py3-none-any.whl (19.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size pynfold-0.1.dev0.tar.gz (12.1 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 Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page