{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Calibration Exercice\n", "\n", "This exercise is about calibration, that is to make a certain type of method or measurement more precise by taking into account effects that otherwise blurs the precision of the method by correcting for these effects. The below example is invented, but outlines the considerations.\n", "\n", "## Description\n", " You're developping a new method for measuring the distance to stars, and want to\n", " calibrate and thus improve this method, such that the precision obtained is unbiased\n", " and has a minimal variance. You know that the method depends on several factors, such as:\n", " * Amount of signal light from the star `lsig`\n", " * Amount of background light in the surrounding sky `lbkg`\n", " * Temperature of star `temp`\n", " * Transparency of sky `tsky`\n", "\n", "In order to determine the influence of these factors, and how much you need to correct for each of them, you consider 10.000 stars with known distances (measured by another method, e.g. triangulation). From these, you can find how well your own method works, make corrections to biases as needed, and finally find out how precise your calibrated method is. Happy calibration.\n", "\n", "\n", "## Your Task\n", "\n", "* As always look at the data and get a feel for each of the variables. A good idea might be to plot them all to know what range to expect them in.\n", "\n", "* First, consider the raw distribution of \"relative differences\" (RD) between the observed and actual distance: $R_{D} = \\frac{(D_{obs} - D_{known})}{D_{known}}$. You'll notice that this distribution is far from an ideal (and narrow) gaussian, which is why you'll need to calibrate the underlying data. Your calibration technique should be able to do the following:\n", "\n", " - Reduce the RMS of the distribution\n", " - Correct the offset from zero\n", " - Eliminate the tail at high values\n", "\n", "* Second, look at the distribution of the bias and relative precision as a function of the data variables. Try to identify variables that are correlated with the relative differences, and apply a correction factor to eliminate these biases.\n", "\n", "\n", "Note that if you are on average say 50% too high compared to the true values, then you need to correct by 50%, i.e. divide by (1 + 0.5), and in general, if your measurement is $f(x)$ off, where $f(x)$ describes the offset, then you need to divide by $(1 + f(T))$:\n", "\n", "$R_{D} = \\frac{d - d_{true}}{d_{true}} \\rightarrow d_{calib} = \\frac{d}{(1 + f(x))}$\n", "\n", "\n", "Thus, define `d_calib = d / (1 + f(x))`, and continue using `d_calib` when considering other effects.\n", "\n", "\n", "## Author: \n", "- Troels Petersen ([email](mailto:petersen@nbi.dk))\n", "- Étienne Bourbeau (notebook conversion) ([email](mailto:etienne.bourbeau@icecube.wisc.edu))\n", "\n", "## Date: \n", "5th of December 2018\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import matplotlib as mpl\n", "# Set som plotting standards\n", "font = {'family' : 'serif',\n", " 'weight' : 'normal',\n", " 'size' : 18}\n", "\n", "mpl.rc('font', **font)\n", "\n", "from iminuit import Minuit\n", "from probfit import Chi2Regression, BinnedLH, UnbinnedLH\n", "from scipy import stats\n", "import os, sys # Modules to see files and folders in directories\n", "from os.path import dirname as parent_folder" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "sys.path.append(parent_folder(parent_folder(os.getcwd()))+'/External_Functions')\n", "from ExternalFunctions import nice_string_output, add_text_to_ax # useful functions to print fit results on figure" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "lines_to_next_cell": 2 }, "outputs": [], "source": [ "verbose = True\n", "Nverbose = 10\n", "SaveFigures = False" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Define functions:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Profile x of the two arrays x and y with defined number of bins and range\n", "# returns the x-values of the profile, the means and the standard deviations.\n", "def profile_x(x, y, bins=(50, 50), xyrange=[(0, 50), (-1,1)]):\n", " \n", " H, xedges, yedges = np.histogram2d(x, y, bins=bins, range=xyrange)\n", " x_center = 0.5*(xedges[1:] + xedges[:-1])\n", " y_center = 0.5*(yedges[1:] + yedges[:-1])\n", " \n", " wsums = H.sum(1)\n", " \n", " mask = wsums > 0\n", " \n", " mean = (H*y_center).sum(1)[mask] / wsums[mask]\n", " mean_squared = (H*y_center**2).sum(1)[mask] / wsums[mask]\n", " std = np.sqrt( mean_squared - mean**2 ) / np.sqrt(wsums[mask]) \n", "\n", " return x_center[mask], mean, std" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### One could also write the above function using loops:" ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 2 }, "source": [ "```\n", " dim = 0\n", " Ndim = H.shape[dim]\n", " y = np.zeros(Ndim)\n", " ey = np.zeros(Ndim)\n", " for i in range(Ndim):\n", " weights = H[i, :]\n", " wsumi = weights.sum()\n", " mean = (weights*y_center).sum() / wsumi\n", " mean_squared = (weights*y_center**2).sum() / wsumi\n", " std = np.sqrt( mean_squared - mean**2 ) / np.sqrt(wsumi) \n", " y[i] = mean\n", " ey[i] = std\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Harvesting the content of a text file\n", "\n", "---\n", "There are multiple ways we can retrieve the information from a text file. A first way to do so is to read the text file line-by-line, and append a list-type variable with each column entry. This method implies that we define our variable containers as list objects: " ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "filename = \"data_calib.txt\"\n", "dknown = []\n", "dmeas = []\n", "lsig = []\n", "lbkg = []\n", "temp = []\n", "tsky = []" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The next step is to use the python function `open` to read the content of the file, line-by-line. Notice how you need to convert the line content into the proper type before adding it to a vector (for example, use the `float` converter to save a string of text as a float)." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Distance (known) = 9209.51 Distance (measured) = 5820.208 \n", " Distance (known) = 149.38 Distance (measured) = 174.093 \n", " Distance (known) = 412.18 Distance (measured) = 423.608 \n", " Distance (known) = 119.81 Distance (measured) = 126.137 \n", " Distance (known) = 175.10 Distance (measured) = 250.720 \n", " Distance (known) = 146.20 Distance (measured) = 227.391 \n", " Distance (known) = 324.05 Distance (measured) = 422.474 \n", " Distance (known) = 256.97 Distance (measured) = 229.279 \n", " Distance (known) = 175.40 Distance (measured) = 156.558 \n", " Distance (known) = 353.27 Distance (measured) = 353.121 \n" ] } ], "source": [ "Nread = 0\n", "# Loop over files and open them:\n", "with open( filename, 'r' ) as f : \n", "\n", " # Loop over lines and extract variables of interest\n", " for line in f:\n", " line = line.strip()\n", " columns = line.split()\n", " if (len(columns) == 6) :\n", " \n", " # Put the values read into lists:\n", " dknown.append(float(columns[0]))\n", " dmeas.append(float(columns[1]))\n", " lsig.append(float(columns[2]))\n", " lbkg.append(float(columns[3]))\n", " temp.append(float(columns[4]))\n", " tsky.append(float(columns[5]))\n", " if (verbose and Nread < Nverbose) : # Printing the values is always good to check if you are parsing a line correctly\n", " print(\" Distance (known) = {:8.2f} Distance (measured) = {:6.3f} \".format(dknown[-1], dmeas[-1]))\n", " Nread += 1\n", " \n", "f.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "While the above method works fine, it is a bit cumbersome and long to write out. Fortunately, there are more compact ways of doing so.\n", "\n", "One of those is the `loadtxt` function of the `numpy` package. This is a very powerful function that allows you to parse an entire textfile in a single line, _provided that the text file is formatted properly_." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "lines_to_next_cell": 2 }, "outputs": [], "source": [ "dknown, dmeas, lsig, lbkg, temp, tsky = np.loadtxt(filename, unpack=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that was short and easy! For more advanced parsing option, you can also check out `numpy.genfromtxt`.\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Make Histograms and vectors:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "plt.ioff() # We use to hide the empty plot on this cell\n", "fig_rel, ax_rel = plt.subplots(figsize=(12, 8));\n", "ax_rel.set_title('Hist relative resolution');\n", "Nbins = 200\n", "xmin, xmax = -2,2\n", "binwidth = (xmax-xmin) / Nbins\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "lines_to_next_cell": 2 }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Hist lsig 2D')" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fig_lsig2D, ax_lsig2D = plt.subplots(figsize=(12,8));\n", "ax_lsig2D.set_title('Hist lsig 2D')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Loop over data and make plots: (TO DO YOURSELF)\n", "----\n", "----" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# Note the initial relative resolution:\n", "distrel = (dmeas - dknown) / dknown" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# Do calibration (expand this yourself!):\n", "# ---------------------------------------\n", "dmeas_calib = dmeas # So here is so far no calibration - that is what you have to change!!!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "----" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "lines_to_next_cell": 2 }, "outputs": [], "source": [ "# Note the final relative resolution:\n", "distrel_calib = (dmeas_calib - dknown) / dknown" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "mask_distrel = (xmin < distrel) & (distrel < xmax)\n", "mask_distrel_calib = (xmin < distrel_calib) & (distrel_calib < xmax)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "lines_to_next_cell": 2 }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " The initial and final resolutions are: 0.269 and 0.269 \n", "\n" ] } ], "source": [ "print(\" The initial and final resolutions are: {:6.3f} and {:6.3f} \\n\".format(\n", " distrel[mask_distrel].std(ddof=1), distrel_calib[mask_distrel_calib].std(ddof=1)))" ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 2 }, "source": [ "\n", "## Compare the raw and calibrated data on a plot\n", "---" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "ax_rel.hist(distrel, bins=Nbins, range=(xmin, xmax), histtype='step', label='Raw')\n", "hist_rel_calib = ax_rel.hist(distrel_calib, bins=Nbins, range=(xmin, xmax), histtype='step', label='Calibration')" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1gAAAI4CAYAAAB3HEhGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3XmczuX+x/HXNcOMMRgzZrmHwYw1FcJkzdqxRZyElDAindKJkpJzTiansqRFzkmHSCqdkCiVZWwVskTo1M8Sss3Yjd2Mcf3+uJfmNoMZ7jGW9/PxuB/N9/pe3+v7+d5uuj9zbcZai4iIiIiIiFw5v/wOQERERERE5EahBEtERERERMRHlGCJiIiIiIj4iBIsERERERERH1GCJSIiIiIi4iNKsERERERERHxECZaIyA3OGNPcGPOTMcYaY5YYYyJc5c8YY7YbY1KNMf91ld1ljJmXT3G+Y4w5YoxJuMzrY40xv/g4rKvCGFPb9We0/QraKGSM2WmMKezD0EREJJeUYImI3OCstfOB/q7Du621+13lbwCTgA3W2i6u80uBTpdq0xiTYIxZ7OM4nwB+yml9V3LYJNP124H6vozparHWruSPP6McMcYszpyMWmtPA1WttSd9HJ6IiORCgfwOQERErh3Wuft8an7HcbmstUfyO4b8dLM/v4jItUA9WCIiAoAxJsIY84MxxmYq6+MqW2CMmW2MucUY0xgYBNzh6kUZk01bfVw9TP81xox3DX9b7DrX0hiz3DVc8UtjTMkLxFPEGPOhMWa+MeY7Y8xYY0wB17n3AQfwliuGWq4YrWuo4IvGmDRjzFpjTGVjzK3GmP8ZY/7PGOMwxkQaY2YYY741xiwzxvz5AjG0c12zxBjzmuu92OY6V8t1/RLXvW9xlfu5Yv3edf49Y0yw61yUMeYzV/kPxpgeF7jvQ673b5Lr+HFjTIoxJtF1PAy4Axjkev42xpiPjTGn3b16xmmg6z7fG2MmGmOKus65h2P+0xgzzRizyRjz6sU+HyIikjPqwRIRubksyJxAAbHALgBr7X5jTBfAnUAUAYYBJa21Z4wx/YC61tpJxpjhQIK1tkl2N7HWjnMlTn8BqgIHgWHGmDhgOhBvrd1ojOkLTAb+lE0zAcBca+1HrngmAT2ACdbansaYpkB/a+1iV/273c9mrR1qjLkDWG2t3ei6fi4w1lqbYoyZDyy31r5ojIkGfjbG/OQaZpj5Ob4wxoQB7wCPWWsHuhKtEGAO8IC1dqExpg0wyxhTBWgFxFpr73Ld93MgAjgBfAx8b61NNMaEAxuMMVuttd+dd98pxphKrj8frLVjjTF1Mp1/wRhTD5hkrZ3kKv7KGNMgUzMPAwnAndbak8aY94C3gF7W2ieMMbcCNYG2OJPVHcaYf1lr92TzZyEiIjmkHiwRkZvL3dbaJu4XzjlYF5IBWKC7cS6c8G9gSi7vt9xau99ae85a+zzwEJmSHld7d7uSnPMdBsq6el8WA02AWrm492SgO4Axxh+Is9ZuNsaUwpnQTQCw1iYD3wMPXqStjdba/3PVH4gzKTlurV3oKvsKZ5JSxxV3VeNcXMTP1e4O133vBia6rjkAzAZ65uKZcqM78GmmOVnvA91c74XbXOuUjDMJjs2jWEREbhpKsEREJFvW2lNAY9drG/AfoFgumzl/PlcMcKtrWNti4HPgdyAqm2t7AI8B7TIlg7lZIe8rINzV89MScK+OGOP67+RMcZQHgnP5HGHu611t7AdKWGuXA32A513P9ixgMt13f6Z29mcq97WYbO5VEO/3+mimn0/j7DUUEZEroCGCIiKSLWNMQWCvtfZh15C4ScDrOBOfy7UTZw9Wm0z3CcX7i75bbWCltfaQ67hgbm5krU03zuXne+BMntyr9O10/beje0VFY0whcvf/xJ3ArsxDJI0xxYDTrvdqsbX2a2NMeZxDCXcDc11VI4AdmX7edYF7pAGBmY6L5yI+d4wRmY4jgHRgby7bERGRXFAPloiIXEgpYDyAtTYV5xLq7uFlx3D1JrkWbchpcvIJUMcYU9Z1bSSwmOz/f7QFqG6MCXS1f/d5548BhY0xTV3zw7IzGegC+FlrD7ueZQ8wH+iWqd67QNMcPgM4h/aFG2PudD1HMLAICAHuw9mDhbX2N5wJlH+m+ya4rikBtME5dC8723D29hnXPLA65513P39FY8xr2Vw/CehsjAlyHfcAPrTWZuTiOUVEJJeUYImI3OCMMc1xLm4AzkUuPBsN4/yyX9U4V/uLANwbDi/GOaTskHs1PKABMNjVzkKggDFmKc6enLPn3fMhV9utjDGT3eXW2m0452FNcd3jvzgXj0g3xrzDHyvjtcE5JPFnnIndJ0Cyq71nXM39BxiFcyGOJGPMAlf5f13zndz7S+3FubBGZg8D9Y1zdcLvgE3W2i+zee+a8ceKiZ4NmK21R4F7gNeMMUuAb4Ahrh6x5UBzY8xCY8xK4DeciZ77vtVc7+dXwAvW2u+MMbVdf0YOY8w0V92ZwB7gR9czLgESjDG9XOcnAv1wLpzxtTHmY/5YWbGWtXYKziRroTHme5w9dP1dzzUy03tdz/Xeu6+99fz3QUREcs44tzwRERERERGRK6UeLBERERERER9RgiUiIiIiIuIjSrBERERERER8RAmWiIiIiIiIj9zQ+2CFh4fb2NjY/A5DRERERESuMz/++OMBa23EpWt6u6ETrNjYWFavXp3fYYiIiIiIyHXGGPP75VynIYIiIiIiIiI+ogRLRERERETER5RgiYiIiIiI+IgSLBERERERER9RgiUiIiIiIuIjSrBERERERER8RAmWiIiIiIiIj9zQ+2CJiIiISP45c+YMhw4d4tixY2RkZOR3OHKT8/f3p2jRooSFhREYGJhn91GCJSIiIiI+d+bMGXbs2EFoaCixsbEULFgQY0x+hyU3KWst6enpHD16lB07dlCmTJk8S7I0RFBEREREfO7QoUOEhoYSHh5OQECAkivJV8YYAgICCA8PJzQ0lEOHDuXZvZRgiYiIiIjPHTt2jGLFiuV3GCJZFCtWjGPHjuVZ+0qwRERERMTnMjIyKFiwYH6HIZJFwYIF83ROoBIsEREREckTGhYo16K8/lwqwRIREREREfERJVgiIiIiIiI+ogRLREREROQKnDx5EofDQUhICMYYQkJCcDgcOBwOChcuTFxcHD179mT37t35HapcBdoHS0RERESuqgbDF7L7yKn8DsOjVPEglg5qdtnXFy5cmJSUFCZNmkTPnj0ZPXo0CQkJgHOxj88//5yuXbsyd+5cfv75Z8LCwnwUuVyLlGCJiIiIyFW1+8gptg9vk99heMQO+irP2vb396djx4589dVXTJo0iQ8++ICnn346z+4n+U9DBEVERERE8liNGjUA2LhxYz5HInlNCZaIiIiISB47d+4cAOHh4Z6yDz74gBYtWlCmTBlCQ0OpWLEiL7/8MmfPnvXUGTt2rGduV1hYGO3bt/ece/fddwkICODIkSOestjYWIKCgggJCeH999+/Ck8m51OCJSIiIiKSx9auXYufnx/333+/p2zAgAFUrVqVzZs3c+jQId59911GjhzJU0895anz+OOP88033wCQmJjIrFmzPOdmzZpFenq65zzA9u3buf3220lKSqJnz55X4cnkfEqwRERERETyyKlTp5g8eTKrVq1i2rRpnqGCALVr12bYsGEEBgZijOHuu+/miSeeYPz48V69UnXr1iUyMpIvvvjCU3bs2DHWrVtHQECAV9K1Z88ekpOTiY+PvzoPKFlokQsREblhJCdWIJr9fxwTQXTilnyMSERuRv369WPQoEGkp6dz+PBhihQpwttvv02HDh286n399ddZrq1UqRJnz55l48aN1KlTBwA/Pz/atGnDRx99RGpqKiEhIcyZM4cWLVqQnJzMnDlzSE9Pp2DBgnzxxRe0bdsWY8xVeVbJSj1YIiJyw4hmPySmel6Zky0Rkatl9OjRpKSkcPDgQZYsWYK/vz+PPPIIy5Yt86q3du1aHnzwQSpVqkRkZCQOh8OzwuCpU97L2N97771ewwFnzZpFu3btaNeuHampqSxevBiAL774gnbt2uX9Q8oFKcG6iIttGpf5FRQURGJiYr7FOXfuXIoXL87cuXPzLYZrxapVq2jXrh3h4eGEhoZSo0YNJk2alG1day2TJ0+mdu3aOBwOSpYsSZMmTZgzZ0629U+ePMmAAQMoXbo0kZGR1KpVi+nTp2epN2nSJIKCgrL9rISGhmKMYeXKlb58bBEREblGNWzYkJEjR2KtZejQoZ7yH3/8kbp163LgwAHmz5/Pvn37SElJYfTo0dm206JFCwoVKsQXX3zB2bNnWbBgAS1btvQkU7NmzeL48eOsXLmSu++++6o8m2RPCdZFuDeNc3/Q3b+NOP/1wAMPXNF9tm/fjjHmspO0o0ePel43s6SkJO666y4KFy7Mb7/9xv79+3nqqafo3bs3w4YNy1J/8ODB9OjRg65du7J79262bdtGfHw8rVu3zrLqTkZGBm3btmX27Nl899137Nu3j/79+9O5c2cmTpyYpe0HHngg28/KE088QZkyZTQuWkRE5CbyyCOPUKFCBebOncv69esB+PDDD0lLS+OVV16hbNmyl2wjODiYZs2a8c0337BgwQJq1qxJcHAwpUuXpkaNGnz55ZfMmTOHxo0bExgYmNePJBehBOsG0KlTJ44dO0anTp3yO5R89fjjj1OoUCHGjRtHSEgIBQoUoGfPnnTo0IHExER+//13T920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+OKLvPTSS8yePZs2bdrkqu3//e9/TJo0iZ49e2Y5d+DAAQ4dOsTZs2cJDAykcuXKpKSkkJCQwAcffHBFz3S5YmNjiY2NzZIMQtZ4b0RKsERERETk6krdcW2t6JkYcsVN9O7dm4ULF7J+/XrKlSvnKQ8LC+PZZ58lLCyMXr16kZ6efsX3yuyLL74gLS2NQoUK+bTdvHK9xXs5NETwIrZv347D4fB0yYaHh3Py5MmLXjN37lyMMQQEBOBwOBg1atRVivbmtW7dOlq1akVkZCRRUVF06tTJs2lybhw9epSePXtm2/3ulpaWxkcffUSnTp2oVKkSDoeD0qVLc99997FmzZpsr/n999/p2bMn5cqVIzIykkqVKvHMM89w6NChXMcoIiIi157FixfzySef0KdPH6/kKrMePXoQERHh83v7+fldV8nK9Rbv5VCCdRGxsbGkpKQwevRoAA4ePMiECRMues3IkSMBqF+/PikpKTz77LN5HufNbP369TRo0ICKFSuya9cutmzZwtmzZ6lbty67d+/OcTuLFy+mWrVqLFiw4KL19uzZQ7du3cjIyGDp0qWkpKSwYsUKUlNTqVevHsuXL89Sv1atWqxZs4YFCxawb98+pk2bxrRp02jQoAGnTp26rOcWERGRa4f7++G99957wTr+/v4sWrSIRo0aecq+/fZbHnroIcqVK0dERATR0dH06tWL/fv35+i+sbGxF5yb5fb777/Tvn17YmJiCAkJoWvXruzbt89zfujQoTgcDowxJCQk8Pnnn1OrVi2KFSuGMYZJkyaRkZHB6NGjadSoETExMRQvXpyqVasyduxYr3slJSXhcDjYuXMny5Ytw+Fw4HA4PEMiLxZvWloa//znP6lUqRJRUVGUKlWKXr16sWfPniztBwQEEBsby4YNG2jSpAnh4eGUL1+eN998M0fvW567nN2Jr5dXrVq1LrlDc068//77tnLlyjYgIMDGxsbas2fPZltv9erVtlq1ahawjRs39sm95eIaNmxoS5UqZdPS0jxl+/btswEBAbZ79+45amPXrl02JibGfvPNN3bIkCEWsIsWLcq27rZt22zBggVtamqqV/mvv/5qAdu1a1ev8qFDh1rAzp4926t8zJgxFrAff/xxjmIUkRwaUuzKzouIz/zyyy8XPnmt/V28wnji4uIsYPfu3Zur6+6//37btGlTu2/f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suITERERkatHCVYONG/enN9++43JkyfTtm1bChYsyJIlS+jVqxc1atRg9+7deR7DuXPnAHy2G/r57a1du5bNmzfTtGnTLEMX77zzTtLT01m4cCHg3NeiY8eOJCUleQ2re//99+nZs6dP4rteLFq0iPfff5+JEyficDi8zp0+fZr09HQ6depE165dCQwMpHTp0nz44Yf4+fl5hlcC3HrrrfTt25dFixYxYsQIjh8/zsGDB3niiSc4e/YskH1yKCIiIiLXFiVYOVSoUCG6devGl19+yf79+5k8eTKVKlXil19+uSrD4dy9Rzmd45Xb9rZsca54P23aNK/9uhwOByNGjCA4ONhzDUDPnj05d+6cZwGOU6dOMW3aNLp37+6T+HwtJCQEcO5pdj53mbtOTm3atImOHTsyatSobJfQdydEzZo18yqPioqievXq/Prrr157ko0ZM4YxY8bw6aefEhsbS7169YiKiuK1117zXCciIiIi17b83AfrulWkSBG6devGPffcQ1xcXLYbxvqae4GDBg0a5Gl7vXv35q233rrk9Y0bNyYuLo4PPviAv/3tb8yYMYPatWt75jNdaypVqgQ4h0RWqVLF69yePXsAqFixYo7b27FjB82bN+evf/0r/fv3z7ZOmTJl2Lx5MyVKlMhyzr1wxf79+yldujTg7E188sknefLJJ73quue5Va9ePcfxidwskhMrEM0fm8onE4Fvfg0lIiJyedSDdQkff/wxnTt3zvZciRIluOWWW7LtFfGlrVu3smDBAipXrkzjxo2vuL3U1FSmTp1KWFgYHTt2BP5IQC403HHRokWele7AmQz06NGDzZs38/3331/zwwMbNWoEOBekON/69espV66cJ9G5lOTkZO6++246d+5MYmKip3zdunWe4XwAdevWBbJfuML9Xma3/P/51qxZQ/HixT3PICJ/iGY/JKZ6XtGJWfafFxERuaqUYF1Ceno6S5cu5dSpU1nOnTlzht9++y1Hy3BfrpMnT9KjRw+MMYwdOxY/vyv7I8vIyODRRx/lyJEjvPXWWxQtWhSAO+64g8qVKzN//vwsiymsXLmSFi1aZNmDyx3X0KFD+emnn7IdJnfu3LmrMkftUlq1akVMTAyff/65V/nKlSvZuXMnvXr1ynJNdsu2HzhwgD/96U+0bNnSM3TPrWXLlhw4cMBz/PDDD+Pv759l4YoDBw6wfv16qlat6pXU3XfffZ4FLdwOHTrEzJkz6d+/PwEBATl/YBERERHJF0qwcmDPnj107drVM08J4LfffqNLly6cOHGCV155xef3PHXqFLNmzaJevXqsX7+eadOmZdmENjfS09NZsGABzZo1Y9asWYwdO5Zu3bp5zhtjGD9+PGfOnOGxxx7zrKj3yy+/kJCQwMCBA7Ms4hAbG0vTpk2ZP38+Xbp0ITAwMMt9e/fuTUxMDP/+978vO3ZfCAwM5J133uG7775j9OjRWGvZu3cvTzzxBNWrV88yzG/o0KGULl2agQMHespSU1Np0aIFKSkplChRgsTERK/X8ePHvdq45ZZbeP7555k8eTKffvopGRkZHDp0iF69emGt5Z133vGqv3nzZgYPHuzp8dq2bRv33Xcf8fHxDBo0KI/eGRERERHxKWvtDfuqVauWvVIHDx6048ePtx06dLAVK1a0UVFRNiQkxMbExNgHH3zQ/vTTT9le9/PPP9uoqCgbHBxsARsaGmrj4+Oz1GvZsqUNDw+3gC1UqJCNioqyERERNiIiwtavX98OHTrU7t+/P8fx9u7d20ZFRVnAFixY0NNeiRIlbM2aNe3zzz9vf//99wtev2bNGnvvvffaEiVK2OjoaFu9enU7duxYe+7cuWzrf/jhhxawq1atyvb8P/7xD1ukSBE7bdq0HD9DXpo7d66tW7eujYiIsNHR0bZPnz720KFDWeqNGzfOBgcH27feestT9sknn1jgoq/k5GSvds6dO2ffffddW7VqVVu8eHEbFhZm27dvb9euXZvlnsOHD7fx8fE2LCzMOhwOe/vtt9sRI0bYtLQ0378RIjeKIcWuzbZEROS6B6y2l5GDGOe1N6b4+Hi7evXq/A5DRETySmKIc/7VtdaWiIhc94wxP1prcz0XSEMERUREREREfEQJloiIiIiIiI8owRIREREREfERJVgiIiIiIiI+ogRLRERERETER5RgiYiIiIiI+IgSLBERERERER9RgiUiIiIiIuIjSrBERERERER8RAmWiIiIiIiIjyjBEhERERER8RElWCIiIiIiIj6iBEtERERERMRHCuR3ACIiIjmVnFiBaPb/cUwE0fkYj4iIyPmUYImIyHUjmv2QmJrpWERE5NqiBEtERARXb1hiyHnHW/IxIhERuR4pwRIREYGsyVRiBVDCJSIiuaQES0REJBvnJ1OZe7dEREQuRKsIioiIiIiI+IgSLBERERERER9RgiUiIiIiIuIjSrBERERERER8RAmWiIiIiIiIjyjBEhERERER8RElWCIiIiIiIj6iBEtERERERMRHlGCJiIiIiIj4iBIsERERERERH1GCJSIiIiIi4iNKsERERERERHxECZaIiIiIiIiPKMESERERERHxESVYIiIiIiIiPqIES0RERERExEeUYImIiIiIiPiIEiwREREREREfUYIlIiIiIiLiI0qwREREREREfEQJloiIiIiIiI8owRIREREREfERJVgiIiIiIiI+ogRLRERERETER5RgiYiIiIiI+IgSLBERERERER9RgiUiIiIiIuIjSrBERERERER8RAmWiIiIiIiIjyjBEhERERER8RElWCIiIiIiIj5SIL8DEBERuR4kE0F0Ysh5x1vyMSIREbkWKcESERHJgfOTqczJloiIiJuGCIqIiIiIiPiIerBEREQug4YMiohIdpRgiYiIXAYNGRQRkexoiKCIiIiIiIiPKMESERERERHxESVYIiIiIiIiPqIES0RERERExEeUYImIiIiIiPiIEiwREREREREfUYIlIiIiIiLiI0qwREREREREfEQJloiIiIiIiI8owRIREREREfERJVgiIiIiIiI+ogRLRERERETER5RgiYiIiIiI+IgSLBERERERER9RgiUiIiIiIuIjBfI7ABERkRtRcmIFotn/xzERRCduyceIRETkalCCJSIikgei2Q+JqX8cJ4bkYzQiInK1aIigiIiIiIiIjyjBEhERERER8RElWCIiIiIiIj6iOVgiIiLXIC2SISJyfVKCJSIi16xsk4x8jOdinAlQiPfxFbSnRTJERK5PSrBEROSalSXJyMdYLuX83qVrOVYREck7moMlIiIiIiLiI0qwREREREREfERDBEVERPKBFrEQEbkxKcESERHJB1rEQkTkxqQhgiIiIiIiIj6iBEtERERERMRHlGCJiIiIiIj4iBIsERERERERH1GCJSIiIiIi4iNKsERERERERHxECZaIiIiIiIiPKMESERERERHxESVYIiIiIiIiPlIgv25sjPEDvgRWAAFAeeARIAgYDmwFKgKDrbV7XdcMBIoBocA8a+0X+RC6iIiIiIhItvItwXJZbq19GcAYMwvoADQEkqy1U40x9wKjgG7GmDpAU2vtPcaYAsCvxpgl1trUfIteREREREQkk3wbImitPZcpuSoAxAAbgTbAcle1pa5jgLbucmvtWeBXoPHVjFlERERERORi8n0OljGmJTAbmG2tXQ1EAsdcp48Coa4ELHO5+1xkNu31McasNsas3r9/f94GLyIiIiIikkm+J1jW2rnW2lZAnDHmCWAfUNR1uhhw2NVjlbncfW5fNu2Ns9bGW2vjIyIi8jh6ERERERGRP+RbgmWMudUY0yZT0TagHPAVUM9V1sB1TOZyY0xBoArw7dWJVkRERERE5NLyc5GLM0AvY0wNwJ0wPQWkASOMMZVwriz4LIC19gdjzCJjzKs4VxEcYK09kj+hi4iIiIiIZJVvCZa19jecqwZm59ELXPNa3kUkIiIiIiJyZfJ9DpaIiIiIiMiNQgmWiIiIiIiIjyjBEhERERER8RElWCIiIiIiIj6iBEtERERERMRHlGCJiIiIiIj4iBIsERERERERH1GCJSIiIiIi4iNKsERERERERHxECZaIiIiIiIiPKMESERERERHxESVYIiIiIiIiPqIES0RERERExEeUYImIiIiIiPhIgfwOQERE5GaQTATRiSHex/kYj4iI5A0lWCIiIldBdOIW7+N8ikNERPKWhgiKiIiIiIj4iBIsERERERERH1GCJSIiIiIi4iNKsERERERERHxECZaIiIiIiIiPKMESERERERHxESVYIiIiIiIiPpKrfbCMMe9Ya5/Iq2BEROTmlpxYgWj2/3GszXhFROQ6k9uNhnsYY34ApllrT+VFQCIicvOKZj8kpmY6FhERub7kdohgBvBnYIcxZpwxpm4exCQiIiIiInJdym2C9ZO1tgNwG/B/wHhjzP+MMQOMMRG+D09EREREROT6kasEy1rbyPXffdbaN6y1VYFHgErA/4wxnxlj7jHGaPEMERERERG56fgiEdoM/AocAO4DZuMcQjjMGBPjg/ZFRERERESuC7lKsIwxX7v+a4wxrYwxU4HdwOtAcWAkcAvQCEgDlhljuvs2ZBERERERkWtTblcRrGuMeRnoDpQCzgJfAROBb6y1GZnqDjHG/Bv4AZjsi2BFRERERESuZblNsIoDg4H/AW8CH1lr91+kfhAQdpmxiYiIiIiIXFdym2AdA/5krV11qYrGmBBgEbDicgITERERERG53uQ2wXolJ8kVgLU2FSiX+5BERERERESuT7ldRfBdY0w71yvcXWiMCTHG9DLGFPZxfCLy/+3de5gkZXmw8fvB5SysoLswiqBh0UREQPBTIH6CYEABTzFqDKgYJRolkHgWIqOggoeg+YxR1EjiIQqERBQVRQQVJZzEI8pBFxR22RXkoCByeL4/6m22t6ZnumunZnp65v5dV1+z9dZb1U9XVff20++hJEmSNDKaJlivAv4HOBEY6yp/AHAscFFEjPXaUJIkSZLmu6ZdBA8C3pWZR3cXZubNEbEd8H7gncBhLcUnSZKAFSxhbHxxbfnqIUYkSeqlaYL1COCpvVZkZkbEm4CfTjcoSZK0tnoy1Z1sSZLmjqZdBNfPzLsnW5mZdwIbTi8kSZIkSRpNTROslRHx9MlWRsQBwKrphSRJkiRJo6lpF8GTgdMj4v8BZwM3ABtQTXhxEPAy4PWtRihJkiRJI6JRgpWZH4qIxymTn44AACAASURBVAFvYGIiFcCHM/Nf2wpOkqSFouckFkOMR5K0bpq2YJGZr4yITwEvALYvxVcBp2bmBW0GJ0nSQjFhEoshxSFJmp7GCRZAZn4b+HbLsUiSJEnSSGs6yUVfEfHVtvcpSZIkSaOgcQtWRKwP7Ak8FFi/R5UnTDcoSZIkSRpFjRKsiNgF+DKwlGpSi15yukFJkqSp9ZwUozaOS5I0+5q2YH0QuA44Gvgl8Ifa+gBObyEuSZI0hQmTYnQlW5Kk4WmaYD0W2C4zb52sQkScNr2QJEmSJGk0NZ3k4nrg9qkqZOar1j0cSZIkSRpdTROsDwJHTlUhIn647uFIkiRJ0uhq2kVwKfDnEXEo8B3g18B9tTrbtRGYJEmSJI2apgnWsV3/3mWSOs4iKEmSJGlBappg/Zqp73MVwEXrHo4kSZIkja6mCdb/ZOa1U1WIiI9OIx5JkiRJGlmNJrnIzMMHqHP0uocjSZIkSaOraQsWABHxbOAA4CGZ+byI2IHqHllnZua9bQYoSZL6W8GStW42XC1fPcUWkqSZ0CjBioiNgS8Ce1ONt/ptWbUp8FHgiIh4VmZOea8sSZLUrnoy1Z1sSZJmT9P7YP0j8MfAa4AnAr8DyMzLgYcDNwFvaTNASZIkSRoVTbsIPg94TmZeBBAR90/Jnpl3RsSrgAuAN7cXoiRJkiSNhqYtWFt2kqteMvPXwAOnF5IkSZIkjaamCdbdEbH1ZCsjYnvgvumFJEmSJEmjqWmC9SXgtJJIrSUi9gJOA77QRmCSJEmSNGqajsE6Gvhf4MqIWA5sGRGXAQ8DHgIsB45tM0BJkiRJGhVNbzS8Etgd+ASwJbABsAuwPvAx4ImZubrtICVJkiRpFDS+0XBJoF4eEa8AlpTi1ZmZU2wmSZLmiBXjyxhjze+h3pRYktrTOMHqKAnVqnp5RDwlM8+fVlSSJGnGjLEaxm9ds+xNiSWpNU0nuRjEf87APiVJkiRpzmvUghUR5w5Qbct1jEWSJEmSRlrTLoL/F/hlrWw9qrFYGwE3ATe0EJckSZIkjZymCdbqzHxkrxURsSvwRuBt045KkiRJkkZQ0wTrkMlWZOb3IuIIqjFY+00rKkmSNC3VzICLa8vOFChJM61RgpWZX+9T5dfA49Y9HEmS1IYJydT4MigJ1wqWMDaEmCRpIVjnadrrImIRcBRwW1v7lCRJ7ehOuEyuJGnmNJ1F8OdT7GcpsD7wuukGJUmSJEmjqGkL1sOA7/Qovwc4F/hCZv7XtKOSJEmSpBHUNMG6OTP3mZFIJEmSJGnErdew/v4zEoUkSZIkzQNNE6xXN32CiPhI020kSZIkaRQ17SL47Ig4Hogm2wB/0/B5JEmSJGnkNE2wlgDLZyAOSZIkSRp5TROs46hao24FzgdWlvKtgf8L3Ad8rqt+AP8wzRglSZIkaSQ0TbDuBj6RmW/utbJ0H1yVmf/aVWb3QEmSJEkLQtME61DgcVOsPx64FPjXrrKHNQ1KkiRJkkZR01kEl1LdVHgy91B1F7xfZt7XNChJkiRJGkVNE6wbgHdExITtStnxwIo2ApMkSZKkUdO0i+A7gE8BL42Ir7P2JBf7Us0y+FfthSdJkiRJo6NRgpWZn4mIAN4D/GVt9Qrg0Mz8bFvBSZIkSdIoadqCRWZ+OiI+C+wGPLIU/wK4NDPvbTM4SZIkSRoljRMsgJJIXVQekiRJkiSaT3JBRGwcEUdFxFci4qJS9riI+PuI2Kz9ECVJkiRpNDRqwYqILYFvAo8pRb8tf+8CXga8PCKempk3theiJEmSJI2Gpi1Yby/bHAhsRUmwMvNnVDcgPg84tsX4JEmSJGlkNB2DdTDwtMy8EqCaULCSmRkRbwQuby88SZIkSRodTVuwNu0kV71k5m+BTacXkiRJkiSNpqYJ1h0RscNkKyPi8cCd0wtJkiRJkkZT0wTrdODzEfHUiLi/e2GZWfCvgDOAU9sMUJIkSZJGRdMxWOPA3sDXgD8AiyLiZmBxWX8pcFxbwUmSJEnSKGnUgpWZtwF7Us0UeBVwN7AR8EPgGODJmfm7toOUJEmSpFHQ9D5Y25Z/vj8zj5+BeCRJkiRpZDXtIrgcuAd4FfDx6TxxRGwPHA9cBmwD3JSZby83Mz4B+DmwA/CWzo2LI+L1wObAFsBXM/PM6cQgSZIkSW1qmmDdDeycmT9t4bm3BD6bmZ8HiIifRMRZwCuAczLz1Ig4GHgvcGhEPBHYJzOfUSbYuCIizs/MW1uIRZIkSZKmreksgj8HJr0PFkBE7DTIjjLz4k5y1RXL74ADge+WsgvKMsBBnfLMvAe4AnjKwJFLkiRJ0gxr2oL1SeAwpu4eeDbw0CY7jYjnAGdn5k8jYilwe1l1G7BFabFaSpVU0bVuaY99HQ4cDrDtttvWV0uSpJoVLGFsfHFt+eohRiRJo6tpgrUC+LuSEH0TWAXcV6uzcZMdRsQ+wD7AUaVoFbAZcAvVeKvfZOY9EdEp79i81F1LZp4MnAyw++67Z5NYJElaiOrJVHeyJUlqpmmC1Wm52hl4xiR1Bk5qIuJA4MnAkcBYRGwHnAXsAfwS2KssU/6+tWy3PvAnVEmeJEmSJM0JTROs3wDPnWJ9AKcPsqOI2A34HHAJ8A1gU+BfgLcAJ0bEo4DtgdcBZOaFEfGNiHgn1SyCr83MWxrGL0mSJEkzpmmCdVFmnj9VhYj40iA7ysxLgQdOsvoVk2zznkH2LUmSJEnDMGWCFRHndi3um5lP77fDzHzxtKOSJEmSpBHUrwXr8VTjo8hMJ4yQJEmSpCn0S7DuzMx/7yxExH2smcQiqPKuB8xUcJIkSZI0SvolWPVWq0dSJVYXAU+YkYgkSZIkaUQ1muQiM68FiIh7Ov+WJEmSJFXWa3uHEfF3be9TkiRJkkZB6wkW8KYZ2KckSZIkzXn9ughuEhGHUo276rbxJOUAG7cSmSRJkiSNmH4J1ubAKT3KY4pyp3OXJEmStCD1S7Buo9wHa0ABnLTu4UiSFpIV48sYY/WaZZYwNsR4JEmarkb3wRpERLxrGvFIkhaQMVbD+K1dy5IkjbZ+k1z80Trsc122kSRJkqSRN2WClZl3Nt3humwjSZIkSfPBTEzTLkmSJEkLkgmWJEmSJLXEBEuSJEmSWmKCJUmSJEktMcGSJEmSpJaYYEmSJElSS0ywJEmSJKklJliSJEmS1BITLEmSJElqiQmWJEmSJLXEBEuSJEmSWmKCJUmSJEktMcGSJEmSpJaYYEmSJElSS0ywJEmSJKklJliSJEmS1BITLEmSJElqiQmWJEmSJLXEBEuSJEmSWmKCJUmSJEktMcGSJEmSpJaYYEmSJElSS0ywJEmSJKkli4YdgCRJmltWsISx8cW15auHGJEkjQ4TLEmStJZ6MtWdbEmSpmYXQUmSJElqiQmWJEmSJLXEBEuSJEmSWmKCJUmSJEktMcGSJEmSpJaYYEmSJElSS0ywJEmSJKklJliSJEmS1BJvNCxJmjUrxpcxxuo1yyxhbIjxSJLUNhMsSdKsGWM1jN/atSxJ0vxiF0FJkiRJaokJliRJkiS1xARLkiRJklpigiVJkiRJLTHBkiRJkqSWmGBJkiRJUktMsCRJkiSpJSZYkiRJktQSEyxJkiRJaokJliRJkiS1xARLkiRJklpigiVJkiRJLTHBkiRJkqSWmGBJkiRJUktMsCRJkiSpJSZYkiRJktQSEyxJkiRJaokJliRJkiS1xARLkiRJklpigiVJkiRJLTHBkiRJkqSWmGBJkiRJUksWDTsASZI0t61gCWPji2vLVw8xIkmau0ywJEnSlOrJVHeyJUlam10EJUmSJKklJliSJEmS1BITLEmSJElqiQmWJEmSJLXEBEuSJEmSWmKCJUmSJEktMcGSJEmSpJaYYEmSJElSS0ywJEmSJKklJliSJEmS1BITLEmSJElqiQmWJEmSJLXEBEuSJEmSWmKCJUmSJEktMcGSJEmSpJYsGnYAkiRptK0YX8YYq9css4Sx8auHGJEkDY8JliRJmpYxVsP4rWuWxxcPMRpJGi67CEqSJElSS0ywJEmSJKklJliSJEmS1BITLEmSJElqiQmWJEmSJLXEBEuSJEmSWmKCJUmSJEktMcGSJEmSpJaYYEmSJElSS0ywJEmSJKklJliSJEmS1BITLEmSJElqyaJhPXFEbA0cD+ycmU8oZRsB7wWuB3YATsjMK8u6Q4BdgXuBazLzI0MJXJIkSZImMbQEC/hT4PPALl1lRwHXZea7I2In4OPAkyNiG+B1wK6ZmRFxcUScm5lXzX7YkqRBrRhfxhir1yyzhLEhxqN2rGAJY+OL114eYjySNJcMLcHKzNMjYu9a8YHAW8r6H0bEzhGxObA/cGlmZqn3XeDpwIQEKyIOBw4H2HbbbWcoeknSIMZYDeO3di1rPhgbv3rt5SHFIUlz0Vwbg7UUuL1r+bZSNln5BJl5cmbunpm7L1myZMYClSRJkqS6uZZgrQI261revJRNVi5JkiRJc8ZcS7DOAvYAKGOwvp+ZtwFnA7tFRJR6ewBfHk6IkiRJktTb0BKsiHgKcCgwFhHHRMTGwAeA7SLiGOC1wF8DZOavqGYXPCki3gd8zAkuJEmSJM01w5zk4nzg/B6rXj1J/U8Bn5rRoCRJkiRpGuZaF0FJkiRJGlkmWJIkSZLUEhMsSZIkSWqJCZYkSZIktcQES5IkSZJaYoIlSZIkSS0xwZIkSZKklphgSZIkSVJLTLAkSZIkqSUmWJIkSZLUEhMsSZIkSWqJCZYkSZIktcQES5IkSZJaYoIlSZIkSS0xwZIkSZKklphgSZIkSVJLTLAkSZIkqSUmWJIkSZLUEhMsSZIkSWqJCZYkSZIktcQES5IkSZJaYoIlSZIkSS0xwZIkSZKklphgSZIkSVJLFg07AEmSNL+sYAlj44try1cPMSJJmj0mWJIkqVX1ZKo72ZKk+c4ugpIkSZLUEhMsSZIkSWqJCZYkSZIktcQES5IkSZJaYoIlSZIkSS0xwZIkSZKklphgSZIkSVJLTLAkSZIkqSUmWJIkSZLUEhMsSZIkSWqJCZYkSZIktcQES5IkSZJasmjYAUiSRteK8WWMsXrNMksYG796iBFJkjRcJliSpHU2xmoYv3XN8vjiIUYjSdLwmWBJklpTtWAtXnt5iPFIkjTbTLAkSa2pdw80uZIkLTROciFJkiRJLTHBkiRJkqSWmGBJkiRJUktMsCRJkiSpJSZYkiRJktQSZxGUJEkzquf0/d6QWtI8ZYIlSZJm1ITp+70htaR5zC6CkiRJktQSEyxJkiRJaokJliRJkiS1xARLkiRJklriJBeSJGmoVowvY4zVa5adZVDSCDPBkiRJQzXGahi/dc2yswxKGmEmWJIkaVb1vC/WEOORpDaZYEmSpFk14b5YQ4pDkmaCk1xIkiRJUktMsCRJkiSpJXYRlCRJc0rPMVrOKihpRJhgSZKkOWXCGC1nFZQ0QuwiKEmSJEktMcGSJEmSpJaYYEmSJElSS0ywJEmSJKklJliSJEmS1BITLEmSJElqiQmWJEmSJLXEBEuSJEmSWmKCJUmSJEktMcGSJEmSpJaYYEmSJElSSxYNOwBJkqSprGAJY+OLa8tXDzEiSZqcCZYkSZrT6slUd7IFsGJ8GWOsrv5t8iVpyEywJEnSSBtjNYzfWv27lnxJ0mxzDJYkSZIktcQES5IkSZJaYhdBSdLAuse6QBnvMsR4JEmaa0ywJEkD6x7rUi1Ls6/nrIJDjEeSuplgSZKkkTJhVsEhxQGTtOo6i6G0oJlgSZKkeWO275k1oVXXWQylBc8ES5IkzRv97pklSTPNWQQlSZIkqSW2YEmSptQ9xsTJBCRJmpoJliRpSt1jTEyuNGpme0zWXOIEHNJwmGBJkqR5ayGPyXICDmk4TLAkSZIG5M22JfVjgiVJWotfILWQ1K/3/pZM62bbdtuT5j8TLEnSWiZ0KxpiLFLb6mOy6glTP9N9P9htT5r/TLAkSdKCMWFM1pDikDR/mWBJkiTNELvcSguPCZYkSdIMadrldjpjtJomc44Hk2aGCZYkSVJLet53q8H20xmj1S+Z6zf+zPFgUjtMsCRJkloy02O8uludmrY4Of5Mmh0mWJIkSUPStMWru5XKFidpbjLBkqQFzkH40vBMp1Vput0RB9rfiI7JcnyZhskES5IWOO97JY2mtrv8TdjfCLWQTbxhdLPxZSZkapMJliRJ0hzVditVm6ablExMiqao22ffTSf4qO9vLt8AeqaTv9lMLhdKImuCJUkLjF0CpdExlyemqCcljC+DKZKYfq1MUz7XNBOeCV/ie8XaYH9tJpeNk8dpHovptvb1299Ur2emX8tcSdhMsCRpgbFLoKR10e/HmX5JzIQv8jMYSz/9Ete2W7ymSmrabi3r3zLY7Dw03l+Lr6ft556thGzkEqyI2A94LrAKyMx825BDkqQ5pd9/SLZYSVoXTX+cabP1re89vKax716m2+LVt5Wowbb155p4LOqmbhnsm1D1Odb99te9/fS7jU7vtUysP3Wra1tGKsGKiE2ADwM7ZuZdEfFfEbFvZn592LFJ0lwx4T+QCeslabQMu6tk0xavRglVw237JSytT3Yyne0bJqZt97Bo3Opa97ZYp+cdqQQL2AO4NjPvKssXAAcCJliSJEkaiukkJcNOHmfSsF/bsLrER2bO0lNNX0T8JfCCzHx2WX45sHdmHtJV53Dg8LL4WOBHsx6oenkI8OthByHPwxzheZg7PBdzg+dhbvA8zA2eh7nj0Zm5WdONRq0FaxXQ/SI3L2X3y8yTgZMBIuKSzNx99sLTZDwXc4PnYW7wPMwdnou5wfMwN3ge5gbPw9wREZesy3brtR3IDPsusF1EbFiW9wLOGmI8kiRJknS/kWrBysw7IuJVwD9HxGrgB05wIUmSJGmuGKkECyAzvwZ8bcDqJ89kLGrEczE3eB7mBs/D3OG5mBs8D3OD52Fu8DzMHet0LkZqkgtJkiRJmstGbQyWJEmSJM1ZI9dFcCoRcRJwB/BbYGfgqMxc2aPeIcCuwL3ANZn5kVkNdAGIiPWAVwDHAU/NzJ7T5UfEhcDvy+K9mbnvLIW4IDQ4D/sBz6WalTMz822zF+X8FxFbAicAPwd2AN6SmTf2qLccWF4Wr8/Mv5qtGOezftd3RGwEvBe4nur8nJCZV856oAvAAOfipcArWfP/wscz85OzGuQ8FxFbA8cDO2fmE3qsXw94J3A78Aiqc3DhrAa5QAxwLvYG3g/cUorOysz3zF6E819EbE91Di4DtgFuysy31+o0/j9iXiVYwO8y8xiAiHgjcDRwRHeFiNgGeB2wa2ZmRFwcEedm5lWzH+68tjPwv1QJ71S+kpnjMx/OgtX3PETEJsCHgR0z866I+K+I2NcJZFr1TuCczDw1Ig6m+qA+tEe9U3w/tGvA6/so4LrMfHdE7AR8HHjyMOKdzxp81rwwM5fPfoQLxp8Cnwd2mWT984HNM/NN5cehCyPiTzLz3lmLcOHody6gaiw4b3bCWZC2BD6bmZ8HiIifRMRZmXlpV53G/0fMqy6CneSqWI+qJatuf+DSXDP47LvA02c6toUmM7+XmZcPUHWniHhjRIxHxIEzHtgCM+B52AO4NjPvKssXAJ6Ldh1I9VkDUx/fJ0fEGyLiuIjYc3ZCm/cGub7vPz+Z+UNg54jYfPZCXDAG/ax5TUS8LiLeWr7gq0WZeTpV69Rkut8PN1O1Ju44C6EtOAOcC4BDy/vh7RHx8NmIayHJzIs7yVWxHvC7WrXG/0eMXAtWRJwNbNVj1Vsz88xS50HAnwF/3qPeUta+mG8rZWpokHMxgBMz86KIeADwzYi4PTO/2V6U818L58H3RAumOg+sfYxvA7aIiEWZeU+t7pvL+2ET4LKIOCgzr565qBeEQa7vyercNrOhLTiDnIvzqbpBrY6IZwCnAXYdn13+nzB3/AQ4LjOXR8SOwNci4jGZed+wA5uPIuI5wNmZ+dPaqsb/R4xcgpWZ+0+1PiIWA/8CvKz88lK3CljWtbw54BeYddDvXAy4j4vK33sj4lvAPoAJVgMtnIdVwGZdy5uXMjUw1XmIiM4xvoXq+P6mR3LV/X64IyIup7qZup9P0zPI9e17YHb0Pc6Z+YuuxXOBMyPiAXZPm1W+H+aIzFzV9e8flwaEhwPXDi+q+Ski9qH6DnpUj9WN3xPzqotgRDyEKrl6Q2b+IiL+vJSvFxHblmpnA7tFRJTlPYAvz360C1dEPLL8/eOI+OuuVTsA1wwnqoWncx6omr23i4gNy/JewFnDiWreOovqswa6jm/3Z1NE7BsRB3RtswzfD23oeX1HxJZdXTzuPz+lf/33M9PWq/b1PRcR8a6I6Pz4uwOw3ORq5kXEphGxpCx2vx+2BDYCfjys2Baa7nMREZ1xcJ1zsQEwYYIkTU8ZorI/cCSwdUTsMd3/I+bVfbAi4jKqVrlOy9XtmXlwROwCfDIzdyr1DgF2p5pF8EpnEWxfRGwBvBp4LfBJ4DOZeWH50Lgc2J5qYOEHge9R/RqwPvAPNn23Z5DzkJm/j4inAc8DVgN3O4tgu8p/jCdS/eq4PfCmzLyx+7OpfGiPA5cCDwVuyMx3Divm+aTX9R0R7wZuzswTImJjqolHVlAltu90FsGZMcC5OBJ4LPALYCfgA85g166IeArwYuAA4F+B9wEvA3bKzFeWWQTfRTU50rbARz0HM2OAc/EC4CCqroKPAT6XmV8cVrzzUUTsRtU1+ZJStClVY81jmMb/EfMqwZIkSZKkYZpXXQQlSZIkaZhMsCRJkiSpJSZYkiRJktQSEyxJkiRJaokJliRJkiS1xARLkjTruu4vIrUuIjbrX0uSZoYJljQCImKTiFgZEbdGRJa/K8vjjoj4RUR8IiIeNguxvLU8b0bEKbV1+0fELRGxf4P9PS4ibqrddFpdImLDiLiifrxnetuZUm4C/40+dd442XWm3iLisq7PiL1LWeez47el/BFDDXL2vC8i3h4RsS4bR8S5EfG5hts8ohzrOyMiu8r3K+V/iIjl6xKPpNFigiWNgMy8IzO3prrLOMCRmbl1KdsMeD3wIuDizl3fZzCWt5fn7WXzrsf9IuKl3V/6ajYp9bdoNdD5ZRHVjbkfMsvbti4ink91E8dDpqqXmSdOcZ2ph8x8PGs+Izplnc+O9w4nqqF5LfBnwD833TAiHgQ8GfhCk+0yc3k51p+rlZ9Tyr/TNBZJo2nRsAOQND2ZeS9wekQcCLwUeAlw0pBiOS0ivpSZv2uwzYUR8aAm2yw0mfm7iNgOuHs2t21bRGwNfBR4Y2ZeMex4NH9l5u0RcThweUR8ITO/2mDzA4AAvjQz0Uma72zBkuaP75W/jx5mEOuSKJlc9ZeZvy/J9Kxu27K/B+4B/m3YgWj+y8wfAGcDxzbc9GDgO5l5c/tRSVoITLCk+aPzfv51fUVEvCgiLomIm8vjqxHx5FqdpRHxjoj4fkTcUMZSnRcRTx3kySPixF5jZiLiK8AHyuIZXWPH9omI15R/3xsR55X6+5UxWVnGjazs2tcHS/x3R8TFXeWPiohTI+LXZf1PIuINEfGAPjE/unvMRETsFBFfK6//1oj4dEQs7aq/1viziHhORFwaEbeVspeWehERR0TEj0o8qyPivyNipx4xbB0RH4mIX0XEjRFxdUT8V0Q8q6x/fK9xHWXdJhHxroi4KiJWRMTyiDgjIp7bb9uu5/5o13NfFRHHRsSGU7zm50XE5eX4fC8i9pvqGNe8EPhWZv6hRyxLy/G+JSKuj4gzS8tbvV49nr8o1+ztEfGNci2sV67H68pxeU9ETOixMeh1ExEvieo9c11E/KYcp2Mm2efLy/G5oRzX88q1sGG97nRFxNO6rr+rIuJYYMprvmvbfbqO428i4ppS/uNYM47rgIj454i4Nqr35GkRMaGraURsHhHvLdffjaX+SRGxuKvOeVGNQbq3PO+LutZdGBGndS0/qyu2lTFxHNmuEfGpcoxXRsTJEbHpJC/1HGDPXtfSJMdlEfB0BuweGBFHRcTPyzX0/ai6wA4kIo6ONZ91N0bEJ2PiZ9K2EfHFsv66qN7vva67HSLis+V6XxXVZ8/fRVRj0CJiy65jemf59yPKus0j4q6IeHXX/k4s74k/RMRXojaOLKrPyvPK674mIv5+0NctLQiZ6cOHjxF5UHUBTOClPdb9O3AvsGut/E2l/CVUX742AT5I1WXsz7rqHQT8Fti7LG8M/BNVi8OePZ4vgVMGKe+Ke+9JXtdy4Lyu5c2A3wFn96j7BuDkruU/AX4D/DfVOK6g+oJ0O/DvAx7XU0p8FwE7l7IdgV8BPwA27PEafwJ8BNgUeCDws855AT5cjuWBJZ4tgDNK2U5d+1kKXAtcCDyslD0SuAS4pVeMPcq+Dzy0LD8Y+CKwfIBtO899ATBWynYHbgS+Aqw3yWt+H7BRuT7OBO7sbN/nGG9b9nFCj3UbluN8PfDYUrYzVevDVNfZT4DjgPWBrYCrgB9Sjb/Zs9T7i1L38Nr2A183VD9avK/EGcC+wG3Ah3pc57cDTyzL6wNvK8//iJY/C55C9R7+TLkG1wdeA1xBj/caMF6PA3hnOcYbTfJ+vRDYr5Q9thyvz9fqbgxcRnX971DKdijLlwObdNU9ucS8RVfZGHBfOZ4bdJXvCPx4ktfwNcrnHLB32ecHJjlOzyjbHNLguCbwxwPUfUupeyTVD1ybUX0O/4za+63UP4+u92Y5ducAb+tR95Sy79OAR5ayvyplf9/jWr65XMuLS9kBwB3AR2t1rwQuq5W9oOz37Fr5q4F/6fEafl3iWlJe95vL9s9p8xr34WOUH0MPwIcPH4M/6JFglf+kX0z1ZfO5tfqPoEqQPl0rX5+SPHSV/Wn9P/ryn+cNwOk9YpmxBKuU/QdVYrhNrfwKYI+u5XOoEfp3qAAADIhJREFUvtRuUav37vKcjx/guHa+zBxSK/+7Un5Ej9d4E7BxV9nTgceU45jAO2rbPJgqGTmzq+xjpe6Otbp7MliC9RvgfbWyxwJfH2DbznPvXit/Xf0a63rNq1j7S/C+pfywAY7xfqXuUT3WvbqsO7JWfkif62wlsKirbLyUn1irex3w1VrZwNcN1VicDWr1TqD6Yv+grrL/Bi7tEeullAS6rQdwMfAH4CE9XlffBIsqMf0ateSqrHtpqfv+Wvkny3N2XwPHlLrPq9V9Xikf7yo7iNr7DDic6jMmgQO6yt8MvGuS13BUrfxbwLWTHKddyzZvH/C4vhe4aoB6DwZ+D3yvVr4pcAt9EiyqHym+Chw/yf5PKXE/u1b+S+D8Huf8bmDrWvkH69dCeX1J1+cqVZJ+A3AXsHlX+dnA/j1eQwK7dJVtWJ5/oB+0fPhYCA+7CEqj6QOlu8ZNVC09HwTenZln1Or9OVWr1VoDvDPzbqqWj50i4qGl7NuZeWyt3n3A1VS/Js+2T1AleC/uFETEk4DIzO+W5YcATwUuyczf1LbvdCE8oMFznltb7gxyP7hH3Ysz887OQmZ+OTN/QvVrMEw85jcBPwf2i4hFEbEe1ZfQX2Xmj2v7vpDq3PWzCnhJVN3k1i/P86PM3Heqjbqe+8bMvKS2+szyt1dXp0ty7e59vyx/HzpArA8uf3uNtzuo/P1KrfwbffZ5WWbe07V8Q/l7aa3er4BtOgtNr5vMfEZO7NZ4JdVEUd1jHlcBu0bEm6Kaia6z/W6ZeX2f1zKwiNiKqrXx0sysdwnud8yIiHGq1tVnZubvp6han/Xul1Q/zizpKutc72fV6n6B6ot493V0DlWryjO7yp7FmqS+Xv75BnFNdg12rrdBZ9E8mMG6B+5HlVisdc1mNZ704p5bFKW76P8A12TmMX2eZ8rX2nUtX5qZK2t1e72XO2XPLNuvT9UKeAywAeW6j+o+dY+n9/V0Z2Ze3lnIzLuA1Qz2OSAtCCZY0mjqTNP+YKouLfcC/xYRe9bqLSt/T4o1Y59WRjWuaU+qLx8Pg+pLd0QcFhHfimrsSKfek6hayWbbeVQtWy/tKnsZVeLVsT1Vl60n9Xh9H6J6fUsZ3I215c4Xlkf2qLtqkn10jvnpPWLahqo71JZUX1IXsyYpuF9m3peZXx8g3sOoWsVOBVZGdS+0vQbYrvPcK3qs68SzrMe6+pf5TtKx/gDPuUH5e0+PdZ3jW/+CWF8eNJ5e5Zt0LTe6bsqYn/+MiCvL+JaVrJmps/u9MQ58F3gX1fn4YkQ8v9eYmW4R8fB6HBHxgik2mex4TVbW7WjgH6m68W3Vp+4g53sZVWvrnd0Vy5fum+m6jkoydw6wf0RsEBEPpGphOpUqKX5mVLam6lL6vw3imuwYd663DSZZf7+IeBTwKAZLsNb1HKxP1dL5NOCJ/a4Ner/W7uPfuZYHfS9fQHVeOsnsU6i6JJ9BdayeVcoPAL7R44eFXjH1ikta0EywpBGXmd+iGpcUwFsnqfaykpB1P7bIzAdmZufX1ndTze52BtVYis59toZy75bMTKrxDDtExF4RsTFVq8sne1Q/u8frW1Je31EzFOJ9fdY/rUdMi0tM3clZ3y9+k8nM7wB/RNXa9XWqe6F9OyLev6777KPfa57KHeVvm1/CJotn0Dj7XjcRsRtVi+JDqM7p0lz7nnT3y8wVmbkXsBfVdPRPoron0rfK9dtTZv6yRxyNbnLbwKOpunZuDHysMwnCJKZzvidzJtV97/YG9gfOLa2QZ1L92LMbVSvSl8pnwHTj6ry/7piyVuVgqu5932qw/6YeStXN+XVUyeVbpqpcehG0JqvZRL8E7F0S3GdRdVu+Bfgm8IyS9D2LNa1ddTNxXUjzigmWND/8G1VXvv0j4nFd5VeWvw+rbxARi8vMUJ1fUF8OXJGZJ9V/jR6if6eM8aFKIi7MzO4Wn6vL+gmvDyAi9oiIbRs8X/0X/c6Nbn/RYB9THfOtYs3NllcDt1IN8q/XWy8itomIKZOviFiUmXdn5hmZ+XyqMXcXAkdGxPZTbNp57l5dejplV0313Ougc9563VC6c3zrNxaeqRsNN7luDqX6kn50Zl471U4j4gEREZn5ncw8gqrF8iNUidaLptq2ocmO12Rl3V6WmedR/aCyL9UYqOm4CnhQPYEs3eC2ZOJ19EWqL+jPBJ7Nmm6Anb/PZOrugU11rrdBumgeTJV092plrVvXc3B9Zr6WambVC4Cjo8fsog1cQ3UtN3kvn0nVvfEA1u4S+XngQVTXxZ8xsdunpAGZYEnzQPlV8viy+LquVZ1uH8/tsdnfACd1fZm4i+o/6rqHtxBiZxzEIoCIeGZEvLLfRpn5C6qugs8H/pa1uwd2xjWdAzw+atMwl7Fl32Lt8SL97F1bPrD8neyX3F46LQ+9jvmxVDPcdX6ZPh3YKiJ2r9XblypR26jPc90dEfe/vsxcAXy6LD6o9yZrPffSHs/d6Tp0ap/nbuoKqi/W2/RY1/mCVx8vt3fLMQCNr5u7OpvVdtMrcf86VStr53l+TzU+EqY4H01l5o1U43x2i4nTpu/dZ/PO+/1twI+B9zT8EaKuc50cWCs/mKpVfa3rqMR+EdV1th9lDFNW96xaTvVefxLV+WlD53r70VSVypi5vRhwenaqCUJ+T+2ajWq6+Pp7qts9cP978DCq7t2fGKCrYE9lDN65VNdyPbGb7L38FaoufccAK8o5gTWfcycAP+oxPlHSgEywpPnj01S/Zr4wIrYBKL+4vxl4alT3a1m/jHE4kGosxhu7tj8NeExE/G1pQVkUEW+l6oI2XVeUv48pEywcweA3RP4E1fTHj6Z3ovMaqm49H4uIMYDyhfGzwKmZWZ/wYCqHdloAI2JH4PVU035/dNAdlG57/1L29cJyLB8QEYdRTbPc3Y3zLVQz3H2gfLEnInYA3k81O+BtAzzliRGxWdl2K+AvgZ9STWIyle7n3rpsvzvVa/4qvbtirrPSBekSqunX6z5O9QX49eW4U87DEW3GUDPodXMG1Zfg4zrJTEQ8kWqGyV7e2EnaImIj4JVU4+TaapHpeD1VAvOBiNi0vLf/lmoWyb7KGKnDqMamfWwacbyP6ibnx5drl4hYRvWDz/eB9/TY5kyqH25+kJm3d5V/gep9fkGLrei7UCXJ3+xT7+lUx/PLg+w0q5sQHwfsEtX9ptYr78MPsSYp77ePq6g+h3dj7c/ipo6gugXEh6Lceywi9qcas/qxzDy/9ry3U/1wtTNdn6mZuZzq824Xmv2oJKku58BUhj58+Jj6QfUlaCVVt64sf1dSuz8Va6ZXvoW177fyF1Rdx26imoXqXGDf2rYbU/1yuZxqEPTlwDuoBu3fW57vAKoEYWV5njvLv5cBJ/Yq79r/sVTdxFZS/YK6FdWX3JVl/38o/96nx2u/DfjgFMdne6qphm8sz/ETqsRywwGP7ykl7u2ovlj8qhzDzwBLu+q9qsdrfFWP/QXVF+vvl2N+LdWXx9161N2a6v5A15f9XQEcRTVbIlQzea0sz9eZmvzosu7FVOMprqMa5P4Lqi94W/fbtqwfo/pyfX05dldTTdSwYZ/XvAnVF8PVpfy3wM8GOM6Hl/P80B7rllL9SHBLOYdfo0oWup/30ZPE8wCqBKbz/riZquXoEWX9H1hzDR/U9Lqhao25mGpa9yuoZoA7oeu5PlHqPZnq9gJXl/PxqxJX31sFrOPnwtOoktbbyrn/p3LddeL6Sql3TTlHWc7ZO7uOzd2smYL/NVRfvLuP40fLPn5Q28fbu+LYnCrRWl6O5XVUk4AsniTuHct+Xl0r70z7/9c9tqm/hrdSdXOrX9+v6NpmvXJO/2OAY/kZatOfD3gOjqSaHfSm8lx/w5rPk5Ulzp17XYdU3UZvLHXvKeW93rOHUX3G1vfRPa39DlSt5yvLufxxiS0mibtza4T6LSKOK+Xb18p7vYb9gH2Y+Bm+Y9Pj6MPHfHt0/gOXpAUrIk4BXpKZUw341zRFNSX0ZcA3M/PVw45H81tEvJDqB4THZtU6M1m9RVRJ2zsy872zFJ6kecwugpKkWZHV/deeDTxrkDF40roq3Tj/GXjRVMlVsSXVpBMzNXOjpAXGBEuSNGsy8xrg/wBPGHYsmteeDhycmX3HEmXmqswcz8xf9qsrSYOwi6CkBSsiHg2cT3XT3Y2oxkOclJknDjUwSZI0skywJEmSJKkldhGUJEmSpJaYYEmSJElSS0ywJEmSJKklJliSJEmS1BITLEmSJElqyf8HvG+iTL8+YXgAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Plotting attributes\n", "ax_rel.set_xlim(xmin, xmax)\n", "ax_rel.set_xlabel('Realitive precision (dmeas - dknown) / dknown',fontsize=18)\n", "ax_rel.set_ylabel('Frequency',fontsize=18)\n", "ax_rel.legend(loc='best',fontsize=18)\n", "\n", "\n", "d = {'Entries':\"{:d}\".format(len(distrel[mask_distrel])), \n", " 'Mean':\"{:.3f}\".format(distrel[mask_distrel].mean()), \n", " 'STD Dev.':\"{:.3f}\".format(distrel[mask_distrel].std(ddof=1))}\n", "\n", "ax_rel.text(0.02, 0.95, nice_string_output(d), family='serif',fontsize=18, \n", " transform=ax_rel.transAxes, verticalalignment='top')\n", "fig_rel.tight_layout()\n", "plt.ion()\n", "fig_rel" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "lines_to_next_cell": 2 }, "outputs": [], "source": [ "if (SaveFigures):\n", " fig_rel.savefig('UncalibratedCalibrated.pdf', dpi=600)" ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 2 }, "source": [ "\n", "## Calibration using 2D histograms\n", "\n", "----" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "# Histograms for making calibration:\n", "ax_lsig2D.hist2d(lsig, distrel, bins=50, range=[(0, 50), (-1,1)], cmin=1, alpha=0.5)\n", "ax_lsig2D.set_xlabel('Signal light from star (lsig)');\n", "ax_lsig2D.set_ylabel('Realitive precision (dmeas - dknown) / dknown');" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "x_center_lsig2D, mean_lsig2D, std_lsig2D = profile_x(lsig, distrel, bins=(50, 50), xyrange=[(0, 50), (-1,1)])\n", "x_binwidth_lsig2D = x_center_lsig2D[1] - x_center_lsig2D[0]" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "lines_to_next_cell": 2 }, "outputs": [], "source": [ "ax_lsig2D.errorbar(x_center_lsig2D, mean_lsig2D, xerr=x_binwidth_lsig2D/2, yerr=std_lsig2D, fmt='r.', \n", " ecolor='r', elinewidth=1, capsize=1, capthick=1);" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "# Fit of the effect from \"lsig\":\n", "def simple_fit(x, p0, p1):\n", " return p0 + p1*x" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 64.02923382584724TOTAL NCALL = 43NCALLS = 43
EDM = 6.411925730222158e-22GOAL EDM = 1e-05\n", " UP = 1.0
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueHesse ErrorMinos Error-Minos Error+Limit-Limit+Fixed?
0p00.1151340.00603747No
1p16.3696e-060.000221784No
\n", "
\n",
       "\n",
       "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Simple fit\n", "Fit value: p0 = 0.11513 +/- 0.00604\n", "Fit value: p1 = 0.00001 +/- 0.00022\n" ] } ], "source": [ "chi2_object_simple = Chi2Regression(simple_fit, x_center_lsig2D, mean_lsig2D, std_lsig2D)\n", "minuit_simple = Minuit(chi2_object_simple, pedantic=False, p0=0.0, p1=0.0)\n", "minuit_simple.migrad() # fit\n", "p0, p1 = minuit_simple.args\n", "print(\"Simple fit\")\n", "for name in minuit_simple.parameters:\n", " print(\"Fit value: {0} = {1:.5f} +/- {2:.5f}\".format(name, minuit_simple.values[name], minuit_simple.errors[name]))" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x_fit = np.linspace(0, 50, 1000)\n", "y_fit_simple = simple_fit(x_fit, *minuit_simple.args)\n", "ax_lsig2D.plot(x_fit, y_fit_simple, '--k')" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "d = {'Entries':\"{:d}\".format(len(lsig)), \n", " 'Mean x' :\"{:.3f}\".format(lbkg.mean()), \n", " 'Mean y' :\"{:.5f}\".format(distrel.mean()), \n", " 'RMS x' :\"{:.3f}\".format(lbkg.std(ddof=1)), \n", " 'RMS y' :\"{:.5f}\".format(distrel.std(ddof=1))}\n" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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t4XUhFxT7NbmZvL32XNX1TeTdyAgvrEZb5x18V0JOltS5txbm/fgc23rDEDl9mZcpy12y85mc16ACp+kM8+2rQI072wm94B9na3c2UJrrW2l3dqYxHXa2761pcUcC1C7M0mXcTe5taGZroB1proubLlXb2sit9W2zserkuQesm8vVQ1h8z1em6Qrzz7v6rbuxHXY2l+9Zac5L0B81158rn17qa1sIqfNdoyJb22CTuOOBohv3oHrtB/f4tXN+EnjzfHVFTvsuTfWm2MBqjc14CK2Y2No/kRdMwR0NFz222089g+/MsdbDOYpgm8Aq4HVzrkzgA8D76K70JIR7tblH812E4gtnWuK27ihIShvQdHUoB7P2dBAbEGROdx1dpl7jG89azJvC+htvus3cS654Cx7fLUjdt7Zptixu1PMn3uOOfehHbnMn2WP7xwLsy8IyL8hn8WTbNM+od6xcKY997hT4JILbLkBOvMgdpEtf3u0jeLz7XeFd77sWHSGve05HXDJHPu8u7TIHptqhoVT7W3/44Jc5pxjz7+vMZ9559vic1/uYvGZ9m0dYH7A9pIaD3ON8V35jkUByw0gGrCvydvTysLzphtj24i+zb7OAESLQ+Z7DnNjM8zx7mArsYDtLbpkljnW/3cd0YDjU2R/B8XWY3NbO7F59tw5bSmil9u7g+3a1EhxwLEdIHbxTHNs0DnR2HxiV86xxwfkj15+Acvuv9Gc93gXVzC4joYPS98i+N1haouIiIiIiMiopqcIioiIiIjISSf6/A+55Z73EX3+hxkdrwosERERERE56ZS9+2Nvec2UAW8RdM6dBlwIjAPqvffVGW2BiIiIiIjICaLPAss5NxH4D+AKIAl0AKc75w4Cn/Le/yEksXPuGuDG9Li99/5rR33+V0AhsBNYCHzVe78l/VktUJsedLv3PrNlp4iIiIiIiEF/V7AeAP7Re7/syDedc6cDf+uca/Leb7ckdc6NB74DzPXetznnnnbOXe29f+GIwSYCn/fee+fczcDfAx9If7bSe7/ckltERERERGS49PobLOdcDvA33vv/Pvoz7/1u4LPAmwF5LwPqvPdt6b9/A7zvqDxf8f5wJ0I5R+V7h3PuXufcA865y/tK4py7yzn3unPu9ebmsP4yREREREREBtJrgeW97/Le7+/tM+fc7b5bQHeaTAOO7Kh4f/q9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MebH1to/7cU6iYiIiIiI9EqRdNPeIbkyxpwUveqIiIiIiIj0Xl3dInivtfYXxph/A7b9Y2AscNjeqJyIiIiIiEhv0lUnF2+3vX4OPNT2fwNcHtUaiYiIiIiI9FJdPYP1Xtvr9bt+box5OtqVEhERERER6Y26ukXwV2EmHQcsiE51REREREREeq+ubhH0Aa+F+LwySnURERERERHp1bpKsK6x1hbs/qExZkUU6yMiIiIiItJrGWtt1zMYEwOcBAxv++h0a+13o12xnpacnGxXr169r6shIiIiIiK9hDFmjbU2eU9iurqC1e4xoA6YAnwGDHGom4iIiIiIyJdetwMNA9nW2quBd621vwTeiXKdREREREREeqVIEqxRba/DjDFjgGOiWB8REREREZFeK5IEa5Mx5jTgLSAV2BDdKomIiIiIiPRO3T6DZa19dJe3ev5KREREREQkjG4TLGPMeOB+oBp4Ayiw1q6KbrVERERERER6n0huEfwl8CCQDbwC9Lou2kVERERERPaGSBKsdGvtf4A6a20jUBzlOomIiIiIiPRKkSRYPmPMPKCPMWYaMDHKdRIREREREemVIhlo+LfAE4APWARcEtUaiYiIiIiI9FLdXsGy1m6y1s631g6w1h4LzNgL9RIREREREel1wiZYxpgEY8y5xphv7PLZt4Ele6NiIiIiIiIivU1Xtwg+ByQAQ4wxhwCXA9uAi/ZCvURERERERHqdrhKsQmvtNQDGmA+BG6217++daomIiIiIiPQ+XT2DVbHL/99qT66MMSdGt0oiIiIiIiK9U1dXsE4yxgxo+/9cY8ygtv/PA96NbrVERERERER6n64SrEagtu3//97l86boVUdERERERKT36irB+oW19rPdPzTGzI5ifURERERERHqtsM9ghUqu2j5fE73qiIiIiIiI9F7dDjQsIiIiIiIikVGCJSIiIiIi0kOUYImIiIiIiPSQrjq5iBpjzBDgHiALmATcYq0tCTFfDpDT9nartfYHbZ+PB24DMoHxwPXW2pooV1tERERERKRL++oK1m+AFdbae4BXgPvCzPeMtfb4tn8/2OXzR4HHrLV3AxuAG6NbXRERERERke7tqwTrNOCjtv9/2PY+lK8ZY35hjLnTGDMfwBgTD3wD+Ky7eGPMpcaY1caY1aWlpT1XexERERERkRCidougMeYdYGSISb8CRgDVbe+rgMHGmDhrbfNu895srf3UGNMP+NwY801aBz/eYa21u8SPCFUHa+3jwOMAycnJNtQ8IiIiIiIiPSVqCZa19qRw04wxAWAgUAkMAraFSK6w1n7a9lpnjFkHHAM8D/Q1xpi2JGsQEIjCIoiIiIiIiOyRfXWL4BvA0W3/P6btPcaYGGPM2Lb/n2iMOXmXmImA31rbBPwbmLN7vIiIiIiIyL60T3oRBG4BfmuMmQwcBtzQ9rkPeBaYTutVqSXGmFnAwcDL1toP2ub7CfArY8wiYCxw3d6svIiIiIiISCjmi0eZvtySk5Pt6tWr93U1RERERESklzDGrLHWJu9JjAYaFhERERER6SFKsERERERERHqIEiwREREREZEeogRLRERERESkhyjBEhERERER6SFKsERERERERHqIEiwREREREZEeogRLRERERESkhyjBEhERERER6SFKsERERERERHqIEiwREREREZEeogRLRERERESkhyjBEhERERER6SFKsERERERERHqIEiwREREREZEeogRLRERERESkhyjBEhERERER6SFKsERERERERHqIEiwREREREZEeogRLRERERESkhyjBEhERERER6SFKsPbAkiVLMMaE/PfMM884/c2VK1eyZMmSHqvjypUrMcawcuXKHvub0j2/388VV1zBzJkziYuLY/z48SHn2/H/7d15XFXV/v/x1wIFBAFRzCEN0XLCKYVrzqI4lJWp38ycM600h7S+DmkOadrg0DXHTMMsp1Qq66dmN1NTnG5mmpUDOaapaQ6IIrB+fxw4X46geRj03ng/H4/9cO+1P3uttQ9b4MNee+2EBAYMGMBdd91FwYIFeeihh4iLi8sQ98MPP9C4cWN8fX0pWbIkI0aMIDk5OUPcjBkzKFeuHD4+PtSsWZO1a9dmiDl79ixdu3alUKFCBAYG8uSTT3LmzJlsn7OIiIiIZJTvTnfgv9H69evx8vJyKStXrlyW6vrmm28YM2ZMjiVZNWvWJDY2lsqVK+dIfXJrdu/ezWeffUbdunVJTk7mwoULmcb16dOHFStW8Pbbb1OsWDGGDh1Ks2bN2LNnDwUKFADgzJkzREVFUaFCBT755BN++eUXXnrpJVJSUhg/fryzrvnz5/P8888zYsQIIiMjmTlzJo888gjbtm2jWrVqzrh27dqxb98+5syZg6enJy+8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NWoUI0aM4Pz58zRt2hRjDD/++CMff/wx69evx9vbmwcffJCYmBiGDBlC8+bNiY2NZe7cuW7f7XDHjh07GDZsGK+//jrVqlWjWrVq9OvXj2eeeYaIiAjn3TVxz+HDh+ncuTOdO3fm3nvv5cKFC7z//vts3ryZxYsXZ3pM165dWb9+PevWraNx48Yu+w4dOsT8+fN54IEHyJcvHzExMUyfPp2pU6c6Ey6Ajz76iKtXr1KuXDlOnTrFm2++yaVLlxg3bpxLfTt27ODQoUPO2Sl37NhBwYIF8fPz0xBRERERkRymBCsXDB48mLvvvpu3336bGTNmkD9/fipUqECrVq2cs/717NmT48eP89577/HOO+9Qu3ZtPv/8c5chYDnp4sWLdOjQgYYNGzJw4EBn+RtvvMHXX3/Nk08+ycaNG92alVAc/P39CQwMZMyYMZw9exZPT0/uv/9+Pv/8cx566CG36/P29ubrr79m8uTJJCYmEhYWxkcffUTHjh1d4jw8PHjjjTc4fPgwvr6+NG3alIULF2ZIlKdNm8b8+fOd29OnT2f69OmEhIRw6NChLJ2ziIiIiGTOWGvvdB9ui/DwcHv9S3xFRERERERuxBjzb2ttuDvHaBZBERERERGRHKIES0REREREJIcowRIREREREckhSrBERERERERyyB1JsIwxhY0x7xpjhhpj5hpjimUS09gY86Mx5pvUZa8xZnTqvlnpyr8xxlTN7T5HR0djjCE4OJikpCRn+ZQpUzDGUKZMmdzuguSwlJQUxowZQ6lSpfD19aVBgwbs3Lkz2/X+9ttvBAQEYIzhypUrN4ybOnUqxhg6dOjgUh4TE0OjRo0oWrQoBQoUoEKFCowdOzZDXX379qVKlSr4+/tTqFAhGjZsyJdffpmhne3btxMZGYmvry+BgYE89thjxMXFZfs8RURERCSjO3UHazzwlbX2deATYGImMb8Bna21ja21jYHNwPup+06mlacuu29Lr4Fr166xfv165/by5csJDAy8Xc1LDho7diyvvfYaL730Ep9++in58uUjKiqKEydOZKvegQMH/uV09ydPnmTs2LEULFgw030RERHMmDGDVatW0bt3b9544w06d+7sEvfHH3/Qo0cPlixZwtKlSylVqhQtW7Zk5cqVzphTp04RFRVFYmIiS5YsYebMmezcuZMmTZoQHx+frfMUERER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Hu0si4uLo2PHjpQqVQpfX18qVqxIr169+P3332/XKUkOGTt2LPfffz+FChXC39+fiIiILL84OjExkWHDhtGoUSP8/PwwxnDo0KFMY7dv306LFi0ICAjA39+f2rVr8/3332eIiYyMxNfXl8DAQB577DHi4uKy1DcRERERuTklWG6KiooiNjaWL7/8ku7duzNr1iyaNm1KcnKyMyYgIICYmBjn9oEDBzh8+LBLPcePHyciIoJ9+/YxadIkVq1axYABA9i6dStHjx69becjOeP333/n8ccf54MPPuCTTz6hXr16dOzYkWnTprld1+XLl5k5cyY+Pj40aNDghnE7duygUaNGJCcns2DBAlasWEHr1q25fPmyM+bUqVNERUWRmJjIkiVLmDlzJjt37qRJkybEx8dn6VxFRERE5MY0TbubihQpwgMPPABAo0aNuHbtGqNHj+bbb7+lUaNGAFSqVInTp0+zfft2IiIiWLFiBQ8//DAfffSRs565c+dy/vx5Vq9eTXBwsLO+5557jqSkpNt/YpIt1ydSTZs25bvvvmP27Nn07dvXrboCAwM5e/YsHh4evPfee6xZsybTuBdffJHy5cuzatUq5wusmzVr5hIzffp0EhISWL58OcWLFwegVKlSNGrUiA8++IDevXu71TcRERERuTndwcqmiIgIAE6cOOFS3qZNG5YvXw7A8uXLadu2rcv+EydO4OXlRVBQkEu5Mcb5y/Kt2rBhA56eni4JnLWW5s2bExYWRkJCglv1Sc4ICAjIUrJsjMHD4+b/NU+ePMmGDRt49tlnb3q9/Pjjj5QrV86ZXAE0aNAAb29v1q5d63bfREREROTmlGBl0/HjxwHHXav02rRpw4oVKzh27Bg//fQTzZs3d9lfo0YNEhISePrpp/nll1+y1YeGDRsyfPhwnn/+eedQxClTprBx40YWL15MgQIFslW/3LqkpCTOnTvH3LlzWb16Nb169cqVdn744QcAgoKCaNKkCV5eXtx1110MHjzYJalLTEzMkIAZY8iXLx/79+/Plb6JiIiI5GVKsNxkrSUpKYmEhAQ2bdrE+PHj6d27N9WrV3eJq1OnDhcvXmTMmDG0bNkSHx8fl/09evSgTZs2zJ8/n4oVKxISEsILL7zAwYMHs9SvUaNGERYWRufOnfnuu+94+eWXmThxIlWrVs3yuYp7Dh06RP78+Slc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TpzAy8uLoKAgl3JjjPNlwbfqnXfewdPTk+PHj7uU79+/H2MM77//vlv15VXvv/8+RYsW5cEHH3TruIMHD3LlyhXq1avnUh4VFcXJkyfZs2fPTdusUaMG1apVy7Bv8ODBPPbYY9SoUeOGx//xxx8MGzaMt99+G2NMhv3BwcEZyipXrgxkvGZFREREJPuUYGVTWlJTqVIll/I2bdqwYsUKjh07xk8//UTz5s1d9teoUYOEhASefvppfvnll2z1oXPnznh5eTF//nyX8ujoaPz9/Wnfvn226s8LLl68yLJly3jyySfdTnATExMBMhzn5eUFOBLdzBw8eJCNGzfStWvXDPs2bdrEihUreO21127a9rBhw4iMjKR+/fq33N8tW7YAZJrUiYiIiEj2KMFyk7WWpKQkEhIS2LRpE+PHj6d3795Ur17dJa5OnTpcvHiRMWPG0LJlywwTJ/To0YM2bdowf/58KlasSEhICC+88AIHDx50u09BQUE8/vjjREdHO8tSUlJYsGABHTt2xM/PL0vnmpcsXbqUy5cvZ5rs/JWyZctijGH37t0u5du3bwfg/PnzmR4XHR2Np6cnHTt2dClPTk6mT58+DB069KbP4m3dupUPP/yQN99885b7euTIEaZMmULr1q2dd7JEREREJOcowXLT0qVLyZ8/P76+vtSvX5+WLVsyY8aMDHEeHh60bt2auXPnZhgeCI67HStWrGDbtm0MHTqUEiVKMHXqVGrUqMGOHTvc7tczzzzD/v372bBhAwD/+te/OHr0KD179nT/JPOg6OhowsLCqFWrltvHFipUiHbt2jFt2jS+/vprzp07x7x581i7di1ApkP3UlJS+OCDD2jevHmGJGrq1KlcuHCBQYMG3bDNtCRswIABlClT5pb6eeXKFdq3b09gYCBz5sy59RMUERERkVumBMtNzZs3Z/v27XzzzTc8/vjjzJo1i1mzZmUa27VrV1q0aEGrVq1uWF9ERAQTJkxgy5Ytzjse48aNc7tf9evXp1KlSsybNw9wJAw1atQgPDzc7brymv379/Ptt9/SpUuXLNcxdepUKlasSNOmTSlcuDCvvPIKr7/+OgBFixbNEP/1119z5MiRDHfMzpw5w6hRoxg1ahTXrl3j0qVLJCQkAI4EKW197ty5HD58mP79+3Pp0iUuXbpEUlIS1louXbrEtWvXXOq11tKtWzf27dvHqlWrMu2TiIiIiGSfEiw3BQUFER4eTqNGjVi0aBE1a9bklVdeyfS9QnXr1mXVqlX4+/vfUt21atWiadOmWX4mq1evXixbtozjx48TExOju1e3KDo6Gg8PDzp37pzlOkqUKMHGjRs5evQoe/bs4ddff3UOC71++Cg4JrcIDAykdevWLuXHjh3j4sWLPPXUU/j7++Pv789DDz0EOJ7rS5tUZe/evfzxxx+ULFnSGffRRx9x6tQp/P39na8ISDNo0CBWrlzJypUrCQsLy/J5ioiIiMjNKcHKBk9PT9566y3OnDmT6TDBmzl16lSGspSUFOLi4rJ8d6Fbt24kJSXxxBNPYK2lU6dOWaonL0kbqtekSRPuvvvum8b+/PPP/PzzzzeNKVWqFGFhYXh6ejJjxgzq1q1L6dKlXWLOnz9PTEwMjz/+eIZn8+677z42btzosqS9sHjixIksWLAAgAEDBmSIe/DBBylcuDAbN27kySefdNb55ptvMm3aNJYuXZphpkMRERERyVl60XA2NWnShPr16zN58mT69+9/y8fNmzeP5cuX89RTTxEWFsaFCxeYN28eu3fvZtGiRVnqS+HChWnXrh0LFy7kySefpFChQlmqJy9Zu3Ytx44dY/z48X8ZmzZTpOOVCK5WrVpFXFwclStX5uLFi0yfPp0ffviBb775JkPs4sWLSUhIyHRCDT8/vwwzAiYlJQEQFhbG/fffD0BoaCihoaEucXfddRf58+d3OX7hwoUMGTKEvn37Ehwc7JxBEBzJYKlSpf7yvEVERETk1inBygGjRo2iWbNmbk0c0LJlS3755RemTJnC8ePH8fPzo3LlyqxcuZKHH344y3157LHHWLhwIU899VSW68hL3n//fQoWLJjpRCTu8PLyYvbs2Rw4cID8+fNTp04d1q9f7xzSd32boaGhbk2tnlVffvklANOmTWPatGku+0aNGsXo0aNzvQ8iIiIieYnJ7K/xf0fh4eE2K7Pz/bfp2rUrGzdu5ODBg3h4aASoiIiIiEhWGWP+ba11a9Y43cH6m9iyZQvff/89CxcuZOLEiUquRERERETuACVYfxN16tTBz8+Pnj170q9fvzvdHRERERGRPEkJ1t9EXhnqKSIiIiLyn0zjyERERERERHKIEiwREREREZEcogRLREREREQkhyjBEhERERERySFKsERERERERHKIEiwREREREZEcogRLREREREQkhyjBEhERERERySFKsERERERERHKIEiwREREREZEcogRLREREREQkhyjBEhERERERySFKsERERERERHLIbU+wjDEexphnjTGnjDFVbhIXZYyZYYwZbYwZla68sDHmXWPMUGPMXGNMsdvTcxERERERkZvLdwfarA5sBS7fKMAY4wvMAsKstVeNMcuNMU2ttf8CxgNfWWuXGmMeASYCXW5Hx0VERERERG7mtt/BstbutNZ+/xdhdYDD1tqrqdubgFap662A2EzKRURERERE7qhcuYNljFkDZDZ0b6S19rNbqOIu4GK67QupZdfvuwAEGWPyWWuTMunHM8AzqZtXjTF7bqX/IjkkGDhzpzsheYquObnddM3J7aZrTm63Cu4ekCsJlrW2RTarOAX4p9sOSC1Lv+/P1PJzmSVXqf14F3gXwBizw1obns1+idwyXXNyu+mak9tN15zcbrrm5HYzxuxw95j/qFkEjTGhqauxQIgxxjt1ux7wRer6FziGEF5fLiIiIiIickfd9kkujDFBwPNAIPCMMWahtXaLMaYo8K0xppy19rIxpjcw1RhzGvghdYILgJeBN4wx5YFywEu3+xxEREREREQyc9sTLGvtOWBc6pK+/DRwd7rttcDaTI4/C/TKQtPvZuEYkezQNSe3m645ud10zcntpmtObje3rzljrc2NjoiIiIiIiOQ5/1HPYImIiIiIiPw3uxMvGr7tjDFRQFscMxBaa+2YO9wl+ZsxxhTHMey1urU2IrXMB8eLsI8D9wGvW2v33bleyt+FMaYcjuvtO6AU8Ie19lVjTGHgdSAOxzX3srX29zvXU/k7McZ4ACuBrYAXjuegewAF0HUnucQYUwDHNfeltfYl/WyV3GaM2QJcSd1MttY2dffn698+wTLG+AKzgDBr7VVjzHJjTNN0k2aI5IT6wKdAjXRlLwBHrLVvGmOqAnOBBneic/K3UxhYbK39FMAYs9cY8wWO51O/stYuNcY8guOXkC53sJ/y9xNrrR0HYIz5FMcfLxug605yzzhgZ7pt/WyV3LbaWjv6urLxuPF9Li8MEawDHLbWXk3d3gS0uoP9kb8ha+0yXF+ODY7rLDZ1/26gujEm4Hb3Tf5+rLXb05KrVB5APOmuOfS9TnKYtTYlXXKVD8fd01/QdSe5xBjTBcc19Wu6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\n", "text/plain": [ "
" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ax_lsig2D.text(0.02, 0.2, nice_string_output(d), family='monospace', \n", " transform=ax_lsig2D.transAxes, fontsize=16, verticalalignment='top')\n", "\n", "fig_lsig2D.tight_layout()\n", "\n", "fig_lsig2D" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Your Task (reminder)\n", "\n", " As always look at the data and get a feel for each of the variables. A good idea might\n", " be to plot them all to know what range to expect them in.\n", "\n", " Next, consider the distribution of \"relative differences\" (RD) between the observed\n", " and actual distance: RD = (dist_obs - dist_known) / dist_known\n", " The RMS is 0.27, i.e. a 27% precision, and it is neither centered at zero (as it\n", " should, not to be biased), nor very Gaussian. There is also a long tail towards too\n", " high values. This is what you want to improve upon!\n", "\n", " Finally, there is the distribution of the bias and relative precision as a function of\n", " the signal luminosity (lsig). As you can see, the response does not depend on lsig,\n", " and so there seems to be no (varying) bias from this variable. Check the other three\n", " variables, and if you find some bias, try to correct for it, such that you get the\n", " relative difference to be the most narrow Gaussian centered around 0.\n", "\n", " Note that if you are on average say 50% too high compared to the true values, then\n", " you need to correct by 50%, i.e. divide by (1 + 0.5), and in general, if your\n", " measurement is f(x) off, where f(x) describes the offset, then you need to divide\n", " by (1 + f(T)). Why:\n", "\n", " RD = (d - d_true) / d_true => d_true = d / (1 + f(x))\n", "\n", " Thus define d_calib = d / (1 + f(x)), and continue using d_calib when considering\n", " other effects.\n", "\n", "\n", "Questions:\n", "----------\n", "1. \n", " a. What corrections do you apply for each of the variables, and how much do each of them improve on the result?\n", " \n", " b. What is the final resolution you obtain?\n", " \n", " c. Do you think that further improvements are possible?\n", "\n", "Advanced Questions:\n", "-------------------\n", "2. Try at the end to figure out, which variables the final resolution depends on.\n", " Can you give an estimate of the uncertainty for each single star?" ] } ], "metadata": { "executable": "/usr/bin/env python", "kernelspec": { "display_name": "Python 3", "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.6.7" }, "main_language": "python" }, "nbformat": 4, "nbformat_minor": 2 }