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