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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

Details for the file Histimator-0.2.1.tar.gz.

File metadata

  • Download URL: Histimator-0.2.1.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Histimator-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b089a033a999f3850a5ffcf39b8fb9cf81ba6ae57f4d4f91f7df0919638b8556
MD5 a27c0b100fd9a30bebc5aacdcd455301
BLAKE2b-256 773d464df0817e5dfc4514dcb6728284fc5878ee312783a0ddbefc7edb123afb

See more details on using hashes here.

File details

Details for the file Histimator-0.2.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for Histimator-0.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6c941c5a17c15dffc6047e4519758c64c547cbeaf95ee697b8759c01a1d81010
MD5 1225e6ed222ede857f411cac71a67178
BLAKE2b-256 206d96ded101c7aa2a6567f052999043d98fb4511b3e80ed3c505e231046a9b0

See more details on using hashes here.

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