{ "cells": [ { "cell_type": "markdown", "id": "bb29ae9f", "metadata": {}, "source": [ "# Test `GaussianChargeSharingKb` Python bindings\n", "\n", "This notebook tests and benchmarks the Aare Minuit2 object API for the 8-parameter Kα/Kβ charge-sharing model.\n", "\n", "\\[\n", "f(x)=p_0-p_1x+N\\left[\n", "G_\\alpha(x)+qG_\\beta(x)+C H_\\alpha(x)+qC H_\\beta(x)\n", "\\right]\n", "\\]\n", "\n", "with\n", "\n", "\\[\n", "\\mu_\\beta = r\\mu_\\alpha\n", "\\]\n", "\n", "Parameter order:\n", "\n", "```text\n", "[p0, p1, mu, sigma, N, C, kb_mean, kb_frac]\n", "```\n", "\n", "where:\n", "\n", "```text\n", "kb_mean = r\n", "kb_frac = q\n", "```" ] }, { "cell_type": "code", "execution_count": 1, "id": "e6de205a", "metadata": {}, "outputs": [], "source": [ "import time\n", "import numpy as np\n", "np.set_printoptions(suppress=True, precision=6)\n", "\n", "import matplotlib.pyplot as plt\n", "from scipy.special import erf\n", "from scipy.optimize import curve_fit\n", "from pprint import pprint\n", "\n", "import sys\n", "sys.path.insert(0, \"/home/ferjao_k/sw/aare/build\")\n", "\n", "from aare import GaussianChargeSharingKb" ] }, { "cell_type": "code", "execution_count": 2, "id": "4ad6bc4a", "metadata": {}, "outputs": [], "source": [ "def gaussian_charge_sharing_kb(x, p):\n", " p0, p1, mu, sigma, N, C, kb_mean, kb_frac = p\n", "\n", " mu_b = kb_mean * mu\n", "\n", " u = (x - mu) / sigma\n", " ub = (x - mu_b) / sigma\n", "\n", " G = np.exp(-0.5 * u**2)\n", " Gb = np.exp(-0.5 * ub**2)\n", "\n", " H = 0.5 * (1.0 - erf(u / np.sqrt(2.0)))\n", " Hb = 0.5 * (1.0 - erf(ub / np.sqrt(2.0)))\n", "\n", " return p0 - p1 * x + N * (G + kb_frac * Gb + C * H + kb_frac * C * Hb)\n", "\n", "def gaussian_charge_sharing_kb_curve_fit(x, p0, p1, mu, sigma, N, C, kb_mean, kb_frac):\n", " return gaussian_charge_sharing_kb(\n", " x,\n", " np.array([p0, p1, mu, sigma, N, C, kb_mean, kb_frac], dtype=float),\n", " )" ] }, { "cell_type": "code", "execution_count": 13, "id": "93e4550c", "metadata": {}, "outputs": [ { "data": { "image/png": "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3DhcvXoVH330EdauXau7SOrYsaPuGIcOHcKLL76IGTNmIDo6Gv/+978xduxY3HzzzbjzzjsB1CUEt9xyC1QqFd544w20bt0au3btwltvvYVz585h+fLliI2NxY8//oh77rkHY8eO1bXfXO/AsmXL8PTTTyM1NRVLly5FVFQUTp06haNHj5qN56ZNmxAbG4tevXo1EvkbLl26hBYtWmDevHmIjIzE1atX8emnn6JPnz7IyMhAu3btLD4WUDdmfdCgQUhKSsI//vEPREdHIycnB1u3btVdEO3atQsPP/wwHn74YcyePRu+vr44f/58o8OarG3rq6++ittuuw3//ve/UVRUhOnTp2P48OE4ceIEvLy8sG/fPly9ehVPP/20Vd8Q/+Mf/0D79u3x4YcfAqgb+nLvvfciMzMTISEhAOqSmnbt2uGRRx5BeHg4srOz8fHHH6N37944fvw4IiIi9I751FNPYejQofjss89QWloKHx8fvPbaa5g7dy6eeeYZjBo1ChcuXMC4ceNQXV2Ntm3b6h5bVlaG1NRUXLx4Ea+++iq6du2KY8eO4Y033sCRI0ewefNmSJKEXr16wcfHB88//zzeeOMN3HXXXY0OWxs3bhyGDh2KVatW4cKFC3j55Zfx5z//We+1On36NO69915MnToVAQEB+O233zB//nzs2bPH4DWtqqrCfffdh/Hjx2PGjBm65NmUxj7LQF0CPWrUKNx5551Ys2YNampq8N577+Hy5ctGj1ldXY3HH38ca9aswaJFizBlyhST51+8eDESExPx4YcfQpZlLFiwAGlpaUhPT0ffvn1NPu7y5ctITU2Fj48PlixZgujoaHz++eeYPHmyQd0zZ86gb9++GDduHEJCQnDu3DksXLgQt99+O44cOQIfH59Gf2dZ8xoQuSVBRC4tPz9f3H777QKAACB8fHxEv379xNy5c0VxcbFe3dTUVNG9e3e9smeffVYEBwfr1QUgoqOjRVFRka4sJydHqFQqMXfuXF3Zu+++KwCIzMxMg3YlJiYKX19fcf78eV1ZeXm5CA8PF+PHj9eVjR8/XgQGBurVE0KI9957TwAQx44dE0IIkZeXJwCIWbNmGZxr+fLleu0oLi4WwcHB4vbbbxeyLJuInHG+vr7i1ltvNSivra0V1dXVup/a2lqTx6ipqRFVVVWiTZs24oUXXjDZTq2tW7cKAGLr1q1CCCH27dsnAIj169ebPIc2PteuXTNZJzMzUwAQy5cvt7qt2jbde++9evX/7//+TwAQu3btEkIIsXr1agFALF261OQ5jLWpS5cuoqamRle+Z88eAUD897//NdvWkpISERAQIBYtWqQr18b1ySef1Kt/9epVodFoxMMPP6xXvmvXLgFApKam6srmzp0rVCqV2Lt3r17dL7/8UgAQP/zwg65s2bJlIjAwUPeZi42NFU8++aTYvn273mO17Zo4caJe+YIFCwQAkZ2dbfR5yrIsqqurRXp6ugAgDh06pLtv9OjRAoD45JNPDB43evRokZiYqFdm6We5d+/eIj4+XlRWVurKiouLRYsWLUTDS4XExETdc3/11VeNPgchbrzWcXFxory8XFdeVFQkwsPDxd13323ysUIIMX36dCFJkjh48KBe+aBBg/Q+Lw1p43f+/HkBQHz99de6+8z9zjJ2DGOvAZG74vAhIhfXokUL7NixA3v37sW8efNw//3349SpU5g5cya6dOmi133+/PPP4+DBg/jf//4HoG64xGeffYbRo0cjMDBQ77gDBgxAUFCQ7nZ0dDSioqIMhm6Y0717dyQkJOhu+/r6om3btnrH+O677zBgwADExcWhpqZG95OWlgYAequ5WGrnzp0oKirCxIkTbTa+edSoUfDx8dH91P9mtKamBu+88w46duwItVoNb29vqNVqnD59GidOnLD6XDfffDPCwsIwffp0LF26FMePHzeo07t3bwDAQw89hP/7v//DH3/8YdGxrW3rfffdp3e7a9euAGDV+8CYoUOHwsvLy+xxS0pKMH36dNx8883w9vaGt7c3AgMDUVpaarStDzzwgN7t3bt3o7KyEg899JBe+a233mowzOa7775D586d0b17d7334ZAhQwyGdj311FO4ePEiVq1ahSlTpiA+Ph4rV65Eamoq3n33XYN2WRLDs2fP4rHHHkNMTAy8vLzg4+OD1NRUALDouZrT2Ge5tLQU+/btw4gRI6BWq3X1AgMDMXz4cKPH1H62Fy9ebDDsq6FRo0bpTTwOCgrC8OHDsX37dtTW1pp83NatW9GpUye9oXoA8NhjjxnUzc3NxYQJExAfHw9vb2/4+PggMTERgPH4GWPta0DkbpgUELmJXr16Yfr06fjiiy9w6dIlvPDCCzh37pzeZOP7778frVq10g0VWrFi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nC3T2Hu6IWNJgbPFWhJCCCV6JIiIiIiIyDlxTgERERERkYdjUkBERERE5OGYFBAREREReTgmBUREREREHo5JARERERGRh2NSQERERETk4ZgUEBERERF5OCYFREREREQejkkBEREREZGHY1JAREREROThmBQQEREREXk4JgVERGR3eXl5iImJwTvvvKMr+/XXX6FWq7Fx40YHtoyIiABAEkIIRzeCiIjc3w8//IARI0Zg586daN++PVJSUjB06FB8+OGHjm4aEZHHY1JARESKmTRpEjZv3ozevXvj0KFD2Lt3L3x9fR3dLCIij8ekgIiIFFNeXo7OnTvjwoUL2LdvH7p27eroJhERETingIiIFHT27FlcunQJsizj/Pnzjm4OERFdx54CIiJSRFVVFW655RZ0794d7du3x8KFC3HkyBFER0c7umlERB6PSQERESni5ZdfxpdffolDhw4hMDAQAwYMQFBQEL777jtHN42IyONx+BAREdndtm3b8OGHH+Kzzz5DcHAwVCoVPvvsM/zyyy/4+OOPHd08IiKPx54CIiIiIiIPx54CIiIiIiIPx6SAiIiIiMjDMSkgIiIiIvJwTAqIiIiIiDwckwIiIiIiIg/HpICIiIiIyMMxKSAiIiIi8nBMCoiIiIiIPByTAiIiIiIiD8ekgIiIiIjIwzEpICIiIiLycP8f+cZaD3yG/38AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rng = np.random.default_rng(123)\n", "\n", "x = np.linspace(0.0, 140.0, 281)\n", "\n", "p_true = np.array([\n", " 14.0, # p0\n", " 0.010, # p1, model uses p0 - p1*x\n", " 62.0, # mu: K-alpha position\n", " 2.0, # sigma\n", " 180.0, # N\n", " 0.10, # C: charge-sharing plateau\n", " 1.105, # kb_mean: K-beta mean ratio\n", " 0.3, # kb_frac: K-beta fraction\n", "])\n", "\n", "noise_sigma = 1.5\n", "y_true = gaussian_charge_sharing_kb(x, p_true)\n", "y = y_true + rng.normal(0.0, noise_sigma, size=x.shape)\n", "y_err = np.full_like(x, noise_sigma)\n", "\n", "plt.figure(figsize=(9, 5))\n", "plt.plot(x, y_true, label=\"true\")\n", "plt.scatter(x, y, s=10, label=\"noisy data\")\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.title(\"Synthetic GaussianChargeSharingKb data\")\n", "plt.legend()\n", "plt.grid(True, alpha=0.3)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 4, "id": "2133a34c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True params : [ 14. 0.01 62. 2. 180. 0.1 1.105 0.3 ]\n", "SciPy params : [ 14.534234 0.015155 62.003314 1.998024 180.396284 0.098433\n", " 1.104748 0.302732]\n", "SciPy abs error : [0.534234 0.005155 0.003314 0.001976 0.396284 0.001567 0.000252 0.002732]\n" ] } ], "source": [ "# SciPy reference fit\n", "p0_ref = np.array([12.0, 0.0, 60.0, 6.0, 150.0, 0.20, 1.10, 0.10])\n", "\n", "bounds_ref = (\n", " [-np.inf, -np.inf, 0.0, 1e-12, 0.0, -np.inf, 1.02, 0.0],\n", " [ np.inf, np.inf, 140.0, 50.0, np.inf, np.inf, 1.40, 1.00],\n", ")\n", "\n", "p_scipy, cov_scipy = curve_fit(\n", " gaussian_charge_sharing_kb_curve_fit,\n", " x,\n", " y,\n", " p0=p0_ref,\n", " sigma=y_err,\n", " absolute_sigma=True,\n", " bounds=bounds_ref,\n", " maxfev=50_000,\n", ")\n", "\n", "print(\"True params :\", p_true)\n", "print(\"SciPy params :\", p_scipy)\n", "print(\"SciPy abs error :\", np.abs(p_scipy - p_true))" ] }, { "cell_type": "code", "execution_count": 5, "id": "2a563865", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Parameter list:\n", "['p0', 'p1', 'mu', 'sigma', 'N', 'C', 'kb_mean', 'kb_frac']\n", "n_par: 8\n", "\n", "{'par': array([ 14.534164, 0.015155, 62.003317, 1.99802 , 180.396621,\n", " 0.098433, 1.104748, 0.302733]),\n", " 'par_err': array([0.564971, 0.005172, 0.009856, 0.008685, 0.698493, 0.00188 ,\n", " 0.000509, 0.003632]),\n", " 'chi2': array([262.404385])}\n", "\n", "True params : [ 14. 0.01 62. 2. 180. 0.1 1.105 0.3 ]\n", "SciPy params : [ 14.534234 0.015155 62.003314 1.998024 180.396284 0.098433\n", " 1.104748 0.302732]\n", "Aare params : [ 14.534164 0.015155 62.003317 1.99802 180.396621 0.098433\n", " 1.104748 0.302733]\n", "SciPy abs error : [0.534234 0.005155 0.003314 0.001976 0.396284 0.001567 0.000252 0.002732]\n", "Aare abs error : [0.534164 0.005155 0.003317 0.00198 0.396621 0.001567 0.000252 0.002733]\n", "Aare - SciPy : [-0.00007 -0. 0.000003 -0.000004 0.000337 -0. -0.\n", " 0.000001]\n" ] } ], "source": [ "# Aare / Minuit2 object API fit\n", "model = GaussianChargeSharingKb()\n", "\n", "print(\"Parameter list:\")\n", "print(model.par_names)\n", "print(\"n_par:\", model.n_par)\n", "print()\n", "\n", "model.SetParameter(\"p0\", 12.0)\n", "model.SetParameter(\"p1\", 0.0)\n", "model.SetParameter(\"mu\", 58.0)\n", "model.SetParameter(\"sigma\", 4.0)\n", "model.SetParameter(\"N\", 150.0)\n", "model.SetParameter(\"C\", 0.10)\n", "model.SetParameter(\"kb_mean\", 1.20)\n", "model.SetParameter(\"kb_frac\", 0.40)\n", "\n", "model.SetParLimits(\"kb_mean\", 1.02, 1.40)\n", "model.SetParLimits(\"kb_frac\", 0.0, 1.00)\n", "\n", "model.compute_errors = True\n", "model.max_calls = 4000\n", "model.tolerance = 0.01\n", "\n", "res_aare = model.fit(x, y, y_err)\n", "pprint(res_aare, sort_dicts=False)\n", "\n", "p_aare = np.array(res_aare[\"par\"], dtype=float)\n", "\n", "print()\n", "print(\"True params :\", p_true)\n", "print(\"SciPy params :\", p_scipy)\n", "print(\"Aare params :\", p_aare)\n", "print(\"SciPy abs error :\", np.abs(p_scipy - p_true))\n", "print(\"Aare abs error :\", np.abs(p_aare - p_true))\n", "print(\"Aare - SciPy :\", p_aare - p_scipy)" ] }, { "cell_type": "code", "execution_count": 12, "id": "fc217c0e", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAHUCAYAAAAwUBnrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACieklEQVR4nOzdd3xUVd7H8c+UZNJ7hwChq6BSLKBSFAt2wIquYMW1PLqsDV1X0F3x0bWt7ur6qIAF26ro2hEFdEFFBJEqJRCQhEBIL5NM5j5/TDJk0sskc4Hv+/XKS+bOLb87Z8bML+ec37EYhmEgIiIiIiIirWYNdAAiIiIiIiIHGyVSIiIiIiIibaRESkREREREpI2USImIiIiIiLSREikREREREZE2UiIlIiIiIiLSRkqkRERERERE2kiJlIiIiIiISBspkRIREREREWkjJVIi0iXWrFnDtddeS58+fQgNDSU0NJR+/foxbdo0fvzxx0CH1yqLFy/GYrGwePHiTr+W2+3m1VdfZdy4cSQkJBAUFERSUhLnnnsu//nPf3C73T4x/fvf/+70mDpLXl4eM2bM4MgjjyQ8PJzo6GgGDhzI7373O9asWePdb+bMmVgsFvbt29clcY0ZM4YxY8Z0+nUsFgu33HJLg+0PPPAAFouF3//+97jdbr+09aJFixg+fDjh4eFYLBYWLFjA3LlzsVgsbN++3bvf/Pnzeeqpp9p9ncNJ7ftSRA4/9kAHICKHvn/961/ccsstDBgwgNtuu42jjjoKi8XChg0beOONNzjuuOPYsmULffr0CXSozRo6dCjLly/nyCOP7NTrVFRUcOGFF/LFF19w2WWX8dxzz5GSksLevXv57LPPuPjii3nrrbe44IILOjWOrlBSUsKJJ55ISUkJd955J8cccwzl5eX8+uuvvPfee6xevZqjjz46ILH985//DMh1DcPgtttu45lnnuGee+5h9uzZfjvvJZdcQv/+/fnwww8JDw9nwIABuFwuli9fTmpqqnff+fPns3btWm6//Xa/XPtQdt1113HWWWcFOgwRCQAlUiLSqf773/9y0003cc455/Dvf/+b4OBg73OnnnoqN998M++88w6hoaEBjLJ1oqKiOPHEEzv9OtOnT+fzzz9n3rx5XHXVVT7PTZw4kTvvvJPy8vJOj6OusrIywsLC/H7ed955hy1btvDVV18xduxYn+emT5/u7XnrSrX32tkJc2NcLhfXXHMNr776Ko899hh33HGH3869e/du9u/fz4QJEzjttNN8nktMTPTbdQ4Xte+T7t27071790CHIyIBoKF9ItKpHn74YWw2G//61798kqi6Lr74YtLS0ryPf/zxRy677DJ69epFaGgovXr14vLLL2fHjh0+xzU1pKaxoUpfffUVY8aMIT4+ntDQUHr06MGkSZMoKyvz7vPcc89xzDHHEBERQWRkJAMHDuTee+/1Pt/Y0L7Wxlob09dff83vf/97EhISiI+PZ+LEiezevdu7X05ODi+++CJnnnlmgySqVr9+/Rr00lRVVXHfffeRlpZGVFQU48aNY9OmTT77LFy4kAsuuIDu3bsTEhJC3759mTZtWoOhcrWv608//cRFF11EbGyst7fQ6XTyxz/+kZSUFMLCwhg1ahQrV66kV69eTJ061ec8OTk5TJs2je7duxMcHExGRgazZs3C5XJ598nLywPw6Q2py2pt+Gtqz549XH755URHR5OcnMw111xDYWGhzz7/+Mc/GDVqFElJSYSHhzN48GAeffRRqqqqfPYbM2YMgwYNYunSpYwcOZKwsDCuueYa73N1h/Zt374di8XC3/72N5544gkyMjKIiIhgxIgRfPfddw3i/L//+z/69++Pw+HgyCOPZP78+UydOpVevXo1eq8VFRVMmjSJ+fPn8+KLLzaZRFVUVDB9+nRSUlIIDQ1l9OjRrFq1qtF9a82cOdP7Zf/uu+/GYrF446j/eRkzZgwff/wxO3bswGKxeH9aMn/+fEaMGEFERAQREREce+yxvPTSSz77vPzyyxxzzDGEhIQQFxfHhAkT2LBhg88+U6dOJSIigo0bN3LmmWcSHh5OamoqjzzyCADfffcdJ598MuHh4fTv35958+b5HF97PwsXLuTqq68mLi6O8PBwzjvvPLZt2+azrz8+E439f6g1/7/Zv38/N910E926dSM4OJjevXtz33334XQ6fc5VO/Tz1Vdf5YgjjiAsLIxjjjmGjz76qMU2EZHOpR4pEek01dXVfP311wwfPrzJL8qN2b59OwMGDOCyyy4jLi6O7OxsnnvuOY477jjWr19PQkJCm+LYvn0755xzDqeccgovv/wyMTEx/Pbbb3z22WdUVlYSFhbGm2++yU033cStt97K3/72N6xWK1u2bGH9+vV+jfW6667jnHPOYf78+ezcuZM777yTK6+8kq+++gqAr7/+mqqqKi688MI23eO9997LSSedxIsvvkhRURF333035513Hhs2bMBmswGwdetWRowYwXXXXUd0dDTbt2/niSee4OSTT+aXX34hKCjI55wTJ07ksssu48Ybb6S0tBSAq6++mrfeeou77rqLU089lfXr1zNhwgSKiop8js3JyeH444/HarXy5z//mT59+rB8+XL+8pe/sH37dubMmQPAiBEjALjqqqu49957OeWUU4iPj2/2XidNmsSll17Ktddeyy+//MKMGTMAz5f0Wlu3bmXy5MlkZGQQHBzMzz//zF//+lc2btzosx9AdnY2V155JXfddRcPP/xwo8lbXf/4xz8YOHCgdw7R/fffz9lnn01mZibR0dEAvPDCC0ybNo1Jkybx5JNPUlhYyKxZsxp8Sa5VXFzM+PHjWbZsGW+99RaTJk1q8vr33nsvQ4cO5cUXX6SwsJCZM2cyZswYVq1aRe/evRs95rrrruOYY45h4sSJ3HrrrUyePBmHw9Hovv/85z+54YYb2Lp1K++//36zr0WtP//5zzz00ENMnDiRP/7xj0RHR7N27VqfPyjMnj2be++9l8svv5zZs2eTl5fHzJkzGTFiBCtWrKBfv37efauqqpg4cSI33ngjd955J/Pnz2fGjBkUFRXx7rvvcvfdd9O9e3eeeeYZpk6dyqBBgxg2bJhPTNdeey2nn36697P2pz/9iTFjxrBmzRpiYmIA/3wm6mvN/28qKioYO3YsW7duZdasWRx99NF88803zJ49m9WrV/Pxxx/7nPPjjz9mxYoVPPjgg0RERPDoo48yYcIENm3a1GSbi0gXMEREOklOTo4BGJdddlmD51wul1FVVeX9cbvdTZ7H5XIZJSUlRnh4uPH00097tz/wwANGY/8bmzNnjgEYmZmZhmEYxr///W8DMFavXt3kNW655RYjJiam2fv5+uuvDcD4+uuv2xxrbUw33XSTz/6PPvqoARjZ2dmGYRjGI488YgDGZ5991mws9WM6++yzfba//fbbBmAsX7680ePcbrdRVVVl7NixwwCMDz74wPtc7ev65z//2eeYdevWGYBx9913+2x/4403DMCYMmWKd9u0adOMiIgIY8eOHT77/u1vfzMAY926dd5tDz74oBEcHGwABmBkZGQYN954o/Hzzz/7HFsb16OPPuqz/aabbjJCQkKafA9VV1cbVVVVxiuvvGLYbDZj//793udGjx5tAMaiRYsaHDd69Ghj9OjR3seZmZkGYAwePNhwuVze7T/88IMBGG+88Yb3eikpKcYJJ5zgc74dO3YYQUFBRs+ePX221943YLzwwguN3oNhHGjroUOH+tzr9u3bjaCgIOO6665r8ti68T/22GM+2+t/XgzDMM4555wGcTZl27Zths1mM6644oom98nPzzdCQ0MbvE+zsrIMh8NhTJ482bttypQpBmC8++673m1VVVVGYmKiARg//fSTd3teXp5hs9mM6dOnN7ifCRMm+Fzrv//9rwEYf/nLXxqNsT2fibrP1WrN/2+ef/55AzDefvttn+3/+7//awDGF1984d0GGMnJyUZRUZF3W05OjmG1Wo3Zs2c3eQ0R6Xwa2iciATFs2DCCgoK8P48//rj3uZKSEu6++2769u2L3W7HbrcTERFBaWlpg2FArXHssccSHBzMDTfcwLx58xoM7wE4/vjjKSgo4PLLL+eDDz5odWW4tsZ6/vnn+zyuHaJXfyhgW7XmvLm5udx4442kp6djt9sJCgqiZ8+eAI3GWr9XZMmSJQBccsklPtsvuugi7HbfAQ4fffQRY8eOJS0tDZfL5f0ZP368z7nA06OTlZXFyy+/zLRp04iIiOD5559n2LBhvPHGG62614qKCnJzc73bVq1axfnnn098fDw2m42goCCuuuoqqqur+fXXX32Oj42N5dRTT21wnaacc8453l6+2uvDgdd606ZN5OTkNHidevTowUknndToOU855RRiYmKYNWsWW7Zsafb6kydP9hlK1rNnT0aOHMnXX3/d6nvwp4ULF1JdXc3NN9/c5D7Lly+nvLy8wfDP9PR0Tj31VBYtWuSz3WKxcPbZZ3sf2+12+vbtS2pqKkOGDPFuj4uLIykpqdHPzxVXXOHzeOTIkfTs2dPnderoZ6Ixrfn/zVdffUV4eDgXXXSRz/ba16f+6zF27FgiIyO9j5OTk5u8bxHpOkqkRKTTJCQkEBoa2ugv+/nz57NixQo+/PDDBs9NnjyZZ599luuuu47PP/+cH374gRUrVpCYmNiuIgt9+vThyy+/JCkpiZtvvpk+ffrQp08fnn76ae8+v/vd73j55ZfZsWMHkyZNIikpiRNOOIGFCxc2e+62xlp/2Frt8KrafXv06AFAZmZmm+6xpfO63W7OOOMM3nvvPe666y4WLVrEDz/84J3b01is9Ydj1s5nSk5O9tlut9sbXH/Pnj385z//8UmWg4KCOOqoowAaJKrJyclcffXVPP/886xZs4YlS5YQHBzMbbfd1uZ7zcrK4pRTTuG3337j6aef5ptvvmHFihX84x//aPRe2zLstDXXb+p1amobeJKxL7/8krKyMkaPHt0g2asrJSWl0W211+1qe/fuBWi24EJzc+HS0tIaxB4WFkZISIjPtuDgYOLi4hocHxwcTEVFRYPtLb1O/vhMNKY1/7/Jy8sjJSWlwdyqpKQk7HZ7g9ejseGuDoejy4vOiIgvzZESkU5js9k49dRT+eKLL8jOzvb5ElJbEa1uQQiAwsJCPvroIx544AHuuece73an08n+/ft99q39ouV0On3mezTWm3TKKadwyimnUF1dzY8//sgzzzzD7bffTnJyMpdddhngmf9z9dVXU1paytKlS3nggQc499xz+fXXX71/pW5vrK01duxYgoKCWLBgATfeeGO7ztGYtWvX8vPPPzN37lymTJni3d5c70f9L3m1X+b27NlDt27dvNtdLleDL34JCQkcffTR/PWvf2303HWLizRm1KhRnHHGGSxYsIDc3FySkpKa3b+uBQsWUFpaynvvvefTbqtXr250f3+vAVT3daovJyenyeOGDRvGl19+yemnn87YsWP56quvGDBgQKvOkZOT0+Lcss5SW/Fv165dpKenN7pPbWzZ2dkNntu9e3eb5z22RlOvU9++fQH/fCaa0tL/b+Lj4/n+++8xDMPnnLm5ubhcrk55PUTE/9QjJSKdasaMGVRXV3PjjTc2qJjWGIvFgmEYDSbCv/jii1RXV/tsq606VnfRVoD//Oc/TZ7fZrNxwgkneHsnfvrppwb7hIeHM378eO677z4qKytZt25dh2NtrZSUFG/v1iuvvNLoPlu3bm1wzy2p/bJWP9Z//etfrT7HqFGjAHjrrbd8tv/73//2qcQHcO6557J27Vr69OnD8OHDG/zUJlJ79uxptMR5dXU1mzdvJiwszFsYoLUau1fDMPi///u/Np2nvQYMGEBKSgpvv/22z/asrCyWLVvW7LFDhw5l0aJFOJ1Oxo4dy8aNGxvs88Ybb2AYhvfxjh07WLZsmV8XD25Lb8cZZ5yBzWbjueeea3KfESNGEBoaymuvveazfdeuXXz11VcNyrH7w+uvv+7zeNmyZezYscP7OvnjM9GSpv5/c9ppp1FSUsKCBQt89q/9zHfG6yEi/qceKRHpVCeddBL/+Mc/uPXWWxk6dCg33HADRx11FFarlezsbN59913As0ZT7X9HjRrFY489RkJCAr169WLJkiW89NJLDb5Qn3322cTFxXHttdfy4IMPYrfbmTt3Ljt37vTZ7/nnn+err77inHPOoUePHlRUVHgrt40bNw6A66+/ntDQUE466SRSU1PJyclh9uzZREdHc9xxxzV6b22JtS2eeOIJtm3bxtSpU/n888+ZMGECycnJ7Nu3j4ULFzJnzhzefPPNNi1UO3DgQPr06cM999yDYRjExcXxn//8p8Whi3UdddRRXH755Tz++OPe3sZ169bx+OOPEx0d7VPt7sEHH2ThwoWMHDmS//mf/2HAgAFUVFSwfft2PvnkE55//nm6d+/Oq6++yr/+9S8mT57McccdR3R0NLt27eLFF19k3bp1/PnPf26ybH5TTj/9dIKDg7n88su56667qKio4LnnniM/P79N52kvq9XKrFmzmDZtGhdddBHXXHMNBQUFzJo1i9TU1BarAh577LEsWrSI0047zdszdcQRR3ifz83NZcKECVx//fUUFhbywAMPEBIS4q1e6A+DBw/mvffe47nnnmPYsGFYrVaGDx/e6L69evXi3nvv5aGHHqK8vNxbmn79+vXs27ePWbNmERMTw/3338+9997LVVddxeWXX05eXh6zZs0iJCSEBx54wG+x1/rxxx+57rrruPjii9m5cyf33Xcf3bp146abbgL885loTGv+f3PVVVfxj3/8gylTprB9+3YGDx7Mt99+y8MPP8zZZ5/t3U9EzE2JlIh0uhtvvJERI0bw9NNP8+STT7J7924sFgvdu3dn5MiRLFq0yGey//z587ntttu46667cLlcnHTSSSxcuJBzzjnH57xRUVF89tln3H777Vx55ZXExMRw3XXXMX78eK677jrvfsceeyxffPEFDzzwADk5OURERDBo0CA+/PBDzjjjDMAzFGfu3Lm8/fbb5Ofnk5CQwMknn8wrr7zS7GKlrY21LUJCQvj44495/fXXmTdvHtOmTaOoqIjY2FiGDx/Oyy+/zHnnndemcwYFBfGf//yH2267jWnTpmG32xk3bhxffvmld15Wa8yZM4fU1FReeuklnnzySY499ljefvttzjrrLJ/kMTU1lR9//JGHHnqIxx57jF27dhEZGUlGRgZnnXUWsbGxgKdwQ05ODp988ok32YmMjOToo4/m1Vdf5corr2zTfYLnC/K7777Ln/70JyZOnEh8fDyTJ09m+vTp3mIXne2GG27AYrF4y1T36tWLe+65hw8++ICsrKwWjz/mmGO8PTW1yVSthx9+mBUrVnD11VdTVFTE8ccfz5tvvuld18gfbrvtNtatW8e9995LYWEhhmH49ILV9+CDD9KvXz+eeeYZrrjiCux2O/369eN//ud/vPvMmDGDpKQk/v73v/PWW28RGhrKmDFjePjhh31Kn/vLSy+9xKuvvspll13m7eF7+umnvfOs/PWZqK81/78JCQnh66+/5r777uOxxx5j7969dOvWjTvuuKNTkkoR6RwWo7n/M4qIiLRg2bJlnHTSSbz++utMnjw50OGYVkFBAf379+fCCy/khRdeCHQ4h6y5c+dy9dVXs2LFiiZ70URE/EE9UiIi0moLFy5k+fLlDBs2jNDQUH7++WceeeQR+vXrx8SJEwMdnmnk5OTw17/+lbFjxxIfH8+OHTt48sknKS4ubrQSoYiIHHyUSImISKtFRUXxxRdf8NRTT1FcXExCQgLjx49n9uzZDcpVH84cDgfbt2/npptuYv/+/YSFhXHiiSfy/PPPe0vAi4jIwU1D+0RERERERNpI5c9FRERERETaSImUiIiIiIhIGymREhERERERaSMVmwDcbje7d+8mMjLSu9K5iIiIiIgcfgzDoLi4mLS0tGYXUVciBezevZv09PRAhyEiIiIiIiaxc+dOunfv3uTzSqSAyMhIwPNiRUVFBTQWt9vN3r17SUxMbDYDlq6jNjEXtYf5qE3MR21iLmoP81GbmI+Z2qSoqIj09HRvjtAUJVLgHc4XFRVlikSqoqKCqKiogL+JxENtYi5qD/NRm5iP2sRc1B7mozYxHzO2SUtTfswRpYiIiIiIyEFEiZSIiIiIiEgbKZESERERERFpI82REhERERHTMgwDl8tFdXW1387pdrupqqqioqLCNPNxDndd2SY2mw273d7hZY+USImIiIiIKVVWVpKdnU1ZWZlfz2sYBm63m+LiYq0hahJd3SZhYWGkpqYSHBzc7nMokRIRERER03G73WRmZmKz2UhLSyM4ONhvX7Bre7n80Ssh/tFVbWIYBpWVlezdu5fMzEz69evX7h4wJVIiIiIiYjqVlZW43W7S09MJCwvz67mVSJlPV7ZJaGgoQUFB7Nixg8rKSkJCQtp1Hg0KFRERERHT0hwm6Qz+eF/pnSkiIiIiItJGSqRERERERETaSImUiIiIiEgXGDNmDLfffnugwxA/USIlIiIiImIyixcvxmKxUFBQEOhQpAlKpEREpPMV/gb/vgbmngtbvwp0NCIiIh2mREpERDrfu9fxr3wr/+M4ifK3r4Gy/YGOSESkU5WWlnLVVVcRERFBamoqjz/+uM/zr732GsOHDycyMpKUlBQmT55Mbm4uANu3b2fs2LEAxMbGYrFYmDp1KgCfffYZJ598MjExMcTHx3PuueeydevWLr038VAiJSIinWvPevZmr+fBPjfydsp4VoT2ZsF7rwc6KhE5zKzKyue9n3axKiu/S65355138vXXX/P+++/zxRdfsHjxYlauXOl9vrKykoceeoiff/6ZBQsWkJmZ6U2W0tPTeffddwHYtGkT2dnZPP3004AnQZs+fTorVqxg0aJFWK1WJkyYgNvt7pL7kgO0IK+IiHSqnP++wkeJp1Jt8fzKWR05EMfG5azKupIhPWIDHJ2IHA4e+XQDzy/Z5n08bVRv7ji9b6ddr6SkhJdeeolXXnmF008/HYB58+bRvXt37z7XXHON99+9e/fm73//O8cffzwlJSVEREQQFxcHQFJSEjExMd59J02a5HOtl156iaSkJNavX8+gQYM67Z6kIfVIiYhI53G7idr8Pu8lj/NuWh05kMGWTDL3lQYwMBE5XKzKyvdJogD+tXQbq3cWdNo1t27dSmVlJSNGjPBui4uLY8CAAQfiWrWKCy64gJ49exIZGcmYMWMAyMrKavHckydPpnfv3kRFRZGRkdGq48T/lEiJiEjnyVrOHsPGT1FHeTetjhzIYGsmGfGhAQxMRA4XTf3RZnteWadd0zCMZp8vLS3ljDPOICIigtdee40VK1bw/vvvA54hf80577zzyMvL4//+7//4/vvv+f7771t1nPifEikREek8a97i3ZreqOML12Ax3OwOSaI8OJQhYfsCHJyIHA4yEsIb3d4rPqzTrtm3b1+CgoL47rvvvNvy8/P59ddfAdi4cSP79u3jkUce4ZRTTmHgwIHeQhO1goODAaiurvZuy8vLY8OGDfzpT3/itNNO44gjjiA/v2vmfElDSqRERKRzuJyU//we7yV55gf8bvd/6Fe2A4DVUQPht58CGZ2IHCaG9IjlxtG9fbbdOLo3x6bHdNo1IyIiuPbaa7nzzjtZtGgRa9euZerUqVitnq/ePXr0IDg4mGeeeYZt27bx4Ycf8tBDD/mco2fPnlgsFj766CP27t1LSUkJsbGxxMfH88ILL7Blyxa++uorpk+f3mn3Ic1TIiUiIp1i63cfsjGsG9vC0gmtrmB83jccW7wRgFWRA2G3EikR6Rr3jD+C928ayROXHMP7N43k7rMGdvo1H3vsMUaNGsX555/PuHHjOPnkkxk2bBgAiYmJzJ07l3feeYcjjzySRx55hL/97W8+x3fr1o1Zs2Zxzz33kJyczC233ILVauXNN99k5cqVDBo0iD/84Q889thjnX4v0jhV7RMRkU7h3LmK76OPBmBM/goiqss5tngjb6eMZ3XkQPjt7QBHKCKHkyE9Yr2VQluaw+QPERERvPrqq7z66qvebXfeeaf335dffjmXX365zzH147r//vu5//77fbaNGzeO9evXN3ucdA31SImISKdIIp+c4HgAepb/xk53IkNqeqRWRw7EyPkFXJocLSIiByclUiIi0ikSjHz2BCcAkFKZx5fuoRxZspUgdxX5QdFkBcWxcc33AY5SRESkfZRIiYhI5yjOJsfh6ZFKce7jtNFjcMSmc2TJVsAzT+qVd9/nkU83BDJKERGRdgloIjV79myOO+44IiMjSUpK4sILL2TTpk0++xiGwcyZM0lLSyM0NJQxY8awbt06n32cTie33norCQkJhIeHc/7557Nr166uvBUREamvOMfbI5VcuY8ePfuwP2aQt+DE6siBHG3ZyvNLtrEqS+V7RUTk4BLQRGrJkiXcfPPNfPfddyxcuBCXy8UZZ5xBaemBhdMeffRRnnjiCZ599llWrFhBSkoKp59+OsXFxd59br/9dt5//33efPNNvv32W0pKSjj33HN96u6LiEgXqnZhlObW6ZHKg8gUdoUM4OgSzzoqm8Iz6G3NBppeMFNERMSsAlq177PPPvN5PGfOHJKSkli5ciWjRo3CMAyeeuop7rvvPiZOnAjAvHnzSE5OZv78+UybNo3CwkJeeuklXn31VcaN8yz6+Nprr5Gens6XX37JmWee2eX3JSJy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471RAOGJJHqLTahHSkREDj5KpERExH/q9khVlUBITOP7hSf49kgpkRIRkYOMEikREfGfigJvj1RMCz1S8TU9UnlBsRjl+6G68XK3IiLStRYvXozFYqGgoMCv5+3VqxdPPfWUX88ZSEqkRETEf8oLKAyqM7SvyR6pA+XPy20hlFlDoSyva2IUEekiy5Ytw2azcdZZZwU0ju3bt2OxWLDb7fz2228+z2VnZ2O327FYLGzfvh2AkSNHkp2dTXR0tF/jWLFiBTfccIP3scViYcGCBT77vPfee5x++ukkJiYSFRXFiBEj+Pzzz/0ah78okRIREf+pKKDA7qna12yPVGgcYW4nodXlgKcE+ktffN9FQYqIdI2XX36ZW2+9lW+//ZasrKwOn6+ysrJDx6elpfHKK6/4bJs3bx7dunXz2RYcHExKSorf13NKTEwkLCys2X2WLl3K6aefzieffMLKlSsZO3Ys5513HqtWrfJrLP6gREpERPynvMC32EQTPVKrfitmvxFBfE0J9LygGL5auZ5VWfldFKiIHIwMw6C0urrDP2XV1ZRVuylrwzGGYbQp1tLSUt5++21+//vfc+655zJ37lyf56urq7n22mvJyMggNDSUAQMG8PTTT/vsM3XqVC688EJmz55NWloa/fv3B+C3337j0ksvJTY2lvj4eC644AJvb1JzpkyZwpw5c3y2zZ07lylTpvhsqz+0b+7cucTExPD5559zxBFHEBERwVlnnUV2drb3mDFjxnD77bf7nOfCCy9k6tSp3sd1h/b16tULgAkTJmCxWMjIyADgqaee4q677uK4446jX79+PPzww/Tr14///Oc/Ld5fV7MHOgARETmEVBRQYO8OeMqfE9qj0d0y95USbYQTU1XCrhAotEcQSTmZ+0oZ0iO2KyMWkYNImdtNn6W/BOTaW0cNJtxma/X+b731FgMGDGDAgAFceeWV3Hrrrdx///3eXh6320337t15++23SUhIYNmyZdxwww2kpqZyySWXeM+zaNEioqKiWLhwIYZhUFZWxtixYznllFNYunQpdrudv/zlL5x11lmsWbOG4ODgJmM6//zzef755/n22285+eST+fbbb9m/fz/nnXceDz30ULP3U1ZWxt/+9jdeffVVrFYrV155JXfccQevv/56q1+TulasWEFSUhJz5szhrLPOwmptvH/H7XZTXFxM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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10, 5))\n", "# plt.plot(x, y_true, label=\"true\")\n", "plt.scatter(x, y, s=10, label=\"data\")\n", "plt.plot(x, gaussian_charge_sharing_kb(x, p_scipy), linewidth=3.0, label=\"SciPy curve_fit\", color=\"tab:orange\")\n", "plt.plot(x, model(x, p_aare), linewidth=1.5, label=\"Aare Minuit2\", color=\"tab:cyan\")\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.title(\"GaussianChargeSharingKb fit comparison\")\n", "plt.legend()\n", "plt.grid(True, alpha=0.3)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 9, "id": "a4a6aec0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SciPy curve_fit : 17.591 ms\n", "Aare Minuit2 : 1.888 ms\n", "\n", "SciPy bench params: [ 14.534234 0.015155 62.003314 1.998024 180.396284 0.098433\n", " 1.104748 0.302732]\n", "Aare bench params : [ 32.421516 0.162626 62.154113 2.413067 169.643047 0.05319\n", " 1.271962 0. ]\n" ] } ], "source": [ "def bench(fn, n_repeats=200):\n", " for _ in range(3):\n", " fn()\n", "\n", " t0 = time.perf_counter()\n", " for _ in range(n_repeats):\n", " res = fn()\n", " t1 = time.perf_counter()\n", "\n", " return res, (t1 - t0) / n_repeats\n", "\n", "def fit_scipy_once():\n", " return curve_fit(\n", " gaussian_charge_sharing_kb_curve_fit,\n", " x,\n", " y,\n", " p0=p0_ref,\n", " sigma=y_err,\n", " absolute_sigma=True,\n", " bounds=bounds_ref,\n", " maxfev=50_000,\n", " )[0]\n", "\n", "def fit_aare_once():\n", " m = GaussianChargeSharingKb()\n", " m.SetParameter(\"p0\", 10.0)\n", " m.SetParameter(\"p1\", 0.0)\n", " m.SetParameter(\"mu\", 50.0)\n", " m.SetParameter(\"sigma\", 5.0)\n", " m.SetParameter(\"N\", 150.0)\n", " m.SetParameter(\"C\", 0.10)\n", " m.SetParameter(\"kb_mean\", 1.20)\n", " m.SetParameter(\"kb_frac\", 0.40)\n", " \n", " m.SetParLimits(\"kb_mean\", 1.02, 1.40)\n", " m.SetParLimits(\"kb_frac\", 0.0, 1.00)\n", " m.max_calls = 4000\n", " m.tolerance = 0.01\n", " return np.array(m.fit(x, y, y_err)[\"par\"], dtype=float)\n", "\n", "p_scipy_bench, t_scipy = bench(fit_scipy_once, n_repeats=200)\n", "p_aare_bench, t_aare = bench(fit_aare_once, n_repeats=200)\n", "\n", "print(f\"SciPy curve_fit : {1e3*t_scipy:.3f} ms\")\n", "print(f\"Aare Minuit2 : {1e3*t_aare:.3f} ms\")\n", "print()\n", "print(\"SciPy bench params:\", p_scipy_bench)\n", "print(\"Aare bench params :\", p_aare_bench)" ] }, { "cell_type": "markdown", "id": "77a15aea", "metadata": {}, "source": [ "## No-Kβ sanity check\n", "\n", "For no-Kβ data, prefer `GaussianChargeSharing`.\n", "\n", "You can also use this 8-parameter model and fix:\n", "\n", "```python\n", "model.FixParameter(\"kb_frac\", 0.0)\n", "```\n", "\n", "but the 6-parameter model is cleaner and usually better conditioned." ] }, { "cell_type": "code", "execution_count": null, "id": "4abba19d-f4ca-4a41-adf8-1d0f4946086a", "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.12.5" } }, "nbformat": 4, "nbformat_minor": 5 }