Skip to main content

A solution for performing maximum likelihood estimation on models built from histogram templates.

Project description

Histimator

https://img.shields.io/pypi/v/histimator.svg https://img.shields.io/travis/yhaddad/histimator.svg Documentation Status Updates

A solution for performing maximum likelihood estimation on models built from histogram templates.

Features

  • TODO

Usage

the histimator core directory has a file called Models containing the core HistiModel class.

the model is initialised:

from histimator.models import HistiModel
model = HistiModel("model name")

Each channel is defined as:

from histimodel.Channel import HistiChannel
SR = HistiChannel("SignalRegion")

data can be added to the channels as:

SR.SetData([list of data points])

any number of samples are defined as:

from histimator.models import HistiSample
sig = HistiSample("Signal")
bkg = HistiSample("Background")

each of which needs a histogram:

sig.SetHisto(numpy.histogram)
bkg.SetHisto(numpy.histogram)

currently the only parameters available are an overal normalisation on these templates. this is given with a name an initial value (default 1) and a range (default [0.1,10]). Currently no implementation is actually in place to tell Minuit about this range…:

sig.AddNorm("some_norm",1,0,3)

Finally, the samples must be added to the channel and this added to the model.:

SR.AddSample(sig)
SR.AddSample(bkg)
model.AddChannel(SR)

This model can now be evaluated using probfit Binned Likelihood function:

from iminuit import Minuit
from probfit import BinnedLH
blh = BinnedLH(model.pdf, data, bins=10, bound=bound, extended=True)
m = Minuit(blh, some_norm=0.5, error_some_norm=1.5)
m.migrad()

this has various built in plotting functionality.

https://github.com/Histimator/Histimator/blob/master/examples/fitnorm.png

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

0.1.0 (2018-02-16)

  • First release on PyPI.

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 Histimator, version 0.2.1
Filename, size & hash File type Python version Upload date
Histimator-0.2.1-py2.py3-none-any.whl (9.6 kB) View hashes Wheel 2.7
Histimator-0.2.1.tar.gz (19.1 kB) View hashes Source None

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 SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page