Particle physicisits primarily use ROOT for the data analysis
framework. Part of that framework is a package
called RooFit statistical modeling and fitting package. I have
contributed to this package and added a layer on top
called RooStats that provides with statistical inference in both
frequentist and Bayesian paradigms based on statistical models made with
RooFit. These are the tools that were used to claim the discover the
Higgs boson, and those statistical models get pretty complicated.

I created a little IPython notebook to demonstrate a simple example of RooFit's ability to create a statistical model, generate
some simulated data, fit that data, create the profile likelihood, and
provide a covariance matrix from the likelihood fit. Enjoy!

Particle physicisits primarily use ROOT for the data analysis framework. Part of that framework is a package called RooFit statistical modeling and fitting package. I have contributed to this package and added a layer on top called RooStats that provides with statistical inference in both frequentist and Bayesian paradigms based on statistical models made with RooFit. These are the tools that were used to claim the discover the Higgs boson, and those statistical models get pretty complicated.

Here I demonstrate a simple example of RooFit's ability to create a statistical model, generate some simulated data, fit that data, create the profile likelihood, and provide a covariance matrix from the likelihood fit.

Here we create a "workspace" object that provides a factory with a convenient syntax for statistical models and variables. The workspace also provides an I/O mechanism to read/write statistical models and data to/from files.

In this example, we create a mixture model of a falling exponential distribution and a Gaussian for a variable x.
This is really a marked Poisson process, because in addition to the pdf on x, we also encode that we expect s=50 events from the Gaussian and b=100 events from the falling exponential.