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.

Source Distribution

Histimator-0.2.1.tar.gz (19.1 kB view hashes)

Uploaded Source

Built Distribution

Histimator-0.2.1-py2.py3-none-any.whl (9.6 kB view hashes)

Uploaded Python 2 Python 3

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