{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# **Statistics lecture 4 Hands-on session : solutions notebook**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is the companion notebook to lecture 4 in the statistical course series, covering the following topics:\n", "1. Parameter estimation using simple tools\n", "2. Parameter estimation using the profile likelihood\n", "3. Limit-setting, using simple tools\n", "4. Limit-setting using the profile likelihood\n", "\n", "First perform the usual imports:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import scipy.stats\n", "from matplotlib import pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Parameter estimation using simple techniques" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the previous lecture, we have applied hypothesis testing to a simple counting experiment, using the observed count $n$ as discriminant.\n", "Recall the example we used:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEGCAYAAABiq/5QAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAdpElEQVR4nO3deZwV5Z3v8c+XRZGoURYZtMF2wS0KGjvGiYkyISbxFQeXa7gaSBiXIZNxErPoiOOoYybM4Otm0TuZOEFjbBPcrkswiWMG0dbojRowiInoYBSwlcjiDlcR+N0/qrptml7qdHedok9936/XeZ16nnOqnt9h+XX1c6p+jyICMzMrjwFFB2BmZtXlxG9mVjJO/GZmJePEb2ZWMk78ZmYlM6joALIYMWJE1NfXFx2GmVm/smjRorURMbJ9f79I/PX19SxcuLDoMMzM+hVJKzrq91SPmVnJOPGbmZWME7+ZWcn0izl+M7OOvPvuuzQ3N/P2228XHUqhhgwZQl1dHYMHD870fid+M+u3mpub2WWXXaivr0dS0eEUIiJYt24dzc3N7LPPPpn28VSPmfVbb7/9NsOHDy9t0geQxPDhwyv6rceJ38z6tTIn/RaV/hk48ZuZlYzn+M2sdtzYx2f/n8tnvZJ58+ZxySWXMGDAAAYNGsSVV17JRz/6UQDuuecezjvvPDZv3sw555zDzJkz+3x8J/52Jk6cCEBTU1OhcZhZ7Zo0aRKTJ09GEkuWLGHKlCk8/fTTbN68mXPPPZf58+dTV1fHhz70ISZPnswhhxzSp+N7qsfMrBfWr1/PZz7zGSZMmMChhx7KLbfc0u0+O++8c+u8/Pr161u3H3vsMfbff3/23XdfdthhB04//XTmzZvX5zH7jN/MrBfuuece9txzT375y18C8Prrr/O1r32N+++/f5v3nn766a1TN3feeScXXXQRq1evbt33xRdfZMyYMa3vr6ur49FHH+3zmJ34zcx64bDDDuP888/nwgsv5MQTT+RjH/sY3/ve97rd75RTTuGUU07hwQcf5JJLLuHee++lozXQ87hqKbfEL+lAoO3vPPsClwI3pP31wHJgSkS8mlccZmZ5OuCAA1i0aBF33303F110EZ/85Cd59dVXuz3jb3Hsscfyxz/+kbVr11JXV8cLL7zQ+lpzczN77rlnn8ecW+KPiGeAwwEkDQReBO4EZgILImK2pJlp+8K84jAzy9NLL73EsGHDmDZtGjvvvDPXX389P/vZz7rc59lnn2W//fZDEo8//jgbN25k+PDh7Lbbbixbtoznn3+evfbai5tvvpkbb7yxz2Ou1lTPJOCPEbFC0knAxLS/EWjCid/M+kJOl1925cknn+SCCy5gwIABDB48mKuvvrrbfW6//XZuuOEGBg8ezE477cQtt9yCJAYNGsT3v/99PvWpT7F582bOOussPvCBD/R5zOpoTqnPB5GuAx6PiO9Lei0idmvz2qsRsXsH+8wAZgCMHTv2yBUrOlxPoM/5ck6z/mPp0qUcfPDBRYexXejoz0LSoohoaP/e3C/nlLQDMBn4P5XsFxFzIqIhIhpGjtxm5TAzM+uhalzHfwLJ2f7LaftlSaMB0ufVVYjBzMxS1Uj8ZwA3tWnfBUxPt6cDfX93gpmZdSrXxC9pKHA8cEeb7tnA8ZKWpa/NzjMGMzPbWq5X9UTEBmB4u751JFf5mJlZAVyrx8ysZJz4zaxmSH376M7y5cs59NBD+/xzNDU1ceKJJ/b5cVs48ZuZlYwTv5lZL2zatInp06czfvx4TjvtNDZs2LDNexYvXszRRx/N+PHjOeWUU3j11aQ82cSJE7nwwgs56qijOOCAA/j1r3+91X5btmxh3LhxrFmzprW9//77s3bt2l7F7MRvZtYLzzzzDDNmzGDJkiXsuuuu/OAHP9jmPV/4whe44oorWLJkCYcddhiXX35562ubNm3iscce48orr9yqH2DAgAFMmzaNuXPnAnDvvfcyYcIERowY0auYnfjNzHphzJgxHHPMMQBMmzaNhx56aKvXX3/9dV577TWOO+44AKZPn86DDz7Y+vqpp54KwJFHHsny5cu3Of5ZZ53FDTfcAMB1113HmWee2euYnfi3IxMnTmytFWRm/UP7evmV1s/fcccdARg4cCCbNm3a5vUxY8YwatQo7rvvPh599FFOOOGEngebcuI3M+uFlStX8pvf/AaAm266qXXR9Bbvf//72X333Vvn73/yk5+0nv1ndc455zBt2jSmTJnCwIEDex2zE7+Z1YyIvn1kcfDBB9PY2Mj48eN55ZVX+NKXvrTNexobG7ngggsYP348ixcv5tJLL63oc02ePJm33nqrT6Z5wEsvmpn1WH19PU899VS37zv88MN55JFHtulvW/59xIgRrXP87ad9n3jiCSZMmMBBBx3U25CBEiT+ni5XWcl+VVjSwMxKavbs2Vx99dWtV/b0BU/1mJltx2bOnMmKFSu2+e6gN5z4zaxfq8Yqgtu7Sv8MnPjNrN8aMmQI69atK3XyjwjWrVvHkCFDMu9T83P8lZkLPAK8A9QDs4CpRQZkZl2oq6ujubm5taRBWQ0ZMoS6urrM73fibzWXZG33d9L2irQNTv5m26fBgwezzz77FB1Gv+OpnlYXA+2LK21I+83MaocTf6uVFfabmfVPTvytxlbYb2bWP+W92Ppukm6T9LSkpZL+XNIwSfMlLUufd88zhuxmAUPb9Q1N+83MakfeZ/xXAfdExEHABGApMBNYEBHjgAVpezswFZgD7Ji2907b/mLXzGpLblf1SNoVOBb4K4CI2AhslHQSMDF9WyPQBFyYVxyVmQpck243FRiHmVl+8jzj3xdYA/xY0u8kXSvpfcCoiFgFkD7vkWMMZmbWTp6JfxDwQeDqiDgCWE8F0zqSZkhaKGlh2W/OMDPrS3km/magOSIeTdu3kfwgeFnSaID0eXVHO0fEnIhoiIiGkSNH5himgVf/MiuT3BJ/RPwJeEHSgWnXJOAp4C5geto3HZiXVwxmZratvEs2fBmYK2kH4DngTJIfNrdKOpvk7qjP5hyDmZm1kWvij4jFQEMHL03Kc1wzM+uci7TlyKt/mdn2yCUbzMxKxonfzKxknPjNzErGid/MrGT85e42mooOwMwsVz7jNzMrGSd+M7OSceI3MysZJ34zs5Lp9MtdST8HOr0vNCIm5xKRmZnlqqurer6dPp8K/Bnw07R9BrA8x5jMzCxHnSb+iHgAQNI/R8SxbV76uaQHc4/MzMxykWWOf6SkfVsakvYBvDKK9RkvAmNWXVlu4Poa0CTpubRdD3wxt4jMeuPGHpZErcTnXBLV+rduE39E3CNpHHBQ2vV0RLyTb1hmZpaXrq7qObWTl/aTRETckVNMZmaWo67O+P+yi9cCcOLfjnkRGDPrTFdX9ZxZzUDMzKw6ur2qR9IoST+S9J9p+5B0oXQzM+uHslzOeT3wK2DPtP3fwFezHFzScklPSlosaWHaN0zSfEnL0ufdexC3mZn1UJbEPyIibgW2AETEJmBzBWP8RUQcHhENaXsmsCAixgEL0rYByVoATQXHYGa1LkviXy9pOGndHklHA6/3YsyTgMZ0uxE4uRfHMjOzCmVJ/F8H7iK5jPNh4AbgyxmPH8B/SVokaUbaNyoiVgGkz3t0tKOkGZIWSlq4Zs2ajMP1Z3NJ7o0bkD7PLTIYM6thWW7gelzSccCBgIBnIuLdjMc/JiJekrQHMF/S01kDi4g5wByAhoaGGr9wcC4wA9iQtlekbYCphUTUK5XePbu6B/v57lmzHuv0jF/Sx9PnU4HJJIn/AOAvu7i5aysR8VL6vBq4EzgKeFnS6PTYo3nvv32JXcx7Sb/FhrTfzKxvdXXGfxxwHx3fyNXtDVyS3gcMiIg30+1PAt8kmTaaDsxOn+f1IO4as7LCfjOznuvqBq7L0s1zIqKSq3hajALuVHIr6CDgxrTuz2+BW9N7AVYCn+3BsWvMWJLpnY76zcz6VpbqnM9Kug34cUQ8lfXAEfEcMKGD/nXApOwhlsEstp7jBxia9lu/4cqg1k9kuapnPMlNW9dKeiS92mbXnOMqmakk32PvTfL9+d5pux9+sWtm271uE39EvBkR10TER4C/By4DVklqlLR/7hGWxlSSFS23pM9O+tUw8VvJw6xMstTqGShpsqQ7gauA7wD7Aj8H7s45PjMz62NZ5viXAfcD/ysi/m+b/tskHdvJPmZmtp3KkvjHR8RbHb0QEV/p43isBmhqpV9ATkz3a8q8R3yuwiHMrFWWOf4Ok77VkrnAI8ADVL9cRJFjm5VTlqt6rKa1lItoWUa5pVxENRJwkWOblZcTf+kVWS7CpSrMitDVYutf72rHiPhu34dj1VdkuYhiS1XMfRgeWQbvbIL682DWFJh6TFWGNitUV2f8u6SPBuBLwF7p42+AQ/IPzaqjs7IQ1SgXUdzYcx+GGdcmSR9gxdqkPffh3Ic2K1yniT8iLo+Iy4ERwAcj4hsR8Q3gSKCuWgFa3maRlIdoq1rlIoob++JbYcPGrfs2bEz6zWpdljn+sUDb/yIbSS6/sJpQZLmIlrF3TNvVG3vl2sr6zWpJluv4fwI8lt65G8ApJKtwWc2YSnElIqYC16TbTVUbdeyIZHqno36zWpflOv5ZwJnAq8BrwJkR8S85x2WWq1lTYOgOW/cN3SHpN6t1WS/nHAq8ERFXAc2S9skxJrPcTT0G5pwDO6a/8+49Imn7qh4rg26neiRdRnJlz4HAj4HBwE8B/xexfm3qMXDN/cl20z8WG4tZNWU54z+FZM3d9dC6ju4ueQZlVgYuCW1FyZL4N0ZEkHyx27KWrpmZ9VNZEv+tkn4I7Cbpr4F7gWvzDcvMzPLS7Rx/RHxb0vHAGyTz/JdGxPysA0gaCCwEXoyIEyUNA24huRdgOTAlIl7tQexm23BJaLPuZVmB64qImB8RF0TE+RExX9IVFYxxHrC0TXsmsCAixgEL0raZmVVJlqme4zvoOyHLwSXVAZ9h66mhk4DGdLsRODnLsczMrG90mvglfUnSk8BBkpa0eTwPPJnx+FeSLNC+pU3fqIhYBZA+79Gz0M36r5bKoA8sTSqDujicVVNXc/w3Av8J/CtbT8e8GRGvdHdgSScCqyNikaSJlQYmaQbJqhyMHVuNSpFWnKaiA6iqziqDgm8gs+roqjrn6xGxHLgKeCUiVkTECuBdSR/OcOxjgMmSlgM3Ax+X9FPgZUmjAdLn1Z2MPyciGiKiYeTIkRV9KLPtmSuDWtGyzPFfDbRdd3d92teliLgoIuoioh44HbgvIqYBdwHT07dNB+ZVFLFZP+fKoFa0LIlf6Q1cAETEFrJV9ezMbOB4SctIvjie3YtjmfU7nVUAdWVQq5Ysif85SV+RNDh9nAc8V8kgEdEUESem2+siYlJEjEufu/2+wKyWuDKoFS1L4v8b4CPAi0Az8GHSL13NrHKuDGpFy3Ln7mqSOXoz6yOuDGpFynLn7gGSFkj6fdoeL8n/VM3M+qksUz3XABcB7wJExBL8G4BZvzZx4kQmTpxYdBhWkCyJf2hEPNaub1MewZiZWf6yXJa5VtJ+vFeP/zRgVa5RmfVDrgxq/UWWxH8uMIekZs+LwPPA1FyjMjOz3GS5quc54BPpylsDIuLN/MMyM7O8ZLmqZ7ik/w38GmiSdJWk4fmHZmZmecjy5e7NwBrgfwCnpdu35BmUWfU0UbbqoGZZ5viHRcQ/t2l/S9LJOcVjZj11o7K/t6UmbiX7fK7SL69te5XljP9+SadLGpA+pgC/zDswMzPLR5bE/0WSRVneSR83A1+X9KakN/IMzszM+l6Wq3p2qUYgZmZWHVmu6jm7XXugpMvyC8nMzPKUZapnkqS7JY2WdBjwCODfAszM+qksUz2fk/Q/gSeBDcAZEfFw7pGZWU1qKQ7X1NRUaBxllmWqZxxwHnA7sBz4vKShOcdlZmY5yTLV83Pg0oj4InAcsAz4ba5RmZlZbrLcwHVURLwBkC66/h1Jd+UblplVqrLqoBPTfZoy7+HKoLUjyxn/TpJ+JOkeAEmHAMd2t5OkIZIek/SEpD9IujztHyZpvqRl6fPuvfsIZmZWiSyJ/3rgV8DotP3fwFcz7PcO8PGImAAcDnxa0tHATGBBRIwDFqRtMzOrkiyJf0RE3ApsAYiITcDm7naKxFtpc3D6COAkoDHtbwROrjBmsxrRhAvEWRGyJP71aRnmlhW4jgZez3Lw9GavxSQloeZHxKPAqIhYBZA+79HJvjMkLZS0cM2aNVmGMzOzDLIk/q8DdwH7SXoYuAH4cpaDR8TmiDgcqAOOknRo1sAiYk5ENEREw8iRI7PuZmZm3chyA9fjko4DDgQEPBMR71YySES8JqkJ+DTwsqTREbFK0mjeKxBrZmZVkOWMn4jYFBF/iIjfZ036kkZK2i3d3gn4BPA0yW8P09O3TQfmVRy1mZn1WJbr+HtqNNAoaSDJD5hbI+IXkn4D3JoWf1sJfDbHGMzMrJ3cEn9ELAGO6KB/HTApr3HNzKxrnSZ+SR/saseIeLzvwzEzy48LxCW6OuP/ThevBfDxPo7FzMyqoNPEHxF/Uc1AzKz/UgVrtvdkn/A6730q0xx/ev39IcCQlr6IuCGvoMzMLD/dJv50mcWJJIn/buAE4CGSG7nMzKyfyXId/2kkV+H8KSLOBCYAO+YalZnlaC7JCqoPAPVp28okS+L/fxGxBdgkaVeSO233zTcsM8vHXGAGSfFcgBVp28m/TLIk/oXpHbjXAIuAx4HH8gzKzPJyMcnS2W1tSPutLLLU6vnbdPM/0sVYdk1vzjKzfmdlhf19rWWa6R2SaaZZwNQqjW0tsiy2vqBlOyKWR8SStn1m1p+MrbC/L3maaXvRaeJPl04cBoyQtHu6ZOIwSfXAnlWL0Mz60CxgaLu+oWl/3jzNtL3oaqrniyRLLO5JMq/f4g3g33OMycxy0zKtcjHJ9M5YqjfdUvQ0U7G2p3IRXd25exVwlaQvR8S/VTEmM8vVVIqZVx9LMr3TUb9VU5aren4o6SuSbksffydpcO6RmVmNKXKaydrKUrLhByQLpf8gbX8euBo4J6+gzKwWtfyWcTbJF7x70xfTTK4TVLmuyjIPiohNwIciYkKbl+6T9ET+oZlZ7ZlKcksQQFOBcZRbV1M9LTdpbZa0X0unpH2BzblGZWZmuelqqqfll6HzgfslPZe264Ez8wzKzGpZU9EBlF5XiX+kpK+n2z8EBgLrSUozHwHcn3NsZmaWg64S/0BgZ9478ydtA+ySW0RmZparrhL/qoj4Zk8PLGkMSc3+PwO2AHMi4qr0buBbSKaMlgNTIuLVno5jZmaV6erL3R5cJLWVTcA3IuJg4GjgXEmHADOBBRExDliQts3MrEq6SvyTenPgiFgVEY+n228CS4G9gJOAxvRtjcDJvRnHzMwq02nij4hX+mqQtLDbEcCjwKiIWJWOsQrYo5N9ZkhaKGnhmjVr+ioUM7PSy7TYem9I2hm4HfhqRLyhjLfMRcQcYA5AQ0NDDd47Z2b9Xd53DUM+dw5nqdXTY2lNn9uBuRFxR9r9sqTR6eujSZZyNDOzKskt8Ss5tf8RsDQivtvmpbuA6en2dGBeXjGYmdm28pzqOYakoNuTkhanff8AzAZulXQ2SSHuz+YYg5lZG01FB7BdyC3xR8RDdH5JaK+uGDIzs57LdY7fzMy2P078ZmYl48RvZlYyTvxmZiXjxG9mVjJO/GZWEnNJigIPSJ/nVnnsR4AHChh7W7mXbDAzK95cYAawIW2vSNvQ28Xes4/9TgFjd8xn/GZWAhfzXtJvsSHtr+WxO+bEb2YlsLLC/loZu2NO/GZWAmMr7K+VsTvmxG9mJTALGNqub2jaX8tjd8yJ38xKYCrJ8h57k5QQ2zttV+PL1SLH7piv6jGzkphKccm2yLG35TN+M7OSceI3MysZJ34zs5Jx4jczKxknfjOzknHiNzMrmdwSv6TrJK2W9Ps2fcMkzZe0LH3ePa/xzcysY3me8V8PfLpd30xgQUSMAxakbTMzq6LcEn9EPAi80q77JKAx3W4ETs5rfDMz61i15/hHRcQqgPR5j87eKGmGpIWSFq5Zs6ZqAZqZ1brt9svdiJgTEQ0R0TBy5MiiwzEzqxnVTvwvSxoNkD6vrvL4ZmalV+3EfxcwPd2eDsyr8vhmZqWX5+WcNwG/AQ6U1CzpbGA2cLykZcDxadvMzKoot7LMEXFGJy9NymtMMzPr3nb75a6ZmeXDid/MrGSc+M3MSsaJ38ysZJz4zcxKxonfzKxknPjNzErGid/MrGSc+M3MSsaJ38ysZJz4zcxKxonfzKxknPjNzErGid/MrGSc+M3MSsaJ38ysZJz4zcxKxonfzKxknPjNzErGid/MrGQKSfySPi3pGUnPSppZRAxmZmVV9cQvaSDw78AJwCHAGZIOqXYcZmZlVcQZ/1HAsxHxXERsBG4GTiogDjOzUhpUwJh7AS+0aTcDH27/JkkzgBlp8y1Jz1QwxghgbY8jrJBUrZG6Hdufu/pjV5U/d6uqffYiP3cH41f6uffuqLOIxN/RH2Ns0xExB5jTowGkhRHR0JN9+zN/7nIp6+eG8n72vvrcRUz1NANj2rTrgJcKiMPMrJSKSPy/BcZJ2kfSDsDpwF0FxGFmVkpVn+qJiE2S/g74FTAQuC4i/tDHw/RoiqgG+HOXS1k/N5T3s/fJ51bENtPrZmZWw3znrplZyTjxm5mVTE0l/rKWgpA0RtL9kpZK+oOk84qOqZokDZT0O0m/KDqWapG0m6TbJD2d/r3/edExVYOkr6X/xn8v6SZJQ4qOKQ+SrpO0WtLv2/QNkzRf0rL0efeeHr9mEn/JS0FsAr4REQcDRwPnluizA5wHLC06iCq7CrgnIg4CJlCCzy9pL+ArQENEHEpyccjpxUaVm+uBT7frmwksiIhxwIK03SM1k/gpcSmIiFgVEY+n22+SJIG9io2qOiTVAZ8Bri06lmqRtCtwLPAjgIjYGBGvFRpU9QwCdpI0CBhKjd4DFBEPAq+06z4JaEy3G4GTe3r8Wkr8HZWCKEXya0tSPXAE8GjBoVTLlcDfA1sKjqOa9gXWAD9Op7iulfS+ooPKW0S8CHwbWAmsAl6PiP8qNqqqGhURqyA52QP26OmBainxZyoFUcsk7QzcDnw1It4oOp68SToRWB0Ri4qOpcoGAR8Ero6II4D19OLX/v4indM+CdgH2BN4n6RpxUbVP9VS4i91KQhJg0mS/tyIuKPoeKrkGGCypOUkU3sfl/TTYkOqimagOSJafqu7jeQHQa37BPB8RKyJiHeBO4CPFBxTNb0saTRA+ry6pweqpcRf2lIQkkQy37s0Ir5bdDzVEhEXRURdRNST/H3fFxE1fwYYEX8CXpB0YNo1CXiqwJCqZSVwtKSh6b/5SZTgS+027gKmp9vTgXk9PVAR1TlzUaVSENurY4DPA09KWpz2/UNE3F1cSJazLwNz05Oc54AzC44ndxHxqKTbgMdJrmT7HTVaukHSTcBEYISkZuAyYDZwq6SzSX4IfrbHx3fJBjOzcqmlqR4zM8vAid/MrGSc+M3MSsaJ38ysZJz4zcxKxonfaoqk+rYVDdu9du32ULyuqxjNqqFmruM3605EnFN0DH1B0qCI2FR0HNZ/+YzfatEgSY2SlqQ164cCSGqS1JBuvyVplqQnJD0iaVT7g0j6p7QuepOk5yR9Je3f6oxd0vmS/qnNGN+T9GBaJ/9Dku5Ia6h/K0OMR0p6QNIiSb9qc4t+k6R/kfQASRlqsx5z4rdadCAwJyLGA28Af9vBe94HPBIRE4AHgb/u5FgHAZ8iKft9WVoTqTsbI+JY4D9Ibqs/FzgU+CtJwzuLMT32vwGnRcSRwHXArDbH3S0ijouI72SIwaxTTvxWi16IiIfT7Z8CH+3gPRuBlhW7FgH1nRzrlxHxTkSsJSmKtc1vBh1oqRH1JPCHdL2Ed0hKK7QUEuwoxgNJfkDMT0tv/CNJscEWt2QY26xbnuO3WtS+DklHdUnejffqlWym8/8L77TZbnnfJrY+aWq//F/LPlva7b+lzTgdxSiSHxSdLaO4vpN+s4r4jN9q0dg2a9CeATzUx8d/GdhD0nBJOwIn9uAYHcX4DDCypV/SYEkf6JOIzdpw4rdatBSYLmkJMAy4ui8PntaC/ybJKme/AJ7uwWG2iTFdMvQ04ApJTwCLKVe9easSV+c0MysZn/GbmZWME7+ZWck48ZuZlYwTv5lZyTjxm5mVjBO/mVnJOPGbmZXM/wf1Cbe/Fm+KnwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "nbins = 10\n", "x = np.linspace(0.5, nbins - 0.5, nbins)\n", "# The background follows a linear shape\n", "b_yields = np.array([ (1 - i/2/nbins) for i in range(0, nbins) ])\n", "b_yields *= b_yields/np.sum(b_yields)\n", "# The signal shape is a peak\n", "s_yields = np.zeros(nbins)\n", "s_yields[3:7] = [ 0.1, 0.4, 0.4, 0.1 ]\n", "# Now generate some data for s=10\n", "s = 10\n", "b = 500\n", "s_and_b = s*s_yields + b*b_yields\n", "b_only = b*b_yields\n", "np.random.seed(1) # make sure we always generate the same\n", "data = [ np.random.poisson(s*s_yield + b*b_yield) for s_yield, b_yield in zip(s_yields, b_yields) ]\n", "s30_and_b = 30*s_yields + b*b_yields\n", "plt.bar(x, s30_and_b, color='orange', label='s=30')\n", "plt.bar(x, b_only, color='b', yerr=np.sqrt(b_only), label='b only')\n", "plt.scatter(x, data, zorder=10, color='k')\n", "plt.xlabel('bin number')\n", "plt.ylabel('Total expected yield')\n", "plt.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are some fluctuations in the data, but it seems that the $s$ is fairly small compared to the $s=30$ shown in orange (note that we cheated and generated the data for $s=10$, so this is not unexpected!). We can use the tools defined in the previous lecture to find the best-fit $s$:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# ==> First define the log-likelihood function lambda = -2 log L as in the previous class \n", "def lambda_s(s_hypo, dataset) :\n", " pass # Your code here to compute the log-likelihood of the model with s=s_hypo for the provided dataset\n", "\n", "from scipy.optimize import minimize_scalar\n", "\n", "# ==> Minimize it for the observed data, using minimize_scalar as before (use a python lambda construct to set dataset=data in lambda_s)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You should see that it is indeed pretty small compared to 30. However we also want an uncertainty to go with the central value -- this allows for instance to estimate the compatibility with a reference value such as $s=0$ or $s=30$.\n", "\n", "We'll see how to do this properly in the next section, but we'll try a simpler situation first.\n", "\n", "For this, only consider a measurement in one bin, and assume it is Gaussian:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sb4 = s30_and_b[4]\n", "b4 = b_only[4]\n", "n4 = data[4]\n", "plt.bar(x[4], sb4, color='orange', label='s=30')\n", "plt.bar(x[4], b4, color='b', yerr=np.sqrt(b_only[4]), label='b only')\n", "plt.scatter(x[4], n4, zorder=10, color='k')\n", "plt.xlabel('bin number')\n", "plt.ylabel('Total expected yield')\n", "plt.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this simple model, the best-fit value is" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# ==> Compute the best-fit signal s4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And more importantly, we know that the uncertainty on this value is" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# ==> Compute the uncertainty sigma4 on s4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You should find $s_4 = 2.7 \\pm 6.6$.\n", "\n", "One thing to understand about this result: it does not mean the true value is necessarily between $2.7 - 6.6$ and $2.7 + 6.6$. The interval is to be taken in the sense of a Gaussian distribution: there is a $68\\%$ chance that the true value $s_4^*$ is indeed somewhere in this interval, but it can also fall outside (in 32% of cases).\n", "\n", "This can be illustrated as follows, where we draw a large number of random values for n4 and compute the interval for each case:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAELCAYAAAAspXpuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABhxElEQVR4nO2dd7gcVd34P2fb7SW9VwiEAKEFAoKCgnSMgAWxABZEjChW1FfM+yo/sIOIIFVABBGQIigqIhhqCiG0kH7Tc3Nzc3vbcn5/nJm7s7Mzu7N7t957Ps8zz8ycKXt2k3u+53yrkFKi0Wg0Go0TvmJ3QKPRaDSlixYSGo1Go3FFCwmNRqPRuKKFhEaj0Whc0UJCo9FoNK5oIaHRaDQaV/IuJIQQpwsh3hVCrBdCXOVwfa4Q4iUhRL8Q4puZPKvRaDSa/CLyGSchhPADa4EPAtuAZcAnpJRvW+4ZD8wAPgzsk1L+3OuzGo1Go8kv+V5JHAOsl1JulFIOAA8Ai6w3SCmbpZTLgHCmz2o0Go0mvwTy/P4pwFbL+TZgYS6fFUJcClwKUFNTc9TcuXOz62mpseM1CNUWuxeZM9CV5YPCshPJ14TtPi/tsSj4At7vT2pHfZ/JR3j7Crmkdx907IBoGPxBqJ8MVaMK349c0LkL6iYWuxeaFKxYsaJFSjnO6Vq+hYT9rx3Aq37L07NSyluBWwEWLFggly9f7r13pcySBljSXuxeZM6vDoH2rcnt1WPhzJ+qQS/SD9EBY98PkQHbvl/dl9Q2kLy3t8mo5UODQ/suvgDEaqFyDwQqwF8BgZDD3qmtwngmZOyDDm0h23uNbeN/4LmfQCQEhIyv0g3nXAvzPza071QMljTAkm3F7oUmBUKIJrdr+RYS24BplvOpwI4CPKtx49lr4f3fzd/7T74anrgCwr3xtmAVnH4tHHL+0N69+kF45v+gfRs0TFWfZR80Y9G48PnJTJiyAKQEGYvvsRy7thv7jm2q/7EYhLuhvx1iEWOLqn0hCPfCY4thxd2F+TyNxiDfQmIZMEcIMQvYDlwAXFiAZ8ufE/PkzPXcdfkVEuagnW4wz5TVDyYKn/at6jzSBweeCeEeCPepfcTYA/R3xoVBLGoRDDG16hi8Zjs3N4RSl3heANsRIHzg84Hwq2PhU2qsylGWa+bmV4LJiWh/ln3QaLInr95NAEKIM4HrAT9wp5TyGiHEZQBSyluEEBOB5UA9EAO6gHlSyg6nZ1N91rBSN+WLJQ0w44Ri9yJzti0r3CDp84MIKHXT4Oa3nQegtxVqJ8QH94TB3hQKTlpToGmpuzrRTWXXMA2ufDM339HLqixX5Ft1mu/V8QhACLFCSrnA6Vq+VxJIKZ8CnrK13WI53oVSJXl6VjNCSSUgKhuNWb9NVRTpA1+QBDWSF2JRIOpNKPXstQgFEd9jPXdoA3jqW3E7hNVGMfMEePMhZZcx8Yfg0I9C00s2m4fN1uEPqTY34QTuqzIoT5tHvlfHI5y8ryQKiV5JeGC4GcSdZtfmzNJphjlosxhwN4AnGcjDicbz6IAyqD/7Y6ifkmjfsAsqKVFCytYW7VerkcHnco2wCS5fvC3cg6P6zF8BU4/OXRfamqBxRnyfL1KtyjSeKOpKQqPJCW4G8ZOvTr7XnFk6zS59fghVA9VD79OzP4ZRs7J7tmkpTDs2fi4ldO2GfRttQkNA/TSoblT3xCLuXl8JA780bCwZ9CnX6rz2rUo45FNAaPKOFhKlRCF0q/kyiOdbx52pQfyus7L/rGxnvnaPKScvKrOteix077GowSS0bXZYVUjo2Ao9u9WKxm3VIXzgM1RNvqChhnI53rVaCRY7/orMv3M6Lnky9++0s6Qh/58xgtFCopQohG41H+8vlI57/sfUFosZap9+6NqTHFsB0Nee3r3VUT0Ug+5mpZJJOegbU/QtL8XfkSk9LR5vlFBRHx/kBwf+UPx40O7hgcaZ0Lo+sc/Cp2f8Gke0kCg1hjIDLhZOnkfhXnj0S/DsNQ6Ds4uePmHQTtHmRYey+w3v/bfq682BtmacSwCcpW33WzD92PT3DRqnQw5tlmduPQk6tif3L5deTSaF8G4q1Aw/X6tjDaCFhCYXuOmyYxHYtzk/n+kLGG6nVvdUY9+5U82Wre3Ccj3B40gkz8CblsKXXxla/5wG4blpBuFTlni3uwwVc1XmlVJ2My3Vfg0TtJAoNQqhw8016VJxRPqNALc+tTfPB/cu7dtXwOj9kttjYSPSOeIuoNo2u/fXF4BApZq9B6qMfWV8D3D/J5LbB/eVzu1Bo33zUlj6S8OYjHf1W74CEXNBNqpQPcMfFmghoRk66VJxZDsLXdIAdZOS2xNsBU5buuuW+wZzPrUluqNufE4dRwdIzAeVJZmk1bB6BK24O3epOPLtimpHz/CHBVpIlBLlOvNKNwPOtUFeCKVqwp+7d1oxB9OuZmXgTfxwI50GMNDtsJIRuNpMip1Ww3RJ1WgyQAuJUiLXM69C6pHT6bgzNch3Nat901Jl7G2cAbXjs+8fGCuMqCVBn22LRkFGIBpRRum+NpIHfAl9rapPwUqVvjtYpbZAlVI3bV/uLBDy4WKaKdmqM7Wb6YhFC4nhTLmmK7DP4KP98fOasfHsq2k3h/vSYc3NlMqLKlVkcuMM7WKqGTZoITHcKUeX2ram5LgDGYO9a9WWKT4jpiBUa4svCMXPzfgDq6eTW1LBdCsCc8XT1hR//tzfFc8AbXpagXIyyMYYXiqq0FL2shqmaCGhKT1S6e79oeQYinTEwmoz04enRMTzHbnmNfMpdZQ1oZ/wkZjUT6hqbEIoN+CBblj1x8RCQ/6gc9EhpzavgXJ2chXoWCoDc7mujssYLSSGO6XgUpvp7M9LMj/znVIakdbWxHxmbiNbxbvBqnip2mzv2bMWdr1uDLK+eKBcLOwS8OcivP76tex+u0HsCfvMrLI+B2FlSerX05K8KstlAaNCe0xpCo4WEpr8k+nMz0syP3NGKYSacQdCuemrG0saYMZ7vN9vRobLGGx9GaYcrdp69kDbFhKFiLHqqKhPduGNhS0CzRBguaiGlytPK+0xNezRQmI4Uyp65EzxGlRWqvYWU0CY1e5qJ6mBXcagYweOHlNduw0hYAQKRg0VmSsiMY+TL2A5D6i9Lwgt7zq/J5eeVoVcrWovq4KjhUS5k0qVU+q621T5gzJNG5GKlMF19hKmLtdADbhJ9xn3RMNqVeNWH6JrZ5o+xtTKyRdQq6bBhH4BZ0HgNaHfqFna00ozJLSQKHfK1ZDnZFB9bDE0v6OS5oV7jVQevcZxr5HWw9iDUtGY9zjujbrXQ1Gt+EMq/iFUA8FqIx6iMnEfrII3H4YFn0++Zt8//hWVItxOPpL4meQzmV+hZ/blujouY7SQGA6UqtolFU7updF+lfPIK28+5P3epLrV/uTjvjaonWhJBBggubob8Rl8NKy2vg51ftYv0vfjtP+XnyR+hVqVFYJyXh0PQ7SQ0BSHVLP7xhnpU4uHewy9ulO6cfuz0nvd6t596ftu9yAyhcYt73VPA25tm/k+VYeivwMqG+CA06G/E1bemzrduNO7/SF453HlPVWMmtX5mNmX6+p4mKKFxHCgFNxcMyWVm+vXVuf2s2JR+Pc1cPwVqWtY//4sGHcQyQWG0tS7kFKpt9q3Ogi2FIWOQBVHWv0nteWSXLq5piOTlax2mS07tJDQFIdMalYPFZ8flv4CTvHw7uox2X1G0x4Yf3Bmz3gpd9rbahQiyqRYtUGxEwo6oV1myw4tJMqdcjXkFaN2Qj5tNw3TMn/Gms3WbYbd8i4pBUSw2kh17pDO3B9SgibbaG2vdDXHU5B4ScaYbuVbTDdXnfYjCS0kyp1y/g9dbgbVVAx1duw2w063GkiVaiQ6AFtesFXw8yeeC7/FUO90bDl3EjZmMkZTfWZNxjjUrL3FQNtDktBCQjM0ymnmZZ/B2j2C5p4DF/yhOH1zmz37K9yTDE45ysh0G1WJD8O9KnDOF4Cq0WqVIaPxbLiDx1G1+his8OcR4bOVgvUrg7tTMsa2JnchkW5F1zCtPD32hilaSGiGRrnOvJziNHpaVHuuVzfRSHIeqcG9YTgH5VllN4pX1kN3C0lpPAKV0Lohfl9/hyqGZNo1wj0w0OVucM/GxiFjEI0BqSLBze88BHuItlmUFFpIaIZOOcz67LNTpziNcC88ehn8+8fJHkluhmW7a66TG65Xmt/yeKOEcDdEehhM8gcweqZLJllrRll7W4XN3Tbk4Hbr4oobqICbjlErMaff28n2UOorT532IwktJDQjA/vs1G2mG4sqVUmuEL7EQkZu2961MGG+c1bXhLgMFyN001K49D+JbfmMtDY5+YeZeallKyBKXbgMY7SQ0Ayd4RSnUT0Wzv6lkQ6kB/56JXzgf+LpQcI9tn2vqhXhdN1U8ZixGenYvVqlAAlWxVOADB5XOrRZ9k1L4bX74m1bX4GXbooLw3wF2BXKS61Qas1y9RbMI0K6FlYpPxYsWCCXL19e7G4MH7zM3pY0wJL2wvQnE9LNou02CVAD7Dm/TrxvSQPMOCHzzzdVTbGwsknEInFDsZnpdfDccpyLNOCp8FekLr1aqjQtLc3/Z8MEIcQKKeUCp2t6JaFxx8vsrRRnXk5G6cevgIEeOPB01T7xUDjh6/DqbSrhXvUYOOQ8NUgvvzOeTBBg36bk7LFJGWMdtmyMw4NY03741IogVJPYZt0GulWKD+FT7qptm51fW4oBdpqSRq8kNO5kO4vOJdmkcXCrTZ0tbgNzui3co9JuyKiyO1SPharGeMyB8Kd43mZ7yHQm7aW6XyYU2yZQqivWYUKqlYSv0J3RaDLCaaBLRyoBEaxRKhfh9/AiY6AOVKnnQnVQ0QBVo9TKo2Yc1E6AuklQP0UNwI0zVA2HYLXKKmtGQsci0N2sViBVo6CyESrqjBTkVXEvIp9L0FqmnHy1em/Cdx9C2pPnrht6nzRliVY3aVKTjVE6l7PObFwSUwWgTT4ifi5jRnCZxR7Q3Qq9LerYnNUHKtR5pDd+XyaurdbPSxVklo5MXY0DVUoomeky6qephH+FSPqXa0pRrTlC0EJCk3uKHWDXOMNbNTbhA79PzeBBpZjoaY4/J6OAhKoxUD1KBb5F+tWga3owDXQ7501yo5A2gd7W4qsLc4V2fy0aeRcSQojTgRsAP3C7lPI623VhXD8T6AEullKuNK5dCXweZQF8A7hEStmX7z5rDIYye8t1gF0mtglzpp5J0jnzfqcUE63roNV2r/Cp91bUWQLXLPvdb7i7vXY1Z76ayCaBIOTOPdlc0RXbNqEpOHm1SQgh/MBNwBnAPOATQoh5ttvOAOYY26XAzcazU4ArgAVSykNQQuaCfPZXY6OUBoNMbRO145Wr54wT1N7LoOx1lh+oUnaFqkZlW6hsUFtFvRIawSponBmPhLbTul4JikwolVQV2jYx4sj3SuIYYL2UciOAEOIBYBHwtuWeRcA9UrlZvSyEaBRCTLL0r0oIEQaqgR157q8mV+RqBmvOXAuRLsHNluELqEHaLFQU7VfutNE2Z1WTL2CkwKg0UmfYGKptIhNytaLTSfdGLPkWElMA6xRwG7DQwz1TpJTLhRA/B7YAvcA/pJT/sH+AEOJS1AqE6dOn57DrmpIgl6uZdCorN1vGqNnuA3rMSN5nJuyzVr1LFWUd7Yddq1WivkClUlGZx/5QsodTpjUbck0uVzJaZVVW5FtIOPny2QMzHO8RQoxCrTJmAW3An4UQn5JSJuRyllLeCtwKKk5iyD3WDJ18eaIMdXWypCF9jECu8x25xSsEq2HCwbCvybhu+a/rr4BG0512BvS2wbZX40In2g8dW+HEb6XuWz4G41ys6Irt2KDJiHwLiW2A1eI2lWSVkds9pwCbpJR7AIQQjwDvAYqU8H8Eku0gUwoDgNNgD95UJo0z4jPnVC6jCRlho3GXWvM8FlMrDARJcyPhh5a16t5QrfKUMlVX0X7Yu15tbnitYZ0PFZFWO40o8i0klgFzhBCzgO0ow/OFtnseBxYb9oqFQLuUcqcQYgtwrBCiGqVuOhnQ4dSFpJRmfJmsThzTcnxFHQ90GSk1ovGB3G2Aly7n1vuyQqhVQSxiBM/5lNHb54tHYZvtpZZiI1svK03ZklchIaWMCCEWA0+jvJPulFK+JYS4zLh+C/AUyv11PcoF9hLj2itCiIeAlUAEeA1DraQpIJnMGrNJoZGPvjil5YgYntM7V3l7h/Cr+AlrGU9hRkRbBnC3gd2tPZtoajch4VazAUpb769rNpQVeY+TkFI+hRIE1rZbLMcS+LLLsz8EfpjXDmpyh1ud5kLjdYYdrFapNpAqyV+CSkhCw/TSqdMcrPJeswFKaxWoKWt0xLUmNZkYiws9Q3Rbubi5sgofjN7PiJTuUfvu3c7vljFVHjQ6AP4A+IJGbqVgfIUxlBxLmXor1U9LvL+UUmxkumrRKTbKCi0kNOWL28rFzZV19P7JA3EsAltfdn6/jLqrehBx4ZEgQOwCxXJuBtd1NSf2L9qvzsFdUNSOL51VjZ1MVy16hVNWaCGhcSebGV8hq9S5rVwyScvhC6RJCHikUTgobCkgZD03kgMOdMcTBbph2jki/SR5O8kY7Nuo9qbdw7Rr1E5UNhXTPoLwtoophBeSGTm+pDF/VekKRSnbcYqIFhIad8r5DyaTmXeqhICm0TpQ6e1dUsarztkFiXkecUk/FovEVxR2unYlnicYxx2OQRVLGjSk+1MfD7ZlkKnHXBGpL56/EqmFQttxHNFCQpM7iqFrztXKJddBdKlwC7Dzh2DifIubbdTZXdfRhTdqPDOgjoUPOndmkdJcJHpwJQgR27HT+73Gb2jKBi0kNLmjnGdh8z9WuNnvpMOhpyXRW0n4VFJArysWrwwG/LkJHGssSIrjaBhifcqQny4+pFxKpObbZXuYoIWEpnwpVy+ZNU/AebfFVy5IOPd3pauikVIJh1X3wd+/C5E0QiJV/EYpYU/TouM3HNFCQlNeWI2L5bZyMVVaoFQyjTNgxvGqfnUu3FkTVg0p1FWeVFe2FUVSyjUXhE+lUtepO4YNWkhoyotyNS7aU4WYbq/RfqiZoOphD2UQN1OGZIJpqLYbs/0hCDgYuNuaUr+vGNlpc0m5rkzzjBYSmvKjlFKFeMUpVYhZVwLcg/qsiIBKKW56XPlCtkHeZlhO5f2UTTBg5y5ne0PDtPTZdUvRvdSuXiq1/pUIWkhohjfDKlVIDOqnFG+m7uQqnC49iEm5rgA1WkhoHCjFWZ+VVEZRuytrsbCnEfcFVYyEHeFTgmGgG5AqVUjYoZodFLainRNOQYqllB4kU7R6yRNaSGiSKddZn1OKcFBBX04Dq5Qp9P721OFOacPN+1ye94KMqfTlYMkU63NfeRTbvdQMUmxaqmqHlzPl+H+8CGghoXGmVL1TKurd++ak9wfYuw46tycLAK8eO4MIh5Tgpj0glD5teOdu6G+Lv65qLIzZz2JAttgI3L5LqbiX3nVmaSd/1OQMLSQ05UV/h/s111m2NNQ5HhE+5eFj33wBY/PH98I4tg/ydrqaYcDW975W6B3tvMppnAF71ya2edX/F4KmF4rdA02B0EJC40wpzFadSDUjdU3UF4IJh6jVQyxiqI6Mvdkmo8nXI31KuHitQOcLWFYXphAx9t17klVQqWwMteOVkDC/k9b/a4qEFhKa8sbq4uqaqG+mMg5ny6DtwiJYBoVMirZoGGK98cA2J6L9Sr/vFmNQLnr/dM4OWv9ftmghoUmm1Gd91lWOPbVCIRP1ZYJbUj+TaD90bIUTvxXvbyl7mdlXdOXq7KBJixYSmmTK7Y/dbshunBFfXZjqmWIH1QWq1KomlddTuBce/RK8dJNa+Qif+m6ZVrErFNk4N5Sy4NM4ooWEprzIdpVT7KA6e4yBG7EI7FylBESoFvBBfzuDnlheqtgVgoZp2T2nVxxlhxYSmvLCOsA8e63aezGyl4ILprUQ0taXnavY+UMwapYydPe2Or+n2EF1kChwzdQipeo2rRkSWkhoypfnrit2D7Kjq9m9zKnwQ+uG1GVQofhBdVZS2Vo0ZY8WEprCkmuddMO0ws1gs7ENmOVMo/2qtnW0H/alyKbq80HlGJW/KVQLe95xr789FHJtoznxKm//rqWwotNkhBYSmsKSa510oewMZj1n0/Bs2gakhMr6uACw7s3jTFJ4Tzoi8TxV/e2hkGsbjbYzDFu0kNAUDtOGUAzddbaGVpN9G52D4VrXJd/rC6qU3qFq8I9Sx/4KtQ9UwM7Xva8OnJLqDdW7ybQh5CpgMpPVQam7V2uS0EJCUziKaUMYyqw5lQ0BYMycREEgfOn7ksnqwGrwzgXFtCHoFUfZoYWEpnwZ6urAK6kqsvmCynZgJvKTEpCp8zjlY3VQTPTqYFijhYSmfCmUPSJlXEMYdr6W3J5UDc5WNU74oWasRbhE1YrFsaqc3zlTbCZYje65ptCrAx2QV1C0kNAUFq9eMKWEW0qNUB189PcQ7laJAO1buva+bpVE0DNCrVpC1RCqUVuwJn482FZt3Fej7t31Jmx7FaID8Vf5AiqFSSmkLMkUHZBXULSQ0BSWfPxx53tmefLVicWMQM3q6ybB0l95f0+gUm2Mibd17ob2JjWA+0NQOxEqGyxFj2zFjMy2nlbo2KE8qDKui4GysTy2OLcZZYud+kSTF9JY2DSaHJIv3XW+DeLzPwbn/Dp+7q+A0fsP3YbQ1Qz7NsRn+NEBtWLpaVErjHCPqlrX1wF9+6Bnr4rE7toNfW3GKsQmIHwBlSeqoh6qxyih40auVU86qG5YkvFKQghRA/RJ6TXJvkZjkM/ZfqHcamecoPapjNleaWtyiKGQ0LnT/ZlAJVTUKpVSsFoJLH9QbWbxIzu9+9wFwrZluTWaF6IOid3lVtso8kpaISGE8AEXAJ8Ejgb6gQohxB7gKeBWKaWDs7hGM4zJRTBaqpl8qNaoRxFJrEUR6VNb7z51LnxGgaMg+I29LxAXGr6gWlF07sRRLVUqCQOHgrZR5BUvK4lngX8B3wXelFJNfYQQo4H3A9cJIf4ipfxD/rqpKUsKOcPL9QzWqS7FzBPi3ycX6SVcK+lVwKTD4+cypgRGtB8iA8kR3ZF+ZQwPZ9mPXCYMLMSKrpCpWDSehMQpUsqk/35SylbgYeBhIUTQ7WEhxOnADYAfuF1KeZ3tujCunwn0ABdLKVca1xqB24FDUNOgz0opX/LQZ00pUK4zvNUPJhqq27eqc6tdwoqMWQzNxvGgsdk4TronqlRHTkJCSti+PPGZbIzTCKOGhfFZwqfsHE6UUsLAdGjjeEFJKyRMASGE2A/YJqXsF0KcBMwH7pFStjkJEeMZP3AT8EFgG7BMCPG4lPJty21nAHOMbSFws7EHJTz+LqX8iBAiBAyhBqUHylm3WaoV2bKZ8Xn1kjED1+qnwO2nxgdVpHFs2+OxrWtXsq0g3AuPXApPfDV+bctL8c/LGBGPiRh8h1CDedAoUJQQL+GzxFn43K8Ptvni9ommpfA/u9Wxmztvw7Shr8aK9fejkwbmlUwM1w8DC4QQ+wN3AI8Df0StANw4BlgvpdwIIIR4AFgEWIXEIpSwkcDLQohGIcQkoBt4H3AxgJRyALA4eueB4TbzhdwIilg0rtqIho3jAbWZx0ltxryhc6dlEHYZwBMG6pjy3OlrSz+gWwfnju1D/56DM2+3hHxSeQ75fMouUDvBeeAWPtvgbR24zbYsg+KGipM7b7BKtQ+Vcvzb0aQlEyERk1JGhBDnAtdLKW8UQjiEmiYwBbBOW7YRXyWkumcKEAH2AHcJIQ4DVgBflVJ2Wx8WQlwKXAowffr0DL6OC+Wo69y2LFldEO6Fv1wG/7zaYUBONUg7DMhDoXVDcpvwMTggC8sey+A55SgVN+APGXmR3I6D8ZxJg8fGdddjh/f4gmogh9SzbbOedjmtOq0zbXPSUIqrzmzRaUHySiZCIiyE+ARwEXCO0eZqizBwmi7Z1+Zu9wSAI4GvSClfEULcAFwF/CDhRilvBW4FWLBgQTbr/vLHTZ8so6ndKfOGoUqJRQzViT9xNm0KAyHUvYN7o32gC2a9z+K1Y/XYsXjxJJxbPHxW3gsLv+hwr83rx+d3ntF7mW3nS0AUQm04/2OFEQqFEqTlIqzLlEyExCXAZcA1UspNQohZQDqPpm2ANQvbVGCHx3skygbyitH+EEpI5JdC+HnnGreZb90kuOivKr9QNGzsI5bzSLw9FnG/lnRv1P2a9R2tG5S9INPPBjVQDoUVd3m7L0nYGOfBmng/fUGomQDL7oCV9zgLLF/ARXg5CLmke41rW16BZbfFg+vat8LjV6jV3GEXZP9bFGumXa7qW00CnoWEYWy+wnK+CRj0VBJCPCylPN/22DJgjiFQtqPiLS603fM4sNiwVywE2qWUO413bhVCHCilfBc4mURbhsbEbeb7wf+DsfsXr1/ZsqQBvr87ewF1/wUw9sC43WJwH3Noc7gW6QcEVDbG7Sh9bSrqWdqeQarPF37L+2JqipO1UdtCpBf+8kV47MspBJBDu8+f+B43NWo21fZKlXJSAZYRuczdNNveYNgwFgNPo1xg75RSviWEuMy4fgsqIO9MYD3KBfYSyyu+AtxneDZttF3LPeWq2xxueuYTr4JgJVCZ/TtqxuWsO2lpWgozjnW/bhVIVhuQXVg5ZZM1qR4bF4SRXug3BKMbwpdCmBgrl/4u6Nxu9IHyD6zTK5e8IKQc4kzHfJEQK6WUR+bkZVmyYMECuXz58mJ2QVMoUs0alzTAkvbC9WVJQzxdhxfcZu9ODgig7pl6dHK7lMbKql8JjnBf4j6apTOg2+c5kcpduWlpZr/LUGlaWth/92GEEGKFlHKB0zWdBVZTnpTrrNGtVnYsAnUToW0LiSoqoXI07TXuiUWUYBg8jpBepSUMY31AqaHM454W59szCazLda1sTcmRSyFRJMdvTcEpFd2vm549VdqGfOng7QO329azN9mtWMZUDW1HDHuIfZAPVKjVQuV4yzWbEBABSwyHw59nqpVLJrg5exT6/4kOqssLnoWEEOKrUsobUrR9J6c905QupT6Ld5vZus3iQQkKGYsP5tFUg304USgAbE2TLcbnVzaBVHEnYw/MbJBvWgqTjkj9uanItNZ2ppTy/xGNZzJZSVyESpNh5WKzTUr5jxz1aeRQKjPybLjx6NLwipGShGI8g/tYcnvHdudZ/N61yYOlE8KfOGsPVhERQXr6w7wu5tIUHcOmyFh2xhpojjXQLmuI+YJUB2LM9ndwcGULF3ffQSjWm/xuf0V2xvahumwPNS6jlGbv5ep4UuJ4SRX+CZTb6iwhxOOWS3XA3nx1bERQ6jPyVKSakbuRNKDHQEacB3TrQO90DWDLi0OPCDepnWiJX7DEPlg3YzYfk/Dfnmk80n4g/+iaRa8M4iPGrFA7s0P7mBDoYaroJkYPnbEQO8O1LOudxGOdB/CmL8ZPgrdTJSxG5VzO3jOlUIF1haBc/5ZKHC8riReBncBY4BeW9k5gdT46NaK466zyLPvoNiPv2K7cKx0H+0wGdEsCPJ8lYjtgxAD4elQcg/26sDxjtpvXtq9wN8p+4520K7tINMYjr23n1uc3sr65i4aqIB8+ehIfnDeeo2eOpq4ydQKC3R19vLD+MO57qYEzmm9jEntpDYyj9dirOOCDn8vgtzEohVm8nr0Pe7xkgW0CmoDj8t+dEcpw8hAJd0OsQsU5mAO600CeMIA73ZOHyrpuOnjzPMXK7vm1e7jmyXd4d3cn8ybVc/3HD+fMQycRCnjv54T6Ss47cioceRX7ur/OLcu2cOfSzbQ8089J217le2cexAET6obyDQuPnr0Pe7yom5ZKKU8QQnSS5JuHlFLW5613I4FLniyNGWEmCD+kql4rY4bQs+RlAsuxMJqEcxvEA7xymS3VVIXZbSl717p6Q+3p7Of7f3mDf7y9m+mjq7n5k0dy+iETEUPs16iaEJeftD+fPX4W977UxK//vY4zb/gvl79/fxa/f39vwkfP4jUFIG0wnRBitpnqu9Qpu2A6M+gr02CsYmP3Eso7NiEzOEBbkwOa91muJwgg+zOW672tqsRnz1449GODK5qt7f28vLmd/ijMnzaGeVMbCZg2C/vKJ6nNaYXk3tbRL/nDK1v5z7pWpo6pZfEpc5k9rt5yn8XTKanNukIL2D6jAJ7p5eyAUap1WLJhCP8OQw2m+zNwlBDiGSnlyVn1QOOMdSZYbokFVz+oUpE7rShqxsKim+N2CbNOs9VAPdhm2CqybjPeO5Q24YPq0UpIbHsVGYvS0dNHxUCYD/okdVUCf4uEZtuzORSS9cDlwOUVQBfwaK7eLBwEhy+3be8+BXvWeBCGAZuQy7TNpq5M2eah/2uegn/+QNUGgdzXYSk0eXKE8SIkfEKIHwIHCCG+br8opfxlzns1UijX2RfE/4icEguedi0ccGpx+jUUljTQ/NlX+NIfVrJi9z6+eOJsvnnqgfj9LqofMy1GgtBx8taKJAq5NG2dvf3c8uw61uzcx0lzRnPBgskEhbS8NxJ/Zs3fYM4piW2D7/XSZgptj23RsBpUrW0Aa59mUBs9WBBKGk2WHFUJ10uQcC88thhW3J3Zc+XofOIRL0LiAuDDxr1lZlUrE8pVtzzMEgvuOfJKPnTjC7T3hvnNhUdw9vzJqR8QQrnM5ji7TR3w9Xmn8fN/vMsP/rOBJwZGc9tnFtBQ5eA99dcr4VN/zunnZ8ySBlUkKhOcVJbCBw3ToaLeCFi0p5e3naeyi9kxVXGDLs4BtXJ0Ipt638PJ+cSG5wR/QogzpJR/S3H9IillhuI3t5SdTUJTMry6qZXP3b2M2ooAd1x0NPMm59EfIwPd8WOrtvPNP7/OfuNq+f0lxzCxwZYZt9D2LKe0JnvXpu6DlGoFY5bAjfSrd2QyyENyMKO5+R3aXGJcEtjyknMfMklwaFIKyQWHkNgyJwn+UgkIg68CRRUSGk02PPPObi6/byVTRlVx7+cWMqWxKr8fmIHueNHhUxhTU8EX713O+Te/yB8+v5BZY2vy2z83UqU1Cfeowd8qCAb3A5nZb8YeYBvkg3F7Qi6R0UQXaChuYGOJohP8aUqDInnI/P3NXSz+40oOnlzPXZccw+iaUOYvycZDJoNa6icAf5o0ls9sO4dPXP9XHpj2KDNDHZn3E+JR79KodR4za54bbV27jNoVlnvM6507nYMoAXasTGw3a4eHao164hWJ+52r3JML1hQwvcu5v8uNurQU3NjzpLbOpZAoUUuUpiwoQoqSf729m6/cv5JDpzZwz2ePSRsx7cjqBxON99l4yNgH7sHBO952iNzDk2M2c8++eTyxrYpPNaxjlM/4zL3rkgd7aTs3r3v5M3XU1YvUz449wCIIQuln/flOLugVnZYkLXoloSkdMphdD5VNzW1c3vYd5lW0cHfoNuruz7JAj1O67bBRcvTp7zkP3gDbXsls4AYmAd/xr1InXeopAdDdolKhCCNSXRgZZ32W88FrPkv6El/iM8IHu1fD4uUQqFR1LIKV6tjnd6+l3jANFi/L/Ldb/SA8+Q3o7yyO00MuZ//l6nzigUxShc8y6lq7tb2Q055pNHnitd7xHNG7lDmhVu6Z+lfq/VkKCHD3hJEx6N6T4jmj9KjwqUHYro4x/f0HB3Vj69lHbN9mfEQtszKpvIJylYV37Bzndrda6idfnd3nzP8YPPKF4ht8c0E5u7OnIZOVxMOAvTzpQ8BRAFLKxbnqlGaEUoCAwo17uvjcLS+xkkf4/dS/0uDPwt3Rir/CWVD4AjBqllGbImxx44woIy8YgX0xNehaB16wuGyatakNA27XbnzYPHJkTHkL5UpIpFrR1U9L9G6qn6ZiCjKNKygFhvHsP5d4yd00FzgYaBBCnGe5VM+QKtVrhj0llq5hT2c/F9316uD5uIBDXQcTrxXs3HTro2YbhYykJYDNWnrU2Ef6EjfzPTIK0ahnn30Z7XfX9+Yy0Kt2fHHqhuSDEvq/Wcp4WUkcCJwNNALnWNo7gS/koU+a4UImxug8z+p6BiJ89vfLaOkc4P5Lj4U7cF+5mMZoc4COGn79c8+AyUdAX4fSo/cb+x3jlHdPpFfN/CtHQ3+70t9HUggiE19ABZDVjoeKOqhoUPvKetU+eFwH/75G5Zqy0RacwCi377OkAa5809sPpUuOamxkEkx3nJQyTY3G4qKD6UqMEklcKCUs3nkqf+uczW1T/sbJtU0q+KlhmvMM2632cyb4ghYbQ8hiazDrYVhyCrmVJ3XCIVJZAvdETsE3ej8+Peqt5GdKIdDLjSUNaoKgZ/VFJSfBdMC5Qoi3gF7g78BhwNeklH/IQR81mrzxm9ajeLJzf7437kUlIEAJCLdUCqkERPW4ZLWRmU/JSiwMA2FUtj4rloR7SdlcLe32c/O4qlH1oXu39Y1cEHiO77TMYb+KybynekcWv1KROPGq8q7QOALIREicKqX8thDiXGAb8FHgWUALCY07Rc5u+4+3dvGLe1dw7hFT+MLHfpw4Y3dTdbgZo/0VMO5A52ekjLu6msnxBjPO2pLq2W0UkX7DBjGQdfK7CsJcF7ydp3cdQ0fdduqD0XjEMsBvj7cIJ0va8Vzh1YZTDpSYLa3YZCIkzEijM4H7pZStQy28otHkk7W7O7nyT6s4bGoD1553qPdCQdkEegmhVgX4wZ9lh5uWKvWcNVtrgsHbEDStGxwfrxBhjvG9g7+7B0Rf4sVmB5uENW22L2BZuQSSBYrTdVNNlipdRzkKCr2ySSATIfGEEGINSt10uRBiHNCX5hlNOZCvmVMhXAxdUmJ09Ue47N4VVIUC/O7TC6gMuozcqYzXhc5ua65shE9FLbsJm/Ztjisd4a9g/ahTuWjbWXy07m2uG/dPRCwCHduganTcDTfBJTcMkQGQHgzsTvgCyao2yNwtt4CBlJrMyCTB31VCiJ8AHVLKqBCiB1iUv65pCka+Zk75no25pMSQwHffmsPmvd388QvHJmdO9YKZriEWiw+oPa3GIDtgGXAH4gNvdMC4FokfR63H5uBsf8bYA7SsjUdhD6qwzNoMsXibE9F+3tvyABsrH4AwYDVN9LRk/hs4Yq0GmMbgPlTjv6YkyCTiuhr4MjAduBSYjHKP/Wt+uqYpKOU4k3NJiRF55HKOi5zA5TW7OOihFsAcXGXisS8I10yyDLwy+TjfKcmEj4SSqsFKI3gupNxp/dbjkHEtCJ27YPebKjAvVAvTFsKEg8EfIuYL8tCqXWxsDfOZE+YweXSd8Q6Hd25eCivvVdHhtePhuC/DQeckfpZ5r5nqw06qdB1ebFK5Wsnm6j3aLTeBTNRNdwErgPcY59tQpU21kNAUB5eZapAwFwaehQhqS0UsPMROGInv/BUO9aYdSngmlPf0Ab74jHzna3DxU/EkeaYLrdPAnAIfcPLR/fzqxqU8+brgr4vfS0O1Q/LC1Q/Cy7+Nr8S6dsN/roW6SZmp1oaariNXK05tS8gLmQiJ/aSUHxdCfAJAStkrtOV6+FBuNbbBdQbbzGgqvvAPGkLSqGkwkFjbIGFvvZ7pfca+ZS0g495JGSTtS+L6QxwajZWGmb/JquoRvsRj1PEY4eNxUcNTHfvz8s9+zql1TQj7vW1NyfaEbMt36nQdw5ZMhMSAEKIK43+/EGI/QCsdNcXDYQYbln66Trya8VNcktTlgyUNMPWYxLYEO4LFljBoY7C3S2hZEzcE+/xQ0QihGkv2WKf3ybjx2bRrGIwDLgpsUn+xmZSfyMaWYE/X0daU+TtKBb0aSSATIfFDVBDdNCHEfcDxwMX56JSmwJTrzMlSY1u2b2N7bAxTfS3M/sAlhe/LUFdiqx+ER78Un9nHojDQCQedDWP2VzUeeluV8bx3n7E3zlOozGRlA7sjNewKV7P/jOnUNo6H6tHK2+nlm9S77Hi1JaQik1QguULbEvKC57QcAEKIMcCxKEXsy1LKXLlM5ASdlmNksnFPF2f9eilHTG/kj9tPK3wqEDO+YSiJ9LJKBSKU7j9QaeyrlOHbNDobtZ33RKo4Y/PHGevv5dEZD1HpM7LIOqT4GGSoAXHFSAVirfGsA+IyIldpOQBORFVTlKjgur8MsW8azZAYiMT46gOrCAV8/PJjh8OvitCJhmlq75bmwwupBERloxFcZ9kAkMq7KdyjopdMBoPkVHrxcb4Aj9du5PHug1i6E06p32WkIQ9B/VRVstSmqirLgDjrilgbsXNGJi6wvwX2B+43mr4ohDhFSvnlvPRMo/HA9f9ayxvb27nlU0fG4yEKZYS3z1aHou5IlQpkgs2YLaUlvUc4WYBEbW2RXibHOvl8YDOBSBSSk8g6M9Q6FYVyq7au4MrRlbvEyWQlcSJwiDT0U0KIu4E30j0khDgduAEVP3q7lPI623VhXD8T6AEullKutFz3A8uB7VLKszPor2aY8/LGvdz83AYuOHoapx8yqfAdyOVsNZNUIEKoIkT+AJmUdIlEfZy3ZRHHx5bz7cCfELgE5Vkph4C4oazgNGnJREi8iwqkM90WpgGrUz1gDPA3AR9ExVUsE0I8LqV823LbGcAcY1sI3GzsTb4KvIMqcqTRANDeE+brf1rFzDE1/ODsefELQzHCZ6PHztXM1ZytZ5skz0OCvUpflF9OeJrG5pe9CQhQ78oGUwWXDdnYduyrR23EzhleKtM9gbJBNADvCCFeNc4XAi+mefwYYL2UcqPxrgdQqTysQmIRcI+xQnlZCNEohJgkpdwphJgKnAVcA3w9s6+mGc5c/fibNHf28/CX3kNNheW/8VBm9sXWY2db9c0twV64VwXkhbthoAfC3ewfi+Bews5GuqSGqRjKzF6vDEoKLyuJnw/h/VMAa7TTNhJXCW73TAF2AtcD3wbq3D5ACHEpKk0I06dPH0JXNQUhB14nf39zJ4+t2sGVpxzAYdMac9Mvk1QrA/ts3c5QZs/pkDIx7bg1O+y+jckeSjIGHcaflfBDsBqqx0CwBtm+FeHkNmvWtiiFdN+Z2JWcVg3l6tZdgngREs/LNH6yQgjhco/TnMV+n+M9QoizgWYp5QohxEluny2lvBW4FZQLbKp+akqAIc7W93b18/2/vMmhUxq4/P375bBjaXCarZvt5kDqNPs1g94Ga0s41JNwqj3hlCI8GyYvUKsJS3IE4QvA3rWJ9wkfjN6vfDyZ0qE9m3KGFyHxrBDiYeAxKeUWs1EIEUK5w16EKj70e4dnt6FsFyZTScxNmeqejwAfEkKcibLO1Qsh/iCl/JSHPmtKmSz1+FLC/+w4jc6emfxi3N0E77k2xx1LQVuTczxB6wZV6zqVEPBCQm4ns25DyFatLmC7blSsa34z2YUV1Gog6GDYrh0Pe9fSXTWJqp5d9FRNpPbM/8t/KnSvZGpP0KuGvOJFSJwOfBa4XwgxG9iHGrT9wD+AX0kpV7k8uwyYI4SYBWwHLgAutN3zOLDYsFcsBNqllDuB7xobxkrim1pAlAl5CmR6vHN//ta1H98Z+xIHVDhECucCu0qpYaoamN28fGRURUNbC/QEKl1Kkrq0Cb/3GtdONM509owK1aR8rPrb7/D5u5ezdH0LT016LwVcl+UWvWrIK2mFhJSyD/gt8FshRBAYC/RKKds8PBsRQiwGnkYJlTullG8JIS4zrt8CPIVyf12PcoEtQk4FTU5Jp1LKIo6huaOPq3/1PEdMr+HSy34Evjzklrz/k7DhmbhAiPbHq8AJn/NKomFa4dNPOOFUJOmRL7j/1ksaEEJw7XmHcur1z/P1B1/n4cuOI+DPYUnTbNErg5IibVoOIUQlcBkqkG41aqBPl4C5KIyotBylnHZgSYN7aoympTDmgIxcPaWEz28/k6U9U3lq5oPsF2pLvmGwvrSTTt9aY9pF52+qi5zwBdVsfd+G5Nl6ZSOMn+f8XLFJlRrDksLir6t3sPiPr/HNUw9g8QcKmBhRUzIMNS3H3ag6V/9FzfgPRsUuaIpJsd01s6VqtLO7ZnQAqhodB/F3exs4qf/ffLemif3aWhyMvVE8peYWPpu6JwDBUFzP32k3lxnEwlA3QamE7MLNbgAuFyyz9bPnT+bpt3ZzwzPreP/c8Rw8WccYaOJ4ERLzpJSHAggh7gBezW+XNJ4pxxQEA93O7pptm6HN+ZG5wNwAqoBQ1KcG6EAIQtXuxlwnY286vX/PXvfUGOAcx7B3benW4khlALZNMP7vQwfz8sa9fOPB13ls8fFUBNwKbGtGGl4UkIMO1aWqZtKUEanSPASqVNI5keK/pYxBpBf62lXJzcGt2XZu2XrM/V7oa4OBLhVoFg0nCqzKUc6f6dY+jBhVE+In5x/Kml2d/PqZdcXujqaE8LKSOEwIYZYsEUCVcS4AKaXU6TKKRTnOYFMlsptyVPxcSv7ctj/XNx/JVWP+yzm17zrYFRxiC6IDEOkEhJEt1aMaSvjd6zL07IHO2nhmVX8gfgy5XdF5SK+RLz4wdwIfPWoqN/9nAx+cN5HDhxqoWMp2M41nvHg36XWnJnd4TGS3NVzPD/d8gCOrd3H2mF0gMtCTm/UdIB7I5sWY3bXL+X0yGk+b7cTWVyypuW1CxJKyO+mafcXkll4DCiYofnDOPF5Y38I3HlzFk1e8l8rgEP78y9Vupkkg03oSmlKh1N0EU61ynNw1LYFcsZjkm7e9jD/UwU+uuAjReFlmn21dyQifUmF5Get697msckIw8TBbSu4wRCPQuxeCNYntkV4jhXeaQDpb3QcGOl3sNR7TdTulDclwlVMP/LRuKp/a9iF+8cvr+P74dOnZ8oRehZQMWkiUK+X8BzT/Yymje+9+aTOvbGrlp+fPZ0pjVeH65eStJHzK/TVQATjla5rq/j4pk2s9pKr74BSHAWrQ375CRU8HKo0KdEZFukCF6qOXtCEeOaFmG59qfJPb9x3GB2s3cUz1zoyezwl6FVIyaCGhyT1DWOVsaunmJ39fw/sPHMdHF6QYgNORrb1mSUPcbjJUm4AQ4A+qzQtuJUyFX3lyhfugryM5niNQCZF+HO0vWRYN+u64F3m+exrf2vUB/jbzT1T7svRZKUcPPE0CJRBeqRl2ZDkDjMYk3/zz61QE/Fx3/nyEk8vqswXI1zT1aGXTmHp0bm0BXc1KEDQtVfuu5sTrjTMcPLsE1E6AqlFQM1YdVzQk3hfpw9VAn2XRoBpfhJ9N/DdbwvVct+e45BvampLbNMMSvZLQlAx3LN3IiqZ9XP/xw5lQ71JxzYsaYqj2mnx4ja1+EJ64IjHlR9smFa1dN94QGNJw7TWOQe2tQX6hOqgdB+MPisdt1IyHV25WNhU7DdOy/j4LgUueeJs7XxCc9pHPc/z+Y+MXlzSkT0cyFLuCLhpUMmghoSkJ1u3u5Of/WMup8yaw6PDJqW/2osIYipojHyoSJ1VSNAzvPOrteWEEESKhuwW698KeNYb7roCIk/uugP5u+NWh6h4hAON+4VPXzeOEa/Hj78gAa4Jn87Pfb+GwaU9QG4iqokCgbC6pAhRL0aaQxmmirCiQcV8LCU3RiURjfPPPr1MT8nPNuYc6q5kKRb4KB6VS+zTONAzOZg4qmXgsJeBwHIsB4XjuKuG32Ssk9LWqLUsqgD/6l6kTu/36fxsNz7GQYXsJKS8t83iwPZh4jz9o3Bey3RuIH886EV680eP7QoZ7cSj5c6z3vPUXtZoL96r+t29V51CegqJAxn0tJDRF53fPb+T1be385sIjGFfnoaayqT4pJzfJXx0Sn4HbkdH8zmhjUbVqiQ4YHlWW4+iAsUUsx0Z7LDx4/LfXt/Di2p185pjJzHnt/6n3NkxTAqqvTRnPpTSCGfvVd5JRJcjM/Foyagg+j/W1Nz2Xn9/DSrgXHlsMK+7O/2eVKVpIaIrKml0dXP+vtZw1fxJnz0+jZrJTTm6SJ1+dOIu14nVGa0aUJw3wGRxH+hMFhsfnTosNMK2yhYFVFrVW9x5DMPQr47l1FZQvBtVkyaqxuNrMRYXWvcf5nVka90cKWkho3MnzTD0cjfGNB1+noSrIjxYd4u0hu1HazX5Q6PQW9hrUg1XqLOlDAlUQGXBOSR7uhUcuhcevSFY9med5I92g68MnBDP9FSwfmKwCE4NVEKpVz3Y3w4LPOaiFcnkcVAkbh4Lbam4Ixv2iUiDjvhYSGnfyPFO/6dn1vLWjg1s+dRSja0LeHvLSH6/pLRLqULjUlbanJE84tqT18KpCSZW8EKmqydlnwZ07DFtJisE8lRHaPvtOMFCb+/TUAitbjuak7tf5R935nFq3WV3oboYzf+rt+xcTp9VcsEq1a1zRQkKTmjwFQ73ZN5bfNJ3Ph+s2cPqy36pCt060NSXldUqLUz1qGYO966BjW6IA8DpDH0w57o+n0QhUJteltt7T16HyQcXCajbcMEPVpXALmvNXwLi5ye2dO4pf/c5YVS6OxLjv57v4VceHWfC5E5VwLxd3VVOVN1y8mwqUmkcLCU3B6Y/5+ObOkxnt72PJhP+mvrl9a+ZCwlXHLCHck+ZhoVJdBCqNuhUVce+ZpC1FbequZujcblnNDKjKdkJ4TnJYUhirylDAx1EX/5T2G5fyg8fe5KYLjyx2zzIjTUqYsqJA9jgtJDSpyYOu9tdPr2HNug3cefECGuem+YNNNUt1c1d1S0fuC8LYAyxZYFNsA10Qa0v/ZQZXEZYMsCIAPS3Oq5l9m9RqoW5K4iqjboqKqo5FEtVHJiWU3mLuxHq+dsoB/OzpdznjkB2cXerJJjVDQgsJTUF5bcs+bv7PBj561FQ+MHfC0F7mNvN2m6mPmqUGYq+YNot0AmVwiyp9d6p62bEw7H4jsS06oKKv2zbZbjbtCcC2V202BZtxWfhINDhbjvs61Pe2t6d7LsHmkcgX3zebf7y9mx88+iYLr/w647z/qpmhg9+KjhYSGndyPEPs7o9w5Z9WMamhih+cM8/7g9msZoo9uLh50tSMh/Nvt7ij9iuPp4R9v+X6AGx5CSYc7HCfy/0Je2NF1d8+9O/0v6MMT6MKAoEQD4kg26MxBn5diRzbgLCq5xz3RtnZhH2K+zYvhReuN5IXooPfioQWEhr3GU6O/0P/+Ml3aGrt4f4vHEt9pcfMqOlwEwbF1j27edKcdg3MPtH5mVQzTSkNNVk4McV40rFxHo3E773nQzD2QMNgbwtuM4PdBttilsA347pp3JcxFQ8R6YN+CAIzBarAcaGyievgt4KjhYSmIDOcf729m/tf3cIXT5zNsbPHeH8w1WrGTJpnT7MQi8C8Rcag6Taw2gbTpGPb3iwylHBsv8f67ihMOBR2vaGKEAUqlbpr5T2w/C5Lnyz9a90Ar92b+A5rX4dCy7tZPGRxtUUa5VoTXWclgg3h0XTFQhxU2UqFL6buFzCorhp0zxVJzzu74xr71g3O3dLBbwVFSJnPIJ3CsmDBArl8+fJid6M0STVLXdIQL/eZB/ZEqjh988cZH+jh0ekPGQNJBrgFxm17ValViorb4GcfGA1jdLRfBdU5DYw9LXD4p4wSp8F4ANngsWkctx9bS6MGk++5+2z4/L/VuwbzJlkq4jl+jvfAtaa93Zx+/X85etZo7r7k6Nzl3koV/FZsl+BsWNIAS3Kg9ssDQogVUsoFTtf0SmKkUCR9qJRw1a730xkLcf+kx7ITEPbAuL3rYN9miKUQEI0zXQZtX3Kb40zXyyzYeyDaIE1LYeox7tc+fFNm7/PK1KPy815gxpgavnfmXH7w2Fv8/sXNXHL8rNy8WAe/lQRaSIwkiuBGeX/7PJ7pnsnV45dyQMW+zIPjnALjkKkFhD8EdROVe2ouM8rmKtWHmyE+X0Fpbiq7HHrbfOrYGTy3dg/XPrWGY2eP4aBJ9UN/qQ5+Kwm0kNDkjU0DDfyo+XjeW72VixtXq8ZMg+Oy0T9HB2Dry+rYLQjOsd123er66TXVRyniJghyuLoUQvDTjxzG6dc/z1fuf40nFp9AVWiIuZag+A4IuaQMPZtAC4mRhdsMNg/+2wORGF+75UVClT387KsX42u4TF3IdLbsFhjnr4ApC6BzF3RsVYLBF4TqsSr/kTV2wTyWERjoV/tohLQpOYQvLjicIrVlDPZtVO8x03EIX2J6DuG3xDcYuK3oGqblZ7VXoGSHo2tC/PJjh/PpO1/hx0++zTXnHprzzyjXWINyRgsJTV7+6H729Bpe39bOLZ86kokNLqVIvZAqhYUQUD9JbdkgY0pYmEIjaR+Nn7ul84hFlI0kHabQANj5WqIQGRQmfqVW8fni5/Z7TEFkFzxupFoB5YET5ozl0vfN5nfPbeS9c8Zx+iETc/sBZRprUM5oITFSKKA+9N9rdnPbfzfxmeNmcPohDgN4psFxxQ6MA/cVkD8EE+fb4g4iycV2zH1/p3omFjPcW/sSr2eCoxDxJZ537XZPDwJw28mJwicHfEP6eLHiPK764wscNvNPTAp25+S9muKghcRIoUCzr13tfXzjwdc5aFI93zvzoNy8tFT00sLnsKKZqWIgcsFg6vJYsnCxB8A5thtFiUwBFQ3jqlKLGcWDtltdxoXLysUUPoFkIeRLvjfk83PjxL9x5pZPcOXOU7hv2uP4RYau9oWuB5JPylxFpoWEJmdEY5KvPvAa/ZEYv7nwCCqDDobLMvXwAODc3xV/RZMJSxqUncMp1qB6LMw8AfY/BQa6YaBT7fu7Up/3dnlyJpgJvFXxD7pjFfTuqqW2tgEqalWholBNfF9Rl3y+cxUsuzP+OdF+ZXc68VvKTbjcKHMVmRYSmpzx62fW8cqmVn7x0cPYb1yt8035+GMp1EwtHyuafKvSAlXOK6Cq0dDdAq8/oNrMsqPmSsa6+QJQ0QChOqiJWaLEzahzI2LctNsY0eECSa3og4E+aG0Z2vcw03FASWXEHQloIaHJCS9t2MuN/17HeUdO4fyjphb2wwsxU8vHCsgprcjjVyi7xQGnqcR2Zq6kwWOXfdjhPoCeveCvVKlBkKgAQD+0N0Hb5kRhkAuEEbltGNdjwsfagbF0ywoOqdpLhU9aDO/27LPGZtpL7ET73dPDa/JG3oWEEOJ04AZUZdzbpZTX2a4L4/qZQA9wsZRypRBiGnAPMBGIAbdKKW/Id3/LihLRde5q7+Mr969k5tga77Wqcz2DztXsMtWMes1Tzu09LVDZ6Hwt1RbpS/78SC88+XXIqoyHPQW48T6fT6lx3AZlx812Hx7u2fIC/LA1oUc+INDcxad/s5R5jfXcf+mxBP1pDOTDMR1HGZNXISGE8AM3AR8EtgHLhBCPSynfttx2BjDH2BYCNxv7CPANQ2DUASuEEP+0PTuyKQFd50AkxuX3raBnIMr9XziWmgoP/6XcEvNBXFBIaZtJW2fLtnNQ8RKZDtJuWzb0tRkHaQZhyyzbUUiYjN7f+wDu5hLbtBQmF79y3P7ja7nu/Plccf9r/PTva/j+WWnSxOt0HCVFvlcSxwDrpZQbAYQQDwCLAOtAvwi4R6pMgy8LIRqFEJOklDsxEhBLKTuFEO8AU2zPaoqsn71m9wmsbJvPTZOfZs5TN3p7yKnGc7gXHvkCPPqlzGpPmyT5/rsMpD5jVuwLWo69zKxTbNuXwXe3Ky+ntx7xvkJKNWO+YkVm39+Joa40M30+xYz5Q4dNZsXmVm777yaOmjHK2TXaRKfjKCnyLSSmANa/gm2oVUK6e6ZgyVAvhJgJHAG8Yv8AIcSlwKUA06dPz0WfNR75S/sB3N02ny+MWsVZdS5pnZ1I5R0jfKhFpCBjQWHiCyTGDAif5dzS5vPbzp3ut527JfWrqPW2QrKS7xnzUFeZOV6pfu+sg1i1rZ1v/Xk1B0yoY7abcwOUjttzLigBlfBQyLeQcAoJtf/lp7xHCFELPAx8TUrZkXSjlLcCt4JKFZ59V8uUPNSg9jKDfHtHB9+9+QUWzmrkO5//LqTTM1tJp3Ne0gAzjrfEDJiFccwANet5DLr3GDYBI1itv8NIxeFTs3vhNzxwrM/HMg9eM7ELEIBrpys3Ubu6Kl2RnPppifEA9dPUvSvuzjwZYrFJM2OuCPj57SeP5Jwbl/L5e5bz6JePz13xKU3eyLeQ2AZY3RGmAju83iOECKIExH1Sykfy2E+NlTQzyJaufi69dzkNVUF+c+GRBDIREOB9Bj2oIkrzvlqjVnZXM3Rsjw/UpnF49NTkQCwzcC1qKwVqLf8Z7TcC0mzIKESjqJJsBqnKg6ZaOdWOdw8SyzQZYrHxMGOe0ljFzZ88kk/e/gpX3P8ad1x0NH5fDjP1anJOvoXEMmCOEGIWsB24ALjQds/jwGLDXrEQaJdS7jS8nu4A3pFS/jLP/SxP8qnrdLF19Md8XLZtEXv6xvHn6X9h3EO/yu79qWbQ2eKUVlzGlL2iZ4+l+pyxpVNn+QIqzsCaIdYfIClrbM9eqJ8CzW85F0HyV2T/nfKxUvRKnrxyFs4ew/8uOpjv/+VNfvr3NXw3V5H5mryQVyEhpYwIIRYDT6NcYO+UUr4lhLjMuH4L8BTK/XU9ygX2EuPx44FPA28IIVYZbd+TUj6Vzz6XFdnoOodgzJQSvrf7JJb3TuI3k55mfuWerN4DpJ5Bu+GUqqF6jFIv9bW7z9jNFYMvoKJ63VKEWwVAJrUoqo1yrI0z3ZMR2ik3VVKO+eTCGazZ2cnvnt/IgRPrOO/IAsfWaDyT9zgJY1B/ytZ2i+VYAl92eG4pzvYKzVDwaox0mMHe+twGHl67hq+dMoezT8mjV5WTIDONwtZUDa3rYe96wIgK9oecZ/KF9K/3Gv+xpCF9n4rtX59nr5yrz5nHuuZOrnrkDWaMqeGoGaPy+nma7NA1rkca6epZtzUpXbjtnn92zeTS7WdwVt16bpz0z5wWfPOEk9usyZgD1Gy+dRN070q8Jnwq5qDUksM1LU1d7/jZa5VAL9GayLmitXuAc3/7Ah29YR65/Hhmja0pdpdGJKlqXOcmN7Bm+NC+NSn1wWu94/nKjg9yaOUefj7x34UXEJDa+Lt3LexYCd27k69VZ6HWKgWeu67s/eu9MLomxN2XHIMQgovvepWWriwqEWryis7dNBJJZQxd0pCgK98w0Mhnt5/FhEAPd0x5kkqfi9tovnXsbhXqfEGom2S41Dqsinv2QHeD8p4KVMUL/1gpVlrqdIGQBbY5FYuZY2u446IFfOK2l/nc3cu5/wsLqQ7poalU0CsJjSu7I9V8ZuvZ+JHcM/UJxgV63W92invIJY0z4jEJJsIHo2ZB43RcPZVkFFreVemnt76k1Fa734TWDdC5A1o3K9uG3dbR1ZzHL5NHnrsu/T0lyBHTR/HrC47gjW1tXHH/KqKx4aMGL3e0uB5peFFhXPIk7b1hLvrdS7T5evjTF49jxpSPpn4m30ZWc2bvNuNPVQt7/DwVkxHuUQnvwr0q15OrYImpz8nnasJLNtMRlhL71IMnsuRDB3P1Y2/x3UdWc9158/HpGIqio4XESMODKqJ3IMoX7lnOhj1d3HXxMRwypUSyWKZym60clWy0BlXMJiHdtrGli5HwUFhnSIxg99dUfOa4mbR0DfDrZ9ZRHQrww3PmIYpiBNOYaCGhSeIL193G8p4p3DDpX5yw9CYoh2Jgffuc23v3qs2KP6SESqhGqZycMr8OJQAuV6QLpHNyty3Hym2QYEu58pQ59PRHuH3pJqpCfr592oFaUBQRLSQ0g/RHolQAL/RM5WcT/8059fbMqiVMJjP/6IDa3ASL+b6tLztkfbUmA7S1WTPN2tuSkgxan81iAEyVTLAcscTvCCH4/lkH0RuOcvN/NlAd9POVk+cUuYMjFy0kNICqC7H4j69xG3DtefP5yDFnZ/aCYnvVuCYNnAqXvWDUnzDsEaZdItwH950PNROht0Wl6hB+qDS8oQaTC9oSCjomC4yRddZaa1pzU8AAXDvNXcB07kpOUBjuVfcNA1uGEIIfLTqE3nCUX/xzLaGAjy+euF+xuzUi0UJCQ184yuX3reTfa5qhEi44JouU66kERCEEiGvSwB9CVWPqZ8fuD+zvfC0T91gpbcIkFq//bK5eomGIDVjawqhKeFFD6Fje15+U9Dg9qTLbllkqEJ9P8NPz5zMQiXHt39bQF45xxcn7a9VTgdFCYoTT3R/h83cv5+VNe7nm3EOgJw8BXIWooDeUQjVOuv9YDFbeDX+/KtE9tm0zTDkSxuyvBnEzNXl/p20z2rykIw/WqPKilfVqX1EHHTth6tHJ7RX1anv0S9Dt4KbbMM3dluElFUixcPGOC/h93HDBEVQE/PzqX2vpDUf5zunaRlFItJAY7qSYxbf3hLn496+yels7v/zYYZx7xFQgT4N5NiqQbILcGmfEZ8vLfw/L7kjM/GrfAH66n3EetlxzGdyjA7D6AXU8qAbyG4kB/cZ5QK1iQnXGNT/07oO6ifHrPj8Ic28b8KIRqBkH+za7f8/KRlVb255MMFA1LNRNVvw+wc8+Mp+qkI9bnttAXzjK1WfP0+6xBUILieGOyyx+Z3svl9y1jA17urjpwiM5/ZCJRehcCrqaEzOqRvth7zoY6FFV4NwGfSch4IphCxjoVhlg/SEIVsczwaYKEJz+nuTgvlS0blDxGrkiXdxIuZEmfsfnUzaKqqCf2/67iT1d/fzio4dRGXSIoNfkFC0kRgK2meXbfWO4ZPtZdMdC3Dn577x32U2q8kcxcNOTO9WGQELnNuhM91IBgQoVIxGoUANowNh8QUs6cF9qz6KuZvcAPeHLfKVTzNoQkDrgsdiOBx4+WwjB9848iPF1lVzz1Dvs6ezntk8voKFaV7fLJ1pIjDCe757G5TtOo9Y3wJ+n/YWDKvemfyifuFVfS+XSWtmg1EEx09gbsQkUGQ+gszOoHrKoe+zH5nnVKOjaTYLXkvBBw3TnlU6r4TJcjrP5QtiNcoAQgi+8bzYTGir55oOvc/4tL3LXxUczbXR1sbs2bNFCYiRwyZNIKbn7xc386Ml3mDO+lrsuOZpJDR9PvjcfM8pU73Sb3aZKszHh0OR2KaFrlxI60QG1YqgZb6imoiAjccFiP48OxO0Q6QzNMgat69yvpUrnkYmtIB+eSA3Tho294kOHTWZcbQVfvHc5i256gZsuPJLj9htT7G4NS3SCvxFAXzjKN/78OkueeJv3HzieP192HJMaqpxvzkeCuGyEjltCP7eBs3sP7NsULzoUC0PXTiU86iZC7SRVC7tmPNSMhaoxaqVQ2aC8hkJ1KgI7UEXaWlcihR48V+k88pEwsYzcX71w3H5jeGzxCYyuCfGpO17h9y9sYjjVxykV9EpimNOx8Bt88paXeGN7O1eecgBf+cD+6b1CSmG2malh1q2+9d61ySVFXREQCCmh4a9Qx/5Q3KbhD4E/qISVWxEkt3QeXhL62SmUDWP1g0YRpMbMXIdLgFlja/jL5e/hyj+pSdCk167nvZf+QqcazyH6lxzGPPXGTq56ZSFSdnPHRQs4+aAJxe5SZmRSBzvVDN6TgABlyzATALpheES5zlh9KhX5YKS0JZp636b48/Zr5jG++Apq+4pEARWoNASXaYTPgWePmd7D/P7W9B5lIijqKoPc+umjuOGZdZz2woWcfOO5/ObCIzloUn2xuzYs0OVLhyE9AxF+9Ne3uf/VrRw2rZEbLziC6WM8GvaWNBS2ZGaubCCuaTmmwdfeUDaHSB9EBpRAifQr1ZS9LdJvHLu0RfqM5/phzxrY8ZpKQQ5KVeUPGhHX0hBOlmOzPev0HQ5Y80B5FUDWa507ne0w/goVzFduNC3l6ODDtPeG+cFZB/GpY2fowDsPpCpfqlcSw4wVTfv41kOvs6mlm8tP2o8rP3gAQX8Jm55yZSR3TctxtRoU/UG1mdqgXBvolzTAlKO83TsoNCRKiMQSBYuMwe43YNw8koWMcd7fAX3t8QE+WK1WF+a9sagh0LK0keQ7VbqVHBvp//bV9/KNB1/nB4+9xT/faea68w5lcqOLDU6TFi0khgk9AxF+9vS7/P7FzUxuqOK+zy3kPfuPzfxF5VpXOdO0HPlw+cylDSGVEDNVRKaAkDG1mhk1G4SE9u3Q35r8XNUoqJ8KDVOgfgrUT4aXboJeh3tTpffINblMF7KkgbG1Fdx18dHc+3IT1/1tDaf+6nn+56yD+PjR0/SqIgu0umkY8Oy7zVz92Jtsbe3lM8fN4Nunz6W2Qsv/lCxpgBkn5O59TUtz+75UuBnNrfj8EKq35HuqVQGEdrqaVSR7ggpMwJg5hYv3aFqaOxWnTV26ZW8P33l4NS9t3Mtxs8fwf4sOZs6Eutx81jBCq5uGKZtbuvnRX9/mmTXNzB5bw58uPZaFs7Wv+LAnlYAIVit7SSyq6mVYa2YMempZjN/hPpJtJMNn4jh9TDX3fX4h9y/bwk///i5n3PBfLjl+JlecPIe6Sh2p7QUtJMqQtp4Bbn5uA3ct3UzQL/juGXO55PhZhAIlbHsoRXKpTsm0xvdQ9PCpAg0nH6mOYxGLcb4/0Vg/0APRfam9vvZtNFKb1CSvQLJJvJiOPLpd+3yCTy6cwRmHTOJnT6/h9qWbeHTVDq44eQ4X9tyH/wPfy9tnDwe0kCgjuvoj3LV0E7c+v5GugQjnHjGFq06fy/j6ymJ3TZMpbulIvNA4Izn2wx5o6AtAKADUOL9DSrXa2Pay8/VYRBnPQQmLYI0SGLGoimwvw3Qko2tCXHvefC44ejo/fvJtfvDom3y68ic8Nvoizpk/WWeVdUELiTJgX/cAf3i5ibte3Exr9wCnzpvA1089gLkT64ufmG0oONVoLpRvfj4M9JmsTNxWHqaN0Kx0Z7rMShn3hgrVQN1UFVEeC8dTkPgC0LPX4n5rfT6W+C6zTfhdUpEI5RUmY3E3YCcDt9nXVOlI0pFNoGEq0qxKDgMeDMF/pkyHvfDVB1Zx47/Xc+n7ZvPhw6foFbkNbbguYba29nD7fzfy4PJt9IajnHTgOL52ygEcPq0xflOh4xpyhb1GMyiX1XN+nZ2gMGfGZiW4WCRe/S0WNmpK2K7FzOpwbtfM8wGHa9ZnwvDaH+Dg89J8luX+1o3KRjDoBmsZvAuGOXN2+ExfUPVPGMLCjMHoa3N/XaEM96nI1IGgaSmPn/sON/9nA+/s7GBifSWfO2EWFxwzbUTZLFIZrrWQKDEi0RjPvruHPy3bwr/XNOP3CT502BQufd9sDpzo4JWRay+dQuHqoeODyrrEQdM6K06YWdtmywVDxIPSzBl3dEBVq/MFVW0KnxGXYe4Hj41rbz4ER3za5R4jnbn9GTMtiP3a5qWw8l6Vv6p2PBz7JZh7jq0fAdv7LdHamazoUgUt5sKNdagr40yfNyZZUkqeX9fCLf/ZwEsb91Id8rPo8Ml84pjpHDqlYdi7zmrvpjJgfXMnj6zczkMrttHc2c+4ugouO3E/PnPcTCY2DEObg6uHTgz6OiiKh40/FE8lLnyWSnPG3hrdbI9oblkLp/7YSJ9h1LDwBy0pNSpIyAf15kOw6DdD7/PqB+Hl38ZXZF274bmfqDgIryuy+R/zfm+qoMVcMNT4lSyfFUJw4gHjOPGAcaze1sZ9L2/h0dd2cP+rWzl4cj0fWzCNMw6dyPi6Yfi3mAa9kigi65s7eXL1Lp58Ywdrd3fhE/D+A8fz8aOn8f65471FSperuindjNRM4W165FiPU7Vler95vPFZlQl2cHVii4IeXNHkEmERNgLHtBnWVUtSig2hhEKh02rkw7vJJJcxE15IsfLo6Avz2Kod3P/KFt7e2YFPwMJZYzhr/iROP2QiY2tdkjmWIVrdVCJ090d4eeNenl+7h+fXtbCppRsh4OgZozlr/iTOOGRi5p5K5SokvNokCmWY96K2s6u6rGk1dqyEiYcltve2QXezskv4jCJGoVpnARSNqEHXzBGVi5VULtWQ+ahv4UShhYRH1u3u5InVO/nr6h1s3KP+budPbeSkA8bx/rnjmT+loay9o7SQKBLtvWFWbW1jZdM+Xt3UyvKmVsJRSVXQz7GzR3PSgeM5/ZCJTBiKC+tw924qlBAc6uc8ey2cdJXKlzTQDav/BM/8b2JGWV8QZp8E1WOgpwW6W5Q3UncLRHqd3xuohJpx6pmasVA9Vu3N438tUe+ykysbgUm5/DvkGSklb+/s4F9vN/Oftc2s2tqGlNBYHWTBjFEcPXM0R88azSGTG8rKS0oLiQLQ3hNmza4O1uzq5J2dHazcso91zV1ICT4BcyfW8945Y3nfAeNYMHMUFYEiFHAvR4FizvDzoeKQ0ih/GoXty9RKwKxOZ7YP7mO2kqkuey8Iv1o1ORqsbXsvdbidYiZG75/buIVCzfBLXEjYae0e4L/r9rB0XQvLm/axqaUbgMqgj0OnNHDw5AbmTapn3uR6DphQV7KCQxuuc8RAJMa2fT1saVVb094eNuzp4t1dnexsj9dTbqwOctjURs6eP5mjZozisGmNpZFLqUzqGCfhVE967zqV1M6sd51q4E7axwxBYLMx7HrdvQ/Cl2jE9vnVQB6oNM59Rp1sw+DdutH9XTIKkw4f8s8CZF6cqdQpswSTo2tCLDp8CosOnwJAc2cfyzcrzcEb29t5cPlWegbU5CHoF8wcU8OssTXMGlfD7LE1zBpby8yx1YytqShZdVXeVxJCiNOBGwA/cLuU8jrbdWFcPxPoAS6WUq708qydoawkpJSs2dXJ7o4+mjv7aTb25vnu9j52dfQRs/xclUEfs8bWMndiHQdOrGPuxDrmTqxnQn1FabrMlYq7bCb67aal7mkoPCMsHkchY4D3Jw/6SXuLh5P57+l1RZOqcl20vzRmy5msLMtshl8qRGOSpr3dvLWjg7d2dLBxTxcbW7pp2ttNOBofTIJ+wYT6SiY3VDGxoZJJjZVMrK9kXF0FY2srOHhyfV7jNoq2khBC+IGbgA8C24BlQojHpZRvW247A5hjbAuBm4GFHp/NKYtueoGBSHx2WV8ZYEJ9JePrK1g4ewzTRlUxfUwNM8ZUM2N0NePqSlQYlDqZpqRIJSAqGpRhOBYBGVGrhSSkUVzIWO35/Mas37r5becObb37VE4jLykpUqXO2LvW+3fPJ+W6siwj/D7B7HG1zB5XyzmHTR5sj8Yk2/f1srGliy2tPexo62NXey872/tYtbWNv7/Zx0A0/n/nwS8exzGzRhfjK+Rd3XQMsF5KuRFACPEAsAiwDvSLgHukWtK8LIRoFEJMAmZ6eDZnCCG45VNHUl8ZZIIhwSuDRbAb5JtC1QhIRSbJ8Bqmqdm726x84qGJbYN2hohtS9EW6Y2fe7UrDH6eS0qKVGqgvWtLo454JpSZGqjU8fsE08dUu1aMlFLS2j1AS9cALV39zJ1UvPTm+RYSUwCrM/w21Goh3T1TPD6LEOJS4FLjtEsI8e4Q++yVsYCDW0npctQk31Er/lesyNPrPf8eR03yHbVi51Oe+zG2WoyeXi9mCMGg1U9KYls6Optaep5ySSiUe46a5HMpPdeFy/ex/SZ7Bt+TyffPF5n/fxhyttSy+5spAKXym7gu7fMtJJx0MXYjiNs9Xp5FSnkrcGvmXRsaQojlbjq8kYj+PZLRv0ki+vdIphx+k3wLiW2ANcXjVGCHx3tCHp7VaDQaTR7Jt9PuMmCOEGKWECIEXAA8brvnceAzQnEs0C6l3OnxWY1Go9HkkbyuJKSUESHEYuBplBvrnVLKt4QQlxnXbwGeQrm/rke5wF6S6tl89jdDCq7iKnH075GM/k0S0b9HMiX/mwyriGuNRqPR5JbSjBHXaDQaTUmghYRGo9FoXNFCIkOEEB8VQrwlhIgJIRbYrn1XCLFeCPGuEOK0YvWx0AghTje+83ohxIiMuhJC3CmEaBZCvGlpGy2E+KcQYp2xH1XMPhYSIcQ0IcSzQoh3jL+XrxrtI/I3EUJUCiFeFUK8bvwe/2u0l/zvoYVE5rwJnAc8b20UQsxDeWAdDJwO/NZILTKssaRPOQOYB3zC+C1GGr9H/btbuQp4Rko5B3jGOB8pRIBvSCkPAo4Fvmz8vxipv0k/8AEp5WHA4cDphjdnyf8eWkhkiJTyHSmlU1T3IuABKWW/lHITylvrmML2rigMpl6RUg4AZvqUEYWU8nnAHv29CLjbOL4b+HAh+1RMpJQ7zUSdUspO4B1UFoUR+ZtIRZdxGjQ2SRn8HlpI5A639CLDnZH6vb0wwYj5wdiXaf7uoSGEmAkcAbzCCP5NhBB+IcQqoBn4p5SyLH6PEihyUHoIIf4FTHS49H0p5WNujzm0jQT/4pH6vTUeEELUAg8DX5NSdozkrMlSyihwuBCiEfiLEOKQInfJE1pIOCClPCWLx7ykIBmOjNTv7YXdQohJUsqdRmbj5mJ3qJAIIYIoAXGflPIRo3lE/yYAUso2IcR/UDaskv89tLopdzwOXCCEqBBCzELVx3i1yH0qBDp9ijuPAxcZxxcBbqvQYYdRTOwO4B0p5S8tl0bkbyKEGGesIBBCVAGnAGsog99DR1xniBDiXOBGYBzQBqySUp5mXPs+8FmUZ8fXpJR/K1Y/C4kQ4kzgeuLpU64pbo8KjxDifuAkVOrn3cAPgUeBB4HpwBbgo1LKgqU2LyZCiBOA/wJvAGb1nO+h7BIj7jcRQsxHGab9qMn5g1LK/xNCjKHEfw8tJDQajUbjilY3aTQajcYVLSQ0Go1G44oWEhqNRqNxRQsJjUaj0biihYRGo9FoXNFCQqPRaDSuaCGh0VgQQsy0pvvO8h0nCSHek+aecUKIV4QQrwkh3iuEeEoI0Whslw/l8zWaXKKFhEaTe04CUgoJ4GRgjZTyCCnlf6WUZ0op24BGQAsJTcmghYRGk0xACHG3EGK1EOIhIUS1EOIoIcRzQogVQoinjTw7CCGuEEK8bdz7gJHx9DLgSiHEKiHEe+0vF0IcDvwUONO4p0oIsVkIMRa4DtjPaP+ZU+eEEJOEEM8b97zp9BkaTa7QEdcajQVjkN8EnCClfEEIcSeqFsK5wCIp5R4hxMeB06SUnxVC7ABmSSn7hRCNRvK2JUCXlPLnKT7nYmCBlHKxcb4ZWADUAn+VUrpmCBVCfAOolFJeYxR9qjZqNmg0OUdngdVoktkqpXzBOP4DKufQIcA/jVTXfmCncX01cJ8Q4lFUrqZCsAy408iy+qiUclWBPlczAtHqJo0mGfvyuhN4S0p5uLEdKqU81bh2Fqp861HACiFE3ideRhW89wHbgXuFEJ/J92dqRi5aSGg0yUwXQhxnHH8CeBkYZ7YJIYJCiIOFED5gmpTyWeDbKKNzLUqo1GX52WmfFULMAJqllLeh0nEfmeVnaTRp0UJCo0nmHeAiIcRqYDQqNfxHgJ8IIV4HVqG8l/zAH4QQbwCvAb8yPJSeAM51M1ynQkq5F3jBMEg7Gq5R3lOrhBCvAecDN2T4/TQaz2jDtUaj0Whc0SsJjUaj0biivZs0mjxiVCv8qK35z16q9wkhDgXutTX3SykX5qp/Gk06tLpJo9FoNK5odZNGo9FoXNFCQqPRaDSuaCGh0Wg0Gle0kNBoNBqNK/8fsUJzq86/K0YAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Generate 100 random values of n4, for a true signal of 10\n", "ntoys = 100\n", "s_true = 10\n", "toy_sigma4 = np.sqrt(10 + b4)\n", "toy_n4s = [ np.random.normal(b4 + s_true, toy_sigma4) for i in range(0, ntoys) ]\n", "\n", "# Plot the intervals\n", "s_range = np.arange(s_true - 3*toy_sigma4, s_true + 3*toy_sigma4,0.1)\n", "plt.plot(s_range, scipy.stats.norm.pdf(s_range, loc=s_true, scale=toy_sigma4))\n", "plt.ylim(0,0.1)\n", "plt.xlabel('best_fit_s')\n", "plt.ylabel('P(best_fit_s)')\n", "plt.errorbar(x = toy_n4s - b4, y = np.linspace(0, 0.10, ntoys), xerr=[ toy_sigma4 ] *ntoys, capsize=3, marker='o');\n", "\n", "# ==> Compute the best-fit s4 and the interval for each toy, then count the number of intervals that contain the true value s=10" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If all goes well, you should find that the fraction of intervals containing the true value is 68\\% as expected (you can increase the number of toys to get a better estimate, although the plot will look more cluttered...) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Parameter estimation using likelihood methods" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The above method is only applicable to single-bin measurements, so we need something better for our multi-bin case.\n", "\n", "To test some value $s$, we use the likelihood-based discriminant\n", "$$\n", "t(s) = -2 \\log \\frac{L(s)}{L(\\hat{s})}\n", "$$\n", "following the same principle as for discovery. Define it:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "def t_s(s_test) :\n", " pass # ==> Replace this with the definition, in terms of lambda_s and the s_hat computed in section 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now plot it:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "s_vals = np.arange(-10,20,1)\n", "# ==> Plot t_s(s) for the s values above" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Yoj should find a parabola, which is expected for a near-Gaussian case. A short computation shows that for a Gaussian likelihood $\\hat{s} \\sim G(s, \\sigma_s)$, one has\n", "$$\n", "t(s) = \\left(\\frac{s - \\hat{s}}{\\sigma_s}\\right)^2\n", "$$\n", "which explains the parabola.\n", "\n", "In this Gaussian case, the $\\pm 1\\sigma$ uncertainties are reached for $t(s)=1$. We will assume that this still holds true in not-so-Gaussian cases, so that we **define** the uncertainties using the crossings with $t(s)=1$:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD8CAYAAAB0IB+mAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAOnUlEQVR4nO3cX2zdZ33H8fcndpImbfqHxuVPmo4whT+5oBOYgqaxlaGNpLuIkLhoQVSrkKJqFHHZatLggptxMQkhClFURRU35GJUEKZCNWmCInXd6kqlbeiKvDASk6I4bWlp0iZx8t3F8WbHdupf7GM79fN+SZZyzvPY/ubRyTu/nPicVBWSpNVvzUoPIElaHgZfkhph8CWpEQZfkhph8CWpEQZfkhoxb/CT7E9yPMmzF1lPkm8mGU3ydJIP9X9MSdJidbnCfxDY+Sbru4Dtkx97gO8sfixJUr/NG/yqehR46U227Aa+Wz2PA9cmeWe/BpQk9cdgH77GFuDotNtjk/e9MHNjkj30/hXA4IZNH940tOWC9Ws2ruX6K9dxvuB/Tpyc9Y2uu3It121cx8T54siLp2atX3/VOq7ZsJaz585z9KXXZ61v3rSOq69Yy+mJ8/z25dnrN1y9nqvWD/L62XO88Ps3Zq2/45r1bFw3yKkzE/zuldOz1t957RVsWDvAa6cnOP7q7PUt121g/eAaXn3jLCf+cGbW+ta3bWDtwBpeef0sL742e/2m6zcyuCa8fOoML588O2v93ZuvZE3gxZNneOXU7PX3DF0JwPhrp/nD6xMXrK1J7/MBjv/hNK+9ceH6wJrwR9dvBOB3r77BqdPnLlhfOxC2vq23fuyV13njzPkL1tevXcOWazcA8Nvfv87psxeuX7FuDe+6prd+9KVTnD134SvAN64f4B1XXwHAb148xbnzF65fdcUgN2xaD/QeOzOW2bRhkKGreuuHx2c/tnzs+diDt8Zj7+Uj/3WiqoZmbeygH8HPHPfN+X4NVbUP2AcwPDxcIyMjffj2ktSOJL9Z6Of246d0xoCt027fCBzrw9eVJPVRP4J/ELhz8qd1Pga8UlWzns6RJK2seZ/SSfI94FZgc5Ix4KvAWoCq2gs8DNwGjAKngLuWalhJ0sLNG/yqumOe9QK+2LeJJElLwlfaSlIjDL4kNcLgS1IjDL4kNcLgS1IjDL4kNcLgS1IjDL4kNcLgS1IjDL4kNcLgS1IjDL4kNcLgS1IjDL4kNcLgS1IjDL4kNcLgS1IjDL4kNcLgS1IjDL4kNcLgS1IjDL4kNcLgS1IjDL4kNcLgS1IjDL4kNcLgS1IjDL4kNcLgS1IjDL4kNcLgS1IjDL4kNcLgS1IjDL4kNcLgS1IjOgU/yc4kzycZTXLfHOvXJPlRkl8kOZTkrv6PKklajHmDn2QAuB/YBewA7kiyY8a2LwK/rKqbgVuBf0qyrs+zSpIWocsV/i3AaFUdrqozwAFg94w9BWxKEuAq4CVgoq+TSpIWpUvwtwBHp90em7xvum8BHwCOAc8AX66q8zO/UJI9SUaSjIyPjy9wZEnSQnQJfua4r2bc/hTwFPAu4E+AbyW5etYnVe2rquGqGh4aGrrEUSVJi9El+GPA1mm3b6R3JT/dXcBD1TMK/Bp4f39GlCT1Q5fgPwFsT7Jt8j9ibwcOzthzBPgkQJK3A+8DDvdzUEnS4gzOt6GqJpLcAzwCDAD7q+pQkrsn1/cCXwMeTPIMvaeA7q2qE0s4tyTpEs0bfICqehh4eMZ9e6f9+hjw1/0dTZLUT77SVpIaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqRGdgp9kZ5Lnk4wmue8ie25N8lSSQ0l+1t8xJUmLNTjfhiQDwP3AXwFjwBNJDlbVL6ftuRb4NrCzqo4kuWGJ5pUkLVCXK/xbgNGqOlxVZ4ADwO4Zez4LPFRVRwCq6nh/x5QkLVaX4G8Bjk67PTZ533TvBa5L8tMkTya5c64vlGRPkpEkI+Pj4wubWJK0IF2Cnznuqxm3B4EPA38DfAr4hyTvnfVJVfuqariqhoeGhi55WEnSws37HD69K/qt027fCBybY8+JqjoJnEzyKHAz8Ku+TClJWrQuV/hPANuTbEuyDrgdODhjzw+BjycZTLIR+CjwXH9HlSQtxrxX+FU1keQe4BFgANhfVYeS3D25vreqnkvyE+Bp4DzwQFU9u5SDS5IuTapmPh2/PIaHh2tkZGRFvrckvVUlebKqhhfyub7SVpIaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5IaYfAlqREGX5Ia0Sn4SXYmeT7JaJL73mTfR5KcS/KZ/o0oSeqHeYOfZAC4H9gF7ADuSLLjIvu+DjzS7yElSYvX5Qr/FmC0qg5X1RngALB7jn1fAr4PHO/jfJKkPukS/C3A0Wm3xybv+39JtgCfBva+2RdKsifJSJKR8fHxS51VkrQIXYKfOe6rGbe/AdxbVefe7AtV1b6qGq6q4aGhoY4jSpL6YbDDnjFg67TbNwLHZuwZBg4kAdgM3JZkoqp+0I8hJUmL1yX4TwDbk2wDfgvcDnx2+oaq2vZ/v07yIPAvxl6SLi/zBr+qJpLcQ++nbwaA/VV1KMndk+tv+ry9JOny0OUKn6p6GHh4xn1zhr6q/nbxY0mS+s1X2kpSIwy+JDXC4EtSIwy+JDXC4EtSIwy+JDXC4EtSIwy+JDXC4EtSIwy+JDXC4EtSIwy+JDXC4EtSIwy+JDXC4EtSIwy+JDXC4EtSIwy+JDXC4EtSIwy+JDXC4EtSIwy+JDXC4EtSIwy+JDXC4EtSIwy+JDXC4EtSIwy+JDXC4EtSIwy+JDXC4EtSIwy+JDXC4EtSIwy+JDWiU/CT7EzyfJLRJPfNsf65JE9PfjyW5Ob+jypJWox5g59kALgf2AXsAO5IsmPGtl8Df1FVHwS+Buzr96CSpMXpcoV/CzBaVYer6gxwANg9fUNVPVZVL0/efBy4sb9jSpIWq0vwtwBHp90em7zvYr4A/HiuhSR7kowkGRkfH+8+pSRp0boEP3PcV3NuTD5BL/j3zrVeVfuqariqhoeGhrpPKUlatMEOe8aArdNu3wgcm7kpyQeBB4BdVfVif8aTJPVLlyv8J4DtSbYlWQfcDhycviHJTcBDwOer6lf9H1OStFjzXuFX1USSe4BHgAFgf1UdSnL35Ppe4CvA9cC3kwBMVNXw0o0tSbpUqZrz6fglNzw8XCMjIyvyvSXprSrJkwu9oPaVtpLUCIMvSY0w+JLUCIMvSY0w+JLUCIMvSY0w+JLUCIMvSY0w+JLUCIMvSY0w+JLUCIMvSY0w+JLUCIMvSY0w+JLUCIMvSY0w+JLUCIMvSY0w+JLUCIMvSY0w+JLUCIMvSY0w+JLUCIMvSY0w+JLUCIMvSY0w+JLUCIMvSY0w+JLUCIMvSY0w+JLUCIMvSY0w+JLUCIMvSY0w+JLUiE7BT7IzyfNJRpPcN8d6knxzcv3pJB/q/6iSpMWYN/hJBoD7gV3ADuCOJDtmbNsFbJ/82AN8p89zSpIWqcsV/i3AaFUdrqozwAFg94w9u4HvVs/jwLVJ3tnnWSVJizDYYc8W4Oi022PARzvs2QK8MH1Tkj30/gUAcDrJs5c07eq1GTix0kNcJjyLKZ7FFM9iyvsW+oldgp857qsF7KGq9gH7AJKMVNVwh++/6nkWUzyLKZ7FFM9iSpKRhX5ul6d0xoCt027fCBxbwB5J0grqEvwngO1JtiVZB9wOHJyx5yBw5+RP63wMeKWqXpj5hSRJK2fep3SqaiLJPcAjwACwv6oOJbl7cn0v8DBwGzAKnALu6vC99y146tXHs5jiWUzxLKZ4FlMWfBapmvVUuyRpFfKVtpLUCIMvSY1Y8uD7tgxTOpzF5ybP4OkkjyW5eSXmXA7zncW0fR9Jci7JZ5ZzvuXU5SyS3JrkqSSHkvxsuWdcLh3+jFyT5EdJfjF5Fl3+v/AtJ8n+JMcv9lqlBXezqpbsg95/8v438B5gHfALYMeMPbcBP6b3s/wfA/5jKWdaqY+OZ/GnwHWTv97V8llM2/dv9H4o4DMrPfcKPi6uBX4J3DR5+4aVnnsFz+Lvga9P/noIeAlYt9KzL8FZ/DnwIeDZi6wvqJtLfYXv2zJMmfcsquqxqnp58ubj9F7PsBp1eVwAfAn4PnB8OYdbZl3O4rPAQ1V1BKCqVut5dDmLAjYlCXAVveBPLO+YS6+qHqX3e7uYBXVzqYN/sbdcuNQ9q8Gl/j6/QO9v8NVo3rNIsgX4NLB3GedaCV0eF+8Frkvy0yRPJrlz2aZbXl3O4lvAB+i9sPMZ4MtVdX55xrusLKibXd5aYTH69rYMq0Dn32eST9AL/p8t6UQrp8tZfAO4t6rO9S7mVq0uZzEIfBj4JLAB+Pckj1fVr5Z6uGXW5Sw+BTwF/CXwx8C/Jvl5Vb26xLNdbhbUzaUOvm/LMKXT7zPJB4EHgF1V9eIyzbbcupzFMHBgMvabgduSTFTVD5ZlwuXT9c/Iiao6CZxM8ihwM7Dagt/lLO4C/rF6T2SPJvk18H7gP5dnxMvGgrq51E/p+LYMU+Y9iyQ3AQ8Bn1+FV2/TzXsWVbWtqt5dVe8G/hn4u1UYe+j2Z+SHwMeTDCbZSO/dap9b5jmXQ5ezOELvXzokeTu9d448vKxTXh4W1M0lvcKvpXtbhrecjmfxFeB64NuTV7YTtQrfIbDjWTShy1lU1XNJfgI8DZwHHqiqVffW4h0fF18DHkzyDL2nNe6tqlX3tslJvgfcCmxOMgZ8FVgLi+umb60gSY3wlbaS1AiDL0mNMPiS1AiDL0mNMPiS1AiDL0mNMPiS1Ij/BVwQZrQ2cO0rAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# ==> Plot t(s) again\n", "\n", "# Draw the t(s) = 1 line for illustration\n", "plt.axhline(1, linestyle='--');\n", "\n", "# ==> Now compute the s values for which t(s)=1, which will give the endpoints of the confidence intervals\n", "# You can use the function scipy.optimize.root_scalar(func, bracket=(lo, hi)).root\n", "# which returns the root of the function 'func' over the interval (lo, hi)\n", "# Note that lambda s : t_s(s) - 1 can be used to define an appropriate 'func' in our case" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This defines a type of confidence intervals called *likelihood intervals* which are not quite exact in the non-Gaussian case but are an excellent approximation to the exact ones. Non-Gaussian effects are accounted for in the expression of $t(s)$, which here uses a Poisson expression, so this is a better approximation than just assuming that everything is Gaussian. This type of technique is usually referred to as an *asymptotic approximation*, and we'll see a similar example below for the limits." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Limit-setting using simple tools\n", "\n", "Measuring the signal is useful when it is large, but when it is very small it can be more interesting to set an upper limit on it. This means computing the value of the signal yield that is large enough to be excluded with a given confidence level, typically 95%.\n", "\n", "\n", "This happens to be the case for our measurement, so we can apply the limit-setting here. To start with, we consider only the measurement in bin 4.\n", "\n", "This \"95%\" means that if we would repeat the experiment many times, the true signal would be below the limit 95% of the time. This is also represented in the picture below, with the shaded area corresponding to 5% of the integral." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sigma4 = np.sqrt(n4)\n", "ns = np.arange(35,85,0.1)\n", "plt.plot(ns, scipy.stats.norm.pdf(ns, loc=n4 + 1.64*sigma4, scale=sigma4))\n", "plt.ylim(0,0.1)\n", "plt.xlabel('n4')\n", "plt.ylabel('P(n4)')\n", "\n", "up = 1\n", "shaded_ns = np.arange(35, n4, 0.1)\n", "plt.fill_between(shaded_ns, scipy.stats.norm.pdf(shaded_ns, loc=n4 + 1.64*sigma4, scale=sigma4), alpha=0.5, color='g')\n", "plt.axvline(x=n4 + 1.64*sigma4, linestyle='--', color='k')\n", "plt.axvline(x=n4, linestyle='--', color='k')\n", "plt.text(n4 + 1.64*sigma4 + 2, 0.08, 's95 + b4')\n", "plt.text(n4 - 11, 0.08, 'observed n4');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now compute the limit in the single-bin case, using the values of $s_4$, $b_4$ $\\sigma_4$ and $n_4$ defined in the previous sections." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "# ==> Compute s95 (as a function of b4, sigma4 and n4) so that the figure above is correct -- i.e. the shaded area corresponds to 5% of the total" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Limit-setting in the general case" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's apply limit-setting on the multi-bin example. This is justified here, since from the previous section we know the signal is not large." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEGCAYAAABiq/5QAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAdpElEQVR4nO3deZwV5Z3v8c+XRZGoURYZtMF2wS0KGjvGiYkyISbxFQeXa7gaSBiXIZNxErPoiOOoYybM4Otm0TuZOEFjbBPcrkswiWMG0dbojRowiInoYBSwlcjiDlcR+N0/qrptml7qdHedok9936/XeZ16nnOqnt9h+XX1c6p+jyICMzMrjwFFB2BmZtXlxG9mVjJO/GZmJePEb2ZWMk78ZmYlM6joALIYMWJE1NfXFx2GmVm/smjRorURMbJ9f79I/PX19SxcuLDoMMzM+hVJKzrq91SPmVnJOPGbmZWME7+ZWcn0izl+M7OOvPvuuzQ3N/P2228XHUqhhgwZQl1dHYMHD870fid+M+u3mpub2WWXXaivr0dS0eEUIiJYt24dzc3N7LPPPpn28VSPmfVbb7/9NsOHDy9t0geQxPDhwyv6rceJ38z6tTIn/RaV/hk48ZuZlYzn+M2sdtzYx2f/n8tnvZJ58+ZxySWXMGDAAAYNGsSVV17JRz/6UQDuuecezjvvPDZv3sw555zDzJkz+3x8J/52Jk6cCEBTU1OhcZhZ7Zo0aRKTJ09GEkuWLGHKlCk8/fTTbN68mXPPPZf58+dTV1fHhz70ISZPnswhhxzSp+N7qsfMrBfWr1/PZz7zGSZMmMChhx7KLbfc0u0+O++8c+u8/Pr161u3H3vsMfbff3/23XdfdthhB04//XTmzZvX5zH7jN/MrBfuuece9txzT375y18C8Prrr/O1r32N+++/f5v3nn766a1TN3feeScXXXQRq1evbt33xRdfZMyYMa3vr6ur49FHH+3zmJ34zcx64bDDDuP888/nwgsv5MQTT+RjH/sY3/ve97rd75RTTuGUU07hwQcf5JJLLuHee++lozXQ87hqKbfEL+lAoO3vPPsClwI3pP31wHJgSkS8mlccZmZ5OuCAA1i0aBF33303F110EZ/85Cd59dVXuz3jb3Hsscfyxz/+kbVr11JXV8cLL7zQ+lpzczN77rlnn8ecW+KPiGeAwwEkDQReBO4EZgILImK2pJlp+8K84jAzy9NLL73EsGHDmDZtGjvvvDPXX389P/vZz7rc59lnn2W//fZDEo8//jgbN25k+PDh7Lbbbixbtoznn3+evfbai5tvvpkbb7yxz2Ou1lTPJOCPEbFC0knAxLS/EWjCid/M+kJOl1925cknn+SCCy5gwIABDB48mKuvvrrbfW6//XZuuOEGBg8ezE477cQtt9yCJAYNGsT3v/99PvWpT7F582bOOussPvCBD/R5zOpoTqnPB5GuAx6PiO9Lei0idmvz2qsRsXsH+8wAZgCMHTv2yBUrOlxPoM/5ck6z/mPp0qUcfPDBRYexXejoz0LSoohoaP/e3C/nlLQDMBn4P5XsFxFzIqIhIhpGjtxm5TAzM+uhalzHfwLJ2f7LaftlSaMB0ufVVYjBzMxS1Uj8ZwA3tWnfBUxPt6cDfX93gpmZdSrXxC9pKHA8cEeb7tnA8ZKWpa/NzjMGMzPbWq5X9UTEBmB4u751JFf5mJlZAVyrx8ysZJz4zaxmSH376M7y5cs59NBD+/xzNDU1ceKJJ/b5cVs48ZuZlYwTv5lZL2zatInp06czfvx4TjvtNDZs2LDNexYvXszRRx/N+PHjOeWUU3j11aQ82cSJE7nwwgs56qijOOCAA/j1r3+91X5btmxh3LhxrFmzprW9//77s3bt2l7F7MRvZtYLzzzzDDNmzGDJkiXsuuuu/OAHP9jmPV/4whe44oorWLJkCYcddhiXX35562ubNm3iscce48orr9yqH2DAgAFMmzaNuXPnAnDvvfcyYcIERowY0auYnfjNzHphzJgxHHPMMQBMmzaNhx56aKvXX3/9dV577TWOO+44AKZPn86DDz7Y+vqpp54KwJFHHsny5cu3Of5ZZ53FDTfcAMB1113HmWee2euYnfi3IxMnTmytFWRm/UP7evmV1s/fcccdARg4cCCbNm3a5vUxY8YwatQo7rvvPh599FFOOOGEngebcuI3M+uFlStX8pvf/AaAm266qXXR9Bbvf//72X333Vvn73/yk5+0nv1ndc455zBt2jSmTJnCwIEDex2zE7+Z1YyIvn1kcfDBB9PY2Mj48eN55ZVX+NKXvrTNexobG7ngggsYP348ixcv5tJLL63oc02ePJm33nqrT6Z5wEsvmpn1WH19PU899VS37zv88MN55JFHtulvW/59xIgRrXP87ad9n3jiCSZMmMBBBx3U25CBEiT+ni5XWcl+VVjSwMxKavbs2Vx99dWtV/b0BU/1mJltx2bOnMmKFSu2+e6gN5z4zaxfq8Yqgtu7Sv8MnPjNrN8aMmQI69atK3XyjwjWrVvHkCFDMu9T83P8lZkLPAK8A9QDs4CpRQZkZl2oq6ujubm5taRBWQ0ZMoS6urrM73fibzWXZG33d9L2irQNTv5m26fBgwezzz77FB1Gv+OpnlYXA+2LK21I+83MaocTf6uVFfabmfVPTvytxlbYb2bWP+W92Ppukm6T9LSkpZL+XNIwSfMlLUufd88zhuxmAUPb9Q1N+83MakfeZ/xXAfdExEHABGApMBNYEBHjgAVpezswFZgD7Ji2907b/mLXzGpLblf1SNoVOBb4K4CI2AhslHQSMDF9WyPQBFyYVxyVmQpck243FRiHmVl+8jzj3xdYA/xY0u8kXSvpfcCoiFgFkD7vkWMMZmbWTp6JfxDwQeDqiDgCWE8F0zqSZkhaKGlh2W/OMDPrS3km/magOSIeTdu3kfwgeFnSaID0eXVHO0fEnIhoiIiGkSNH5himgVf/MiuT3BJ/RPwJeEHSgWnXJOAp4C5geto3HZiXVwxmZratvEs2fBmYK2kH4DngTJIfNrdKOpvk7qjP5hyDmZm1kWvij4jFQEMHL03Kc1wzM+uci7TlyKt/mdn2yCUbzMxKxonfzKxknPjNzErGid/MrGT85e42mooOwMwsVz7jNzMrGSd+M7OSceI3MysZJ34zs5Lp9MtdST8HOr0vNCIm5xKRmZnlqqurer6dPp8K/Bnw07R9BrA8x5jMzCxHnSb+iHgAQNI/R8SxbV76uaQHc4/MzMxykWWOf6SkfVsakvYBvDKK9RkvAmNWXVlu4Poa0CTpubRdD3wxt4jMeuPGHpZErcTnXBLV+rduE39E3CNpHHBQ2vV0RLyTb1hmZpaXrq7qObWTl/aTRETckVNMZmaWo67O+P+yi9cCcOLfjnkRGDPrTFdX9ZxZzUDMzKw6ur2qR9IoST+S9J9p+5B0oXQzM+uHslzOeT3wK2DPtP3fwFezHFzScklPSlosaWHaN0zSfEnL0ufdexC3mZn1UJbEPyIibgW2AETEJmBzBWP8RUQcHhENaXsmsCAixgEL0rYByVoATQXHYGa1LkviXy9pOGndHklHA6/3YsyTgMZ0uxE4uRfHMjOzCmVJ/F8H7iK5jPNh4AbgyxmPH8B/SVokaUbaNyoiVgGkz3t0tKOkGZIWSlq4Zs2ajMP1Z3NJ7o0bkD7PLTIYM6thWW7gelzSccCBgIBnIuLdjMc/JiJekrQHMF/S01kDi4g5wByAhoaGGr9wcC4wA9iQtlekbYCphUTUK5XePbu6B/v57lmzHuv0jF/Sx9PnU4HJJIn/AOAvu7i5aysR8VL6vBq4EzgKeFnS6PTYo3nvv32JXcx7Sb/FhrTfzKxvdXXGfxxwHx3fyNXtDVyS3gcMiIg30+1PAt8kmTaaDsxOn+f1IO4as7LCfjOznuvqBq7L0s1zIqKSq3hajALuVHIr6CDgxrTuz2+BW9N7AVYCn+3BsWvMWJLpnY76zcz6VpbqnM9Kug34cUQ8lfXAEfEcMKGD/nXApOwhlsEstp7jBxia9lu/4cqg1k9kuapnPMlNW9dKeiS92mbXnOMqmakk32PvTfL9+d5pux9+sWtm271uE39EvBkR10TER4C/By4DVklqlLR/7hGWxlSSFS23pM9O+tUw8VvJw6xMstTqGShpsqQ7gauA7wD7Aj8H7s45PjMz62NZ5viXAfcD/ysi/m+b/tskHdvJPmZmtp3KkvjHR8RbHb0QEV/p43isBmhqpV9ATkz3a8q8R3yuwiHMrFWWOf4Ok77VkrnAI8ADVL9cRJFjm5VTlqt6rKa1lItoWUa5pVxENRJwkWOblZcTf+kVWS7CpSrMitDVYutf72rHiPhu34dj1VdkuYhiS1XMfRgeWQbvbIL682DWFJh6TFWGNitUV2f8u6SPBuBLwF7p42+AQ/IPzaqjs7IQ1SgXUdzYcx+GGdcmSR9gxdqkPffh3Ic2K1yniT8iLo+Iy4ERwAcj4hsR8Q3gSKCuWgFa3maRlIdoq1rlIoob++JbYcPGrfs2bEz6zWpdljn+sUDb/yIbSS6/sJpQZLmIlrF3TNvVG3vl2sr6zWpJluv4fwI8lt65G8ApJKtwWc2YSnElIqYC16TbTVUbdeyIZHqno36zWpflOv5ZwJnAq8BrwJkR8S85x2WWq1lTYOgOW/cN3SHpN6t1WS/nHAq8ERFXAc2S9skxJrPcTT0G5pwDO6a/8+49Imn7qh4rg26neiRdRnJlz4HAj4HBwE8B/xexfm3qMXDN/cl20z8WG4tZNWU54z+FZM3d9dC6ju4ueQZlVgYuCW1FyZL4N0ZEkHyx27KWrpmZ9VNZEv+tkn4I7Cbpr4F7gWvzDcvMzPLS7Rx/RHxb0vHAGyTz/JdGxPysA0gaCCwEXoyIEyUNA24huRdgOTAlIl7tQexm23BJaLPuZVmB64qImB8RF0TE+RExX9IVFYxxHrC0TXsmsCAixgEL0raZmVVJlqme4zvoOyHLwSXVAZ9h66mhk4DGdLsRODnLsczMrG90mvglfUnSk8BBkpa0eTwPPJnx+FeSLNC+pU3fqIhYBZA+79Gz0M36r5bKoA8sTSqDujicVVNXc/w3Av8J/CtbT8e8GRGvdHdgSScCqyNikaSJlQYmaQbJqhyMHVuNSpFWnKaiA6iqziqDgm8gs+roqjrn6xGxHLgKeCUiVkTECuBdSR/OcOxjgMmSlgM3Ax+X9FPgZUmjAdLn1Z2MPyciGiKiYeTIkRV9KLPtmSuDWtGyzPFfDbRdd3d92teliLgoIuoioh44HbgvIqYBdwHT07dNB+ZVFLFZP+fKoFa0LIlf6Q1cAETEFrJV9ezMbOB4SctIvjie3YtjmfU7nVUAdWVQq5Ysif85SV+RNDh9nAc8V8kgEdEUESem2+siYlJEjEufu/2+wKyWuDKoFS1L4v8b4CPAi0Az8GHSL13NrHKuDGpFy3Ln7mqSOXoz6yOuDGpFynLn7gGSFkj6fdoeL8n/VM3M+qksUz3XABcB7wJExBL8G4BZvzZx4kQmTpxYdBhWkCyJf2hEPNaub1MewZiZWf6yXJa5VtJ+vFeP/zRgVa5RmfVDrgxq/UWWxH8uMIekZs+LwPPA1FyjMjOz3GS5quc54BPpylsDIuLN/MMyM7O8ZLmqZ7ik/w38GmiSdJWk4fmHZmZmecjy5e7NwBrgfwCnpdu35BmUWfU0UbbqoGZZ5viHRcQ/t2l/S9LJOcVjZj11o7K/t6UmbiX7fK7SL69te5XljP9+SadLGpA+pgC/zDswMzPLR5bE/0WSRVneSR83A1+X9KakN/IMzszM+l6Wq3p2qUYgZmZWHVmu6jm7XXugpMvyC8nMzPKUZapnkqS7JY2WdBjwCODfAszM+qksUz2fk/Q/gSeBDcAZEfFw7pGZWU1qKQ7X1NRUaBxllmWqZxxwHnA7sBz4vKShOcdlZmY5yTLV83Pg0oj4InAcsAz4ba5RmZlZbrLcwHVURLwBkC66/h1Jd+UblplVqrLqoBPTfZoy7+HKoLUjyxn/TpJ+JOkeAEmHAMd2t5OkIZIek/SEpD9IujztHyZpvqRl6fPuvfsIZmZWiSyJ/3rgV8DotP3fwFcz7PcO8PGImAAcDnxa0tHATGBBRIwDFqRtMzOrkiyJf0RE3ApsAYiITcDm7naKxFtpc3D6COAkoDHtbwROrjBmsxrRhAvEWRGyJP71aRnmlhW4jgZez3Lw9GavxSQloeZHxKPAqIhYBZA+79HJvjMkLZS0cM2aNVmGMzOzDLIk/q8DdwH7SXoYuAH4cpaDR8TmiDgcqAOOknRo1sAiYk5ENEREw8iRI7PuZmZm3chyA9fjko4DDgQEPBMR71YySES8JqkJ+DTwsqTREbFK0mjeKxBrZmZVkOWMn4jYFBF/iIjfZ036kkZK2i3d3gn4BPA0yW8P09O3TQfmVRy1mZn1WJbr+HtqNNAoaSDJD5hbI+IXkn4D3JoWf1sJfDbHGMzMrJ3cEn9ELAGO6KB/HTApr3HNzKxrnSZ+SR/saseIeLzvwzEzy48LxCW6OuP/ThevBfDxPo7FzMyqoNPEHxF/Uc1AzKz/UgVrtvdkn/A6730q0xx/ev39IcCQlr6IuCGvoMzMLD/dJv50mcWJJIn/buAE4CGSG7nMzKyfyXId/2kkV+H8KSLOBCYAO+YalZnlaC7JCqoPAPVp28okS+L/fxGxBdgkaVeSO233zTcsM8vHXGAGSfFcgBVp28m/TLIk/oXpHbjXAIuAx4HH8gzKzPJyMcnS2W1tSPutLLLU6vnbdPM/0sVYdk1vzjKzfmdlhf19rWWa6R2SaaZZwNQqjW0tsiy2vqBlOyKWR8SStn1m1p+MrbC/L3maaXvRaeJPl04cBoyQtHu6ZOIwSfXAnlWL0Mz60CxgaLu+oWl/3jzNtL3oaqrniyRLLO5JMq/f4g3g33OMycxy0zKtcjHJ9M5YqjfdUvQ0U7G2p3IRXd25exVwlaQvR8S/VTEmM8vVVIqZVx9LMr3TUb9VU5aren4o6SuSbksffydpcO6RmVmNKXKaydrKUrLhByQLpf8gbX8euBo4J6+gzKwWtfyWcTbJF7x70xfTTK4TVLmuyjIPiohNwIciYkKbl+6T9ET+oZlZ7ZlKcksQQFOBcZRbV1M9LTdpbZa0X0unpH2BzblGZWZmuelqqqfll6HzgfslPZe264Ez8wzKzGpZU9EBlF5XiX+kpK+n2z8EBgLrSUozHwHcn3NsZmaWg64S/0BgZ9478ydtA+ySW0RmZparrhL/qoj4Zk8PLGkMSc3+PwO2AHMi4qr0buBbSKaMlgNTIuLVno5jZmaV6erL3R5cJLWVTcA3IuJg4GjgXEmHADOBBRExDliQts3MrEq6SvyTenPgiFgVEY+n228CS4G9gJOAxvRtjcDJvRnHzMwq02nij4hX+mqQtLDbEcCjwKiIWJWOsQrYo5N9ZkhaKGnhmjVr+ioUM7PSy7TYem9I2hm4HfhqRLyhjLfMRcQcYA5AQ0NDDd47Z2b9Xd53DUM+dw5nqdXTY2lNn9uBuRFxR9r9sqTR6eujSZZyNDOzKskt8Ss5tf8RsDQivtvmpbuA6en2dGBeXjGYmdm28pzqOYakoNuTkhanff8AzAZulXQ2SSHuz+YYg5lZG01FB7BdyC3xR8RDdH5JaK+uGDIzs57LdY7fzMy2P078ZmYl48RvZlYyTvxmZiXjxG9mVjJO/GZWEnNJigIPSJ/nVnnsR4AHChh7W7mXbDAzK95cYAawIW2vSNvQ28Xes4/9TgFjd8xn/GZWAhfzXtJvsSHtr+WxO+bEb2YlsLLC/loZu2NO/GZWAmMr7K+VsTvmxG9mJTALGNqub2jaX8tjd8yJ38xKYCrJ8h57k5QQ2zttV+PL1SLH7piv6jGzkphKccm2yLG35TN+M7OSceI3MysZJ34zs5Jx4jczKxknfjOzknHiNzMrmdwSv6TrJK2W9Ps2fcMkzZe0LH3ePa/xzcysY3me8V8PfLpd30xgQUSMAxakbTMzq6LcEn9EPAi80q77JKAx3W4ETs5rfDMz61i15/hHRcQqgPR5j87eKGmGpIWSFq5Zs6ZqAZqZ1brt9svdiJgTEQ0R0TBy5MiiwzEzqxnVTvwvSxoNkD6vrvL4ZmalV+3EfxcwPd2eDsyr8vhmZqWX5+WcNwG/AQ6U1CzpbGA2cLykZcDxadvMzKoot7LMEXFGJy9NymtMMzPr3nb75a6ZmeXDid/MrGSc+M3MSsaJ38ysZJz4zcxKxonfzKxknPjNzErGid/MrGSc+M3MSsaJ38ysZJz4zcxKxonfzKxknPjNzErGid/MrGSc+M3MSsaJ38ysZJz4zcxKxonfzKxknPjNzErGid/MrGQKSfySPi3pGUnPSppZRAxmZmVV9cQvaSDw78AJwCHAGZIOqXYcZmZlVcQZ/1HAsxHxXERsBG4GTiogDjOzUhpUwJh7AS+0aTcDH27/JkkzgBlp8y1Jz1QwxghgbY8jrJBUrZG6Hdufu/pjV5U/d6uqffYiP3cH41f6uffuqLOIxN/RH2Ns0xExB5jTowGkhRHR0JN9+zN/7nIp6+eG8n72vvrcRUz1NANj2rTrgJcKiMPMrJSKSPy/BcZJ2kfSDsDpwF0FxGFmVkpVn+qJiE2S/g74FTAQuC4i/tDHw/RoiqgG+HOXS1k/N5T3s/fJ51bENtPrZmZWw3znrplZyTjxm5mVTE0l/rKWgpA0RtL9kpZK+oOk84qOqZokDZT0O0m/KDqWapG0m6TbJD2d/r3/edExVYOkr6X/xn8v6SZJQ4qOKQ+SrpO0WtLv2/QNkzRf0rL0efeeHr9mEn/JS0FsAr4REQcDRwPnluizA5wHLC06iCq7CrgnIg4CJlCCzy9pL+ArQENEHEpyccjpxUaVm+uBT7frmwksiIhxwIK03SM1k/gpcSmIiFgVEY+n22+SJIG9io2qOiTVAZ8Bri06lmqRtCtwLPAjgIjYGBGvFRpU9QwCdpI0CBhKjd4DFBEPAq+06z4JaEy3G4GTe3r8Wkr8HZWCKEXya0tSPXAE8GjBoVTLlcDfA1sKjqOa9gXWAD9Op7iulfS+ooPKW0S8CHwbWAmsAl6PiP8qNqqqGhURqyA52QP26OmBainxZyoFUcsk7QzcDnw1It4oOp68SToRWB0Ri4qOpcoGAR8Ero6II4D19OLX/v4indM+CdgH2BN4n6RpxUbVP9VS4i91KQhJg0mS/tyIuKPoeKrkGGCypOUkU3sfl/TTYkOqimagOSJafqu7jeQHQa37BPB8RKyJiHeBO4CPFBxTNb0saTRA+ry6pweqpcRf2lIQkkQy37s0Ir5bdDzVEhEXRURdRNST/H3fFxE1fwYYEX8CXpB0YNo1CXiqwJCqZSVwtKSh6b/5SZTgS+027gKmp9vTgXk9PVAR1TlzUaVSENurY4DPA09KWpz2/UNE3F1cSJazLwNz05Oc54AzC44ndxHxqKTbgMdJrmT7HTVaukHSTcBEYISkZuAyYDZwq6SzSX4IfrbHx3fJBjOzcqmlqR4zM8vAid/MrGSc+M3MSsaJ38ysZJz4zcxKxonfaoqk+rYVDdu9du32ULyuqxjNqqFmruM3605EnFN0DH1B0qCI2FR0HNZ/+YzfatEgSY2SlqQ164cCSGqS1JBuvyVplqQnJD0iaVT7g0j6p7QuepOk5yR9Je3f6oxd0vmS/qnNGN+T9GBaJ/9Dku5Ia6h/K0OMR0p6QNIiSb9qc4t+k6R/kfQASRlqsx5z4rdadCAwJyLGA28Af9vBe94HPBIRE4AHgb/u5FgHAZ8iKft9WVoTqTsbI+JY4D9Ibqs/FzgU+CtJwzuLMT32vwGnRcSRwHXArDbH3S0ijouI72SIwaxTTvxWi16IiIfT7Z8CH+3gPRuBlhW7FgH1nRzrlxHxTkSsJSmKtc1vBh1oqRH1JPCHdL2Ed0hKK7QUEuwoxgNJfkDMT0tv/CNJscEWt2QY26xbnuO3WtS+DklHdUnejffqlWym8/8L77TZbnnfJrY+aWq//F/LPlva7b+lzTgdxSiSHxSdLaO4vpN+s4r4jN9q0dg2a9CeATzUx8d/GdhD0nBJOwIn9uAYHcX4DDCypV/SYEkf6JOIzdpw4rdatBSYLmkJMAy4ui8PntaC/ybJKme/AJ7uwWG2iTFdMvQ04ApJTwCLKVe9easSV+c0MysZn/GbmZWME7+ZWck48ZuZlYwTv5lZyTjxm5mVjBO/mVnJOPGbmZXM/wf1Cbe/Fm+KnwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.bar(x, s30_and_b, color='orange', label='s=30')\n", "plt.bar(x, b_only, color='b', yerr=np.sqrt(b_only), label='b only')\n", "plt.scatter(x, data, zorder=10, color='k')\n", "plt.xlabel('bin number')\n", "plt.ylabel('Total expected yield')\n", "plt.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As usual, we use the likelihood-based discriminant\n", "$$\n", "t(s) = -2 \\log \\frac{L(s)}{L(\\hat{s})}\n", "$$\n", "\n", "The only difference compared to parameter measurement is that we will only consider the positive side of the distribution, $s > \\hat{s}$, since we are looking for an *upper* limit. \n", "\n", "As we saw before, for the Gaussian case we have\n", "$$\n", "t(s) = \\left(\\frac{s - \\hat{s}}{\\sigma_s}\\right)^2\n", "$$\n", "so that the limit is reached for $t(s) = 1.64^2$. Of course our model is not exactly Gaussian, but we can still use the Gaussian relation $t(s) = 1.64^2$ to define our limit, using the exat non-Gaussian expression for $t(s)$. This still accounts for non-Gaussianity through the expression of $t(s)$, and usually provides an excellent approximation to the true limit. This technique is usually referred to as the *asymptotic* approximation.\n", "\n", "Another way to find the limit is to note that the p-value is given by $1 - \\Phi\\left(\\sqrt{t(s)}\\right)$, assuming the Gaussian/asymptotic approximation. This allows to compute the p-value as a function of $s$. Then to compute the limit, we check when this p-value reaches 5% (for a 95% CL limit)\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "s_vals = np.linspace(10, 50, 100)\n", "# ==> plot 1 - Phi(sqrt(t_s)) for the values of s above\n", "# ==> Find the crossing of the curve above with 0.05, using root_scalar as for the intervals. This defines the 95% CL limit" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. Expected limits" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One can compute *expected* limits for a given scenario, for instance $s=0$. This can be obtained using 2 methods:\n", "* By generating \"toy datasets\" (pseudo-experiments), computing the limit for each one and histogramming the result\n", "* by fitting a special \"Asimov\" dataset that is constructed to precisely correspond to this hypothesis. For instance here one would build a dataset consisting only of background.\n", "\n", "First, we investigate the difference between the two:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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szZhwgRftWpVN+Po6hqTwvvalNdI10eYyxm4NPuX9EZr167lhBNOSPn1DfEGNlRuoKm+if7F/RlZNZKi8uxcoNnY2MiYMWN44YUXMlKhM9FnYWbPu/uE9q/N2BG/u79jZm+a2XHuvg4oA14NbzOAueH9ox1sJsviwEqgCSgFqiAHJVxFJDOKyouylujbilpZ5u8AcTM7ANgAXEFwXuEBM7sKqAcyO8dYyuIEPUstJ3rqwmVQ8heRntjfyjJnNPG7+2pgn68ZBEf/+5lKoLFdW2PYrsQvIvlDRdpaJftr3P2/0pr9S0T2RyrZ0CrZyKH8HlEkItGjxN+qCoi1a4uF7SIi+UNdPa1a+vGvIjjBW4JG9Yj0Mvd2s381mb/NTF/qo48+yve//30KCgro27cv8+bN4wtf+AIAjz/+ONdccw179uxh5syZzJmT/qo2Svx7KQfuCB/X5jAOEclnZWVlXHjhhZgZa9as4bLLLuO1115jz549fOtb32LJkiUMHz6cU045hQsvvJATTzwxrftXV88+alHSF5FU7dixg/PPP59x48Zx0kkntZZi7shBBx2EhaM4duzY0fr4ueee45hjjmHkyJEccMABXH755XuVc04XHfGLiPTA448/zrBhw/jd734HBGWXv/e97/Hkk0/u89rLL7+8tevmkUce4cYbb2TLli2t67711luMGDGi9fXDhw/n2WefTXvMSvwiIj0wZswYZs2axQ033MAFF1zAGWecwa9+9atO15syZQpTpkxh+fLlfP/732fp0qUJq3tad8eFd0CJX0SkB4499lief/55fv/733PjjTfyxS9+kffff7/TI/4WZ555Jn/+85/Ztm0bw4cP580332x9btOmTRmZjEWJX3Iql0WzRNLh7bffZsCAAUybNo2DDjqIu+66i3//93/vcJ3XX3+do48+GjPjhRdeYNeuXQwcOJDDDjuM9evX88Ybb3DkkUdy3333ce+996Y95qSJ38z+A0g6lsndL0x7NBIpLVPhtZTJbZkKD1Dyl+7J0PDLjrz00kvMnj2bgoIC+vXrx+23397pOg899BB33303/fr14zOf+Qz3338/Zkbfvn35l3/5F770pS+xZ88errzyyoS1+3sqaVlmMzsrfHgxMARYFC5PBTa6+01pjyaJ7JZl7rpkZRNUErpjK0pXBPOfttO/pD+nbzw9a3FI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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "toy_data1 = np.random.poisson(b_only)\n", "toy_data2 = np.random.poisson(b_only)\n", "toy_data3 = np.random.poisson(b_only)\n", "plt.bar(x, s30_and_b, color='orange', label='s=30')\n", "plt.bar(x, b_only, color='b', yerr=np.sqrt(b_only), label='b only')\n", "plt.scatter(x, toy_data1, zorder=10, color='k', label='toy 1')\n", "plt.scatter(x, toy_data2, zorder=10, color='lime', label='toy 2')\n", "plt.scatter(x, toy_data3, zorder=10, color='m', label='toy 3')\n", "plt.xlabel('bin number')\n", "plt.ylabel('Total expected yield')\n", "plt.legend()\n", "plt.figure()\n", "asimov = b_only\n", "plt.bar(x, s30_and_b, color='orange', label='s=30')\n", "plt.bar(x, b_only, color='b', yerr=np.sqrt(b_only), label='b only')\n", "plt.scatter(x, asimov, zorder=10, color='k', label='Asimov')\n", "plt.xlabel('bin number')\n", "plt.ylabel('Total expected yield')\n", "plt.legend();\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The toys fluctuate around the b-only expectation, while the Asimov perfectly lines up with it by definition.\n", "\n", "To get Asimov-based results, one also includes the range of variations of these limits due to the fluctuations of $\\hat{s}$. Since\n", "$$\n", "t(s) = \\left(\\frac{s - \\hat{s}}{\\sigma_s}\\right)^2\n", "$$\n", "the $\\pm 1\\sigma$ variations in the limit are given by\n", "$$\n", "\\sqrt{t(s)} \\to \\sqrt{t(s)} \\pm 1 \\text{ for the } \\pm 1\\sigma \\text{ variation}\n", "$$\n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "# Define the t_s function for the Asimov dataset. This has the technical problem that Asimov datasets have non-integer\n", "# bin contents, so one cannot use the simple Poisson PDF any more (which is defined only for integers). Instead, the\n", "# Gamma function can be used:\n", "def lambda_gamma_s(s_hypo, data) :\n", " return -2*sum( [ np.log(scipy.stats.gamma.pdf(n+1, s_hypo*s_yield + b*b_yield)) for n, s_yield, b_yield in zip(data, s_yields, b_yields) ] )\n", "\n", "def t_s_asimov(s_test) :\n", " return lambda_gamma_s(s_test, asimov) - lambda_gamma_s(0, asimov)\n", "\n", "s_vals = np.linspace(10, 60, 100)\n", "\n", "# ==> Compute the observed limit as before [using scipy.stats.norm.sf(np.sqrt(t_s(s_vals))) ]\n", "\n", "# ==> Compute the 'expected', the central value of Asimov-expected limit, as well as the variations \n", "# 'exp_pos1', 'exp_neg1', 'exp_pos2' and 'exp_neg2' for the +/-1 and 2 sigma variations\n", "# Note that this should be done using the t_s_asimov function above\n", "\n", "# ==> Plot the results using plot_between to draw the error ranges" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As before, we can find the limit values by looking at the intersection with $p=0.05$\n", "\n", "## 6. $CL_s$ limits\n", "\n", "We now add one last wrinkle: the $CL_s$ procedure. This is an additional correction on top of the limit setting procedure described above, to avoid the limit going negative. Just to see why this is needed, recall how we set the limit in the 1-bin case:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "# ==> Compute the limit as above" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now imagine we had a negative fluctuation in $n_4$, and repeat the computation" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "n4 = 30\n", "# ==> Compute the limit again for this value of n4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You should see a negative limit (!). This requires a pretty large fluctuation, but it can happen. Of course we know that the signal is positive, so we know that this is due to a fluctuation: basically we know that we are in those 5% of experiments where the limit isn't valid.\n", "\n", "One way to do this is to correct the p-value for $s \\sim 0$ to avoid setting an exclusion in this region. This is what $CL_s$ does, by using\n", "$$\n", "p_{CL_s} = \\frac{p(s)}{p(s=0)}\n", "$$\n", "as a modified p-value. If there is good exclusion near 0 ($p(0) \\ll 1$) then the denominator is small, which inflates $p_{CL_s}$ and makes the exclusion weaker.\n", "We can modify our previous example to do this:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "# ==> Compute the observed and expected limits and the +/- 1 and 2 sigma variations\n", "# This is computed as p/p(s=0) where p are the values computed above (observed, expected, etc.)\n", "# and p(s=0) is \n", "# * scipy.stats.norm.sf(np.sqrt(t_s(s)) - np.sqrt(t_s_asimov(s))) for the observed\n", "# * scipy.stats.norm.sf(np.sqrt(t_s_asimov(s)) - np.sqrt(t_s_asimov(s)) +/- n) for the expected +/- n sigma\n", "# ==> Plot the result\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You should see that the exclusion indeed becomes weaker near 0, which is now not excluded anymore by the $2\\sigma$ band." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }