{ "metadata": { "name": "tutorial" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "probfit Basic Tutorial" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Lets start with a simple simple straight line\n", "\n", "We can't really call this a fitting package without being able to fit a straight line, right?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from probfit import describe, Chi2Regression\n", "import iminuit\n", "import numpy as np\n", "import numpy.random as npr" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "#lets make s straight line with gaussian(mu=0,sigma=1) noise\n", "npr.seed(0)\n", "x = linspace(0,10,20) \n", "y = 3*x+15+ randn(20)\n", "err = np.array([1]*20)\n", "errorbar(x,y,err,fmt='.');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nLafTqbvvvtvqsizV0NAgl8slSXK5XGpoaAj5mqj/H5XofzL3pKWlRTNnztSyZcs0PEGvtvH+++8r\nNTVVubm5CT0al6SzZ89q9+7d+tGPfqTdu3fr8ssvD+vP58HowIED+uUvf6na2lp98cUXamlp0W9/\n+1ury4obnW3eoUQ9yK+55hrV1dV1/VxXV6f09PRov41tnDlzRjNmzNBjjz2moqIiq8uxzI4dO1RZ\nWanMzEzNnj1bH374oR5//HGry7JEenq60tPT9Z3vfEeSNHPmTO3evdviqqyxa9cuff/739e3vvUt\nDR06VA8++KB27NhhdVmWcrlcqq+vl2S2eqempoZ8TdSDPC8vT5999plqa2vV1tam3/3udyosLIz2\n29iCYRiaP3++srKy9PTTT1tdjqVKS0tVV1enmpoarVmzRpMnT9aqVausLssSaWlpGj16tPx+vyTp\ngw8+UHZ2tsVVWeOWW27Rzp07dfr0aRmGoQ8++EBZWVlWl2WpwsJClZeXS5LKy8vDGwDGoqVmw4YN\nxk033WRcf/31RmlpaSzewha2bdtmOBwO49ZbbzVycnKMnJwcY+PGjVaXZTmfz2dMnz7d6jIstWfP\nHiMvL88YP3688cADDxjNzc1Wl2SZV155pav98PHHHzfa2tqsLmnAPPLII8ZVV11lJCUlGenp6cbb\nb79tfPnll0Z+fn6f2g9jdoUgAMDASOz2AQAYBAhyALA5ghwAbI4gBwCbI8gBwOYIcgCwuf8HRkG1\np/ZfpU4AAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "#lets define our line\n", "#first argument has to be independent variable\n", "#arguments after that are shape parameters\n", "def line(x,m,c): #define it to be parabolic or whatever you like\n", " return m*x+c\n", "#We can make it faster but for this example this is plentily fast.\n", "#We will talk about speeding things up later(you will need cython)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "describe(line)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 4, "text": [ "['x', 'm', 'c']" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "#cost function\n", "chi2 = Chi2Regression(line,x,y,err)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "#Chi^2 regression is just a callable object nothing special about it\n", "describe(chi2)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 6, "text": [ "['m', 'c']" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "#minimize it\n", "#yes it gives you a heads up that you didn't give it initial value\n", "#we can ignore it for now\n", "minimizer = iminuit.Minuit(chi2) #see iminuit tutorial on how to give initial value/range/error\n", "minimizer.migrad(); #very stable robust minimizer\n", "#you can look at your terminal to see what it is doing;" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "-c:4: InitialParamWarning: Parameter m does not have initial value. Assume 0.\n", "-c:4: InitialParamWarning: Parameter m is floating but does not have initial step size. Assume 1.\n", "-c:4: InitialParamWarning: Parameter c does not have initial value. Assume 0.\n", "-c:4: InitialParamWarning: Parameter c is floating but does not have initial step size. Assume 1.\n" ] }, { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 12.0738531135TOTAL NCALL = 36NCALLS = 36
EDM = 1.10886029888e-21GOAL EDM = 1e-05\n", " UP = 1.0
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1m2.886277e+007.367884e-020.000000e+000.000000e+00
2c1.613795e+014.309458e-010.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "#lets see our results\n", "print minimizer.values\n", "print minimizer.errors" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "{'c': 16.137947520534624, 'm': 2.8862774144823855}\n", "{'c': 0.4309458211385722, 'm': 0.07367884284273937}\n" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "#or a pretty printing\n", "minimizer.print_fmin()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 12.0738531135TOTAL NCALL = 36NCALLS = 36
EDM = 1.10886029888e-21GOAL EDM = 1e-05\n", " UP = 1.0
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1m2.886277e+007.367884e-020.000000e+000.000000e+00
2c1.613795e+014.309458e-010.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "####Parabolic error\n", "is calculated using the second derivative at the minimum\n", "This is good in most cases where the uncertainty is symmetric not much correlation\n", "exists. Migrad usually got this accurately but if you want ot be sure\n", "call minimizer.hesse() after migrad\n", "####Minos Error\n", "is obtained by scanning chi^2 and likelihood profile and find the the point\n", "where chi^2 is increased by 1 or -ln likelihood is increased by 0.5\n", "This error is generally asymmetric and is correct in all case.\n", "This is quite computationally expensive if you have many parameter.\n", "call minimizer.minos('variablename') after migrad to get this error" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#let's visualize our line\n", "chi2.draw(minimizer)\n", "#looks good" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXIAAAD9CAYAAAChtfywAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt8zuX/wPHXsHKKOW1kMocxY7Y5JCkWjRCJnBKjsb76\nqRzKKTLfikmSopPEJKfqq1QoslsIS8wpGdoYtoltmGGn6/fHZfe98+4d73vb+/l47LF9Pvfn/tzX\n/TbX/dn7c13vy0YppRBCCFFqVbB0A4QQQhSOdORCCFHKSUcuhBClnHTkQghRyklHLoQQpZx05EII\nUcpVyusAJycnatSoQcWKFbG1tSU4OJiYmBiGDh3KuXPncHJyYuPGjdjZ2ZVEe4UQQmSS5xW5jY0N\nBoOBw4cPExwcDEBAQADe3t6EhobSo0cPAgICir2hQgghsmdWaiXznKHNmzfj4+MDgI+PD999913R\nt0wIIYRZbPKa2dm0aVNq1qxJxYoVeeGFFxg3bhy1atUiNjYW0J187dq1jdvGE9vYFF+rhRCiDMv3\nhHuVh0uXLimllLp8+bJyd3dXv/32m7Kzs8twTK1atbI8z4xTlxtz5syxdBOshsTCRGJhIrEwKUjf\nmWdqpUGDBgDUq1ePp59+muDgYBwcHIiKigIgMjISe3v7/H7glCvh4eGWboLVkFiYSCxMJBaFk2tH\nnpCQwI0bNwC4efMmv/zyC25ubvTv35/AwEAAAgMDGTBgQPG3VAghRLZyHX4YHR3N008/DUBycjIj\nRoygZ8+edOjQgSFDhrBixQrj8EORs9GjR1u6CVZDYmEisTCRWBROnjc7C3xiG5v8J+yFEKKcK0jf\nKTM7S4DBYLB0E6yGxMJEYmEisSgc6ciFEKKUk9SKEEJYEUmtCCFEOSQdeQmQ/J+JxMJEYmEisSgc\n6ciFEKKUK/cd+YgRI3BxccHNzQ1fX1+Sk5OzPe7ll1+mdevWuLq68sorrxj3b9myBQ8PDzw9PXn0\n0Uc5e/as8TGDwYCnpycTJkzAy8vL7DbFxMTg7e1NixYt6NmzJ3Fxcdket23bNlxcXHB2dmbBggXG\n/cOGDcPT0xNPT0+aNGmCp6cnAMHBwcb9bdu2ZcOGDcbnJCYm4ufnR8uWLWnVqhX/+9//ADhz5gyP\nPvoonp6euLu7s3XrVrPfR3byE4eyTmJhIrEopCIsEZBBMZ66SG3ZssX48/Dhw9XHH3+c5ZigoCDV\npUsXlZqaqlJSUlTnzp3Vrl27lFJKNW7cWP39999KKaU++ugjNXr0aKWUUrGxscrV1VVFREQopZT6\n999/sz1v2vHpvfbaa2rBggVKKaUCAgLUtGnTshyTnJysmjVrpsLCwlRiYqJyd3dXf/31V5bjpkyZ\not58802llFIJCQkqJSVFKaVUZGSkqlOnjkpOTlZKKfXGG2+o2bNnG5935coVpZRSPj4+6pNPPlFK\nKfXXX38pJyenLK8hhCg6Bek7rfqKPDw8HBcXF8aMGUPLli0ZMWIEv/zyC126dKFFixb88ccfhX6N\n3r17G3/u2LEjFy5cyHKMg4MDiYmJ3Llzh1u3bpGUlISDgwOga9Fcu3YNgLi4OBo2bAjA2rVrGTRo\nEI6OjhgMBurWrWt2m8wpExwcHEzz5s1xcnLC1taWYcOG8f3332c4RinFxo0bGT58OABVqlShQgX9\nT37r1i1jVUuAlStXMmPGDONz69Spk+v7KyjJhZpILEwkFoWT5wpBlnb27Fm+/fZbXF1d6dixIxs2\nbGDv3r1s3ryZefPmsWnTpgzHh4aGMnTo0CznSVsgo0aNGtm+TlJSEmvWrOGDDz7I8lirVq3o2bMn\nDRo0QCnFSy+9RMuWLQFYunQpPXv2pGrVqtSoUYMDBw4AcPr0aZKSknjssce4dOkSs2bNYuTIkQA8\n9NBD3Llzh/j4eGJiYoypj3feeQdvb2+io6ONHxQODg5ER0dnadPFixdp1KiRcdvR0dH42ml2796N\ng4MDzZo1M+4LDg5mzJgxhIWFsW7dOgBj6mbWrFkYDAaaNWvG0qVLsbe3Z8aMGXTu3JkPP/yQmzdv\n8uuvv2YbPyGEBRX53wV3FcWpw8LClLOzs3F71KhRau3atUoppc6ePas8PDwK/Rppxo4dqyZNmpTt\nY7t27VIPP/ywunnzpoqPj1edO3dWu3fvVikpKapVq1YqODhYKaXUwoUL1dixY5VSSv3f//2f6ty5\ns0pISFBXrlxRzs7OKjQ0NMN5DQZDtqkVc8oEf/PNN8bXUkqpL7/8Uk2YMCHDMf/5z3/Ue++9l+17\nOnnypGrcuLG6du2a+vfff5WNjY369ttvlVJKvffee2rkyJFKKaV8fX2N59i3b59ydXXN9nxCiKJR\nkL7T6q/I7733XuPPFSpU4J577jH+nN2NyVOnTjFs2LBsz2UwGKhZs2aW/XPnzuXq1assX7482+ft\n37+f3r17U7VqVUCnY/bt20eLFi1ITEykY8eOAAwZMsSYqmnUqBF169alSpUqVKlSha5du3LkyBGc\nnZ0znDu7BTjSygTXr18/xzLBDRs2JCIiwrgdERGBo6OjcTs5OZlNmzZx6NChbN+Ti4sLzZo14/Tp\n07Rr146qVasycOBAAJ555hlWrFgBwO+//87cuXMB/ZfE7du3uXLlSr5SRUKI4mXVOfKCaNmyJYcP\nH872K7tO/PPPP+eXX35h7dq1OZ7TxcWFXbt2kZKSQlJSErt27cLV1ZW6deuSkJDA6dOnAdi+fTuu\nrq4APPXUU+zZs4eUlBS2bdvGgQMHjI+l6datG1988UWW1zOnTHCHDh04ffo04eHhJCYmsmHDBvr3\n7298fMeOHbRq1Yr777/fuC88PNz44Xfu3DlOnz6Ns7MzNjY29OvXj6CgIAB+/fVXWrdubXzvO3bs\nAODkyZPcvn27UJ245EJNJBYmEovCsfor8sxXrOm3i2I5ufHjx+Pk5ETnzp0BGDRoELNmzeLgwYN8\n+umnLF++nP79+xMUFIS7uztKKXr37k3fvn0B+OKLLxgyZIhxybu0jtnFxYUnnniCtm3bcuvWLSZO\nnGjsyNNy5Jml5cinT5+ebZngS5cuMW7cOH766ScqVarE0qVL6dWrFykpKfj6+tKqVSvjuTZs2GC8\nyZlmz549BAQEYGtri62tLZ999pnxnsGCBQsYOXIkEydOxN7enpUrVwKwcOFCfH19Wbx4MTY2NsYP\nGCGE9ZBaK0IIYUWk1ooQQpRD0pGXAMn/mUgsTCQWJhKLwpGOXAghSrly15G//vrrPPDAA9x3331Z\nHtu4cSOtW7emTZs2jBgxIt/PB/j222+pUKFChmF/edWRCAsLo1OnTjg7OzNs2DCSkpJyPPb69es4\nOjry0ksvGff5+vri4eFB27Ztefrpp40zMUHXiHF2dsbd3Z3Dhw8b9y9ZsgQ3NzfatGnDkiVLcm1f\nUZKaGiYSCxOJRSEV6Uj2dIrx1IVy4MABFRkZqapXr55hf2hoqPL09FRxcXFKqexro+T2fKWUun79\nunr00UdV586d1Z9//pnl8ZUrVyp/f/8s+wcPHqw2bNiglNKTeLKr95Lm5ZdfVs8++2yGyT/Xr183\n/jx58mRjbZWffvpJ9e7dWyml1P79+1WnTp2UUkodO3ZMtWnTRt26dUslJyerxx9/XJ05cybH1xRC\n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\nIF3nnwAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "#Sometime we want the error matrix\n", "print 'error matrix:\\n', minimizer.matrix()\n", "#or correlation matrix\n", "print 'correlation matrix:\\n', minimizer.matrix(correlation=True)\n", "#or a pretty html\n", "#despite the method named error_matrix it's actually a correlation matrix\n", "minimizer.print_matrix()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "error matrix:\n", "((0.005428571882645087, -0.027142859751431703), (-0.027142859751431703, 0.18571430075679826))\n", "correlation matrix:\n", "((1.0, -0.8548504260481388), (-0.8548504260481388, 1.0))\n" ] }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+\n", "
\n", "
\n", " m\n", "
\n", "
\n", "
\n", "
\n", "
\n", " c\n", "
\n", "
\n", "
m\n", " 1.00\n", " \n", " -0.85\n", "
c\n", " -0.85\n", " \n", " 1.00\n", "
\n", "\n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Simple gaussian distribution fit\n", "In high energy physics, we usually want to fit a distribution to a histogram. Let's look at simple gaussian distribution" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy.random as npr\n", "import iminuit\n", "from probfit import BinnedLH" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "#First lets make our data\n", "npr.seed(0)\n", "data = randn(10000)*4+1\n", "#sigma = 4 and mean = 1\n", "hist(data,bins=100,histtype='step');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here is our PDF/model" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#normalized gaussian\n", "def myPDF(x,mu,sigma):\n", " return 1/sqrt(2*pi)/sigma*exp(-(x-mu)**2/2./sigma**2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "#build your cost function here we use binned likelihood\n", "cost = BinnedLH(myPDF,data)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "#Let's fit\n", "minimizer = iminuit.Minuit(cost,sigma=3.) #notice here that we give initial value to sigma\n", "#but most of the time we want to see it before fitting\n", "cost.draw(minimizer)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "-c:2: InitialParamWarning: Parameter mu does not have initial value. Assume 0.\n", "-c:2: InitialParamWarning: Parameter mu is floating but does not have initial step size. Assume 1.\n", "-c:2: InitialParamWarning: Parameter sigma is floating but does not have initial step size. Assume 1.\n" ] }, { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "minimizer.migrad() #very stable minimization algorithm\n", "#like in all binned fit with long zero tail. It will have to do something about the zero bin\n", "#dist_fit handle them gracefully but will give you a head up" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "-c:1: LogWarning: x is really small return 0\n" ] }, { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 20.9368166553TOTAL NCALL = 46NCALLS = 46
EDM = 1.45381812456e-06GOAL EDM = 5e-06\n", " UP = 0.5
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1mu9.258754e-013.962599e-020.000000e+000.000000e+00
2sigma3.952381e+002.826741e-020.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" }, { "output_type": "pyout", "prompt_number": 17, "text": [ "({'hesse_failed': False, 'has_reached_call_limit': False, 'has_accurate_covar': True, 'has_posdef_covar': True, 'up': 0.5, 'edm': 1.4538181245599543e-06, 'is_valid': True, 'is_above_max_edm': False, 'has_covariance': True, 'has_made_posdef_covar': False, 'has_valid_parameters': True, 'fval': 20.93681665525327, 'nfcn': 46},\n", " [{'is_const': False, 'name': 'mu', 'has_limits': False, 'value': 0.9258754454758255, 'number': 0L, 'has_lower_limit': False, 'upper_limit': 0.0, 'lower_limit': 0.0, 'has_upper_limit': False, 'error': 0.039625990354239755, 'is_fixed': False},\n", " {'is_const': False, 'name': 'sigma', 'has_limits': False, 'value': 3.9523813236078955, 'number': 1L, 'has_lower_limit': False, 'upper_limit': 0.0, 'lower_limit': 0.0, 'has_upper_limit': False, 'error': 0.028267407263212106, 'is_fixed': False}])" ] } ], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "#you can see if your fit make any sense too\n", "cost.draw(minimizer)#uncertainty is given by symetric poisson" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nY5Tz589jY2MDgI2NDefPny9lC9Oitb97UC5mi42Nxc/Pr9ztX2Wd/dNPP42Hh0eRny1bttxzm/vv\nv5+kpCRiY2P58ssveemll8jIuPdVr1XJmPzFKeu1ClXpXu8lPDycsWPHkpCQwOHDh2nTpg1vvfWW\n2nFLZQptWlF79+4lNjaWiIgI5s2bx+7du9WOVCFmZmaa+nfR4t/99evXGThwILNnz6Zx48aFHitL\n+1fZYNI7duwo9zZ16tShTp06AHTq1AlHR0fi4+Pp1KlTZccrlTH5i7vmwNbWtjJjGaWs7yUkJIS+\nfftWcZqKK8v1H6auTZs2ALRs2ZLnn3+emJgYHn/8cZVTlY+NjQ1paWm0bt2a1NRUWrVqpXakMiuY\nVQt/91lZWQwcOJDhw4fTv39/oPztr3oZp2Dd7OLFi+Tk5ABw9uxZ4uPjadu2rVrRyqRg/oCAANas\nWYNerychIYH4+Hi6dOmiYrrSpaamGm5v2rQJDw8PFdOUjdav4bh586bhG+uNGzfYvn27Jtr9bgEB\nASxduhSApUuXGjohLdDS370QguDgYNzc3Jg4caLh/nK3fxUeRL6nH374QdjZ2Yl69eoJGxsb8eyz\nzwohhNiwYYNwd3cXXl5eolOnTuKnn35SI16p7pVfCCE+/vhj4ejoKNq3by8iIyNVTFk2w4cPFx4e\nHqJjx46iX79+Ii0tTe1IZbJt2zbRrl074ejoKD755BO145TL2bNnhaenp/D09BTu7u6ayB8YGCja\ntGkjrKyshJ2dnVi8eLG4dOmS6N69u8mfenl39rCwME393e/evVuYmZkJT0/PQqeKlrf9VZ2WUJIk\nSaoeqpdxJEmSpKonO3tJkqRaQHb2kiRJtYDs7CVJkmoB2dlLkiTVArKzlyRJqgX+H8LQ0jMH7tmI\nAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [ "#let's see the result\n", "print 'Value:', minimizer.values\n", "print 'Error:', minimizer.errors" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Value: {'mu': 0.9258754454758255, 'sigma': 3.9523813236078955}\n", "Error: {'mu': 0.039625990354239755, 'sigma': 0.028267407263212106}\n" ] } ], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "#That printout can get out of hand quickly\n", "minimizer.print_fmin()\n", "#and correlation matrix\n", "#will not display well in firefox(tell them to fix writing-mode:)\n", "minimizer.print_matrix()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 20.9368166553TOTAL NCALL = 46NCALLS = 46
EDM = 1.45381812456e-06GOAL EDM = 5e-06\n", " UP = 0.5
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1mu9.258754e-013.962599e-020.000000e+000.000000e+00
2sigma3.952381e+002.826741e-020.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+\n", "
\n", "
\n", " mu\n", "
\n", "
\n", "
\n", "
\n", "
\n", " sigma\n", "
\n", "
\n", "
mu\n", " 1.00\n", " \n", " -0.00\n", "
sigma\n", " -0.00\n", " \n", " 1.00\n", "
\n", "\n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" } ], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "#how about making sure the error making sense\n", "minimizer.draw_mnprofile('mu');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "-c:2: LogWarning: x is really small return 0\n" ] }, { "output_type": "display_data", "png": "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\n/zjn0WlBGbezAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "#2d contour error\n", "#you can notice that it takes sometime to draw\n", "#we will this is because our PDF is defined in Python\n", "#we will show how to speed this up later\n", "minimizer.draw_mncontour('mu','sigma');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/iminuit/_plotting.py:85: LogWarning: x is really small return 0\n", " sigma=this_sig)\n" ] }, { "output_type": "display_data", "png": "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\nTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 22 }, { "cell_type": "markdown", "metadata": {}, "source": [ "##How about Chi^2\n", "\n", "Let's explore another popular cost function chi^2. Chi^2 is bad when you have bin with 0. ROOT just ignore. ROOFIT does something I don't remember. But's it's best to avoid using chi^2 when you have bin with 0 count." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy.random as npr\n", "from math import sqrt,exp,pi\n", "import iminuit\n", "from probfit import Extended, gaussian, BinnedChi2, describe" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 23 }, { "cell_type": "code", "collapsed": false, "input": [ "#we will use the same data as in the previous example\n", "npr.seed(0)\n", "data = npr.randn(10000)*4+1\n", "#sigma = 4 and mean = 1\n", "hist(data, bins=100, histtype='step');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 24 }, { "cell_type": "code", "collapsed": false, "input": [ "#And the same PDF: normalized gaussian\n", "def myPDF(x,mu,sigma):\n", " return 1/sqrt(2*pi)/sigma*exp(-(x-mu)**2/2./sigma**2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 25 }, { "cell_type": "code", "collapsed": false, "input": [ "#binned chi^2 fit only makes sense(for now) for extended fit\n", "extended_pdf = Extended(myPDF)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 26 }, { "cell_type": "code", "collapsed": false, "input": [ "#very useful method to look at function signature\n", "describe(extended_pdf) #you can look at what your pdf means" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 27, "text": [ "['x', 'mu', 'sigma', 'N']" ] } ], "prompt_number": 27 }, { "cell_type": "code", "collapsed": false, "input": [ "#Chi^2 distribution fit is really bad for distribution with long tail\n", "#since when bin count=0... poisson error=0 and blows up chi^2\n", "#so give it some range\n", "chi2 = BinnedChi2(extended_pdf,data,bound=(-7,10))\n", "minimizer = iminuit.Minuit(chi2,sigma=1)\n", "minimizer.migrad()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "-c:5: InitialParamWarning: Parameter mu does not have initial value. Assume 0.\n", "-c:5: InitialParamWarning: Parameter mu is floating but does not have initial step size. Assume 1.\n", "-c:5: InitialParamWarning: Parameter sigma is floating but does not have initial step size. Assume 1.\n", "-c:5: InitialParamWarning: Parameter N does not have initial value. Assume 0.\n", "-c:5: InitialParamWarning: Parameter N is floating but does not have initial step size. Assume 1.\n" ] }, { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 36.5025994291TOTAL NCALL = 247NCALLS = 247
EDM = 3.00607928198e-08GOAL EDM = 1e-05\n", " UP = 1.0
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1mu9.064759e-014.482536e-020.000000e+000.000000e+00
2sigma3.959036e+004.112828e-020.000000e+000.000000e+00
3N9.969691e+031.033724e+020.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" }, { "output_type": "pyout", "prompt_number": 28, "text": [ "({'hesse_failed': False, 'has_reached_call_limit': False, 'has_accurate_covar': True, 'has_posdef_covar': True, 'up': 1.0, 'edm': 3.006079281979545e-08, 'is_valid': True, 'is_above_max_edm': False, 'has_covariance': True, 'has_made_posdef_covar': False, 'has_valid_parameters': True, 'fval': 36.50259942907618, 'nfcn': 247},\n", " [{'is_const': False, 'name': 'mu', 'has_limits': False, 'value': 0.9064759047700527, 'number': 0L, 'has_lower_limit': False, 'upper_limit': 0.0, 'lower_limit': 0.0, 'has_upper_limit': False, 'error': 0.044825358490154885, 'is_fixed': False},\n", " {'is_const': False, 'name': 'sigma', 'has_limits': False, 'value': 3.959036058997726, 'number': 1L, 'has_lower_limit': False, 'upper_limit': 0.0, 'lower_limit': 0.0, 'has_upper_limit': False, 'error': 0.041128281235997405, 'is_fixed': False},\n", " {'is_const': False, 'name': 'N', 'has_limits': False, 'value': 9969.690654245478, 'number': 2L, 'has_lower_limit': False, 'upper_limit': 0.0, 'lower_limit': 0.0, 'has_upper_limit': False, 'error': 103.37239384508398, 'is_fixed': False}])" ] } ], "prompt_number": 28 }, { "cell_type": "code", "collapsed": false, "input": [ "chi2.draw(minimizer)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n4ufnR7NmzYDMfXUy86rJbr+33nqLzz77LJ0VgyVkVVPfsWNHXF1dKVGihF6zr1AorKNABvj69euz\nadMmxowZw44dOyhbtqy+TUTYu3cvrVq1wsXFBScnJ1588UW9deng4KDniuvVq0elSpUYNGiQ7mmT\n5mOzfPlyGjZsSIMGDQgLC+PEiRMZdLz77ruZjoCdPXt2prqrVKnC0aNHOXv2LLNnz9ZHdpozc+ZM\ntm7dSoMGDbh69Spubm4UKVIEgPPnz3PgwAGWLl3KqFGj+OuvvzL1vUnbv2PHjrqmgIAA5s+fz6FD\nh9i1a5d+LyxFzLxo0pZ/++03nnjiCfz8/Gw2tmHDhg1ER0dz7949Fi1aZNEx9siXmufwT5+GH35I\nn8M3Yg7XiJrAmLqMqMkaCuRIVg8PDw4dOsT//vc/xo0bR9u2bRk/fry+PbNRmOaY+9Y86GmTnJxM\nREQEs2bNYv/+/ZQrV45BgwZl6mPz2WefsXTp0gzrW7ZsmWUnKmgWAi1atODw4cN6asV8W1oL/ubN\nm6xcuVL/AqtcuTKgGa35+/tz6NAhqlevnqXvTU486EFz4cKFdK6SWe2X5mmzcuVK1qxZw++//87d\nu3e5ceMGAwYM0K0YrKVYsWL06tWLPXv26Kmh3GI+Z+qJE3D9+v0p9Wzxv2t+njZtoGZNePLJhz+v\nQmFTbNkJYAm2uGRUVJTcuXNHRETWrl0rL7zwgoiI3qEXGRkp7u7ucu3aNUlMTJSWLVvKm2++KSIi\nAwcOlBUrVoiISEREhNSrV09CQ0PTbTty5Ij4+PhISkqKxMTEiKurqyxatOihNF+8eFFu374tIiJX\nr16V2rVry6lTpzLsd/nyZX2yjVdeeUUmTpwoIiLXrl2Tu3fviojIpUuXxMPDQ06ePCkiIrGxsSIi\ncvfuXWnbtq3+fnIiMTFRqlevLhEREXLv3j2LOlnnzJmT6SQnJpNJnn/++Qzr/f39Zf/+/RnWL1iw\nIF0n682bNyUqKkrX1adPH/n2229FRGT7dpHmzbN+H5a+3/xEabIcI+oyoiZrYmeBbMEfO3aM9957\nD0dHR5ydnfnmm2/SbX/yyScZO3YsjRs3pkKFCnh6elKuXDl9e2a+NebL9evXx8/PD09PT6pWrZrO\nCdFaTp48yTvvvKP3E4wdO1bvhJw4cSLPPPMM3bp1IzQ0lLFjx+Lg4ECtWrX4MHX8/MmTJxk6dCiO\n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\n", "text": [ "" ] } ], "prompt_number": 29 }, { "cell_type": "code", "collapsed": false, "input": [ "#and usual deal\n", "minimizer.print_fmin()\n", "minimizer.print_matrix() " ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 36.5025994291TOTAL NCALL = 247NCALLS = 247
EDM = 3.00607928198e-08GOAL EDM = 1e-05\n", " UP = 1.0
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1mu9.064759e-014.482536e-020.000000e+000.000000e+00
2sigma3.959036e+004.112828e-020.000000e+000.000000e+00
3N9.969691e+031.033724e+020.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+\n", "
\n", "
\n", " mu\n", "
\n", "
\n", "
\n", "
\n", "
\n", " sigma\n", "
\n", "
\n", "
\n", "
\n", "
\n", " N\n", "
\n", "
\n", "
mu\n", " 1.00\n", " \n", " -0.10\n", " \n", " -0.05\n", "
sigma\n", " -0.10\n", " \n", " 1.00\n", " \n", " 0.18\n", "
N\n", " -0.05\n", " \n", " 0.18\n", " \n", " 1.00\n", "
\n", "\n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" } ], "prompt_number": 30 }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Unbinned Likelihood and How to speed things up\n", "\n", "Unbinned likelihood is computationally very very expensive.\n", "It's now a good time that we talk about how to speed things up with cython" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy.random as npr\n", "from probfit import UnbinnedLH, gaussian, describe\n", "import iminuit" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 31 }, { "cell_type": "code", "collapsed": false, "input": [ "#same data\n", "npr.seed(0)\n", "data = npr.randn(10000)*4+1\n", "#sigma = 4 and mean = 1\n", "hist(data,bins=100,histtype='step');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 32 }, { "cell_type": "code", "collapsed": false, "input": [ "#We want to speed things up with cython\n", "#load cythonmagic\n", "%load_ext cythonmagic" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 33 }, { "cell_type": "code", "collapsed": false, "input": [ "%%cython\n", "cimport cython\n", "from libc.math cimport exp,M_PI,sqrt\n", "#same gaussian distribution but now written in cython\n", "@cython.binding(True)#IMPORTANT:this tells cython to dump function signature too\n", "def cython_PDF(double x,double mu,double sigma):\n", " #these are c add multiply etc not python so it's fast\n", " return 1/sqrt(2*M_PI)/sigma*exp(-(x-mu)**2/2./sigma**2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 34 }, { "cell_type": "code", "collapsed": false, "input": [ "#cost function \n", "ublh = UnbinnedLH(cython_PDF,data)\n", "minimizer = iminuit.Minuit(ublh,sigma=2.)\n", "minimizer.set_up(0.5)#remember this is likelihood\n", "minimizer.migrad()#yes amazingly fast\n", "ublh.show(minimizer)\n", "minimizer.print_fmin()\n", "minimizer.print_matrix() " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "-c:3: InitialParamWarning: Parameter mu does not have initial value. Assume 0.\n", "-c:3: InitialParamWarning: Parameter mu is floating but does not have initial step size. Assume 1.\n", "-c:3: InitialParamWarning: Parameter sigma is floating but does not have initial step size. Assume 1.\n" ] }, { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 27927.1139471TOTAL NCALL = 69NCALLS = 69
EDM = 5.05909350517e-09GOAL EDM = 5e-06\n", " UP = 0.5
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1mu9.262679e-013.950226e-020.000000e+000.000000e+00
2sigma3.950224e+002.793227e-020.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" }, { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAD9CAYAAAC2l2x5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlcVPX+x/HXsLiiYoqIoKEIIsimKGpZeBXLSlIx1wzX\nm/nLstLS0rJuKS3WTUvrdjU1SyxN0UpSr6JlKS6gJi6ooLK6ooDosHx/fxyYRBYZGDhz4Pt8PHgw\nZ+bMzJuDfjjzOd/zPTohhECSJEmqdSzUDiBJkiRVD1ngJUmSailZ4CVJkmopWeAlSZJqKVngJUmS\nailZ4CVJkmqpcgv8rVu3CAgIwNfXFw8PD2bPng3AvHnzcHJyws/PDz8/P7Zs2WJ4zoIFC3B1dcXd\n3Z2tW7dWb3pJkiSpTLp7jYO/efMmjRo1Ii8vjwcffJCPPvqI//3vfzRp0oSXX3652LpxcXGMHj2a\n/fv3k5ycTP/+/Tl16hQWFvKDgiRJUk27Z+Vt1KgRAHq9nvz8fJo3bw5AaX8XIiIiGDVqFNbW1jg7\nO9OxY0eio6NNHFmSJEmqCKt7rVBQUEDXrl05c+YMzz33HJ6enqxbt47FixezatUq/P39WbhwIba2\ntqSkpNCzZ0/Dc52cnEhOTi72ejqdzvQ/hSRJUh1g7MQD99yDt7CwIDY2lqSkJHbv3k1UVBTPPfcc\nCQkJxMbG4uDgwCuvvFLm80sr6EIIzX699dZbqmeoi9llfvW/ZH51vyqjws3xZs2a8fjjj3PgwAFa\ntWqFTqdDp9MxadIkQxvG0dGRCxcuGJ6TlJSEo6NjpYKZq8TERLUjVJqWs4PMrzaZX3vKLfCXL18m\nIyMDgJycHLZt24afnx9paWmGdTZs2ICXlxcAwcHBhIeHo9frSUhIID4+nh49elRjfEmSJKks5fbg\nU1NTCQ0NpaCggIKCAsaOHUu/fv145plniI2NRafT0b59e7788ksAPDw8GD58OB4eHlhZWbFkyZJa\n13MfN26c2hEqTcvZQeZXm8yvPfccJmnyN9TpKt1PkqS7JSXBsGGQl6csh4RA4ekaklSrVKZ2ygHq\nRoqKilI7QqVpOTuUnj8tDa5fhy++gBEjwJxH5dbG7a8lWs9fGbLAS5rXuDH4+0PHjmonkSTzIls0\nkqYdOABTpijfN2yAVauU75JU28gWjSRJkmQgC7yRtNzH03J2kPnVJvNrjyzwkiRJtZQs8EYKDAzk\nhRdewNXVFR8fH2JiYkpdb8eOHXTr1g0vLy/GjRtHfn4+AN9++y0+Pj54e3vzwAMPcOTIEcNzMjIy\nGDZsGJ07d8bDw4N9+/YBMHfuXHx8fPD19aVfv37Fzha+l4MHD+Ll5YWrqysbymlOlzXN86OPPoqv\nry+enp5MnDiR3NxcAM6dO0e/fv3w8fGhb9++xeYcsrS0NEwlPXjw4ApnvZfAwMB7rpOVBfHxytfN\nmyZ7a5OoSH5zJvNrkKhhKrylSf38889i4MCBQggh9u7dKwICAkqsk5+fL9q2bSvi4+OFEEK8+eab\nYtmyZUIIIf744w+RkZEhhBBiy5YtxZ7/zDPPGNbLzc01rHfjxg3DOosWLRITJ04s8Z5vvfWWWLFi\nRYn7u3fvLvbt2yeEEGLgwIFiy5YtJdY5duyY8PHxEXq9XiQkJAgXFxdRUFAghBAiMzPTsF5ISIj4\n5ptvhBBCDBs2TKxatUoIIcSOHTvE2LFjDevZ2NiUeI/qsn+/EN26Kbejo4VwdRWiY0chWrYU4pVX\naiyGJFW7ytROTe7BJyYm4u7uzvjx4+nUqRNjxoxh69atPPDAA7i5ubF//35AuTDJwoULDc/r0qUL\n58+fr9J7f/HFF4SGhgIQEBBARkYG6enpxda5cuUK9erVo2PhuL3+/fuzfv16AHr16kWzZs0Mz09K\nSgLg+vXr/Pbbb0yYMAEAKysrw3pNmjQxvHZWVhYtW7asUNbU1FQyMzMN00X4+/uzcePGEuuVNs1z\n0acHGxsbAHJzc9Hr9Yb3Pn78OP/4xz8AZc8oIiKiQpmq4l491O7d4dQpZe997lzQ66s9klG03gOW\n+bVHkwUe4MyZM8yYMYMTJ05w8uRJ1q5dy549e/joo4+YP38+UHImy7KmTRg5cqShpXDn1+rVq0us\ne/nyZdq2bWtYdnJyMhTpIi1btiQvL4+DBw8CsG7dulLbKsuWLeOxxx4DICEhATs7O8aPH0/Xrl2Z\nPHkyN+/oMbzxxhu0a9eOFStWMGvWLACOHj1qyPrll1/y5ptvGpavXr1KcnIyTk5OxXLdPX0zQEpK\nSrH17p7m+ZFHHsHe3p6GDRvy6KOPAuDj42P4o7VhwwYyMzO5du0aoFwJrFu3bvTq1atGCr8kSaXT\nbIFv3749np6e6HQ6PD096d+/P6DspRs7a1x4eDgxMTElvp5++ukS67Zo0aLEWNTS/pCEh4fz0ksv\nERAQQNOmTbG0tCy2zs6dO1m+fDnvv/8+AHl5eRw6dIipU6dy6NAhGjduTFhYmGH99957j/PnzzN+\n/HheeuklALy8vAxZp0yZwr/+9S/D8n333Vciu5+fX4W3yZ0/06+//kpqaiq3b99m5cqVAHz00Ufs\n2rWLrl27snv3bhwdHQ0/4/nz5zl48CDfffcd06dP5+zZsxV+3/JovYcq86tL6/kr454X/DBX9evX\nN9y2sLCgXr16htt5hROTWFlZUVBQYFjv1q1bpb7WiBEjOHXqVIn7X375ZcaOHVvsvopOidyzZ092\n794NwNatW4mPjzc8duTIESZPnkxkZKThCllOTk44OTnRvXt3AIYNG1aswBcZPXq0Ya//XhwdHYt9\nuigra0V+pvr16xMSEsK+ffsIDQ3FwcHBsAeflZXF+vXradq0KQAODg6A8kc4MDCQmJgYOnToUKHM\n1e3rr2HTJuW2pSUsXgyFcSWp1tHsHnxFODs7c+jQIQAOHTpEQkJCqeutXbu21D34u4t70WuuWrUK\ngL1792Jra4u9vX2J9S5dugTA7du3+eCDD5gyZQqg7N0OHTqU1atXG3r0AK1bt6Zt27aGPzTbt2/H\n09MToNgfh4iIiFL3xN966y2eeeaZYvc5ODjQtGlT9u3bhxCCTz/9tNRRLWVN85ydnU1qaiqgfML4\n6aefDO995coVwx/PBQsWMHHiREAZCXT79m1AaWft2bPH8HNUlSl6qJGR0KEDPPMMHD0KZfyTqBZa\n7wHL/Nqj2T348vrrRbdDQkJYtWoVXbp0ISAggE6dOlX5fXv27ElSUhIdO3akcePGfP3114bHHn/8\ncZYtW0br1q358MMP+emnnygoKGDq1KmGj4f/+te/uHbtGs899xwA1tbWhgumLF68mDFjxqDX63Fx\ncTG89uzZszl58iSWlpa4uLiwdOlSQOnB313Ui+zYsYPmzZuzZMkSxo0bR05ODj4+PoYe+ubNmzlw\n4ABvv/12mdM8Z2dn8+STT3L79m2EEDzyyCOGg8BRUVHMnj0bnU7Hww8/zOeffw4oB1+fffZZLCws\nKCgoYPbs2bi7u1d5u5tSjx4wZAh8+KHaSSSpesm5aCRNu3MumjstWgSnTyvf7zRiBAwdqnzv3Rs+\n+kj5LknmTs5FI0mSJBnIAm8kLffxtJwdZH61yfzaIwu8JElSLVWrCvzkyZM5fvx4tb6HKcbS3rp1\ni4CAAHx9ffHw8GB2GdeYu3btGkOGDMHHx4eAgACOHTtmeMzZ2Rlvb2/8/PwqfGHzouxlzTtzp6tX\nrxIUFISbmxsDBgwwXHx927Zt+Pv74+3tjb+/Pzt37gQgMzOz2ElidnZ2hvH6Zc1bc+7cObp164af\nnx+enp58+umnFcqvVTK/urSev1JMOVdCRajwlmYpOztbCKHMORMQECB+++23EuvMmDFDvPPOO0II\nIU6cOCH69etneMzZ2VlcuXKl3PdwdnYucV9p887k5+eXWG/mzJni/fffF0IIERYWJl577TUhhBAx\nMTEiNTVVCCHEX3/9JRwdHUt9727duhl+prLmrdHr9UKv1wshhMjKyhL333+/uHDhQrk/093unIvm\nTp9+KsS0aSXvHz5ciPBw5XavXkLs2WPU20mSaipTOzW5B5+dnc3jjz+Or68vXl5e/PDDD4DyF7po\neoBly5bRqVMnAgICmDx5MtOmTQOUK6tPnTqVXr164eLiQlRUFKGhoXh4eDB+/HjDe0ydOpXu3bvT\npUsX5s2bZ7jfVH28Ro0aAaDX68nPzy/1zNPjx4/Tt29fADp16kRiYqJhfD1g9BH1qKioUuediS7l\nQqabNm0yzLkTGhpqmMPG19eX1q1bA+Dh4UFOTo5hhskip06d4uLFizz44IOGn6O0eWusra2xtrYG\nICcnB2tra8N2KSu/lsn86tJ6/srQZIGPjIzE0dGR2NhYjh49yiOPPAIow4h0Oh0pKSm8++677Nu3\njz179nDy5Mli4+QzMjL4888/+eSTTwgODubVV1/l2LFjHD16lMOHDwPK1AD79+/n8OHD7Nq1i6NH\nj5bI8dFHH5U6h8306dPv+TMUFBTg6+uLvb09ffv2xcPDo8Q6Pj4+/PjjjwBER0dz7tw5w5mpOp2O\n/v374+/vz1dffWV4zvz58w05UlJSDLeL/sDda96ZIunp6YYTuOzt7UtMqAawfv16unXrZijSRcLD\nwxk5cmSxn6OseWuSkpLw9vamXbt2vPTSS6X+oSu57eCTT2D+fFi+/J6rS1LdZfoPEuUzxVueOnVK\nODs7i9dee61YayMwMFAcOHBAbNiwQYSGhhruX7RokXj++eeFEEKMGzdOfPfdd0IIIc6cOSNcXV0N\n6z3zzDNi48aNQgghli5dKrp27Sq8vb2FnZ2dCC/6XG9iGRkZIiAgQOzcubPEYzdu3BDjx48Xvr6+\nYuzYsaJ79+7i8OHDQgghkpOThRBCXLx4Ufj4+Ijdu3eXeH5pLZrnn39erF692rA8ceJEsX79+hLr\n2draFltu3rx5seW//vpLuLi4iLNnz5Z4roeHhzh06JBhOSUlRQwdOlT4+fmJF198UTg5OYnr168X\ne05KSopwdXU1TLFcnvR0IRo2FGL2bOXru++EEDduCHHggBDffy/Exx+Ljc/+LGY8e6PEc2WLRtKq\nytTOcs9kvXXrFg8//DC3b99Gr9fz5JNPsmDBAq5evcqIESM4d+4czs7OfP/999ja2gLKAbzly5dj\naWnJokWLGDBggMn/KLm6uhITE8PPP//MnDlz6NevH3PnzjU8fvdZruKuVsad89bcPadNfn4+CQkJ\nLFy4kAMHDtCsWTPGjx9f6jw2H374Id99912J+x966KF7HjAs0qxZMx5//HEOHDhQ4iBQkyZNWH7H\nLmr79u0Nc7q0adMGADs7O4YMGUJ0dDR9+vQp9vzSZs+s6Fw69vb2pKWl0bp1a1JTU2nVqlWx5wwd\nOpRvvvmG9u3bF3ve4cOHycvLKzadQnnz1ty5Tp8+fYiNjS02hUNZbGyUPXguXlRujFtabH7gJ4En\ndJZwNABefx0ef/yerylJtU25LZoGDRqwc+dOYmNjOXLkCDt37uT3338nLCyMoKAgTp06Rb9+/QyT\nYsXFxbF27Vri4uKIjIxk6tSpxSb7MpXU1FQaNGjAmDFjmDFjRrGrKul0Orp3786uXbvIyMggLy+P\n9evXlzlV8N2EEGRmZtK4cWOaNm1Keno6W7ZsMTz/zj7ezJkzS53D5l7F/fLly4ZRKTk5OWzbtq3U\n+WWuX7+OvrBoffXVVzz88MPY2Nhw8+ZNMjMzAeV4xNatW/Hy8irx/LtncYyKiipz3pm7BQcHG2aO\nXLlypWEOm4yMDB5//HHef/99evXqVeJ5a9asYfTo0cXuK2vemuTkZHJycgBlxNCePXvw9vYua7MV\n2/YWIh/eeUeZWObTT5Xi7ukJTz4JU6aQen+AsuIff8ATT8Do0XDH8Qs1aL0HLPNrzz3norn7YGDz\n5s3ZtGkTu3btApQDcIGBgYSFhZV5AK9nz57FXnPcuHE4OzsDYGtri6+vr2HvteiXUN7y/v37Wb16\nNRYWFty6dcswHA/gwIEDuLm58frrr9OjRw+srKxo166d4eIZaWlpHDt2jJCQEABu3rxJVFSU4fWP\nHTtGixYt8PPzw93dHRsbm2Jz2MTGxt4z372Wz549y2effUZBQQGZmZkEBQXRr18/AF555RUAFi5c\nSFxcHCNGjACgR48eLFu2jKioKFJTUw3TDF+/fp3+/fsbPilNmjSJXbt2GS7UkZWVBSiX3gsJCeHi\nxYv4+/sb5p2ZMmUKu3btIjAwkMmTJ+Pv70+nTp2YNWsWw4cP57PPPqN169Zs27bNkO/UqVO8/fbb\nvP3222RlZfHhhx8a/gB88803xWbBjIqKYvfu3axevRqdToebmxsvvvgioBx8LZqErUmTJrz++uuk\npKSQkpJS7va7lq5n2Y0v4K0NRAH06kXg0qXg42NY/0jnpVyIu8HjFrMQy5bRd80axNat1Hd6k7g4\nb0B5vUOHotDrq/b7lMtyuTqWo6KiWLFiBYChXhrtXj2c/Px84ePjI2xsbMTMmTOFEMX7swUFBYbl\n0vq769atq3IfqTKysrKEEMowxEGDBhl665L527dPiK+/Vr6+/VaIvLw7Hrx2Tdzu9ZAQIIStrRDb\ntpX6GncOk/zs5TNiK/2FAJFJY7HvE6XxLnvwkpZUpnbecxSNhYUFsbGxJCUlsXv3bsOJLUWKRq6U\npaKtEVObN28efn5+eHl50aFDB5588klVckjGe+01WLMGoqLg2WfvmNI3Kwv69qXen7tJtWgDv/0G\nhRd6KU+iRQcOh0XCmDHYkE2PNx+FUoaGSlJtU+FhkkUHAw8ePGg4AAcUOwBX0QN4NeHDDz8kJiaG\n48eP8+9//9tkr6vlPp6Wss+aBStWgGGqfSGIGjQIYmPJa9+Rx23/gC5dKvx6wsJSecERIyAzEwYM\noF3OieqIXiYtbf/SyPzaU26BL+tgYFkH4Cp6AE+SjPbJJ8oufZMmXP9mM0mW95e7urU1fPsteHkp\nV3GytgasrGD1amUy+OvXeefUSHS3S7/KlyTVCuX1b44cOSL8/PyEj4+P8PLyEh988IEQQogrV66I\nfv36CVdXVxEUFCSuXbtmeM57770nXFxcRKdOnURkZKRJ+khS3RIYKMSOHcptFxchklbvFMLSUum7\nr18v0tOFsLMr/zVu3RLiyJG/v3Jy7njwxg0hOnYUAkTy8Ber68eQJJOqTO2UF/yQzE7fvvDmm8p3\n3/bXOXCzM1YXU5W+zYIFXLyodGcuXqzCm+zfT15Ab6xEHvz0kxwnL5k9ecGPGqDlPp4Ws79y9Q2l\nuPfqRVRQkOleuHt3vmg7X7k9blyNjJHX4va/k8yvPbLAS+YrOpoxN5aQhyVef37J44MsyMsz3cuv\nafMKGd3+AZcvw5w5pnthSTITssAbSctzSmspuy4/D6ZMwQKB1cyXOSq8yMsLJD/fdO8hdBYkvPyZ\ncvD1q6/gjjOiq4OWtn9pZH7tkQVeMkuOGz5TCm67dvDWW4b7//1vWLLEdO+T49wZpk0DIf7+Lkm1\nhCzwRtJyH08r2RvnZeC86m1l4bPPoHFjAMaNi+LiRWUY+xtvmPAN33wT7Oxgzx4IDycxEf76S/lK\nSTHd22hl+5dF5teee85FI0k1bfiFhVhnZSjDaAYNMtw/ahRUy6dsW1tYsAAmTYKZM/FKG8z97g3R\n6yE/H86cqYb3lKQaIIdJSubl0iVuOnSgUX6Wskfdu3e1vVXv3vDRR4VvUVAA3bpBbCzTWMRiMY3z\n5+HBB+H8+WqLIEkVJodJStr3/vs0ys/icsBj1VrcS7CwMPT6ZxEGpcz/L0laIwu8kbTcxzP77Ckp\n8PnnACSM/1eJh6sj/7ZtysRmGzaACH4SfHxwJKVargVo9tv/HmR+7ZEFXjIfCxbArVvssgshy61r\ntb/diBFw4gRs2gRjxkByig6Krgy2YAHcvl3tGSSpOskevGQeLl9WhkTm5DDB/whjP/Cib9+ae/u2\nbZWLP7V1LOCopQ9e/MXV95bi+8UU2YOXzILswUuasnYt+PsrX0t9lkJODgwcSIJNycsP1hgLC97h\nTQCaLg3DUpjw1FlJqmGywBtJy308c8t+9Ch07w5ffnqLkZc/U+6cMaPM9Wsq/3pCwM0Nq6RzPJKz\n0WSva27b31gyv/bIAi+pytERuh1fTXP9Ra6086VG+zJlEFjACy8AMDHTdBeLkaSaJgu8kbQ8n4VZ\nZi8ogIULATg2cAaUc4nHGs0fGkpB02Z01++BAwdM8pJmuf2NIPNrjyzwkqo6xm+BEye40siJxO7D\n1Y7zNxsbskZMUm5/+qm6WSSpkmSBN5KW+3jmmL373sUAbOv8AsLKutx1azp/Zujz5GOhHA1OTa3y\n65nj9jeGzK89ssBLqml+7Swup3+F+vXZ3XGi2nFKyG/rzK8NB0NuLixdqnYcSTKaLPBG0nIfz9yy\nd4/5j3JjxAiy6993z/XVyL/c5kXlxn/+oxT6KjC37W8smV97ZIGX1HH7Nl0PF04HMGWKulnKEV2/\nD3h4QHo6bN6sdhxJMoos8EbSch/PrLJv2IDNzUukt/aGnj0r9BRV8ut0MHmycvurr6r0Uma1/StB\n5tceWeAldXzxBQAHu08pd2ikWRg7FurVg19/hcREtdNIUoWVW+AvXLhA37598fT0pEuXLixatAiA\nefPm4eTkhJ+fH35+fmzZssXwnAULFuDq6oq7uztbt26t3vQq0HIfz2yyHz8Ou3Zx27oxf3mPqfDT\nVMvfogWEhCiX86vCLJNms/0rSebXnnKv6GRtbc0nn3yCr68vWVlZdOvWjaCgIHQ6HS+//DIvv/xy\nsfXj4uJYu3YtcXFxJCcn079/f06dOoWFhfygIN1h2TIAjnQZjb5BU0DZiV+0CCIilCkManqnvqgT\n06hRGStMnqzMK7x8uXKJPyt5MTTJ/JVbeVu3bo2vry8ANjY2dO7cmeTkZIBSZzWLiIhg1KhRWFtb\n4+zsTMeOHYmOjq6G2OrRch/PLLLn5sLq1QAc9Pl7aOTcucp1Vp9+Wqn/pbXlqzP/99/DP/+pvP+O\nHaWsEBgIHTtCcjJERlbqPcxi+1eBzK89Fd4NSUxMJCYmhp49e7Jnzx4WL17MqlWr8Pf3Z+HChdja\n2pKSkkLPO/5nOjk5Gf4g3GncuHE4OzsDYGtri6+vr+HjU9EvwVyXY2NjzSqP5pY/+gjS0wl0dyep\nTQ9SE6KIilIed3H5e/0GDdTNC8pydnYUa9ZAz56BOIydzN63XoOwMAKfeELVfHK59i9HRUWxYsUK\nAEO9NFaF5oPPysoiMDCQOXPmMHjwYC5evIidnR0Ac+fOJTU1lWXLljFt2jR69uzJmDFKX3XSpEk8\n9thjDB069O83lPPB123DhsH69RAWxpzM12jQAObMUTtU6TIylE8St28rV/Dr3SGN9Xsdlcv7paZC\ny5ZqR5TqkGqZDz43N5eQkBCefvppBg8eDECrVq3Q6XTodDomTZpkaMM4Ojpy4cIFw3OTkpJwdHQ0\nKpBUi125oowlt7BQeiFmztZWueJTQgKsWwdptIZHHoG8PAgPVzueJN1TuQVeCMHEiRPx8PBg+vTp\nhvtT75iXY8OGDXh5KRdoCA4OJjw8HL1eT0JCAvHx8fTo0aOaoqvj74/w2qN69vBw0OshKEiZJ9hI\nqucHeOYZ5fs33xj9VLPIXwUyv/aU24Pfs2cPq1evxtvbGz8/PwDmz5/PmjVriI2NRafT0b59e778\n8ksAPDw8GD58OB4eHlhZWbFkyRJ05j7GWao5hf1Exo1TM0XVPPkkNG0K0dHK7r27u9qJJKlM8pqs\nUs04dgy6dIFmzZT+dcOGzJmDWffg77RnD7z6qvKdiRNh+XLyXnud/Lffo1498z9XS9I+eU1WyXwV\nDo1k+HBo2FDdLJWUlgb//S+8c05p0yS/v5rGDQuYP1/lYJJUBlngjaTlPl5NZr90SWm1BwZC34cL\nuP7lGuWBMRU/c/Vuam57Nzfo3x/27oVzbfuQbXc/93Oebybv5vr1ir2Glv/tgMyvRbLAS9UiPR1O\nn4Z582BC5z9pdu2ccmC1Tx+1o1WKnR18+aWyB7/sawsaPzsWAM9Dxh9slaSaIgu8kYpOSNCims7e\nuLGyB/9Q0nfKHaNGKUMkK8mstv3o0QC4/bUey7zbFXqKWeWvBJlfe2SBl6pXbi6tf/teuV2F9ozZ\n6dwZfHxocOs6nRIqN3WBJFU3WeCNpOU+nirZt2+n/o3LnG+sFMTNm5XJGVu0gIULy5ncqxRmt+1H\njQLA90TFTnoyu/xGkvm1RxZ4qXp9p7RnotqMBp2OlBR44gk4dQqSkuCO8+e0Z8QIADzObILsbJXD\nSFJJchy8VC3++gvGDb/JgfOtIDubCQ+fZnmUC19+CYcOKQcsa4Nk5944nvtTmUp45Ei140i1mBwH\nL6nu2jXlPKZLl+ChzJ8hO5sMtx6kNXJRO1q1OO6jtGlYs0bdIJJUClngjaTlPl51Z8/OhlatoGtX\nZZDJMKEcXE152DR7tua47U96P0WBzgK2bFH+upXDHPMbQ+bXHlngJZPJy1MOmqamQmp8Fr2v/gxA\n2gPDVE5WfbKbtOZMu77KhUx+/FHtOJJUjCzwRtLyWNoazf7TT5CTA717c8uurUle0ly3fax74SeU\nH34odz1zzV9RMr/2yAIvVY/vC8e+F440qa0aNoSXdw0mD0vyft3OTyuvqB1JkgxkgTeSlvt4NZY9\nMxN++UWZYjEkxGQva47b/v/+Dw4ktiT/4X9gRT4Nf91Y5rrmmN8YMr/2yAIvmd7mzcp17h58EBwd\nsbVVrlOt08GUKXDffWoHNB0LC7C3h/pPDwegY2z5bRpJqklyHLxkMtevQ7t2cL3vYIiIgMWL4fnn\nAbj7V17r5k+/fJn8Vq3R6cDiYrpyqq4kmZAcBy+prom4oQwZvKs9o9MV/6p1WrbklNM/sCjIh41l\nt2kkqSbJAm8kLffxaiL7o3mbleuu9ukDDg4mfW1z3/YxHZ9SbpQxmsbc89+LzK89ssBLJhWcu165\nMaz2jn3p9pCuAAAgAElEQVQvy5EOQyiwsITt2+GKHE0jqU/24CWTuZ6cRT0nOxpyS5lJzNFR7Ug1\nato0mLltAO1OblOuDDJxotqRpFpE9uAlVVlv+0Up7r1717niXuS0b+Enl/Xr1Q0iScgCbzQt9/Gq\nK/uOHRAeDmlLCouaCce+30kL2/6s92Bl7OT27ZCRUewxLeQvj8yvPbLAS1U2ZAhErLlJmxhl7pnq\nKvBakNOklXKAOTdXma5BklRUboG/cOECffv2xdPTky5durBo0SIArl69SlBQEG5ubgwYMICMO/ZU\nFixYgKurK+7u7mzdurV606tAy/NZVFd2IWDZ8F9pkJcN3bvD/fdXy/toYdtHRUFUS6VNo19TvE2j\nhfzlkfm1p9wCb21tzSeffMKxY8fYu3cvn3/+OcePHycsLIygoCBOnTpFv379CAsLAyAuLo61a9cS\nFxdHZGQkU6dOpaCgoEZ+EEldVpuqtz2jBUOHKoce/td0CAD5v0TyUNcsevWC5GSVw0l1UrkFvnXr\n1vj6+gJgY2ND586dSU5OZtOmTYSGhgIQGhrKxsITOyIiIhg1ahTW1tY4OzvTsWNHoqOjq/lHqFla\n7uOZMvvq1fDGG8pXQc5trCM3Kw9UY4E3923fty8sWgT/Wu6I3r8XDbnF8qe2cO0apKWZf/57kfm1\nx6qiKyYmJhITE0NAQADp6enY29sDYG9vT3p6OgApKSn07NnT8BwnJyeSS9l1GTduHM7OzgDY2tri\n6+tr+PhU9Esw1+XY2FizyqPWclhYIP/4B9y8GcXsR/ei++kGeHsTlZQESUmq51N9eWQIHPiTpK1L\nKCiwA8wsn1w2++WoqChWrFgBYKiXRhMVkJmZKbp27So2bNgghBDC1ta22OPNmzcXQgjx/PPPi9Wr\nVxvunzhxoli/fn2xdSv4lpKZ8/QU4ujRwoUJE4QAId5+W9VMZiUhQdkmjRuLXr43xYEDageStK4y\ntfOeo2hyc3MJCQlh7NixDB48GFD22tPS0gBITU2lVatWADg6OnLhwgXDc5OSknCso+Oh64y8PGVi\nMajT/fcSnJ2hWzfIzqbnjdo32EDShnILvBCCiRMn4uHhwfTp0w33BwcHs3LlSgBWrlxpKPzBwcGE\nh4ej1+tJSEggPj6eHj16VGP8mlf0EUqLqiX77t3KaflubuDhYfrXv4Pmtn3hH7y+Gcql/DSX/y4y\nv/aUW+D37NnD6tWr2blzJ35+fvj5+REZGcmsWbPYtm0bbm5u7Nixg1mzZgHg4eHB8OHD8fDwYODA\ngSxZsgRdrZw6UDIoug7p0KG1dJrIKhg6FICHr2+CvFyVw0h1kZyLRqqULl0g/LsCugxsCykpsH8/\n+PurHcv8eHpCXBynPt+K29QgtdNIGibnopFqVMOj+5Ti3rat0m+WSirci2++40eVg0h1kSzwRtJy\nH8/U2Ztur9n2jCa3fWGBt43aQNSOHSqHqRpNbv87aD1/ZcgCL1WOEH8XeDl6pmy+viTXc8b6Sjoc\nO6Z2GqmOkT14qVKGdjzMj2d8oVUrpU1jaal2JLP1jf0Mxl5cCC+9BB9/rHYcSaNkD16qMf1vFO69\nDx4si/s97LBV2jT8+GPJq49LUjWSBd5IWu7jmTJ70I3CycUKe8w1Qavb/mjjnuhbOhB17hwcOqR2\nnErT6vYvovX8lSELvGS8kydxvX2M/Ka2ygxbUrmEzoKMQOVkQDZsUDeMVKfIHrxkvLAwmD2ba4PG\n0nzTKrXTmL1u3WDNxO24/V8QuLvD8eNqR5I0SPbgpZpRePbqjf41157RusxuD8N998GJE7LASzVG\nFngjabmPZ5Ls58/D/v3c1DUiq9eAqr+eEbS87T/42JolNsq8TJsn/Mi0afDuuyqHMpKWtz9oP39l\nyAIvGafw4i6/NxmIaNhI5TDaEBYGDz4IGd59AAhI/pH27bVX4CXtkT14yTiBgbBrF686fsszkaPp\n0kXtQBpy6xbY2UFWFrePn6WZb3tu3VI7lKQVsgcvVa+LF+G338Damt1NHlc7jfY0aACPK9vNYpMc\nTSNVP1ngjaTlPl6Vs2/cCAUFEBRElmUzk2Qyhpa3PRTmLzxvwHKj9iYfqxXbv46RBV6quPWFJzfJ\nuWcqb+BAqF8f3d4/aC1S1U4j1XKyBy9VzLVriFatQAgO/5pOyD9bEBGB7MFXxpNPwqZNvGD1OYty\np6qdRtII2YOXqs+mTejy8vijXiATX22BnZ1yvFCqhMJPQEPy16scRKrtZIE3kpb7eFXKXtieaTYh\nhIMHYe9esLc3Ta6K0vK2hzvyDxqEsLbmIREFly6pGckotWb71yGywEv3lpkJW7dSgI70XkPUTqN9\nzZtT0LcflhRARITaaaRaTPbgpXsLD4dRo/ir+YNc+PY3Bg5UO5D25S79L9ZTJ8Mjj0BkpNpxJA2Q\nPXipehS2Z/bYy7lnTCX/iSfJxwL+9z+4dk3tOFItJQu8kbTcx6tU9uxs+OUXAPbYqzs8UsvbHu7K\nb2fHbl0g5OXB5s1qRTJKrdr+dYQs8FL5tmyBmzchIIBLDdupnaZW2WBZ+Adz3Tp1g0i1VrkFfsKE\nCdjb2+Pl5WW4b968eTg5OeHn54efnx9btmwxPLZgwQJcXV1xd3dn69at1ZdaRYGBgWpHqLRKZS8q\nPk89ZdIslaHlbQ8l82+yGAI6Hfz6K9y4oU4oI9S27V8XlFvgx48fT+RdB4B0Oh0vv/wyMTExxMTE\nMLDwiFtcXBxr164lLi6OyMhIpk6dSkFBQfUll6pfTg789JNyW569anJpOgdlmkm9XjNtGklbyi3w\nffr0oXnz5iXuL+1IbkREBKNGjcLa2hpnZ2c6duxIdHS06ZKaCS338YzOHhmp9OC7dwdn5+qIZBQt\nb3soI3/RJ6MffqjRLJVRK7d/LWdVmSctXryYVatW4e/vz8KFC7G1tSUlJYWePXsa1nFyciI5ObnU\n548bNw7nwoJha2uLr6+v4eNT0S/BXJdjY2PNKk+1Lv/wA1EAfn4oj8KRI1E0bGgm+TS83LNn4bKD\ng/J4ZCTcuEFU4UW51c4nl9VfjoqKYsWKFQCGemmse46DT0xMZNCgQRw9ehSAixcvYld4jvrcuXNJ\nTU1l2bJlTJs2jZ49ezJmzBgAJk2axGOPPcbQocWH1slx8Bpxx9zlnDkDHTowcCC88AJyHLwJ3LoF\ntrbKd/r0gd9/h2+/hdGj1Y4mmakaGQffqlUrdDodOp2OSZMmGdowjo6OXLhwwbBeUlISjo6Oxr68\nZC5+/VUp7l27QocOaqep3YYPV75roE0jaYvRBT419e8pTjds2GAYYRMcHEx4eDh6vZ6EhATi4+Pp\n0aOH6ZKaiaKPUFpkVPaiYjNsWLVkqQwtb3soJ39IiDKaZssWZVoIM1Vrt38tVm4PftSoUezatYvL\nly/Ttm1b3n77baKiooiNjUWn09G+fXu+/PJLADw8PBg+fDgeHh5YWVmxZMkSdDpdjfwQkonl5Pw9\nR8qIEepmqQvatIEHHlDaNJs3yzaNZDJyLhqppB9/VPYq/f1h/37D3bIHbzrFevAAixbBiy/C4MGw\nQV7OTypJzkUjmcSlz9cCsFY3ggkT4MgRlQPVBcOG/d2muX5d7TRSLSELvJG03MerUPbsbJr9Vnhy\n01PDOX0aFi9WJpRMSanWePek5W0P98jfpg089BDcvm22UwjX6u1fS8kCLxX300/Uy73JeadejJjZ\njhdfVI77bdwInp7QubPaAWsPIZSJJK9dK2zVjBypPBAermouqfaQPXipuKFDYcMGfgn6hMe2Tlc7\nTa2VlwcdOyrdmPx8ZSRq7LZL4OCgtGrS0qBFC7VjSmZE9uClSvvjDwjseoPbG3+hAB0nvNSfXKw2\ns7KCxERl7/3gQWVGCOzsoF8/pfr/+KPaEaVaQBZ4I2m5j1de9vh4eKJgE/XFbbJ9H2TSW+Z3kpqW\ntz2Un//yZZgzB36sZ75tmtq8/WsrWeAlg6DL3wHQZPJImjZVOUwd0q4dzJ4NDRrA9qZDyNVZw86d\ncMdJhZJUGbIHX4elpsI77yg94It/XWT93jZYWuqUB1q2VDtenbRjB9Qf8SQPXN6kjI2fNk3tSJKZ\nkD14ySjHjysFxd8fZjj/gKXIhwEDZHFX2cYGSpvmyuJvOX1a5TCSpskCbyQt9/FKy+7oCP/8JzyY\n+K1yR+FsoOZIy9seKpbf1RXSewSTY9mYFvH7+Oo186nwdWH71zaywEtw9iz8+Sc0agTBwWqnqdPa\ntoVV6xvTcNQQAALOfqdyIknLZA++DtuxA959F3b0nw9vvKFMcvXtt2rHkkCZrvnRR0lr6krrjJPK\n2HipTpM9eMl4Qvxd1OUshuajXz9ymtrT+kY8HDigdhpJo2SBN5KW+3hRUVEIodSLP/6Av/4Cl6zD\nEBennDU5YIDaEcul5W0PRua3siIhoHBM/OrV1ZLHWHVq+9cSssDXMQkJ8OCDMGOGci7NeKtvlAeG\nDwdra3XDScWc6fW0ciM8XDm7VZKMJHvwdUx8PDz2mPKdvDxwcoL0dNi7FwIC1I4n3WH9OoHnU51x\n5yRDGmwhaOGjTJ2qdipJLbIHLxnn11+V4t6pE9TCyytqXcgwHe3fUIatznNZJU9slYwmC7yRtNzH\nK5F95Urle2ioJkZpaHnbQ+Xy1580FgCPkxtocCvDxImMUxe3v9bJAl9XXbumXFhCp4Onn1Y7jVQW\nZ2f4xz+wzrtFl7jv1U4jaYzswdcxhh78K1/Ac88p09Nu3652LKk833wDzzzDeceetEv6U+00kkpk\nD16quDvbM5J5GzqU2/Wb0C55L5w4oXYaSUNkgTeSlvt4Rdnb608qo2ZsbJQrOGmElrc9VCF/48bE\neQ5Xbq9YYao4Rquz21/DZIGvg566sazwxlPQuLG6YaQKie06XrnxzTfK/M6SVAHlFvgJEyZgb2+P\nl5eX4b6rV68SFBSEm5sbAwYMICPj7yP7CxYswNXVFXd3d7Zu3Vp9qVUUGBiodoRKycuD3r0Dyc3W\nMySzsD0zebK6oYyk1W1fpCr5k9r25vJ9rpCSAir936rL21+ryi3w48ePJzIysth9YWFhBAUFcerU\nKfr160dYWBgAcXFxrF27lri4OCIjI5k6dSoFBQXVl1yqsNxcsLVVOjJv+2+mZf5F8PCAnj3VjiZV\nlE5HjPc45fZ//6tqFEk7yi3wffr0oXnz5sXu27RpE6GFB+ZCQ0PZuHEjABEREYwaNQpra2ucnZ3p\n2LEj0dHR1RRbPVrs4+XnK3vwW7dGsTaosDhMnqyJse930uK2v1NV8ltawuz48eTrLMnbsIn9m2r+\nrKe6vP21ysrYJ6Snp2Nvbw+Avb096enpAKSkpNDzjj1CJycnkpOTS32NcePG4ezsDICtrS2+vr6G\nj09FvwRzXY6NjTWrPBVZ1usBAiE9najISLCyIrBw7Ls55JPL916eOjWQXr0c2PxiL2yP/k6jr7+G\n4NfNJp9cNv1yVFQUKwoPqhfVS2Pdcxx8YmIigwYN4ujRowA0b96ca9euGR6/7777uHr1KtOmTaNn\nz56MKbwi0KRJk3jssccYetcoDTkOvubduqW0aG7Nmgdvvw0jR8KaNWrHkiqjcJ74q82cSdx+Bgsr\nC7y8lD18qXarkXHw9vb2pKWlAZCamkqrVq0AcHR05MKFC4b1kpKScHR0NPblpWpiIfJh+XJlYdIk\ndcNIlRcUxI0Wztx3PZFlI7fx0EOwc6faoSRzZXSBDw4OZmXhSTIrV65k8ODBhvvDw8PR6/UkJCQQ\nHx9Pj1o4gVXRRyitebTgF6IuXIAOHaBvX7XjVIpWt30Rk+S3sKDpy8rop899/sMDDygH0WuC3P7a\nU26BHzVqFL179+bkyZO0bduWr7/+mlmzZrFt2zbc3NzYsWMHs2bNAsDDw4Phw4fj4eHBwIEDWbJk\nCTqNHcSrzabkf67ceO45sJCnP2ja+PFKTyYigua35BSTUtnkXDR1wO2jp6jv3QkaNIDkZLjvPrUj\nSVU1dChs2MCqju9gt2guAweqHUiqbnIuGqlUll8tVW6MGiWLe23x/PMAPH5hKbpcvcphJHMlC7yR\nNNfHy87GctXXAERp/MQmzW37u5g0f9++4OlJi9uptN6z3nSvWw65/bVHFvhaZupU8Pb++2tep+/Q\nXb/OPoue4OamdjzJVHQ6mDYNgPs3L1Y5jGSuZA++lunWDWbOVGYiQAhcR/jR8ORhLn38DXYvyQt7\n1CrZ2WTaOtEkLwP27wd/f7UTSdVI9uAlAFxdC/fgr+yk4cnD0KoVdlOfUjuWZGqNG7PVaaJye7Hc\ni5dKkgXeSJrq4y1cqHx//nmoX19b2Ush85f0U7upCJ0OwsOVC6hXI7n9tUcW+NoqLg5++QUaNlTG\nvku10m3HDkSIYNDrmd/mM86fVzuRZE5kD76W6dYN/vMf6LZ0EixbBlOmwNKlaseSqokQIH7fg8VD\nD5Jh0ZzUvefp3N1G7VhSNZA9eAkAqyvpypV/dDp46SW140jVSKcDiz4PQO/e2BZcw/bHZWpHksyI\nLPBG0kIfz+6Hz0Gvh+DgYkMjtZC9PDJ/OV59FYAWKz+G3FySkuDYMeUrKck0byG3v/YYPR+8ZN4a\n5WfS6ofCeWdeeUXdMFLNGTSIM/XccUk9Ad9/j88LY7CzUx66fFn5kuoe2YOvZRY5vs8LKbPgwQdh\n927NXbVJqrw5bZbzbupEsjp40yollrR0HUJAu3Zw/bra6aSqkj34ui47m6cvFg6NnDtXFvc6Rv/U\nGC7Xc8Dm7BFmd9lMw4ZqJ5LUJgu8kcyxj3fsGKxdCzHP/Yf78i6R7dkDgoJKrGeO2Y0h85fvg0/r\n0/KD1wCYmz8PayvTflKW2197ZIGvBebMgS/+fYv7f/gQgLzX5d57nfXPf4KDA8TEwKZNaqeRVCZ7\n8LXA4MHwdqvP8fnqefDzg4MHZYGvyxYtghdfBF9fru88RLv7dbIHXwvIHnwdVS/vJm7r3lMW5syR\nxb2uK9qLj43F6pcItdNIKpIF3kjm2Md74uwiGl5LVU5jLbxGbmnMMbsxZP4KatAAZs9WbobNQycK\nTPKycvtrjyzwWnf1KiHxYcrtsDB5vVVJMXkyODlhefQwT+V+p3YaSSWyB691r70GH3zARZ/+tIrd\npnYayZysWAHjx3Ne1452N08qe/aSZskefF2TlKQcUAOOjQ1TOYxkdsaOpaCLN+3Eed5osohGjeCR\nR9QOJdUkWeCNZC59vIICyJ39Jty6xW6H4Vx36XbP55hL9sqS+Y1kaYnFQmXo7LuN5/P7piskJ1f+\n5eT21x5Z4DXqiwn7sF79Nbepxws33qNlS7UTSWZpwAAYMADd9eu0W/kvtdNINazSPXhnZ2eaNm2K\npaUl1tbWREdHc/XqVUaMGMG5c+dwdnbm+++/x9bWtvgbyh581RUUkOjQE+eL+2HWLFiwQO1Ekjk7\ncgR8fRGWlgy+P5aI055qJ5IqoUZ78DqdjqioKGJiYoiOjgYgLCyMoKAgTp06Rb9+/QgLk33harFi\nBc4X95PVzBHeeEPtNJK58/aGKVPQ5eUxJ3WqcpUQqU6oUovm7r8mmzZtIjQ0FIDQ0FA2btxYlZc3\nS6r38TIylL124PfBH4JNxa/eo3r2KpL5q+C998i7z47uN3fD6tWVegm5/bWn0vPB63Q6+vfvj6Wl\nJc8++yyTJ08mPT0de3t7AOzt7Ukv4yLA48aNw9nZGQBbW1t8fX0JDAwE/v4lmOtybGysunlCQ+HS\nJZza9CG+60gamNn2kcvmu5z28oecnjMOXniBwEGDwNbWrPLJ5eLLUVFRrFixAsBQL41V6R58amoq\nDg4OXLp0iaCgIBYvXkxwcDDXrl0zrHPfffdx9erV4m8oe/CVt2sXBAaCtTXzhx2kSS8vpk1TO5Sk\nFX8dFdzu+RDdbv6uXIh9yRK1I0lGqNEevIODAwB2dnYMGTKE6Oho7O3tSUtLA5Q/AK1atarsy0t3\nu3kTJk1Sbr/+OqktvNTNI2mPTse7DkvAykq5EPuOHWonkqpZpQr8zZs3yczMBCA7O5utW7fi5eVF\ncHAwK1euBGDlypUMLmdeFK0q+ghV4958E06fhi5d4PXXK/USqmU3EZm/6uIbeCkXgwGYMAFu3Kjw\nc80hf1VoPX9lVKoHn56ezpAhQwDIy8tjzJgxDBgwAH9/f4YPH86yZcsMwyQlE/jzT/jkE2WemeXL\noV49tRNJGmRpCWfPQt+ts1lqswn3cweV6/Z+9ZXa0aRqIueiMXcZGcoc74mJ8Oqr8P77AEybBm5u\nyB68VGEFBbBvH+TmwqmNxwj9d1eshR5++QUGDlQ7nnQPci6a2kYIZW7vxETo1o2N3f5Fp07QqRN8\n843ckZeMY2EBvXrBQw9Bm/6erHIrPLM1NJQqzWEgmS1Z4I1Uo328//4XfviBW9Y2vOMRzoef1uPB\nB5Urse3bp7RQjaH1HqTMb1ob2r8C/fvDpUswciTk5ZW7vrnlN5bW81eGLPDm6sgR5bJrwL/afIGt\nf0dGjIAZMzDsxVtbq5xR0qzGjeHX7Za4Rn9Lqs4Bfv+dT2zm0Lw5fP212ukkU5E9eHN08SL06AHn\nznH24XG83vprwsPVDiXVNtevK315qz9/wya4L7r8fJYHbySl+5PMmaN2OulusgdfG+j1MGwYnDsH\nPXpwYMJStRNJtVSzZtC8OTR5rA+6+fMBGLNlDPYpMSonk0xFFngjVWcf79JFQfa4/4PffqPAoQ1s\n3EhBPdNdhUfrPUiZvxrNnAljx1I/N5sRq58o9aCrWeevAK3nrwxZ4M1Eejosbf02jdf8lxwa8H+O\nEVB4trAkVTudDr76ioR2D9E0MwWeeAIKT2aUtEv24FXWpw9cvQojL37K3MvTwcKC+Pe+x/vtEDp0\nUPqkffsqwyIlqbq99/IVpqzqRYsr8cq8Rz//DI0aqR1LonK1UxZ4lel0kPTuChznjFfuWL4cMW48\nJ09Cfr5yl6Mj3HXdFEmqFnPmQOubZ3h+7UOQkgJBQcq4XHnBbtXJg6w1wNR9vIn8F8e5hQPaP/kE\nxo9HpwN3d/D0VL5MVdy13oOU+WtG9GUXfpv3P243t4dt27j4UAj/+/kW27ZFqR2tSrSy/U1JFng1\nffQR/2Wycsbqe+/B9OlqJ5LquIAAZZTue+vdeaHzdq5bt6DV/l+oP/hRThzIQgh5QSgtkS0aNRQU\nKJfaK7qk4Wefwf/9n7qZJKk0R4/Co49CSgpH8GIgW7hk7ci5c3IMQE2TLRoz9s47SjszuG8mv7Ua\nCmFhCEtLxrJKFnfJfHl5wR9/gLs73hwluW0vBtofJDtb7WBSRcgCb6TK9vEiI2F0wBm+S+hFnysR\nZNCM0U1+4mDnsaYNWA6t9yBlfpXcfz/8/jtRnp5w4QLfJz9Akx+WqZ3KaJrd/lUgC7wJREaCj8/f\nX5s337WCEAy8uJKxn/hhc+4YdO6M7an9rLn2KHFxqkSWJOO0aKEMAnj2WeqL29i/PkmZ7U6OlTdr\nsgdvAosWKdfkmDULPv5YuejSzJmFD165AlOmwLp1ynJIiHLRjqZNVcsrSVUx034l712ZQr38W2TY\n3k+zdcvR9fuH2rFqPdmDV5GdnbL3brgMbUEBLFumTPu4bh3ZFjbEv7ECfvhBFndJ03ouCeXbF/eT\n5tgV24xz6Pr3I+HRKbTUXcbBQTn4Onq0su6ff0KbNhju/+QTdbPXNbLAG6kifbw25/6E3r2Vi2Rf\nuQJ9+xLqc5hLj4UqZzapROs9SJlfXUX5Q0Jg/MIutE7Yyw/e75Crs6b9r1+SaO3Kief+zYr/6Dl1\nSnlOWpqy43PoEEydCgkJ6uevS2SBN6UDB5iw/jHGfN4b9u0j186B359fw3cT/8fhzA5qp5Mk07K2\n5qnDc7E+GgNBQdjkZtDsrZcInOLO4EtfKTOjopwE6+CgzF4p1SzZg6+q/Hw2P/cLbls+pVPS/wDQ\n17eh3owXGX/iNU6lNuH++8HKCj78EOztVc4rSdVBCGXemhkz4ORJAC41cGLVfdM54jeOlT+1YNEi\nOH1aOWYlGU/ORVODrh1K4MSc1XSOXoHtlbPKnY0bs9NjKscee5Xn57Vk5EgYPFi5Gpok1Qn5+eSv\n+Z6cOe8pI8aAgnr1sRg1kvVNxrFb9OHTzyxVDqlN8iBrNUlIgLg4OP3zSTaMfI6bXR+kebcO9Nry\nJrZXznKlqTOnn1sISUn88vAH5DRuqXbkUmm9Bynzq6tC+S0tsXx6FDZnj0BEBDzyCBb627ByJSGf\n9eWdFW2VS1Hu2GFo4dQUrW//ypAFvixCQFISWf9dw3aXf9LY15WOT7hzbu0XNIrZQ46uIUe8xkBk\nJC2unqbjkpfNfsrH2NhYtSNUicyvLqPyW1hAcLByksjp0zB7NtdbtKdZdqrSo+nXTxlbP3gw/Pvf\ncODAPS/6XVVa3/6VYWXqF4yMjGT69Onk5+czadIkXnvtNVO/hUlNnQqRm/Tcn3eGTrl/4ZZ3jC76\nQ/jl7ccuLw0bYDJALtC8ORlOTjBnDg0HDsS7SZMSr9egAbz7rvJv+PJl82rPZGRkqB2hSmR+dVU6\nv4sLzJ/P2vvf49vp+xlptY6+t7bgnvWXspcfEQHATV0j4qx9+Mu6K8fq+fLHtc68vqozjdveR7Nm\n4OenUn4NM2mBz8/P5/nnn2f79u04OjrSvXt3goOD6dy5synfpuKEgKwsZajixYvKZZPS0jixPYlL\nMRdokXWO2RfP8FnBBSxEQYmnZ9ez5XSLACJu9OXN/wVCt25K9R4+vMy3nDsX/vlP5bZOp8zlLkkS\nTJykY+BjPYAevPvuB6TsPc/QpttpHPs7Axr+hu2l0/jr/8Rf/ycUzXXzDGRYt+RUbnsY3h7atVP+\nU7VpA61bKyee2Nkpn54tZW//biYt8NHR0XTs2BFnZ2cARo4cSURERKUK/NGjkLH6JxpkpGItcvFy\n18KbR8oAAAYwSURBVGOZp4fbt//+ysmBnBwKsm+SfiYLi5xsrHNu0Dj/BvVzrsO1a5CbW+K13Qu/\niggLC3Bur0y+3qULeHmx/Xp3zll3BJ2O7m2AAGXdxMTEcnPXqwdt2xr949aIe2U3dzK/uqqa39Ly\n7/8bM2bA7t3tKGACWboJFAwGCi5DTAwcPAh//QXHj8OJE9jevEwPLsP3+8t87QJ03KAp12hOJk25\nz7kJTu5NyKYxl242Jq9+I44c340+S0+9pg2U/6hFX9bWyjA3a2sOH7MiW29Ffr1GWA1+gl69qvQj\nq86ko2jWrVvHr7/+yldffQXA6tWr2bdvH4sXL/77DVU80UeSJEnLjC3XJt2Dr0jxrg1DJCVJkrTA\npKNoHB0duXDhgmH5woULODk5mfItJEmSpAoyaYH39/cnPj6exMRE9Ho9a9euJTg42JRvIUmSJFWQ\nSVs0VlZWfPbZZzzyyCPk5+czceJE9UbQSJIk1XEmP9Fp4MCBnDx5ktOnTzN79mzD/T/88AOenp5Y\nWlpy6NAhw/2JiYk0bNgQPz8//Pz8mDp1qqkjmURZ+QEWLFiAq6sr7u7ubN26VaWEFTdv3jycnJwM\n2zwyMlLtSPcUGRmJu7s7rq6uvP/++2rHMZqzszPe3t74+fnRo0cPtePc04QJE7C3t8fLy8tw39Wr\nVwkKCsLNzY0BAwaY9bjy0vJr6d/9hQsX6Nu3L56ennTp0oVFhRP4GP07EDXk+PHj4uTJkyIwMFAc\nPHjQcH9CQoLo0qVLTcWotLLyHzt2TPj4+Ai9Xi8SEhKEi4uLyM/PVzHpvc2bN08sXLhQ7RgVlpeX\nJ1xcXERCQoLQ6/XCx8dHxMXFqR3LKM7OzuLKlStqx6iw3bt3i0OHDhX7vzlz5kzx/vvvCyGECAsL\nE6+99ppa8e6ptPxa+nefmpoqYmJihBBCZGZmCjc3NxEXF2f076DGpipwd3fHzc2tpt7O5MrKHxER\nwahRo7C2tsbZ2ZmOHTsSHR2tQkLjCA2NZrrz/Apra2vD+RVao6Vt3qdPH5o3b17svk2bNhEaGgpA\naGgoGzduVCNahZSWH7TzO2jdujW+vr4A2NjY0LlzZ5KTk43+HZjFXDQJCQn4+fkRGBjI77//rnYc\no6SkpBQbKeTk5ERycrKKiSpm8eLF+Pj4MHHiRLP+qA2QnJxM2zvOHtPKNr6TTqejf//++Pv7G84T\n0Zr09HTsC+e7tre3Jz09XeVExtPSv/siiYmJxMTEEBAQYPTvwKQFPigoCC8vrxJfm0tchfpvbdq0\n4cKFC8TExPDxxx8zevRoMlW6kG9l8pfGHE7mKutn2bRpE8899xwJCQnExsbi4ODAK6+8onbccpnD\n9qyqPXv2EBMTw5YtW/j888/57bff1I5UJTqdTnO/F639uwfIysoiJCSETz/9lCZ3zX1Vkd+BSUfR\nbNu2zejn1KtXj3r16gHQtWtXXFxciI+Pp2vXrqaMViGVyX/32P+kpCQczWACmor+LJMmTWLQoEHV\nnKZqasP5FQ4ODgDY2dkxZMgQoqOj6dOnj8qpjGNvb09aWhqtW7cmNTWVVoYLEGvDnXm18O8+NzeX\nkJAQxo4dy+DBgwHjfweqtGju7INdvnyZ/Px8AM6ePUt8fDwdOpj35e3uzB8cHEx4eDh6vZ6EhATi\n4+PNfpREamqq4faGDRuKjTQwR1o/v+LmzZuGT6XZ2dls3brV7Ld5aYKDg1m5ciUAK1euNBQdrdDS\nv3shBBMnTsTDw4Pp06cb7jf6d1CNB4KL+fHHH4WTk5No0KCBsLe3F48++qgQQoh169YJT09P4evr\nK7p27Sp++umnmopklLLyCyHEe++9J1xcXESnTp1EZGSkiikrZuzYscLLy0t4e3uLJ598UqSlpakd\n6Z5++eUX4ebmJlxcXMT8+fPVjmOUs2fPCh8fH+Hz/+3dsQnEIBiGYSwcQkhrZeG/g7iDy+kaGSDz\nSEb40h9ccXDkLvI+E3ygvJVgzkopPWJ/a00hBHnvtW2bxhiac6qUohijaq06z/PXM9963d97f9S9\nP45DzjnlnGVmMjPt+/7xGdz+ZR8A4B5/8YoGAPB9BB4AFkXgAWBRBB4AFkXgAWBRBB4AFnUBmcT5\n8Kq5qbIAAAAASUVORK5CYII=\n", "text": [ "" ] }, { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 27927.1139471TOTAL NCALL = 69NCALLS = 69
EDM = 5.05909350517e-09GOAL EDM = 5e-06\n", " UP = 0.5
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1mu9.262679e-013.950226e-020.000000e+000.000000e+00
2sigma3.950224e+002.793227e-020.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+\n", "
\n", "
\n", " mu\n", "
\n", "
\n", "
\n", "
\n", "
\n", " sigma\n", "
\n", "
\n", "
mu\n", " 1.00\n", " \n", " 0.00\n", "
sigma\n", " 0.00\n", " \n", " 1.00\n", "
\n", "\n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" } ], "prompt_number": 35 }, { "cell_type": "code", "collapsed": false, "input": [ "#remember how slow it was?\n", "#now it's super fast(and it's even unbinned likelihood)\n", "minimizer.draw_mnprofile('mu');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 36 }, { "cell_type": "markdown", "metadata": {}, "source": [ "But you really don't have to write your own gaussian there are tons of builtin function written in cython for you." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import probfit.pdf\n", "print dir(probfit.pdf)\n", "print describe(gaussian)\n", "print type(gaussian)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['HistogramPdf', 'MinimalFuncCode', 'Polynomial', '_Linear', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__pyx_capi__', '__test__', 'argus', 'cauchy', 'cruijff', 'crystalball', 'describe', 'doublegaussian', 'gaussian', 'linear', 'novosibirsk', 'np', 'poly2', 'poly3', 'rtv_breitwigner', 'ugaussian']\n", "['x', 'mean', 'sigma']\n", "\n" ] } ], "prompt_number": 37 }, { "cell_type": "code", "collapsed": false, "input": [ "ublh = UnbinnedLH(gaussian,data)\n", "minimizer = iminuit.Minuit(ublh,sigma=2.)\n", "minimizer.set_up(0.5)#remember this is likelihood\n", "minimizer.migrad()#yes amazingly fast\n", "ublh.draw(minimizer, show_errbars='normal') # control how fit is displayed too" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "-c:2: InitialParamWarning: Parameter mean does not have initial value. Assume 0.\n", "-c:2: InitialParamWarning: Parameter mean is floating but does not have initial step size. Assume 1.\n", "-c:2: InitialParamWarning: Parameter sigma is floating but does not have initial step size. Assume 1.\n" ] }, { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 27927.1139471TOTAL NCALL = 69NCALLS = 69
EDM = 5.07834778662e-09GOAL EDM = 5e-06\n", " UP = 0.5
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1mean9.262679e-013.950226e-020.000000e+000.000000e+00
2sigma3.950224e+002.793227e-020.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" }, { "output_type": "display_data", "png": "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\nknSf+j8FG+Us1+hz1wAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 38 }, { "cell_type": "markdown", "metadata": {}, "source": [ "##But... We can't normalize everything analytically and how to generate toy sample from PDF\n", "\n", "When fitting distribution to a PDF. One of the common problem that we run into is normalization.\n", "Not all function is analytically integrable on the range of our interest.\n", "Let's look at crystal ball function." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from probfit import crystalball, gen_toy, Normalized, describe, UnbinnedLH\n", "import numpy.random as npr\n", "import iminuit" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 39 }, { "cell_type": "code", "collapsed": false, "input": [ "#lets first generate a crystal ball sample\n", "#dist_fit has builtin toy generation capability\n", "#lets introduce crystal ball function\n", "#http://en.wikipedia.org/wiki/Crystal_Ball_function\n", "#it's simply gaussian with power law tail\n", "#normally found in energy deposited in crystals\n", "#impossible to normalize analytically\n", "#and normalization will depend on shape parameters\n", "describe(crystalball)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 40, "text": [ "['x', 'alpha', 'n', 'mean', 'sigma']" ] } ], "prompt_number": 40 }, { "cell_type": "code", "collapsed": false, "input": [ "npr.seed(0)\n", "bound = (-1,2)\n", "data = gen_toy(crystalball,10000,bound=bound,alpha=1.,n=2.,mean=1.,sigma=0.3,quiet=False)\n", "#quiet = False tells it to plot out original function\n", "#toy histogram and poisson error from both orignal distribution and toy" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['x', 'alpha', 'n', 'mean', 'sigma']\n" ] }, { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 41 }, { "cell_type": "code", "collapsed": false, "input": [ "#To fit this we need to tell normalized our crystal ball PDF\n", "#this is done with trapezoid rule with simple cache mechanism\n", "#can be done by Normalized functor\n", "ncball = Normalized(crystalball,bound)\n", "#this can also bedone with declerator\n", "#@normalized_function(bound)\n", "#def myPDF(x,blah):\n", "# return blah\n", "print 'unnorm:', crystalball(1.0,1,2,1,0.3)\n", "print ' norm:', ncball(1.0,1,2,1,0.3)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "unnorm: 1.0\n", " norm: 1.10945669814\n" ] } ], "prompt_number": 42 }, { "cell_type": "code", "collapsed": false, "input": [ "#it has the same signature as the crystalball\n", "describe(ncball)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 43, "text": [ "['x', 'alpha', 'n', 'mean', 'sigma']" ] } ], "prompt_number": 43 }, { "cell_type": "code", "collapsed": false, "input": [ "#now we can fit as usual\n", "ublh = UnbinnedLH(ncball,data)\n", "minimizer = iminuit.Minuit(ublh,\n", " alpha=1.,n=2.1,mean=1.2,sigma=0.3)\n", "minimizer.set_up(0.5)#remember this is likelihood\n", "minimizer.migrad()#yes amazingly fast Normalize is written in cython\n", "ublh.show(minimizer)\n", "#crystalball function is nortorious for its sensitivity on n parameter\n", "#dist_fit give you a heads up where it might have float overflow" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "-c:4: InitialParamWarning: Parameter alpha is floating but does not have initial step size. Assume 1.\n", "-c:4: InitialParamWarning: Parameter n is floating but does not have initial step size. Assume 1.\n", "-c:4: InitialParamWarning: Parameter mean is floating but does not have initial step size. Assume 1.\n", "-c:4: InitialParamWarning: Parameter sigma is floating but does not have initial step size. Assume 1.\n", "-c:6: SmallIntegralWarning: (0.9689428295957161, 0.44086027281289175, -7.852819454184058, 0.9263111214440007, 0.29811644525305303)\n" ] }, { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 6154.37579109TOTAL NCALL = 178NCALLS = 178
EDM = 1.09346528365e-06GOAL EDM = 5e-06\n", " UP = 0.5
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1alpha1.012962e+005.321735e-020.000000e+000.000000e+00
2n1.812763e+002.177144e-010.000000e+000.000000e+00
3mean9.982474e-015.583931e-030.000000e+000.000000e+00
4sigma2.996611e-014.195338e-030.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" }, { "output_type": "display_data", "png": "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\nobBy/h/49oHGado2bQAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 44 }, { "cell_type": "markdown", "metadata": {}, "source": [ "##But what if I know analytical integral formula\n", "probfit check for integrate method that can be called by integrate(bound, nint, *arg) to\n", "compute definite integral for given bound and nint(pieces of integral this is normally ignored)\n", "and the rest will be passed as positional argument. Couple of probfit already have analytical formula written." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from probfit import integrate1d\n", "def line(x, m, c):\n", " return m*x+c\n", "\n", "#compute integral of line from x=(0,1) using 10 intevals with m=1. and c=2.\n", "#all probfit internal use this\n", "print integrate1d(line, (0,1), 10, (1.,2.) ) # no integrate method available probfit use simpson3/8\n", "\n", "#Let us illustrate the point by forcing it to have integral that's off by\n", "#factor of two\n", "def wrong_line_integral(bound, nint, m, c):\n", " a, b = bound\n", " return 2*(m*(b**2/2.-a**2/2.)+c*(b-a)) # I know this is wrong \n", "line.integrate = wrong_line_integral\n", "# line.integrate = lambda bound, nint, m, c: blah blah # this works too\n", "print integrate1d(line, (0,1), 10, (1.,2.))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "2.5\n", "5.0\n" ] } ], "prompt_number": 45 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "What if things went wrong" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#crystalball is nortoriously sensitive to initial parameter\n", "#now it is a good time to show what happen when things...doesn't fit\n", "ublh = UnbinnedLH(ncball,data)\n", "minimizer = iminuit.Minuit(ublh)#NO initial value\n", "minimizer.set_up(0.5)#remember this is likelihood\n", "minimizer.migrad()#yes amazingly fast but tons of read\n", "#Remember there is a heads up" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "-c:4: InitialParamWarning: Parameter alpha does not have initial value. Assume 0.\n", "-c:4: InitialParamWarning: Parameter alpha is floating but does not have initial step size. Assume 1.\n", "-c:4: InitialParamWarning: Parameter n does not have initial value. Assume 0.\n", "-c:4: InitialParamWarning: Parameter n is floating but does not have initial step size. Assume 1.\n", "-c:4: InitialParamWarning: Parameter mean does not have initial value. Assume 0.\n", "-c:4: InitialParamWarning: Parameter mean is floating but does not have initial step size. Assume 1.\n", "-c:4: InitialParamWarning: Parameter sigma does not have initial value. Assume 0.\n", "-c:4: InitialParamWarning: Parameter sigma is floating but does not have initial step size. Assume 1.\n" ] }, { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 10986.1228867TOTAL NCALL = 230NCALLS = 230
EDM = 0.0GOAL EDM = 5e-06\n", " UP = 0.5
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
FalseTrueFalseFalseFalse
Hesse FailHasCovAbove EDMReach calllim
TrueTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1alpha0.000000e+001.000000e+000.000000e+000.000000e+00
2n0.000000e+001.000000e+000.000000e+000.000000e+00
3mean0.000000e+001.000000e+000.000000e+000.000000e+00
4sigma0.000000e+001.000000e+000.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" }, { "output_type": "pyout", "prompt_number": 46, "text": [ "({'hesse_failed': True, 'has_reached_call_limit': False, 'has_accurate_covar': False, 'has_posdef_covar': False, 'up': 0.5, 'edm': 0.0, 'is_valid': False, 'is_above_max_edm': False, 'has_covariance': True, 'has_made_posdef_covar': False, 'has_valid_parameters': True, 'fval': 10986.122886679714, 'nfcn': 230},\n", " [{'is_const': False, 'name': 'alpha', 'has_limits': False, 'value': 0.0, 'number': 0L, 'has_lower_limit': False, 'upper_limit': 0.0, 'lower_limit': 0.0, 'has_upper_limit': False, 'error': 1.0, 'is_fixed': False},\n", " {'is_const': False, 'name': 'n', 'has_limits': False, 'value': 0.0, 'number': 1L, 'has_lower_limit': False, 'upper_limit': 0.0, 'lower_limit': 0.0, 'has_upper_limit': False, 'error': 1.0, 'is_fixed': False},\n", " {'is_const': False, 'name': 'mean', 'has_limits': False, 'value': 0.0, 'number': 2L, 'has_lower_limit': False, 'upper_limit': 0.0, 'lower_limit': 0.0, 'has_upper_limit': False, 'error': 1.0, 'is_fixed': False},\n", " {'is_const': False, 'name': 'sigma', 'has_limits': False, 'value': 0.0, 'number': 3L, 'has_lower_limit': False, 'upper_limit': 0.0, 'lower_limit': 0.0, 'has_upper_limit': False, 'error': 1.0, 'is_fixed': False}])" ] } ], "prompt_number": 46 }, { "cell_type": "code", "collapsed": false, "input": [ "ublh.show(minimizer)#it bounds to fails" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nSUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 47 }, { "cell_type": "code", "collapsed": false, "input": [ "minimizer.migrad_ok(), minimizer.matrix_accurate()\n", "#checking these two method give you a good sign" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 48, "text": [ "(False, False)" ] } ], "prompt_number": 48 }, { "cell_type": "code", "collapsed": false, "input": [ "#fix it by giving it initial value/error/limit or fixing parameter see iminuit Tutorial\n", "#now we can fit as usual\n", "ublh = UnbinnedLH(ncball,data)\n", "minimizer = iminuit.Minuit(ublh,\n", " alpha=1.,n=2.1,mean=1.2,sigma=0.3)\n", "minimizer.set_up(0.5)#remember this is likelihood\n", "minimizer.migrad()#yes amazingly fast. Normalize is written in cython\n", "ublh.show(minimizer)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "-c:5: InitialParamWarning: Parameter alpha is floating but does not have initial step size. Assume 1.\n", "-c:5: InitialParamWarning: Parameter n is floating but does not have initial step size. Assume 1.\n", "-c:5: InitialParamWarning: Parameter mean is floating but does not have initial step size. Assume 1.\n", "-c:5: InitialParamWarning: Parameter sigma is floating but does not have initial step size. Assume 1.\n" ] }, { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 6154.37579109TOTAL NCALL = 178NCALLS = 178
EDM = 1.09346528365e-06GOAL EDM = 5e-06\n", " UP = 0.5
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1alpha1.012962e+005.321735e-020.000000e+000.000000e+00
2n1.812763e+002.177144e-010.000000e+000.000000e+00
3mean9.982474e-015.583931e-030.000000e+000.000000e+00
4sigma2.996611e-014.195338e-030.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" }, { "output_type": "display_data", "png": "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\nobBy/h/49oHGado2bQAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 49 }, { "cell_type": "markdown", "metadata": {}, "source": [ "##How do we guess initial value?\n", "\n", "This is a hard question but visualization can helps us" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from probfit import try_uml, Normalized, crystalball, gen_toy" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 50 }, { "cell_type": "code", "collapsed": false, "input": [ "bound = (-1,2)\n", "ncball = Normalized(crystalball,bound)\n", "data = gen_toy(crystalball,10000,bound=bound,alpha=1.,n=2.,mean=1.,sigma=0.3)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 51 }, { "cell_type": "code", "collapsed": false, "input": [ "besttry = try_uml(ncball,data,alpha=1.,n=2.1,mean=1.2,sigma=0.3)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nNND/Az+3MrKAj+5KAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 52 }, { "cell_type": "code", "collapsed": false, "input": [ "#or you can try multiple\n", "#too many will just confuse you\n", "besttry = try_uml(ncball,data,alpha=1.,n=2.1,mean=[1.2,1.1],sigma=[0.3,0.5])\n", "print besttry #and you can find which one give you minimal unbinned likelihood" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "{'alpha': 1.0, 'mean': 1.1, 'sigma': 0.3, 'n': 2.1}\n" ] }, { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 53 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Extended Fit: 2 Gaussian with Polynomial Background" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy.random as npr\n", "from probfit import gen_toy, gaussian, Extended, describe, try_binlh, BinnedLH\n", "import numpy as np\n", "import iminuit" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 54 }, { "cell_type": "code", "collapsed": false, "input": [ "peak1 = npr.randn(3000)*0.2\n", "peak2 = npr.randn(5000)*0.1+4\n", "bg = gen_toy(lambda x : (x+2)**2, 20000,(-2,5))\n", "all_data = np.concatenate([peak1,peak2,bg])\n", "hist((peak1,peak2,bg,all_data),bins=200,histtype='step',range=(-2,5));" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n8fEhPT297t/p6en4+vq2xaWFEELQRmE/fPhwUlJSSEtLo6amhs2bNxMREdEWlxZCCEEbdeNotVpe\ne+01pkyZgslkYsGCBR1yJI4QQnRUbTbO/s477+TUqVOcPn2aP11l5q4//OEPBAcHM2TIEO69916K\na1cX6ii2bt3KgAED0Gg0HDlyxNrlNEpHf/5h/vz56PV6Bl1lofH2LD09nYkTJzJgwAAGDhzImjVr\nrF1Sk1RVVTFq1CiGDh1KSEjIVX+v2zuTyURoaCjTO+Bawf7+/gwePJjQ0FBGjrzOlM5KO7Jr1y7F\nZDIpiqIof/zjH5U//vGPVq6oaU6cOKGcOnVKCQsLUw4fPmztcq7LaDQq/fr1U1JTU5WamhplyJAh\nSlJSkrXLapKvv/5aOXLkiDJw4EBrl9Jk2dnZytGjRxVFUZTS0lKlf//+He6/f3l5uaIoimIwGJRR\no0Yp33zzjZUrarqXX35ZmT17tjJ9+nRrl9Jk/v7+ysWLFxu1b7uaLiE8PBx17RQBo0aNIqN23vOO\nIigoiP79+1u7jEar//yDTqere/6hIxk/fjzu9adf7kC8vLwYOtQyJtzZ2Zng4GCysrKsXFXTODlZ\nHvqoqanBZDLh4eFh5YqaJiMjg507d7Jw4cIOOyKwsXW3q7Cv76233mJq7SRgonVkZmbiV28SM19f\nXzIzM61Yke1KS0vj6NGjjBo1ytqlNInZbGbo0KHo9XomTpxISEiItUtqkiVLlvDiiy/WNTI7GpVK\nxe23387w4cPrnmO6mjaf9TI8PJycnJwrtj/33HN1fWb/+Mc/sLOzY/bs9rfSTGPq7yjkQbb2oays\njPvuu4/Vq1fj7Oxs7XKaRK1W8/3331NcXMyUKVNISEggrN4awO3Zp59+So8ePQgNDW038/s01d69\ne/H29ubChQuEh4cTFBTE+KvMX9XmYb979+5rvv7222+zc+dOPv/88zaqqGmuV39HIs8/WJ/BYGDm\nzJk89NBDzJgxw9rlNJubmxvTpk3j0KFDHSbs9+3bx44dO9i5cydVVVWUlJQwZ84c3nnnHWuX1mje\n3t4AdO/enXvuuYfExMSrhn27+tslPj6eF198ke3bt+Nw+YRdHUxH6P+T5x+sS1EUFixYQEhICIsX\nL7Z2OU2Wn59PUVERAJWVlezevZvQ0FArV9V4zz33HOnp6aSmphIXF8dtt93WoYK+oqKC0toFn8vL\ny9m1a9c1R6W1q7D/7W9/S1lZGeHh4YSGhrJo0SJrl9QkH3/8MX5+fhw4cIBp06Zx5513Wruka6r/\n/ENISAgPPPBAh3v+ISoqirFjx5KcnIyfnx8bNmywdkmNtnfvXjZu3MiXX35JaGgooaGhxMfHW7us\nRsvOzua2225j6NChjBo1iunTpzNp0iRrl9VsHa1bMzc3l/Hjx9f997/rrruYPHnyVfdvN2vQCiGE\naD3tqmUvhBCidUjYCyGEDZCwF0IIGyBhL4QQNkDCXgghbICEvRBC2ID/B9eG/nCTxkGtAAAAAElF\nTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 55 }, { "cell_type": "code", "collapsed": false, "input": [ "%load_ext cythonmagic" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The cythonmagic extension is already loaded. To reload it, use:\n", " %reload_ext cythonmagic\n" ] } ], "prompt_number": 56 }, { "cell_type": "code", "collapsed": false, "input": [ "%%cython\n", "cimport cython\n", "from probfit import Normalized, gaussian\n", "\n", "@cython.binding(True)\n", "def poly(double x,double a,double b, double c):\n", " return a*x*x+b*x+c\n", "\n", "#remember linear function is not normalizable for -inf ... +inf\n", "nlin = Normalized(poly,(-1,5))\n", "\n", "#our extended PDF for 3 types of signal\n", "@cython.binding(True)\n", "def myPDF(double x, \n", " double a, double b, double c, double nbg,\n", " double mu1, double sigma1, double nsig1,\n", " double mu2, double sigma2, double nsig2):\n", "\n", " cdef double NBG = nbg*nlin(x,a,b,c)\n", " cdef double NSIG1 = nsig1*gaussian(x,mu1,sigma1) \n", " cdef double NSIG2 = nsig2*gaussian(x,mu2,sigma2)\n", " return NBG + NSIG1 + NSIG2" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "gcc-4.2 not found, using clang instead\n" ] } ], "prompt_number": 57 }, { "cell_type": "code", "collapsed": false, "input": [ "print describe(myPDF)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['x', 'a', 'b', 'c', 'nbg', 'mu1', 'sigma1', 'nsig1', 'mu2', 'sigma2', 'nsig2']\n" ] } ], "prompt_number": 58 }, { "cell_type": "code", "collapsed": false, "input": [ "#lets use what we just learned\n", "#for complicated function good initial value(and initial step) is crucial\n", "#if it doesn't converge try play with initial value and initial stepsize(error_xxx)\n", "besttry = try_binlh(myPDF,all_data, \n", " a=1.,b=2.,c=4.,nbg=20000.,\n", " mu1=0.1,sigma1=0.2,nsig1=3000.,\n", " mu2=3.9,sigma2=0.1,nsig2=5000.,extended=True, bins=300, bound=(-1,5) )\n", "print besttry" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "{'a': 1.0, 'c': 4.0, 'b': 2.0, 'mu1': 0.1, 'mu2': 3.9, 'sigma1': 0.2, 'nsig2': 5000.0, 'nsig1': 3000.0, 'nbg': 20000.0, 'sigma2': 0.1}\n" ] }, { "output_type": "display_data", "png": "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\nyspERCQ6OlrUarXEx8dLdna2BAUFycKFC5W69TlXjdXVls6fPy/r16+XXbt2iUqlanY9+hxva+2z\nvZSVlcn7778vx48fF1dXVzl69Giz6lmzZo306dNHUlNTJTU1Vfz8/GTNmjU6t50xY4Z8+eWXkp+f\nL0VFRTJ79my5//77W3IYLXby5EnZtGmT/Oc//xEvL69m13P27Fnluvrxxx+lS5cu8vvvv4tI4/fE\nllzDtTVUV1vT53OiPiUlJfL7779LZWWliIjs3LlTTE1NJT8/X+f2QUFB8uyzz0pFRYWcOXNGHBwc\n5MiRIy06jltp9erVcvz4cSkvL5fU1FQZPHiwREZG6l1PR753FRYWypIlS5TcZ8+ePWJtbS2XLl3S\nq56kpCRRqVRSVVWlc31j96qGcit98xp98rSa6st3G0iRtbfTt2JDERERIb179xZra2vx8/OTHTt2\nNKue8vLyRhPp8+fPS5cuXaSgoEBZNnLkSOXNcPnyZbGzs5Pk5GQR0STSw4cPl6eeekpsbW2lb9++\nDSaZTRUSEiLLly/Xue7FF1+UGTNmKK8vXLggZmZmSswRERHy4IMPKutv3Lgh4eHh0r17d7G3t5eJ\nEyc2K6b7779f9u3bJ15eXvUeY0FBgZiZmUliYqKy7OGHH9ZK+Ozs7OS7774TEZEjR46Im5ubLF++\nXJydncXV1VU2bNigbBseHi5PPPGEBAcHi7W1tYwaNUrr97d//37x9fUVW1tbmTt3rowcOVL++9//\nNuv4qm3fvl0GDBigvO7evbscOHBAef3qq68qF/j+/fvFzc1Nq3yPHj1k//79IiIybdo0eemll5R1\nhw8fFhcXFxFp2rmqqaG6RETmzp0rc+fOVV57enrK22+/LQMGDBArKyuZPXu2pKeny/333y82NjZy\n7733SnZ2tohofg/u7u5a+/P09JSDBw9qLUtMTGz2B4O+x9vYPmsfb2RkpLi5uYm1tbX06dNHeY8u\nXrxYZs6cqWwXFRUlPXr0EEdHR3n99dfF09NTa9spU6bIzJkzxdraWgYMGCAJCQmybNkycXZ2lh49\nekhMTIxS1/r166Vfv35ibW0tvXr1ko8//ljnMbi7uzc7kb7rrrtk7dq1WvscNmyYzm1r38t//vln\nsba2Vl5/9tlnEhAQoLwOCwuTuXPnygMPPCDW1tYydOhQuXDhgrL+mWeeEWdnZ7GxsZEBAwYoiUNY\n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\nGZKRkSHp6eni4eEhX375pc5BACKa0c3Tpk2TwsJCOXbsmNja2kp8fLyyXqVSKTHoGuRWczBjWFiY\n2NjYyPHjx6W0tFSeeeYZZZaU69evi7W1tezcuVPKy8vlww8/FFNTU73fG7/++qs4OzvLtm3bdK5f\nuHChjBo1SrKzsyU+Pl5cXFyUwYSlpaXi6ekp77//vpSUlMj7778vXl5eUl5eLiKamTZcXFwkPj5e\nsrKyZNSoUfLiiy82+VzV1FhdYWFhEh4ervM8iojMnDlTlixZorxeu3at3HvvvSIikpOTI127dpW9\ne/dKWVmZLFmyRExMTLTKFxcXS1xcnKhUKikpKVEGw+hDn+NtbJ81j/f8+fNy6NAhKSkpkdLSUnnk\nkUeUdTUHcFWPDD9x4oSUlpbKCy+8IKampvUOTKw9QK56wHJqaqrk5eWJsbGxHD16VKqqqmTfvn3S\ntWtXeeWVV5TtS0pKpLi4WNzd3SUmJqbB+0591qxZI/369ZPU1FRJSUkRPz+/egc1Pvvss9KrVy95\n5513dK7fsGGD1vHUHjRY83r83//+Jz/88IOUlZVJQUGB3H///cr7p2a5b775RlxdXeXcuXNSWFgo\nDz/8sNZgw6qqKikuLpZ9+/aJp6en8jvSx++//y779u2ToqIiKSsrk08//VRsbW2V+3Bj98SWXMO1\nNVSXiGYAWFRUlIjoHixYe+DpzJkz5Y033hARzfvNyclJrly5Ijk5ORISEqJVXp/Pifr88MMPcuzY\nMSktLZWioiKJjIwUd3f3emftOHfunOTl5Ulpaal8+umn4uTkpHwe1j7eI0eOyNmzZ6WiokJu3Lgh\nAwcOlI0bN4qIZvaP6nvz6tWrxd/fX1JTUyU7O1vuvfdeMTIyUo4zKChIa9D4Sy+9pHVvO3DggHh7\ne4uIyN69e6V79+6Snp4upaWlsnTpUjE2Nlau6UOHDomDg0ODAxCboq3uXSJ179U170Nff/21JCYm\nSlVVlVy5ckVcXV0lNja2TrkFCxbI6NGjJTs7W1JSUmTgwIHi4eGh1Pn444/LsGHD6v3cbooNG36U\n55//XT75pFIyMzMlNDRU7rnnHmV9Y/eqhnKrxq7h2vTJ02rqtLN2vPTSS+Lg4CBOTk7y3HPPaV2Q\nTaVSqUSlUomRkZHyf7UnnnhCa7qzS5cuSVBQkFhYWNSZhePbb7+Vnj17KqNWN27cKCNGjFBm7ejT\n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\n", "text": [ "" ] } ], "prompt_number": 59 }, { "cell_type": "code", "collapsed": false, "input": [ "binlh = BinnedLH(myPDF,all_data, bins=200, extended=True, bound=(-1,5))\n", "#too lazy to type initial values from what we try?\n", "#use keyword expansion **besttry\n", "#need to put in initial step size for mu1 and mu2 \n", "#with error_mu* otherwise it won't converge(try it yourself)\n", "minimizer = iminuit.Minuit(binlh, error_mu1=0.1, error_mu2=0.1, **besttry)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "-c:6: InitialParamWarning: Parameter a is floating but does not have initial step size. Assume 1.\n", "-c:6: InitialParamWarning: Parameter b is floating but does not have initial step size. Assume 1.\n", "-c:6: InitialParamWarning: Parameter c is floating but does not have initial step size. Assume 1.\n", "-c:6: InitialParamWarning: Parameter nbg is floating but does not have initial step size. Assume 1.\n", "-c:6: InitialParamWarning: Parameter sigma1 is floating but does not have initial step size. Assume 1.\n", "-c:6: InitialParamWarning: Parameter nsig1 is floating but does not have initial step size. Assume 1.\n", "-c:6: InitialParamWarning: Parameter sigma2 is floating but does not have initial step size. Assume 1.\n", "-c:6: InitialParamWarning: Parameter nsig2 is floating but does not have initial step size. Assume 1.\n" ] } ], "prompt_number": 60 }, { "cell_type": "code", "collapsed": false, "input": [ "minimizer.migrad();" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 102.412104526TOTAL NCALL = 253NCALLS = 253
EDM = 1.65495586821e-06GOAL EDM = 5e-06\n", " UP = 0.5
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1a8.328082e-014.684544e-020.000000e+000.000000e+00
2b3.636513e+001.243742e-010.000000e+000.000000e+00
3c3.544285e+001.310163e-010.000000e+000.000000e+00
4nbg1.991538e+041.633711e+020.000000e+000.000000e+00
5mu1-1.479097e-034.663990e-030.000000e+000.000000e+00
6sigma11.962934e-014.062938e-030.000000e+000.000000e+00
7nsig12.989627e+036.936758e+010.000000e+000.000000e+00
8mu24.003400e+002.078124e-030.000000e+000.000000e+00
9sigma29.867706e-021.988008e-030.000000e+000.000000e+00
10nsig25.050094e+031.004303e+020.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" } ], "prompt_number": 61 }, { "cell_type": "code", "collapsed": false, "input": [ "binlh.show(minimizer)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXUAAAD9CAYAAABDaefJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXlcVNX//1+AmLsgKiqg7OAwMDOyWqIoq/uCEq6gaPlR\ny6VSKwv6lYZbuaUtX3cySS3FSnFj0hRkUTRFWXRQBERZFSRZ5v37Y5wTwwwwKKQM9/l4zMO5955z\n7/t9B9/33Pc553W0iIjAwcHBwaERaL9sAzg4ODg4mg4uqHNwcHBoEFxQ5+Dg4NAguKDOwcHBoUFw\nQZ2Dg4NDg+CCOgcHB4cG0WBQ37hxI+zt7cHn87Fx40YAQGFhIby9vWFtbQ0fHx8UFxez8l9++SWs\nrKxga2uLEydONJ/lHBwcHBxK1BvUr127hv/7v/9DQkICrly5gt9++w23bt1CeHg4vL29kZaWBk9P\nT4SHhwMAUlJSEBkZiZSUFBw/fhzz5s2DVCr9Txzh4ODg4GggqN+8eROurq5o164ddHR0MGTIEBw6\ndAhRUVEICgoCAAQFBeHw4cMAgCNHjmDy5MnQ1dWFqakpLC0tER8f3/xecHBwcHAAANrUd5DP5+Pj\njz9GYWEh2rVrhz/++ANOTk7Iy8uDoaEhAMDQ0BB5eXkAgJycHLi5ubH6xsbGyM7OVjinlpZWU/vA\nwcHB0SpQRwCg3pa6ra0tli1bBh8fHwwfPhxCoRA6OjoKZbS0tOoN1KqOEZHGfkJDQ1+6DZx/nH+t\nzbfW4J+6NNhROmvWLCQmJuLPP/+Evr4+rK2tYWhoiPv37wMAcnNz0bNnTwCAkZERsrKyWN179+7B\nyMhIbWM0gczMzJdtQrPC+ddy0WTfAM33T10aDOoPHjwAANy9exe//PILpkyZgjFjxmD37t0AgN27\nd2PcuHEAgDFjxmD//v2oqKiARCJBeno6XFxcmtF8Dg4ODo6a1JtTB4CJEyeioKAAurq62Lp1K7p2\n7Yrly5cjICAA27dvh6mpKX7++WcAAI/HQ0BAAHg8Htq0aYOtW7e2uhx6cHDwyzahWeH8a7losm+A\n5vunLlrUmGRNU1xQS6tR+SEODg4ODvVjJzejtIkRi8Uv24RmhfOv5aLJvgGa75+6cEGdg4ODQ4Pg\n0i8cHBwcLQAu/cLBwcHRCuGCehOj6Xk9zr+Wiyb7Bmi+f+rCBXUODg4ODYIL6jVQRzY4Pj4eLi4u\nEIlEcHZ2RkJCAtsvEomwePFiODg4IDIyEgDw5MkTjBw5Ev379wefz8eHH37IzpWRkQF3d3eIRCII\nBAIcO3ZMbVslEglcXV1hZWWFwMBAVFZWqiy3e/duWFtbw9raGnv27FE6/u6776Jz584K+8RiMUQi\nEfh8Pjw8PBTuz/z582Fvb48pU6bg6dOnAICwsDAYGxtDJBJBJBLh+PHjavvxqlHTX01Dk30DNN8/\ntaH/mJdwSbW4fv06CQQCqqioIIlEQhYWFlRdXa1UbsiQIXT8+HEiIvrjjz/Iw8ODiIiePHnCyufm\n5pKBgQFVVVXRkydPSCwWExFRRUUFubu707Fjx4iIKCgoiL799lsiIkpJSSFTU1Ol6+3cuZPCwsKU\n9k+aNIkiIyOJiGju3Lm0bds2pTIFBQVkbm5ORUVFVFRUxL7LSUhIoOnTp1Pnzp3ZvqKiIuLxeJSV\nlUVERA8fPiQiIolEQmZmZvTPP/8QEVFAQADt2rWLiIjCwsJo/fr1ddxZDg6OpkDd2NliW+rjx4+H\nk5MT+Hw+fvjhhxc+n7qywb1790ZJSQkAoLi4mGnbtG/fHtra2hCLxSgvL0fXrl2ho6OD9u3bY8iQ\nIQAAXV1dDBgwgClX1nWuhiAixMTEYOLEiQAU5Y9rEh0dDR8fH+jp6UFPTw/e3t6sFV1dXY2lS5di\nzZo1Cj3q+/btg7+/P4yNjQEA3bt3BwB06dIFurq6OHHiBKqqqvDkyRMFe0lDRjRpcl5Wk30DNN8/\ndWlQJuBVZceOHdDX10d5eTlcXFzg7++Pbt26KZRZsmQJYmJilOpOnjwZS5cuVdinjmwwAISHh2PQ\noEF4//33IZVKceHCBXYsPj4eM2fORF5eHn766SelusXFxTh69CgWLVoEAPjwww8xcOBAbN68GWVl\nZTh9+jQAoKCgAF5eXgBkq0xVVFSwoB0REQFDQ0Po6elBW1v2TDYyMlJpa05ODgvOtX3asmULxo4d\ni169einUSU9PR2VlJYYOHYrHjx9j4cKFmD59Orp164b33nsPb775Jjp16gRfX19mIwBs3rwZe/bs\ngZOTE9avXw89PT0lezg4OP4DmvN1QRVNdcnQ0FASCAQkEAhIT0+P4uLiXuh8CxYsoIiICLYdEhJC\nhw4dUirn6elJv/zyCxER/fzzz+Tl5aVU5saNG9SvXz8qLi5m+yorK8nPz482btyocI2vvvqKiIhi\nY2OJx+MpnWvXrl1K6ZeHDx+SpaUl27579y7x+XyluuvWraMvvviCbX/++ee0bt06ys7OpkGDBlFV\nVRVJpVLq1KkTKzN//nwaOHAgPXnyhPLz88nKyorS0tIoIyOD+vfvT/n5+VRZWUnjxo1j9ysvL4+k\nUilJpVL6+OOPadasWUq2cHBwvBjqxs4W2VIXi8U4ffo04uLi0K5dOwwdOpR12tVk8eLFKl/JAgMD\nsWzZMoV96soGx8fH49SpUwBkYmezZ89WKmNrawsLCwtkZGTA0dERAPDWW2/BxsYG7777Lit34cIF\nfPbZZwAANzc3/PPPP8jPz2cpDzm1RdEMDAxQXFwMqVQKbW3tOm01MjJS8D8rKwvDhg1DcnIyMjIy\nYGlpCUDWmWttbY20tDSYmJige/fuaN++Pdq3b4/BgwfjypUrkEqleP3112FgYAAAmDBhAi5cuICp\nU6cy6WUAmD17NkaPHq1kCwdHcyIWyz4AcPUqYG8PaGkBHh6yT6uimR8uSjTFJY8cOUKjR48mIlmr\nuF27dvTnn3++0DnlHaVPnz6l27dvk7m5OUmlUqVyIpGIdXyeOnWKnJyciEjWkVhZWUkxMTGUmZlJ\nJiYmVFJSQkREH3/8Mfn7+yudb/z48ayzMSUlhfr06aO2vZMmTaL9+/cTEdHbb7+tsqO0sLCQzMzM\nqKioSOF7bWq21G/cuEGenp5UVVVFZWVlxOfz6fr165ScnEx2dnZ0/PhxkkqlNGPGDNqyZQsREeXk\n5LD6X331FU2ePFltP141YmJiXrYJzYYm+hYTQxQaKvsEBcVQaCiRjg5RdPTLtas5UDd2tsig/vTp\nUxo+fDj179+fxo0bR0OHDn3hoE5EtHLlSrKwsCAbGxs2woWIaPbs2ZSYmEhEshEjLi4uJBAIyM3N\njS5dukRERHv37iU7OzuytLQkZ2dnNsIlKyuLtLS0iMfjkVAoJKFQSNu3byciooyMDBoyZAgJBAIS\nCoV08uRJIiLKz89nZWt/rl27RkREt2/fJhcXF7K0tKSAgACqqKggIqLExESaPXs2s33Hjh1kaWlJ\nlpaW7AFSm5qjX4iI1q5dSzwej/h8vkK6aPXq1WRqakp8Pp9mzJjBrjl9+nSyt7cnBwcHGjt2LN2/\nf/85f4GXjyYGPjma7BsR0fvvx1BsLNFrrxGVl79sa5oedWMnp/3CwcGhEUybBvj5AbNnA8XFQLt2\nL9uipqXJtF++/PJL2NnZKUw4KSwshLe3N6ytreHj44Pi4mKF8g1N4OHg4ODgaB7qDeqZmZn44Ycf\ncOnSJfz999+orq7G/v37ER4eDm9vb6SlpcHT0xPh4eEAgJSUFERGRiIlJQXHjx/HvHnzIJVK/xNH\nXhU0faws51/LRZN9A4C8PPHLNuGVoN6gLp9w8uTJEzbhpE+fPoiKikJQUBAAxYkv6k7g4eDg4GgO\ntm8HKiqAsWNlKZjWSL1BXT7hpG/fvujTpw+blZiXlwdDQ0MAgKGhIfLy8gDUP9mlJsHBwQgLC0NY\nWBg2bNig0IIQi8UNbu/fvx/29vZql1dn+86dO3B0dISVlRXMzMywcePGOsuHhobCzs4OfD4fXl5e\nCvXnzJmjVF8gEDBdlB49esDd3V1t+9asWYO+ffvCysoKq1evVll+z549GDhwINq1a4d58+ax41lZ\nWRCJRDAzMwOfz8emTZuU6s+bNw/a2tooLCxUuP7du3fRqVMnhfPVvOaL3u9XdVuT/fPw8Hil7GnK\n7bfeAiTJIiTEngKRGCdOAG+99erY9zzbYrEYwcHBLF6qTX29qKomnOzdu5f09PQUyunr6xORehN4\nGrikWkgkEpWTbV6EiooKNpqjtLSU+vXrx/RPapKWlkYikYhNLJJro6hb39/fn/bu3au0PygoiA2V\nlFNVVUUWFhYkkUiooqKCBAIBpaSkKNV98OABJSQk0Mcff0zr1q1j+3Nzc+ny5ctERPT48WOytrZW\nqH/37l3y9fUlU1NTKigoULIzICBA4XwcHK8qix1OEQH0FLp0FoNosLCYVIzebdGoGzvrbaknJiay\nCSdt2rTBhAkTEBsbi169euH+/fsAgNzcXDb5RN0JPE1BVVUVpk2bBh6Ph0mTJqG8vPyFzqerqwtd\nXV0AQHl5OXR1ddGhQwelcj/88AMWLFiArl27AvhXG0VeXywW11n/0aNHOHPmDMaNG6d03toTjADZ\nRCdLS0uYmppCV1cXgYGBOHLkiFK5Hj16wMnJidkvp1evXhAKhQCATp06oX///sjJyWHHlyxZgjVr\n1iid7/DhwzA3NwePx1M6VrNVoYlosn+a7JtzWQzEANqiEu74C4cXitFalSrqDeq2traIi4tDeXk5\niAinTp0Cj8fD6NGjsXv3bgAyaVd5kBozZgz279+PiooKSCQSpKenw8XFpVkMT01Nxfz585GSkoIu\nXbpg69atSmXWrVvH0h41P3Ltldrcu3cPDg4O6Nu3LxYvXqykJQPItFFSU1MxaNAgDBw4ENHR0Qr1\nQ0JC6qx/+PBheHl5oVOnTgBkgltym6KiojB79myIRCIMHDgQAJCdnQ0TExNWv650ljpkZmbi8uXL\ncHV1BSDr/zA2NoaDg4NCudLSUqxZs6Zxr3scHC8Z/wGZAIBK3fYAgE4Fd16iNS+Zhpryq1evZhNR\n5BNOCgoKyNPTk6ysrMjb21thlmJdE3ga+wpRHxKJhPr27cu2z5w5Q+PGjXvh88rJyckhKysrSk9P\nVzo2atQomjBhAlVVVZFEIiETExMFjZf66vv5+THdmNoEBwcrTaA6ePCgwkSivXv30oIFC+q0Oyws\nTGW65PHjx+To6Ei//vorERGVlZWRi4sLm/FqampK+fn5RET03nvv0c8//0xEMn0dLv3C0SJ4/XUi\ngO4JhhMBVPnO4pdtUZOjbuxsUPtl6dKlSoqG3bp1Y/ontfnoo4/w0UcfNcXzpl5qpiuISGX6Yu3a\ntdi3b5/S/sGDB7OOTFX07t0b7u7uSE5OZvoocoyNjeHq6godHR2YmprC2tpaQeOlrvr5+flISEhQ\nmT6pi9rprKysLIWOaHWorKyEv78/pk2bxt6obt26hczMTAgEAgCyNwxHR0dcvHgR8fHxOHToEJYu\nXYri4mJoa2ujffv2mDdvXqOuy8Hxn5KZCQDIs/WA0ZVj0MriWur/GU1xSYlEQlpaWhQbG0tEimqH\nz8u9e/foyZMnRCTTTLGxsaHU1FSlcsePH6egoCAiknWSmpiYUGFhIasfExOjsv62bdsoODi4UTZV\nVlaSubk5SSQSevr0aZ0dpXJqt6ylUilNnz6dFi1aVO91VHWUEqle/ELTp5prsn8a61t5ORFAp6FN\nxz/5iwigatGAl21Vk6Nu7GyRKo1aWlqwsbHBN998g1mzZsHOzg7/+9//XuicN27cwHvvvQctLS1o\naWnho48+grW1NQAgNDQUTk5OGD16NHx9fXHixAnY2dlBR0cH69atg76+PpKSkvDee++hrKwMnTt3\nVqgPAJGRkQpL2QGynPry5cuVbGnXrh1iY2PRpk0bbNmyBb6+vqiurkZISAj69+8PAPjuu+8AAG+/\n/Tbu378PZ2dnPHr0CNra2ti4cSNSUlKQnJyMiIgIODg4QCQSAZDN+PXz81O6nxwcLZa7dwEABTo9\ncSzRAr4Aym/ewdqw1qnSyGm/cHBwtFjEYiDr/6Ix/Uc/XOw4FKu9TyPytw7QrfoHePQIqLX+bktG\n3djZIlvqHBwcrRuxWPYBAMfiTADA095m8J+oBd2UvkBaGnDnDsDnvywTXxotdo3SVxVNHgsMcP61\nZDTJNw8PICxM9rF9TQIAkLoTpk4FYGoqK3SndXaWckGdg4OjRdM+TxbU71T0RlgYkFhgCgD4/ZtM\nhIX926JvLXBB/Rl+fn4QCoWws7NDSEgIKisrlcpkZmaiffv2bMKQqmF+X331FdOlqcmhQ4egra2N\nS5cuqW2TRCKBq6srrKysEBgYqNImue36+vpKy8iFhIRAKBTCwcEB48ePR0lJCQDg5s2bTCtm/fr1\natsDyPRDNBlN9k9TfevwIBMAEDR3OMLCAKcJ/QAA+o9kQV1D3a4TLqg/4+DBg0hOTsb169dRUlKC\nyMhIleUsLS1x+fJlXL58WWkW6y+//ILOnTsrjSZ5/PgxNm7cCDc3N5Xn3LVrF1urtCbLli3De++9\nh/T0dOjr62P79u0q6y9duhR79+5V2r9hwwYkJyfj6tWrMDc3x+bNmwHI1jjdvHkz3n//fZXn4+Bo\nSXR81lKHmZns32fpl+pbXPqlRbFnzx4IBAIIhULMmDHjhc8nn7pfWVmJiooKpcWfG6K0tBRff/01\nfHx8lHqoP/nkEyxfvhyvvfaa2iN/iAgxMTGYOHEiAEWJ49oMGzaM2V+Tzs96/okI5eXlzKe6tGLU\nQZPysqrQZP800reyMrz26CEqtdtCnJoq29dP1lLvWZ758ux6ibTI0S/Xr1/HypUrERsbi27duqGo\nqEipjFgsxuLFi5X2d+zYEX/99ZfK8/r6+iIhIQHe3t5KY7nlSCQSiEQidO3aFV988QUGDRoEQBa4\n33//fSVhsUuXLiE7OxsjRozA2rVrWSu+oKAAXl5eAIDCwkJUVFSwoB0REQFDQ0Po6elBW1v23DUy\nMnou3ZeZM2fi2LFjsLS0xKZNmxpdn4PjVebjWblYCSAXfVD65Fkb9VlLvWd562ypt8igfubMGQQE\nBDDBLH19faUyHh4euHz5cqPOGx0djadPn+LNN9/E7t272UIgcvr06YOsrCzo6+vj0qVLGDduHK5f\nv45bt27h9u3b+Prrr5H5bLoyAEilUixZsoSJnwFgLXUDAwNm3+7du5GZmYnQ0FBWLj8/v1G218XO\nnTshlUqxYMECrFy5UuEaz4Om5mXlaLJ/muhbQbpsHYAHUgPs2eOBUaMAPFvroUtFPiCVAtotNiHx\nXLRIb9UZhB8TE6NSofGNN96ot95rr70Gf39/JCQkKB1r27Yte4AMGDAAFhYWSEtLQ1xcHBITE2Fm\nZgZ3d3ekpaVh2LBhKC0txfXr1+Hh4QEzMzPExcVhzJgxKjtLa+fhDQwMUFxczJYDbEjGuL5Zodra\n2ggMDFTpEwdHS6aHjiyoP2rTDd9/L9v31rw2eKzdBTqQouRuyUu07uXQIoP6sGHDcODAAbZaj/zf\nmgwdOpR1aNb8nD9/XqlsWVkZcnNzAch02n/77Tc2rb4m+fn5qK6uBgDcvn0b6enpsLCwwNy5c5Gd\nnQ2JRIK1a9fC2toaZ86cQZcuXfDw4UNIJBJIJBK4ubnh6NGjGDBggMJ5g4KC8Omnnyrs09LSwtCh\nQ3HgwAEAihLHqlD1kMvIyGDHoqKilHx6npm9GpmXrYEm+6eJvi1/qwAAoNPTAMnJYgCyeUf5Utlb\n/Ip5yrFB02mR6Rcej4ePP/4YQ4YMgY6ODgYMGIAdO3Y89/nKysowduxYPH36FEQEX19fzJo1CwBw\n9OhRJCYm4rPPPsOff/6J0NBQ6OrqQltbG9999x30VCjxq6OlUjOnXpuIiAjY2dlh9erVCAwMxIoV\nKzBgwACEhIQAAJKSkvDtt9/ihx9+AAC4u7sjNTUVpaWlMDExwY4dO+Dl5YXg4GA8evQIAODk5IRv\nvvkGAOrUilHV2crB8SrT8R9Z0C57rRvkS9J06AAUwABmyMSq9woAWLw0+14GnPYLBwdHy+Wzz4Cw\nMPxsswIBNz8HIFtwOs3MBy7FJ4Fjx4A6Bj20NNSNnS0y/cLBwcEBACiQpV8etzVgu/T0ACMHA4Xj\nrYl6g3pqaqpCJ2PXrl2xadMmFBYWwtvbG9bW1vDx8UFxcTGr8+WXX8LKygq2trY4ceJEszvwqqGJ\necuacP61XDTSt2f9aaW63RT8q+zcTeF4a6LeoG5jY8M6GJOSktChQweMHz8e4eHh8Pb2RlpaGjw9\nPREeHg4ASElJQWRkJFJSUnD8+HHMmzePjd7g4ODgaCrEYpmYV/rFf3Pqu3b9q/NS2bn1ttTVXoYo\nOjqaBg0aRERENjY2dP/+fSIiys3NJRsbGyIiWrVqFYWHh7M6vr6+bHWixq7e8bwMGTKEEhMTm/Ua\ncm7cuEFubm702muv1buW5+nTp2nAgAHE5/MpKCiIqqqqiEi2wtK4cePIwcGBXFxc6Nq1a0REdPfu\nXfLw8CAej0d2dna0cePGJrF3165dZGVlRVZWVrR7926l4++88w516tSpUeecOXMm9ezZk/h8vtKx\nTZs2ka2tLdnZ2dHSpUuJiOjixYskFApJKBSSvb097d+/v97zr1u3jrS0tFSuzMTBQS4uRADRhQsK\nu6/N+Vq2/513XpJhTY+6sVPt0S/79+/H5MmTAQB5eXkwfDbA39DQEHl5eQCAnJwcBX0TY2NjlbMg\ng4ODYfps1peenh6EQiGbGCF/hXre7ZKSEiQmJrI1Q1/0fPVtGxgYIDg4WGEd09rlz5w5g8mTJ+P8\n+fOwtLREUFAQPvzwQ6xZswarVq2Cvr4+Nm7ciN69e2P+/PlYsWIFCgsL8fXXX0MoFOLYsWN4++23\n4e3tjf79+6tl36JFi3DkyBH069ePHXdwcMD/+3//j63NunDhQowZMwbJyckAZDIJ8nHxYrFY6fy7\ndu3CzJkzWUeN/LhQKMTAgQPZbFV5eXo2jHLz5s1o06YN7OzsAABFRUVYv349hg0bhvv378PGxgbd\nu3eHp6enkj9ZWVmIjIxkf2vN/Xty2y1w+1l88ejWDWIxsGuX7Lj7HQPYAdj+Wwoem4uxaNErYm8j\ntsViMXbt2gUALF6qhTqR/+nTp9S9e3d68OABERHp6ekpHNfX1yciogULFlBERATbHxISQocOHXqu\np019SCQSsrW1pTlz5pCdnR35+PhQeXk5ERF5eHjQwoULSSgUEp/Pp/j4eCIievDgAXl5eZGdnR3N\nnj2b+vXr12Stv7CwMNZSr70O5IMHD8jCwoJtnz17lkaMGEFERCNHjqRz586xYxYWFuwe12Ts2LF0\n6tQpIiLKyMggPz8/cnR0JHd3d7p586ZSeQ8PD7pz547Cvn379tHcuXPZ9ttvv00//fQTERFVVVXR\n0KFDKTc3t86WenBwMInFYpXrXEokEqWW+qRJk+j06dMqzyXn9u3bZG5uXufxiRMn0pUrV+pcQ7U5\n0Nh1PElDfevWTdYif/hQ0b/ffpPt9/N7aaY1NerGTrVGvxw7dgyOjo7o0aMHAFnr/P79+wCA3Nxc\n9OzZE4BMnyQrK4vVa2gW5IuQkZGBBQsW4Nq1a9DT08OhQ4cA/CteJVdRlI83/+yzz+Dl5YVr165h\n4sSJuPtsXcPaBAYGqpyJGhER8Vx2du/eHVVVVUhKSgIgU4OU3yOBQIBffvkFABAfH487d+7g3r17\nCvUzMzNx+fJluLq6AgDeeustbN68GYmJiVi7dq1K+V/5fahJTk4OjI2N2XbNt6gtW7Zg7Nix6NWr\nl0Kd6Oho5n9UVBRmz56NOXPmYODAgQ36nZ6ejrNnz8LNzQ0eHh5ITExkx+Lj42FnZwc7Ozt89dVX\nKusfOXIExsbGcHBwaPBaHK2U6mpArvtUe75It9bbUapW+uWnn35iqRcAGDNmDHbv3o1ly5YpzHQc\nM2YMpkyZgiVLliA7Oxvp6elwcXFpFsPNzMzYf3hHR0emuaKlpcVsdXd3x6NHj1BSUoLz588zwSxf\nX1+VejGALM30Ishfo+RoaWlh//79WLx4MZ4+fQofHx/o6OgAAJYvX46FCxdCJBLB3t4eIpGIHQNk\nyo8TJ07Exo0b0alTJ5SWliI2NhaTJk1iZSoqKgDINF7kKZCMjAyMGDECbdu2hbm5OXvgqSInJwcH\nDx6EWCxWehD4+vrC19cXgEwYbObMmRg8eLBa96GqqgpFRUWIi4tDQkICAgICcPv2bQCAi4sLrl+/\njps3b8LPzw8eHh7o2rUrq/vkyROsWrUKJ0+eZPtq29Zc1P79NAmN862kBCACunYF2rRR9M+g9XaU\nNhjUy8rKcOrUKTZ7EZAFo4CAAGzfvh2mpqb4+eefAchmegYEBIDH46FNmzbYunVrs61U/9prr7Hv\nOjo6+Oeff+osK7dBncDw5ptvIi0tTWn/kiVLMH369OewFHBzc8PZs2cBACdOnEB6ejoAmTRuzZmw\nZmZmMDc3ByCTAPb398e0adPYQ1MqlUJPT0+lUJk86AIyiYTdu3ejb9++7LiRkRHL1wFAVlYWhg0b\nhuTkZGRkZLB+gSdPnsDa2lrlPWgMxsbGmDBhAgDA2dkZ2traKCgogIHBv+OJbW1tYWFhgYyMDNYH\nAgC3bt1CZmYmBAIBANkbn6OjI+Lj49lbIQcHa4XX+JtitOKWevMORVFBU1yydg533bp1FBYWRkSy\n0S/y3PG5c+fIwcGBiIjmz59Pq1evJiLZSJ6mHFERGhpaZ06diFie/J9//iFPT09Wpri4mJ4+fUpE\nRN9//z0FBQUREZFUKqXp06fTokWLlM71+uuv04EDB1i5K1euKJXx8PCgzMxMhX2FhYVkZmZGRUVF\nCt9r09DoF3Vz6t9++y19+umnRESUmppKffv2ZWUrKyuJiCgzM5NMTEyopKSk3mtyOfWmQeN8i4uT\n5c2dnIgOX07+AAAgAElEQVSoln9VVbJjWlqy7xqAurGzxc4orf0GIN/W0tJCu3btMGDAAMybN4+t\nFhQaGooTJ07A3t4eBw8eRK9evdgiEs/L/fv3YWJigq+//hpffPEF+vbty/TUR44cyfod1q5dCx6P\nB4FAgDFjxrDXxBs3bsDe3h62traIjo5mI1POnz+PiIgIBaXJ48ePAwB+/PFHbN++HUKhEHw+H1FR\nUWrdH319fXzyySdwdnaGi4sLQkNDG9StqZlTl39q59QnT56M119/HWlpaTAxMcHOnTsBALNmzcLt\n27dhb2+PyZMnM/nhv/76C0KhECKRCJMmTcL333+PLl26AADmzJnD+h7q84WDA8C/rXB5q/wZYjEQ\n9rkOytvpAUR4f3Zxq1qrtNVov1RUVEBHRwc6OjqIjY3F/PnzG7VeKAcHxyvGjz8C06YBkycD+/Yp\nH7e0BG7dwqFVqfD/0Pq/t6+JUTd2tkiVxufh7t27CAgIgFQqRdu2bRX6CDg4OFog8k7QWi11Rrdu\nwK1beK2sdeXVW2z6pbFYWlri0qVLSE5ORnx8vELHXFMi1vB3PM6/lovG+VYr/aLk37MO1NdKW9cI\nmFYT1Dk4ODSM+ka/ACzYcy31VsKsWbNgaGgIe3v7Jj1vzbGy7777LqysrCAQCOpcL1UikcDV1RVW\nVlYIDAxEZWVlg/Ubsn39+vXQ1tZmK0L9+OOPCp2dOjo6uHr1KgAgMjISAoEAfD4fy5cvb5R/u3fv\nhrW1NaytrbFnzx6V5eVrvlpZWcHNzQ137txRu/67776r1JktFoshEonA5/MVbCkuLsbEiRPRv39/\n8Hg8xMXF1XtP1PFP09AU3+RiXlfFshb4L+JuCAsDAA+FcqevyIJ97O8FqCEkq/k04wgclbyES6rk\n7NmzdOnSJZVCVE3B77//TsOHDyciori4OHJ1dVVZbtKkSRQZGUlERHPnzqVt27Y1WL8+2+/evUu+\nvr51DgP8+++/ydLSkoiI8vPzqW/fvpSfn09EREFBQSqn9quSHSgoKCBzc3MqKiqioqIi9r0233zz\nDf3vf/8jIqL9+/fTm2++qVb9hIQEmj59OnXu3JntKyoqIh6PR1lZWURE9PDhQ3ZsxowZtH37diIi\nqqyspOLiYrXvCUcLxc+PCKCqqN9UHt7ZL5QIoM/wCU2a9N+a1hyoGztbZEs9MzMTtra2mDlzJmxs\nbDB16lScOHECb7zxBqytrdkCy2FhYVi/fj2rx+fzmTyAu7t7nbNKXwR5Xi8qKgpBQUEAAFdXVxQX\nFzPhMzlEhJiYGEycOBGAbK1S+azXI0eOKNWXD5Gsz/YlS5ZgzZo1ddq3b98+BAYGApCts2plZcUm\nBHl6etY5+5Se9brL/YuOjoaPjw/09PSgp6cHb29vNuyyJjXvg7+/P06fPt1g/erqaixduhRr1qxR\n6O3ft28f/P39mdxB9+7dAchE3M6dO8ckIdq0aaMwQ7Whe1ITjcs710DjfJO/demrzqn/00G237Rz\nIVuUujXQIoM6IJt1+P777+PmzZtITU1FZGQkzp8/j3Xr1mHVqlUA6h7Lri779u1TqQMTEBDQYN3s\n7GyYmJiwbWNjYyVdl4KCAujp6UFbW/YzGBkZMT2WnJwcpfqqFC9roo5eys8//8xkFCwtLZGamoo7\nd+6gqqoKhw8fZjbu3LmT+ZuYmIgRI0ZAJBKxBbKzs7Pr1JKp6z7Ig21BQcFzadGkp6ejsLAQQ4cO\nhZOTE/bu3QtAlsLq0aMHZs6ciQEDBmDOnDl48uSJ2veEo4Uiz6nU0cCZvkgW1N2sC5SkYTSZFjuk\n0czMjMm52tnZsUWc+Xw+04F5UaZMmYIpU6Y0qk7NvCXVGlPa2IdKY+qro5dy8eJFdOjQATweD4Bs\nQtK2bdvw5ptvQltbG6+//jpu3boFoGHZgeaaEFSfFk1lZSUuXbqE06dP48mTJxg4cCDc3NxQVVWF\nS5cuYcuWLXB2dsaiRYsQHh6ODz/8sNEaMpqSd1aFxvkmD+rP3spq+9exjyySt68o+S+teum02JZ6\nTe0XbW1ttG3bln2vqqoCIGsZ1lx5qT59GFXU7mCUf2oKasnZunUrRCIRBgwYgNzcXLUUKw0MDJiG\nee0yjVW8rKmXYmZmxvRSHjx4wMrs379f6SE1atQoxMXF4cKFC7C2toaNjY3SuVUF8Nr2ZWVlKbS8\na5aTp7yqqqpQUlICAwODOuvX1KIxNzdnWjQAYGJiAh8fH7Rv3x4GBgYYPHgwrl69ChMTExgbG8PZ\n2RkAMHHiRFy6dEmte8LRcqkskAVr/1ldVXeEPmuev/akNfWSomV2lNbWGgkODqaDBw8qHYuIiKDA\nwEAiIkpKSiIdHR2FDj9VmiUvilx/omZHZ2xsbL0dpfLVf95++22VHaWq6jdke+1OwerqajIyMiKJ\nRKJQLi8vj4hk2jBCoZDS09PV8k9dLZlvvvmGafH89NNPCh2ljdWiuXHjBnl6elJVVRWVlZURn8+n\n69evExGRu7s7paamEpFMi0e+0lJ996Q+/zQRjfKtvJwIoKfQJUBKkyap8O/aNSKAinr3fykmNjXq\nxs4WG9Tt7e3ZdnBwMFuMo+ax8vJy8vHxITs7O5o1axbxeDwW1AMDA6l3797Utm1bMjY2ph07dryw\nXUSKf1jz588nCwsLcnBwoKSkJLZ/xIgRlJubS0SyhSJcXFzI0tKSAgICqKKiosH66thuZmamEMBi\nYmJo4MCBSuUmT55MPB6PeDweG4VDRLRz50627FzNj7u7OyuzY8cOsrS0JEtLS9q1axfb/+mnn1JU\nVBQRyUTMJk2aRJaWluTq6qrwUKmrfk1qjn4hIlq7di3xeDzi8/kKy/wlJyeTk5MTOTg40Pjx4xVG\nv9R1T1ShUYGvFhrl2/37RAA9QHdyciIqKvrXv5gYotBQonWL7xEBVNCuN4WGyva3ZNSNna1G+4WD\ng0ODSEsDbGyQDkt0y09XPf+orAzo1AnUvj20nnWct2TUjZ0tNqfOwcHRinmWRC9B17pHtnToALRp\nA63ycuDp0//OtpcMF9SbGI0bC1wLzr+Wi0b5ViLrJC3GvxFdyT8trX+XuStpPSNgGgzqtadfX7x4\nEYWFhfD29oa1tTV8fHxQXKPr+csvv4SVlRVsbW1x4sSJZjWeg4OjlVKjpV4v8qDeinQCGgzqCxcu\nxIgRI3Djxg1cvXoVtra2CA8Ph7e3N9LS0uDp6Ynw8HAAQEpKCiIjI5GSkoLjx49j3rx5CkMKm5s5\nc+bgxo0bzXqNLVu2wNLSsk4dkecZC1yf/ktN/Pz8oK+vj9GjRyvsP3PmDBwdHWFvb4/g4GBUV1ez\nY6q0Uv755x+4urpCKBSCx+Phww8/VNtWDw8PtR7cL/LgHzNmjIKuTX36MXfv3oWPjw94PB7s7OzY\n8MmQkBAIhUI4ODhg/PjxKFGzpaZxY7lroFG+Pfs9S2q01FX61wqDer3dqcXFxWRmZqa038bGhu7f\nv09ERLm5uWRjY0NERKtWraLw8HBWztfXl2JjY5+rB/dV5fLly5SZmdmkOiJ16b/U5vTp03T06FEa\nNWoU21ddXU0mJiZsKOKnn37KNFDq00opKysjIplOiqurK507d07peqampkr7rl+/TgKBgCoqKkgi\nkZCFhQVVV1crlfvggw/Y8oHh4eG0bNkyteofOnSIpkyZojC6qS79GCLZ8oWnTp1iPj158oSIiB49\nesTKLFmyhD7//HMlGzlaJjExRNHea4kA+qn3Yvr0U6p7dIuXl2xZu+jo/9bIZkDd2FlvS13V9Ouy\nsjLk5eXB0NAQAGBoaMg0Teqb+l2T4OBghIWFISwsDBs2bFDIhYnF4ga3jx07hpEjR0IoFMLc3Bxh\nMok2eHh44LvvvoNYLMb27dthY2MDHo+HUaNG4Z133gEga+2OGzcOAwcOhIWFBTZs2ABfX1/weDzM\nnDmTXW/evHlwdnaGmZkZgoOD2fWLi4shkUjqtK+x/sTExODEiRNM/8Xe3l5hMeqa5YcNG4aMjAwU\n1FghPSoqCtXV1WzhaAMDA3z/TOhi3759cHJyQkZGBgCZVor8fB06dAAAnDp1CsXFxehWQ5O6PnuX\nLl0KV1dX6OrqwtTUFN26dcO3336rVF6u+SIWi2FlZcU0bb7++us665eWliIsLAw+Pj4KWjO7du1i\n+jHdu3dnGjEpKSkoLCyEjo4OAKBDhw64ePEixGIxU3eMiYnBrVu3mE5MQ/49z99jS9mWf39V7Hne\nbUAMH1dZS72XbxGGDhU/U2lU4V9lJcQAa6m/CvY35vcKDg5m8VJt6ov4CQkJ1KZNG4qPjyciooUL\nF9KKFStIT09PoZy+vj4RES1YsIAiIiLY/pCQEDZ+vLFPm/o4ePAgzZkzh23LFy728PCgpKQkys7O\nJlNTUyoqKqLKykpyd3end955h4hkSoSTJ08mIqIjR45Q586d6dq1aySVSsnR0ZGSk5OJSDa5hoio\nqqqKPDw86OrVqwo21NVSj4mJodTUVJVjvEUikdIiyw8fPmSqiUQyRcH6JhXFxMQotNSlUin169eP\nEhMTiYjo3XffZYttL1q0iObPn08eHh7k6OhIe/bsYfWqq6tJIBBQp06d6IMPPmD7V65cyext27Yt\n+75gwQIiIho/frzSbyyf+FWTmn8jUqmUbdf3N7Jo0SI6fPgwZWZmKtwDPp9P2dnZbNvCwoLy8/Pp\n119/pVGjRtGECRNIJBLRBx98oNDqDw4OJkNDQ3rjjTfYYtcNoVFjuWuhUb4tWCBrgW/YwHap9G/2\nbFm5777772xrJtSNnfW21I2NjVVOv+7VqxdTDMzNzUXPnj0BNH5q+/Pi4OCAkydPYvny5fjrr7/Y\nwsWQeY34+HgMGTIEenp6aNOmDSZNmsRaflpaWiwnzefz0atXL9jZ2UFLSwt2dnZMNyYyMhKOjo4Y\nMGAArl+/jpSUFLVs8/DwgLW1NS5fvqz0uXTpkoKtTYGWlhb279+PxYsXw9XVFV26dGECYXKtlD/+\n+APR0dH4/PPPkZ6eDkAmp5CcnIx79+7h7NmzrHXw0UcfMXv79OnDvm/evBkAVP6eDenAaGlp1VuG\niJCcnIzbt29j7Nixao3F1dLSQlVVFc6dO4f169cjISEBt2/fxq5du1iZnTt3IicnBw4ODli5cmWD\n5wQ0LO9cC43yTd5Hosfl1GtTb1Dv1asXTExMkJaWBkD2qm5nZ4fRo0ez1eF3796NcePGAZB1cO3f\nvx8VFRWQSCRIT0+Hi4tLkxttZWWFy5cvw97eHitWrMDnn3+ucLx2AKkdJGrqxNTWkKmuroZEIsH6\n9etx5swZXLlyBSNHjmyUbkxqaqpKzRiRSKTUYVef/osqVAVHNzc3nD17FhcvXoS7uzvTb1GllXLl\nyhWFul27dsXIkSORmJio1rXUfXAbGhqq/eA3NjZGXFwcEhMTYWZmBnd3d6SlpWHYsGGsTm39mG7d\nusHY2BhCoRCmpqbQ0dHBuHHjlBYT19bWRmBgIJNj5tAQaol51QkX1JXZvHkzpk6dCoFAgKtXr+Lj\njz/G8uXLcfLkSVhbW+PMmTNsxRwej4eAgADweDwMHz4cW7dubRY1v9zcXLRr1w5Tp07F+++/r7Aq\nkJaWFpydnfHnn3+iuLgYVVVVOHTokNp2EBEeP36Mjh07okuXLsjLy8OxY8dU1lfVohSLxbCxsVHZ\nUr98+bKCzrfc3qFDh+LAgQMAFB+SddlXm4cPHwKQjRJZs2YN5s6dCwAYO3Ys/vrrL1RXV+PJkye4\nePEieDwe8vPz2WiU8vJynDx5EiKRSOm8t2/fVtrXq1cvtR7cY8aMadSDf+7cucjOzoZEIsFff/3F\n/rZqn+vgwYPw9PQEADg7O6O4uBj5+fkAgNOnTzPlTnk/AhEhKipKpX+qqJnf1DRaum9isWzFo7Aw\nIOOSrHG067Ae5G6p9K8VBvUWqf0SHR1NDg4OJBQKydnZmemiyHPqRETff/89WVlZkaurKwUFBdGK\nFSuIqG6dmNrHgoODydramjw9Pcnf3592795NREQbN24kY2Nj0tXVpT59+ijk9omeL29Zl/5LYmIi\nzZ49m5UbNGgQ9ejRg9q3b0/GxsZ04sQJIpKNNOnfvz/Z2Ngo6KEQqdZKuXLlColEIhIIBGRvb09r\n1qxh5Wvm1Gt+5Dn1mJgYWrlyJVlYWJCNjQ0dP36c1Z09ezbL7RcUFJCnpydZWVmRt7e3glhXXfXl\n1P5d6tOPOXnyJDk4OJC9vT3NnDmTKisrqbq6mt544w2yt7dn++WjYhpCo/LOtdAk3yRdHWS58kuX\n2D6V/kVEyMo960dryagbOzVW+6WsrAwdO3ZEVVUVJkyYgJCQEIwdO7bZr8vBwdH8POhoip5P7gC3\nbwNmZnUX/P13YNQoYPhw4I8//jsDm4FWr/0SFhYGkUgEe3t7mJubcwGdg0OD6FjJ5dTrQmOD+tq1\na3H58mXcuHEDGzZs+M+u29Lzlg3B+ddy0RjfpFK0r3wk+15jNJlK/+RL3XFBnYODg+PVZOGsx9AG\noUy7E4pLG1iRk2upayZHjx7F6tWrGyxXl7ZKY6hrLHBWVhaGDh0KOzs78Pl8bNq0iR27cuUKBg4c\nCAcHB4wZMwaPHz8GAFRUVGDmzJlwcHCAUCjEn3/+yeokJSXB3t4eVlZWWLhwYaNsrEsvpT4NGTlm\nZmZwdHSESCSCnZ0dNm7cyI4NHjyYDd00MjLC+PHjG2XXq4BGjeWuhab4lntTNvKlUKqHt976d3+9\n49SLiprfsFeFZuysVclLuKTaqNJWaSpyc3Pp8uXLRET0+PFjsra2phs3bhARkZOTE509e5aIZKsB\nffLJJ0REtGXLFpo1axYRET148IAcHR3Z+ZydnenixYtERDR8+HA6duyY0jU9PDwUlu+To0ovpT4N\nmZpUVFSw0TmlpaXUr18/pi1TE39/f9q7d686t4aDo1H8740rRACltrUjFSsgKiKVEunqykbAlJf/\nJ/Y1F+rGzhbZUs/MzET//v3x1ltvgc/nw9fXl00O2rRpE+zs7CAQCNgiy7t27WLaL7du3YKbmxsc\nHBywYsUKphECyLRVOnXq9EK21ZW37NWrF4RCIQCgU6dO6N+/P9PFSU9Ph7u7OwDAy8sLhw4dAgDc\nuHEDQ4cOBQD06NEDenp6SEhIQG5uLh4/fszGh8+YMYNpq9SGavWWp6SkoLq6mo317tChA9q3b4+C\n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\nTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 62 }, { "cell_type": "code", "collapsed": false, "input": [ "minimizer.print_fmin()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 102.412104526TOTAL NCALL = 253NCALLS = 253
EDM = 1.65495586821e-06GOAL EDM = 5e-06\n", " UP = 0.5
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1a8.328082e-014.684544e-020.000000e+000.000000e+00
2b3.636513e+001.243742e-010.000000e+000.000000e+00
3c3.544285e+001.310163e-010.000000e+000.000000e+00
4nbg1.991538e+041.633711e+020.000000e+000.000000e+00
5mu1-1.479097e-034.663990e-030.000000e+000.000000e+00
6sigma11.962934e-014.062938e-030.000000e+000.000000e+00
7nsig12.989627e+036.936758e+010.000000e+000.000000e+00
8mu24.003400e+002.078124e-030.000000e+000.000000e+00
9sigma29.867706e-021.988008e-030.000000e+000.000000e+00
10nsig25.050094e+031.004303e+020.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" } ], "prompt_number": 63 }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Advance: Custom cost function and Simultaneous Fit\n", "\n", "Sometimes, what we want to fit is the sum of likelihood /chi^2 of two PDF sharing some parameters.\n", "dist_fit doesn't provied a built_in facility to do this but it can be built easily.\n", "\n", "In this example, we will fit two gaussian distribution where we know that the width are the same\n", "but the peak is at different places." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy.random as npr\n", "from probfit import UnbinnedLH, gaussian, describe, draw_compare_hist\n", "import iminuit" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 64 }, { "cell_type": "code", "collapsed": false, "input": [ "npr.seed(0)\n", "#Lets make two gaussian\n", "data1 = npr.randn(10000)+3\n", "data2 = npr.randn(10000)-2\n", "hist([data1,data2],bins=100,histtype='step',label=['data1','data2']);" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 65 }, { "cell_type": "code", "collapsed": false, "input": [ "#remember this is nothing special about builtin cost function\n", "#except some utility function like draw and show\n", "ulh1 = UnbinnedLH(gaussian,data1)\n", "ulh2 = UnbinnedLH(gaussian,data2)\n", "print describe(ulh1)\n", "print describe(ulh2)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['mean', 'sigma']\n", "['mean', 'sigma']\n" ] } ], "prompt_number": 66 }, { "cell_type": "code", "collapsed": false, "input": [ "#you can also use cython to do this\n", "class CustomCost:\n", " def __init__(self,pdf1,data1,pdf2,data2):\n", " self.ulh1 = UnbinnedLH(pdf1,data1)\n", " self.ulh2 = UnbinnedLH(pdf2,data2)\n", " #this is the important part you need __call__ to calculate your cost\n", " #in our case it's sum of likelihood with sigma\n", " def __call__(self,mu1,mu2,sigma):\n", " return self.ulh1(mu1,sigma)+self.ulh2(mu2,sigma)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 67 }, { "cell_type": "code", "collapsed": false, "input": [ "simul_lh = CustomCost(gaussian,data1,gaussian,data2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 68 }, { "cell_type": "code", "collapsed": false, "input": [ "minimizer = iminuit.Minuit(simul_lh,sigma=0.5)\n", "minimizer.set_up(0.5)#remember it's likelihood\n", "minimizer.migrad();" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "-c:1: InitialParamWarning: errordef is not given. Default to 1.\n", "-c:1: InitialParamWarning: Parameter mu1 does not have initial value. Assume 0.\n", "-c:1: InitialParamWarning: Parameter mu1 is floating but does not have initial step size. Assume 1.\n", "-c:1: InitialParamWarning: Parameter mu2 does not have initial value. Assume 0.\n", "-c:1: InitialParamWarning: Parameter mu2 is floating but does not have initial step size. Assume 1.\n", "-c:1: InitialParamWarning: Parameter sigma is floating but does not have initial step size. Assume 1.\n" ] }, { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 28184.0142876TOTAL NCALL = 97NCALLS = 97
EDM = 2.24683294143e-09GOAL EDM = 5e-06\n", " UP = 0.5
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1mu12.981566e+009.903099e-030.000000e+000.000000e+00
2mu2-1.989012e+009.903099e-030.000000e+000.000000e+00
3sigma9.903098e-014.951551e-030.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" } ], "prompt_number": 69 }, { "cell_type": "code", "collapsed": false, "input": [ "minimizer.print_fmin()\n", "minimizer.print_matrix()\n", "results = minimizer.values" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 28184.0142876TOTAL NCALL = 97NCALLS = 97
EDM = 2.24683294143e-09GOAL EDM = 5e-06\n", " UP = 0.5
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", " " ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1mu12.981566e+009.903099e-030.000000e+000.000000e+00
2mu2-1.989012e+009.903099e-030.000000e+000.000000e+00
3sigma9.903098e-014.951551e-030.000000e+000.000000e+00
\n", " \n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" }, { "html": [ "
" ], "output_type": "display_data" }, { "html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+\n", "
\n", "
\n", " mu1\n", "
\n", "
\n", "
\n", "
\n", "
\n", " mu2\n", "
\n", "
\n", "
\n", "
\n", "
\n", " sigma\n", "
\n", "
\n", "
mu1\n", " 1.00\n", " \n", " 0.00\n", " \n", " 0.00\n", "
mu2\n", " 0.00\n", " \n", " 1.00\n", " \n", " 0.00\n", "
sigma\n", " 0.00\n", " \n", " 0.00\n", " \n", " 1.00\n", "
\n", "\n", "
\n",
        "            \n",
        "            
\n", " " ], "output_type": "display_data" } ], "prompt_number": 70 }, { "cell_type": "code", "collapsed": false, "input": [ "draw_compare_hist(gaussian,[results['mu1'],results['sigma']],data1,normed=True);\n", "draw_compare_hist(gaussian,[results['mu2'],results['sigma']],data2,normed=True);" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nRBMAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 71 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 71 } ], "metadata": {} } ] }