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.

366 lines
221 KiB

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. "%matplotlib inline"
  16. ]
  17. },
  18. {
  19. "cell_type": "code",
  20. "execution_count": 2,
  21. "metadata": {},
  22. "outputs": [],
  23. "source": [
  24. "file = uproot.open(\n",
  25. " \"trackinglosses_B_photon_cuts.root\"\n",
  26. ")\n",
  27. "\n",
  28. "# selektiere nur elektronen von B->K*ee\n",
  29. "allcolumns = []\n",
  30. "for i in range(11):\n",
  31. " allcolumns.append(file[\"Tree\"+str(i)].arrays())"
  32. ]
  33. },
  34. {
  35. "cell_type": "code",
  36. "execution_count": null,
  37. "metadata": {},
  38. "outputs": [],
  39. "source": []
  40. },
  41. {
  42. "cell_type": "code",
  43. "execution_count": 3,
  44. "metadata": {},
  45. "outputs": [
  46. {
  47. "data": {
  48. "text/html": [
  49. "<pre>{oneCut_event_id: 1,\n",
  50. " oneCut_lost: False,\n",
  51. " oneCut_rad_length_frac: 0.148,\n",
  52. " oneCut_energy: 1.28e+04,\n",
  53. " noneCut_brem_photons_pe: 1,\n",
  54. " oneCut_brem_photons_pe: [7.42e+03],\n",
  55. " noneCut_brem_vtx_x: 1,\n",
  56. " oneCut_brem_vtx_x: [-3.61],\n",
  57. " noneCut_brem_vtx_z: 1,\n",
  58. " oneCut_brem_vtx_z: [35.6],\n",
  59. " oneCut_photon_length: 1}\n",
  60. "------------------------------------------\n",
  61. "type: {\n",
  62. " oneCut_event_id: int64,\n",
  63. " oneCut_lost: bool,\n",
  64. " oneCut_rad_length_frac: float64,\n",
  65. " oneCut_energy: float64,\n",
  66. " noneCut_brem_photons_pe: int32,\n",
  67. " oneCut_brem_photons_pe: var * float64,\n",
  68. " noneCut_brem_vtx_x: int32,\n",
  69. " oneCut_brem_vtx_x: var * float64,\n",
  70. " noneCut_brem_vtx_z: int32,\n",
  71. " oneCut_brem_vtx_z: var * float64,\n",
  72. " oneCut_photon_length: int64\n",
  73. "}</pre>"
  74. ],
  75. "text/plain": [
  76. "<Record {oneCut_event_id: 1, ...} type='{oneCut_event_id: int64, oneCut_los...'>"
  77. ]
  78. },
  79. "execution_count": 3,
  80. "metadata": {},
  81. "output_type": "execute_result"
  82. }
  83. ],
  84. "source": [
  85. "allcolumns[1][1]"
  86. ]
  87. },
  88. {
  89. "cell_type": "code",
  90. "execution_count": 4,
  91. "metadata": {},
  92. "outputs": [],
  93. "source": [
  94. "def cutdict():\n",
  95. " basedict = {\n",
  96. "\t\t\"0\": {},\n",
  97. "\t\t\"1\": {},\n",
  98. "\t\t\"2\": {},\n",
  99. "\t\t\"3\": {},\n",
  100. "\t\t\"4\": {},\n",
  101. "\t\t\"5\": {},\n",
  102. "\t\t\"6\": {},\n",
  103. "\t\t\"7\": {},\n",
  104. "\t\t\"8\": {},\n",
  105. "\t\t\"9\": {},\n",
  106. "\t\t\"10\": {},\n",
  107. "\t}\n",
  108. " \n",
  109. " basedict[\"0\"] = \"no\"\n",
  110. " basedict[\"1\"] = \"one\"\n",
  111. " basedict[\"2\"] = \"two\"\n",
  112. " basedict[\"3\"] = \"three\"\n",
  113. " basedict[\"4\"] = \"four\"\n",
  114. " basedict[\"5\"] = \"five\"\n",
  115. " basedict[\"6\"] = \"six\"\n",
  116. " basedict[\"7\"] = \"seven\"\n",
  117. " basedict[\"8\"] = \"eight\"\n",
  118. " basedict[\"9\"] = \"nine\"\n",
  119. " basedict[\"10\"] = \"ten\"\n",
  120. " \n",
  121. " return basedict\n",
  122. "\n",
  123. "Cuts = cutdict()"
  124. ]
  125. },
  126. {
  127. "cell_type": "code",
  128. "execution_count": 5,
  129. "metadata": {},
  130. "outputs": [],
  131. "source": [
  132. "electrons = []\n",
  133. "for jcut in range(11):\n",
  134. "\tenergy_emissions = ak.ArrayBuilder()\n",
  135. "\n",
  136. "\tfor jelec in range(ak.num(allcolumns[jcut], axis=0)):\n",
  137. "\t\tenergy_emissions.begin_record()\n",
  138. "\t\tenergy_emissions.field(\"lost\").boolean(allcolumns[jcut][jelec, Cuts[str(jcut)]+\"Cut_\"+\"lost\"])\n",
  139. "\t\tenergy_emissions.field(\"rad_length_frac\").real(allcolumns[jcut][jelec, Cuts[str(jcut)]+\"Cut_\"+\"rad_length_frac\"])\n",
  140. "\t\tenergy_emissions.field(\"energy\").real(allcolumns[jcut][jelec, Cuts[str(jcut)]+\"Cut_\"+\"energy\"])\n",
  141. "\n",
  142. "\t\ttmp_velo = 0\n",
  143. "\t\ttmp_richut = 0\n",
  144. "\t\ttmp_neither = 0\n",
  145. "\t\ttmp_velo_length = 0\n",
  146. "\t\ttmp_richut_length = 0\n",
  147. "\t\ttmp_neither_length = 0\n",
  148. "\t\t\n",
  149. "\t\tfor jphoton in range(ak.num(allcolumns[jcut][jelec][Cuts[str(jcut)]+\"Cut_\"+\"brem_photons_pe\"], axis=0)):\n",
  150. "\t\t\tif allcolumns[jcut][jelec, Cuts[str(jcut)]+\"Cut_\"+\"brem_vtx_z\", jphoton] <= 770:\n",
  151. "\t\t\t\ttmp_velo += allcolumns[jcut][jelec, Cuts[str(jcut)]+\"Cut_\"+\"brem_photons_pe\", jphoton]\n",
  152. "\t\t\t\ttmp_velo_length += 1\n",
  153. "\t\t\telif (allcolumns[jcut][jelec, Cuts[str(jcut)]+\"Cut_\"+\"brem_vtx_z\", jphoton] > 770) and (\n",
  154. "\t\t\t\tallcolumns[jcut][jelec, Cuts[str(jcut)]+\"Cut_\"+\"brem_vtx_z\", jphoton] <= 2700\n",
  155. "\t\t\t):\n",
  156. "\t\t\t\ttmp_richut += allcolumns[jcut][jelec, Cuts[str(jcut)]+\"Cut_\"+\"brem_photons_pe\", jphoton]\n",
  157. "\t\t\t\ttmp_richut_length += 1\n",
  158. "\t\t\telse:\n",
  159. "\t\t\t\ttmp_neither += allcolumns[jcut][jelec, Cuts[str(jcut)]+\"Cut_\"+\"brem_photons_pe\", jphoton]\n",
  160. "\t\t\t\ttmp_neither_length += 1\n",
  161. "\n",
  162. "\t\tenergy_emissions.field(\"velo_length\").integer(tmp_velo_length)\n",
  163. "\t\tenergy_emissions.field(\"velo\").real(tmp_velo)\n",
  164. "\n",
  165. "\t\tenergy_emissions.field(\"rich_length\").integer(tmp_richut_length)\n",
  166. "\t\tenergy_emissions.field(\"rich\").real(tmp_richut)\n",
  167. "\t\t\n",
  168. "\t\tenergy_emissions.field(\"neither_length\").integer(tmp_neither_length)\n",
  169. "\t\tenergy_emissions.field(\"downstream\").real(tmp_neither)\n",
  170. "\t\t\n",
  171. "\t\tenergy_emissions.field(\"photon_length\").integer(tmp_richut_length+tmp_velo_length)\n",
  172. "\t\t\n",
  173. "\t\tif (tmp_velo==0) and (tmp_richut==0):\n",
  174. "\t\t\tenergy_emissions.field(\"quality\").integer(0)\n",
  175. "\t\telse:\n",
  176. "\t\t\tenergy_emissions.field(\"quality\").integer(1)\n",
  177. "\n",
  178. "\t\tenergy_emissions.end_record()\n",
  179. "\n",
  180. "\tenergy_emissions = ak.Array(energy_emissions)\n",
  181. "\telectrons.append(energy_emissions)\n"
  182. ]
  183. },
  184. {
  185. "cell_type": "code",
  186. "execution_count": 6,
  187. "metadata": {},
  188. "outputs": [
  189. {
  190. "data": {
  191. "image/png": "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
  192. "text/plain": [
  193. "<Figure size 1500x600 with 9 Axes>"
  194. ]
  195. },
  196. "metadata": {},
  197. "output_type": "display_data"
  198. },
  199. {
  200. "data": {
  201. "image/png": "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
  202. "text/plain": [
  203. "<Figure size 1500x600 with 9 Axes>"
  204. ]
  205. },
  206. "metadata": {},
  207. "output_type": "display_data"
  208. },
  209. {
  210. "data": {
  211. "image/png": "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
  212. "text/plain": [
  213. "<Figure size 1500x600 with 9 Axes>"
  214. ]
  215. },
  216. "metadata": {},
  217. "output_type": "display_data"
  218. }
  219. ],
  220. "source": [
  221. "nbins = 6\n",
  222. "quality_cut = electrons[jcut].quality !=-1\n",
  223. "\n",
  224. "### all split in velo and rich\n",
  225. "\n",
  226. "fig, axs = plt.subplots(3,3, figsize=(15, 6))\n",
  227. "ax = axs.ravel()\n",
  228. "for jcut,ax in enumerate(ax):\n",
  229. " ax.hist(ak.to_numpy(electrons[jcut][quality_cut][\"velo_length\"]),bins=nbins,density=True,alpha=0.5,color=\"darkorange\",histtype=\"bar\",label=\"velo\",range=[0,nbins])\n",
  230. " ax.hist(ak.to_numpy(electrons[jcut][quality_cut][\"rich_length\"]),bins=nbins,density=True,alpha=0.5,color=\"blue\",histtype=\"bar\",label=\"rich\",range=[0,nbins])\n",
  231. " ax.set_xlim(0,nbins)\n",
  232. " ax.set_ylim(0,1)\n",
  233. " ax.set_title(\"Photon Cut: \"+str(np.round(jcut*0.05,2))+f\"$E_0$\")\n",
  234. " ax.set_xlabel(\"number of photons\")\n",
  235. " ax.set_ylabel(\"a.u.\")\n",
  236. "plt.suptitle(\"number of photons in velo and rich\")\n",
  237. "plt.legend()\n",
  238. "plt.tight_layout()\n",
  239. "plt.show()\n",
  240. "\n",
  241. "### found\n",
  242. "\n",
  243. "fig, axs = plt.subplots(3,3, figsize=(15, 6))\n",
  244. "ax = axs.ravel()\n",
  245. "for jcut,ax in enumerate(ax):\n",
  246. " ax.hist(ak.to_numpy(electrons[jcut][~(electrons[jcut].lost) & quality_cut][\"velo_length\"]),bins=nbins,density=True,alpha=0.5,color=\"darkorange\",histtype=\"bar\",label=\"velo\",range=[0,nbins])\n",
  247. " ax.hist(ak.to_numpy(electrons[jcut][~(electrons[jcut].lost) & quality_cut][\"rich_length\"]),bins=nbins,density=True,alpha=0.5,color=\"blue\",histtype=\"bar\",label=\"rich\",range=[0,nbins])\n",
  248. " ax.set_xlim(0,nbins)\n",
  249. " ax.set_ylim(0,1)\n",
  250. " ax.set_title(\"Photon Cut: \"+str(np.round(jcut*0.05,2))+f\"$E_0$\")\n",
  251. " ax.set_xlabel(\"number of photons\")\n",
  252. " ax.set_ylabel(\"a.u.\")\n",
  253. "plt.suptitle(\"number of photons of found electrons\")\n",
  254. "plt.legend()\n",
  255. "plt.tight_layout()\n",
  256. "plt.show()\n",
  257. "\n",
  258. "### lost \n",
  259. "\n",
  260. "fig, axs = plt.subplots(3,3, figsize=(15, 6))\n",
  261. "ax = axs.ravel()\n",
  262. "for jcut,ax in enumerate(ax):\n",
  263. " ax.hist(ak.to_numpy(electrons[jcut][(electrons[jcut].lost) & quality_cut][\"velo_length\"]),bins=nbins,density=True,alpha=0.5,color=\"darkorange\",histtype=\"bar\",label=\"velo\",range=[0,nbins])\n",
  264. " ax.hist(ak.to_numpy(electrons[jcut][(electrons[jcut].lost) & quality_cut][\"rich_length\"]),bins=nbins,density=True,alpha=0.5,color=\"blue\",histtype=\"bar\",label=\"rich\",range=[0,nbins])\n",
  265. " ax.set_xlim(0,nbins)\n",
  266. " ax.set_ylim(0,1)\n",
  267. " ax.set_title(\"Photon Cut: \"+str(np.round(jcut*0.05,2))+f\"$E_0$\")\n",
  268. " ax.set_xlabel(\"number of photons\")\n",
  269. " ax.set_ylabel(\"a.u.\")\n",
  270. "plt.suptitle(\"number of photons of lost electrons\")\n",
  271. "plt.legend()\n",
  272. "plt.tight_layout()\n",
  273. "plt.show()"
  274. ]
  275. },
  276. {
  277. "cell_type": "code",
  278. "execution_count": 8,
  279. "metadata": {},
  280. "outputs": [
  281. {
  282. "data": {
  283. "image/png": "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
  284. "text/plain": [
  285. "<Figure size 1500x600 with 9 Axes>"
  286. ]
  287. },
  288. "metadata": {},
  289. "output_type": "display_data"
  290. }
  291. ],
  292. "source": [
  293. "quality_cut = electrons[jcut].quality != -1\n",
  294. "### all split in lost and found\n",
  295. "\n",
  296. "fig, axs = plt.subplots(3,3, figsize=(15, 6))\n",
  297. "ax = axs.ravel()\n",
  298. "for jcut,ax in enumerate(ax):\n",
  299. "\tax.hist(ak.to_numpy(electrons[jcut][(electrons[jcut].lost) & (quality_cut)][\"photon_length\"]),bins=10,density=True,alpha=0.5,color=\"darkorange\",histtype=\"bar\",label=\"lost\",range=[0,10])\n",
  300. "\tax.hist(ak.to_numpy(electrons[jcut][(~electrons[jcut].lost) & (quality_cut)][\"photon_length\"]),bins=10,density=True,alpha=0.5,color=\"blue\",histtype=\"bar\",label=\"found\",range=[0,10])\n",
  301. "\tax.set_xlim(0,10)\n",
  302. "\t#ax.set_ylim(0,1)\n",
  303. "\t#ax.set_yscale('log')\n",
  304. "\tax.set_title(\"Photon Cut: \"+str(np.round(jcut*0.05,2))+f\"$E_0$\")\n",
  305. "\tax.set_xlabel(\"number of photons\")\n",
  306. "\tax.set_ylabel(\"a.u.\")\n",
  307. "plt.suptitle(\"number of photons in lost and found\")\n",
  308. "plt.legend()\n",
  309. "plt.tight_layout()\n",
  310. "plt.show()\n"
  311. ]
  312. },
  313. {
  314. "cell_type": "code",
  315. "execution_count": null,
  316. "metadata": {},
  317. "outputs": [],
  318. "source": [
  319. "\n",
  320. "\n"
  321. ]
  322. },
  323. {
  324. "cell_type": "code",
  325. "execution_count": null,
  326. "metadata": {},
  327. "outputs": [],
  328. "source": []
  329. },
  330. {
  331. "cell_type": "code",
  332. "execution_count": null,
  333. "metadata": {},
  334. "outputs": [],
  335. "source": []
  336. },
  337. {
  338. "cell_type": "code",
  339. "execution_count": null,
  340. "metadata": {},
  341. "outputs": [],
  342. "source": []
  343. }
  344. ],
  345. "metadata": {
  346. "kernelspec": {
  347. "display_name": "tuner",
  348. "language": "python",
  349. "name": "python3"
  350. },
  351. "language_info": {
  352. "codemirror_mode": {
  353. "name": "ipython",
  354. "version": 3
  355. },
  356. "file_extension": ".py",
  357. "mimetype": "text/x-python",
  358. "name": "python",
  359. "nbconvert_exporter": "python",
  360. "pygments_lexer": "ipython3",
  361. "version": "3.10.12"
  362. }
  363. },
  364. "nbformat": 4,
  365. "nbformat_minor": 2
  366. }