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.

200 lines
94 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
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
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
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[\n",
  42. " (allcolumns.isElectron) & (~allcolumns.lost) & (allcolumns.fromB)\n",
  43. "] # B: 9056\n",
  44. "lost = allcolumns[\n",
  45. " (allcolumns.isElectron) & (allcolumns.lost) & (allcolumns.fromB)\n",
  46. "] # B: 1466\n",
  47. "\n",
  48. "notelectrons = allcolumns[\n",
  49. " (~allcolumns.isElectron) & (allcolumns.fromB) & (~allcolumns.lost)\n",
  50. "]\n",
  51. "\n",
  52. "print(ak.num(found, axis=0), ak.num(lost, axis=0))\n",
  53. "print(ak.num(notelectrons, axis=0))\n",
  54. "# ak.count(found, axis=None)"
  55. ]
  56. },
  57. {
  58. "cell_type": "code",
  59. "execution_count": 3,
  60. "metadata": {},
  61. "outputs": [],
  62. "source": [
  63. "rad_length_found = ak.to_numpy(found[\"rad_length_frac\"])\n",
  64. "eta_found = ak.to_numpy(found[\"eta\"])\n",
  65. "rad_length_lost = ak.to_numpy(lost[\"rad_length_frac\"])\n",
  66. "eta_lost = ak.to_numpy(lost[\"eta\"])"
  67. ]
  68. },
  69. {
  70. "cell_type": "code",
  71. "execution_count": 4,
  72. "metadata": {},
  73. "outputs": [
  74. {
  75. "data": {
  76. "image/png": "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
  77. "text/plain": [
  78. "<Figure size 2000x800 with 3 Axes>"
  79. ]
  80. },
  81. "metadata": {},
  82. "output_type": "display_data"
  83. }
  84. ],
  85. "source": [
  86. "endVeloP_found = ak.to_numpy(found[\"p_end_velo\"])\n",
  87. "trueP_found = ak.to_numpy(found[\"p\"])\n",
  88. "\n",
  89. "endVeloP_lost = ak.to_numpy(lost[\"p_end_velo\"])\n",
  90. "trueP_lost = ak.to_numpy(lost[\"p\"])\n",
  91. "\n",
  92. "endVeloP_notelectrons = ak.to_numpy(notelectrons[\"p_end_velo\"])\n",
  93. "trueP_notelectrons = ak.to_numpy(notelectrons[\"p\"])\n",
  94. "\n",
  95. "stretch_factor = ak.num(trueP_notelectrons, axis=0) / ak.num(trueP_found, axis=0)\n",
  96. "\n",
  97. "nbins = 100\n",
  98. "vmax = 100\n",
  99. "\n",
  100. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20, 8))\n",
  101. "\n",
  102. "a0 = ax0.hist2d(\n",
  103. " trueP_found,\n",
  104. " endVeloP_found,\n",
  105. " density=False,\n",
  106. " bins=nbins,\n",
  107. " cmap=plt.cm.jet,\n",
  108. " cmin=1,\n",
  109. " vmax=vmax,\n",
  110. " range=[[0, 30000], [0, 30000]],\n",
  111. ")\n",
  112. "ax0.set_xlabel(f\"True $P$\")\n",
  113. "ax0.set_ylabel(f\"EndVelo $P$\")\n",
  114. "ax0.set_title(f\"found P\")\n",
  115. "\n",
  116. "a1 = ax1.hist2d(\n",
  117. " trueP_notelectrons,\n",
  118. " endVeloP_notelectrons,\n",
  119. " # trueP_lost,\n",
  120. " # endVeloP_lost,\n",
  121. " density=False,\n",
  122. " bins=nbins,\n",
  123. " cmap=plt.cm.jet,\n",
  124. " cmin=1,\n",
  125. " vmax=vmax * stretch_factor,\n",
  126. " range=[[0, 30000], [0, 30000]],\n",
  127. ")\n",
  128. "ax1.set_xlabel(f\"True $P$\")\n",
  129. "ax1.set_ylabel(f\"EndVelo $P$\")\n",
  130. "ax1.set_title(f\"lost P\")\n",
  131. "\n",
  132. "plt.suptitle(\"Momentum at Creation and EndVelo\")\n",
  133. "plt.colorbar(a0[3], ax=ax1)\n",
  134. "plt.show()"
  135. ]
  136. },
  137. {
  138. "cell_type": "code",
  139. "execution_count": 5,
  140. "metadata": {},
  141. "outputs": [
  142. {
  143. "data": {
  144. "image/png": "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
  145. "text/plain": [
  146. "<Figure size 640x480 with 2 Axes>"
  147. ]
  148. },
  149. "metadata": {},
  150. "output_type": "display_data"
  151. }
  152. ],
  153. "source": [
  154. "a0 = plt.hist2d(\n",
  155. " trueP_found,\n",
  156. " endVeloP_found,\n",
  157. " density=False,\n",
  158. " bins=nbins,\n",
  159. " cmap=plt.cm.jet,\n",
  160. " cmin=1,\n",
  161. " vmax=vmax,\n",
  162. " range=[[0, 30000], [0, 30000]],\n",
  163. ")\n",
  164. "plt.xlabel(f\"True $P$ [MeV]\")\n",
  165. "plt.ylabel(f\"EndVelo $P$ [MeV]\")\n",
  166. "plt.title(f\"found P\")\n",
  167. "plt.colorbar(a0[3])\n",
  168. "plt.show()"
  169. ]
  170. },
  171. {
  172. "cell_type": "code",
  173. "execution_count": null,
  174. "metadata": {},
  175. "outputs": [],
  176. "source": []
  177. }
  178. ],
  179. "metadata": {
  180. "kernelspec": {
  181. "display_name": "tuner",
  182. "language": "python",
  183. "name": "python3"
  184. },
  185. "language_info": {
  186. "codemirror_mode": {
  187. "name": "ipython",
  188. "version": 3
  189. },
  190. "file_extension": ".py",
  191. "mimetype": "text/x-python",
  192. "name": "python",
  193. "nbconvert_exporter": "python",
  194. "pygments_lexer": "ipython3",
  195. "version": "3.10.12"
  196. }
  197. },
  198. "nbformat": 4,
  199. "nbformat_minor": 2
  200. }