You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

257 lines
170 KiB

9 months ago
8 months ago
9 months ago
8 months ago
9 months ago
8 months ago
9 months ago
8 months ago
9 months ago
8 months ago
9 months ago
8 months ago
8 months ago
9 months ago
8 months ago
9 months ago
8 months ago
9 months ago
8 months ago
9 months ago
8 months ago
9 months ago
8 months ago
9 months ago
8 months ago
9 months ago
8 months ago
9 months ago
8 months ago
9 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
9 months ago
8 months ago
9 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
9 months ago
8 months ago
8 months ago
9 months ago
8 months ago
9 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
9 months ago
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "code",
  5. "execution_count": 1,
  6. "metadata": {},
  7. "outputs": [],
  8. "source": [
  9. "import uproot\t\n",
  10. "import numpy as np\n",
  11. "import matplotlib.pyplot as plt\n",
  12. "from mpl_toolkits import mplot3d\n",
  13. "import awkward as ak\n",
  14. "from scipy.optimize import curve_fit\n",
  15. "from methods.fit_linear_regression_model import fit_linear_regression_model\n",
  16. "import sklearn\n",
  17. "%matplotlib inline"
  18. ]
  19. },
  20. {
  21. "cell_type": "code",
  22. "execution_count": 2,
  23. "metadata": {},
  24. "outputs": [
  25. {
  26. "name": "stdout",
  27. "output_type": "stream",
  28. "text": [
  29. "41978 8523\n",
  30. "92337\n"
  31. ]
  32. }
  33. ],
  34. "source": [
  35. "file = uproot.open(\n",
  36. " \"tracking_losses_ntuple_B_EndVeloP.root:PrDebugTrackingLosses.PrDebugTrackingTool/Tuple;1\"\n",
  37. ")\n",
  38. "\n",
  39. "# selektiere nur elektronen von B->K*ee\n",
  40. "allcolumns = file.arrays()\n",
  41. "found = allcolumns[(allcolumns.isElectron) & (~allcolumns.lost) &\n",
  42. " (allcolumns.fromB)] # B: 9056\n",
  43. "lost = allcolumns[(allcolumns.isElectron) & (allcolumns.lost) &\n",
  44. " (allcolumns.fromB)] # B: 1466\n",
  45. "\n",
  46. "electrons = allcolumns[(allcolumns.isElectron) & (allcolumns.fromB)]\n",
  47. "\n",
  48. "notelectrons = allcolumns[(~allcolumns.isElectron) & (allcolumns.fromB) &\n",
  49. " (~allcolumns.lost)]\n",
  50. "\n",
  51. "print(ak.num(found, axis=0), ak.num(lost, axis=0))\n",
  52. "print(ak.num(notelectrons, axis=0))\n",
  53. "# ak.count(found, axis=None)"
  54. ]
  55. },
  56. {
  57. "cell_type": "code",
  58. "execution_count": 3,
  59. "metadata": {},
  60. "outputs": [],
  61. "source": [
  62. "rad_length_found = ak.to_numpy(found[\"rad_length_frac\"])\n",
  63. "eta_found = ak.to_numpy(found[\"eta\"])\n",
  64. "rad_length_lost = ak.to_numpy(lost[\"rad_length_frac\"])\n",
  65. "eta_lost = ak.to_numpy(lost[\"eta\"])"
  66. ]
  67. },
  68. {
  69. "cell_type": "code",
  70. "execution_count": 19,
  71. "metadata": {},
  72. "outputs": [
  73. {
  74. "data": {
  75. "image/png": "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
  76. "text/plain": [
  77. "<Figure size 2000x800 with 3 Axes>"
  78. ]
  79. },
  80. "metadata": {},
  81. "output_type": "display_data"
  82. }
  83. ],
  84. "source": [
  85. "endVeloP_found = ak.to_numpy(found[\"p_end_velo\"])\n",
  86. "trueP_found = ak.to_numpy(found[\"p\"])\n",
  87. "\n",
  88. "endVeloP_lost = ak.to_numpy(lost[\"p_end_velo\"])\n",
  89. "trueP_lost = ak.to_numpy(lost[\"p\"])\n",
  90. "\n",
  91. "endUTP_found = ak.to_numpy(found[\"p_end_ut\"])\n",
  92. "endUTP_lost = ak.to_numpy(lost[\"p_end_ut\"])\n",
  93. "\n",
  94. "stretch_factor = ak.num(trueP_lost, axis=0) / ak.num(trueP_found, axis=0)\n",
  95. "\n",
  96. "nbins = 80\n",
  97. "vmax = 150\n",
  98. "\n",
  99. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20, 8))\n",
  100. "\n",
  101. "a0 = ax0.hist2d(\n",
  102. " trueP_found,\n",
  103. " endVeloP_found,\n",
  104. " density=False,\n",
  105. " bins=nbins,\n",
  106. " cmap=plt.cm.jet,\n",
  107. " cmin=1,\n",
  108. " vmax=vmax,\n",
  109. " range=[[0, 20000], [0, 20000]],\n",
  110. ")\n",
  111. "ax0.set_xlabel(f\"True $P$ [MeV]\")\n",
  112. "ax0.set_ylabel(f\"EndVelo $P$ [MeV]\")\n",
  113. "ax0.set_title(f\"found P\")\n",
  114. "\n",
  115. "a1 = ax1.hist2d(\n",
  116. " # trueP_notelectrons,\n",
  117. " # endVeloP_notelectrons,\n",
  118. " trueP_lost,\n",
  119. " endVeloP_lost,\n",
  120. " density=False,\n",
  121. " bins=nbins,\n",
  122. " cmap=plt.cm.jet,\n",
  123. " cmin=1,\n",
  124. " vmax=vmax * stretch_factor,\n",
  125. " range=[[0, 20000], [0, 20000]],\n",
  126. ")\n",
  127. "ax1.set_xlabel(f\"True $P$ [MeV]\")\n",
  128. "ax1.set_ylabel(f\"EndVelo $P$ [MeV]\")\n",
  129. "ax1.set_title(f\"lost P\")\n",
  130. "\n",
  131. "plt.suptitle(\"Momentum at Creation and EndVelo\")\n",
  132. "plt.colorbar(a0[3], ax=ax1)\n",
  133. "plt.show()"
  134. ]
  135. },
  136. {
  137. "cell_type": "code",
  138. "execution_count": 21,
  139. "metadata": {},
  140. "outputs": [
  141. {
  142. "data": {
  143. "image/png": "iVBORw0KGgoAAAANSUhEUgAABkMAAAL5CAYAAAADsVMKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAADDYklEQVR4nOz9cZAb933nfX6alMyMIpHgKLGePNrbUBi6Evk5O1JjrPg2u9GtBNjJprRXj2aGrD3eJrmsCMTP7O3VaW1iuX52Kd7FGWEerVyVq7ENUK5NdktVSw5oV53OjxMDsqNNNhtbgzbXep4oT8yBJo6lRDppCFHajGVy2PfHEMhgBt39Q0+jB415v6pQ0szv27/ftxsNTv/w61//LNd1XQEAAAAAAAAAAIyofbudAAAAAAAAAAAAwCAxGAIAAAAAAAAAAEYagyEAAAAAAAAAAGCkMRgCAAAAAAAAAABGGoMhAAAAAAAAAABgpDEYAgAAAAAAAAAARhqDIQAAAAAAAAAAYKQxGAIAAAAAAAAAAEYagyEAAAAAAAAAAGCkMRgCAAAAAJs4jqP5+XllMhnlcrndTkfNZlOVSmUoconLsL0HOzVq+wMAAJBEDIYAAADsIdVqVTMzM7Isq+vVarX6qmdiYqJr+0wmo2KxOJikMZLaX+5vPRdNXoPkOI7Onz+vYrEox3G6yqrVqjKZzLZ8crmc5ufnPevb+pmbmZlRs9k0yiWXy2liYkKFQkH1ej2SfRx2fu+Bn6SeU71yPnz4sGZmZnr+21woFLb9G5zL5VSv11WpVELtf/vVz/EGAABIHBcAAAB7Tq1WcyV1XqdOnTLednFxsWvbbDY7wEyT6cqVK+6VK1d2O41Yhd3nU6dOdZ1LW+u4cuWKu7y87NZqNde2bTeuLsz09LTn+Z3NZjs527ZtVF+pVHIluaVSqe9cyuVyp729xO898JPEc2rzv6upVMqovnbutVqt87v2uWLbtlsul91Go+EuLy+7y8vLnfrT6bS7vLzsNhoNt9FouOVy2U2n09vqAgAAGDXMDAEAANiDstls189ed7X3Mjc3p1Qq1fmZR75sZ3rn/ygJu8+bzx/btrvOLUlKpVJKp9PKZrN6/vnnd5qmsfHxcc+yxcXFzv+b3kn/1ltvKZVK6dSpU33nkk6n+95mFPi9B36SeE7Ztt35/8nJSaP6jh8/Lqn73/NWq6V0Oq1Go6F8Pi/btpVOp7edQ+l0WrZty7Zt5fN5NRqNbccJAABg1DAYAgAAsIdt/gLOZEDEcRw5jqN8Pt/5HV+gdSsWi3vmcUZtce1zKpXS9PT0wNsxyWPzZ8Dks1OpVLq2wXAYlnNqM9N/U9PpdM/YQqEQqs1jx471/chEAACAJGEwBAAAYA87ffp05//n5uYC4+fm5jQ9Pa2PfOQjg0wrsarVal+zbEZB3Pu8eVbGbiqVSp3/D/rs1Ot1tVqtrs8bhsewnFNhbJ1tkk6nQw/uFAqFPTsLCQAA7A0MhgAAAOxhm784a7VaqlQqnrGtVkvVarXvL3Tn5+eVy+WUyWQ0MTGhXC7n2057kff2guztRaTbiwpv/uK92WyqUCjo8OHDnUWE/e5sbrVaXYsPZzKZnl/kt4/F5lwrlUrXdr0WQj558mTn54cffliHDx/W4cOHO+WbF9/ePJNifn6+q2zrYvSDPCZe2gs7z8zMdN6/re9b0D5Hqdls9px9Eua92qpYLGpiYkKZTKbnfvayeUZB+7PhpVQqaXp6uusuftNzsR/9ftaCmJwD0u69Bzs1bOdUFKanp0MPaLQfmwUAADCydnvREgAAAOwOSZ0FdLVpYV0vp06d6iwWvXmx33K53DO+0Wi46XTanZ6e7vzuypUrXYsIb17YuFardS1Mnc/nO22eOnXKzefzXW0uLi666XS6E9deANhrQev2YsntBYKXl5c77W3eZvOiyrq54PX09LRr27abz+c77UjquTBzu6zRaGzLYfMixr0WKk6lUl0L2g/6mHhpt7l5/9qLUm9dADxon4PUarXO9u397qVcLm9reyfvVTt327a3nYvtc7R9nnrZuii1X8zm99v0XOx1jHrp97NmwvQc2O33oJcknlObz6XN76Of9ufdlMm/8wAAAKOMwRAAAIA9avOX15u/cF9cXPSMb5eZDIakUik3lUr1LGu31+tLQb9c2l/+p1KpbV8Ybv4ycXl5uWfZ1i/rN3+Rv/VL0/bARCqV6voi+8qVK52yMAMDfoMh7S9at+YyiGPipf1F8tb3rl3X1t8PejDkypUrbq1Wc1Op1Lbj3RbmvXJd17Vt2/McbW8X9EX85vem13vaHpRqC3MuBg2GhP2seen3HGjnsFvvgVf+STqnGAwBAAAYPB6TBQAAgK7HMvVa/6BSqfT1LPpisahWq+W5YHR7vYV6vb7t8ULtRwlls9lt7c3MzEjaeIzNuXPnuso2Lya89RE2xWJRqVRq2yNgNv9u62Ns2o+ayefzymazXdtMTk5KkpaXl3vuX1heCycP4pgE2fqonfbaBK1Wa2CLLM/Pz3ceFdZ+HT58OPBRX2Heq0qlIsdxPB/7trkeP5s/O5vXEdnczuYFrcOci0Hth/2sBennHNjN98BPEs8pAAAADAaDIQAAAFA2m+18Ees4zrbn6JdKpW3rWPhpf+nqtdC6bdudLxvPnz/fVdb+wrXXwMDWxYK9ypvN5rZ8Wq2WJiYmtr3agwT9fMnfzn1rO4MyiGPiJZvNanl5WY1Go+v3m7dfXV01qqtf+Xxey8vLXa9Go6HFxUXPgaIgXu9Ve5DAa42EoOPatvmzU6/Xuwad2ufd5oGKqM/FnXzW/PYpynNg0O+BnySeUwAAABiMW3Y7AQAAAAyH06dPd2YZlEqlzl3M1WpVq6urnnee92LyxXs6nVaz2ex7xoKfXl9utuvPZrOq1WqRtZUUYb7w3TwjoFqt6vz586EXZe5HKpXq2Y5t25EPPLXri2K/Nn925ubmtLi42Pn/zQunD+JcHNRnLY5zIMr3wEtSzykAAABEj5khAAAAkCRNT093vsTbfIf73Nxc6IEQv7vH220NapbB1hzimsUxKiqViiYmJrS6uqrFxUXPR//EZfP5uVNRnwubc6tWq52Bh62PTIr6XBz0Z22Q58AwfB6H6ZzaPGtkUI+hAwAA2OuYGQIAAICOYrHYWd9gbm5Op0+fluM4ev75543r2Pzlot+aGu275Qd9F3W/j4mClMvlVK/Xtby8PDR3uafT6chy2fxlc7PZjKTezZ+d9uOS0ul01yOToj4XB/lZG/Q5MIj3oF/DdE5tnsFlOmi1uroa+lFfAAAAexEzQwAAANCRz+c7X65Vq1WdPHmy63emNs8w8dL+Qri9GPGgbH3cj5dWq9XXwtWDMAx3hBeLRdXrdeXz+aEZCNlq69oc/do8QBHVY9o2f04qlYoqlcq2dXYGcS4O4rMWxzkwiPdgJ4bhnOp3LaJGozHwfz8BAABGCYMhAAAA6LL5UTiO4/RcOD3ozuX2HfKO43h+sdf+wrCfhdnD2LxmwMmTJz0HHGZmZjrrpEQh6Bj1ymPQjwwz0f6SfmJiou9t48q/vT7HTrTPibm5uR3X1bb1MVJbHy83iHNxEJ+1nZwD/RjEexDWMJxT09PTkjb+bTAZULlw4ULn/QcAAEAwBkMAAAD2oPaXsL2+PD116lTn/02eqd/rC91Tp051tms/Mmiz9he3m+PadvKFejuXt956q+v37RxarZYymUzXF42O4yiTyci2beO74L1y3DyDZnMbm49zu41yudy17eYvqrd+ETqIY+Kl3db58+e7fr/5C97N77nJPkep/aX15jvx/Xgdu83nxNYvwlutli5cuCCpv/3Y/NnxWmcn6nNxJ581L/2eA6b1bTWI9yCMYTmnSqVS5/P08MMP++73zMyMJicnjXMGAAAAgyEAAAB7UvtLua1fdra1v9T1WjC5Vqt1/v/FF1/0jEmn06pUKpqfn+/8vtlsamZmRvl8vueXt+0vWXt92br5y8GlpaVt5V4LVE9PT3fuum42m8pkMrIsS5ZlKZPJaHJyclsu7Tp6fSHZ/l2vL0X
  144. "text/plain": [
  145. "<Figure size 2000x800 with 3 Axes>"
  146. ]
  147. },
  148. "metadata": {},
  149. "output_type": "display_data"
  150. }
  151. ],
  152. "source": [
  153. "nbins = 80\n",
  154. "vmax = 150\n",
  155. "\n",
  156. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20, 8))\n",
  157. "\n",
  158. "a0 = ax0.hist2d(\n",
  159. " # endVeloP_found,\n",
  160. " trueP_found,\n",
  161. " endUTP_found,\n",
  162. " density=False,\n",
  163. " bins=nbins,\n",
  164. " cmap=plt.cm.jet,\n",
  165. " cmin=1,\n",
  166. " vmax=vmax,\n",
  167. " range=[[0, 20000], [0, 20000]],\n",
  168. ")\n",
  169. "ax0.set_ylabel(f\"EndUT $P$ [MeV]\")\n",
  170. "ax0.set_xlabel(f\"EndVelo $P$ [MeV]\")\n",
  171. "ax0.set_title(f\"found P\")\n",
  172. "\n",
  173. "a1 = ax1.hist2d(\n",
  174. " # endVeloP_lost,\n",
  175. " trueP_lost,\n",
  176. " endUTP_lost,\n",
  177. " density=False,\n",
  178. " bins=nbins,\n",
  179. " cmap=plt.cm.jet,\n",
  180. " cmin=1,\n",
  181. " vmax=vmax * stretch_factor,\n",
  182. " range=[[0, 20000], [0, 20000]],\n",
  183. ")\n",
  184. "ax1.set_ylabel(f\"EndUT $P$ [MeV]\")\n",
  185. "ax1.set_xlabel(f\"EndVelo $P$ [MeV]\")\n",
  186. "ax1.set_title(f\"lost P\")\n",
  187. "\n",
  188. "plt.suptitle(\"Momentum at EndVelo and EndUT\")\n",
  189. "plt.colorbar(a0[3], ax=ax1)\n",
  190. "plt.show()"
  191. ]
  192. },
  193. {
  194. "cell_type": "code",
  195. "execution_count": 20,
  196. "metadata": {},
  197. "outputs": [
  198. {
  199. "data": {
  200. "image/png": "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
  201. "text/plain": [
  202. "<Figure size 640x480 with 2 Axes>"
  203. ]
  204. },
  205. "metadata": {},
  206. "output_type": "display_data"
  207. }
  208. ],
  209. "source": [
  210. "a0 = plt.hist2d(\n",
  211. " trueP_found,\n",
  212. " endVeloP_found,\n",
  213. " # endUTP_found,\n",
  214. " density=False,\n",
  215. " bins=nbins,\n",
  216. " cmap=plt.cm.jet,\n",
  217. " cmin=1,\n",
  218. " vmax=150,\n",
  219. " range=[[0, 20000], [0, 20000]],\n",
  220. ")\n",
  221. "plt.xlabel(f\"True $P$ [MeV]\")\n",
  222. "plt.ylabel(f\"EndVelo $P$ [MeV]\")\n",
  223. "plt.title(f\"found P\")\n",
  224. "plt.colorbar(a0[3])\n",
  225. "plt.show()"
  226. ]
  227. },
  228. {
  229. "cell_type": "code",
  230. "execution_count": null,
  231. "metadata": {},
  232. "outputs": [],
  233. "source": []
  234. }
  235. ],
  236. "metadata": {
  237. "kernelspec": {
  238. "display_name": "tuner",
  239. "language": "python",
  240. "name": "python3"
  241. },
  242. "language_info": {
  243. "codemirror_mode": {
  244. "name": "ipython",
  245. "version": 3
  246. },
  247. "file_extension": ".py",
  248. "mimetype": "text/x-python",
  249. "name": "python",
  250. "nbconvert_exporter": "python",
  251. "pygments_lexer": "ipython3",
  252. "version": "3.10.12"
  253. }
  254. },
  255. "nbformat": 4,
  256. "nbformat_minor": 2
  257. }