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.

1054 lines
1.8 MiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "code",
  5. "execution_count": 8,
  6. "metadata": {},
  7. "outputs": [],
  8. "source": [
  9. "import uproot\n",
  10. "import numpy as np\n",
  11. "import sys\n",
  12. "import os\n",
  13. "import matplotlib\n",
  14. "import matplotlib.pyplot as plt\n",
  15. "from mpl_toolkits import mplot3d\n",
  16. "import itertools\n",
  17. "import awkward as ak\n",
  18. "import seaborn as sns\n",
  19. "from scipy.optimize import curve_fit\n",
  20. "%matplotlib inline"
  21. ]
  22. },
  23. {
  24. "cell_type": "code",
  25. "execution_count": 9,
  26. "metadata": {},
  27. "outputs": [],
  28. "source": [
  29. "file = uproot.open(\"tracking_losses_ntuple_Bd2KstEE.root:PrDebugTrackingLosses.PrDebugTrackingTool/Tuple;1\")\n",
  30. "#file = uproot.open(\"tracking_losses_ntuple_Dst0ToD0EE.root:PrDebugTrackingLosses.PrDebugTrackingTool/Tuple;1\")\n",
  31. "\n",
  32. "#look at particles only from Signal\n",
  33. "allcolumns = file.arrays()\n",
  34. "tracked = allcolumns[(allcolumns.isElectron) & (~allcolumns.lost) & (allcolumns.fromSignal) & (allcolumns.p > 5e3)]\n",
  35. "lost = allcolumns[(allcolumns.isElectron) & (allcolumns.lost) & (allcolumns.fromSignal) & (allcolumns.p > 5e3)] \n",
  36. "\n",
  37. "#ak.num(tracked, axis=0)\n",
  38. "\n"
  39. ]
  40. },
  41. {
  42. "cell_type": "code",
  43. "execution_count": 10,
  44. "metadata": {},
  45. "outputs": [],
  46. "source": [
  47. "#lost\n",
  48. "l_eph = lost[\"brem_photons_pe\"]\n",
  49. "ak.nan_to_num(l_eph)\n",
  50. "l_pT = lost[\"pt\"]\n",
  51. "l_sci_x = lost[\"scifi_hit_pos_x\"]\n",
  52. "ak.nan_to_num(l_sci_x)\n",
  53. "\n",
  54. "#found\n",
  55. "f_eph = tracked[\"brem_photons_pe\"]\n",
  56. "ak.nan_to_num(f_eph)\n",
  57. "f_pT = tracked[\"pt\"]\n",
  58. "f_sci_x = tracked[\"scifi_hit_pos_x\"]\n",
  59. "ak.nan_to_num(f_sci_x)\n",
  60. "\n",
  61. "l_sci_x, l_pT = ak.broadcast_arrays(l_sci_x, l_pT)\n",
  62. "f_sci_x, f_pT = ak.broadcast_arrays(f_sci_x, f_pT)\n",
  63. "\n",
  64. "l_sci_x = ak.to_numpy(ak.flatten(l_sci_x))\n",
  65. "l_pT = ak.to_numpy(ak.flatten(l_pT))\n",
  66. "f_sci_x = ak.to_numpy(ak.flatten(f_sci_x))\n",
  67. "f_pT = ak.to_numpy(ak.flatten(f_pT))"
  68. ]
  69. },
  70. {
  71. "cell_type": "code",
  72. "execution_count": 11,
  73. "metadata": {},
  74. "outputs": [
  75. {
  76. "data": {
  77. "image/png": "iVBORw0KGgoAAAANSUhEUgAABiwAAAIhCAYAAADdMJK1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydeXgVRfb+38sSCFsgBEKCGFARF2QRFNwGcEMQlcUNEYmDy6iMI+A6DgIyyqACOjIu89MhLoiOXwgqAooLqMMiQdHBnRlwUHZkEZS9fn/kdvfp3Kp09829uU3u+3mePKlUV1edrl7Sde85540opRQIIYQQQgghhBBCCCGEEEJSSLVUG0AIIYQQQgghhBBCCCGEEMIvLAghhBBCCCGEEEIIIYQQknL4hQUhhBBCCCGEEEIIIYQQQlIOv7AghBBCCCGEEEIIIYQQQkjK4RcWhBBCCCGEEEIIIYQQQghJOfzCghBCCCGEEEIIIYQQQgghKYdfWBBCCCGEEEIIIYQQQgghJOXwCwtCCCGEEEIIIYQQQgghhKQcfmFBCCGEEEIIIYQQQgghhJCUUyW+sCgqKkIkEsGaNWuS0v8TTzyBoqKihPdbWFiIli1bJrxfizlz5mDMmDFJ6/9wJBKJuObkyy+/xJgxY7TXTrLPT0VYsGABIpEIFixYkLA+Tde5Ndb//d//JWysZGKam8cffxzHHHMMMjIyEIlEsH37dt/nOMzXQipZs2YNIpGI5/OxvPusIpTXb/fu3dG2bduEjteyZUsUFhbGvf8vv/yCMWPGJPS+JcSLRYsWYcyYMdi+fXuqTSGEVAKvvPIKTjzxRGRmZiISiWDFihWpNknLmDFjEIlEEtZfsteDyXqXOZzp3r07unfvbv9d3ntOss9PRSm7Rqwo5a3DI5EIhg0blrCxko1ubt5991107twZdevWRSQSwaxZs3yf47BfC6nEz1ojWeuJ8vq1ntdbtmxJ2HiJWF8n63M6QkysW7cOY8aMCe27VVWjSnxhkWwO1wfhnDlzMHbs2FSbESoWL16M6667zv77yy+/xNixY7UvTKNGjUJxcXElWuefk08+GYsXL8bJJ5+csD4P1+u8LLq5WbFiBW699Vb06NED7733HhYvXoz69ev7PsdhvhYOB8q7z8LYr4ni4mKMGjUq7v1/+eUXjB07ll9YkEpl0aJFGDt2LL+wICQN2Lx5MwYPHoyjjz4a8+bNw+LFi3Hsscem2qwqQWW/cxwOPPHEE3jiiSfsv8t7z7nwwguxePFi5OXlVaKF/im7RqwoVWkdXnZulFK4/PLLUbNmTbz++utYvHgxunXr5vsch/1aCDvJWk9U9jolEevrqvL5BTl8WLduHcaOHcsvLCqJGqk2gIQDpRT27NmDzMzMVJuSVLp27eq77dFHH51ESypGgwYNAh1LOqGbmy+++AIAcP311+PUU0+16/2e48q4Fvbv349IJIIaNcL1WP7ll19Qp06dVJsRCjp27OjZJpHnsarPfbr83yGEkMri22+/xf79+3H11VejW7duqTYnranq/8MB4IQTTvDdtkmTJmjSpEkSrakYXFeZKTs369atw08//YR+/frhnHPOcW3zc44r41oI6ztmOjwX/OJnfZ3I8xjWtXYi4fVFqhyqCjB16lQFQK1evdpV/+yzz6p27dqpWrVqqUaNGqm+ffuqL7/80tXmP//5j7riiitUXl6eysjIUE2bNlVnn322+vTTT5VSShUUFCgArp+CgoJy7Tl06JD629/+ptq3b69q166tGjZsqAYMGKD+85//uNoNGTIkpi+/+yql1Ny5c9XZZ5+tGjRooDIzM9Vxxx2nHnzwQbvvsnbLOQKgbrnlFvXkk0+q4447TtWsWVM9+eSTSimlPvzwQ3X22WerevXqqczMTHXaaaep2bNna+f8vffeU7/73e9U48aNVXZ2turXr5/68ccfy50fy766deuqlStXqrPPPlvVqVNH5eTkqFtuuUXt3r3b1fbXX39Vd999t2rZsqWqWbOmys/PVzfffLPatm2bq927776runXrprKzs1Xt2rVVixYtVP/+/V39AVCjR492HUPZn6lTpxrPj19bCgoK1IUXXqjmzp2rOnbsqGrXrq3atGmjnn32WVe73bt3q5EjR6qWLVva12mnTp3USy+9VO78vf/++wqAev/992Pm9LvvvlO9evVSdevWVUcccYQaMWKE2rNnT7n9lXedW2O99NJL6o9//KPKy8tT9evXV+ecc476+uuvY/qaP3++Ovvss1X9+vVVZmamOv3009U777xT7vhKKXXw4EE1btw4deyxx6ratWurrKwsddJJJ6lHH33U1e6rr75SV155pWratKnKyMhQLVq0UIMHD7aPsezcdOvWLebYhgwZYs+Z1/1samfdQ88//7w67rjjVGZmpmrXrp164403PPuzbHz++efViBEjVH5+vopEIuqrr75SSvmfw1mzZqmTTjpJZWRkqFatWqlHH31UjR49WpV9tE+ZMkWdddZZqkmTJqpOnTqqbdu2asKECWrfvn2udt26dVMnnniiWrhwoTrttNNUZmamuuKKK5RSSv3444/qsssuU/Xq1VMNGjRQl19+uVq8eLHrntHhdZ8p5e9ZHbRf61g+/vhjdeaZZ6rMzEzVqlUrNX78eHXw4EFXXzt27LDvQ+u+/sMf/qB27drlaldQUGBfO0p5n0fJ6tWrtfZa/Vnnbfny5WrAgAGqYcOGqlmzZkoppZYtW6auuOIKVVBQoGrXrq0KCgrUlVdeqdasWaOdEz/P5fKel/v27VNNmjRRV199dcxxbNu2TdWuXVsNHz488PyV93/niSeeUO3atVN169ZV9erVU23atFH33HOPa//169erG264QTVv3lzVrFlTtWzZUo0ZM0bt378/xs6yWM/kN954Q3Xo0EHVrl1bHXfccfb9OnXqVHXcccepOnXqqFNOOUUtW7Yspo/XXntNde3aVWVmZqp69eqpc889Vy1atMjVxjqPn332mbr00ktVgwYNVKNGjdTw4cPV/v371ddff6169uyp6tWrpwoKCtSECRNixgk6n+U9gyx7yv5Yz0f5P7HsfMlr3bq23n33XXXdddep7OxsVb9+fTV48GC1a9cutX79enXZZZeprKws1axZMzVy5MiY5wshJLno3v27detmb/fzDDO9F+neLYK8B82ePVu1b99eZWRkqJYtW6qHH35Y26cJP+9FpvWg33eq8t4v/b5z6N6fvv/+ezVo0CDVpEkTlZGRoY477jj1yCOPuN5FrHeEhx9+WE2cOFG1bNlS1a1bV3Xt2lUtXrzYc34s+95++21VWFioGjVqpOrUqaP69OmjXUMmYo1sHbd1jXm951RkvR5kjePnfUJH2f+HFVnr+l2H+7l3vv32WzVw4EDX9TNlyhTP41FKqX/+85/q1FNPtT8raNWqlbr22mtdbbZt26ZGjBihWrVqpTIyMlSTJk1Ur169XO+ycm507xXWM8N0jsuiaxfkvV1Hee+Yfudw5cqV6rzzzlOZmZkqJydH3XzzzWr27Nkxa+63335bXXzxxap58+aqVq1a6uijj1Y33HCD2rx5s6u/8t7t9+3bp+644w6Vm5urMjMz1RlnnKGWLl0a8/5VFq/7TCl/n+UE7dc6lpUrV6orr7xSNWjQQDVt2lRde+21avv27a6+KvJZWHnnsSx+Pr/QrdE2bdqkbrrpJnX88cerunXrqiZNmqgePXqoDz74QDsnfp7LXs/LSy65RB155JHaa/nUU09VHTt2DDx/5f3f8fO52N69e9W4ceNUmzZtVEZGhsrJyVGFhYVq06ZN2vmWWM/kr776Sp1//vmqTp06qlmzZmr8+PFKKaUWL16szjjjDFWnTh3VunVrVVRUFNPHv//9b3XxxRerhg0bqlq1aqn27dvHtLPO47Rp09Sdd96pmjVrpurWrav69OmjNmzYoHbu3Kmuv/561bhxY9W4cWNVWFiofv75Z1cfQeezvGeQZU/ZH+v5KP8nlp0vea1b19ZDDz2k/vKXv9hr/G7duqlvvvlG7du3T911110qLy9PNWj
  78. "text/plain": [
  79. "<Figure size 2000x600 with 4 Axes>"
  80. ]
  81. },
  82. "metadata": {},
  83. "output_type": "display_data"
  84. }
  85. ],
  86. "source": [
  87. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20,6))\n",
  88. "\n",
  89. "a0=ax0.hist2d(l_sci_x, l_pT, bins=200, cmap=plt.cm.jet, cmin=0, range=[[-3000,3000],[0,2000]])\n",
  90. "ax0.set_xlabel(\"scifi x\")\n",
  91. "ax0.set_ylabel(r\"$p_T$\")\n",
  92. "ax0.set_title(\"lost electron positions in the scifi in regard to their transverse momentum\")\n",
  93. "plt.colorbar(a0[3],ax=ax0)\n",
  94. "\n",
  95. "a1=ax1.hist2d(f_sci_x, f_pT, bins=200, cmap=plt.cm.jet, cmin=0, range=[[-3000,3000],[0,2000]])\n",
  96. "ax1.set_xlabel(\"scifi x\")\n",
  97. "ax1.set_ylabel(r\"$p_T$\")\n",
  98. "ax1.set_title(\"found electron positions in the scifi in regard to their transverse momentum\")\n",
  99. "plt.colorbar(a1[3],ax=ax1)\n",
  100. "\n",
  101. "\"\"\"\n",
  102. "B:\n",
  103. "we can see that the lost electrons cover a wider spread in the x direction of the scifi tracker, most widely scattered electrons have low pt\n",
  104. "\n",
  105. "D:\n",
  106. "heatmaps look fairly similar. lost e are more densely located between x \\in [1000,2000]. found e between x \\in [200,1500].\n",
  107. "we can see a near empty space around the x origin in both. lost seem to have less pt.\n",
  108. "\n",
  109. "\"\"\"\n",
  110. "plt.show()"
  111. ]
  112. },
  113. {
  114. "cell_type": "code",
  115. "execution_count": null,
  116. "metadata": {},
  117. "outputs": [],
  118. "source": []
  119. },
  120. {
  121. "cell_type": "code",
  122. "execution_count": 12,
  123. "metadata": {},
  124. "outputs": [
  125. {
  126. "name": "stdout",
  127. "output_type": "stream",
  128. "text": [
  129. "[[4.09e+04], [8.66e+03], [8.07e+04], ..., [5.63e+03], [6.29e+03], [2.26e+03]]\n",
  130. "[4.62e+04, 9.36e+03, 1.34e+05, 5.63e+04, ..., 2.01e+04, 6.94e+03, 7.83e+03]\n",
  131. "8657.132\n",
  132. "9355.866625028413\n"
  133. ]
  134. }
  135. ],
  136. "source": [
  137. "energy_found = tracked[\"energy\"]\n",
  138. "energy_found = energy_found[tracked[\"brem_photons_pe_length\"]!=0]\n",
  139. "#ak.nan_to_num(energy_found)\n",
  140. "\n",
  141. "e_ph_found = tracked[\"brem_photons_pe\"]\n",
  142. "e_ph_found = e_ph_found[tracked[\"brem_photons_pe_length\"]!=0]\n",
  143. "#ak.nan_to_num(e_ph_found, nan=[0])\n",
  144. "e_ph_found = ak.sum(e_ph_found, axis=-1, keepdims=True)\n",
  145. "print(e_ph_found)\n",
  146. "print(energy_found)\n",
  147. "\n",
  148. "energy_lost = lost[\"energy\"]\n",
  149. "energy_lost = energy_lost[lost[\"brem_photons_pe_length\"]!=0]\n",
  150. "#ak.nan_to_num(energy_lost)\n",
  151. "\n",
  152. "e_ph_lost = lost[\"brem_photons_pe\"]\n",
  153. "e_ph_lost = e_ph_lost[lost[\"brem_photons_pe_length\"]!=0]\n",
  154. "#ak.nan_to_num(e_ph_lost)\n",
  155. "e_ph_lost = ak.sum(e_ph_lost, axis=-1,keepdims=True)\n",
  156. "\n",
  157. "#e_ph_found, energy_found = ak.broadcast_arrays(e_ph_found, energy_found)\n",
  158. "#e_ph_lost, energy_lost = ak.broadcast_arrays(e_ph_lost, energy_lost)\n",
  159. "\n",
  160. "e_ph_found = ak.to_numpy(ak.flatten(e_ph_found))\n",
  161. "energy_found = ak.to_numpy(energy_found)\n",
  162. "\n",
  163. "e_ph_lost = ak.to_numpy(ak.flatten(e_ph_lost))\n",
  164. "energy_lost = ak.to_numpy(energy_lost)\n",
  165. "\n",
  166. "print(e_ph_found[1])\n",
  167. "print(energy_found[1])"
  168. ]
  169. },
  170. {
  171. "cell_type": "code",
  172. "execution_count": 13,
  173. "metadata": {},
  174. "outputs": [],
  175. "source": [
  176. "q_e_found = e_ph_found/energy_found\n",
  177. "q_e_lost = e_ph_lost/energy_lost"
  178. ]
  179. },
  180. {
  181. "cell_type": "code",
  182. "execution_count": 14,
  183. "metadata": {},
  184. "outputs": [
  185. {
  186. "data": {
  187. "image/png": "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/KBbbrlF9evXV506dZSUlKQVK1bo+++/19VXXy1Jql+/vmw2m+6//34PXQUAAOb459SPF7n//vu1e/duLVu2TFFRURozZoz69eunvLw8BQcHa+jQoTp16pTWrVunOnXqKC8vT5GRkYqPj9fChQt1++23a9euXYqKirI/9wQAAEmVl0J4cLnC+RBULOxsQNm4caN69OghSXrvvfcUHx+vJUuWqH///tq/f79uv/12dezYUZLUqlUr++cbNGggSYqNjWWNCgDAKzH1Y2E7d+5UUFCQunfvbm+LiYlRu3bttHPnTknSsGHD9MILL6hnz56aMGGCvvrqK0+VCwCA0xFULMwwjPO2n33Q2oMPPqi9e/dq4MCB+vrrr5WSkqLp06e7s0wAAFyGoGJhiYmJOnPmjD7//HN729GjR5Wfn68OHTrY2+Lj4/Xoo49q0aJFevLJJzVr1ixJUkhIiKTff/cIAABvRFCxsISEBN1666166KGHtGHDBn355Ze699571bRpU916662SpBEjRmjlypXat2+fcnJy9Nlnn9lDTPPmzWWz2bR8+XIdPnxYJ0+e9OTlAABQY/65mNaCq5rPZ86cORo+fLhuvvlmnTp1SldddZVWrFih4OBgSb+PlgwdOlQHDhxQVFSUbrjhBr366quSpKZNm2rixIkaO3asBg8erPvuu09z58714NUAAFAzNuN8CyG8QHFxsaKjo1VUVKSoqCiH93777Tft27dPLVu2VFhYmIcq9H30MwB4MQ/dnnyh7+9zMfUDAAAsi6ACAAAsi6ACAAAsi6ACAAAsi6ACAAAsi6ACAAAsi6ACAAAsi6ACAAAsi6ACAAAsi6BiQYZh6OGHH1aDBg1ks9n0xRdfeKyW3r17a8SIER47PwDAv/nlb/2kp1v7XJ9++qnmzp2rzMxMtWrVSpdcconT6wIAwBv4ZVCxuj179iguLk49evTwdCkAAF9x7u/6eAmmfizm/vvv1+OPP679+/fLZrOpRYsWKisr07BhwxQbG6uwsDD16tVL27Zts39m7ty5qlevnsNxlixZIpvNZt9OT09X586d9T//8z9q0aKFoqOjddddd6mkpMS+zy+//KL77rtPkZGRiouL05QpU1x+vQAAXAhBxWKmTp2q5557Ts2aNdPBgwe1bds2jR49WgsXLtS8efOUk5OjNm3aqG/fvjp27FiNjr1nzx4tWbJEy5cv1/Lly5WVlaUXX3zR/v6oUaO0du1aLV68WKtWrVJmZqays7OdfYkAAFQbQcVioqOjVbduXQUGBqpx48aKiIjQjBkz9PLLL+vGG29UYmKiZs2apfDwcM2ePbtGx66oqNDcuXOVnJysK6+8UgMHDtSaNWskSSdPntTs2bP197//Xdddd506duyoefPmqby83BWXCQBAtRBULG7Pnj06ffq0evbsaW8LDg5Wt27dtHPnzhodq0WLFqpbt659Oy4uToWFhfbznDp1Sqmpqfb3GzRooHbt2tXyCgAAMI+gYnGGYUiSw3qTs+1n2wICAuz7nXX69OlKxwoODnbYttlsqqiocDgPAABWQlCxuDZt2igkJEQbNmywt50+fVrbt29Xhw4dJEkNGzZUSUmJfvnlF/s+NX32Sps2bRQcHKwtW7bY244fP678/PzaXQAAALXA7ckWV6dOHf31r3/VqFG
  188. "text/plain": [
  189. "<Figure size 640x480 with 1 Axes>"
  190. ]
  191. },
  192. "metadata": {},
  193. "output_type": "display_data"
  194. }
  195. ],
  196. "source": [
  197. "plt.hist(q_e_lost, bins=100, density=True, alpha=0.5, histtype='bar', color=\"darkorange\", label=\"lost\")\n",
  198. "plt.hist(q_e_found, bins=100, density=True, alpha=0.5, histtype='bar', color=\"blue\", label=\"found\")\n",
  199. "plt.xlabel(r\"$E_\\gamma/E_0$\")\n",
  200. "plt.ylabel(\"counts (normed)\")\n",
  201. "plt.title(r'$E_{ph}/E_0$')\n",
  202. "plt.legend()\n",
  203. "\n",
  204. "\"\"\"\n",
  205. "B:\n",
  206. "we can clearly see that lost electrons are responsible for higher energy photons\n",
  207. "D:\n",
  208. "still able to see a trend that most electrons that give up all of their energy to photons are lost e. but nowhere near as extreme as for the B decay\n",
  209. "\"\"\"\n",
  210. "\n",
  211. "plt.show()"
  212. ]
  213. },
  214. {
  215. "cell_type": "code",
  216. "execution_count": null,
  217. "metadata": {},
  218. "outputs": [],
  219. "source": []
  220. },
  221. {
  222. "cell_type": "code",
  223. "execution_count": 17,
  224. "metadata": {},
  225. "outputs": [
  226. {
  227. "data": {
  228. "image/png": "iVBORw0KGgoAAAANSUhEUgAABiEAAAImCAYAAAA1yym9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAADLfUlEQVR4nOzdeZwUxf3/8fewC7sL7K5AOOX2QEXxQIOgERBRQf0Z4xEFFTTxhHjFaMCEKwpeMSRBISZeCIj6RY0n4gGYRExQ8CKKJvFA5VDBXVRY3KV+f8AMPbvd290z3TM9M6/n47EP2Z7qquqenrFruz71iRljjAAAAAAAAAAAAALWJNsdAAAAAAAAAAAA+YmHEAAAAAAAAAAAIBQ8hAAAAAAAAAAAAKHgIQQAAAAAAAAAAAgFDyEAAAAAAAAAAEAoeAgBAAAAAAAAAABCwUMIAAAAAAAAAAAQCh5CAAAAAAAAAACAUPAQAgAAAAAAAAAAhIKHEMiYBx98UL1791ZZWZlisZhef/31bHfJ1qRJkxSLxQKr795771UsFtOHH34YWJ1W//73vzVp0qTQ6kduisVimjRpUih1f/vtt5o0aZKWLFkSeN2jR49Wy5YtA61z6tSpeuyxxwKtEwAAIBvCHlvccccduvfeewOvd/To0erevXvg9cY9/fTTod37IjctWbJEsVgslDGLFO44vHv37jrxxBMDq++zzz7TpEmTIvs3GACFgYcQyIjPP/9c55xzjvbYYw8tXLhQy5Yt0957753tbuWFf//735o8eTIPIZBk2bJl+ulPfxpK3d9++60mT54c2g190HgIAQAA4E1YDyHC9vTTT2vy5MnZ7gYi5JBDDtGyZct0yCGHhFJ/Lo3DP/vsM02ePJmHEACyqjjbHUBheO+99/Tdd9/p7LPP1sCBA7PdnYL27bffqnnz5tnuRlZs2bJFpaWlgUa6RNXhhx+e7S4gogr5OwAAAMAYo61bt6qsrCzbXcmKQrkXrKioYEwER4XyOQCihEgIhG706NE68sgjJUk//vGPFYvFNGjQoMTrjz/+uPr376/mzZurvLxcQ4cO1bJlyxrUYRe+a7d0UiwW09ixY3X//fdr3333VfPmzXXggQfqySefbLD/U089pYMOOkglJSXq0aOHbr31Vl/H9vzzz2vIkCGqqKhQ8+bNdcQRR+iFF14IdN93331XZ511ltq3b6+SkhJ17dpV5557rmpqanTvvffq9NNPlyQNHjxYsVhMsVgsMXtp0KBB2n///fXSSy9pwIABat68uc4//3xJ0scff6yzzz5b7dq1U0lJifbdd1/99re/1fbt2xNtf/jhh4rFYrr11lt12223qUePHmrZsqX69++vV155xdNxrlu3ThdddJE6d+6sZs2aqUePHpo8ebJqa2tTbufVV1/V//t//0+tW7dWaWmpDj74YD300ENJZeKh6osWLdL555+vtm3bqnnz5qqpqZExRlOnTlW3bt1UWlqqQw89VM8995wGDRqUuDa//vpr7bbbbrrooosatP/hhx+qqKhIt9xyS6PHPnnyZPXr10+tW7dWRUWFDjnkEN11110yxiSVq6mp0c9//nN16NBBzZs311FHHaXXXntN3bt31+jRoxPlPv/8c1166aXab7/91LJlS7Vr105HH320/va3vzVou/5yTPHzsXjxYl1yySX63ve+pzZt2uhHP/qRPvvss6R9X3zxRQ0aNEht2rRRWVmZunbtqlNPPVXffvutPvzwQ7Vt2zZxfPFrztrP+uKh0HPmzNFVV12lDh06qKysTAMHDtTKlStt9/nPf/6j4cOHq2XLlurSpYt+/vOfq6amJqnMxo0bdemll2r33XdXs2bN1LNnT1133XVJ5WKxmL755hvdd999ib5av3/efvttnXzyyWrVqpVKS0t10EEH6b777rPt/wMPPKDrrrtOnTp1UkVFhY455hitXr3a8bit3n//fY0YMSLp83b77ben1Y6X75D4d+SKFSt02mmnqVWrVtpjjz0kebvuPvzwQxUXF2vatGkN2n/ppZcUi8X08MMPezoHAAAgPHfffbcOPPBAlZaWqnXr1jrllFP0zjvvJJX53//+pzPPPFOdOnVSSUmJ2rdvryFDhiRmR3fv3l2rVq3S0qVLE/dNbksoGWN0xx136KCDDlJZWZlatWql0047Tf/73/9c++xn34ULF2rIkCGqrKxU8+bNte+++ybuT0aPHp24r4r327pkVXx8OGvWLO27774qKSlJ3O/9/e9/15AhQ1ReXq7mzZtrwIABeuqpp5La9nMf7cTP+MVrOw8++KD69++vFi1aqGXLljruuOMa3FvHlzp96623dOyxx6q8vFxDhgyRJH311Vf6yU9+otatW6tly5Y64YQT9L///S9pHPG3v/0tcX9a3+zZsxWLxbR8+XLH4/Yzfvnkk0902mmnqby8XLvttptGjhyp5cuXJ41v4+fyzDPPVPfu3VVWVqbu3bvrrLPO0kcffZRUn91yTPHz4WWsMXPmTB144IFq2bKlysvLtc8++2j8+PGJ96qxcbid+H35ypUr9aMf/UgVFRWqrKzU2Wefrc8//9x2n4ULF+qQQw5RWVmZ9tlnH919990NyriNZ5YsWaLDDjtMknTeeecl+modK3r5m0y8/6tWrdJZZ52lyspKtW/fXueff76qqqocj9vKz/jFSztev0Ma+7uIl+vu/vvvVywWa3BOJGnKlClq2rSp5+8CoKAZIGT/+c9/zO23324kmalTp5ply5aZVatWGWOMmTt3rpFkjj32WPPYY4+ZBx980PTt29c0a9bM/O1vf0vUMWrUKNOtW7cGdU+cONHUv4wlme7du5vvf//75qGHHjJPP/20GTRokCkuLjb//e9/E+Wef/55U1RUZI488kjzyCOPmIcfftgcdthhpmvXrg3qtHP//febWCxmfvjDH5pHHnnEPPHEE+bEE080RUVF5vnnn0+Uu+eee4wk88EHH/je9/XXXzctW7Y03bt3N7NmzTIvvPCCmTNnjjnjjDNMdXW12bBhg5k6daqRZG6//XazbNkys2zZMrNhwwZjjDEDBw40rVu3Nl26dDF//OMfzeLFi83SpUvNhg0bzO67727atm1rZs2aZRYuXGjGjh1rJJlLLrkk0f4HH3yQOJ/HH3+8eeyxx8xjjz1mDjjgANOqVSvz1VdfNXqO1q5da7p06WK6detm/vSnP5nnn3/e/OY3vzElJSVm9OjRKbXz4osvmmbNmpkf/OAH5sEHHzQLFy40o0ePNpLMPffc0+C877777ubCCy80zzzzjPm///s/U1tba8aNG2ckmQsvvNAsXLjQ/PnPfzZdu3Y1HTt2NAMHDkzUceWVV5oWLVo0OM5f/OIXprS01HzxxReNHv/o0aPNXXfdZZ577jnz3HPPmd/85jemrKzMTJ48OancWWedZZo0aWJ++ctfmkWLFpnp06ebLl26mMrKSjNq1KhEuXfffddccsklZv78+WbJkiXmySefND/5yU9MkyZNzOLFi5PqlGQmTpzY4Hz07NnT/OxnPzPPPvus+ctf/mJatWplBg8enPRelJaWmqFDh5rHHnvMLFmyxMydO9ecc845ZtOmTWbr1q1m4cKFRpL5yU9+krjm/vOf/zieh8WLFxtJpkuXLubkk082TzzxhJkzZ47Zc889TUVFRdLnctSoUaZZs2Zm3333Nbfeeqt5/vnnzYQJE0wsFks6b1u2bDF9+vQxLVq0MLfeeqtZtGiR+fWvf22Ki4vN8OHDE+WWLVtmysrKzPDhwxN9jX//vPvuu6a8vNzsscceZvbs2eapp54yZ511lpFkbrrppgb97969uxk5cqR56qmnzAMPPGC6du1q9tprL1NbW9vodbBq1SpTWVlpDjjgADN79myzaNEi8/Of/9w0adLETJo0KaV2vH6HxL8ju3XrZq699lrz3HPPmccee8wY4/26O+WUU0zXrl0bHOfpp59uOnXqZL777rtGjx8AAATHbmwRHw+cddZZ5qmnnjKzZ882PXv2NJWVlea9995LlOvVq5fZc889zf3332+WLl1qFix
  229. "text/plain": [
  230. "<Figure size 2000x600 with 4 Axes>"
  231. ]
  232. },
  233. "metadata": {},
  234. "output_type": "display_data"
  235. }
  236. ],
  237. "source": [
  238. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20,6))\n",
  239. "\n",
  240. "a0 = ax0.hist2d(e_ph_found/(1e3), energy_found/(1e3), density=False, bins=200, cmap=plt.cm.jet, cmin=1, range=[[0,50],[0,50]])\n",
  241. "ax0.set_xlabel(r\"$E_\\gamma$ [GeV]\")\n",
  242. "ax0.set_ylabel(r\"$E_e$ [GeV]\")\n",
  243. "ax0.set_title(\"found electron energy against photon energy\")\n",
  244. "plt.colorbar(a0[3],ax=ax0)\n",
  245. "\n",
  246. "a1 = ax1.hist2d(e_ph_lost/(1e3), energy_lost/(1e3), density=False, bins=200, cmap=plt.cm.jet, cmin=1, range= [[0,50],[0,50]])\n",
  247. "ax1.set_xlabel(r\"$E_\\gamma$ [GeV]\")\n",
  248. "ax1.set_ylabel(r\"$E_e$ [GeV]\")\n",
  249. "ax1.set_title(\"lost electron energy against photon energy\")\n",
  250. "plt.colorbar(a1[3],ax=ax1)\n",
  251. "\n",
  252. "\"\"\"\n",
  253. "B:\n",
  254. "concentrated at the E_ph/E_0~1 line especially at lower energies.\n",
  255. "lost E_ph to E_0: fewer entries at lower q_e\n",
  256. "D:\n",
  257. "both energies are much smaller than in the B decay. otherwise similar pattern.\n",
  258. "\"\"\"\n",
  259. "plt.show()"
  260. ]
  261. },
  262. {
  263. "cell_type": "code",
  264. "execution_count": 46,
  265. "metadata": {},
  266. "outputs": [],
  267. "source": [
  268. "brem_vtx_x_found = tracked[\"brem_vtx_x\"]\n",
  269. "brem_vtx_x_found = brem_vtx_x_found[tracked[\"brem_vtx_x_length\"]!=0]\n",
  270. "brem_vtx_x_found = ak.to_numpy(ak.flatten(brem_vtx_x_found))\n",
  271. "\n",
  272. "brem_vtx_z_found = tracked[\"brem_vtx_z\"]\n",
  273. "brem_vtx_z_found = brem_vtx_z_found[tracked[\"brem_vtx_z_length\"]!=0]\n",
  274. "#print(ak.to_numpy(brem_vtx_z_found))\n",
  275. "brem_vtx_z_found = ak.to_numpy(ak.flatten(brem_vtx_z_found))\n",
  276. "\n",
  277. "brem_vtx_x_lost = lost[\"brem_vtx_x\"]\n",
  278. "brem_vtx_x_lost = brem_vtx_x_lost[lost[\"brem_vtx_x_length\"]!=0]\n",
  279. "brem_vtx_x_lost = ak.to_numpy(ak.flatten(brem_vtx_x_lost))\n",
  280. "\n",
  281. "brem_vtx_z_lost = lost[\"brem_vtx_z\"]\n",
  282. "brem_vtx_z_lost = brem_vtx_z_lost[lost[\"brem_vtx_z_length\"]!=0]\n",
  283. "brem_vtx_z_lost = ak.to_numpy(ak.flatten(brem_vtx_z_lost))\n",
  284. "\n",
  285. "#vtx_x_fit= ak.to_numpy(vtx_x_found)\n",
  286. "#vtx_z_fit = ak.to_numpy(vtx_z_found)"
  287. ]
  288. },
  289. {
  290. "cell_type": "code",
  291. "execution_count": null,
  292. "metadata": {},
  293. "outputs": [],
  294. "source": [
  295. "\n"
  296. ]
  297. },
  298. {
  299. "cell_type": "code",
  300. "execution_count": 47,
  301. "metadata": {},
  302. "outputs": [
  303. {
  304. "data": {
  305. "image/png": "iVBORw0KGgoAAAANSUhEUgAABkAAAAIlCAYAAACNejRdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAADxwElEQVR4nOzdf3wU1b3/8feSXwaarAQkITUobZGr8qOKFaHeC5RfUpEqtmCxXFCqWCw0AqLIrYBXQGOLtFCtVa+xosVvH7d4tbUUbBVL8QdE04q1qC0qVGKsxg1gyC/m+0d2djP7ezezu7Ob1/PxyGPZmbMzZ2aX5Jw95/M5LsMwDAEAAAAAAAAAAGSRHumuAAAAAAAAAAAAgN0YAAEAAAAAAAAAAFmHARAAAAAAAAAAAJB1GAABAAAAAAAAAABZhwEQAAAAAAAAAACQdRgAAQAAAAAAAAAAWYcBEAAAAAAAAAAAkHUYAAEAAAAAAAAAAFmHARAAAAAAAAAAAJB1GAABAAAAAAAAAABZhwEQACk3d+5cVVdXp7saAAAAAJCx6FcBABAdAyAAAAAAAAAAACDrMAACIOM8/vjjOvvss1VYWCiXy6Xa2tp0VymkVatWyeVyxVzuX//6Vwpqlfl2796tVatW6ZNPPrFsr66ulsvl0jvvvJOWegEAAACZIplt53Dt9XDoD8Un0v2lTwQAwRgAAZASU6dO1cknn6yTTz5Zjz32mBYsWOB7fscdd8R8nA8//FCzZ8/W5z//eW3btk0vvPCCzjjjjCTWHE6ze/durV69OqjBf/HFF+uFF15Q//7901MxAAAAIMns6lclU7j2OuwR6f7SJwKAYLnprgCA7uHXv/61799z587V2LFjNXfu3LiP8+abb6q1tVXf+ta3NGbMGBtrmJk+/fRT9ezZM93VSIlo13rKKafolFNOSWGNAAAAgNSyq1+VLegPWdEnAoBgRIAASNiuXbs0adIkud1u9e7dWxdffLHeeuutpJ1v7ty5uvDCCyVJM2fOlMvl0tixY311GT9+vIqKitSzZ0+NHj1av/nNb0Ie4/TTTw/aHpiuynz++uuv65vf/KbcbrdKS0t19dVXy+PxBL3+N7/5jb74xS+qoKBAAwcO1A9+8IO4r+/gwYOaPn26iouL5Xa79a1vfUsffvhhUJ1eeeUVff3rX1fv3r31+c9/3rf/rbfe0qxZs9SvXz8VFBTozDPP1E9+8pOQ1/mXv/xF3/jGN+R2u1VSUqLFixerra1N+/fv10UXXaSioiKdfvrpqqqqilrvJ554Qi6XS7///e+D9t17772+8yVSz8BrXbVqlW688UZJ0sCBA+VyueRyufTcc8+FDff+29/+pm9+85sqLS1VQUGBBgwYoP/8z/9Uc3NzXHX68MMPde2116qiokIFBQU65ZRT9OUvf1nPPPNM1HsEAAAAhJPqflWkekTrU0VrE0dqr0eTiv5Q5+PY1SdySn9ICp0Cy67+kESfCEBmIgIEQEJWrVql//7v/9bcuXNVWVmppqYmrV69WuPHj9df//pXfeYznwn72urq6oTO+f3vf1/nn3++rr/+eq1du1bjxo1TcXGxdu7cqYkTJ2rYsGF68MEHVVBQoHvuuUeXXHKJfvGLX2jmzJkJXqV0+eWXa+bMmZo3b55ee+01LV++XJL0P//zP74yv//97/W1r31No0aN0pYtW9Te3q6qqip98MEHcZ3rsssu04wZM3Tdddfp9ddf1/e//3399a9/1UsvvaS8vDxfuenTp+uKK67Qddddp2PHjkmS/vrXv2r06NEaMGCAfvjDH6qsrEy/+93vtGjRIv3rX//SypUrLeeaMWOGvvWtb2n+/PnasWOHqqqq1NraqmeeeUYLFizQ0qVL9dhjj+mmm27SF77wBU2fPj1svadOnap+/frpoYce0vjx4y37qqurde6552rYsGEJ1TPwWkeMGKGPP/5YGzdu1K9+9StfaPdZZ50VMs/tn//8Z1144YXq27evbrvtNg0aNEiHDx/Wk08+qZaWFhUUFMRcp9mzZ+uVV17RmjVrdMYZZ+iTTz7RK6+8oo8++ijGdxgAAACwSke/KpRY+1TR2sTf/va3w7bXo0llf0iyr0/klP5QKHb2hyT6RAAylAEAcXrqqacMSUZVVZVl+5tvvmlIMjZv3hz0mosuusjo1atXyJ81a9bEfO5nn33WkGT88pe/9G274IILjH79+hlHjhzxbWtrazOGDBlinHrqqcaJEyd82+fMmWOcdtppQcdduXKl0flXovk88BoXLFhgnHTSSZZjjhw50igvLzeampp82xobG42SkhIjll+z5rluuOEGy/ZHH33Ucj/NcrfeemvQMSZPnmyceuqphsfjsWz/7ne/a5x00knGxx9/bDnGD3/4Q0u5L37xi4Yk41e/+pVvW2trq3HKKacY06dPj3oNixcvNgoLC41PPvnEt+2vf/2rIcnYuHFjwvUMda133XWXIck4cOCAZftDDz0UtP0rX/mKcfLJJxv19fVh6x5rnT7zmc8YlZWVkW8EAAAAEKN09qsC286x9qliaROHa6+Hk8r+UOfj2NknckJ/yDCC31c7+0OGQZ8IQGYiBRaAuN166636/Oc/r+9973tqa2vz/QwcOFCFhYX6xz/+EfSa3/72tzp69GjIn1tuuSXhuhw7dkwvvfSSvv71r1tmR+Xk5Gj27Nk6dOiQ9u/fn/Dxp02bZnk+bNgwHT9+XPX19b7z79mzR9OnT9dJJ53kK1dUVKRLLrkkrnNdeeWVluczZsxQbm6unn32Wcv2yy+/3PL8+PHj+v3vf6/LLrtMPXv2tLwnX/3qV3X8+HG9+OKLltdMnTrV8vzMM8+Uy+XSlClTfNtyc3P1hS98Qe+++27Uul999dVqamrS448/7tv20EMPqaCgQLNmzUq4noHXGo9PP/1UO3fu1IwZM8LmwY2nTueff76qq6t1++2368UXX1Rra2vCdQMAAACc0q+Kp0+VzDZxKvtDkr19ou7QH5LoEwHITAyAAIhLXV2dXn31Vf39739XQUGB8vLyLD9NTU06+eSTU1afhoYGGYbhC/3trLy8XJK6FI7bp08fy/OCggJJUlNTk+/8J06cUFlZWdBrQ22LJLB8bm6u+vTpE1T/wGv96KOP1NbWpo0bNwa9H1/96lclSf/6178srykpKbE8z8/PV8+ePS2DOOb248ePR6372WefrS996Ut66KGHJEnt7e3avHmzvva1r/nOlUg9Q72vsWpoaFB7e7tOPfXUsGXiqdPjjz+uOXPm6IEHHtCoUaNUUlKi//zP/1RdXV3CdQQAAED35KR+VTx9qmS2iVPZH5Ls7RN1h/6QRJ8IQGZiDRAAcTl48KAk6e677/YtSB6o80J0yda7d2/16NFDhw8fDtr3/vvvS5L69u3r23bSSSdZFnszhWoQx3p+l8sVssEXbyOwrq5On/3sZ33P29ra9NFHHwUNwnRerN2sgzk76/rrrw957IEDB8ZVl0RcddVVWrBggd544w394x//0OHDh3XVVVd1qZ6B1xqPkpIS5eTk6NChQ2HLxFOnvn37asOGDdqwYYPee+89Pfnkk7r55ptVX1+vbdu2JVxPAAAAdD9O6lfF06dKZpuY/pCz+0MSfSIAmYkBEABxMWevuFwunXfeeWmujdSrVy+NHDlSv/rVr/SDH/xAhYWFkqQTJ05o8+bNOvXUU3XGGWf4yp9++umqr6/XBx98oNLSUklSS0uLfve73yV8/vPPP1+/+tWvdNddd/lmCx05ckRPPfVUXMd69NFHNWLECN/z//f//p/a2to0duzYiK/r2bOnxo0bp1dffVXDhg1Tfn5+3Ndhh29+85tavHixqqur9Y9//EOf/exnNWnSJNvrGRiFE05hYaHGjBmjX/7yl1qzZo1lIKyrdRowYIC++93v6ve//73+9Kc/xX8RAAAA6Nac1K+Kt09lCtcmjrW9Hoj+UGyc0B+S6BMByBwMgACIy+c//3mNGzdO//Vf/6WjR49q5MiRMgxDhw8f1rPPPqs5c+ZEbaDabd26dZo4caLGjRunpUuXKj8/X/f
  306. "text/plain": [
  307. "<Figure size 2000x600 with 4 Axes>"
  308. ]
  309. },
  310. "metadata": {},
  311. "output_type": "display_data"
  312. }
  313. ],
  314. "source": [
  315. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20,6))\n",
  316. "\n",
  317. "a0 = ax0.hist2d(brem_vtx_z_found, brem_vtx_x_found, density=False, bins=300, cmap=plt.cm.jet, cmin=1)\n",
  318. "ax0.set_xlabel(\"z [mm]\")\n",
  319. "ax0.set_ylabel(\"x [mm]\")\n",
  320. "ax0.set_title(r\"$e^\\pm$ found brem vertices\")\n",
  321. "\n",
  322. "plt.colorbar(a0[3],ax=ax0)\n",
  323. "\n",
  324. "a1 = ax1.hist2d(brem_vtx_z_lost, brem_vtx_x_lost, density=False, bins=300, cmap=plt.cm.jet, cmin=1)\n",
  325. "ax1.set_xlabel(\"z [mm]\")\n",
  326. "ax1.set_ylabel(\"x [mm]\")\n",
  327. "ax1.set_title(r\"$e^\\pm$ lost brem vertices\")\n",
  328. "#ax1.set(xlim=(0,4000), ylim=(-1000,1000))\n",
  329. "\n",
  330. "plt.colorbar(a1[3], ax=ax1)\n",
  331. "\n",
  332. "\"\"\"\n",
  333. "z: VeLo - RICH1 - TT - Magnet - T1,T2,T3 - RICH2 - M1\n",
  334. "B:\n",
  335. "vertices of lost e photons are more densely concentrated around the beampipe, especially in the z range of the magnet\n",
  336. "found: vertices are densely located @ or around the detectors, while there are no clusters in the z range of the magnet\n",
  337. "D:\n",
  338. "lost brem vertices: we can very clearly see the concentration of vertices @ the beampipe\n",
  339. "both: less statistics in general, can still make out the tracking stations but not as well as in the B decay\n",
  340. "\"\"\"\n",
  341. "plt.show()"
  342. ]
  343. },
  344. {
  345. "cell_type": "code",
  346. "execution_count": 48,
  347. "metadata": {},
  348. "outputs": [],
  349. "source": [
  350. "#plot singular tracks by fitting brem vertices\n",
  351. "vtx_z_found = tracked[\"brem_vtx_z\"]\n",
  352. "vtx_z_found = vtx_z_found[tracked[\"brem_vtx_z_length\"]>3]\n",
  353. "\n",
  354. "vtx_x_found = tracked[\"brem_vtx_x\"]\n",
  355. "vtx_x_found = vtx_x_found[tracked[\"brem_vtx_x_length\"]>3]\n",
  356. "\n",
  357. "vtx_z_lost = lost[\"brem_vtx_z\"]\n",
  358. "vtx_z_lost = vtx_z_lost[lost[\"brem_vtx_z_length\"]>3]\n",
  359. "\n",
  360. "vtx_x_lost = lost[\"brem_vtx_x\"]\n",
  361. "vtx_x_lost = vtx_x_lost[lost[\"brem_vtx_x_length\"]>3]\n",
  362. "\n",
  363. "def cubic_fit(x, a, b, c, d):\n",
  364. " return (a + b*x + c*x**2 + d*x**3)\n",
  365. "\n",
  366. "def quint_fit(x, a, b, c, d, e, f):\n",
  367. " return (a + b*x + c*x**2 + d*x**3 + e*x**4 + f*x**5)\n"
  368. ]
  369. },
  370. {
  371. "cell_type": "code",
  372. "execution_count": 32,
  373. "metadata": {},
  374. "outputs": [
  375. {
  376. "data": {
  377. "image/png": "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
  378. "text/plain": [
  379. "<Figure size 2000x600 with 2 Axes>"
  380. ]
  381. },
  382. "metadata": {},
  383. "output_type": "display_data"
  384. }
  385. ],
  386. "source": [
  387. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20,6))\n",
  388. "n_end=100\n",
  389. "\n",
  390. "for i in range(0,n_end):\n",
  391. " popt, pcov = curve_fit(cubic_fit,ak.to_numpy(vtx_z_found[i,:]),ak.to_numpy(vtx_x_found[i,:]))\n",
  392. " z_coord = np.linspace(vtx_z_found[i,0],12000,1000)\n",
  393. " fit = cubic_fit(z_coord, popt[0], popt[1], popt[2], popt[3])\n",
  394. " ax0.plot(z_coord, fit, \"-\", label=\"fit\"+str(i), lw=0.5)\n",
  395. " ax0.errorbar(ak.to_numpy(vtx_z_found[i,:]),ak.to_numpy(vtx_x_found[i,:]),fmt=\".\",ms=2)\n",
  396. "\n",
  397. "#ax0.legend()\n",
  398. "ax0.set_xlabel(\"z [mm]\")\n",
  399. "ax0.set_ylabel(\"x [mm]\")\n",
  400. "ax0.set_title(\"found tracks of brem vertices from few signals\")\n",
  401. "ax0.set(xlim=(0,12000), ylim=(-4000,4000))\n",
  402. "ax0.grid()\n",
  403. "\n",
  404. "for i in range(0,n_end):\n",
  405. " popt, pcov = curve_fit(cubic_fit,ak.to_numpy(vtx_z_lost[i,:]),ak.to_numpy(vtx_x_lost[i,:]))\n",
  406. " z_coord = np.linspace(vtx_z_lost[i,0],12000,1000)\n",
  407. " fit = cubic_fit(z_coord, popt[0], popt[1], popt[2], popt[3])\n",
  408. " ax1.plot(z_coord, fit, \"-\", label=\"fit\"+str(i), lw=0.5)\n",
  409. " ax1.errorbar(ak.to_numpy(vtx_z_lost[i,:]),ak.to_numpy(vtx_x_lost[i,:]),fmt=\".\",ms=2)\n",
  410. "\n",
  411. "#ax1.legend()\n",
  412. "ax1.set_xlabel(\"z [mm]\")\n",
  413. "ax1.set_ylabel(\"x [mm]\")\n",
  414. "ax1.set_title(\"lost tracks of brem vertices from few signals\")\n",
  415. "ax1.set(xlim=(0,12000), ylim=(-4000,4000))\n",
  416. "ax1.grid()\n",
  417. "\n",
  418. "\"\"\"\n",
  419. "B:\n",
  420. "we can see that of the lost brem vertices, many trajectory fits seem illogical and not plausible\n",
  421. "found: most seem like reasonable tracks\n",
  422. "D:\n",
  423. "both: many tracks arent good fits and are unusable\n",
  424. "\"\"\"\n",
  425. "\n",
  426. "plt.show()"
  427. ]
  428. },
  429. {
  430. "cell_type": "code",
  431. "execution_count": 49,
  432. "metadata": {},
  433. "outputs": [],
  434. "source": [
  435. "endvtx_x_found = tracked[\"all_endvtx_x\"]\n",
  436. "endvtx_x_found = endvtx_x_found[tracked[\"all_endvtx_x_length\"]!=0]\n",
  437. "endvtx_x_found = ak.to_numpy(ak.flatten(endvtx_x_found))\n",
  438. "\n",
  439. "endvtx_z_found = tracked[\"all_endvtx_z\"]\n",
  440. "endvtx_z_found = endvtx_z_found[tracked[\"all_endvtx_z_length\"]!=0]\n",
  441. "#print(ak.to_numpy(brem_vtx_z_found))\n",
  442. "endvtx_z_found = ak.to_numpy(ak.flatten(endvtx_z_found))\n",
  443. "\n",
  444. "endvtx_x_lost = lost[\"all_endvtx_x\"]\n",
  445. "endvtx_x_lost = endvtx_x_lost[lost[\"all_endvtx_x_length\"]!=0]\n",
  446. "endvtx_x_lost = ak.to_numpy(ak.flatten(endvtx_x_lost))\n",
  447. "\n",
  448. "endvtx_z_lost = lost[\"all_endvtx_z\"]\n",
  449. "endvtx_z_lost = endvtx_z_lost[lost[\"all_endvtx_z_length\"]!=0]\n",
  450. "endvtx_z_lost = ak.to_numpy(ak.flatten(endvtx_z_lost))"
  451. ]
  452. },
  453. {
  454. "cell_type": "code",
  455. "execution_count": 50,
  456. "metadata": {},
  457. "outputs": [
  458. {
  459. "data": {
  460. "image/png": "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lltuSbgtR48e1UsvvaR//dd/tcyOysrK0owZM/T+++/rjTfeSLj+K664wvL9ueeeq88++0y1tbWh4+/Zs0dTp05Vz549Q+UKCgp0+eWXx6z/s88+0zPPPKOvfvWr6tWrl+V6fvnLX9Znn32mF1980XGbkm2PJH3jG99QY2OjHnvssdC29evXKy8vT9OnT0+43VdddZWj49v55z//qZ07d2ratGlR8+DG064vfvGL2rBhg26//Xa9+OKLamlpSbh9AAAAQLwyZVwVz5jK7T602+Oh4Pl4PSZKpN2S92MixkMAujNugABwRU1Njf74xz/qr3/9q/Ly8pSTk2N5NDY26sQTT0xZe+rq6mQYRihU2KysrEySkgrh7du3r+X7YJqlxsbG0PGPHTum0tLSiNfabevo448/Vmtrq1avXh1xLb/85S9Lkv7xj384blOy7ZGkc845R1/4whe0fv16SVJbW5s2btyor3zlKyouLk643XbvkVN1dXVqa2vTwIEDo5aLp12PPfaYZs6cqZ///OcaOXKkiouL9e///u+qqalJuJ0AAACAE5k0ropnTOV2H9rt8VDwfLweEyXSbsn7MRHjIQDdGWuAAHDFwYMHJUn33ntvaEHyjk477bSUtadPnz7q0aOHDh06FLHv73//uySpX79+oW09e/aMWDBbsu+cOj1+IBCw7SQ66Tj26dMnNLPqxhtvtC0zePDglLUn6Otf/7rmzp2rv/zlL/rb3/6mQ4cO6etf/3pS7TYvMh+v4uJiZWVl6f33349aLp529evXT/fdd5/uu+8+vffee3riiSf0ve99T7W1tdq6dWvCbQUAAABiyaRxVTxjKrf70G6Ph4J1ej0mSrTdXo+JGA8B6M64AQLAFcEIgEAgoOHDh6e5NVLv3r01YsQIPf7447r77ruVn58vSTp27Jg2btyogQMH6owzzgiVP/XUU1VbW6sPP/xQJSUlkqTm5mY9/fTTCR//i1/8oh5//HHdddddoRDrw4cPa8uWLTFf36tXL40dO1Z//OMfde655yo3NzehdrjVnqCvfe1rqqys1IYNG/S3v/1NJ598siZOnOh6uzvO1upMfn6+Ro8erV/+8pdatmyZ5aaWWaLtOuWUU3TTTTfpmWee0e9///v4TgIAAACIUyaNq+IdUwV11od22seX3B8PBc/H6zGRm+12c0zEeAhAd8YNEACuOO200zR27Fj913/9l44cOaIRI0bIMAwdOnRIzz77rGbOnKkxY8aktE0rVqzQhAkTNHbsWC1cuFC5ubm6//77tX//fj366KOWWTbXXHONbr31Vl177bX67ne/q88++0w/+tGP1NbWlvDx//u//1uXXnqpJkyYoAULFqitrU133nmnevfurU8++STm63/4wx/q4osv1v/7f/9P3/72t3Xqqafq8OHDevvtt7Vlyxb97ne/S2l7JOnEE0/UV7/6VW3YsEGffvqpFi5cqB49rNkU3Wj30KFDQ3XNnDlTOTk5OvPMM1VQUBBRdtWqVbr44os1YsQIfe9739Ppp5+uDz/8UE888YQeeOCB0GuctKu+vl5jx47V9OnT9S//8i8qKCjQnj17tHXrVk2dOtXRNQIAAAASlWnjKidjKqd96Hj6+MFybo6HpNSMidxqd2fXy46TMRHjIQDdVnrXYAfQldTX1xu
  461. "text/plain": [
  462. "<Figure size 2000x600 with 4 Axes>"
  463. ]
  464. },
  465. "metadata": {},
  466. "output_type": "display_data"
  467. }
  468. ],
  469. "source": [
  470. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20,6))\n",
  471. "\n",
  472. "a0 = ax0.hist2d(endvtx_z_found, endvtx_x_found, density=False, bins=500, cmap=plt.cm.jet, cmin=1)\n",
  473. "ax0.set_xlabel(\"z [mm]\")\n",
  474. "ax0.set_ylabel(\"x [mm]\")\n",
  475. "ax0.set_title(r\"$e^\\pm$ found end vertices\")\n",
  476. "ax0.set(xlim=(0,12000), ylim=(-4000,4000))\n",
  477. "\n",
  478. "plt.colorbar(a0[3],ax=ax0)\n",
  479. "\n",
  480. "a1 = ax1.hist2d(endvtx_z_lost, endvtx_x_lost, density=False, bins=500, cmap=plt.cm.jet, cmin=1)\n",
  481. "ax1.set_xlabel(\"z [mm]\")\n",
  482. "ax1.set_ylabel(\"x [mm]\")\n",
  483. "ax1.set_title(r\"$e^\\pm$ lost end vertices\")\n",
  484. "ax1.set(xlim=(0,12000), ylim=(-4000,4000))\n",
  485. "\n",
  486. "plt.colorbar(a1[3], ax=ax1)\n",
  487. "\n",
  488. "\"\"\"\n",
  489. "z: VeLo - RICH1 - TT - Magnet - T1,T2,T3 - RICH2 - M1\n",
  490. "B:\n",
  491. "vertices of lost e photons are more densely concentrated around the beampipe, especially in the z range of the magnet\n",
  492. "found: vertices are densely located @ or around the detectors, while there are no clusters in the z range of the magnet\n",
  493. "D:\n",
  494. "lost: densely located @ the beampipe.\n",
  495. "both: almost cant make out the velo or ut\n",
  496. "\"\"\"\n",
  497. "plt.show()"
  498. ]
  499. },
  500. {
  501. "cell_type": "code",
  502. "execution_count": 51,
  503. "metadata": {},
  504. "outputs": [],
  505. "source": [
  506. "# try to plot trajectories using all tracker hits (Velo, UT, SciFi)\n",
  507. "\n",
  508. "velo_x_found = tracked[\"velo_hit_pos_x\"]\n",
  509. "velo_z_found = tracked[\"velo_hit_pos_z\"]\n",
  510. "ut_x_found = tracked[\"ut_hit_pos_x\"]\n",
  511. "ut_z_found = tracked[\"ut_hit_pos_z\"]\n",
  512. "scifi_x_found = tracked[\"scifi_hit_pos_x\"]\n",
  513. "scifi_z_found = tracked[\"scifi_hit_pos_z\"]\n",
  514. "\n",
  515. "tracker_x_found = ak.concatenate([velo_x_found,ut_x_found,scifi_x_found], axis=1)\n",
  516. "tracker_z_found = ak.concatenate([velo_z_found,ut_z_found,scifi_z_found], axis=1)\n",
  517. "\n",
  518. "velo_x_lost = lost[\"velo_hit_pos_x\"]\n",
  519. "velo_z_lost = lost[\"velo_hit_pos_z\"]\n",
  520. "ut_x_lost = lost[\"ut_hit_pos_x\"]\n",
  521. "ut_z_lost = lost[\"ut_hit_pos_z\"]\n",
  522. "scifi_x_lost = lost[\"scifi_hit_pos_x\"]\n",
  523. "scifi_z_lost = lost[\"scifi_hit_pos_z\"]\n",
  524. "\n",
  525. "tracker_x_lost = ak.concatenate([velo_x_lost,ut_x_lost,scifi_x_lost], axis=1)\n",
  526. "tracker_z_lost = ak.concatenate([velo_z_lost,ut_z_lost,scifi_z_lost], axis=1)\n",
  527. "\n",
  528. "\n",
  529. "#tracker_x_found = tracker_x_found[tracked[\"energy\"]>1e4]\n",
  530. "#tracker_z_found = tracker_z_found[tracked[\"energy\"]>1e4]\n",
  531. "\n",
  532. "#tracker_x_lost = tracker_x_lost[lost[\"energy\"]>1e4]\n",
  533. "#tracker_z_lost = tracker_z_lost[lost[\"energy\"]>1e4]"
  534. ]
  535. },
  536. {
  537. "cell_type": "code",
  538. "execution_count": null,
  539. "metadata": {},
  540. "outputs": [],
  541. "source": []
  542. },
  543. {
  544. "cell_type": "code",
  545. "execution_count": 52,
  546. "metadata": {},
  547. "outputs": [
  548. {
  549. "data": {
  550. "image/png": "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
  551. "text/plain": [
  552. "<Figure size 2000x600 with 2 Axes>"
  553. ]
  554. },
  555. "metadata": {},
  556. "output_type": "display_data"
  557. }
  558. ],
  559. "source": [
  560. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20,6))\n",
  561. "\n",
  562. "nstart=0\n",
  563. "nend=130\n",
  564. "\n",
  565. "for i in range(nstart,nend):\n",
  566. " popt, pcov = curve_fit(cubic_fit,ak.to_numpy(tracker_z_found[i,:]),ak.to_numpy(tracker_x_found[i,:]))\n",
  567. " z_coord = np.linspace(tracker_z_found[i,0],14000,1000)\n",
  568. " fit = cubic_fit(z_coord, popt[0], popt[1], popt[2], popt[3])\n",
  569. " ax0.plot(z_coord, fit, \"-\", lw=0.5)\n",
  570. " ax0.errorbar(ak.to_numpy(tracker_z_found[i,:]),ak.to_numpy(tracker_x_found[i,:]),fmt=\".\",ms=3)\n",
  571. "\n",
  572. "ax0.legend([r\"$E>5$GeV\"])\n",
  573. "ax0.vlines(3000, -4000,4000, lw=1, ls=\":\", color=\"red\")\n",
  574. "ax0.vlines(7500, -4000,4000, lw=1, ls=\":\", color=\"red\")\n",
  575. "ax0.set_xticks(np.arange(0,14000,1000) , minor=True)\n",
  576. "ax0.set_yticks(np.arange(-4000,4000,500), minor=True)\n",
  577. "ax0.set_xlabel(\"z [mm]\")\n",
  578. "ax0.set_ylabel(\"x [mm]\")\n",
  579. "ax0.set_title(\"found tracks from detector hits from few signals\")\n",
  580. "ax0.set(xlim=(0,14000), ylim=(-4000,4000))\n",
  581. "ax0.grid()\n",
  582. "\n",
  583. "for i in range(nstart,nend):\n",
  584. " popt, pcov = curve_fit(cubic_fit,ak.to_numpy(tracker_z_lost[i,:]),ak.to_numpy(tracker_x_lost[i,:]))\n",
  585. " z_coord = np.linspace(tracker_z_lost[i,0],14000,1000)\n",
  586. " fit = cubic_fit(z_coord, popt[0], popt[1], popt[2], popt[3])\n",
  587. " ax1.plot(z_coord, fit, \"-\", lw=0.5)\n",
  588. " ax1.errorbar(ak.to_numpy(tracker_z_lost[i,:]),ak.to_numpy(tracker_x_lost[i,:]),fmt=\".\",ms=3)\n",
  589. "\n",
  590. "ax1.vlines(3000, -4000,4000, lw=1, ls=\":\", color=\"red\")\n",
  591. "ax1.vlines(7500, -4000,4000, lw=1, ls=\":\", color=\"red\")\n",
  592. "ax1.set_xticks(np.arange(0,14000,1000) , minor=True)\n",
  593. "ax1.set_yticks(np.arange(-4000,4000,500), minor=True)\n",
  594. "ax1.set_xlabel(\"z [mm]\")\n",
  595. "ax1.set_ylabel(\"x [mm]\")\n",
  596. "ax1.set_title(\"lost tracks from detector hits from few signals\")\n",
  597. "ax1.set(xlim=(0,14000), ylim=(-4000,4000))\n",
  598. "ax1.grid()\n",
  599. "\n",
  600. "\n",
  601. "\"\"\"\n",
  602. "electrons and photons will be stopped by the ECAL which serves to measure the particles energy\n",
  603. "\n",
  604. "B:\n",
  605. "the trajectories between the velo and tt should be linear, which cannot be plotted accurately using a single fit.\n",
  606. "lost tracks diverge more severely.\n",
  607. "\n",
  608. "most higher energy particles maintain a trajectory closer to the beamdirection ie a larger pseudorapidity,\n",
  609. "and show less bending in their trajectory, especially upstream.\n",
  610. "found: higher energy: very compact trajectory, less bending wrt lower energy particles \n",
  611. "\n",
  612. "D:\n",
  613. "E<10GeV: almost all diverge from the x origin (almost no hit for x<1500)\n",
  614. "E>10GeV: much more densely clustered. however still a noticeable empty space around the x origin\n",
  615. "\"\"\"\n",
  616. "\n",
  617. "\n",
  618. "\n",
  619. "plt.show()"
  620. ]
  621. },
  622. {
  623. "cell_type": "code",
  624. "execution_count": 56,
  625. "metadata": {},
  626. "outputs": [],
  627. "source": [
  628. "c = 299792458 #m/s\n",
  629. "energy_found = tracked[\"energy\"]\n",
  630. "p_found = tracked[\"p\"]\n",
  631. "pt_found = tracked[\"pt\"]\n",
  632. "eta_found = tracked[\"eta\"]\n",
  633. "\n",
  634. "energy_lost = lost[\"energy\"]\n",
  635. "p_lost = lost[\"p\"]\n",
  636. "pt_lost = lost[\"pt\"]\n",
  637. "eta_lost = lost[\"eta\"]\n",
  638. "\n",
  639. "p_found = ak.to_numpy(p_found)\n",
  640. "pt_found = ak.to_numpy(pt_found)\n",
  641. "eta_found = ak.to_numpy(eta_found)\n",
  642. "\n",
  643. "p_lost = ak.to_numpy(p_lost)\n",
  644. "pt_lost = ak.to_numpy(pt_lost)\n",
  645. "eta_lost = ak.to_numpy(eta_lost)\n",
  646. "#print(np.sqrt(energy_found[0]**2 - p_found[0]**2))"
  647. ]
  648. },
  649. {
  650. "cell_type": "code",
  651. "execution_count": 57,
  652. "metadata": {},
  653. "outputs": [
  654. {
  655. "data": {
  656. "image/png": "iVBORw0KGgoAAAANSUhEUgAABjEAAAIhCAYAAAAPYJjtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACt5ElEQVR4nOzdeXgUVdr38V+TQBKWBIKQRXZFhACCoAgugAgIg8uo446gPgwOiIPIg+JGcCGCjIOKgL7DEJEBl0EUhUFwIY6CIyC4oDLjM6gIRFwwAYSEhPP+gWm7SXe6q1PdXd39/VxXLtOVqlOnFmLdqXOf22WMMQIAAAAAAAAAAHCYOtHuAAAAAAAAAAAAgC+8xAAAAAAAAAAAAI7ESwwAAAAAAAAAAOBIvMQAAAAAAAAAAACOxEsMAAAAAAAAAADgSLzEAAAAAAAAAAAAjsRLDAAAAAAAAAAA4Ei8xAAAAAAAAAAAAI7ESwwAAAAAAAAAAOBIvMSAnnvuOeXl5SktLU0ul0tbtmyJdpd8ys/Pl8vlsq29wsJCuVwuffnll7a16enTTz9Vfn5+2NpH6KZNm6aXXnop2t2IaZxDRBq/UwEAThbu2GLOnDkqLCy0vd2RI0eqTZs2trdbZeXKlcrPzw9b+wjNrl27lJ+f79jYPxZwDhEN/E5FIuMlRoL77rvvNHz4cJ1wwglatWqV1q9fr5NOOina3YoLn376qaZOncof3ByIP8DXHucQkcbvVABAIgvXS4xwW7lypaZOnRrtbuAYu3bt0tSpU/kDfC1wDhEN/E5FIkuOdgcQXf/+9791+PBhXXvtterbt2+0u5PQfv75Z9WvXz/a3QAkSZWVlaqoqFBKSkqt2zp48KBSU1NtzaRymoMHDyotLS3a3QAAAIhZxhgdOnSIZyo4hp1xTLzH+3bGjwDgC5kYCWzkyJE666yzJElXXHGFXC6X+vXr5/758uXL1bt3b9WvX1+NGjXSwIEDtX79+mpt+Eo/9jX1k8vl0s0336xnnnlGHTt2VP369XXKKafo1Vdfrbb9ihUr1K1bN6WkpKht27aaOXOmpWN7/fXXNWDAAKWnp6t+/fo688wz9cYbb9i67eeff66rrrpKWVlZSklJUatWrXTdddeprKxMhYWF+t3vfidJ6t+/v1wul1wul3v0VL9+/dS5c2e9/fbb6tOnj+rXr68bbrhBkvT111/r2muvVfPmzZWSkqKOHTvqT3/6k44cOeLe95dffimXy6WZM2fqkUceUdu2bdWwYUP17t1b7733XsBjrEp3f/PNNzVq1Cg1bdpU6enpuu6663TgwAEVFxfr8ssvV+PGjZWTk6OJEyfq8OHDXm38+OOPGjNmjI4//njVq1dP7dq101133aWysjKv9aqu+4IFC9ShQwelpaWpZ8+eeu+992SM0cMPP+zu/7nnnqsvvvgipGtSdc9t3bpVV111lTIyMpSVlaUbbrhBJSUlXv05cOCAnn76afd1qbrv/U1Z5mt6gDZt2mjYsGF69dVX1b17d6Wlpaljx47u+7mwsFAdO3ZUgwYNdPrpp2vjxo0Br4skffLJJ7rooovUpEkTpaamqlu3bnr66afdP//uu+9Ur1493XPPPdW2/fzzz+VyufTYY4+5lxUXF2v06NFq0aKF6tWrp7Zt22rq1KmqqKhwr1N1P82YMUMPPPCA2rZtq5SUFL311ls++1jTOaw6V6tXr9YNN9ygZs2aqX79+iorK9MXX3yh66+/Xu3bt1f9+vV1/PHH64ILLtDHH3/s1f7atWvlcrm0ZMkS3XXXXcrNzVV6errOO+88bdu2zWvdzZs3a9iwYe5/L7m5ufrNb36jb775RpLUvXt3nX322dWOobKyUscff7wuueQS97Ly8nI98MADOvnkk5WSkqJmzZrp+uuv13fffee1bdW1f/HFF9W9e3elpqa6R8O88MIL6tWrlzIyMlS/fn21a9fO/W+7SmlpqSZOnKi2bduqXr16Ov744zV+/HgdOHDA5/n2VPW7Y/369erTp4/S0tLUpk0bLViwQNLR352nnnqq6tevry5dumjVqlXV2njnnXc0YMAANWrUSPXr11efPn20YsUKr3Xs+B1h9XyuWrVKp556qtLS0nTyySfrr3/9q1d/avqd2qZNG40cOdLn+fL8/1rVvbV48WLdfvvtysnJUcOGDXXBBRfo22+/1b59+/T73/9exx13nI477jhdf/312r9/f8DrAgCAP3/96191yimnKDU1VZmZmfrtb3+rzz77zGud//73v7ryyiuVm5urlJQUZWVlacCAAe4R3m3atNHWrVtVVFTk/n9goCmgjDGaM2eOunXrprS0NDVp0kSXXXaZ/vvf/wbss5VtV61apQEDBriffTp27KiCggJJR2PFJ554QpLc/fZ8pq6KE+bNm6eOHTsqJSXF/dxr5Xnlrbfe0h/+8Acdd9xxatq0qS655BLt2rUr4HGOHDlSDRs21Oeff67BgwerQYMGysnJ0UMPPSRJeu+993TWWWepQYMGOumkk7yeyasEenaX7Hn+CPaaVD0rbtiwQWeffbb7efShhx5yx5Nr167VaaedJkm6/vrr3delaoqaY5+fPM+X531XFUM8/PDDmj59utq0aaO0tDT169fPPVjyjjvuUG5urjIyMvTb3/5We/bsCXhdpMB/i3jppZfkcrl8xulz586Vy+XSRx995F62ceNGXXjhhcrMzFRqaqq6d++u559/3mu7muKYYwU6h1X31scff6xBgwapUaNGGjBggCRpzZo1uuiii9SiRQulpqbqxBNP1OjRo/X999977SPY+FaqOQaJdPx45MgRPfDAA+7Yv3HjxurataseffRRr33/5z//0dVXX+31d4+q3xeB2PE3hmB+N9vxO8LK+Qz0952afqdWteErY8/z3pR+vbc++ugj/e53v1NGRoYyMzM1YcIEVVRUaNu2bTr//PPVqFEjtWnTRjNmzAjqugBhZ5CwvvjiC/PEE08YSWbatGlm/fr1ZuvWrcYYY/72t78ZSWbQoEHmpZdeMs8995zp0aOHqVevnvnnP//pbmPEiBGmdevW1dqeMmWKOfb2kmTatGljTj/9dPP888+blStXmn79+pnk5GTzf//3f+71Xn/9dZOUlGTOOuss8+KLL5oXXnjBnHbaaaZVq1bV2vTlmWeeMS6Xy1x88cXmxRdfNK+88ooZNmyYSUpKMq+//rp7vQULFhhJZvv27Za33bJli2nYsKFp06aNmTdvnnnjjTfMokWLzOWXX25KS0vNnj17zLRp04wk88QTT5j169eb9evXmz179hhjjOnbt6/JzMw0LVu2NI8//rh56623TFFRkdmzZ485/vjjTbNmzcy8efPMqlWrzM0332wkmT/84Q/u/W/fvt19Ps8//3zz0ksvmZdeesl06dLFNGnSxPz00081nqOqY2/btq257bbbzOrVq8306dNNUlKSueqqq8ypp55qHnjgAbNmzRpz++23G0nmT3/6k3v7gwcPmq5du5oGDRqYmTNnmtWrV5t77rnHJCcnm6FDh1a77q1btzZ9+vQxL774olm2bJk56aSTTGZmprn11lvNRRddZF599VXzt7/9zWRlZZmuXbuaI0eOWL4mVfdchw4dzL333mvWrFljHnnkEZOSkmKuv/5693rr1683aWlpZujQoe7rUnXf+7pv/d0rrVu3Ni1atDCdO3c2S5YsMStXrjS9evUydevWNffee68588wzvY43KyvL/PzzzzVel88//9w0atTInHDCCWbhwoVmxYoV5qqrrjKSzPTp093r/fa3vzUtW7Y0lZWVXttPmjTJ1KtXz3z//ffGGGN2795tWrZsaVq3bm2efPJJ8/rrr5v777/fpKSkmJEjR7q3q7qfjj/+eNO/f3/z97//3axevdrreD3VdA6rztXxxx9vfv/735t//OMf5u9//7upqKgwRUVF5rbbbjN///vfTVFRkVm2bJm5+OKLTVpamvn888/d7b/11lvu+/uaa64xK1asMEuWLDGtWrUy7du3NxUVFcYYY/bv32+aNm1qevbsaZ5//nlTVFRknnv
  657. "text/plain": [
  658. "<Figure size 2000x600 with 4 Axes>"
  659. ]
  660. },
  661. "metadata": {},
  662. "output_type": "display_data"
  663. }
  664. ],
  665. "source": [
  666. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20,6))\n",
  667. "\n",
  668. "a0=ax0.hist2d(p_found, pt_found, bins=200, cmap=plt.cm.jet, cmin=0,range=[[0,1e4],[0,1e3]])\n",
  669. "ax0.set_xlabel(\"p\")\n",
  670. "ax0.set_ylabel(r\"$p_T$\")\n",
  671. "ax0.set_title(\"found electron momentum over transverse momentum\")\n",
  672. "plt.colorbar(a0[3],ax=ax0)\n",
  673. "\n",
  674. "a1=ax1.hist2d(p_lost, pt_lost, bins=200, cmap=plt.cm.jet, cmin=0, range=[[0,1e4],[0,1e3]]) \n",
  675. "ax1.set_xlabel(\"p\")\n",
  676. "ax1.set_ylabel(r\"$p_T$\")\n",
  677. "ax1.set_title(\"lost electron momentum over transverse momentum\")\n",
  678. "plt.colorbar(a1[3],ax=ax1)\n",
  679. "\n",
  680. "\"\"\"\n",
  681. "B:\n",
  682. "\n",
  683. "D:\n",
  684. "both: clustered between 2000<p<6000 and 20<pt<400 (found a little more spread)\n",
  685. "\"\"\"\n",
  686. "plt.show()"
  687. ]
  688. },
  689. {
  690. "cell_type": "code",
  691. "execution_count": 58,
  692. "metadata": {},
  693. "outputs": [
  694. {
  695. "data": {
  696. "image/png": "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+GAdfPDB+tWvfqUdO3bE/F4ApJgBEOXTTz81f/7zn40kM23aNLNy5Uqzdu1aY4wxjz76qJFkhg4dahYuXGgef/xx07t3b9OgQQPz+uuvR9oYPXq0adeuXY22J02aZKr/2Uky7du3N8cee6x54oknzN///nczcOBAk52dbT777LPIfi+//LLJysoyJ5xwgnn66afNk08+aY455hjTtm3bGm3a+etf/2pCoZA5/fTTzdNPP20WL15sTj31VJOVlWVefvllY4wxmzZtMldccYWRZJ5++mmzcuVKs3LlSlNaWmqMMWbKlCnmrrvuMs8//7xZvny5uffee01xcbEZNGhQzPP/+9//NpdddplZsGCBWb58uXnuuefMr3/9a1OvXj2zbNmyyH4bNmyI3JOTTz7ZLFy40CxcuNB069bNNG3a1Gzbti2y79y5c40kM3LkSLN48WLzyCOPmMMOO8y0adPG9v5Xd+utt5pQKGQuuugi89xzz5mnn37a9OvXzzRq1CjynRtj/725PXbJkiWmfv36pnv37uahhx4yr776qnnwwQfNOeec4+qet2vXzrRs2dJ06NDBPPjgg2bZsmXm7bffNv/+979NkyZNTMeOHc28efPM888/b84991wjydx+++2R8y9btixyP0eNGmWef/5589hjj5m2bduaTp06mYqKigPeo/C1d+7c2UyZMsUsXbrUXHPNNUaSGTdunDniiCPMH//4R7N06VLzq1/9ykgyTz31VOT4LVu2mEMPPdQccsgh5t577zVLliwx48aNM5LMZZddVuN7b9eunRkxYoR57rnnzCOPPGKKiorM4Ycfbi644AJz0UUXmRdeeMHce++9pnHjxmbEiBFxfSejR482DRo0MF26dDF33HGHefnll83NN99sQqGQmTx5sjHGmB9//NEsWbLESDK//vWvI9/Lp59+GmnDy994u3btTP/+/c3TTz9tnnnmGXP44YebwsJCM2HCBDNy5Ejz3HPPmUcffdQUFRWZ7t27m7179x7wewEAAMgE4ef1DRs2RLZNmzbNSDLnnnuuef755828efNMhw4dTEFBgfn4448j+3Xu3Nkcdthh5q9//atZsWKFeeqpp8xVV10ViR3effdd06FDB9OzZ8/Is9q77757wP783//9n6lfv7656qqrzJIlS8z8+fPNEUccYYqKiszmzZuNMcasXbvWHH/88aZFixaRdleuXBlpY8yYMeaBBx4wS5cuNUuXLjVTpkwxeXl5kefIA3nyySfNzTffbJ555hmzYsUKs2DBAjNgwABzyCGHmG+++abGfevQoYO54oorzIsvvmjuv/9+07Rp0xqx1+jRo00oFDK/+93vzEsvvWTuvPNOc+ihh5r8/HwzevToA/ansrLSnHzyyaZRo0Zm8uTJZunSpeb+++83hx56qDnyyCPNDz/8ENl3wIABZsCAAXEde9NNNxlJ5owzzjBPPvlkpJ833XRTzHsejhMOPfRQM2jQIPO3v/3NvPTSS2bDhg2u43NrTHPzzTebpUuXmjvvvNPk5OSYX/3qVzG/twEDBphmzZqZzp07mwceeMC8+OKL5tRTTzWSzOTJk023bt3MY489Zv7+97+b4447zuTk5Jj//ve/keOXL19u6tevb3r37m0ef/xxs3DhQjN06FATCoXMggULanzvxcX
  697. "text/plain": [
  698. "<Figure size 2000x600 with 4 Axes>"
  699. ]
  700. },
  701. "metadata": {},
  702. "output_type": "display_data"
  703. }
  704. ],
  705. "source": [
  706. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20,6))\n",
  707. "\n",
  708. "a0=ax0.hist2d(eta_found, p_found/(1e3), bins=200, cmap=plt.cm.jet, cmin=0, range=[[0,7],[0,50]])\n",
  709. "ax0.set_xlabel(r\"$\\eta$\")\n",
  710. "ax0.set_ylabel(r\"$p$ [GeV]\")\n",
  711. "ax0.set_title(\"found eta and electron momentum\")\n",
  712. "plt.colorbar(a0[3],ax=ax0)\n",
  713. "\n",
  714. "a1=ax1.hist2d(eta_lost, p_lost/(1e3), bins=200, cmap=plt.cm.jet, cmin=0, range=[[0,7],[0,50]])\n",
  715. "ax1.set_xlabel(r\"$\\eta$\")\n",
  716. "ax1.set_ylabel(r\"$p$ [GeV]\")\n",
  717. "ax1.set_title(\"lost eta and electron momentum\")\n",
  718. "plt.colorbar(a1[3],ax=ax1)\n",
  719. "\n",
  720. "\"\"\"\n",
  721. "B:\n",
  722. "particles with lower momentum appear to have lower rapidity as well, ie a larger angle to the beam axis.\n",
  723. "D:\n",
  724. "both: clustered between 3<eta<5 and 0<p<10GeV. it seems that most particles had a higher rapidity \n",
  725. "\"\"\"\n",
  726. "plt.show()"
  727. ]
  728. },
  729. {
  730. "cell_type": "code",
  731. "execution_count": null,
  732. "metadata": {},
  733. "outputs": [],
  734. "source": []
  735. },
  736. {
  737. "cell_type": "code",
  738. "execution_count": null,
  739. "metadata": {},
  740. "outputs": [],
  741. "source": []
  742. },
  743. {
  744. "cell_type": "code",
  745. "execution_count": 16,
  746. "metadata": {},
  747. "outputs": [
  748. {
  749. "data": {
  750. "text/plain": [
  751. "{'all_endvtx_types_length': 11,\n",
  752. " 'all_endvtx_types': [101.0,\n",
  753. " 101.0,\n",
  754. " 101.0,\n",
  755. " 101.0,\n",
  756. " 101.0,\n",
  757. " 101.0,\n",
  758. " 101.0,\n",
  759. " 101.0,\n",
  760. " 101.0,\n",
  761. " 101.0,\n",
  762. " 0.0],\n",
  763. " 'all_endvtx_x_length': 11,\n",
  764. " 'all_endvtx_x': [19.496400833129883,\n",
  765. " 24.957000732421875,\n",
  766. " 32.490699768066406,\n",
  767. " 34.14419937133789,\n",
  768. " 34.6599006652832,\n",
  769. " 36.427101135253906,\n",
  770. " -1914.992431640625,\n",
  771. " -2413.033203125,\n",
  772. " -3782.947998046875,\n",
  773. " -3786.80810546875,\n",
  774. " -3819.826904296875],\n",
  775. " 'all_endvtx_y_length': 11,\n",
  776. " 'all_endvtx_y': [-20.370500564575195,\n",
  777. " -26.043100357055664,\n",
  778. " -33.85060119628906,\n",
  779. " -35.53160095214844,\n",
  780. " -36.069400787353516,\n",
  781. " -37.92850112915039,\n",
  782. " -504.0671081542969,\n",
  783. " -533.6621704101562,\n",
  784. " -598.8317260742188,\n",
  785. " -599.1124877929688,\n",
  786. " -593.3890991210938],\n",
  787. " 'all_endvtx_z_length': 11,\n",
  788. " 'all_endvtx_z': [399.7018127441406,\n",
  789. " 500.7049865722656,\n",
  790. " 637.5723266601562,\n",
  791. " 667.4852905273438,\n",
  792. " 677.0195922851562,\n",
  793. " 709.4874877929688,\n",
  794. " 8576.556640625,\n",
  795. " 9281.2119140625,\n",
  796. " 11183.1640625,\n",
  797. " 11188.4541015625,\n",
  798. " 11237.0966796875],\n",
  799. " 'brem_photons_pe_length': 10,\n",
  800. " 'brem_photons_pe': [2469.182861328125,\n",
  801. " 169.8916473388672,\n",
  802. " 223.71347045898438,\n",
  803. " 388.2983703613281,\n",
  804. " 3228.4228515625,\n",
  805. " 809.4715576171875,\n",
  806. " 171.57342529296875,\n",
  807. " 223.80494689941406,\n",
  808. " 178.85166931152344,\n",
  809. " 793.921142578125],\n",
  810. " 'brem_photons_px_length': 10,\n",
  811. " 'brem_photons_px': [133.6999969482422,\n",
  812. " 9.329999923706055,\n",
  813. " 12.489999771118164,\n",
  814. " 20.93000030517578,\n",
  815. " 175.22000122070312,\n",
  816. " 43.81999969482422,\n",
  817. " -98.19999694824219,\n",
  818. " -129.77000427246094,\n",
  819. " -106.12000274658203,\n",
  820. " -465.2200012207031],\n",
  821. " 'brem_photons_py_length': 10,\n",
  822. " 'brem_photons_py': [-137.9199981689453,\n",
  823. " -9.65999984741211,\n",
  824. " -12.579999923706055,\n",
  825. " -21.809999465942383,\n",
  826. " -183.27999877929688,\n",
  827. " -47.79999923706055,\n",
  828. " -6.090000152587891,\n",
  829. " -7.429999828338623,\n",
  830. " -5.800000190734863,\n",
  831. " -36.66999816894531],\n",
  832. " 'brem_photons_pz_length': 10,\n",
  833. " 'brem_photons_pz': [2461.699951171875,\n",
  834. " 169.36000061035156,\n",
  835. " 223.00999450683594,\n",
  836. " 387.1199951171875,\n",
  837. " 3218.449951171875,\n",
  838. " 806.8699951171875,\n",
  839. " 140.55999755859375,\n",
  840. " 182.19000244140625,\n",
  841. " 143.85000610351562,\n",
  842. " 642.2899780273438],\n",
  843. " 'brem_vtx_x_length': 10,\n",
  844. " 'brem_vtx_x': [19.496400833129883,\n",
  845. " 24.957000732421875,\n",
  846. " 32.490699768066406,\n",
  847. " 34.14419937133789,\n",
  848. " 34.6599006652832,\n",
  849. " 36.427101135253906,\n",
  850. " -1914.992431640625,\n",
  851. " -2413.033203125,\n",
  852. " -3782.947998046875,\n",
  853. " -3786.80810546875],\n",
  854. " 'brem_vtx_y_length': 10,\n",
  855. " 'brem_vtx_y': [-20.370500564575195,\n",
  856. " -26.043100357055664,\n",
  857. " -33.85060119628906,\n",
  858. " -35.53160095214844,\n",
  859. " -36.069400787353516,\n",
  860. " -37.92850112915039,\n",
  861. " -504.0671081542969,\n",
  862. " -533.6621704101562,\n",
  863. " -598.8317260742188,\n",
  864. " -599.1124877929688],\n",
  865. " 'brem_vtx_z_length': 10,\n",
  866. " 'brem_vtx_z': [399.7018127441406,\n",
  867. " 500.7049865722656,\n",
  868. " 637.5723266601562,\n",
  869. " 667.4852905273438,\n",
  870. " 677.0195922851562,\n",
  871. " 709.4874877929688,\n",
  872. " 8576.556640625,\n",
  873. " 9281.2119140625,\n",
  874. " 11183.1640625,\n",
  875. " 11188.4541015625],\n",
  876. " 'endvtx_type': 0,\n",
  877. " 'endvtx_x': nan,\n",
  878. " 'endvtx_y': nan,\n",
  879. " 'endvtx_z': nan,\n",
  880. " 'energy': 9355.866625028413,\n",
  881. " 'eta': 3.237728027535365,\n",
  882. " 'event_count': 2,\n",
  883. " 'fromB': True,\n",
  884. " 'fromD': False,\n",
  885. " 'fromDecay': True,\n",
  886. " 'fromHadInt': False,\n",
  887. " 'fromPV': False,\n",
  888. " 'fromPairProd': False,\n",
  889. " 'fromSignal': True,\n",
  890. " 'fromStrange': False,\n",
  891. " 'isElectron': True,\n",
  892. " 'isKaon': False,\n",
  893. " 'isMuon': False,\n",
  894. " 'isPion': False,\n",
  895. " 'isProton': False,\n",
  896. " 'lost': False,\n",
  897. " 'lost_in_track_fit': False,\n",
  898. " 'match_fraction': 1.0,\n",
  899. " 'mcp_idx': 5488,\n",
  900. " 'mother_id': 511,\n",
  901. " 'mother_key': 5479,\n",
  902. " 'originvtx_type': 2,\n",
  903. " 'originvtx_x': -0.0663,\n",
  904. " 'originvtx_y': -0.0023,\n",
  905. " 'originvtx_z': 40.3966,\n",
  906. " 'p': 9355.866611073503,\n",
  907. " 'phi': -0.8090232566094933,\n",
  908. " 'pid': -11,\n",
  909. " 'pt': 733.3612464536151,\n",
  910. " 'px': 506.17,\n",
  911. " 'py': -530.67,\n",
  912. " 'pz': 9327.08,\n",
  913. " 'scifi_hit_pos_x_length': 13,\n",
  914. " 'scifi_hit_pos_x': [-1402.2215576171875,\n",
  915. " -1448.5460205078125,\n",
  916. " -1495.479736328125,\n",
  917. " -1542.3804931640625,\n",
  918. " -1865.9482421875,\n",
  919. " -1914.599853515625,\n",
  920. " -1915.0545654296875,\n",
  921. " -1963.8216552734375,\n",
  922. " -2012.78173828125,\n",
  923. " -2349.04052734375,\n",
  924. " -2398.658935546875,\n",
  925. " -2448.573486328125,\n",
  926. " -2498.376220703125],\n",
  927. " 'scifi_hit_pos_y_length': 13,\n",
  928. " 'scifi_hit_pos_y': [-470.2232666015625,\n",
  929. " -473.55914306640625,\n",
  930. " -476.8390197753906,\n",
  931. " -480.12762451171875,\n",
  932. " -501.0274963378906,\n",
  933. " -504.04315185546875,\n",
  934. " -504.0709228515625,\n",
  935. " -507.0843200683594,\n",
  936. " -510.0830383300781,\n",
  937. " -530.0570068359375,\n",
  938. " -532.8589477539062,\n",
  939. " -535.61572265625,\n",
  940. " -538.2548217773438],\n",
  941. " 'scifi_hit_pos_z_length': 13,\n",
  942. " 'scifi_hit_pos_z': [7824.40576171875,\n",
  943. " 7894.1943359375,\n",
  944. " 7964.38330078125,\n",
  945. " 8034.171875,\n",
  946. " 8506.294921875,\n",
  947. " 8575.99609375,\n",
  948. " 8576.6455078125,\n",
  949. " 8646.2744140625,\n",
  950. " 8716.0634765625,\n",
  951. " 9191.1904296875,\n",
  952. " 9260.98046875,\n",
  953. " 9331.171875,\n",
  954. " 9400.962890625],\n",
  955. " 'track_p': 1931.9397828451663,\n",
  956. " 'track_pt': 151.36962154532284,\n",
  957. " 'tx': 0.05426886013629132,\n",
  958. " 'ty': -0.056895620065443846,\n",
  959. " 'ut_hit_pos_x_length': 4,\n",
  960. " 'ut_hit_pos_x': [112.31356048583984,\n",
  961. " 114.4996337890625,\n",
  962. " 122.83889770507812,\n",
  963. " 124.72588348388672],\n",
  964. " 'ut_hit_pos_y_length': 4,\n",
  965. " 'ut_hit_pos_y': [-135.26077270507812,\n",
  966. " -138.64544677734375,\n",
  967. " -152.51470947265625,\n",
  968. " -155.91305541992188],\n",
  969. " 'ut_hit_pos_z_length': 4,\n",
  970. " 'ut_hit_pos_z': [2313.153564453125,\n",
  971. " 2368.153564453125,\n",
  972. " 2593.153564453125,\n",
  973. " 2648.153564453125],\n",
  974. " 'velo_hit_pos_x_length': 10,\n",
  975. " 'velo_hit_pos_x': [3.2025206089019775,\n",
  976. " 4.559732437133789,\n",
  977. " 5.917426109313965,\n",
  978. " 7.274953365325928,\n",
  979. " 8.638668060302734,\n",
  980. " 10.008487701416016,\n",
  981. " 11.378168106079102,\n",
  982. " 12.745656967163086,\n",
  983. " 15.399646759033203,\n",
  984. " 19.47773551940918],\n",
  985. " 'velo_hit_pos_y_length': 10,\n",
  986. " 'velo_hit_pos_y': [-3.429784059524536,\n",
  987. " -4.8510894775390625,\n",
  988. " -6.275496482849121,\n",
  989. " -7.6981940269470215,\n",
  990. " -9.124002456665039,\n",
  991. " -10.54817008972168,\n",
  992. " -11.963949203491211,\n",
  993. " -13.374946594238281,\n",
  994. " -16.1297550201416,\n",
  995. " -20.351228713989258],\n",
  996. " 'velo_hit_pos_z_length': 10,\n",
  997. " 'velo_hit_pos_z': [100.64099884033203,\n",
  998. " 125.64099884033203,\n",
  999. " 150.64100646972656,\n",
  1000. " 175.64100646972656,\n",
  1001. " 200.64100646972656,\n",
  1002. " 225.64100646972656,\n",
  1003. " 250.64100646972656,\n",
  1004. " 275.6409912109375,\n",
  1005. " 324.3590087890625,\n",
  1006. " 399.3590087890625],\n",
  1007. " 'velo_track_idx': 143,\n",
  1008. " 'velo_track_tx': 0.054571494460105896,\n",
  1009. " 'velo_track_ty': -0.056447889655828476,\n",
  1010. " 'velo_track_x': 39.710758209228516,\n",
  1011. " 'velo_track_y': -41.2618293762207,\n",
  1012. " 'velo_track_z': 770.0}"
  1013. ]
  1014. },
  1015. "execution_count": 16,
  1016. "metadata": {},
  1017. "output_type": "execute_result"
  1018. }
  1019. ],
  1020. "source": [
  1021. "tracked[1].tolist()"
  1022. ]
  1023. },
  1024. {
  1025. "cell_type": "code",
  1026. "execution_count": null,
  1027. "metadata": {},
  1028. "outputs": [],
  1029. "source": []
  1030. }
  1031. ],
  1032. "metadata": {
  1033. "kernelspec": {
  1034. "display_name": "env1",
  1035. "language": "python",
  1036. "name": "python3"
  1037. },
  1038. "language_info": {
  1039. "codemirror_mode": {
  1040. "name": "ipython",
  1041. "version": 3
  1042. },
  1043. "file_extension": ".py",
  1044. "mimetype": "text/x-python",
  1045. "name": "python",
  1046. "nbconvert_exporter": "python",
  1047. "pygments_lexer": "ipython3",
  1048. "version": "3.11.5"
  1049. },
  1050. "orig_nbformat": 4
  1051. },
  1052. "nbformat": 4,
  1053. "nbformat_minor": 2
  1054. }