2021-10-11 18:31:02 +01:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
2022-05-20 11:00:52 +01:00
"import matplotlib\n",
"import matplotlib.pyplot as plt\n",
"import pyerrors as pe"
2021-10-11 18:31:02 +01:00
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"plt.style.use('./base_style.mplstyle')\n",
2023-01-26 17:16:17 +00:00
"import shutil\n",
"usetex = shutil.which('latex') != ''\n",
2022-05-20 11:00:52 +01:00
"plt.rc('text', usetex=usetex)"
2021-10-11 18:31:02 +01:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Read data from the pcac example"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
2022-01-06 12:07:19 +01:00
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data has been written using pyerrors 2.0.0.\n",
"Format version 0.1\n",
"Written by fjosw on 2022-01-06 11:27:34 +0100 on host XPS139305, Linux-5.11.0-44-generic-x86_64-with-glibc2.29\n",
"\n",
"Description: SF correlation function f_P on a test ensemble\n"
]
}
],
2021-10-11 18:31:02 +01:00
"source": [
2022-02-15 13:38:22 +00:00
"fP = pe.Corr(pe.input.json.load_json(\"./data/f_P\"), padding=[1, 1])\n",
"fP.gamma_method()"
2021-10-11 18:31:02 +01:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can now define a custom fit function, in this case a single exponential. __Here we need to use the autograd wrapped version of numpy__ (imported as anp) to use automatic differentiation."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"import autograd.numpy as anp\n",
"def func_exp(a, x):\n",
" y = a[1] * anp.exp(-a[0] * x)\n",
" return y"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Fit single exponential to f_P. The kwarg `resplot` generates a figure which visualizes the fit with residuals."
]
},
{
"cell_type": "code",
2022-01-06 17:51:50 +01:00
"execution_count": 5,
2021-10-11 18:31:02 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fit with 2 parameters\n",
"Method: Levenberg-Marquardt\n",
"`xtol` termination condition is satisfied.\n",
2022-01-06 12:07:19 +01:00
"chisquare/d.o.f.: 0.0023324250917749687\n",
"\n",
" Goodness of fit:\n",
"χ²/d.o.f. = 0.002332\n",
2022-01-18 14:53:19 +00:00
"p-value = 1.0000\n",
2022-01-06 12:07:19 +01:00
"Fit parameters:\n",
"0\t 0.2036(92)\n",
"1\t 16.3(1.3)\n",
"\n"
2021-10-11 18:31:02 +01:00
]
},
{
"data": {
2022-05-14 11:46:57 +01:00
"image/png": "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
2021-10-11 18:31:02 +01:00
"text/plain": [
"<Figure size 800x494.438 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
2022-01-06 12:07:19 +01:00
"start_fit = 9\n",
"stop_fit = 18\n",
2021-10-11 18:31:02 +01:00
"\n",
2022-01-06 12:07:19 +01:00
"fit_result = fP.fit(func_exp, [start_fit, stop_fit], resplot=True)\n",
2022-02-15 13:38:22 +00:00
"fit_result.gamma_method()\n",
2022-01-06 12:07:19 +01:00
"print(\"\\n\", fit_result)"
2021-10-11 18:31:02 +01:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The covariance of the two fit parameters can be computed in the following way"
]
},
{
"cell_type": "code",
2022-01-06 17:51:50 +01:00
"execution_count": 6,
2021-10-11 18:31:02 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-01-06 12:07:19 +01:00
"Covariance: 0.009831165592706342\n",
"Normalized covariance: 0.8384671239654656\n"
2021-10-11 18:31:02 +01:00
]
}
],
"source": [
2022-05-14 11:46:57 +01:00
"cov_01 = pe.fits.covariance([fit_result[0], fit_result[1]])[0, 1]\n",
2021-10-11 18:31:02 +01:00
"print('Covariance: ', cov_01)\n",
2022-01-06 12:07:19 +01:00
"print('Normalized covariance: ', cov_01 / fit_result[0].dvalue / fit_result[1].dvalue)"
2021-10-11 18:31:02 +01:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Effective mass"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Calculate the effective mass for comparison"
]
},
{
"cell_type": "code",
2022-01-06 17:51:50 +01:00
"execution_count": 7,
2021-10-11 18:31:02 +01:00
"metadata": {},
"outputs": [],
"source": [
2022-01-06 12:07:19 +01:00
"m_eff_fP = fP.m_eff()\n",
"m_eff_fP.tag = r\"Effective mass of f_P\""
2021-10-11 18:31:02 +01:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Calculate the corresponding plateau and compare the two results"
]
},
{
"cell_type": "code",
2022-01-06 17:51:50 +01:00
"execution_count": 8,
2021-10-11 18:31:02 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-01-06 12:07:19 +01:00
"Fit with 1 parameters\n",
"Method: Levenberg-Marquardt\n",
"`ftol` termination condition is satisfied.\n",
"chisquare/d.o.f.: 0.13241808096937788\n",
"\n",
"Effective mass:\t 0.2057(68)\n",
"Fitted mass:\t 0.2036(92)\n"
2021-10-11 18:31:02 +01:00
]
}
],
"source": [
2022-02-15 13:38:22 +00:00
"m_eff_fP.gamma_method()\n",
2022-01-06 12:07:19 +01:00
"m_eff_plateau = m_eff_fP.plateau([start_fit, stop_fit])\n",
2021-10-11 18:31:02 +01:00
"m_eff_plateau.gamma_method()\n",
2022-01-06 12:07:19 +01:00
"print()\n",
"print('Effective mass:\\t', m_eff_plateau)\n",
"print('Fitted mass:\\t', fit_result[0])"
2021-10-11 18:31:02 +01:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2022-01-06 12:07:19 +01:00
"We can now visualize the effective mass compared to the result of the fit"
2021-10-11 18:31:02 +01:00
]
},
{
"cell_type": "code",
2022-01-06 17:51:50 +01:00
"execution_count": 9,
2021-10-11 18:31:02 +01:00
"metadata": {},
"outputs": [
{
"data": {
2022-05-14 11:46:57 +01:00
"image/png": "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
2021-10-11 18:31:02 +01:00
"text/plain": [
2022-01-06 12:07:19 +01:00
"<Figure size 640x395.55 with 1 Axes>"
2021-10-11 18:31:02 +01:00
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
2022-01-06 12:07:19 +01:00
"m_eff_fP.show(plateau=fit_result[0])"
2021-10-11 18:31:02 +01:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fitting with x-errors"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We first generate pseudo data"
]
},
{
"cell_type": "code",
2022-01-06 17:51:50 +01:00
"execution_count": 10,
2021-10-11 18:31:02 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-01-18 14:53:19 +00:00
"(Obs[0.53(35)], Obs[0.38(25)])\n",
"(Obs[1.73(35)], Obs[0.59(25)])\n",
"(Obs[3.92(35)], Obs[-1.23(25)])\n",
"(Obs[5.73(35)], Obs[-1.18(25)])\n",
"(Obs[7.74(35)], Obs[-0.40(25)])\n"
2021-10-11 18:31:02 +01:00
]
}
],
"source": [
"ox = []\n",
"oy = []\n",
"for i in range(0,10,2):\n",
" ox.append(pe.pseudo_Obs(i + 0.35 * np.random.normal(), 0.35, str(i)))\n",
" oy.append(pe.pseudo_Obs(np.sin(i) + 0.25 * np.random.normal() - 0.2 * i + 0.17, 0.25, str(i)))\n",
"\n",
"[o.gamma_method() for o in ox + oy]\n",
"[print(o) for o in zip(ox, oy)];"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And choose a function to fit"
]
},
{
"cell_type": "code",
2022-01-06 17:51:50 +01:00
"execution_count": 11,
2021-10-11 18:31:02 +01:00
"metadata": {},
"outputs": [],
"source": [
"def func(a, x):\n",
" y = a[0] + a[1] * x + a[2] * anp.sin(x)\n",
" return y"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can then fit this function to the data and get the fit parameter as Obs with the function `odr_fit` which uses orthogonal distance regression."
]
},
{
"cell_type": "code",
2022-01-06 17:51:50 +01:00
"execution_count": 12,
2021-10-11 18:31:02 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fit with 3 parameters\n",
"Method: ODR\n",
"Sum of squares convergence\n",
2022-01-18 14:53:19 +00:00
"Residual variance: 0.08780824312692749\n",
"Parameter 1 : 0.06(25)\n",
"Parameter 2 : -0.160(47)\n",
"Parameter 3 : 0.80(18)\n"
2021-10-11 18:31:02 +01:00
]
}
],
"source": [
2022-02-15 13:38:22 +00:00
"beta = pe.fits.total_least_squares(ox, oy, func)\n",
2021-10-11 18:31:02 +01:00
"\n",
"for i, item in enumerate(beta):\n",
" item.gamma_method()\n",
" print('Parameter', i + 1, ':', item)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For the visulization we determine the value of the fit function in a range of x values"
]
},
{
"cell_type": "code",
2022-01-06 17:51:50 +01:00
"execution_count": 13,
2021-10-11 18:31:02 +01:00
"metadata": {},
"outputs": [
{
"data": {
2022-05-14 11:46:57 +01:00
"image/png": "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
2021-10-11 18:31:02 +01:00
"text/plain": [
"<Figure size 640x395.55 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x_t = np.arange(min(ox).value - 1, max(ox).value + 1, 0.01)\n",
"y_t = func([o.value for o in beta], x_t)\n",
"\n",
"plt.errorbar([e.value for e in ox], [e.value for e in oy], xerr=[e.dvalue for e in ox], yerr=[e.dvalue for e in oy], marker='D', lw=1, ls='none', zorder=10)\n",
"plt.plot(x_t, y_t, '--')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can also take a look at how much the inidividual ensembles contribute to the uncetainty of the fit parameters"
]
},
{
"cell_type": "code",
2022-01-06 17:51:50 +01:00
"execution_count": 14,
2021-10-11 18:31:02 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-01-06 12:07:19 +01:00
"Parameter 0\n",
"\n",
"Parameter 1\n",
"\n",
"Parameter 2\n",
"\n"
2021-10-11 18:31:02 +01:00
]
},
{
"data": {
2022-05-14 11:46:57 +01:00
"image/png": "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
2021-10-11 18:31:02 +01:00
"text/plain": [
"<Figure size 640x395.55 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2022-05-14 11:46:57 +01:00
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiQAAAFhCAYAAABAjrEyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAui0lEQVR4nO3deZxcVZ338e+ppbOnO0lnYy3CDrIIqDiIOiWIgoPoADqij+ICLQX6OCqUo85TOi6gzuPaWjA+bjjjMOMIqIWsjYqiqGBIAmHrJgkBsvRWve/3+aOqoQndSS+36ner7uf9etWrO73c8wVC55tzzz3HeZ4nAAAASxHrAAAAABQSAABgjkICAADMUUgAAIA5CgkAADBHIQEAAOYoJAAAwByFBAAAmKOQAAAAcxQSAABgjkICAADMUUgAAIA5CgkAADBHIQEAAOYoJAAAwByFBAAAmKOQAAAAcxQSAABgjkICAADMUUgAAIA5CgkAADBHIQEAAOYoJAAAwFzMOgCAYEqkc4sl1UqqK74dfy1U4S8zUUmRN/XGe48eji2QNDLJq0/SLkk7JO1KZZPDZf7HAFAhnOd51hkAlFEinVsi6WBJB03ydq2eLyDR6Vzvou559+w3Gjl9Gl/qSWpXoZzsLL6d7P1nU9nkrun/EwGoBhQSoEol0rk1ko6XdELx7bGSDlGhcPhmBoVkJjokPVh8rS++Hk5lk0M+jwMgICgkQIVLpHNOhbJxsp4vIMdJWlWO8UtUSCYzLGmzXlhS1qeyyfYyjA2gxCgkQIVJpHNRSSdJenXx9SpJy63ylLGQTGW7CuXkD5Juk/RAKpvkBxtQYSgkQMAl0rmYpFMlvUaFAvJKSUtMQ00QgEKyp10qFJNbJd2WyibbjPMAmAYKCRBAxYWnb5R0rqSzJS2zTTS1ABaSicYk/UWFcnKrpPtS2eSYbSQAk6GQAAGRSOcOVKGAnCvptZJqTANNU8ALyZ7aJd2hYkFJZZM7jPMAKKKQAIYS6dwBkt4l6QJJLzWOMysVVkgm8iT9UdL3JN2Qyia7jfMAoUYhAcoskc4tlPRWSe+WlFSF75hcwYVkol5JP5X0vVQ2+VvrMEAYUUiAMig+mnu6CiXkAgVoUepcVUkhmehxSd+X9MNUNvmMdRggLCgkQAkl0rmVki6VdLGkdcZxSqIKC8m4URWe1vmepJ+z7T1QWhQSoAQS6dyxkj4i6SJJ843jlFQVF5KJdkv6saT/l8omH7IOA1QjCgngk+JtmTeoUETONI5TNiEpJBPdIumzqWzyPusgQDWhkABzlEjnFqjwpMz/lnS0bZryC2EhGXe7CsXk99ZBgGpAIQFmqfi0TErSx1Smc2OCKMSFZNzdkj6TyiZ/Yx0EqGQUEmCGikXkMkkfV4iLyDgKyXN+K+lfUtnkndZBgEpEIQGmKZHOxSVdIulTktYYxwkMCsmL3KtCMbnVOghQSSgkwD4k0rmIpHdKykg6xDZN8FBIpvQnFdaY5KyDAJWAQgLsRSKdO13SNyWdYJ0lqCgk+3SHpFQqm3zcOggQZBQSYBKJdG4/SV+W9A7rLEFHIZmWQUlfkvSFVDY5YB0GCKKKPkMD8FsinYsn0rkrJT0qygj8M0/SpyVtamxoeoN1GCCImCEBihLp3Jkq3J450jpLJWGGZFZ+JunDqWxyu3UQICgoJAi9RDq3v6RvqHACL2aIQjJrPZI+I+lrqWxyxDoMYI1bNgi1RDr3LkmbRBlB+S1WYZ3SA40NTadZhwGsMUOCUEqkc6slZSWdZxyl4jFD4gtP0g8kXZnKJluNswAmmCFB6CTSuQtVmBU5zzgKMM5JuliFRa+vsw4DWGCGBKGRSOdWSPq2pAuts1QTZkh8Nybp8yqcjzNqHQYoF2ZIEAqJdO6Nkh4SZQTBF1HhEeG7Ghua9rMOA5QLhQRVLZHORRLp3Ock5SStts4DzMBrJK1vbGg6yzoIUA7cskHVSqRzqyT9hyTuyZcQt2xKzlNhl9dP8XgwqhkzJKhKiXTuVZL+KsoIKp+TdJWkXzc2NB1oHQYoFQoJqk4infuYpLslcf8d1eQ0SX9tbGh6k3UQoBS4ZYOqkUjnlqqwl8NbjKOECrdsys6T9FVJ6VQ2OWwdBvALMySoCol07iBJ94oygurnJP2jCk/hLLcOA/iFQoKKl0jnTpZ0n6RjrbMAZXS6pHsbG5oOsQ4C+IFCgoqWSOfOlfRbSWusswAGjpT0x8aGppdbBwHmikKCipVI5z4s6UZJC62zAIZWSbq7saHpzdZBgLmgkKDiFDc7+7qkr4nfw4BUKOU/a2xoutw6CDBb/DBHRUmkc/Ml/UzSh6yzAAETkfTNxoamjHUQYDZ47BcVI5HOLZR0s6QzrLPgeTz2G0jflPThVDbJD3hUDGZIUBES6dxiSbeIMgJMxxWSftTY0BSzDgJMF4UEgVfc8Ow2FQ4bAzA975R0Y2ND03zrIMB0UEgQaIl0rk7SHZL+xjgKUIneJCnX2NA0zzoIsC8UEgRWIp1bIalJEnssALOXlHRDY0NT1DoIsDcUEgRSIp2rV6GMvNQ6C1AF3izpu40NTc46CDAVCgkCp7iA9VeSjrfOAlSR90j6snUIYCoUEkzJOXelc+6S4uvKcoyZSOdqVNh99ZRyjAeEzEcbG5o+YR0CmAyFBJMaLyCe513ned51kh5wzl1byjET6VxE0o/Eo71AKX2hsaHpEusQwJ4oJJjKJyRdN/4Lz/PulFTqH2Jfl/S2Eo8BQPpOY0PTBdYhgIkoJHgR59w6SXWe53VO8rmSzF4k0rlPS+IcDqA8IpJ+3NjQ9HrrIMA4Cgkms26Kj3dKqvN7sEQ6d6mkz/p9XQB7VaPCgXyvsA4CSBQSzEy7pOV+XjCRzp0t6dt+XhPAtC2SdEtjQ9Ox1kEACglmwu8ycqSk/xC/DwFLyyXd1tjQtMo6CMKNPwgwmZYpPl63l8/NSPF8mpsk1fpxPQBzsr+knzQ2NPFnAszwmw8v4nlei6TO4uLWPT9351yvX3y8998lHTXXawHwTVKs5YIhCgmm8kVN2A/EOXe+JjwGPEefVeHQLwDB8k+NDU1nW4dAOFFIMCnP874kqc45d36xjLzM87xL53rdRDp3vqRPzjkggFJwkq5vbGg62DoIwsd5nmedASGRSOeOl3SvCiv7USUu6p53z36jkdOtc8BXf5F0WiqbHLIOgvBghgRlkUjnlkj6H1FGgEpwiqSvWYdAuFBIUC7fkXSYdQgA0/bBxoamd1iHQHhQSFByiXTu3ZIuss4BYMaua2xoOsY6BMKBQoKSSqRzh0v6lnUOALOySNL/NDY0LbYOgupHIUHJJNK5mKQfS+KHGVC5jpL0XesQqH4UEpTSpyS93DoEgDl7W2NDE7ddUVIUEpREIp17hdhvBKgmX21saPL1PCtgIgoJfJdI5+ZL+pGkmHUWAL5ZKekr1iFQvSgkKIVPSjrCOgQA313c2ND0t9YhUJ0oJPBVIp07RtJV1jkAlEy2saFpnnUIVB8KCXyTSOecpGslxa2zACiZI1RYsA74ikICP71f0qusQwAouavYMA1+o5DAF4l0brWkL1nnAFAWcRV2cXXWQVA9KCTwy9ck1RlnAFA+p0m6xDoEqgeFBHOWSOfOkvR26xwAyu6axoamtdYhUB0oJJiTRDoXlfRV6xwATNRK+rp1CFQHCgnm6n2SjrYOAcDMBY0NTWdZh0Dlo5Bg1hLp3CJJGescAMx93joAKh+FBHPxUUncPwZwcmND03nWIVDZKCSYleJjvh+3zgEgMD7DY8CYCwoJZisjabF1CACBcbyk861DoHJRSDBjiXTuSBV2ZQWAiTKNDU38uYJZ4TcOZuPzkmLWIQAEzjGS/sE6BCoThQQzkkjnjpb0VuscAALrnxsbmqLWIVB5KCSYqbQkFq4BmMoRkt5lHQKVh0KCaUukcwdLeod1DgCB98+NDU1x6xCoLBQSzMTHxNoRAPt2iKSLrUOgslBIMC2JdG6VCtvEA8B0fLKxoanGOgQqB4UE0/VhSQusQwCoGAeJWRLMAIUE+5RI55ZKSlnnAFBxLrMOgMp
2021-10-11 18:31:02 +01:00
"text/plain": [
"<Figure size 640x395.55 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2022-05-14 11:46:57 +01:00
"image/png": "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
2021-10-11 18:31:02 +01:00
"text/plain": [
"<Figure size 640x395.55 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"for i, item in enumerate(beta):\n",
" print('Parameter', i)\n",
" item.plot_piechart()\n",
" print()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
2022-05-14 11:46:57 +01:00
"interpreter": {
"hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1"
},
2021-10-11 18:31:02 +01:00
"kernelspec": {
2022-05-20 11:00:52 +01:00
"display_name": "Python 3 (ipykernel)",
2021-10-11 18:31:02 +01:00
"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",
2022-01-06 12:07:19 +01:00
"version": "3.8.10"
2021-10-11 18:31:02 +01:00
}
},
"nbformat": 4,
"nbformat_minor": 4
}