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.

488 lines
201 KiB

7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "code",
  5. "execution_count": 1,
  6. "metadata": {},
  7. "outputs": [],
  8. "source": [
  9. "import uproot\n",
  10. "import matplotlib.pyplot as plt\n",
  11. "import numpy as np\n",
  12. "import mplhep\n",
  13. "import awkward as ak\n",
  14. "\n",
  15. "mplhep.style.use([\"LHCbTex2\"])\n",
  16. "plt.rcParams[\"savefig.dpi\"] = 600\n",
  17. "# %matplotlib inline"
  18. ]
  19. },
  20. {
  21. "cell_type": "code",
  22. "execution_count": 3,
  23. "metadata": {},
  24. "outputs": [],
  25. "source": [
  26. "train_tree = uproot.open({\n",
  27. " \"/work/cetin/LHCb/reco_tuner/nn_electron_training/result_bestprecuts_NozMagCut/matching_ghost_mlp_training.root\":\n",
  28. " \"MatchNNDataSet/TrainTree\"\n",
  29. "})\n",
  30. "test_tree = uproot.open({\n",
  31. " \"/work/cetin/LHCb/reco_tuner/nn_electron_training/result_bestprecuts_NozMagCut/matching_ghost_mlp_training.root\":\n",
  32. " \"MatchNNDataSet/TestTree\"\n",
  33. "})\n",
  34. "train_array = train_tree.arrays()\n",
  35. "test_array = test_tree.arrays()"
  36. ]
  37. },
  38. {
  39. "cell_type": "code",
  40. "execution_count": 4,
  41. "metadata": {},
  42. "outputs": [
  43. {
  44. "data": {
  45. "image/png": "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
  46. "text/plain": [
  47. "<Figure size 1200x900 with 1 Axes>"
  48. ]
  49. },
  50. "metadata": {},
  51. "output_type": "display_data"
  52. }
  53. ],
  54. "source": [
  55. "train_bkg = train_array[train_array.classID == 1]\n",
  56. "train_sig = train_array[train_array.classID == 0]\n",
  57. "test_bkg = test_array[test_array.classID == 1]\n",
  58. "test_sig = test_array[test_array.classID == 0]\n",
  59. "plt.hist(\n",
  60. " train_sig.matching_mlp,\n",
  61. " bins=50,\n",
  62. " alpha=0.5,\n",
  63. " density=True,\n",
  64. " color=\"#107E7D\",\n",
  65. " label=\"training sample, true pairs\",\n",
  66. ")\n",
  67. "plt.hist(\n",
  68. " train_bkg.matching_mlp,\n",
  69. " bins=50,\n",
  70. " alpha=0.5,\n",
  71. " density=True,\n",
  72. " color=\"#F05342\",\n",
  73. " label=\"training sample, wrong pairs\",\n",
  74. ")\n",
  75. "mplhep.histplot(\n",
  76. " np.histogram(np.array(test_sig.matching_mlp), 50),\n",
  77. " histtype=\"errorbar\",\n",
  78. " density=True,\n",
  79. " yerr=True,\n",
  80. " color=\"#107E7D\",\n",
  81. " marker=\"^\",\n",
  82. " markersize=7,\n",
  83. " label=\"test sample, true pairs\",\n",
  84. ")\n",
  85. "mplhep.histplot(\n",
  86. " np.histogram(np.array(test_bkg.matching_mlp), 50),\n",
  87. " histtype=\"errorbar\",\n",
  88. " density=True,\n",
  89. " yerr=True,\n",
  90. " color=\"#F05342\",\n",
  91. " label=\"test sample, wrong pairs\",\n",
  92. ")\n",
  93. "plt.xlabel(\"neural network response\")\n",
  94. "plt.ylabel(\"Number of Tracks (normalised)\")\n",
  95. "mplhep.lhcb.text(\"Simulation\", loc=0)\n",
  96. "plt.legend(loc=\"upper center\")\n",
  97. "# plt.savefig(\n",
  98. "# \"/work/cetin/LHCb/reco_tuner/thesis/new_electron_NN_response.pdf\",\n",
  99. "# format=\"PDF\",\n",
  100. "# )\n",
  101. "plt.show()"
  102. ]
  103. },
  104. {
  105. "cell_type": "code",
  106. "execution_count": 10,
  107. "metadata": {},
  108. "outputs": [
  109. {
  110. "name": "stdout",
  111. "output_type": "stream",
  112. "text": [
  113. "The cut is set to 0.5, thereby rejecting 0.901 of fake tracks, while keeping 0.935 of the true matches.\n"
  114. ]
  115. }
  116. ],
  117. "source": [
  118. "response = 0.5\n",
  119. "\n",
  120. "n_sig_keep = ak.num(train_sig[train_sig.matching_mlp >= response], axis=0)\n",
  121. "n_bkg_rej = ak.num(train_bkg[train_bkg.matching_mlp < response], axis=0)\n",
  122. "nevents = 115e3\n",
  123. "\n",
  124. "print(\n",
  125. " f\"The cut is set to {response}, thereby rejecting {np.round(n_bkg_rej/nevents,3)} of fake tracks, while keeping {np.round(n_sig_keep/nevents,3)} of the true matches.\"\n",
  126. ")"
  127. ]
  128. },
  129. {
  130. "cell_type": "code",
  131. "execution_count": null,
  132. "metadata": {},
  133. "outputs": [],
  134. "source": []
  135. },
  136. {
  137. "cell_type": "code",
  138. "execution_count": 17,
  139. "metadata": {},
  140. "outputs": [
  141. {
  142. "data": {
  143. "image/png": "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
  144. "text/plain": [
  145. "<Figure size 1400x1500 with 6 Axes>"
  146. ]
  147. },
  148. "metadata": {},
  149. "output_type": "display_data"
  150. }
  151. ],
  152. "source": [
  153. "fig, axes = plt.subplots(3, 2, figsize=(14, 15), sharey=False)\n",
  154. "# 0,0\n",
  155. "axes[0, 0].hist(\n",
  156. " train_sig.chi2,\n",
  157. " bins=50,\n",
  158. " alpha=0.5,\n",
  159. " density=True,\n",
  160. " log=False,\n",
  161. " color=\"#107E7D\",\n",
  162. " label=\"training sample, true pairs\",\n",
  163. ")\n",
  164. "axes[0, 0].hist(\n",
  165. " train_bkg.chi2,\n",
  166. " bins=50,\n",
  167. " alpha=0.5,\n",
  168. " density=True,\n",
  169. " log=False,\n",
  170. " color=\"#F05342\",\n",
  171. " label=\"training sample, wrong pairs\",\n",
  172. ")\n",
  173. "axes[0, 0].set_xlabel(r\"$\\chi^{2}_{\\mathrm{match}}$\")\n",
  174. "axes[0, 0].legend(prop={\"size\": 20})\n",
  175. "# 1,0\n",
  176. "axes[1, 0].hist(\n",
  177. " train_sig.distX,\n",
  178. " bins=50,\n",
  179. " range=(0, 150),\n",
  180. " alpha=0.5,\n",
  181. " density=True,\n",
  182. " log=False,\n",
  183. " color=\"#107E7D\",\n",
  184. " label=\"training sample, true pairs\",\n",
  185. ")\n",
  186. "axes[1, 0].hist(\n",
  187. " train_bkg.distX,\n",
  188. " bins=50,\n",
  189. " range=(0, 150),\n",
  190. " alpha=0.5,\n",
  191. " density=True,\n",
  192. " log=False,\n",
  193. " color=\"#F05342\",\n",
  194. " label=\"training sample, wrong pairs\",\n",
  195. ")\n",
  196. "axes[1, 0].set_xlabel(r\"$D_{x}$ [mm]\")\n",
  197. "axes[1, 0].set_ylabel(\"Number of Tracks (normalised)\",\n",
  198. " va=\"bottom\",\n",
  199. " ha=\"center\")\n",
  200. "# 0,1\n",
  201. "axes[0, 1].hist(\n",
  202. " train_sig.teta2,\n",
  203. " bins=50,\n",
  204. " range=(0.0, 0.02),\n",
  205. " alpha=0.5,\n",
  206. " density=True,\n",
  207. " log=False,\n",
  208. " color=\"#107E7D\",\n",
  209. " label=\"training sample, true pairs\",\n",
  210. ")\n",
  211. "axes[0, 1].hist(\n",
  212. " train_bkg.teta2,\n",
  213. " bins=50,\n",
  214. " range=(0.0, 0.02),\n",
  215. " alpha=0.5,\n",
  216. " density=True,\n",
  217. " log=False,\n",
  218. " color=\"#F05342\",\n",
  219. " label=\"training sample, wrong pairs\",\n",
  220. ")\n",
  221. "axes[0, 1].set_xlabel(r\"$t_{x}^{2}+t_{y}^{2}$\")\n",
  222. "# 1,1\n",
  223. "axes[1, 1].hist(\n",
  224. " train_sig.distY,\n",
  225. " bins=50,\n",
  226. " range=(0, 150),\n",
  227. " alpha=0.5,\n",
  228. " density=True,\n",
  229. " log=False,\n",
  230. " color=\"#107E7D\",\n",
  231. " label=\"training sample, true pairs\",\n",
  232. ")\n",
  233. "axes[1, 1].hist(\n",
  234. " train_bkg.distY,\n",
  235. " bins=50,\n",
  236. " range=(0, 150),\n",
  237. " alpha=0.5,\n",
  238. " density=True,\n",
  239. " log=False,\n",
  240. " color=\"#F05342\",\n",
  241. " label=\"training sample, wrong pairs\",\n",
  242. ")\n",
  243. "axes[1, 1].set_xlabel(r\"$D_{y}$ [mm]\")\n",
  244. "# 2,0\n",
  245. "axes[2, 0].hist(\n",
  246. " train_sig.dSlope,\n",
  247. " bins=50,\n",
  248. " alpha=0.5,\n",
  249. " density=True,\n",
  250. " log=False,\n",
  251. " color=\"#107E7D\",\n",
  252. " label=\"training sample, true pairs\",\n",
  253. ")\n",
  254. "axes[2, 0].hist(\n",
  255. " train_bkg.dSlope,\n",
  256. " bins=50,\n",
  257. " alpha=0.5,\n",
  258. " density=True,\n",
  259. " log=False,\n",
  260. " color=\"#F05342\",\n",
  261. " label=\"training sample, wrong pairs\",\n",
  262. ")\n",
  263. "axes[2, 0].set_xlabel(r\"$|\\Delta t_{x}^{\\mathrm{match}}|$\")\n",
  264. "# 2,1\n",
  265. "axes[2, 1].hist(\n",
  266. " train_sig.dSlopeY,\n",
  267. " bins=50,\n",
  268. " range=(0, 0.03),\n",
  269. " alpha=0.5,\n",
  270. " density=True,\n",
  271. " log=False,\n",
  272. " color=\"#107E7D\",\n",
  273. " label=\"training sample, true pairs\",\n",
  274. ")\n",
  275. "axes[2, 1].hist(\n",
  276. " train_bkg.dSlopeY,\n",
  277. " bins=50,\n",
  278. " range=(0, 0.03),\n",
  279. " alpha=0.5,\n",
  280. " density=True,\n",
  281. " log=False,\n",
  282. " color=\"#F05342\",\n",
  283. " label=\"training sample, wrong pairs\",\n",
  284. ")\n",
  285. "axes[2, 1].set_xlabel(r\"$|\\Delta t_{y}^{\\mathrm{match}}|$\")\n",
  286. "plt.savefig(\n",
  287. " \"/work/cetin/LHCb/reco_tuner/thesis/new_electron_NN_variables.pdf\",\n",
  288. " format=\"PDF\",\n",
  289. ")\n",
  290. "# plt.show()"
  291. ]
  292. },
  293. {
  294. "cell_type": "code",
  295. "execution_count": null,
  296. "metadata": {},
  297. "outputs": [],
  298. "source": [
  299. "fig, axes = plt.subplots(2, 3, figsize=(25, 13), sharey=False)\n",
  300. "# 0,0\n",
  301. "axes[0, 0].hist(\n",
  302. " train_sig.chi2,\n",
  303. " bins=50,\n",
  304. " alpha=0.5,\n",
  305. " density=True,\n",
  306. " log=False,\n",
  307. " color=\"#107E7D\",\n",
  308. " label=\"training sample, true pairs\",\n",
  309. ")\n",
  310. "axes[0, 0].hist(\n",
  311. " train_bkg.chi2,\n",
  312. " bins=50,\n",
  313. " alpha=0.5,\n",
  314. " density=True,\n",
  315. " log=False,\n",
  316. " color=\"#F05342\",\n",
  317. " label=\"training sample, wrong pairs\",\n",
  318. ")\n",
  319. "axes[0, 0].set_xlabel(r\"$\\chi^{2}_{\\mathrm{match}}$\")\n",
  320. "axes[0, 0].legend(prop={\"size\": 20})\n",
  321. "\n",
  322. "# 0,1\n",
  323. "axes[0, 1].hist(\n",
  324. " train_sig.teta2,\n",
  325. " bins=50,\n",
  326. " range=(0.0, 0.02),\n",
  327. " alpha=0.5,\n",
  328. " density=True,\n",
  329. " log=False,\n",
  330. " color=\"#107E7D\",\n",
  331. " label=\"training sample, true pairs\",\n",
  332. ")\n",
  333. "axes[0, 1].hist(\n",
  334. " train_bkg.teta2,\n",
  335. " bins=50,\n",
  336. " range=(0.0, 0.02),\n",
  337. " alpha=0.5,\n",
  338. " density=True,\n",
  339. " log=False,\n",
  340. " color=\"#F05342\",\n",
  341. " label=\"training sample, wrong pairs\",\n",
  342. ")\n",
  343. "axes[0, 1].set_xlabel(r\"$t_{x}^{2}+t_{y}^{2}$\")\n",
  344. "# 0,2\n",
  345. "axes[0, 2].hist(\n",
  346. " train_sig.distX,\n",
  347. " bins=50,\n",
  348. " range=(0, 100),\n",
  349. " alpha=0.5,\n",
  350. " density=True,\n",
  351. " log=False,\n",
  352. " color=\"#107E7D\",\n",
  353. " label=\"training sample, true pairs\",\n",
  354. ")\n",
  355. "axes[0, 2].hist(\n",
  356. " train_bkg.distX,\n",
  357. " bins=50,\n",
  358. " range=(0, 100),\n",
  359. " alpha=0.5,\n",
  360. " density=True,\n",
  361. " log=False,\n",
  362. " color=\"#F05342\",\n",
  363. " label=\"training sample, wrong pairs\",\n",
  364. ")\n",
  365. "axes[0, 2].set_xlabel(r\"$D_{x}$ [mm]\")\n",
  366. "axes[0, 0].set_ylabel(\"Number of tracks (normalised)\", va=\"bottom\", ha=\"center\")\n",
  367. "# 1,0\n",
  368. "axes[1, 0].hist(\n",
  369. " train_sig.distY,\n",
  370. " bins=50,\n",
  371. " range=(0, 100),\n",
  372. " alpha=0.5,\n",
  373. " density=True,\n",
  374. " log=False,\n",
  375. " color=\"#107E7D\",\n",
  376. " label=\"training sample, true pairs\",\n",
  377. ")\n",
  378. "axes[1, 0].hist(\n",
  379. " train_bkg.distY,\n",
  380. " bins=50,\n",
  381. " range=(0, 100),\n",
  382. " alpha=0.5,\n",
  383. " density=True,\n",
  384. " log=False,\n",
  385. " color=\"#F05342\",\n",
  386. " label=\"training sample, wrong pairs\",\n",
  387. ")\n",
  388. "axes[1, 0].set_xlabel(r\"$D_{y}$ [mm]\")\n",
  389. "# 2,0\n",
  390. "axes[1, 1].hist(\n",
  391. " train_sig.dSlope,\n",
  392. " bins=50,\n",
  393. " alpha=0.5,\n",
  394. " density=True,\n",
  395. " log=False,\n",
  396. " color=\"#107E7D\",\n",
  397. " label=\"training sample, true pairs\",\n",
  398. ")\n",
  399. "axes[1, 1].hist(\n",
  400. " train_bkg.dSlope,\n",
  401. " bins=50,\n",
  402. " alpha=0.5,\n",
  403. " density=True,\n",
  404. " log=False,\n",
  405. " color=\"#F05342\",\n",
  406. " label=\"training sample, wrong pairs\",\n",
  407. ")\n",
  408. "axes[1, 1].set_xlabel(r\"$|\\Delta t_{x}^{\\mathrm{match}}|$\")\n",
  409. "# 2,1\n",
  410. "axes[1, 2].hist(\n",
  411. " train_sig.dSlopeY,\n",
  412. " bins=50,\n",
  413. " range=(0, 0.02),\n",
  414. " alpha=0.5,\n",
  415. " density=True,\n",
  416. " log=False,\n",
  417. " color=\"#107E7D\",\n",
  418. " label=\"training sample, true pairs\",\n",
  419. ")\n",
  420. "axes[1, 2].hist(\n",
  421. " train_bkg.dSlopeY,\n",
  422. " bins=50,\n",
  423. " range=(0, 0.02),\n",
  424. " alpha=0.5,\n",
  425. " density=True,\n",
  426. " log=False,\n",
  427. " color=\"#F05342\",\n",
  428. " label=\"training sample, wrong pairs\",\n",
  429. ")\n",
  430. "axes[1, 2].set_xlabel(r\"$|\\Delta t_{y}^{\\mathrm{match}}|$\")\n",
  431. "plt.savefig(\n",
  432. " \"/work/cetin/LHCb/reco_tuner/thesis/newparams_filtered_NN_elec_variables_landscape.pdf\",\n",
  433. " format=\"PDF\",\n",
  434. ")\n",
  435. "# plt.show()"
  436. ]
  437. },
  438. {
  439. "cell_type": "code",
  440. "execution_count": null,
  441. "metadata": {},
  442. "outputs": [],
  443. "source": []
  444. },
  445. {
  446. "cell_type": "code",
  447. "execution_count": null,
  448. "metadata": {},
  449. "outputs": [],
  450. "source": []
  451. },
  452. {
  453. "cell_type": "code",
  454. "execution_count": null,
  455. "metadata": {},
  456. "outputs": [],
  457. "source": []
  458. },
  459. {
  460. "cell_type": "code",
  461. "execution_count": null,
  462. "metadata": {},
  463. "outputs": [],
  464. "source": []
  465. }
  466. ],
  467. "metadata": {
  468. "kernelspec": {
  469. "display_name": "tuner",
  470. "language": "python",
  471. "name": "python3"
  472. },
  473. "language_info": {
  474. "codemirror_mode": {
  475. "name": "ipython",
  476. "version": 3
  477. },
  478. "file_extension": ".py",
  479. "mimetype": "text/x-python",
  480. "name": "python",
  481. "nbconvert_exporter": "python",
  482. "pygments_lexer": "ipython3",
  483. "version": "3.10.12"
  484. }
  485. },
  486. "nbformat": 4,
  487. "nbformat_minor": 2
  488. }