Skip to content

Instantly share code, notes, and snippets.

@wiso
Created April 15, 2015 23:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wiso/443934add13fd7226e4b to your computer and use it in GitHub Desktop.
Save wiso/443934add13fd7226e4b to your computer and use it in GitHub Desktop.
chi2 problem root_bis
{
"metadata": {
"name": "",
"signature": "sha256:73fa0c55dc2c0975d9c2102088e87500ae209e8b36bf73fe3b3633d6fe405423"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import ROOT\n",
"from ROOT import RooFit\n",
"ROOT.gROOT.GetVersion()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 2,
"text": [
"'5.34/24'"
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"ws = ROOT.RooWorkspace()\n",
"ws.factory('RooExponential::model(x[0,10], q[-0.05, -1, 1])')\n",
"\n",
"x = ws.var('x')\n",
"model = ws.pdf('model')\n",
"\n",
"ws.saveSnapshot(\"initial\", ws.allVars())"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
"True"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"chi2s_1 = []\n",
"chi2s_2 = []\n",
"chi2s_3 = []\n",
"chi2s_4 = []\n",
"\n",
"for itoy in xrange(500):\n",
" ws.loadSnapshot(\"initial\")\n",
" data = model.generateBinned(ROOT.RooArgSet(x), 1000)\n",
" frame = x.frame()\n",
" #model.fitTo(data)\n",
" data.plotOn(frame, RooFit.Name(\"curve_data\"))\n",
" model.plotOn(frame, RooFit.Name(\"curve_model\"))\n",
" chi2s_1.append(frame.chiSquare() * x.getBins())\n",
" \n",
" function = model.asTF(ROOT.RooArgList(x))\n",
" curve_data = frame.findObject(\"curve_data\")\n",
" chi2s_2.append(curve_data.Chisquare(function))\n",
" \n",
" chi2_var = ROOT.RooChi2Var(\"chi2\", \"chi2\", model, data)\n",
" chi2s_3.append(chi2_var.getVal())\n",
" \n",
" chi2s_4.append(model.createChi2(data).getVal())\n",
" \n",
"print np.mean(chi2s_1)\n",
"print np.mean(chi2s_2)\n",
"print np.mean(chi2s_3)\n",
"print np.mean(chi2s_4)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"76.4864582446\n",
"878.662035541\n",
"132.348806411\n",
"100.650527002\n"
]
}
],
"prompt_number": 40
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plt.hist(chi2s_1, alpha=0.4, bins=np.arange(0, 300, 10), normed=True);\n",
"plt.hist(chi2s_3, alpha=0.4, bins=np.arange(0, 300, 10), normed=True);\n",
"plt.hist(chi2s_4, alpha=0.4, bins=np.arange(0, 300, 10), normed=True);\n",
"import scipy.stats\n",
"xx = np.arange(1, 300, 1)\n",
"plt.plot(xx, scipy.stats.chi2(100).pdf(xx), label='$\\mathsf{\\chi^2(100)}$')\n",
"plt.legend()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 38,
"text": [
"<matplotlib.legend.Legend at 0x15acc310>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nR//wzIWkz/0LdX23kD738ApgO8b17QK+Zaany/0TEREREREREREREREREREREREREREREREREZF0\n8/8BOcZ5t8yDLisAAAAASUVORK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x156c6310>"
]
}
],
"prompt_number": 38
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment