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.

434 lines
12 KiB

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