{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"# Moderne Methoden der Datenanalyse SS2024\n",
"# Practical Exercise 3"
]
},
{
"cell_type": "markdown",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"## Exercise 3: Maximum Likelihood and $\\chi^2$ Methods\n",
"\n",
"Fitting parametrized functions to measured data is daily business in research. By this, models can be tested against experiments. Moreover, parameters of the models and their uncertainties can be determined.\n",
"The physicist often refers to this process as “*fitting*†— in general it is called “*parameter estimation*â€."
]
},
{
"cell_type": "markdown",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"## Exercise 3.1: Decay (obligatory)\n",
"\n",
"Generate uniformly distributed random numbers. Then apply the transformation method to generate random numbers following an exponential distribution $\\exp(-x/\\tau)$ for $x>0$. \n",
"These values can be interpreted as measurements of decay times $t$ (e.g., of radioactive particles) corresponding to a lifetime $\\tau$, which have the following distribution:\n",
" \n",
"$$ f(t,\\tau) = \\frac{1}{\\tau} \\cdot \\exp\\left(-\\frac{t}{\\tau}\\right)$$\n",
" \n",
"\n",
"**a)** Show analytically that the maximum likelihood estimator for $\\tau$ is the mean $\\hat{\\tau}$ of the sample ($\\hat{\\tau}$ = mean of all measured decay times $t_i$). \n"
]
},
{
"cell_type": "markdown",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"\\begin{align}\n",
"&\\prod^N_{i=1} f(t_i,\\tau) \n",
"= \\prod^N_{i=1} \\frac{1}{\\tau} \\exp(-\\frac{t_i}{\\tau}) \n",
"= \\frac{1}{\\tau^N} \\exp(-\\frac{\\sum^N_{i=1}t_i}{\\tau})\\\\\n",
"&\\Rightarrow 0 = \\partial_{\\tau} (\\frac{1}{\\tau^N} \\exp(-\\frac{\\sum^N_{i=1}t_i}{\\tau})) \\\\\n",
"&= (-N\\frac{1}{\\tau^{N+1}} + \\frac{1}{\\tau^{N+2}} \\sum^N_{i=1}t_i )\\exp(-\\frac{\\sum^N_{i=1}t_i}{\\tau}))\\\\\n",
"&\\Rightarrow N\\frac{1}{\\tau^{N+1}} = \\frac{1}{\\tau^{N+2}} \\sum^N_{i=1}t_i \\\\\n",
"&\\Rightarrow \\tau = \\frac{1}{N} \\sum^N_{i=1}t_i \\\\\n",
"\\end{align}"
]
},
{
"cell_type": "markdown",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"**b)** Generate 1000 samples with $\\tau$=1, each with $N=10$ values of t. Evaluate the mean $\\hat{\\tau}$ for each sample and create a histogram of the resulting means. Compare the mean of $\\hat{\\tau}$ with the true value $\\tau$=1. "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"# Similar to the previous exercises, you can use ROOT or the pythonic approach...\n",
"\n",
"# Pure python:\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"from scipy import optimize, stats\n",
"\n",
"# ROOT:\n",
"#from ROOT import gRandom, TCanvas, TH1F, TF1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Define the function to generate the random numbers first.\n",
"Use the methods introduced on the previous exercise sheets to get uniformly distributed numbers and then transfrom them as required."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"def generate_data(N: int, tau: float = 1.0) -> np.ndarray:\n",
" # Generate random numbers according to exp(-x/tau) for x>0 using the transformation method\n",
"\n",
" # FYI: The type hints in the function signature above tell you that\n",
" # - the function expects an integer value for the argument `N`\n",
" # - has a second parameter `tau` for the lifetime, which has a default value of 1.0 as required by the exercise\n",
" # - and will return a numpy array.\n",
"\n",
" rg = np.random.random(N)\n",
" r = - np.log(rg*tau)\n",
" \n",
" return r\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"17\n"
]
},
{
"data": {
"image/png": "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dCIAQIygjOCkb98judpJu9ZJHz9vOg0AIEZQRnBSUjfpG7/xra+YIx0vN5sHABATKCNo6LL/kTpfIFWWSW8zMysAIPhaVEYWLlyo3r17KyEhQaNGjdLatWub3HfRokW64oor1LFjR3Xs2FFZWVln3R+Gxbmka0+UkLV/4rk1AICg87uMLFmyRDk5OZozZ442btyojIwMZWdnq6ysrNH93377bU2YMEErV65UQUGB0tPTdfXVV2v37t2tDo8guSBLumis5K2VXv+tZNumEwEAophl2/79phk1apRGjBihxx9/XJLk9XqVnp6uX/7yl5oxY8Y5j/d4POrYsaMef/xxTZw4sVlfs6KiQsnJySovL1dSUpI/cc+pJbfGRrozbu1tzMEd0sJRkqdK+uH/SQO/G/xgAICo0tzf336dGamurtaGDRuUlZV18gMcDmVlZamgoKBZn3Hs2DHV1NSoU6dOTe5TVVWlioqKBgtCrFMfacxU3/obd0nVx8zmAQBELb/KyP79++XxeJSamtpge2pqqkpKSpr1GXfccYe6d+/eoNCcLjc3V8nJyfVLenq6PzERKJdPl5LTpfJiafV802kAAFEqpHfTPPDAA3r++ef18ssvKyEhocn9Zs6cqfLy8vqluLg4hClRz5UoZd/vW1+9QNq90WgcAEB08quMdOnSRU6nU6WlpQ22l5aWKi0t7azHPvLII3rggQf05ptvavDgwWfd1+12KykpqcECQwZ8x7d4a6R//ESqOmI6EQAgyvhVRlwul4YNG6b8/Pz6bV6vV/n5+crMzGzyuIceekj33nuvli9fruHDh7c8LULPsqTvPCol9ZQObpeW/dZ0IgBAlPH7QXk5OTmaNGmShg8frpEjR2rBggWqrKzU5MmTJUkTJ05Ujx49lJubK0l68MEHNXv2bC1evFi9e/euH1vSrl07tWvXLoDfCprL3zuIdj4wVrpxkfTsWOmjxVLf/5IG/yBI6QAAscbvMSPjx4/XI488otmzZ2vIkCEqLCzU8uXL6we1FhUVae/evfX7P/nkk6qurtb3v/99devWrX555JFHAvddIPjOGy1948RZkX9P9936CwBAAPg9z4gJzDNiVv28JJ5a6a/XS0UFUo9h0m1vSM54s+EAAGErKPOMIMY546TvLZISkqXdG6SVc00nAgBEAcoI/NMhXRr3qG999R+k7avM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DRum/Pz8+m1er1f5+fnKzMw0mCy62LatX/ziF3r55Zf11ltvqU+fPqYjRaWrrrpKn3zyiQoLC+uX4cOH65ZbblFhYaGcTqfpiFFhzJgxZ9yavnXrVp133nmGEkWvY8eONXjgqiQ5nU55vV5DiaJfnz59lJaW1uD3YkVFhT744IOQ/F6M2cs0OTk5mjRpkoYPH66RI0dqwYIFqqys1OTJk01HixpTpkzR4sWL9eqrr6p9+/b11x2Tk5PVpk0bw+miR/v27c8Yh9O2bVt17tyZ8TkBNH36dI0ePVpz587VD3/4Q61du1ZPPfWUnnrqKdPRos64ceN0//33q1evXrr44ov14Ycfav78+brttttMR4toR48e1bZt2+rf79ixQ4WFherUqZN69eqladOm6b777lO/fv3Up08fzZo1S927d9cNN9wQ/HBBv18njD322GN2r169bJfLZY8cOdJ+//33TUeKKpIaXf7yl7+Yjhb1uLU3OP71r3/ZgwYNst1ut92/f3/7qaeeMh0pKlVUVNhTp061e/XqZSckJNjnn3++fdddd9lVVVWmo0W0lStXNvpv8qRJk2zb9t3eO2vWLDs1NdV2u932VVddZW/ZsiUk2SzbZko7AABgTkyOGQEAAOGDMgIAAIyijAAAAKMoIwAAwCjKCAAAMIoyAgAAjKKMAAAAoygjAADAKMoIAAAwijICAACMoowAAACjKCMAAMCo/w/J4MEq4hP4swAAAABJRU5ErkJggg==",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"31\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"48\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAzBklEQVR4nO3de3RU9aH28WfPJJkkSMI1CZdgEC9cDRggDdhaa2qqiMfT9pRaKxys9q0HLZK3VVCBWpWgFUtVao5UWs97aqW11VqxWEwVRVEEGiuVqxASwQTCJQkBcpm93z8mCQQSyITJ/Oby/ay11+zZ2TPzJEuZZ/32b+9tOY7jCAAAwBCX6QAAACC6UUYAAIBRlBEAAGAUZQQAABhFGQEAAEZRRgAAgFGUEQAAYBRlBAAAGBVjOkBH2LatvXv3qnv37rIsy3QcAADQAY7jqKamRv3795fL1f74R1iUkb179yo9Pd10DAAA0AllZWUaOHBguz8PizLSvXt3Sb5fJikpyXAaAADQEdXV1UpPT2/5Hm9PWJSR5kMzSUlJlBEAAMLM2aZYMIEVAAAYRRkBAABGUUYAAIBRlBEAAGAUZQQAABhFGQEAAEZRRgAAgFGUEQAAYBRlBAAAGEUZAQAARvldRt5++21NnjxZ/fv3l2VZevnll8/6mrfeekuXXXaZPB6PLrzwQv3mN7/pRFQAABCJ/C4jtbW1yszM1JIlSzq0/65duzRp0iRdeeWVKi4u1l133aVbb71Vr7/+ut9hAQBA5PH7RnnXXHONrrnmmg7vX1hYqMGDB2vRokWSpGHDhmnNmjX6+c9/rry8PH8/HgAARJgunzOydu1a5ebmttqWl5entWvXtvuauro6VVdXt1q6xKuzpMLLpb3FXfP+AADgrLq8jJSXlys1NbXVttTUVFVXV+vYsWNtvqagoEDJycktS3p6eteE279VKv9YOrCja94fAACcVUieTTNnzhxVVVW1LGVlZV3zQb0G+x4PfNo17w8AAM7K7zkj/kpLS1NFRUWrbRUVFUpKSlJCQkKbr/F4PPJ4PF0dTep1ge/x4M6u/ywAANCmLh8ZycnJUVFRUattq1atUk5OTld/9NlRRgAAMM7vMnLkyBEVFxeruLhYku/U3eLiYpWWlkryHWKZOnVqy/4/+MEPtHPnTt19993asmWLfvnLX+r3v/+9Zs2aFZjf4Fz0GuJ7pIwAAGCM32Vk/fr1GjNmjMaMGSNJys/P15gxYzRv3jxJ0ueff95STCRp8ODBWrFihVatWqXMzEwtWrRIv/rVr0LjtN7mOSNHK6XjVWazAAAQpSzHcRzTIc6murpaycnJqqqqUlJSUmDf/GcXSbX7pO+/JfUfE9j3BgAginX0+zskz6YJKuaNAABgFGWkN/NGAAAwiTLScq0RyggAACZQRjhMAwCAUZQRyggAAEZRRprLSO0+qa7GbBYAAKIQZSQ+WUrs41tndAQAgKCjjEgcqgEAwCDKiEQZAQDAIMqIxLVGAAAwiDIinRgZ4VojAAAEHWVEOnHhM0ZGAAAIOsqIdGJk5Ei5VF9rNgsAAFGGMiJJCT2lhF6+dUZHAAAIKspIM86oAQDACMpIM8oIAABGUEaaUUYAADCCMtKs+VojnN4LAEBQUUaaMTICAIARlJFmzWWkZq9Uf9RsFgAAoghlpFlCT98dfCXpUInRKAAARBPKSDPLkno136PmU7NZAACIIpSRkzFvBACAoKOMnIwyAgBA0FFGTtZ8ei9lBACAoKGMnKx5ZIRrjQAAEDSUkZM1l5Hqz6SGY2azAAAQJSgjJ0vsLXmSfOuHdpvNAgBAlIgxHcC0jNkrWj1/Ja63LnVV69bFv9cbdpYkqWThJBPRAACICoyMnGK3kypJyrDKDScBACA6UEZOUeKkSaKMAAAQLJSRUzSPjJxvVRhOAgBAdKCMnGKX3TwyQhkBACAYKCOn2N10mKa/Vak4NRhOAwBA5KOMnKJSSTrixMttOUq39pmOAwBAxKOMnMZi3ggAAEFEGWnDrqZDNYM5owYAgC5HGWkDIyMAAAQPZaQNXGsEAIDgoYy0YbfNyAgAAMFCGWlD85yRgdZ+xarRcBoAACIbZaQN+9VDRx2P3JajgdZ+03EAAIholJE2nXx6L/NGAADoSpSRdpS03L2XeSMAAHQlykg7OKMGAIDgoIy040QZYWQEAICuRBlpB3NGAAAIDspIO0qarjUy0KqUvNy9FwCArkIZaUeFeuqYE6dYyysdLjUdBwCAiEUZaYcjV8uhGh3cZTYMAAARjDJyBifKyE6zQQAAiGCUkTMooYwAANDlKCNn0Hx6rw5+ajYIAAARjDJyBifKCCMjAAB0FcrIGexuOr1Xh3ZLXu7eCwBAV6CMnMHn6qU6J1ayG6Tqz0zHAQAgIlFGzsB3em+K78kB5o0AANAVKCNnsZt5IwAAdCnKyFnsai4jldvNBgEAIEJRRs5imzPQt7LvE7NBAACIUJ0qI0uWLFFGRobi4+OVnZ2tdevWnXH/xYsX65JLLlFCQoLS09M1a9YsHT9+vFOBg22Lne5b2feJ5DhmwwAAEIH8LiPLly9Xfn6+5s+fr40bNyozM1N5eXnat29fm/s///zzmj17tubPn6/Nmzfr2Wef1fLly3Xvvfeec/hg2OEMkGRJRw9ItftNxwEAIOL4XUYef/xx3XbbbZo+fbqGDx+uwsJCJSYmatmyZW3u/95772nixIn6zne+o4yMDF199dW68cYbzzqaEiqOyyP1usD3hEM1AAAEnF9lpL6+Xhs2bFBubu6JN3C5lJubq7Vr17b5mgkTJmjDhg0t5WPnzp167bXXdO2117b7OXV1daqurm61GJUyzPdYQRkBACDQ/CojlZWV8nq9Sk1NbbU9NTVV5eXlbb7mO9/5jn7605/q8ssvV2xsrIYMGaIvf/nLZzxMU1BQoOTk5JYlPT3dn5iBlzLc98jICAAAAdflZ9O89dZbWrBggX75y19q48aN+tOf/qQVK1bowQcfbPc1c+bMUVVVVctSVlbW1THPLJUyAgBAV4nxZ+c+ffrI7XaroqKi1faKigqlpaW1+Zq5c+fq5ptv1q233ipJGjVqlGpra/X9739f9913n1yu0/uQx+ORx+PxJ1rXahkZ2SLZttRGZgAA0Dl+favGxcUpKytLRUVFLdts21ZRUZFycnLafM3Ro0dPKxxut1uS5ITLqbK9hkjuOKmhVjq823QaAAAiil8jI5KUn5+vadOmaezYsRo/frwWL16s2tpaTZ8+XZI0depUDRgwQAUFBZKkyZMn6/HHH9eYMWOUnZ2tHTt2aO7cuZo8eXJLKQl57hipzyVSxcfSvs1Sr8GmEwEAEDH8LiNTpkzR/v37NW/ePJWXl2v06NFauXJly6TW0tLSViMh999/vyzL0v333689e/aob9++mjx5sh5++OHA/RbBkDq8qYz8Sxra/plAAADAP5YTBsdKqqurlZycrKqqKiUlJQX0vTNmrzjrPiULJ0lrfi698RNp5Dekb7Z9TRUAAHBCR7+/mYnZUSkjfI9cawQAgICijHRU84XPDmyXGuvNZgEAIIJQRjoqeaDkSZLsRunADtNpAACIGJSRjrKsE6MjXPwMAICAoYz4gzICAEDAUUb8wSRWAAACjjLiD0ZGAAAIOMqIP5rvUXN4t1RXYzYLAAARgjLij269pfN8V5rV/q1mswAAECEoI/5qHh2p+JfZHAAARAjKiL+ay8i+zWZzAAAQISgj/kptLiOMjAAAEAiUEX+1nFHDyAgAAIFAGfFX36GSLKl2v3Rkv+k0AACEPcqIv+K6ST0zfOtcbwQAgHNGGekMJrECABAwlJHOYBIrAAABE2M6QDjImL2i1fPrXMf1VJy0cf17+vp7J35WsnBSsKMBABD2GBnphC1OuiTpYuszWbINpwEAILxRRjqhxElTvePWedZxDbAOmI4DAEBYo4x0QqNi9KkzQJJ0iVVqOA0AAOGNMtJJW52BkqRLrM8MJwEAILxRRjppqz1IknSJq8xwEgAAwhtlpJOaR0YutigjAACcC8pIJ221fWfUDLH2KkaNhtMAABC+KCOdtEd9VOMkKM7yarBVbjoOAABhizLSaZa2tUxi5VANAACdRRk5B1vtpjLCJFYAADqNMnIOtjVdiZWREQAAOo8ycg62UkYAADhnlJFz0HxGzfmufUrQccNpAAAIT5SRc3BQSdrvJEvy3TQPAAD4jzJyjponsV7soowAANAZlJFztNXxXRZ+KPNGAADoFMrIOeKy8AAAnBvKyDlqnsQ6lGuNAADQKZSRc7S9aWSkr1Ul1VYaTgMAQPihjJyjo4rXbjvF92TfJ2bDAAAQhigjAdB8JVbt22w2CAAAYYgyEgDNk1gZGQEAwH+UkQDYYvtO79XnH5kNAgBAGKKMBECxM8S3Ur5JauCy8AAA+IMyEgCfOX11wOku2Q1SxSbTcQAACCuUkYCwVGxf6Fv9bL3ZKAAAhBnKSIAU202HavZQRgAA8AdlJEA+ap43smeD2SAAAIQZykiAfNQ8MnJwp3T0oNkwAACEEcpIgFTpPKlX8+jIRrNhAAAII5SRQBo41vfIvBEAADqMMhJIA7J8j8wbAQCgwygjgTSgaWTks/WS45jNAgBAmKCMBFLaSMkdJx07KB0qMZ0GAICwQBkJpBiPlDbKt86hGgAAOoQyEmjMGwEAwC+UkUA7ed4IAAA4qxjTASJJxuwVGmzV6E2PVFf2D42Y/Wc1nvInLlk4yVA6AABCEyMjAbbLSVOVkyiP1aChVqnpOAAAhDzKSMBZLZeGH+361HAWAABCH2WkC/zDuVASZQQAgI7oVBlZsmSJMjIyFB8fr+zsbK1bt+6M+x8+fFgzZsxQv3795PF4dPHFF+u1117rVOBw0DwykmlRRgAAOBu/J7AuX75c+fn5KiwsVHZ2thYvXqy8vDxt3bpVKSkpp+1fX1+vr371q0pJSdGLL76oAQMGaPfu3erRo0cg8oek5jIyxNqr7jqqGiUaTgQAQOjye2Tk8ccf12233abp06dr+PDhKiwsVGJiopYtW9bm/suWLdPBgwf18ssva+LEicrIyNAVV1yhzMzMcw4fqg4oWWV2X7ksR6NcO03HAQAgpPlVRurr67Vhwwbl5uaeeAOXS7m5uVq7dm2br3nllVeUk5OjGTNmKDU1VSNHjtSCBQvk9Xrb/Zy6ujpVV1e3WsJNsdM0idXaYTgJAAChza8yUllZKa/Xq9TU1FbbU1NTVV5e3uZrdu7cqRdffFFer1evvfaa5s6dq0WLFumhhx5q93MKCgqUnJzcsqSnp/sTMyQU20xiBQCgI7r8bBrbtpWSkqJnnnlGWVlZmjJliu677z4VFha2+5o5c+aoqqqqZSkrK+vqmAFX3Or0Xu7gCwBAe/yawNqnTx+53W5VVFS02l5RUaG0tLQ2X9OvXz/FxsbK7Xa3bBs2bJjKy8tVX1+vuLi4017j8Xjk8Xj8iRZyNjmD1ei4lGIdVj8d1OfqbToSAAAhya+Rkbi4OGVlZamoqKhlm23bKioqUk5OTpuvmThxonbs2CHbtlu2bdu2Tf369WuziESKOsVpizNIkjTaxbwRAADa4/dhmvz8fC1dulTPPfecNm/erNtvv121tbWaPn26JGnq1KmaM2dOy/633367Dh48qJkzZ2rbtm1asWKFFixYoBkzZgTutwhRzYdqMpk3AgBAu/y+zsiUKVO0f/9+zZs3T+Xl5Ro9erRWrlzZMqm1tLRULteJjpOenq7XX39ds2bN0qWXXqoBAwZo5syZuueeewL3W4Soj5wh+q6KNIaREQAA2mU5jhPysyurq6uVnJysqqoqJSUlBfS9M2avCOj7nexC6zO94blbRx2PRtX9Sl65uWsvACBqdPT7m3vTdKGdTn/VOAlKtOp0kbXHdBwAAEISZaQL2XLpn/YFkpjECgBAeygjXewjh5vmAQBwJpSRLnbi4meMjAAA0BbKSBdrviz8xdZnStRxw2kAAAg9lJEutk89tdfpJbflaJS1y3QcAABCDmUkCD5qufgZh2oAADgVZSQIuIMvAADto4wEQcsZNZQRAABOQxkJgn/aF8jrWBpgHZBqyk3HAQAgpFBGguCo4rXdGeh7smeD2TAAAIQYykiQNF9vRJ+tNxsEAIAQQxkJkuZ5I4yMAADQGmUkSP5hX+Rb2bNB8jaYDQMAQAihjATJVmegDjnnSfVHpL3/MB0HAICQQRkJEkcurbWH+57sXG02DAAAIYQyEkTv2SN8K7soIwAANKOMBNG79kjfStkHUv1Rs2EAAAgRlJEg2uWkSUkDJG+9VPa+6TgAAIQEykhQWdLgK3yrzBsBAEASZST4LmgqI8wbAQBAEmUk+AZ/yfe4t1g6dshoFAAAQgFlJNiS+ku9L5LkSCVrTKcBAMA4yogJLYdq3jabAwCAEEAZMYFJrAAAtKCMmJBxuSRLqtwqVX9uOg0AAEZRRkxI7CX1y/Stc6gGABDlKCOmcIovAACSKCPmnDxvxHHMZgEAwCDKiCmDviC5YqXqz6SDO02nAQDAGMqIKXHdpPTxvvWdbxmNAgCASZQRkwYzbwQAAMqISS2TWN+RbNtsFgAADKGMmDQgS4o7Tzp2UKrYZDoNAABGUEZMcsdK50/wrXOoBgAQpSgjpnFpeABAlKOMmNY8b2T3e1JjvdksAAAYQBkxLWWElNhbaqiV9mwwnQYAgKCjjJjmckkZX/StM28EABCFYkwHiDYZs1ectu077t5aECt98PeXNGXlKJUsnGQgGQAAZjAyEgLetUdIksZY25Wg44bTAAAQXJSRELDbSdVnTh/FWV6Nd201HQcAgKCijIQES+95faMjOa5/Gc4CAEBwUUZCRPOhmokursQKAIgulJEQ8V5TGRlh7ZaOHjScBgCA4KGMhIj96qnt9gC5LEcqecd0HAAAgoYyEkKaD9VwaXgAQDShjISQ5kM1XPwMABBNKCMh5H17uLyOJR3YIR0uNR0HAICgoIyEkGp103rnEt+TLadfqRUAgEhEGQkxr3vH+VY2/8VsEAAAgoQyEmJe9471rex+Tzqyz2wYAACCgDISYvaor9RvtCRH2vqa6TgAAHQ5ykgoGjbZ98ihGgBAFKCMhKJh1/sed66Wjh02GgUAgK5GGQlFfS+W+g6V7AZp+99MpwEAoEtRRkJVy6GaV8zmAACgi1FGQlVzGdn+hlR/1GwWAAC6EGUkVKVdKvUYJDUekz4tMp0GAIAu06kysmTJEmVkZCg+Pl7Z2dlat25dh173wgsvyLIs3XDDDZ352OhiWScmsnJWDQAggvldRpYvX678/HzNnz9fGzduVGZmpvLy8rRv35kv0FVSUqIf/ehH+uIXv9jpsFGn+VDN1pVSY73ZLAAAdBG/y8jjjz+u2267TdOnT9fw4cNVWFioxMRELVu2rN3XeL1e3XTTTXrggQd0wQUXnFPgqDJwvHReqlRXJZW8bToNAABdwq8yUl9frw0bNig3N/fEG7hcys3N1dq1a9t93U9/+lOlpKToe9/7Xoc+p66uTtXV1a2WqORySUMn+dY5VAMAiFAx/uxcWVkpr9er1NTUVttTU1O1ZcuWNl+zZs0aPfvssyouLu7w5xQUFOiBBx7wJ1pEyZh94o69l7tS9b9x0v71f1L2u7mym/pjycJJpuIBABBQXXo2TU1NjW6++WYtXbpUffr06fDr5syZo6qqqpalrKysC1OGtvftYapyEtXXqlaWtc10HAAAAs6vkZE+ffrI7XaroqKi1faKigqlpaWdtv+nn36qkpISTZ48uWWbbdu+D46J0datWzVkyJDTXufxeOTxePyJFrEaFaM37Cx9w/2Ovub+UB82DjUdCQCAgPJrZCQuLk5ZWVkqKjpx3QvbtlVUVKScnJzT9h86dKg+/vhjFRcXtyzXX3+9rrzyShUXFys9Pf3cf4MosNI7TpKU5/5QkmM2DAAAAebXyIgk5efna9q0aRo7dqzGjx+vxYsXq7a2VtOnT5ckTZ06VQMGDFBBQYHi4+M1cuTIVq/v0aOHJJ22He17275URx2PBlqVGmnt0iaHM5IAAJHD7zIyZcoU7d+/X/PmzVN5eblGjx6tlStXtkxqLS0tlcvFhV0DqU5xetPO1CT3On3N/aE2NVJGAACRw3IcJ+TH/aurq5WcnKyqqiolJSUF9L1PPnMllF3vek9PxD2lHXZ/5dY/xtk0AICQ19Hvb4YwwsTf7dGqc2J0oWuvhlh7TMcBACBgKCNh4ogS9a7tm2fzNdeHhtMAABA4lJEwstL2nVXzNXfHbkwIAEA4oIyEkTe8WfI6lka5SqRDu03HAQAgICgjYeSgkrTOHuZ7suVVs2EAAAgQykiYaT5Uw43zAACRgjISZv7mHetbKX1fqqk4884AAIQBykiY+Vy9VWwPkeRIm/5oOg4AAOeMMhKGXvR+ybey8Tkp9K9ZBwDAGVFGwtCfvROlmARp/xbpM645AgAIb5SRMFSjRGnEv/uebHjObBgAAM6R3zfKQ2j45roL9aJHOvqPP2j8+1/WESWetg/3rwEAhANGRsLUeucSbbcHKNGq0/XutabjAADQaZSRsGXpBe+XJUlT3G+ajQIAwDmgjISxl7xfVL3jVqZrp4ZbJabjAADQKZSRMHZQSfpb0xVZv83oCAAgTFFGwtwL3islSTe431W86gynAQDAf5SRMPeuPUKldl8lWUd1resD03EAAPAbZSTMOXJpedPoyJSYt8yGAQCgEygjEeBF75fkdSxlu7ZoiLXHdBwAAPxCGYkAFeqlv9tjJEnfcr9lNAsAAP6ijESI5kM133C/o1g1Gk4DAEDHUUYixJv2aJU7PdXHqtZXXetNxwEAoMMoIxHCK7f+4L1CEtccAQCEF8pIBPl9Uxm53LVJA639htMAANAxlJEIUuak6h3vSLksR//hfst0HAAAOoQyEmFe8H5FkvQt92rJy0RWAEDoo4xEmFV2lg4656mfdVD6tMh0HAAAzooyEmHqFas/er/ke7LhObNhAADoAMpIBGq+eZ62rZRqys2GAQDgLCgjEehTZ4A+tC+WHC+jIwCAkEcZiVD/r/Fq38oHhVLdEbNhAAA4A8pIhFphZ0u9LpCOHZQ2/MZ0HAAA2kUZiVBeuaXLZ/mevPek1HDcbCAAANpBGYlkl35bShooHSmXiv/XdBoAANpEGYlkMXHSxJm+9TW/kLwNZvMAANAGykiku+xmqVuKVFUqffwH02kAADgNZSTSxSZIOTN86+8skmyv2TwAAJwixnQAdJ2M2SskSd00UO96uqnHgR2acf9PtML+Qss+JQsnmYoHAIAkRkaiQq0S9OvGr0mS7oh5WZJjNA8AACejjESJ33jzdMSJ1zBXqa5ybTQdBwCAFpSRKFGl8/T/vF+VJN0R82cxOgIACBWUkSjybOO1Ou7Eaoxrhya4/mU6DgAAkigjUaVSyfqd9yuSpDvdL5sNAwBAE8pIlHmm8TrVO27luD/RZdY203EAAKCMRJvP1Vt/9H5JUvOZNQAAmEUZiUKF3snyOpa+4i6W9habjgMAiHKUkSi020nTK/YE35N3FpkNAwCIepSRKPXLxn/zrWz+i7Rvi9kwAICoRhmJUtudgVrpHSfJkVY/YjoOACCKUUai2BON/y7Jkv71J2n3e6bjAACiFGUkin3iZEhZ03xPXrubO/oCAIygjES7r8yT4ntIFR9L65eZTgMAiEKUkWjXrbf0lft9639/SKo9YDYPACDqxJgOALMyZq+QS2l6Ne58DT++W88X3Kp7G29ttU/JwkmG0gEAogEjI5Atl+Y3+OaOfNv9pkZaOw0nAgBEE8oIJEkfOkP1kneiXJajn8b+RpZs05EAAFGCMoIWBQ3f0REnXpe5dujrrjWm4wAAogRlBC32qaeebPx3SdLs2N+pu44aTgQAiAaUEbSyzHuNPrX7qa9VpZkxfzQdBwAQBTpVRpYsWaKMjAzFx8crOztb69ata3ffpUuX6otf/KJ69uypnj17Kjc394z7w6wGxeiBxqmSpGnuv+lC6zPDiQAAkc7vMrJ8+XLl5+dr/vz52rhxozIzM5WXl6d9+/a1uf9bb72lG2+8UW+++abWrl2r9PR0XX311dqzZ885h0fXeNvO1N+8WYq1vPpJzHOS45iOBACIYJbj+PdNk52drXHjxumpp56SJNm2rfT0dN15552aPXv2WV/v9XrVs2dPPfXUU5o6dWqHPrO6ulrJycmqqqpSUlKSP3HPKmP2ioC+X6RItyr0Rtzd8lgN0rf+Rxr+b6YjAQDCTEe/v/0aGamvr9eGDRuUm5t74g1cLuXm5mrt2rUdeo+jR4+qoaFBvXr1anefuro6VVdXt1oQXGVOqgq91/mevH6fVM9kVgBA1/CrjFRWVsrr9So1NbXV9tTUVJWXl3foPe655x7179+/VaE5VUFBgZKTk1uW9PR0f2IiQJ5uvF6fOX2kqjJpzeOm4wAAIlRQz6ZZuHChXnjhBb300kuKj49vd785c+aoqqqqZSkrKwtiSjQ7Lo8eaviu78maxdKejUbzAAAik19lpE+fPnK73aqoqGi1vaKiQmlpaWd87WOPPaaFCxfqb3/7my699NIz7uvxeJSUlNRqgRkr7XHSsOslu0H64/ekuhrTkQAAEcavMhIXF6esrCwVFRW1bLNtW0VFRcrJyWn3dY8++qgefPBBrVy5UmPHju18WhhgSdc/ISUNlA7ulF6723QgAECE8fswTX5+vpYuXarnnntOmzdv1u23367a2lpNnz5dkjR16lTNmTOnZf9HHnlEc+fO1bJly5SRkaHy8nKVl5fryJEjgfst0LUSekrfWCpZLumj56V//sF0IgBABPG7jEyZMkWPPfaY5s2bp9GjR6u4uFgrV65smdRaWlqqzz//vGX/p59+WvX19frmN7+pfv36tSyPPfZY4H4LdL3zJ0hfahoVeXWWdHCX2TwAgIjh93VGTOA6I2aVLJzkW/E2Ss9dJ5WulQZkSbe8LrljzYYDAISsLrnOCKKcO0b6+lIpPlnas0F6c4HpRACACEAZgX96pEuTn/Ctr/m5tHO12TwAgLBHGYH/RtwgZf2nJEf60/el2gOGAwEAwhllBJ2TVyD1uUQ6Ui79eQY30wMAdBplBJ0Tlyh981nJ7ZG2/VVat9R0IgBAmKKMoPPSRklXP+hb/9v9Uvkms3kAAGGJMoJzM/770sVfk7x10ou3SMe5wzIAwD+UEZwby5L+7ZdS935S5VZp+XelxnrTqQAAYSTGdACEvo5cGG6EdYeWxz2o83at1ksP3KD8htvltNF1Wy6gBgBAE0ZGEBD/cgbrvxpmqsFx69/d7+qemOWmIwEAwgRlBAHztp2p2Q23SZJ+EPMXTXO/bjgRACAcUEYQUH+0v6SfNXxLkjQ/5n/0Ndc6w4kAAKGOMoKAW+L9N/1v41VyWY5+EbtEY60tpiMBAEIYZQRdwNK8xula5c2Sx2rQr+IWaYi1x3QoAECIooygS9hy6c6GO7TRvlA9rFo9F/eIUnTIdCwAQAiijKDLHJdH36v/kXbaaRpoVeq5uEek41WmYwEAQgxlBF3qkJI0reEe7XeSNcxV2nRRtDrTsQAAIYQygi5X5qRqev2PVet4pF1vS7/9plRXYzoWACBEUEYQFJucC3Rrw4+kuPN8heQ310m1laZjAQBCAGUEQbPWHiFNe0VK7C19Xiwty5MOl5qOBQAwjDKC4BqQJU1fKSWnSwd2SM/mSfs2m04FADCIG+UhqJpvupemu/U/cQt1cc0eHV5ylabX361/OBdJ4mZ6ABBtGBmBEeXqrW/Vz2u5Dslv4xboS66PTMcCABhAGYExh9VdN9Xfq9XeS5Vo1elXsY9psus907EAAEFGGYFRxxSvWxt+pD97JyjO8uoXsUukdUtNxwIABBFlBMY1KEZ3NfyXftN4tVyWI732I+mvs6XGetPRAABBQBlBSHDk0k8ap2lRwzd9Gz542nfq76ESo7kAAF2PMoIQYulJ79elG1+Q4ntIezdKhV+SNv/FdDAAQBeijCD0XHKN9IM10sBxUl2V7342f72He9oAQISijCA09UiXpv9VmvBD3/MPCqVnr5YO7jKbCwAQcFz0DCGn+cJoPl/QlS6PHo99Wj0/L1b1L3J0d8P/UeGCB4zlAwAEFiMjCHlv2mN0bV2B1tsXK8k6psK4xdJrP+awDQBECMoIwsLn6q1v19+vpxsn+zase0YqvNx3B2AAQFijjCBsNCpGjzTeqP+s/7HUra9UuU16brL0p+9LNRWm4wEAOokygrDzlj1GuuNDadytkizpn8ulp8b5rtxqe03HAwD4iTKC8JTQU5q0SLqtSOo32ncK8Gs/kpZeKX22wXQ6AIAfKCMIbwOypNv+Ll37mORJlj7/SPrVVdKrs6Rjh0ynAwB0gOU4jmM6xNlUV1crOTlZVVVVSkpKCuh7tz6NFOGsj6o0J/a3+oZ7jW9DYh/pqnnS6O9I7liz4QAgCnX0+5uREUSMSiXr/zb8l75df7+22wOko5XSX34oPZklbfwfydtgOiIAoA2UEUSc9+3hura+QLr6Yd9ZN4d3S6/cKT15mbThN9wNGABCDGUEEalBMdKEO6SZH0lXP9RUSkqlv8z0jZSs/zWlBABCBGUEkS2umzThTmnmP6W8BVK3FKmqVHr1Lt9IyfpllBIAMIwygugQlyjlzPCNlOQVSOelSlVlvrNufnGp9NZCqXqv6ZQAEJUoI4gucYlSzn/5SsnXHpHOS5NqPpfeKpB+PlJ64SZp+xuSbZtOCgBRgzKC6BSbIH3hB9Jd/5S+8ax0/kTJ8UpbXpV++w3pidHSO49LR/aZTgoAEY/rjHCdkahWsnDSiSf7tvjOtvnoeel4lW+bK1YaNlnK+k8p43LJ5TYREwDCUke/vykjlBGcIl51us79vm5yF2mMa8eJH5yXKg27XhpxgzQoh2ICAGdBGekgygjOZIRVohUTtkub/uS7/02zbim+EZMRN0iDJkjuGGMZASBUdfT7m39BgTP4l5MhTZ4hXfOotPMt6ZOXffNKavdJ65/1LYl9WheTmDizoQEgzDAywsgI/BSrRk1w/UvXuj7Q1e716mkdaflZrePRB/YwrbFH6R17lLY7AyRZLT9vNUcFACIcIyNAF2lQjFbbmVptZ+q+xluU4/pE17g+0FfdG9TXqtZX3MX6irtYklTu9NS79ki94x2ld+2RZoMDQIhiZISREQSIJVvDrFJd7vpYl7s2abxri+KtU27OlzJCOn+ClD5eGjhW6jlYsqy23xAAwhwTWDuIMoKu4lG9slzb9EXXx7rc9bFGWLvlsk753y2xjzRwnK+YDBwnDbhM8nQ3ExgAAowy0kGUEQRLT1Urx/WJLnNt12Wu7RphlchjNbbax+tYcqeNkPqPllJHSqkjfKMp3XqbCQ0A54A5I0CIOaQkvWZ/Qa/ZX5AkxalBI6wSjXHt0BjXdo1x7dBAq1Kq2ORbTlLu9NRWO12bnUHaYg/S4h/eJPW5mDN3AEQERkYYGUEISdEhjXHt0HDXbg21SjXUKtX5rnYuSW+5pB6DpN4XSr2G+B57X+B7TE7nomwAjGNkBAhD+9RTr9vj9Lo9rmVbNx3TJVaZhrrKNNQq1SWuMmUnfO67CNuhEt+iN1q/kTvONzm21wVSj3RfOUke6CsvyQN9F21zcWsqAKGBMgKEuFolaKNzsTZ6L27ZVvLAtVJNuXTwU+nAp9KBHdLBnU2PuyRvnVS51be0xR0nJQ04UVS6p/nuYHxeStN6qu8xNiFIvyWAaEYZAcJQxpzXTnrWp2nxzUVxyVY/HdC7tw3yFZOqz6SqMt/j4TKpZq/krZcO7fItZ+JJlrqn+spJtz6+s38SezctvZq29T6xxHi66lcGEME6VUaWLFmin/3sZyovL1dmZqaefPJJjR8/vt39//CHP2ju3LkqKSnRRRddpEceeUTXXnttp0MDaJ8tl/aorzKWHpOU1rSMbfl5jBqVqkMaYFWqv3VA/a1KpViHTyw6pBTrsO8aKXVVvqVyW8c+PLabFJ8sJfTwPcb3aPu55zzfKcxx3U9ab3pkrgsQdfwuI8uXL1d+fr4KCwuVnZ2txYsXKy8vT1u3blVKSspp+7/33nu68cYbVVBQoOuuu07PP/+8brjhBm3cuFEjR3JFSiDYGhWjPeqrPU5fqd3p646665hSLF8x6avD6mXVqJdVrV6qUU+rRr2tGvVUjXo1PcZYttRQ61tq9nY+YGyir5jEdfMtsYlSXKKv6MQlNj1v2h4bL8UknOUx3ndYKsYjuT2+xxiPbxsXnANCgt9n02RnZ2vcuHF66qmnJEm2bSs9PV133nmnZs+efdr+U6ZMUW1trV599dWWbV/4whc0evRoFRYWdugzOZsGCG2WbHXXUfWwapWkWiVbtUpWrZKso02PvuffzUyW6qqluiNSXY1UX+N7rDsi2Q1n/6BAc59UTNxxkjv2tPX3S2tU78SoUW41yq0GueVtemxs2t4gt/7z8ot8d292nby4T6xb7pOeu5ueN6+7TtnevK3p8eRtlttXopr3tVynLNZJ+560yGq9j2W18TPrpOenrlPc4L8uOZumvr5eGzZs0Jw5c1q2uVwu5ebmau3atW2+Zu3atcrPz2+1LS8vTy+//HK7n1NXV6e6urqW51VVvlu3V1dX+xO3Q+y6owF/TyAaHZZLh9VdUvtXkL33vfZfH6sGnadjSrSO6zwdU4LqlWDVKVH1iledEq0636PqlGDVK0F18qhe8VaDPGpQvOoVb9XLI9/zuJN+FqtGxanxtIvMSceblvYN7+DvX7369Q7uGc4stRQXqamgtFFcWj2q7e2tXn/S+7f189PWdcr2U5+fsu2km1W2LlXtbT9126mf1WqnDmw603v7s09bOrBPR4vktY9JKUM7tm8HNX9vn23cw68yUllZKa/Xq9TU1FbbU1NTtWXLljZfU15e3ub+5eXl7X5OQUGBHnjggdO2p6en+xMXAAB01MzsLnvrmpoaJScnt/vzkDybZs6cOa1GU2zb1sGDB9W7d29ZARwqrK6uVnp6usrKygJ++Acn8HcOHv7WwcHfOTj4OwdHV/6dHcdRTU2N+vfvf8b9/Cojffr0kdvtVkVFRavtFRUVSktLa/M1aWlpfu0vSR6PRx5P61MEe/To4U9UvyQlJfEfehDwdw4e/tbBwd85OPg7B0dX/Z3PNCLSzK9LMMbFxSkrK0tFRUUt22zbVlFRkXJyctp8TU5OTqv9JWnVqlXt7g8AAKKL34dp8vPzNW3aNI0dO1bjx4/X4sWLVVtbq+nTp0uSpk6dqgEDBqigoECSNHPmTF1xxRVatGiRJk2apBdeeEHr16/XM888E9jfBAAAhCW/y8iUKVO0f/9+zZs3T+Xl5Ro9erRWrlzZMkm1tLRUrpPueTFhwgQ9//zzuv/++3Xvvffqoosu0ssvvxwS1xjxeDyaP3/+aYeEEFj8nYOHv3Vw8HcODv7OwREKf+ewuGsvAACIXNy2EwAAGEUZAQAARlFGAACAUZQRAABgVFSXkSVLligjI0Px8fHKzs7WunXrTEeKKAUFBRo3bpy6d++ulJQU3XDDDdq6davpWBFv4cKFsixLd911l+koEWfPnj367ne/q969eyshIUGjRo3S+vXrTceKOF6vV3PnztXgwYOVkJCgIUOG6MEHHzzr/U1wZm+//bYmT56s/v37y7Ks0+4R5ziO5s2bp379+ikhIUG5ubnavn17ULJFbRlZvny58vPzNX/+fG3cuFGZmZnKy8vTvn37TEeLGKtXr9aMGTP0/vvva9WqVWpoaNDVV1+t2tpa09Ei1ocffqj//u//1qWXXmo6SsQ5dOiQJk6cqNjYWP31r3/VJ598okWLFqlnz56mo0WcRx55RE8//bSeeuopbd68WY888ogeffRRPfnkk6ajhbXa2lplZmZqyZIlbf780Ucf1RNPPKHCwkJ98MEH6tatm/Ly8nT8+JlvJhkQTpQaP368M2PGjJbnXq/X6d+/v1NQUGAwVWTbt2+fI8lZvXq16SgRqaamxrnoooucVatWOVdccYUzc+ZM05Eiyj333ONcfvnlpmNEhUmTJjm33HJLq21f//rXnZtuuslQosgjyXnppZdantu27aSlpTk/+9nPWrYdPnzY8Xg8zu9+97suzxOVIyP19fXasGGDcnNzW7a5XC7l5uZq7dq1BpNFtqqqKklSr169DCeJTDNmzNCkSZNa/XeNwHnllVc0duxY/cd//IdSUlI0ZswYLV261HSsiDRhwgQVFRVp27ZtkqSPPvpIa9as0TXXXGM4WeTatWuXysvLW/37kZycrOzs7KB8L4bkXXu7WmVlpbxeb8tVY5ulpqZqy5YthlJFNtu2ddddd2nixIkhcfXdSPPCCy9o48aN+vDDD01HiVg7d+7U008/rfz8fN1777368MMP9cMf/lBxcXGaNm2a6XgRZfbs2aqurtbQoUPldrvl9Xr18MMP66abbjIdLWKVl5dLUpvfi80/60pRWUYQfDNmzNCmTZu0Zs0a01EiTllZmWbOnKlVq1YpPj7edJyIZdu2xo4dqwULFkiSxowZo02bNqmwsJAyEmC///3v9dvf/lbPP/+8RowYoeLiYt11113q378/f+sIFZWHafr06SO3262KiopW2ysqKpSWlmYoVeS644479Oqrr+rNN9/UwIEDTceJOBs2bNC+fft02WWXKSYmRjExMVq9erWeeOIJxcTEyOv1mo4YEfr166fhw4e32jZs2DCVlpYaShS5fvzjH2v27Nn69re/rVGjRunmm2/WrFmzWm7AisBr/u4z9b0YlWUkLi5OWVlZKioqatlm27aKioqUk5NjMFlkcRxHd9xxh1566SX9/e9/1+DBg01HikhXXXWVPv74YxUXF7csY8eO1U033aTi4mK53W7TESPCxIkTTzs1fdu2bTr//PMNJYpcR48ebXXDVUlyu92ybdtQosg3ePBgpaWltfperK6u1gcffBCU78WoPUyTn5+vadOmaezYsRo/frwWL16s2tpaTZ8+3XS0iDFjxgw9//zz+vOf/6zu3bu3HHdMTk5WQkKC4XSRo3v37qfNw+nWrZt69+7N/JwAmjVrliZMmKAFCxboW9/6ltatW6dnnnlGzzzzjOloEWfy5Ml6+OGHNWjQII0YMUL/+Mc/9Pjjj+uWW24xHS2sHTlyRDt27Gh5vmvXLhUXF6tXr14aNGiQ7rrrLj300EO66KKLNHjwYM2dO1f9+/fXDTfc0PXhuvx8nRD25JNPOoMGDXLi4uKc8ePHO++//77pSBFFUpvLr3/9a9PRIh6n9naNv/zlL87IkSMdj8fjDB061HnmmWdMR4pI1dXVzsyZM51BgwY58fHxzgUXXODcd999Tl1dneloYe3NN99s89/kadOmOY7jO7137ty5TmpqquPxeJyrrrrK2bp1a1CyWY7DJe0AAIA5UTlnBAAAhA7KCAAAMIoyAgAAjKKMAAAAoygjAADAKMoIAAAwijICAACMoowAAACjKCMAAMAoyggAADCKMgIAAIyijAAAAKP+P9J5OccK3OIAAAAAAElFTkSuQmCC",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"67\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"tau = 1\n",
"for N in [1e2,1e3,1e4,1e5]:\n",
" print(int((np.log(N)/np.log(2))**1.5))\n",
" plt.hist(generate_data(int(N),tau), density=True, bins=int((np.log(N)/np.log(2))**1.5))\n",
" x = np.linspace(0,10)\n",
" plt.plot(x, np.exp(-x/tau)/tau)\n",
" plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Hints for pure Python approach:\n",
"\n",
"You can use `matplotlib`'s [`matplotlib.pyplot.hist`](https://matplotlib.org/3.5.0/api/_as_gen/matplotlib.pyplot.hist.html) (= plt.hist) function to plot a histogram of given data. You can use for instance 100 bins.\n",
"\n",
"### Hints for ROOT approach:\n",
"\n",
"Use ROOT's builtin TH1F histogram class, as introduced in exercise 1."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGdCAYAAAA44ojeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAjLUlEQVR4nO3de1iUdf7/8ddw9sBBLE4bCq2umrqeJTxlxcqWuVL8tmy9ylzTLhcrpCuFXQ/pVqi5ymok6abWBqv17dK23GgNU9dELNTWU3QipXQwt4SEFUju3x+tszseQQbmAzwf13Vfl9xzz82bbnGe3XPPjM2yLEsAAAAG8XD3AAAAAOcjUAAAgHEIFAAAYBwCBQAAGIdAAQAAxiFQAACAcQgUAABgHAIFAAAYx8vdA1yN2tpaHTt2TP7+/rLZbO4eBwAA1IFlWfruu+8UEREhD4/LnyNploFy7NgxRUZGunsMAABwFUpKSnTddddddptmGSj+/v6SfvgBAwIC3DwNWq2KCiki4oc/HzsmtWvn3nkAwHDl5eWKjIx0PI5fTrMMlHNP6wQEBBAocB9Pz//+OSCAQAGAOqrL5RlcJAsAAIxDoAAAAOMQKAAAwDjN8hoUAID7WZal77//XmfPnnX3KDCEp6envLy8XPIWIAQKAKDeqqurdfz4cVVWVrp7FBimbdu2Cg8Pl4+PT4P2Q6AAAOqltrZWxcXF8vT0VEREhHx8fHjTTMiyLFVXV+vrr79WcXGxunbtesU3Y7scAgUAUC/V1dWqra1VZGSk2rZt6+5xYJA2bdrI29tbR44cUXV1tfz8/K56X/VOm+3bt2vMmDGKiIiQzWbTxo0bnW63LEtz5sxReHi42rRpo7i4OH3yySdO23zzzTcaP368AgICFBQUpEmTJun06dNX/UMAAJpeQ/7vGC2Xq/5e1HsvFRUV6tOnjzIzMy96+6JFi7Rs2TJlZWWpoKBA7dq1U3x8vM6cOePYZvz48Tp48KA2b96sN998U9u3b9eUKVOu/qcAAAAtSr2f4rntttt02223XfQ2y7KUkZGhWbNmaezYsZKkl156SaGhodq4caPGjRunw4cPKzc3V++//74GDhwoSVq+fLluv/12LV68WBHn3jocAAC0Wi49P1dcXCy73a64uDjHusDAQMXExCg/P1+SlJ+fr6CgIEecSFJcXJw8PDxUUFBw0f1WVVWpvLzcaQEAoLU4ePCgEhMTFRUVJZvNpoyMjDrd75///KeGDx8uPz8/RUZGatGiRVe138zMTEVFRcnPz08xMTHavXt3A3+iK3NpoNjtdklSaGio0/rQ0FDHbXa7XSEhIU63e3l5KTg42LHN+dLT0xUYGOhY+CRjAEBrUllZqeuvv14LFixQWFhYne5TXl6uUaNGqXPnziosLNQzzzyjJ554QitXrqzXftevX6+UlBTNnTtXe/bsUZ8+fRQfH68TJ0645Ge7lGZxhVNaWprKysocS0lJibtHAgA0Q7m5uRo2bJiCgoLUsWNH3XHHHfrss88ctw8ZMkQzZ850us/XX38tb29vbd++XZJ0/PhxjR49Wm3atFF0dLRycnIUFRVV57MaV2PQoEF65plnNG7cOPn6+tbpPtnZ2aqurtbq1avVs2dPjRs3To888oiWLFlSr/0uWbJEkydP1sSJE3XDDTcoKytLbdu21erVq13ys12KSwPlXH2VlpY6rS8tLXXcFhYWdkF1ff/99/rmm28uWW++vr6OTy7mE4wBwECWJVVUuGexrDqPWVFRoZSUFH3wwQfKy8uTh4eH7rzzTtXW1kr64UUc69atk/U/+1y/fr0iIiI0fPhwSdL999+vY8eOaevWrXrttde0cuXKK55NyM7OVvv27S+7/OMf/7iK//CXlp+frxEjRji9YVp8fLyKior07bff1mkf1dXVKiwsdLp0w8PDQ3FxcY5LNxqLS98HJTo6WmFhYcrLy1Pfvn0l/XCKqaCgQFOnTpUkxcbG6tSpUyosLNSAAQMkSVu2bFFtba1iYmJcOQ5asKjUTVd93y8WjHbhJAAkSZWVUvv27vnep09L7drVadPExESnr1evXq1rr71Whw4dUq9evXT33XcrOTlZO3bscARJTk6O7r33XtlsNn300Ud65513nF7o8ac//Uldu3a97Pf9xS9+ccXHuB/96Ed1+hnqym63Kzo62mnduUsw7Ha7OnTocMV9nDx5UmfPnr3opRsfffSR64a9iHoHyunTp/Xpp586vi4uLta+ffsUHBysTp06KTk5WU8++aS6du2q6OhozZ49WxEREUpISJAk9ejRQz//+c81efJkZWVlqaamRtOmTdO4ceN4BQ8AoFF98sknmjNnjgoKCnTy5EnHmZOjR4+qV69euvbaazVq1ChlZ2dr+PDh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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# TODO: Add code here to generate the 1000 data samples, create a histogram of the mean values of the data and draw it\n",
"\n",
"def create_histo_and_calculate_bias(N):\n",
" tauhat = np.array([np.average(generate_data(N,tau)) for _ in range(1000)])\n",
" plt.hist(tauhat, bins=30)\n",
" plt.axvline(x=np.average(tauhat),color=\"red\", label=f\"avg = {np.average(tauhat):.3f}\")\n",
" plt.legend()\n",
" plt.show()\n",
"\n",
"create_histo_and_calculate_bias(10)"
]
},
{
"cell_type": "markdown",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"**c)** Assume that the probability density function (p.d.f.) has been parametrized in terms of $\\lambda=1/\\tau$, which means:\n",
" \n",
"$$f(t,\\lambda) = \\lambda \\cdot \\exp\\left(-\\lambda \\cdot t \\right)$$\n",
" \n",
"Create a histogram of the estimations $\\hat{\\lambda}$. Compare the mean value of $\\hat{\\lambda}$ with the true value $\\lambda$=1, and determine numerically the bias for $N= 5, 10, 100$.\n",
"\n",
"Calculate the bias also for the experiments made in the exercise part **b)** and compare the results of the two approaches **b)** and **c)**."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Use a similar approach as above to obtain the histograms using the alternative function definition."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Bias = 0.23440257749638338\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGdCAYAAAA44ojeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAmpklEQVR4nO3df3RU5Z3H8c/kd/gxCUnJTLIEkxYKKAiCkgatgmRNIVLSxrV4spUqJdZNqjF7CskewdXaBi0rFIhEsYJ2YVHrQi3UuDH8WmtASGAXgaZoI6TFCbpIBoIkMbn7hzJ1IIEkzGSehPfrnHtO5rnPvfnO42Xy8bk/xmZZliUAAACDBAW6AAAAgPMRUAAAgHEIKAAAwDgEFAAAYBwCCgAAMA4BBQAAGIeAAgAAjENAAQAAxgkJdAHd0dbWpmPHjmngwIGy2WyBLgcAAHSCZVk6deqUEhISFBR08TmSXhlQjh07psTExECXAQAAuqGurk5Dhgy5aJ9eGVAGDhwo6fM3aLfbA1wNAqKxUUpI+PznY8ek/v0DWw8A4JLcbrcSExM9f8cvplcGlHOndex2OwHlShUc/Lef7XYCCgD0Ip25PIOLZAEAgHEIKAAAwDgEFAAAYJxeeQ0KACDwLMvSZ599ptbW1kCXAkMEBwcrJCTEJ48AIaAAALqsublZH374oc6cORPoUmCYfv36KT4+XmFhYZe1HwIKAKBL2traVFtbq+DgYCUkJCgsLIyHZkKWZam5uVkfffSRamtrNXz48Es+jO1iCCgAgC5pbm5WW1ubEhMT1a9fv0CXA4NERkYqNDRUR44cUXNzsyIiIrq9Ly6SBQB0y+X83zH6Ll8dFxxdAADAOAQUAABgHAIKAACGO3DggLKyspSUlCSbzaalS5decpuzZ8/qBz/4gcaMGaOQkBBlZma222/btm0aP368wsPDNWzYMK1Zs6bDfS5atEg2m035+fndeh9dQUABAMBwZ86c0Ve/+lUtWrRITqezU9u0trYqMjJSDzzwgNLS0trtU1tbq4yMDE2ZMkX79u1Tfn6+fvjDH+qNN964oO/u3bv1zDPP6Nprr72s99JZBBQAwBWjrKxMN910k6KjoxUbG6vbb79d77//vmf9pEmTNH/+fK9tPvroI4WGhmrHjh2SpA8//FAZGRmKjIxUcnKy1q1bp6SkpE7NanTXDTfcoF/84heaNWuWwsPDO7VN//79tXLlSs2dO7fDUFNaWqrk5GT927/9m0aNGqW8vDzdcccdWrJkiVe/06dPKzs7W6tWrdKgQYMu+/10BgEFAHD5LEtqbAzMYlmdLrOxsVEFBQXas2ePKioqFBQUpO985ztqa2uTJGVnZ2v9+vWyvrTPl156SQkJCfrmN78pSbr77rt17Ngxbdu2Ta+++qqeffZZHT9+/KK/d+3atRowYMBFl//+7//uxsBfnsrKygtmV9LT01VZWenVlpubq4yMjA5nYvyB56DgsiQVbu72th8syvBhJQAC6swZacCAwPzu06el/v071TUrK8vr9fPPP6/Bgwfr4MGDGj16tO68807l5+frrbfe8gSSdevW6a677pLNZtMf//hHvfnmm9q9e7euv/56SdJzzz2n4cOHX/T3fvvb31ZKSspF+/zd3/1dp96DL7lcLjkcDq82h8Mht9utTz/9VJGRkVq/fr2qq6u1e/fuHq2NgAIAuGIcPnxYCxcu1K5du/Txxx97Zk6OHj2q0aNHa/Dgwbrtttu0du1affOb31Rtba0qKyv1zDPPSJJqamoUEhKi8ePHe/Y5bNiwS572GDhwoAYOHOi/N+YndXV1evDBB1VeXn5ZD13rDgIKAODy9ev3+UxGoH53J82YMUNXXXWVVq1apYSEBLW1tWn06NFqbm729MnOztYDDzyg5cuXa926dRozZozGjBlzWSWuXbtW991330X7vP76655Zm57idDpVX1/v1VZfXy+73a7IyEhVVVXp+PHjXoGstbVVO3bs0IoVK9TU1KTg4GC/1EZAAQBcPput06dZAuX//u//VFNTo1WrVnmCwFtvvXVBv5kzZyonJ0dlZWVat26d7r77bs+6ESNG6LPPPtPevXs1YcIESdJ7772nTz755KK/29RTPKmpqfr973/v1VZeXq7U1FRJ0tSpU7V//36v9ffcc49Gjhyp+fPn+y2cSAQUAMAVYtCgQYqNjdWzzz6r+Ph4HT16VIWFhRf069+/vzIzM7VgwQIdOnRId911l2fdyJEjlZaWppycHK1cuVKhoaH653/+Z0VGRl70CxMv9xRPc3OzDh486Pn5r3/9q/bt26cBAwZo2LBhkqQVK1Zow4YNqqio8Gx38OBBNTc368SJEzp16pT27dsnSRo3bpwk6Uc/+pFWrFihefPm6d5779WW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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Bias = 0.10447815535638649\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Bias = 0.014135368346126942\n"
]
}
],
"source": [
"# TODO: Add code here to generate the 1000 data samples, create a histogram of the mean values of the data and draw it\n",
"\n",
"def create_lambda_histo_and_calculate_bias(N):\n",
" lamdahat = [1/np.mean(generate_data(N)) for _ in range(1000)]\n",
" plt.hist(lamdahat, bins=30)\n",
" plt.axvline(x=np.average(lamdahat),color=\"red\", label=f\"avg = {np.average(lamdahat):.3f}\")\n",
" plt.legend()\n",
" plt.show()\n",
" print(f\"Bias = {np.average(lamdahat)-1}\")\n",
"\n",
"for N in [5,10,100]:\n",
" create_lambda_histo_and_calculate_bias(N)"
]
},
{
"cell_type": "markdown",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"**d)** Compare the results of the maximum likelihood method and the $\\chi^{2}$ method: Make three different histograms with 1000 bins from 0 to 10 containing $N$ generated decay times $t$ (try $N= 10, 1000, 100000$). Fit the function $f(t,\\tau)$ to each histogram using the $\\chi^2$ method and the binned likelihood method. Compare the fitted parameters and the $\\chi^2$ values of both methods and discuss the results."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following function template contains some hints for the ROOT approach. If you are using the pure python approach, you can get replace function body with respectively.\n",
"Use [`matplotlib.pyplot.hist`](https://matplotlib.org/3.5.0/api/_as_gen/matplotlib.pyplot.hist.html) (= plt.hist) and `scipy.optimize` as in the previous exercises instead."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"nll: 0.7319824218749946\n",
"x^2: 0.5790527343749943\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_8136/2111959965.py:14: RuntimeWarning: invalid value encountered in log\n",
" return -np.sum(n*np.log(v(binedges[:-1], binedges[1:], tau)))\n"
]
},
{
"data": {
"image/png": "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HA5lZGR419lsNqWlpWnVqlV1jqmpqdG6det8xkRERCgjI6PeMdXV1XK5XD4NAACEr4AGFofDIUlKSkryWZ+UlOTd9kv79u2T2+32a0xubq5sNpu3paamBqD6M9Nm/Cd1vg7G/OeT83W/AQB1a5B3CU2YMEFOp9PbduzYEeqSAABAEAU0sCQnJ0uSysvLfdaXl5d7t/1SixYtFBkZ6dcYq9WqhIQEnwYAAMJXQANL27ZtlZycrMLCQu86l8ulNWvWKD09vc4xMTEx6t69u88Yj8ejwsLCescAAIDzS5S/AyorK7VlyxbvcklJiYqLi9WsWTO1bt1aY8eO1VNPPaX27durbdu2mjhxoux2u/dOIkkaMGCAbr75Zo0ZM0aSlJOTo+HDh6tHjx7q1auXXnrpJVVVVWnkyJFnv4cAAKDB8zuwrF27Vv379/cu5+TkSJKGDx+uuXPn6rHHHlNVVZXuv/9+VVRUqG/fviooKFBsbKx3zNatW7Vv3z7v8h133KG9e/dq0qRJcjgc6tatmwoKCk64EBcAAJyf/A4s1113nU726BaLxaKpU6dq6tSp9fbZtm3bCevGjBnjPeICAADwcw3yLiEAAHB+IbAAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTI7AAAADTC3hgadOmjSwWywktOzu7zv5z5849oW9sbGygywIAAA1YVKAn/PLLL+V2u73LGzdu1PXXX6/bb7+93jEJCQnatGmTd9lisQS6LAAA0IAFPLAkJib6LE+bNk0XX3yx+vXrV+8Yi8Wi5OTkQJcCAADCRFCvYampqdE777yje+6556RHTSorK3XRRRcpNTVVN910k7799tuTzltdXS2Xy+XTAABA+ApqYFm4cKEqKio0YsSIevtcdtllmj17thYtWqR33nlHHo9HvXv3VllZWb1jcnNzZbPZvC01NTUI1QMAALMIamB58803lZWVJbvdXm+f9PR0DRs2TN26dVO/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04UXXqjc3FxJ0kMPPaR+/frphRde0I033qj58+dr7dq1ev3114NRHgAAaGCCEljuuOMO7d27V5MmTZLD4VC3bt1UUFDgvbC2tLRUET97Ymrv3r01b948PfHEE3r88cfVvn17LVy40BTPYLFarZo8efIJp6AQWHzO5waf87nDZ31u8DmfG2b4nIPyHBYAAIBA4odhAACA6RFYAACA6RFYAACA6RFYAACA6RFYTiEvL09t2rRRbGys0tLS9MUXX4S6pLCSm5urnj17Kj4+Xi1bttTgwYO1adOmUJcV9qZNmyaLxaKxY8eGupSws3PnTt11111q3ry54uLi1LlzZ61duzbUZYUVt9utiRMnqm3btoqLi9PFF1+sJ5988rR+jwYnt3z5cg0aNEh2u10Wi+WE3/QzDEOTJk1SSkqK4uLilJGRoc2bN5+T2ggsJ/H+++8rJydHkydP1vr169W1a1dlZmZqz549oS4tbBQVFSk7O1urV6/W4sWLVVtbq4EDB6qqqirUpYWtL7/8Uq+99pq6dOkS6lLCzoEDB9SnTx9FR0fr73//u/71r3/phRdeUNOm9fyaKM7IM888o5kzZ2rGjBn697//rWeeeUbPPvusXn311VCX1uBVVVWpa9euysvLq3P7s88+q1deeUWzZs3SmjVr1LhxY2VmZurIkSPBL85AvXr16mVkZ2d7l91ut2G3243c3NwQVhXe9uzZY0gyioqKQl1KWDp48KDRvn17Y/HixUa/fv2Mhx56KNQlhZVx48YZffv2DXUZYe/GG2807rnnHp91t9xyizF06NAQVRSeJBn5+fneZY/HYyQnJxvPPfecd11FRYVhtVqN9957L+j1cISlHjU1NVq3bp0yMjK86yIiIpSRkaFVq1aFsLLw5nQ6JUnNmjULcSXhKTs7WzfeeKPP/64ROB9++KF69Oih22+/XS1bttSVV16pN954I9RlhZ3evXursLBQ33//vSTp66+/1ooVK5SVlRXiysJbSUmJHA6Hz78/bDab0tLSzsn3YoP8teZzYd++fXK73d6n8x6XlJSk7777LkRVhTePx6OxY8eqT58+pnjKcbiZP3++1q9fry+//DLUpYStH374QTNnzlROTo4ef/xxffnll/r973+vmJgYDR8+PNTlhY3x48fL5XKpQ4cOioyMlNvt1tNPP62hQ4eGurSw5nA4JKnO78Xj24KJwALTyM7O1saNG7VixYpQlxJ2duzYoYceekiLFy9WbGxsqMsJWx6PRz169NCf//xnSdKVV16pjRs3atasWQSWAPrb3/6md999V/PmzVPHjh1VXFyssWPHym638zmHMU4J1aNFixaKjIxUeXm5z/ry8nIlJyeHqKrwNWbMGH388cdaunSpWrVqFepyws66deu0Z88eXXXVVYqKilJUVJSKior0yiuvKCoqSm63O9QlhoWUlBRdccUVPusuv/xylZaWhqii8PToo49q/PjxuvPOO9W5c2fdfffdevjhh70/qIvgOP7dF6rvRQJLPWJiYtS9e3cVFhZ613k8HhUWFio9PT2ElYUXwzA0ZswY5efn6/PPP1fbtm1DXVJYGjBggDZs2KDi4mJv69Gjh4YOHari4mJFRkaGusSw0KdPnxNuy//+++910UUXhaii8HTo0CGfH9CVpMjISHk8nhBVdH5o27atkpOTfb4XXS6X1qxZc06+FzkldBI5OTkaPny4evTooV69eumll15SVVWVRo4cGerSwkZ2drbmzZunRYsWKT4+3nse1GazKS4uLsTVhY/4+PgTrgtq3LixmjdvzvVCAfTwww+rd+/e+vOf/6zf/OY3+uKLL/T666/r9ddfD3VpYWXQoEF6+umn1bp1a3Xs2FFfffWVXnzxRd1zzz2hLq3Bq6ys1JYtW7zLJSUlKi4uVrNmzdS6dWuNHTtWTz31lNq3b6+2bdtq4sSJstvtGjx4cPCLC/p9SA3cq6++arRu3dqIiYkxevXqZaxevTrUJYUVSXW2OXPmhLq0sMdtzcHx0UcfGZ06dTKsVqvRoUMH4/XXXw91SWHH5XIZDz30kNG6dWsjNjbWaNeunfHHP/7RqK6uDnVpDd7SpUvr/Hfy8OHDDcM4dmvzxIkTjaSkJMNqtRoDBgwwNm3adE5qsxgGjwYEAADmxjUsAADA9AgsAADA9AgsAADA9AgsAADA9AgsAADA9AgsAADA9AgsAADA9AgsAADA9AgsAADA9AgsAADA9AgsAADA9AgsAADA9P4/vAzsFgJPz/8AAAAASUVORK5CYII=",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"nll: 1.0174804687499952\n",
"x^2: 1.1307128906249955\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABERUlEQVR4nO3dd3hUdcL28e+ZkkkPhJAGgQDSS0AQBKxrENFFXVdl1VXEsisLrpp3VVCB9XEFVOyL8IBi2UfEsnYUxAiiEkDAKCJFBASBNAJJSM/Mef+YJBANZUKSk2Tuz+W5ZuY355y5Zy4vc3uqYZqmiYiIiIhFbFYHEBEREf+mMiIiIiKWUhkRERERS6mMiIiIiKVURkRERMRSKiMiIiJiKZURERERsZTKiIiIiFjKYXWAk+HxeNi3bx9hYWEYhmF1HBERETkJpmlSUFBAfHw8Ntuxt380izKyb98+EhISrI4hIiIidbBnzx7at29/zPebRRkJCwsDvF8mPDzc4jQiIiJyMvLz80lISKj+O34szaKMVO2aCQ8PVxkRERFpZk50iIUOYBURERFLqYyIiIiIpVRGRERExFLN4pgRERGRhmaaJhUVFbjdbqujNBt2ux2Hw3HKl91QGREREb9XVlbG/v37KSoqsjpKsxMcHExcXBwBAQF1XofKiIiI+DWPx8POnTux2+3Ex8cTEBCgC2yeBNM0KSsrIzs7m507d9K1a9fjXtjseFRGRETEr5WVleHxeEhISCA4ONjqOM1KUFAQTqeTn3/+mbKyMgIDA+u0Hh3AKiIiAnX+v3p/Vx+/m355ERERsZTKiIiIiFjK5zKycuVKRo8eTXx8PIZh8O677x53/rfffpsRI0bQtm1bwsPDGTp0KEuXLq1rXhERETlJR/+d3rVrF4ZhkJ6ebmmm2vhcRgoLC0lKSmL27NknNf/KlSsZMWIEH330EevXr+f8889n9OjRfPPNNz6HFRERkZbH57NpRo0axahRo056/qeeeqrG6+nTp/Pee+/xwQcfMGDAAF8/XkRERFqYRj+11+PxUFBQQGRk5DHnKS0tpbS0tPp1fn5+Y0QTEREB04Ryiy5+5gwGH65xct5559GvXz8CAwN5/vnnCQgI4LbbbuOf//xnw2VsAI1eRmbNmsXhw4e5+uqrjznPjBkzePDBBxsxlYiISKXyIpgeb81n37cPAkJ8WuTll18mJSWFNWvWkJaWxo033sjw4cMZMWJEA4Wsf416Ns3ChQt58MEHeeONN4iOjj7mfJMnTyYvL6962rNnTyOmFBERaT769evHtGnT6Nq1KzfccAODBg0iNTXV6lg+abQtI4sWLeKWW27hzTffJDk5+bjzulwuXC5XIyUTERE5ijPYu4XCqs/2Ub9+/Wq8jouLIysrq74SNYpGKSOvvfYaN910E4sWLeKSSy5pjI8UERGpG8PweVeJlZxOZ43XhmHg8XgsSlM3PpeRw4cPs3379urXO3fuJD09ncjISDp06MDkyZPZu3cvr7zyCuDdNTN27FiefvpphgwZQkZGBuC9nn1EREQ9fQ0RERFprnw+ZmTdunUMGDCg+rTclJQUBgwYwNSpUwHYv38/u3fvrp5/3rx5VFRUMGHCBOLi4qqnO+64o56+goiIiDRnPm8ZOe+88zBN85jvv/TSSzVer1ixwtePEBERET/S6Kf2ioiISP2o7X/4j75Ny9EbDxITE4+7McFKulGeiIiIWEplRERERCylMiIiIiKWUhkRERERS6mMiIiIiKVURkRERMRSKiMiIiJiKZURERERsZTKiIiIiB8oLi7m7LPPxjAMnnzySavj1KAyIiIi0gy53W6GDRvGFVdcUWM8Ly+PhIQE7r///uqxiooKrrzySrKzs3n66ae59957+c9//vObdc6fP5+zzz6b1q1b07p1a5KTk1m7dm2DfxeVERERkWbIbrfz0ksvsWTJEl599dXq8dtvv53IyEimTZsGeC8Jf+ONN7J3715WrlzJ3//+d958803Gjx/P4sWLa6xzxYoVXHPNNSxfvpy0tDQSEhK48MIL2bt3b4N+F5URERGRZqpbt27MnDmT22+/nf379/Pee++xaNEiXnnlFQICAgC488472b59O8uXLyc6OhqAyy67jHfeeYcbb7yRL7/8snp9r776Kn/729/o378/PXr04Pnnn8fj8ZCamtqg30M3yhMRETmKaZoUVxRb8tlBjiAMw/Bpmdtvv5133nmH66+/no0bNzJ16lSSkpKq33/66adrXW7EiBFkZ2cfd91FRUWUl5cTGRnpUyZfqYyIiIgcpbiimCELh1jy2WuuXUOwM9inZQzDYM6cOfTs2ZO+ffsyadKkestz7733Eh8fT3Jycr2tszbaTSMiItLMLViwgODgYHbu3Mkvv/xSL+ucOXMmixYt4p133iEwMLBe1nks2jIiIiJylCBHEGuuXWPZZ/tq1apVPPnkk3zyySf861//4uabb+bTTz/1eXfP0WbNmsXMmTP59NNP6devX53Xc7JURkRERI5iGIbPu0qsUlRUxI033sj48eM5//zz6dSpE3379mXu3LmMHz++Tut89NFHefjhh1m6dCmDBg2q58S1024aERGRZmry5MmYpsnMmTMBSExMZNasWdxzzz3s2rXL5/U98sgjTJkyhQULFpCYmEhGRgYZGRkcPny4npPXpDIiIiLSDH3++efMnj2bF198keDgI1ty/vrXvzJs2DBuvvlmTNP0aZ1z5syhrKyMK6+8kri4uOpp1qxZ9R2/Bu2mERERaYbOPfdcKioqan1v6dKldVpnXbam1AdtGRERERFLqYyIiIiIpVRG6knipMXHfX0yy4iIiPgjlRERERGxlMqIiIiIWEplREREBHw+DVa86uN3UxkRERG/5nQ6Ae/VTMV3Vb9b1e9YF7rOiIiI+DW73U6rVq3IysoCIDg4+JTu6+IvTNOkqKiIrKwsWrVqhd1ur/O6VEZERMTvxcbGAlQXEjl5rVq1qv796kplRERE/J5hGMTFxREdHU15ebnVcZoNp9N5SltEqqiMiIiIVLLb7fXyx1V8owNYRURExFIqIyIiImIplRERERGxlMqIiIiIWEplRERERCylMiIiIiKWUhkRERERS6mMiIiIiKVURkRERMRSKiMiIiJiKZURERERsZTKiIiIiFhKZUREREQspTIiIiIillIZEREREUupjIiIiIilfC4jK1euZPTo0cTHx2MYBu++++4Jl1mxYgWnn346LpeL0047jZdeeqkOUUVERKQl8rmMFBYWkpSUxOzZs09q/p07d3LJJZdw/vnnk56ezp133sktt9zC0qVLfQ4rIiIiLY/D1wVGjRrFqFGjTnr+uXPn0qlTJx5//HEAevbsyZdffsmTTz7JyJEjff14ERERaWEa/JiRtLQ0kpOTa4yNHDmStLS0Yy5TWlpKfn5+jUlERERapgYvIxkZGcTExNQYi4mJIT8/n+Li4lqXmTFjBhEREdVTQkJCQ8cUERERizTJs2kmT55MXl5e9bRnzx6rI4mIiEgD8fmYEV/FxsaSmZlZYywzM5Pw8HCCgoJqXcblcuFyuRo6moiIiDQBDb5lZOjQ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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"nll: 0.9972656249999954\n",
"x^2: 0.9981445312499952\n"
]
},
{
"data": {
"image/png": "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fPFFFi9ezF/+8hd8Ph8At912G9u2bWPlypWkpjZemvD1r3+dpUuXcv311/PWW2817e+vf/0rP/7xjxk5ciSDBw/m6aefxrbtYyYvbW8dPh181+cipcFirw8Ki98ns//FpgOJiIhBjuNwuOGwkc+O88RhWVZY29xyyy0sXbqUa6+9lk2bNjF79mxGjBjR9P5vfvObFre75JJLKC0tPeG+a2pqqK+vp2fPnmFlCpfKCJBc72evr47CA5+ajiIiIoYdbjjM+GfHG/nstd9dS7w3PqxtLMviySef5Oyzz2bYsGHMmDGj3fLccccdZGRkkJ2d3W77bEnMn6YB8ASTACis7JinA4uIiHSkRYsWER8fz86dO9m9u30ebzJv3jwWL17M0qVLCQQC7bLP49HICBCq7wWUUlhbZjqKiIgYFueJY+131xr77HC9/fbbPProo7z22mvce++93HDDDbz++uthn+75vIceeoh58+bx+uuvM3z48Dbvp7VURoCqYB/gEwpD1aajiIiIYZZlhX2qxJSamhquv/56brrpJi666CL69+/PsGHDWLBgATfddFOb9vnggw9y33338eqrrzJmzJh2TtwynaYByuqyANht2TgN9WbDiIiItNLMmTNxHId58+YBkJWVxUMPPcTPf/5z8vPzw97fAw88wKxZs1i0aBFZWVkUFRVRVFREVVVVOydvTmUEKAn2w+U4HHa52F/6oek4IiIiJ7V69Wrmz5/PH//4R+LjPxvJ+eEPf8jEiRO54YYbTvhg25Y8+eSTBINBrrzyStLT05teDz30UHvHb0anaQAHH70di70WFBZtJCV9lOlIIiIiJ3TBBRfQ0NDQ4nuvvvpqm/bZltGU9qCRkSMy3Y2tsnD/ZsNJREREYovKyBGn+3sBUFiebzaIiIhIjFEZOSKz25EH5tUUG04iIiISW1RGjsjseQYAhfWVhpOIiIjEFpWRIzJPa5zUZTf1EObVxyIiItJ2KiNHZPYZC8ABt4vqQwWG04iISGcL9zZYadQex01l5Ihz7n6H5FDjAS3ct95wGhER6SxerxdonM1Uwnf0uB09jm2heUY+p2e9m3K3TWHphwzmStNxRESkE7jdbrp3705JSQkA8fHxp/Rcl1jhOA41NTWUlJTQvXt33G53m/elMvI58cF4CFRReGi76SgiItKJevfuDdBUSKT1unfv3nT8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3JdoiMZBm2YDRA0Np3ooYoblOFjQ9OJzf7acY5cDuL643he3d1p+r/HVvACdqA619r0vrnfsdlaL751ouxY/+8jfu2O2cz5b2Lp9nijhybc7Wc6ZE+YwcOAlLbzTdke/t0827hFWGSkrKyMUCpGWltZseVpaGp988kmL2xQVFbW4flFR0XE/Z+7cudx9993HLM/MzGxhbRGJNivnmU4gEnue58oO23dlZSXJycefTbpL3k0zc+bMZqMptm1z4MABevXq1a7DgxUVFWRmZlJYWNjup3/kMzrOnUfHunPoOHcOHefO0ZHH2XEcKisrycjIOOF6YZWRlJQU3G43xcXFzZYXFxfTu3fvFrfp3bt3WOsD+P1+/H5/s2Xdu3cPJ2pYkpKS9Be9E+g4dx4d686h49w5dJw7R0cd5xONiBwV1jSMPp+P0aNHk5ub27TMtm1yc3OZMGFCi9tMmDCh2foAK1asOO76IiIiElvCPk2Tk5PDddddx5gxYxg3bhyPPfYY1dXVTJs2DYCpU6fSp08f5s6dC8Ctt97KBRdcwMMPP8zll1/O4sWLeffdd3nqqafa9zcRERGRiBR2GbnqqqsoLS1l9uzZFBUVMXLkSJYvX950kWpBQQGuzz33YuLEiTz77LP84he/4M4772TQoEG88MILXWKOEb/fz5w5c445JSTtS8e58+hYdw4d586h49w5usJxjogH5YmIiEj06thHd4qIiIichMqIiIiIGKUyIiIiIkapjIiIiIhRMV1G5s+fT1ZWFoFAgPHjx7Nu3TrTkaLK3LlzGTt2LImJiaSmpnLFFVewZcsW07Gi3rx587Asi9tuu810lKizZ88evve979GrVy/i4uIYNmwY7777rulYUScUCjFr1iz69+9PXFwcAwcO5J577jnp803kxN58802mTJlCRkYGlmUd84w4x3GYPXs26enpxMXFkZ2dzaefftop2WK2jCxZsoScnBzmzJnDxo0bGTFiBJMnT6akpMR0tKixevVqpk+fzjvvvMOKFSuor6/n0ksvpbq6+uQbS5usX7+e3//+9wwfPtx0lKhz8OBBJk2ahNfr5ZVXXuHjjz/m4YcfpkePHqajRZ0HHniAJ598kieeeILNmzfzwAMP8OCDD/L444+bjhbRqqurGTFiBPPnz2/x/QcffJDf/va3LFiwgLVr15KQkMDkyZOpra3t+HBOjBo3bpwzffr0pp9DoZCTkZHhzJ0712Cq6FZSUuIAzurVq01HiUqVlZXOoEGDnBUrVjgXXHCBc+utt5qOFFXuuOMO57zzzjMdIyZcfvnlzve///1my775zW8611xzjaFE0Qdwli5d2vSzbdtO7969nV//+tdNyw4dOuT4/X7nb3/7W4fnicmRkWAwyIYNG8jOzm5a5nK5yM7OZs2aNQaTRbfy8nIAevbsaThJdJo+fTqXX355s7/X0n7+8Y9/MGbMGL71rW+RmprKqFGjWLhwoelYUWnixInk5uaydetWAN5//33eeustLrvsMsPJotfOnTspKipq9t+P5ORkxo8f3ynfi13yqb0draysjFAo1DRr7FFpaWl88sknhlJFN9u2ue2225g0aVKXmH032ixevJiNGzeyfv1601Gi1o4dO3jyySfJycnhzjvvZP369fzkJz/B5/Nx3XXXmY4XVWbMmEFFRQWDBw/G7XYTCoW47777uOaaa0xHi1pFRUUALX4vHn2vI8VkGZHON336dD788EPeeust01GiTmFhIbfeeisrVqwgEAiYjhO1bNtmzJgx3H///QCMGjWKDz/8kAULFqiMtLPnnnuOv/71rzz77LMMHTqUvLw8brvtNjIyMnSso1RMnqZJSUnB7XZTXFzcbHlxcTG9e/c2lCp63Xzzzbz00kusXLmS008/3XScqLNhwwZKSko499xz8Xg8eDweVq9ezW9/+1s8Hg+hUMh0xKiQnp7OkCFDmi07++yzKSgoMJQoev3sZz9jxowZfOc732HYsGFce+213H777U0PYJX2d/S7z9T3YkyWEZ/Px+jRo8nNzW1aZts2ubm5TJgwwWCy6OI4DjfffDNLly7ljTfeoH///qYjRaWLL76YTZs2kZeX1/QaM2YM11xzDXl5ebjdbtMRo8KkSZOOuTV969at9OvXz1Ci6FVTU9PsgasAbrcb27YNJYp+/fv3p3fv3s2+FysqKli7dm2nfC/G7GmanJwcrrvuOsaMGcO4ceN47LHHqK6uZtq0aaajRY3p06fz7LPP8uKLL5KYmNh03jE5OZm4uDjD6aJHYmLiMdfhJCQk0KtXL12f045uv/12Jk6cyP3338+3v/1t1q1bx1NPPcVTTz1lOlrUmTJlCvfddx99+/Zl6NChvPfeezzyyCN8//vfNx0tolVVVbFt27amn3fu3EleXh49e/akb9++3Hbbbdx7770MGjSI/v37M2vWLDIyMrjiiis6PlyH36/ThT3++ONO3759HZ/P54wbN8555513TEeKKkCLrz/+8Y+mo0U93drbMf75z38655xzjuP3+53Bgwc7Tz31lOlIUamiosK59dZbnb59+zqBQMAZMGCAc9dddzl1dXWmo0W0lStXtvjf5Ouuu85xnMbbe2fNmuWkpaU5fr/fufjii50tW7Z0SjbLcTSlnYiIiJgTk9eMiIiISNehMiIiIiJGqYyIiIiIUSojIiIiYpTKiIiIiBilMiIiIiJGqYyIiIiIUSojIiIiYpTKiIiIiBilMiIiIiJGqYyIiIiIUSojIiIiYtT/BwXyCqCitzADAAAAAElFTkSuQmCC",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#from ROOT import kRed, kGreen # Use this if you want get some color into your ROOT plots..\n",
"\n",
"from scipy.optimize import minimize\n",
"from scipy.optimize import curve_fit\n",
"\n",
"def make_histogram_and_fit(N):\n",
" t = generate_data(N)\n",
" n, binedges = np.histogram(t, bins=1000, range=(0,10), density=True)\n",
"\n",
" def v(lower, upper, tau):\n",
" return -(np.exp(-upper/tau)-np.exp(-lower/tau))\n",
" \n",
" def loglikelihood(tau):\n",
" return -np.sum(n*np.log(v(binedges[:-1], binedges[1:], tau)))\n",
"\n",
" minimized = minimize(loglikelihood, (3,), method=\"Nelder-Mead\")\n",
" taunll = minimized.x[0]\n",
" print(f\"nll: {taunll}\")\n",
"\n",
" def density(t, tau): \n",
" return 1/tau*np.exp(-t/tau)\n",
"\n",
" def x2(tau):\n",
" return np.sum((density((binedges[:-1]+binedges[1:])/2, tau) - n)**2)\n",
" \n",
" #taux2 = curve_fit(density, (binedges[:-1]+binedges[1:])/2, n)[0][0]\n",
" minimizedx2 = minimize(x2, (3,), method=\"Nelder-Mead\")\n",
" taux2 = minimizedx2.x[0]\n",
" print(f\"x^2: {taux2}\")\n",
" \n",
"\n",
" tlin = np.linspace(0,10,200)\n",
" plt.hist(t,bins=1000, range=(0,10), density=True)\n",
" plt.plot(tlin, 1/taunll*np.exp(-tlin/taunll), label=\"nll\")\n",
" plt.plot(tlin, 1/taux2*np.exp(-tlin/taux2), label=\"X^2\")\n",
" plt.legend()\n",
" plt.show()\n",
"\n",
"for N in [10,1000,100000]:\n",
" make_histogram_and_fit(N)"
]
},
{
"cell_type": "markdown",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"# Exercise 3.2: MINUIT (voluntary)\n",
"\n",
"The goal of this exercise is to make you familiar with the minimizer package `MINUIT` which was developed at CERN in the 70s in `FORTRAN`.\n",
"This well-tested toolbox provides different minimization algorithms, the most famous one being `MIGRAD`.\n",
"The package is particularly liked by physicists due to it's sophisticated methods for the parameter uncertainty estimation.\n",
"\n",
"For the purpose of this exercise, it is suggested to use the Python frontend to `MINUIT`,\n",
"which is available in the form of the package [`iminuit`](https://iminuit.readthedocs.io/en/stable/index.html).\n",
"\n",
"Take the function $f(t,\\tau)$ and the generated data set from the previous Exercise 3.1,\n",
"and perform an unbinned log likelihood fit for $N= 10, 1000, 100000$ entries.\n",
"\n",
"Plot a histogram from 0 to 10 with the $N$ entries and the fitted function normalized to the number of entries.\n",
"Display the value of the negative logarithmic likelihood as a function of the fit parameter $\\tau$ from $0.5$ to $5$.\n",
"How is this plot related to the uncertainty of the fitted parameter?\n",
"\n",
"The `iminuit` Python package provides predefined cost function classes which also cover the\n",
"[unbinned case](https://iminuit.readthedocs.io/en/stable/notebooks/cost_functions.html#Unbinned-fit)\n",
"we are interested in.\n",
"However, to learn how to define your own cost function, you should use the\n",
"[`scipy`-like interface](https://iminuit.readthedocs.io/en/stable/reference.html#module-iminuit.minimize)\n",
"which allows you to provide your own cost function in form of the argument `fun`.\n",
"You can use either of the two approaches and take a look at the output that MINUIT provides after the cost function is minimized.\n",
"\n",
"Please note, that the minimizers provided in [`scipy.optimize`](https://docs.scipy.org/doc/scipy/reference/optimize.html)\n",
"are also capable of performing the minimization task.\n",
"However, the MINUIT package has proven itself in particle physics for decades and provides certain functionality which is not built into the scipy optimizers by default (e.g. the handling of uncertainties).\n",
"\n",
"*Hint*: Make sure, that you are using a current version of iminuit, e.g. 2.11.2! Check this with the command in the next cell:"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"iminuit 2.25.2\n"
]
}
],
"source": [
"!pip list | grep iminuit"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"# For a predefined cost function use\n",
"from iminuit import cost, Minuit\n",
"\n",
"# or use the following, if you want to define your own cost function\n",
"from iminuit.minimize import minimize as iminuit_minimize"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [],
"source": [
"# Definition of the fit function\n",
"\n",
"def fit_func(x, tau):\n",
" # TODO\n",
" return ..."
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [],
"source": [
"# TODO: Generate the data as in the previous exercises, plot the histograms and fit the fit function to the data.\n",
"# Draw also the function with the estimated tau value obtained with the fit.\n",
"# Do this for N = 10, 1000, 100000"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*Hint:* Check out the tutorials / exampes available in the [iminuit](https://iminuit.readthedocs.io/en/stable/) or [scipy.optimize](https://docs.scipy.org/doc/scipy/reference/optimize.html) documentation, depending on which method you choose."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.2"
}
},
"nbformat": 4,
"nbformat_minor": 4
}