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.

1095 lines
1.6 MiB

11 months ago
11 months ago
1 year ago
11 months ago
11 months ago
11 months ago
11 months ago
1 year ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
1 year ago
1 year ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "code",
  5. "execution_count": 16,
  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": 17,
  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": 18,
  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": 19,
  73. "metadata": {},
  74. "outputs": [
  75. {
  76. "data": {
  77. "image/png": "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
  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": 20,
  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": 21,
  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": 22,
  183. "metadata": {},
  184. "outputs": [
  185. {
  186. "data": {
  187. "image/png": "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
  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": 23,
  224. "metadata": {},
  225. "outputs": [
  226. {
  227. "data": {
  228. "image/png": "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
  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": 24,
  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)\n",
  287. "\n",
  288. "#brem_x_lost=np.array([])\n",
  289. "#brem_z_lost=np.array([])\n",
  290. "\n",
  291. "#for i in range(5):\n",
  292. "# brem_x_lost = np.append(brem_x_lost, brem_vtx_x_lost)\n",
  293. "\n"
  294. ]
  295. },
  296. {
  297. "cell_type": "code",
  298. "execution_count": 25,
  299. "metadata": {},
  300. "outputs": [
  301. {
  302. "data": {
  303. "text/plain": [
  304. "62968"
  305. ]
  306. },
  307. "execution_count": 25,
  308. "metadata": {},
  309. "output_type": "execute_result"
  310. }
  311. ],
  312. "source": [
  313. "\n",
  314. "ak.num(brem_vtx_z_found, axis=0)\n"
  315. ]
  316. },
  317. {
  318. "cell_type": "code",
  319. "execution_count": null,
  320. "metadata": {},
  321. "outputs": [],
  322. "source": []
  323. },
  324. {
  325. "cell_type": "code",
  326. "execution_count": null,
  327. "metadata": {},
  328. "outputs": [],
  329. "source": []
  330. },
  331. {
  332. "cell_type": "code",
  333. "execution_count": 26,
  334. "metadata": {},
  335. "outputs": [
  336. {
  337. "data": {
  338. "image/png": "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
  339. "text/plain": [
  340. "<Figure size 2000x600 with 4 Axes>"
  341. ]
  342. },
  343. "metadata": {},
  344. "output_type": "display_data"
  345. }
  346. ],
  347. "source": [
  348. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20,6))\n",
  349. "\n",
  350. "a0 = ax0.hist2d(brem_vtx_z_found[:11000], brem_vtx_x_found[:11000], density=False, bins=300, cmap=plt.cm.jet, cmin=1, vmax=30)\n",
  351. "ax0.set_xlabel(\"z [mm]\")\n",
  352. "ax0.set_ylabel(\"x [mm]\")\n",
  353. "ax0.set_title(r\"$e^\\pm$ found brem vertices\")\n",
  354. "\n",
  355. "plt.colorbar(a0[3],ax=ax0)\n",
  356. "\n",
  357. "a1 = ax1.hist2d(brem_vtx_z_lost, brem_vtx_x_lost, density=False, bins=300, cmap=plt.cm.jet, cmin=1, vmax=30)\n",
  358. "ax1.set_xlabel(\"z [mm]\")\n",
  359. "ax1.set_ylabel(\"x [mm]\")\n",
  360. "ax1.set_title(r\"$e^\\pm$ lost brem vertices\")\n",
  361. "#ax1.set(xlim=(0,4000), ylim=(-1000,1000))\n",
  362. "\n",
  363. "plt.colorbar(a1[3], ax=ax1)\n",
  364. "\n",
  365. "\"\"\"\n",
  366. "z: VeLo - RICH1 - TT - Magnet - T1,T2,T3 - RICH2 - M1\n",
  367. "B:\n",
  368. "vertices of lost e photons are more densely concentrated around the beampipe, especially in the z range of the magnet\n",
  369. "found: vertices are densely located @ or around the detectors, while there are no clusters in the z range of the magnet\n",
  370. "D:\n",
  371. "lost brem vertices: we can very clearly see the concentration of vertices @ the beampipe\n",
  372. "both: less statistics in general, can still make out the tracking stations but not as well as in the B decay\n",
  373. "\"\"\"\n",
  374. "plt.show()"
  375. ]
  376. },
  377. {
  378. "cell_type": "code",
  379. "execution_count": 27,
  380. "metadata": {},
  381. "outputs": [],
  382. "source": [
  383. "#plot singular tracks by fitting brem vertices\n",
  384. "vtx_z_found = tracked[\"brem_vtx_z\"]\n",
  385. "vtx_z_found = vtx_z_found[tracked[\"brem_vtx_z_length\"]>3]\n",
  386. "\n",
  387. "vtx_x_found = tracked[\"brem_vtx_x\"]\n",
  388. "vtx_x_found = vtx_x_found[tracked[\"brem_vtx_x_length\"]>3]\n",
  389. "\n",
  390. "vtx_z_lost = lost[\"brem_vtx_z\"]\n",
  391. "vtx_z_lost = vtx_z_lost[lost[\"brem_vtx_z_length\"]>3]\n",
  392. "\n",
  393. "vtx_x_lost = lost[\"brem_vtx_x\"]\n",
  394. "vtx_x_lost = vtx_x_lost[lost[\"brem_vtx_x_length\"]>3]\n",
  395. "\n",
  396. "def cubic_fit(x, a, b, c, d):\n",
  397. " return (a + b*x + c*x**2 + d*x**3)\n",
  398. "\n",
  399. "def quint_fit(x, a, b, c, d, e, f):\n",
  400. " return (a + b*x + c*x**2 + d*x**3 + e*x**4 + f*x**5)\n"
  401. ]
  402. },
  403. {
  404. "cell_type": "code",
  405. "execution_count": 28,
  406. "metadata": {},
  407. "outputs": [
  408. {
  409. "name": "stderr",
  410. "output_type": "stream",
  411. "text": [
  412. "/work/cetin/LHCb/reco_tuner/env/tuner_env/envs/tuner/lib/python3.10/site-packages/scipy/optimize/_minpack_py.py:1010: OptimizeWarning: Covariance of the parameters could not be estimated\n",
  413. " warnings.warn('Covariance of the parameters could not be estimated',\n"
  414. ]
  415. },
  416. {
  417. "data": {
  418. "image/png": "iVBORw0KGgoAAAANSUhEUgAABooAAAImCAYAAABkc9ibAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeVxc1fk/8M8MDPsyDAQIhADDmoUskMUtiRpwr1qzqa2NS01q036/3Qza9tvl19qUaNXWpm1IrVpba0zUal2iIXFLzApmZWdYwr7MDMPA7HN+f6QgJKzDwDDD5/169VXD3HvOM/dchvvMc+85EiGEABEREREREREREREREU07UlcHQERERERERERERERERK7BQhEREREREREREREREdE0xUIRERERERERERERERHRNMVCERERERERERERERER0TTFQhEREREREREREREREdE0xUIRERERERERERERERHRNMVCERERERERERERERER0TTFQhEREREREREREREREdE0xUIREU05RUVFyM/Pd3UYwyooKMDmzZuxd+9eV4cyZiqVCvn5+dBqta4OhYiIiIiI3JC75kPMhYiIiAbHQhHRNFNUVITc3FysW7cOSUlJ2L59u6tD6qNSqbBu3TpkZWVh586drg5nSHv37kVubi7y8/OhVqtdHQ6A0Y/r9u3bkZSUhM2bN0+Z2N2JSqVCWFjYlC1kTuXf76G4S8xTZex7j1dWVhaysrJcGgsREdF0w7/DF7lrPsRcaPymyjXxYNwlr7iUu8Q9Vcaen8NEE8fb1QEQ0eQpKirC6tWrodFoAAC5ubmoqqpycVRfUiqV2LNnDyQSyaj3UalUUCgUkMvlExfYJdauXQsAWLdu3aT1OZyxjOvWrVtx4sQJt7vzzxUGO7e0Wi20Wu2U+r3pNdV/vwfjTjFPlbHPzMwEcPGLjt7/JiIioskxWX+Hx5LjMB8a/TUlc6Gxcad8yJ3yiv7cKe6pMvbMh4gmDgtFRNPItm3boFAo+v6dl5fnwmicY926ddizZ8+kJkYAJr2/4Yx1XPtvS0Mb7NzKzMyEEMJ1QQ3DHX+/3SnmqTT2TIiIiIhcZzL+Do8lx2E+NLZrSuZCo+dO+ZA75RX9uVPcU2nsmQ8RTQxOPUc0jRQVFbk6BKdat26dx70nR/AYOJ87nlvuFi/gnjETERERTaSxXIe6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
  419. "text/plain": [
  420. "<Figure size 2000x600 with 2 Axes>"
  421. ]
  422. },
  423. "metadata": {},
  424. "output_type": "display_data"
  425. }
  426. ],
  427. "source": [
  428. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20,6))\n",
  429. "n_end=100\n",
  430. "\n",
  431. "for i in range(0,n_end):\n",
  432. " popt, pcov = curve_fit(cubic_fit,ak.to_numpy(vtx_z_found[i,:]),ak.to_numpy(vtx_x_found[i,:]))\n",
  433. " z_coord = np.linspace(vtx_z_found[i,0],12000,1000)\n",
  434. " fit = cubic_fit(z_coord, popt[0], popt[1], popt[2], popt[3])\n",
  435. " ax0.plot(z_coord, fit, \"-\", label=\"fit\"+str(i), lw=0.5)\n",
  436. " ax0.errorbar(ak.to_numpy(vtx_z_found[i,:]),ak.to_numpy(vtx_x_found[i,:]),fmt=\".\",ms=2)\n",
  437. "\n",
  438. "#ax0.legend()\n",
  439. "ax0.set_xlabel(\"z [mm]\")\n",
  440. "ax0.set_ylabel(\"x [mm]\")\n",
  441. "ax0.set_title(\"found tracks of brem vertices from few signals\")\n",
  442. "ax0.set(xlim=(0,12000), ylim=(-4000,4000))\n",
  443. "ax0.grid()\n",
  444. "\n",
  445. "for i in range(0,n_end):\n",
  446. " popt, pcov = curve_fit(cubic_fit,ak.to_numpy(vtx_z_lost[i,:]),ak.to_numpy(vtx_x_lost[i,:]))\n",
  447. " z_coord = np.linspace(vtx_z_lost[i,0],12000,1000)\n",
  448. " fit = cubic_fit(z_coord, popt[0], popt[1], popt[2], popt[3])\n",
  449. " ax1.plot(z_coord, fit, \"-\", label=\"fit\"+str(i), lw=0.5)\n",
  450. " ax1.errorbar(ak.to_numpy(vtx_z_lost[i,:]),ak.to_numpy(vtx_x_lost[i,:]),fmt=\".\",ms=2)\n",
  451. "\n",
  452. "#ax1.legend()\n",
  453. "ax1.set_xlabel(\"z [mm]\")\n",
  454. "ax1.set_ylabel(\"x [mm]\")\n",
  455. "ax1.set_title(\"lost tracks of brem vertices from few signals\")\n",
  456. "ax1.set(xlim=(0,12000), ylim=(-4000,4000))\n",
  457. "ax1.grid()\n",
  458. "\n",
  459. "\"\"\"\n",
  460. "B:\n",
  461. "we can see that of the lost brem vertices, many trajectory fits seem illogical and not plausible\n",
  462. "found: most seem like reasonable tracks\n",
  463. "D:\n",
  464. "both: many tracks arent good fits and are unusable\n",
  465. "\"\"\"\n",
  466. "\n",
  467. "plt.show()"
  468. ]
  469. },
  470. {
  471. "cell_type": "code",
  472. "execution_count": 29,
  473. "metadata": {},
  474. "outputs": [],
  475. "source": [
  476. "endvtx_x_found = tracked[\"all_endvtx_x\"]\n",
  477. "endvtx_x_found = endvtx_x_found[tracked[\"all_endvtx_x_length\"]!=0]\n",
  478. "endvtx_x_found = ak.to_numpy(ak.flatten(endvtx_x_found))\n",
  479. "\n",
  480. "endvtx_z_found = tracked[\"all_endvtx_z\"]\n",
  481. "endvtx_z_found = endvtx_z_found[tracked[\"all_endvtx_z_length\"]!=0]\n",
  482. "#print(ak.to_numpy(brem_vtx_z_found))\n",
  483. "endvtx_z_found = ak.to_numpy(ak.flatten(endvtx_z_found))\n",
  484. "\n",
  485. "endvtx_x_lost = lost[\"all_endvtx_x\"]\n",
  486. "endvtx_x_lost = endvtx_x_lost[lost[\"all_endvtx_x_length\"]!=0]\n",
  487. "endvtx_x_lost = ak.to_numpy(ak.flatten(endvtx_x_lost))\n",
  488. "\n",
  489. "endvtx_z_lost = lost[\"all_endvtx_z\"]\n",
  490. "endvtx_z_lost = endvtx_z_lost[lost[\"all_endvtx_z_length\"]!=0]\n",
  491. "endvtx_z_lost = ak.to_numpy(ak.flatten(endvtx_z_lost))"
  492. ]
  493. },
  494. {
  495. "cell_type": "code",
  496. "execution_count": 30,
  497. "metadata": {},
  498. "outputs": [
  499. {
  500. "data": {
  501. "image/png": "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
  502. "text/plain": [
  503. "<Figure size 2000x600 with 4 Axes>"
  504. ]
  505. },
  506. "metadata": {},
  507. "output_type": "display_data"
  508. }
  509. ],
  510. "source": [
  511. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20,6))\n",
  512. "\n",
  513. "a0 = ax0.hist2d(endvtx_z_found, endvtx_x_found, density=False, bins=500, cmap=plt.cm.jet, cmin=1)\n",
  514. "ax0.set_xlabel(\"z [mm]\")\n",
  515. "ax0.set_ylabel(\"x [mm]\")\n",
  516. "ax0.set_title(r\"$e^\\pm$ found end vertices\")\n",
  517. "ax0.set(xlim=(0,12000), ylim=(-4000,4000))\n",
  518. "\n",
  519. "plt.colorbar(a0[3],ax=ax0)\n",
  520. "\n",
  521. "a1 = ax1.hist2d(endvtx_z_lost, endvtx_x_lost, density=False, bins=500, cmap=plt.cm.jet, cmin=1)\n",
  522. "ax1.set_xlabel(\"z [mm]\")\n",
  523. "ax1.set_ylabel(\"x [mm]\")\n",
  524. "ax1.set_title(r\"$e^\\pm$ lost end vertices\")\n",
  525. "ax1.set(xlim=(0,12000), ylim=(-4000,4000))\n",
  526. "\n",
  527. "plt.colorbar(a1[3], ax=ax1)\n",
  528. "\n",
  529. "\"\"\"\n",
  530. "z: VeLo - RICH1 - TT - Magnet - T1,T2,T3 - RICH2 - M1\n",
  531. "B:\n",
  532. "vertices of lost e photons are more densely concentrated around the beampipe, especially in the z range of the magnet\n",
  533. "found: vertices are densely located @ or around the detectors, while there are no clusters in the z range of the magnet\n",
  534. "D:\n",
  535. "lost: densely located @ the beampipe.\n",
  536. "both: almost cant make out the velo or ut\n",
  537. "\"\"\"\n",
  538. "plt.show()"
  539. ]
  540. },
  541. {
  542. "cell_type": "code",
  543. "execution_count": 31,
  544. "metadata": {},
  545. "outputs": [],
  546. "source": [
  547. "# try to plot trajectories using all tracker hits (Velo, UT, SciFi)\n",
  548. "\n",
  549. "velo_x_found = tracked[\"velo_hit_pos_x\"]\n",
  550. "velo_z_found = tracked[\"velo_hit_pos_z\"]\n",
  551. "ut_x_found = tracked[\"ut_hit_pos_x\"]\n",
  552. "ut_z_found = tracked[\"ut_hit_pos_z\"]\n",
  553. "scifi_x_found = tracked[\"scifi_hit_pos_x\"]\n",
  554. "scifi_z_found = tracked[\"scifi_hit_pos_z\"]\n",
  555. "\n",
  556. "tracker_x_found = ak.concatenate([velo_x_found,ut_x_found,scifi_x_found], axis=1)\n",
  557. "tracker_z_found = ak.concatenate([velo_z_found,ut_z_found,scifi_z_found], axis=1)\n",
  558. "\n",
  559. "velo_x_lost = lost[\"velo_hit_pos_x\"]\n",
  560. "velo_z_lost = lost[\"velo_hit_pos_z\"]\n",
  561. "ut_x_lost = lost[\"ut_hit_pos_x\"]\n",
  562. "ut_z_lost = lost[\"ut_hit_pos_z\"]\n",
  563. "scifi_x_lost = lost[\"scifi_hit_pos_x\"]\n",
  564. "scifi_z_lost = lost[\"scifi_hit_pos_z\"]\n",
  565. "\n",
  566. "tracker_x_lost = ak.concatenate([velo_x_lost,ut_x_lost,scifi_x_lost], axis=1)\n",
  567. "tracker_z_lost = ak.concatenate([velo_z_lost,ut_z_lost,scifi_z_lost], axis=1)\n",
  568. "\n",
  569. "\n",
  570. "#tracker_x_found = tracker_x_found[tracked[\"energy\"]>1e4]\n",
  571. "#tracker_z_found = tracker_z_found[tracked[\"energy\"]>1e4]\n",
  572. "\n",
  573. "#tracker_x_lost = tracker_x_lost[lost[\"energy\"]>1e4]\n",
  574. "#tracker_z_lost = tracker_z_lost[lost[\"energy\"]>1e4]"
  575. ]
  576. },
  577. {
  578. "cell_type": "code",
  579. "execution_count": null,
  580. "metadata": {},
  581. "outputs": [],
  582. "source": []
  583. },
  584. {
  585. "cell_type": "code",
  586. "execution_count": 32,
  587. "metadata": {},
  588. "outputs": [
  589. {
  590. "data": {
  591. "image/png": "iVBORw0KGgoAAAANSUhEUgAABooAAAImCAYAAABkc9ibAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd1xcVfr48Q+9wwDphYQhhQCJCSSxxxKwrLo2EnvZdSXuV1d3LWDU1XUtEdSsXSG7P9e1JmDsFWJJoolJIDGFUIcaOswwdKbc3x8IBmkDDDCQ5/16+cIwt5w7557hPPPcc46doigKQgghhBBCCCGEEEIIIYQQ4oRjP9YFEEIIIYQQQgghhBBCCCGEEGNDEkVCCCGEEEIIIYQQQgghhBAnKEkUCSGEEEIIIYQQQgghhBBCnKAkUSSEEEIIIYQQQgghhBBCCHGCkkSREEIIIYQQQgghhBBCCCHECUoSRUIIIYQQQgghhBBCCCGEECcoSRQJIYQQQgghhBBCCCGEEEKcoCRRJIQQQgghhBBCCCGEEEIIcYKSRJEQYkxkZGSQlJQ01sXoV1paGuvWrSMlJWWsizIujIc6HQ06nY6kpCQ0Gs1YF0UIIYQQQohhkZjIchIPdZB4SAghxidJFAkxAWVkZBAXF8eaNWsICgoiISFhrIvURaPRsGbNGiIiIkhMTBzr4vQpJSWFuLg4kpKSqKurG9Fz2XJ9WWK81OloSEpKIjAwkHXr1qHT6frdVqPR4OvrOyrB5Hi8x8ZLmUezHvvT+X5FREQQERExpmURQgghxjv5u9pBYiLLSDz0K4mHrGu8lFtiIiEmBsexLoAQwroyMjJYvXo1Wq0WgLi4OPLz88e4VL9Sq9UkJydjZ2dn8T4ajQY/Pz9UKtXIFew3oqOjAVizZs2InsfW68sSQ6nT4410/Y7m/RMTE0N+fr5FHXidTodOp+u1vq1Z5vF4j42nMvdXj6MpPDwcgISEhK7/F0IIIcTQjNbf1cH0+SQmsl0SD/1K4iHrGU/llphIiIlBEkVCTDAbNmzAz8+v69/x8fFjWBrrWLNmDcnJyaMaFAGjcr6JWF+DNdL1O9r3j7+/v0XbhYeHoyhKr69Zs8zj8R4bT2Xurx5HmwRDQgghhPWMxt/VwfT5JCaauCQe6ulEj4dgfJVbYiIhJgaZek6ICSYjI2Osi2BVa9asmXDXdLyJfG2WGOn6HY/3j7XLPN6uH8ZnmYUQQgghBmMwfb7x2KcdjIl8bQOReKgniYc6jNdyCyHGL0kUCTFBJCUlsWbNGjQaTdccyWvWrCEtLa1rG51Ox7p164iLiyMqKoqoqKhur6ekpODr64udnV1XpyQtLY01a9ZgZ2fXNeVA5+KUERERpKSkkJaWRkRERLdtjtd53s7/LJ1XNyUlpasc69at69ZhTElJ6Sp/UlISvr6+rFu3rmvfhISErmuNiIjoda7c48vV+X701xnr3L7zOjsXdD3+fV23bh1BQUEDzs07UH0NdH0D1WVnHUVFRXUtJBoVFYWvry9RUVFd80UnJCQQFBSEr68vcXFx/Za5r/euvzrNyMhgzZo1REVFERQU1O0c/dXvQPv2Vo7f1uFAxx/oPew8Rn/10J+6urqudtJb20hJSemqd0vek8HeZ+PxHrPkc6y/+yItLQ07O7tu73dGRgZBQUHY2dkRERHR7R7o/Gzrb6Hdgd733urxeJ33Z1BQUK/34GA+Sy35XBvKNQghhBBicCzpR/b393egfurxJCayrf5qb++bxEO9k3hIBwz+/pKYSGIiIcaMIoSYUNRqtaJWq3v8Pj09XVGpVEp6enrX7xITExVAiY+P7/pdTEyMAnTbLj8/XwGU6Ojorn9HR0crgBIZGanExsYq6enpXfsef7z8/HxFpVIpqampXb+Lj49XACU8PHzA64mNjVUAJT8/v+t3ycnJilqtVgAlJiZGiY2NVcLDw7uO17lPp9TUVAXoVob8/HxFrVZ3O65KpVJUKlWP/RITE7t+FxkZqSQnJ3crY3R0tBIbG9vtfT3+PehPb/U10PVZUpf5+fld9XF8HXVeU2RkpBITE6OkpqZ2q8/jj9kXS+s0PT1diYyM7HZdndfUqbf6tXRfS+qwv+MP9B4OVA996XwvIiMjlfj4+F7bRn5+frftjtdXmYd6n43He6y/zzFL76nj78/OMh3//nVe029/91v9ve/91aOiKEp4eHjXvp2fo4CiVquVmJiYQX2WWvK5pihKr5+tw/mMEkIIIU5kvf1dtTSuGujvb199vt5ITGRb/VWJhyQe6ryGkYqH+ip3Z9kkJup+TRITCWEdkigSYoLpqzMRHh7e5x/t4zthnX94j++8aLXabokiRfm1M/LbP6y/7RxER0f3et7hJIoU5dfOZ28dmsjIyG6d487yH79teHh4j7J3HlOr1SqK0jMoio6O7rVTp1KpepRjOEHRQNdnaV2mp6f36DD2tt3x21pSbkvrNDw8vMf7pVKpur3HfdWvJftaUof9Hd+S97C/euhL5z7HB9OK0rNt9PW7vso81PtsPN5j/X2ODXRf/Daxffx2vz1mdHT0gF/OWPK+91aPnZ+Rx5e3M9j57Zc8lnyWWvK51rnfbz9bh/MZJYQQQpzIevu7amk/aaC/v8NNFHUeT2Kinr8f6f6qxEP9k3ho+PFQf+WWmEhiIiFGikw9J8QJQKPRkJGR0euifp1DqxMTE4d07N4Wl6yrq+s6b+dwbmvrPO+KFSt6vJacnEx6enrXv/ft2wfQNfS78/2IjIzstl9sbCyKovS4Jp1OR1RUFPHx8b2+h2q1moSEhG7TDcTGxg7lsrr0dX1DqcvfXo9arQbotjBm5+/y8/P7LZelddpZzg0bNnQNQT9+2HhnnQx138HWYW/Ht+Q97O8+G8jy5cu7/VulUvU7nH8g1r7PbPUe64ul95RarSY8PLxrGpTfHqOzDnQ6HTqdrqtcfRnq+753794evzt+6off6u+zFAb+XOvPSHxGCSGEECeiwfSTRuPvr8REo99flXjIchIPWTceOr5sEhN1kJhICOuSRJEQJ4D+5pju7LwNp8PWl85jDtTpGI7eOhIqlQq1Wt01T+5vr7/z3/11no+XmJhIWlpaj/maOyUnJ6NSqYiLiyMoKMiqi07+toxjVZedLK3TznImJyd3+0+r1aIoSo+AZrD7DrYOezt+b/p6D4dyHmsbqfvM1u6xvgzmnuoM4DoDo6SkJNauXQv8GtRt2bKlzzm0jzfU970z4Oztc6O3oHMgA32u9WckP6OEEEKIE8lg+kmj+fdXYqJfjXR/VeKhsXOix0MgMZHEREKMLEkUCXEC6e0pi85O0fFPulhLZ+fp+CdARoNGoyEiIgKNRkNycnKPp0Q6y2Vp527dunWEh4ezbt26XvdRq9UUFBQQGRnZde6RXhRxtOuyk6V1Otj3eLD7Duf4ncbqPRyq0b7PbO39GUydx8TEAL8GQImJicTHxxMZGdn1niUmJnZt15+hvu/R0dFERkayYcMG0tLS0Ol0xMfHExsbO6Tk+UCfayNxDUIIIYTonSX9pLH++ysx0cj0VyUeGjsnejwEEhNJTCTEyJJEkRAngM4nNXp7iqOz8xMUFGT183b+4T9+aPBoiIqKws/Pr89OQ+f7kZyc3OvrvT091bltb1MMaDQaVCoVqampXdt1Pr1jbWNVl50srdPO7Xob6g69l38w+w62Do831u/hUI3WfWar789g76no6GjS0tJISUlh+fLlqFQq1q1bh06nIyEhocdUGH0ZzvuenJzc9cRnUlIS8fHxxMfHW7Tvbw30udaf0fyMEkIIISaywfSTxvrvr8REI9NflXho7Jzo8RBITCQxkRAjSxJFQkwwdXV1PZ5u6pyf9vi5aDvt27cPlUrV9RSJv78/0L1jefz8tYPR2elISkrqdd/BHM/SbTuv8fjh4537dr4vx5frtx2puLi4Xp8OUqvVJCYmotFoenQmju/kREdHdz2xY8lTPr3VV38GU5cjwdI67RzyHhcX12NId29P7Rx/LEv2HWwdHn/8kX4Pa2trgeGPpPvt+zvU+2y83WPQe5k
  592. "text/plain": [
  593. "<Figure size 2000x600 with 2 Axes>"
  594. ]
  595. },
  596. "metadata": {},
  597. "output_type": "display_data"
  598. }
  599. ],
  600. "source": [
  601. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20,6))\n",
  602. "\n",
  603. "nstart=0\n",
  604. "nend=130\n",
  605. "\n",
  606. "for i in range(nstart,nend):\n",
  607. " popt, pcov = curve_fit(cubic_fit,ak.to_numpy(tracker_z_found[i,:]),ak.to_numpy(tracker_x_found[i,:]))\n",
  608. " z_coord = np.linspace(tracker_z_found[i,0],14000,1000)\n",
  609. " fit = cubic_fit(z_coord, popt[0], popt[1], popt[2], popt[3])\n",
  610. " ax0.plot(z_coord, fit, \"-\", lw=0.5)\n",
  611. " ax0.errorbar(ak.to_numpy(tracker_z_found[i,:]),ak.to_numpy(tracker_x_found[i,:]),fmt=\".\",ms=3)\n",
  612. "\n",
  613. "ax0.legend([r\"$E>5$GeV\"])\n",
  614. "ax0.vlines(3000, -4000,4000, lw=1, ls=\":\", color=\"red\")\n",
  615. "ax0.vlines(7500, -4000,4000, lw=1, ls=\":\", color=\"red\")\n",
  616. "ax0.set_xticks(np.arange(0,14000,1000) , minor=True)\n",
  617. "ax0.set_yticks(np.arange(-4000,4000,500), minor=True)\n",
  618. "ax0.set_xlabel(\"z [mm]\")\n",
  619. "ax0.set_ylabel(\"x [mm]\")\n",
  620. "ax0.set_title(\"found tracks from detector hits from few signals\")\n",
  621. "ax0.set(xlim=(0,14000), ylim=(-4000,4000))\n",
  622. "ax0.grid()\n",
  623. "\n",
  624. "for i in range(nstart,nend):\n",
  625. " popt, pcov = curve_fit(cubic_fit,ak.to_numpy(tracker_z_lost[i,:]),ak.to_numpy(tracker_x_lost[i,:]))\n",
  626. " z_coord = np.linspace(tracker_z_lost[i,0],14000,1000)\n",
  627. " fit = cubic_fit(z_coord, popt[0], popt[1], popt[2], popt[3])\n",
  628. " ax1.plot(z_coord, fit, \"-\", lw=0.5)\n",
  629. " ax1.errorbar(ak.to_numpy(tracker_z_lost[i,:]),ak.to_numpy(tracker_x_lost[i,:]),fmt=\".\",ms=3)\n",
  630. "\n",
  631. "ax1.vlines(3000, -4000,4000, lw=1, ls=\":\", color=\"red\")\n",
  632. "ax1.vlines(7500, -4000,4000, lw=1, ls=\":\", color=\"red\")\n",
  633. "ax1.set_xticks(np.arange(0,14000,1000) , minor=True)\n",
  634. "ax1.set_yticks(np.arange(-4000,4000,500), minor=True)\n",
  635. "ax1.set_xlabel(\"z [mm]\")\n",
  636. "ax1.set_ylabel(\"x [mm]\")\n",
  637. "ax1.set_title(\"lost tracks from detector hits from few signals\")\n",
  638. "ax1.set(xlim=(0,14000), ylim=(-4000,4000))\n",
  639. "ax1.grid()\n",
  640. "\n",
  641. "\n",
  642. "\"\"\"\n",
  643. "electrons and photons will be stopped by the ECAL which serves to measure the particles energy\n",
  644. "\n",
  645. "B:\n",
  646. "the trajectories between the velo and tt should be linear, which cannot be plotted accurately using a single fit.\n",
  647. "lost tracks diverge more severely.\n",
  648. "\n",
  649. "most higher energy particles maintain a trajectory closer to the beamdirection ie a larger pseudorapidity,\n",
  650. "and show less bending in their trajectory, especially upstream.\n",
  651. "found: higher energy: very compact trajectory, less bending wrt lower energy particles \n",
  652. "\n",
  653. "D:\n",
  654. "E<10GeV: almost all diverge from the x origin (almost no hit for x<1500)\n",
  655. "E>10GeV: much more densely clustered. however still a noticeable empty space around the x origin\n",
  656. "\"\"\"\n",
  657. "\n",
  658. "\n",
  659. "\n",
  660. "plt.show()"
  661. ]
  662. },
  663. {
  664. "cell_type": "code",
  665. "execution_count": 33,
  666. "metadata": {},
  667. "outputs": [],
  668. "source": [
  669. "c = 299792458 #m/s\n",
  670. "energy_found = tracked[\"energy\"]\n",
  671. "p_found = tracked[\"p\"]\n",
  672. "pt_found = tracked[\"pt\"]\n",
  673. "eta_found = tracked[\"eta\"]\n",
  674. "\n",
  675. "energy_lost = lost[\"energy\"]\n",
  676. "p_lost = lost[\"p\"]\n",
  677. "pt_lost = lost[\"pt\"]\n",
  678. "eta_lost = lost[\"eta\"]\n",
  679. "\n",
  680. "p_found = ak.to_numpy(p_found)\n",
  681. "pt_found = ak.to_numpy(pt_found)\n",
  682. "eta_found = ak.to_numpy(eta_found)\n",
  683. "\n",
  684. "p_lost = ak.to_numpy(p_lost)\n",
  685. "pt_lost = ak.to_numpy(pt_lost)\n",
  686. "eta_lost = ak.to_numpy(eta_lost)\n",
  687. "#print(np.sqrt(energy_found[0]**2 - p_found[0]**2))"
  688. ]
  689. },
  690. {
  691. "cell_type": "code",
  692. "execution_count": 34,
  693. "metadata": {},
  694. "outputs": [
  695. {
  696. "data": {
  697. "image/png": "iVBORw0KGgoAAAANSUhEUgAABi4AAAImCAYAAADEwHIwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB0qElEQVR4nO39bYxja34Ydv67++rORCvZvDXjRDMGxhLLxiZYBLDInkm0tjEZDYk1oPViI1X19YddS9nVrbJydxeI4G16Agi4WgEuVX/YLLC5WLFaMAZGEOR2EcZuFG1ikbOOLMMfZprMGLYsJ1bxKkoyM0nG1dRoovsyXc390E3eqi6y+HZInpff7+LgVh0envOc5zlkPf9+3m4Nh8NhAAAAAAAApMDtbScAAAAAAABgRMMFAAAAAACQGhouAAAAAACA1NBwAQAAAAAApIaGCwAAAAAAIDU0XAAAAAAAAKmh4QIAAAAAAEgNDRcAAAAAAEBqaLgg83q9XpycnGw7GQAAAAAAJEDDBTfq9XrRaDRif38/dnd348GDB9tO0li/34/9/f2oVqvRbDZXPt/oXqvValSr1QRSCAAAFFnWYoyspRcAyC8NF0zV6/Xii1/8YhwfH8fp6Wns7e3F2dnZtpM1Vi6X4/T0NLHzVSqVeP3116PX6yV2zkn6/X4MBoO1XoPFKJPVyD/WwXMFQB5kLcbIWnpJhvJYjfxjHTxXoOGCGxwdHcXOzs749+Pj40RGNqRZpVJZ+zX29/fj/Px87ddhfspkNfKPdfBcAZAXWYsxspZeVqc8ViP/WAfPFWi44Abr7mVTRPv7+/I1ZZTJauQf6+C5AoD5Ze3vZtbSm3fKYzXyj3XwXMFzGi645uTkJPb396Pf74/Xkdjf349OpzM+ZjAYxOHhYTQajajX61Gv16+83mq14rXXXotbt26Nv2w7nU7s7+/HrVu3Yn9/f3yek5OTqFar0Wq1otPpRLVavXLMZaPrjrZF19zo9Xqxv78f9Xo9dnd3o9FoJPrey+kb5cvo/lut1vjnw8PDK3+IWq3WOA9PTk7itddei8PDw2vnnZbfi+bjpHSfnJxEvV6Pk5OT6Pf7Ua/X47XXXot6vT4envjgwYPY3d2N11577cb7n5XOVa9zU1kskhfTymTR53fV+7mpXG7Kz16vN05ntVqNfr8/fq3RaMStW7eufEZmPcOznsOXrfJMP3jwYHxv1Wo1Tk5Ortz3vGV4OY8ODw9jd3d3fK5N5s9N6Zj3/JMU8bOZ9s8lACRp1t/ol495uZ5xU31sGjHRZOpd6ax3pTkmyls8tGr+rCMm8rlc/HOZ5P3A1g1hinK5PCyXy9f2d7vdYalUGna73fG+ZrM5jIjh8fHxeN/BwcEwIq4cd3Z2NoyI4d7e3vj3vb29YUQMa7Xa8P79+8Nutzt+7+XznZ2dDUul0rDdbo/3HR8fDyNiWKlUZt5Pt9sd1mq18e+np6fDiBgeHBxcOW7S+eZ579nZ2bBcLg/Pzs7G+0ql0rBUKo1/v3///jAirhxzeno6LJfL4/Pdv39/WKlUxmmYJ78XycdJzs7Oxsdefn+73R7vOzg4GLbb7SvXupymedOZxHVuKotF82JSmQyH8z+/q97PNPN+zkb3P0rT5bRezqdZ+TbrOZxmmWd69J6RUX6NPtuLlOHe3t7w/v37V/JoG/kzKx3zfv+8rKifzbR+LgFgWdNijHnqe7PqGdP+bk4iJppOvSt99a4sxER5iYeSyJ91xEQ+l4t/LpO6H0gDDRdMNa3holKpXPsDN9p/+Yt19EV7+YvvyZMn175QR1/mL1ckR1+mI3t7exOvO2/DRaVSufYlXCqVhhExfPLkyY3nm+e9lUrl2j2MGlZGx0z74zM67vIf+cvXnie/583Habrd7sRKw8vXuXzs5WvNm84krjOrLBbJi2llMu/zu+r9TDNvfg6Hw3Hl8bLj4+Ph6enplffNyrebnsNplnmma7XaleB1lK+Xj523DEul0rVrvPyeTeTPrHTM+/0zSRE/m2n9XALAsqbFGPP8jZ5Vz1ik4UJMdDP1ruG1/dusd2UhJspLPDQcpjcm8rkcXts/63OZxP1AGpgqioX0+/3o9XoTF2wbDQ9cdgHvUql0bd9oIaJ+vz8ekriMUbqPjo7GU19dHkb3+PHjld47OqZWq1157/3792M4HE68t8tGr3/2s5+deO1F8vumfJzHy+8vl8sREVcWah/tOzs7Syydi1xn3nJcNS8Wscz9TLNofo72tVqt8b533nkn9vb2rpxvVr5New6XcdO5Tk9Po9vtXrv+aLjqpPNcdrkMy+VyPHjw4MoQ5/v37185fhP5c1M6Vvn+ucxnc3FJfi4BIEmL/I2ep76zyDXFRLOpdy0u6XpX1mOiLMVDEdmIiXwulyMmIste2XYCyJab5ku9e/duRMSVeROTMjrn6Mt0UaN0n56eruW9owrArMr4LC+/f1v5vahNpXOVcsySRfPz4OAgGo1GNJvN2Nvbi16vNz7u8vnmzbdVn+NZ5yqVSlEqlaLVasU777yzUlBwenoa1Wp1fP+np6fXKqWbyJ+b0rHN59ZnEwDSaZG/0fPUdxa5pphoPdS7kpWXmCgL8VBEfmMin0vINiMuWMpNPQEut9omZfSHZNkW6NH7l/mDNM97Vzn/PDad38tadzrXnc9pM29+lkql2Nvbi06nE/1+P955550rC7+lLd/6/f54cbjT09OlegyOlMvlePfdd6NWq43P+/ICcJvIn5vSkYb899kEgHSa52/0PPWdeYiJNkO9K1l5jInSFg+N0nT5/0mnZdv573MJ2aThgoWMWss7nc6110Z/CHZ3dxO/7mikxeXhlMu8//LQyMsm3c8i7x3ly7TW9WX/eG0rvxe1qXSuUo5Zskx+fulLX4qI58NcXx4Km7Z8q9frsbOzs1IFfaTf70epVIp2uz3+/L1cCY9Yf/7clI5t5r/PJgCk0yJ/o+et78wiJlov9a5k5TkmSls8FJHfmMjnErJNwwVTnZ+fXxvhUC6Xo1KpRL/fv1bxfPz4cZRKpTg4OIiIiE984hMRcbWCOvp5Umv3TUZD+E5OTia+d9b5RvOsNhqNa0MFZ/VWmue9l9P38h+kRqNxrQV/3vtfJL+3aVPpXKUcZ3m5TJJ8fhe1TH5WKpXxnKKX59KMWG++jcybJ6N7ujy0ePTeZUZUHR8fj3/e29sbz0/6cr6tO39uSscm8n+arH820/S5BIAkLfI3et76jphou9S7kpW1mCjL8VBEfmMin0vINg0XLOz09DRKpdKVVvzBYBDHx8fx8OHD8R/gUct2o9GITqcTJycn4z9cnU5nvND2PH+cS6XSuDdCtVodD3FsNBoR8fyL+vICULPev7+/Hw8ePIh6vR5nZ2fXFpBb9L2lUmn8R7per8f+/n40Go2oVquxu7s7zpNRS36z2Yx+vz9ujR/9gZn0h2be/F51Iadp759UiRr9fHnfqumc5zrzluMieTGtTFZ9fufNt2nmzc/LRsfeu3fvyv558+2m53CaRZ/pUcDaarXi5OQkTk5Oxp/jXq8XrVYrBoPB3GX46NGjK5W2wWAQ5XJ54no468yfm9KxyvdPRDE/m2n9XAJAkub9Gz2rvjPt7+bLxESzqXelq96VhZgoD/FQRLpjIp/LxT+Xq94PpMYQXtLtdocHBwfDiBhGxPDg4GDYbrevHPPkyZPh3t7esFarDQ8ODoYHBwfDbrd77VzHx8fDUqk0LJVKw/v37w+Hw+GwXC4P79+/P+x2u8NutzusVCrDiBiWy+Vhu90ePnny5Mr1j4+Px+drNpvDcrk8jIhhpVIZnp2djc93dnY2896Oj4/H7y+Xy8Nmszn1vo+Pj4dPnjyZ670jp6en4/upVCrX8m04HA4rlcqwVCoNDw4Oxu+Zdd5Z+b1oPr6s2+0Oa7XaMCKGpVJpeHp6Os7v0fv39vaG3W53eHZ2Ntzb2xsfezm986QzievMKsdF8+LlMrl8nVnPbxL3M828n7PLx798Dy/fz7R8m+c5nGbRZ7rZbA5LpdI4L4fD4fDg4GCcz4uUYa1WG5/n/v37w72
  698. "text/plain": [
  699. "<Figure size 2000x600 with 4 Axes>"
  700. ]
  701. },
  702. "metadata": {},
  703. "output_type": "display_data"
  704. }
  705. ],
  706. "source": [
  707. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20,6))\n",
  708. "\n",
  709. "a0=ax0.hist2d(p_found, pt_found, bins=200, cmap=plt.cm.jet, cmin=0,range=[[0,1e4],[0,1e3]])\n",
  710. "ax0.set_xlabel(\"p\")\n",
  711. "ax0.set_ylabel(r\"$p_T$\")\n",
  712. "ax0.set_title(\"found electron momentum over transverse momentum\")\n",
  713. "plt.colorbar(a0[3],ax=ax0)\n",
  714. "\n",
  715. "a1=ax1.hist2d(p_lost, pt_lost, bins=200, cmap=plt.cm.jet, cmin=0, range=[[0,1e4],[0,1e3]]) \n",
  716. "ax1.set_xlabel(\"p\")\n",
  717. "ax1.set_ylabel(r\"$p_T$\")\n",
  718. "ax1.set_title(\"lost electron momentum over transverse momentum\")\n",
  719. "plt.colorbar(a1[3],ax=ax1)\n",
  720. "\n",
  721. "\"\"\"\n",
  722. "B:\n",
  723. "\n",
  724. "D:\n",
  725. "both: clustered between 2000<p<6000 and 20<pt<400 (found a little more spread)\n",
  726. "\"\"\"\n",
  727. "plt.show()"
  728. ]
  729. },
  730. {
  731. "cell_type": "code",
  732. "execution_count": 35,
  733. "metadata": {},
  734. "outputs": [
  735. {
  736. "data": {
  737. "image/png": "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
  738. "text/plain": [
  739. "<Figure size 2000x600 with 4 Axes>"
  740. ]
  741. },
  742. "metadata": {},
  743. "output_type": "display_data"
  744. }
  745. ],
  746. "source": [
  747. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20,6))\n",
  748. "\n",
  749. "a0=ax0.hist2d(eta_found, p_found/(1e3), bins=200, cmap=plt.cm.jet, cmin=0, range=[[0,7],[0,50]])\n",
  750. "ax0.set_xlabel(r\"$\\eta$\")\n",
  751. "ax0.set_ylabel(r\"$p$ [GeV]\")\n",
  752. "ax0.set_title(\"found eta and electron momentum\")\n",
  753. "plt.colorbar(a0[3],ax=ax0)\n",
  754. "\n",
  755. "a1=ax1.hist2d(eta_lost, p_lost/(1e3), bins=200, cmap=plt.cm.jet, cmin=0, range=[[0,7],[0,50]])\n",
  756. "ax1.set_xlabel(r\"$\\eta$\")\n",
  757. "ax1.set_ylabel(r\"$p$ [GeV]\")\n",
  758. "ax1.set_title(\"lost eta and electron momentum\")\n",
  759. "plt.colorbar(a1[3],ax=ax1)\n",
  760. "\n",
  761. "\"\"\"\n",
  762. "B:\n",
  763. "particles with lower momentum appear to have lower rapidity as well, ie a larger angle to the beam axis.\n",
  764. "D:\n",
  765. "both: clustered between 3<eta<5 and 0<p<10GeV. it seems that most particles had a higher rapidity \n",
  766. "\"\"\"\n",
  767. "plt.show()"
  768. ]
  769. },
  770. {
  771. "cell_type": "code",
  772. "execution_count": null,
  773. "metadata": {},
  774. "outputs": [],
  775. "source": []
  776. },
  777. {
  778. "cell_type": "code",
  779. "execution_count": null,
  780. "metadata": {},
  781. "outputs": [],
  782. "source": []
  783. },
  784. {
  785. "cell_type": "code",
  786. "execution_count": 36,
  787. "metadata": {},
  788. "outputs": [
  789. {
  790. "data": {
  791. "text/plain": [
  792. "{'all_endvtx_types_length': 11,\n",
  793. " 'all_endvtx_types': [101.0,\n",
  794. " 101.0,\n",
  795. " 101.0,\n",
  796. " 101.0,\n",
  797. " 101.0,\n",
  798. " 101.0,\n",
  799. " 101.0,\n",
  800. " 101.0,\n",
  801. " 101.0,\n",
  802. " 101.0,\n",
  803. " 0.0],\n",
  804. " 'all_endvtx_x_length': 11,\n",
  805. " 'all_endvtx_x': [19.496400833129883,\n",
  806. " 24.957000732421875,\n",
  807. " 32.490699768066406,\n",
  808. " 34.14419937133789,\n",
  809. " 34.6599006652832,\n",
  810. " 36.427101135253906,\n",
  811. " -1914.992431640625,\n",
  812. " -2413.033203125,\n",
  813. " -3782.947998046875,\n",
  814. " -3786.80810546875,\n",
  815. " -3819.826904296875],\n",
  816. " 'all_endvtx_y_length': 11,\n",
  817. " 'all_endvtx_y': [-20.370500564575195,\n",
  818. " -26.043100357055664,\n",
  819. " -33.85060119628906,\n",
  820. " -35.53160095214844,\n",
  821. " -36.069400787353516,\n",
  822. " -37.92850112915039,\n",
  823. " -504.0671081542969,\n",
  824. " -533.6621704101562,\n",
  825. " -598.8317260742188,\n",
  826. " -599.1124877929688,\n",
  827. " -593.3890991210938],\n",
  828. " 'all_endvtx_z_length': 11,\n",
  829. " 'all_endvtx_z': [399.7018127441406,\n",
  830. " 500.7049865722656,\n",
  831. " 637.5723266601562,\n",
  832. " 667.4852905273438,\n",
  833. " 677.0195922851562,\n",
  834. " 709.4874877929688,\n",
  835. " 8576.556640625,\n",
  836. " 9281.2119140625,\n",
  837. " 11183.1640625,\n",
  838. " 11188.4541015625,\n",
  839. " 11237.0966796875],\n",
  840. " 'brem_photons_pe_length': 10,\n",
  841. " 'brem_photons_pe': [2469.182861328125,\n",
  842. " 169.8916473388672,\n",
  843. " 223.71347045898438,\n",
  844. " 388.2983703613281,\n",
  845. " 3228.4228515625,\n",
  846. " 809.4715576171875,\n",
  847. " 171.57342529296875,\n",
  848. " 223.80494689941406,\n",
  849. " 178.85166931152344,\n",
  850. " 793.921142578125],\n",
  851. " 'brem_photons_px_length': 10,\n",
  852. " 'brem_photons_px': [133.6999969482422,\n",
  853. " 9.329999923706055,\n",
  854. " 12.489999771118164,\n",
  855. " 20.93000030517578,\n",
  856. " 175.22000122070312,\n",
  857. " 43.81999969482422,\n",
  858. " -98.19999694824219,\n",
  859. " -129.77000427246094,\n",
  860. " -106.12000274658203,\n",
  861. " -465.2200012207031],\n",
  862. " 'brem_photons_py_length': 10,\n",
  863. " 'brem_photons_py': [-137.9199981689453,\n",
  864. " -9.65999984741211,\n",
  865. " -12.579999923706055,\n",
  866. " -21.809999465942383,\n",
  867. " -183.27999877929688,\n",
  868. " -47.79999923706055,\n",
  869. " -6.090000152587891,\n",
  870. " -7.429999828338623,\n",
  871. " -5.800000190734863,\n",
  872. " -36.66999816894531],\n",
  873. " 'brem_photons_pz_length': 10,\n",
  874. " 'brem_photons_pz': [2461.699951171875,\n",
  875. " 169.36000061035156,\n",
  876. " 223.00999450683594,\n",
  877. " 387.1199951171875,\n",
  878. " 3218.449951171875,\n",
  879. " 806.8699951171875,\n",
  880. " 140.55999755859375,\n",
  881. " 182.19000244140625,\n",
  882. " 143.85000610351562,\n",
  883. " 642.2899780273438],\n",
  884. " 'brem_vtx_x_length': 10,\n",
  885. " 'brem_vtx_x': [19.496400833129883,\n",
  886. " 24.957000732421875,\n",
  887. " 32.490699768066406,\n",
  888. " 34.14419937133789,\n",
  889. " 34.6599006652832,\n",
  890. " 36.427101135253906,\n",
  891. " -1914.992431640625,\n",
  892. " -2413.033203125,\n",
  893. " -3782.947998046875,\n",
  894. " -3786.80810546875],\n",
  895. " 'brem_vtx_y_length': 10,\n",
  896. " 'brem_vtx_y': [-20.370500564575195,\n",
  897. " -26.043100357055664,\n",
  898. " -33.85060119628906,\n",
  899. " -35.53160095214844,\n",
  900. " -36.069400787353516,\n",
  901. " -37.92850112915039,\n",
  902. " -504.0671081542969,\n",
  903. " -533.6621704101562,\n",
  904. " -598.8317260742188,\n",
  905. " -599.1124877929688],\n",
  906. " 'brem_vtx_z_length': 10,\n",
  907. " 'brem_vtx_z': [399.7018127441406,\n",
  908. " 500.7049865722656,\n",
  909. " 637.5723266601562,\n",
  910. " 667.4852905273438,\n",
  911. " 677.0195922851562,\n",
  912. " 709.4874877929688,\n",
  913. " 8576.556640625,\n",
  914. " 9281.2119140625,\n",
  915. " 11183.1640625,\n",
  916. " 11188.4541015625],\n",
  917. " 'endvtx_type': 0,\n",
  918. " 'endvtx_x': nan,\n",
  919. " 'endvtx_y': nan,\n",
  920. " 'endvtx_z': nan,\n",
  921. " 'energy': 9355.866625028413,\n",
  922. " 'eta': 3.237728027535365,\n",
  923. " 'event_count': 2,\n",
  924. " 'fromB': True,\n",
  925. " 'fromD': False,\n",
  926. " 'fromDecay': True,\n",
  927. " 'fromHadInt': False,\n",
  928. " 'fromPV': False,\n",
  929. " 'fromPairProd': False,\n",
  930. " 'fromSignal': True,\n",
  931. " 'fromStrange': False,\n",
  932. " 'isElectron': True,\n",
  933. " 'isKaon': False,\n",
  934. " 'isMuon': False,\n",
  935. " 'isPion': False,\n",
  936. " 'isProton': False,\n",
  937. " 'lost': False,\n",
  938. " 'lost_in_track_fit': False,\n",
  939. " 'match_fraction': 1.0,\n",
  940. " 'mcp_idx': 5488,\n",
  941. " 'mother_id': 511,\n",
  942. " 'mother_key': 5479,\n",
  943. " 'originvtx_type': 2,\n",
  944. " 'originvtx_x': -0.0663,\n",
  945. " 'originvtx_y': -0.0023,\n",
  946. " 'originvtx_z': 40.3966,\n",
  947. " 'p': 9355.866611073503,\n",
  948. " 'phi': -0.8090232566094933,\n",
  949. " 'pid': -11,\n",
  950. " 'pt': 733.3612464536151,\n",
  951. " 'px': 506.17,\n",
  952. " 'py': -530.67,\n",
  953. " 'pz': 9327.08,\n",
  954. " 'scifi_hit_pos_x_length': 13,\n",
  955. " 'scifi_hit_pos_x': [-1402.2215576171875,\n",
  956. " -1448.5460205078125,\n",
  957. " -1495.479736328125,\n",
  958. " -1542.3804931640625,\n",
  959. " -1865.9482421875,\n",
  960. " -1914.599853515625,\n",
  961. " -1915.0545654296875,\n",
  962. " -1963.8216552734375,\n",
  963. " -2012.78173828125,\n",
  964. " -2349.04052734375,\n",
  965. " -2398.658935546875,\n",
  966. " -2448.573486328125,\n",
  967. " -2498.376220703125],\n",
  968. " 'scifi_hit_pos_y_length': 13,\n",
  969. " 'scifi_hit_pos_y': [-470.2232666015625,\n",
  970. " -473.55914306640625,\n",
  971. " -476.8390197753906,\n",
  972. " -480.12762451171875,\n",
  973. " -501.0274963378906,\n",
  974. " -504.04315185546875,\n",
  975. " -504.0709228515625,\n",
  976. " -507.0843200683594,\n",
  977. " -510.0830383300781,\n",
  978. " -530.0570068359375,\n",
  979. " -532.8589477539062,\n",
  980. " -535.61572265625,\n",
  981. " -538.2548217773438],\n",
  982. " 'scifi_hit_pos_z_length': 13,\n",
  983. " 'scifi_hit_pos_z': [7824.40576171875,\n",
  984. " 7894.1943359375,\n",
  985. " 7964.38330078125,\n",
  986. " 8034.171875,\n",
  987. " 8506.294921875,\n",
  988. " 8575.99609375,\n",
  989. " 8576.6455078125,\n",
  990. " 8646.2744140625,\n",
  991. " 8716.0634765625,\n",
  992. " 9191.1904296875,\n",
  993. " 9260.98046875,\n",
  994. " 9331.171875,\n",
  995. " 9400.962890625],\n",
  996. " 'track_p': 1931.9397828451663,\n",
  997. " 'track_pt': 151.36962154532284,\n",
  998. " 'tx': 0.05426886013629132,\n",
  999. " 'ty': -0.056895620065443846,\n",
  1000. " 'ut_hit_pos_x_length': 4,\n",
  1001. " 'ut_hit_pos_x': [112.31356048583984,\n",
  1002. " 114.4996337890625,\n",
  1003. " 122.83889770507812,\n",
  1004. " 124.72588348388672],\n",
  1005. " 'ut_hit_pos_y_length': 4,\n",
  1006. " 'ut_hit_pos_y': [-135.26077270507812,\n",
  1007. " -138.64544677734375,\n",
  1008. " -152.51470947265625,\n",
  1009. " -155.91305541992188],\n",
  1010. " 'ut_hit_pos_z_length': 4,\n",
  1011. " 'ut_hit_pos_z': [2313.153564453125,\n",
  1012. " 2368.153564453125,\n",
  1013. " 2593.153564453125,\n",
  1014. " 2648.153564453125],\n",
  1015. " 'velo_hit_pos_x_length': 10,\n",
  1016. " 'velo_hit_pos_x': [3.2025206089019775,\n",
  1017. " 4.559732437133789,\n",
  1018. " 5.917426109313965,\n",
  1019. " 7.274953365325928,\n",
  1020. " 8.638668060302734,\n",
  1021. " 10.008487701416016,\n",
  1022. " 11.378168106079102,\n",
  1023. " 12.745656967163086,\n",
  1024. " 15.399646759033203,\n",
  1025. " 19.47773551940918],\n",
  1026. " 'velo_hit_pos_y_length': 10,\n",
  1027. " 'velo_hit_pos_y': [-3.429784059524536,\n",
  1028. " -4.8510894775390625,\n",
  1029. " -6.275496482849121,\n",
  1030. " -7.6981940269470215,\n",
  1031. " -9.124002456665039,\n",
  1032. " -10.54817008972168,\n",
  1033. " -11.963949203491211,\n",
  1034. " -13.374946594238281,\n",
  1035. " -16.1297550201416,\n",
  1036. " -20.351228713989258],\n",
  1037. " 'velo_hit_pos_z_length': 10,\n",
  1038. " 'velo_hit_pos_z': [100.64099884033203,\n",
  1039. " 125.64099884033203,\n",
  1040. " 150.64100646972656,\n",
  1041. " 175.64100646972656,\n",
  1042. " 200.64100646972656,\n",
  1043. " 225.64100646972656,\n",
  1044. " 250.64100646972656,\n",
  1045. " 275.6409912109375,\n",
  1046. " 324.3590087890625,\n",
  1047. " 399.3590087890625],\n",
  1048. " 'velo_track_idx': 143,\n",
  1049. " 'velo_track_tx': 0.054571494460105896,\n",
  1050. " 'velo_track_ty': -0.056447889655828476,\n",
  1051. " 'velo_track_x': 39.710758209228516,\n",
  1052. " 'velo_track_y': -41.2618293762207,\n",
  1053. " 'velo_track_z': 770.0}"
  1054. ]
  1055. },
  1056. "execution_count": 36,
  1057. "metadata": {},
  1058. "output_type": "execute_result"
  1059. }
  1060. ],
  1061. "source": [
  1062. "tracked[1].tolist()"
  1063. ]
  1064. },
  1065. {
  1066. "cell_type": "code",
  1067. "execution_count": null,
  1068. "metadata": {},
  1069. "outputs": [],
  1070. "source": []
  1071. }
  1072. ],
  1073. "metadata": {
  1074. "kernelspec": {
  1075. "display_name": "env1",
  1076. "language": "python",
  1077. "name": "python3"
  1078. },
  1079. "language_info": {
  1080. "codemirror_mode": {
  1081. "name": "ipython",
  1082. "version": 3
  1083. },
  1084. "file_extension": ".py",
  1085. "mimetype": "text/x-python",
  1086. "name": "python",
  1087. "nbconvert_exporter": "python",
  1088. "pygments_lexer": "ipython3",
  1089. "version": "3.10.12"
  1090. },
  1091. "orig_nbformat": 4
  1092. },
  1093. "nbformat": 4,
  1094. "nbformat_minor": 2
  1095. }