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.

1718 lines
338 KiB

8 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 matplotlib import colormaps\n",
  13. "from mpl_toolkits import mplot3d\n",
  14. "import awkward as ak\n",
  15. "from scipy.optimize import curve_fit\n",
  16. "from scipy import stats\n",
  17. "from methods.fit_linear_regression_model import fit_linear_regression_model\n",
  18. "import sklearn\n",
  19. "import seaborn as sns\n",
  20. "import pandas as pd\n",
  21. "%matplotlib inline"
  22. ]
  23. },
  24. {
  25. "cell_type": "code",
  26. "execution_count": 2,
  27. "metadata": {},
  28. "outputs": [],
  29. "source": [
  30. "def round(n, k):\n",
  31. " # function to round number 'n' up/down to nearest 'k'\n",
  32. " # use positive k to round up\n",
  33. " # use negative k to round down\n",
  34. "\n",
  35. " return n - n % k"
  36. ]
  37. },
  38. {
  39. "cell_type": "code",
  40. "execution_count": 3,
  41. "metadata": {},
  42. "outputs": [
  43. {
  44. "name": "stdout",
  45. "output_type": "stream",
  46. "text": [
  47. "41978 8523\n",
  48. "49865\n"
  49. ]
  50. }
  51. ],
  52. "source": [
  53. "file = uproot.open(\n",
  54. " \"tracking_losses_ntuple_B_EndVeloP.root:PrDebugTrackingLosses.PrDebugTrackingTool/Tuple;1\"\n",
  55. ")\n",
  56. "\n",
  57. "# selektiere nur elektronen von B->K*ee\n",
  58. "allcolumns = file.arrays()\n",
  59. "found = allcolumns[(allcolumns.isElectron) & (~allcolumns.lost) &\n",
  60. " (allcolumns.fromB)] # B: 9056\n",
  61. "lost = allcolumns[(allcolumns.isElectron) & (allcolumns.lost) &\n",
  62. " (allcolumns.fromB)] # B: 1466\n",
  63. "\n",
  64. "electrons = allcolumns[(allcolumns.isElectron)\n",
  65. " & (allcolumns.fromB)\n",
  66. " & (allcolumns.eta <= 5.0)\n",
  67. " & (allcolumns.eta >= 1.5)\n",
  68. " & (np.abs(allcolumns.phi) < 3.142)]\n",
  69. "\n",
  70. "print(ak.num(found, axis=0), ak.num(lost, axis=0))\n",
  71. "print(ak.num(electrons, axis=0))\n",
  72. "# ak.count(found, axis=None)"
  73. ]
  74. },
  75. {
  76. "cell_type": "code",
  77. "execution_count": 4,
  78. "metadata": {},
  79. "outputs": [
  80. {
  81. "name": "stdout",
  82. "output_type": "stream",
  83. "text": [
  84. "stretch factor: 0.1943140448361755\n"
  85. ]
  86. }
  87. ],
  88. "source": [
  89. "rad_length_found = ak.to_numpy(\n",
  90. " found[(found.eta <= 5.0) & (found.eta >= 1.5) & (np.abs(found.phi) < 3.142)][\n",
  91. " \"rad_length_frac\"\n",
  92. " ]\n",
  93. ")\n",
  94. "eta_found = ak.to_numpy(\n",
  95. " found[(found.eta <= 5.0) & (found.eta >= 1.5) & (np.abs(found.phi) < 3.142)][\"eta\"]\n",
  96. ")\n",
  97. "phi_found = ak.to_numpy(\n",
  98. " found[(found.eta <= 5.0) & (found.eta >= 1.5) & (np.abs(found.phi) < 3.142)][\"phi\"]\n",
  99. ")\n",
  100. "rad_length_lost = ak.to_numpy(\n",
  101. " lost[(lost.eta <= 5.0) & (lost.eta >= 1.5) & (np.abs(lost.phi) < 3.142)][\n",
  102. " \"rad_length_frac\"\n",
  103. " ]\n",
  104. ")\n",
  105. "eta_lost = ak.to_numpy(\n",
  106. " lost[(lost.eta <= 5.0) & (lost.eta >= 1.5) & (np.abs(lost.phi) < 3.142)][\"eta\"]\n",
  107. ")\n",
  108. "phi_lost = ak.to_numpy(\n",
  109. " lost[(lost.eta <= 5.0) & (lost.eta >= 1.5) & (np.abs(lost.phi) < 3.142)][\"phi\"]\n",
  110. ")\n",
  111. "\n",
  112. "eta_a = ak.to_numpy(electrons[\"eta\"])\n",
  113. "phi_a = ak.to_numpy(electrons[\"phi\"])\n",
  114. "rad_length_frac_a = ak.to_numpy(electrons[\"rad_length_frac\"])\n",
  115. "\n",
  116. "stretch_factor = ak.num(eta_lost, axis=0) / ak.num(eta_found, axis=0)\n",
  117. "print(\"stretch factor: \", stretch_factor)"
  118. ]
  119. },
  120. {
  121. "cell_type": "code",
  122. "execution_count": 5,
  123. "metadata": {},
  124. "outputs": [
  125. {
  126. "data": {
  127. "image/png": "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
  128. "text/plain": [
  129. "<Figure size 640x480 with 1 Axes>"
  130. ]
  131. },
  132. "metadata": {},
  133. "output_type": "display_data"
  134. }
  135. ],
  136. "source": [
  137. "plt.hist(\n",
  138. " rad_length_lost,\n",
  139. " bins=100,\n",
  140. " density=True,\n",
  141. " alpha=0.5,\n",
  142. " color=\"darkorange\",\n",
  143. " histtype=\"bar\",\n",
  144. " label=\"lost\",\n",
  145. " range=[0, 1],\n",
  146. ")\n",
  147. "plt.hist(\n",
  148. " rad_length_found,\n",
  149. " bins=100,\n",
  150. " density=True,\n",
  151. " alpha=0.5,\n",
  152. " color=\"blue\",\n",
  153. " histtype=\"bar\",\n",
  154. " label=\"found\",\n",
  155. " range=[0, 1],\n",
  156. ")\n",
  157. "plt.xlim(0, 1)\n",
  158. "# plt.yscale(\"log\")\n",
  159. "plt.title(\"radiation length fraction endVelo2endUT\")\n",
  160. "plt.xlabel(f\"$x/X_0$\")\n",
  161. "plt.ylabel(\"a.u.\")\n",
  162. "\n",
  163. "plt.legend()\n",
  164. "plt.show()"
  165. ]
  166. },
  167. {
  168. "cell_type": "code",
  169. "execution_count": 6,
  170. "metadata": {},
  171. "outputs": [
  172. {
  173. "data": {
  174. "image/png": "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
  175. "text/plain": [
  176. "<Figure size 2000x800 with 3 Axes>"
  177. ]
  178. },
  179. "metadata": {},
  180. "output_type": "display_data"
  181. }
  182. ],
  183. "source": [
  184. "nbins = 100\n",
  185. "vmax = 80\n",
  186. "\n",
  187. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(20, 8))\n",
  188. "\n",
  189. "a0 = ax0.hist2d(\n",
  190. " rad_length_found,\n",
  191. " eta_found,\n",
  192. " density=False,\n",
  193. " bins=nbins,\n",
  194. " cmap=plt.cm.jet,\n",
  195. " cmin=1,\n",
  196. " vmax=vmax,\n",
  197. " range=[[0, 0.6], [2, 5]],\n",
  198. ")\n",
  199. "ax0.set_xlabel(f\"$x/X_0$\")\n",
  200. "ax0.set_ylabel(f\"$\\eta$\")\n",
  201. "ax0.set_title(f\"found $\\eta$ rad_length_frac\")\n",
  202. "\n",
  203. "a1 = ax1.hist2d(\n",
  204. " rad_length_lost,\n",
  205. " eta_lost,\n",
  206. " density=False,\n",
  207. " bins=nbins,\n",
  208. " cmap=plt.cm.jet,\n",
  209. " cmin=1,\n",
  210. " vmax=vmax * stretch_factor,\n",
  211. " range=[[0, 0.6], [2, 5]],\n",
  212. ")\n",
  213. "ax1.set_xlabel(f\"$x/X_0$\")\n",
  214. "ax1.set_ylabel(f\"$\\eta$\")\n",
  215. "ax1.set_title(f\"lost $\\eta$ rad_length_frac\")\n",
  216. "# ax1.set(xlim=(0,4000), ylim=(-1000,1000))\n",
  217. "\n",
  218. "plt.suptitle(\"radiation length fraction and eta endVelo\")\n",
  219. "plt.colorbar(a0[3], ax=ax1)\n",
  220. "\n",
  221. "plt.show()"
  222. ]
  223. },
  224. {
  225. "cell_type": "code",
  226. "execution_count": 7,
  227. "metadata": {},
  228. "outputs": [
  229. {
  230. "name": "stdout",
  231. "output_type": "stream",
  232. "text": [
  233. "Parameterisation for rad_length_frac:\n",
  234. "intercept= 0.0\n",
  235. "coef= {'1': 0.19830920321074946, 'x': -4.49175976974402e-05, 'y': 0.00039490060416272056, 'tx': 0.00015102371088508598, 'ty': -0.3004315695136339, 'qop': -15.314945266490128, 'x^2': -1.8619394568578818e-05, 'x y': -4.953907513838906e-06, 'x tx': 0.021617503882699386, 'x ty': 0.03829244150062255, 'x qop': -0.41798007270055415, 'y^2': -2.4410328131494868e-05, 'y tx': -0.03443063985633742, 'y ty': 0.024201355785359608, 'y qop': 0.069823295273139, 'tx^2': -9.507076220830514, 'tx ty': -0.3980701633198789, 'tx qop': -0.04742639222342226, 'ty^2': -5.342167619183405, 'ty qop': 0.04842038611881145, 'qop^2': 0.2070268831284635, 'x^3': 1.5823479402461545e-07, 'x^2 y': -5.806838940825474e-07, 'x^2 tx': -0.00023418353598118923, 'x^2 ty': 0.0037081774556846224, 'x^2 qop': 0.01641641113222204, 'x y^2': 6.398758958085149e-08, 'x y tx': -0.002932641224303519, 'x y ty': -0.001396824762733282, 'x y qop': -0.020888196868450136, 'x tx^2': 0.09096908124129072, 'x tx ty': -2.939755357349759, 'x tx qop': -8.73057282483271, 'x ty^2': -0.15340975596199197, 'x ty qop': 9.249941815315987, 'x qop^2': 0.030205199863621846, 'y^3': 1.6478595155078324e-07, 'y^2 tx': 0.0013152209574444013, 'y^2 ty': -0.000257931039205234, 'y^2 qop': -0.0057816482028933735, 'y tx^2': 2.685350530706497, 'y tx ty': 0.17814134491255038, 'y tx qop': 9.050929476915277, 'y ty^2': 0.10064678584510746, 'y ty qop': 4.6142369495362185, 'y qop^2': -0.00046589334175238057, 'tx^3': -0.6242025517665986, 'tx^2 ty': -0.017658603327465147, 'tx^2 qop': -0.022216794668845363, 'tx ty^2': -0.01024816705930792, 'tx ty qop': 0.024042119917448937, 'tx qop^2': 6.093129132646114e-05, 'ty^3': 0.09834545208780196, 'ty^2 qop': 0.011664187426493774, 'ty qop^2': -2.1825340747940462e-05, 'qop^3': -1.559907925017188e-06, 'x^4': -2.9483981922595603e-09, 'x^3 y': -6.13444928188045e-09, 'x^3 tx': 7.101384723817716e-06, 'x^3 ty': 7.16725431293419e-06, 'x^3 qop': 4.00953960828232e-05, 'x^2 y^2': 1.0679747086683733e-08, 'x^2 y tx': 7.616826922074438e-06, 'x^2 y ty': -3.91052449297824e-05, 'x^2 y qop': 9.93899828579223e-05, 'x^2 tx^2': -0.005400741368580057, 'x^2 tx ty': -0.009338160688408294, 'x^2 tx qop': -0.0017215190824096578, 'x^2 ty^2': 0.0007665795500993852, 'x^2 ty qop': 0.08528819041114723, 'x^2 qop^2': 8.037042310903203, 'x y^3': 8.933181749881669e-09, 'x y^2 tx': 1.766907321343325e-05, 'x y^2 ty': -2.1412010806409754e-05, 'x y^2 qop': -7.010215747540322e-05, 'x y tx^2': -0.0021778144582400415, 'x y tx ty': 0.0326584774738, 'x y tx qop': -0.1598215452174385, 'x y ty^2': 0.012945427966444779, 'x y ty qop': -0.23950569088511311, 'x y qop^2': -0.8775916738593352, 'x tx^3': 1.366672968587086, 'x tx^2 ty': 1.7459886700480327, 'x tx^2 qop': 0.4423601484422016, 'x tx ty^2': -1.0803356692637864, 'x tx ty qop': -0.0706577637682464, 'x tx qop^2': 0.006422119173581787, 'x ty^3': -2.2905272843167253, 'x ty^2 qop': -0.0063092971067729734, 'x ty qop^2': -0.001963650254414034, 'x qop^3': -1.0318719588655238e-06, 'y^4': -2.213189409516758e-09, 'y^3 tx': 7.716181404937572e-08, 'y^3 ty': 3.7462658548648164e-06, 'y^3 qop': -2.6897178570957402e-05, 'y^2 tx^2': -0.019391135282039867, 'y^2 tx ty': 0.003922857934752042, 'y^2 tx qop': 0.30048105074735626, 'y^2 ty^2': -0.0014404468920953982, 'y^2 ty qop': 0.017062949506976018, 'y^2 qop^2': -0.5172314152946776, 'y tx^3': 1.1761566789450086, 'y tx^2 ty': -1.8639649790914088, 'y tx^2 qop': -0.07088661078488609, 'y tx ty^2': -2.1282820437243197, 'y tx ty qop': -0.001276549939024397, 'y tx qop^2': -0.0019180156335069092, 'y ty^3': -0.06849699842395515, 'y ty^2 qop': -0.0351395250211265, 'y ty qop^2': -0.0005408300561230844, 'y qop^3': 4.1258598459708434e-06, 'tx^4': -0.02399482130004447, 'tx^3 ty': 0.010297903626621132, 'tx^3 qop': 0.0018304232474417028, 'tx^2 ty^2': -0.01163526658236639, 'tx^2 ty qop': -0.00029701477688915344, 'tx^2 qop^2': 2.0001744822333693e-06, 'tx ty^3': -0.014645131120788562, 'tx ty^2 qop': -2.1232731978440055e-05, 'tx ty qop^2': -3.4544969537609295e-06, 'tx qop^3': 8.78704309226661e-09, 'ty^4': -0.001422061237110601, 'ty^3 qop': -0.00017083649574085
  236. "r2 score= -0.008270330873300091\n",
  237. "RMSE = 0.10823208615961777\n",
  238. "\n"
  239. ]
  240. },
  241. {
  242. "data": {
  243. "image/png": "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
  244. "text/plain": [
  245. "<Figure size 640x480 with 2 Axes>"
  246. ]
  247. },
  248. "metadata": {},
  249. "output_type": "display_data"
  250. }
  251. ],
  252. "source": [
  253. "rad_length_frac = found[\"rad_length_frac\"]\n",
  254. "# @ z = 9400.mm or 770.mm\n",
  255. "state = 1\n",
  256. "\n",
  257. "if state == 1:\n",
  258. " slopex = found[\"ideal_state_770_tx\"]\n",
  259. " slopey = found[\"ideal_state_770_ty\"]\n",
  260. " x = found[\"ideal_state_770_x\"]\n",
  261. " y = found[\"ideal_state_770_y\"]\n",
  262. " qop = found[\"ideal_state_770_qop\"]\n",
  263. "elif state == 2:\n",
  264. " slopex = found[\"ideal_state_9410_tx\"]\n",
  265. " slopey = found[\"ideal_state_9410_ty\"]\n",
  266. " x = found[\"ideal_state_9410_x\"]\n",
  267. " y = found[\"ideal_state_9410_y\"]\n",
  268. " qop = found[\"ideal_state_9410_qop\"]\n",
  269. "\n",
  270. "data = ak.zip(\n",
  271. " {\n",
  272. " \"rad_length_frac\": rad_length_frac,\n",
  273. " \"x\": x,\n",
  274. " \"y\": y,\n",
  275. " \"tx\": slopex,\n",
  276. " \"ty\": slopey,\n",
  277. " \"qop\": qop,\n",
  278. " }\n",
  279. ")\n",
  280. "lin_reg, features, xx0_test, xx0_predicted = fit_linear_regression_model(\n",
  281. " data,\n",
  282. " \"rad_length_frac\",\n",
  283. " [\"x\", \"y\", \"tx\", \"ty\", \"qop\"],\n",
  284. " 5,\n",
  285. " include_bias=True,\n",
  286. ")\n",
  287. "\n",
  288. "nbins = 100\n",
  289. "vmax = 100\n",
  290. "\n",
  291. "a0 = plt.hist2d(\n",
  292. " xx0_test,\n",
  293. " xx0_predicted,\n",
  294. " density=False,\n",
  295. " bins=nbins,\n",
  296. " cmap=plt.cm.jet,\n",
  297. " cmin=1,\n",
  298. " vmax=vmax,\n",
  299. " range=[[0, 0.5], [0, 0.5]],\n",
  300. ")\n",
  301. "plt.plot([0, 0.5], [0, 0.5], marker=\"\", alpha=0.8)\n",
  302. "plt.xlabel(f\"True $x/X_0$\")\n",
  303. "plt.ylabel(f\"Predicted $x/X_0$\")\n",
  304. "plt.title(f\"found rad_length_frac\")\n",
  305. "\n",
  306. "plt.colorbar(a0[3])\n",
  307. "plt.show()"
  308. ]
  309. },
  310. {
  311. "cell_type": "code",
  312. "execution_count": 8,
  313. "metadata": {},
  314. "outputs": [
  315. {
  316. "data": {
  317. "image/png": "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
  318. "text/plain": [
  319. "<Figure size 1500x600 with 3 Axes>"
  320. ]
  321. },
  322. "metadata": {},
  323. "output_type": "display_data"
  324. }
  325. ],
  326. "source": [
  327. "nbins = 100\n",
  328. "vmax = 80\n",
  329. "\n",
  330. "fig, ((ax0, ax1)) = plt.subplots(nrows=1, ncols=2, figsize=(15, 6))\n",
  331. "\n",
  332. "# ax0.set_aspect(\"equal\")\n",
  333. "\n",
  334. "a0 = ax0.hist2d(\n",
  335. " xx0_test,\n",
  336. " xx0_predicted,\n",
  337. " density=False,\n",
  338. " bins=nbins,\n",
  339. " cmap=plt.cm.jet,\n",
  340. " cmin=1,\n",
  341. " vmax=vmax,\n",
  342. " range=[[0, 0.5], [0, 0.5]],\n",
  343. ")\n",
  344. "ax0.plot([0, 0.5], [0, 0.5], marker=\"\", alpha=0.8)\n",
  345. "ax0.set_box_aspect(1)\n",
  346. "ax0.set_xlabel(f\"True $x/X_0$\")\n",
  347. "ax0.set_ylabel(f\"Predicted $x/X_0$\")\n",
  348. "ax0.set_title(f\"found rad_length_frac\")\n",
  349. "plt.colorbar(a0[3], ax=ax0)\n",
  350. "\n",
  351. "ax1.hist(\n",
  352. " xx0_test,\n",
  353. " bins=100,\n",
  354. " density=True,\n",
  355. " alpha=0.5,\n",
  356. " color=\"darkorange\",\n",
  357. " histtype=\"bar\",\n",
  358. " label=\"test\",\n",
  359. " range=[0, 0.5],\n",
  360. ")\n",
  361. "ax1.hist(\n",
  362. " xx0_predicted,\n",
  363. " bins=100,\n",
  364. " density=True,\n",
  365. " alpha=0.5,\n",
  366. " color=\"blue\",\n",
  367. " histtype=\"bar\",\n",
  368. " label=\"predicted\",\n",
  369. " range=[0, 0.5],\n",
  370. ")\n",
  371. "ax1.set_xlim(0, 0.5)\n",
  372. "ax1.set_title(\"radiation length fraction endVelo\")\n",
  373. "ax1.set_xlabel(f\"$x/X_0$\")\n",
  374. "ax1.set_ylabel(\"a.u.\")\n",
  375. "ax1.set_box_aspect(1)\n",
  376. "\n",
  377. "ax1.legend()\n",
  378. "\n",
  379. "# plt.gca().set_aspect(\"equal\")\n",
  380. "plt.show()"
  381. ]
  382. },
  383. {
  384. "cell_type": "code",
  385. "execution_count": 9,
  386. "metadata": {},
  387. "outputs": [
  388. {
  389. "data": {
  390. "image/png": "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
  391. "text/plain": [
  392. "<Figure size 640x480 with 1 Axes>"
  393. ]
  394. },
  395. "metadata": {},
  396. "output_type": "display_data"
  397. }
  398. ],
  399. "source": [
  400. "plt.hist(\n",
  401. " xx0_test,\n",
  402. " bins=100,\n",
  403. " density=True,\n",
  404. " alpha=0.5,\n",
  405. " color=\"darkorange\",\n",
  406. " histtype=\"bar\",\n",
  407. " label=\"test\",\n",
  408. " range=[0, 0.5],\n",
  409. ")\n",
  410. "plt.hist(\n",
  411. " xx0_predicted,\n",
  412. " bins=100,\n",
  413. " density=True,\n",
  414. " alpha=0.5,\n",
  415. " color=\"blue\",\n",
  416. " histtype=\"bar\",\n",
  417. " label=\"predicted\",\n",
  418. " range=[0, 0.5],\n",
  419. ")\n",
  420. "plt.xlim(0, 0.5)\n",
  421. "# plt.yscale(\"log\")\n",
  422. "plt.title(\"radiation length fraction endVelo\")\n",
  423. "plt.xlabel(f\"$x/X_0$\")\n",
  424. "plt.ylabel(\"a.u.\")\n",
  425. "\n",
  426. "plt.legend()\n",
  427. "plt.show()"
  428. ]
  429. },
  430. {
  431. "cell_type": "code",
  432. "execution_count": 10,
  433. "metadata": {},
  434. "outputs": [
  435. {
  436. "name": "stdout",
  437. "output_type": "stream",
  438. "text": [
  439. "Parameterisation for rad_length_frac:\n",
  440. "intercept= 0.0\n",
  441. "coef= {'1': 0.2484410418213911, 'x': -0.0007601095488043627, 'y': 0.0010569724392146917, 'tx': 0.6185505303064777, 'ty': -0.9394058560136732, 'qop': -9.741031889614183, 'x^2': -0.00016580416280366622, 'x y': 5.149038989659081e-05, 'x tx': 0.22996768886351043, 'x ty': -0.043161009059129354, 'x qop': -0.21658279194428842, 'y^2': 3.9826067539320166e-05, 'y tx': -0.033498957247677735, 'y ty': -0.08085122767618998, 'y qop': 0.06428923004582791, 'tx^2': -83.06687438225835, 'tx ty': 28.76266798578089, 'tx qop': -0.32072666519746007, 'ty^2': 32.80290436519906, 'ty qop': 0.29785759094660047, 'qop^2': 0.7177557091128425, 'x^3': -1.037888276319177e-06, 'x^2 y': 5.744977724613286e-07, 'x^2 tx': 0.0016261562680787358, 'x^2 ty': 0.00819223051446815, 'x^2 qop': 0.014940216048602184, 'x y^2': 1.55836456652794e-06, 'x y tx': -0.009042353485603404, 'x y ty': 0.002769481233443616, 'x y qop': 0.007035099510620806, 'x tx^2': -0.623629094925692, 'x tx ty': -0.5792857627094614, 'x tx qop': 3.819052794399519, 'x ty^2': -1.214138821848195, 'x ty qop': -4.179406422119741, 'x qop^2': -0.11723833703778899, 'y^3': -2.1060731703048674e-07, 'y^2 tx': -0.005136952674035623, 'y^2 ty': 0.0002523550890177065, 'y^2 qop': 0.020199755591199943, 'y tx^2': 0.8881296792413045, 'y tx ty': 2.1057062787476855, 'y tx qop': -4.322557205912296, 'y ty^2': -0.062185778412248593, 'y ty qop': -12.744670929978815, 'y qop^2': 0.10865361350283592, 'tx^3': -0.2772083890350773, 'tx^2 ty': -0.002155259913110253, 'tx^2 qop': 0.01973183125611695, 'tx ty^2': 0.2547275714314975, 'tx ty qop': -0.01267461996128659, 'tx qop^2': -0.0002315355231400779, 'ty^3': 0.12852489701010045, 'ty^2 qop': -0.03229168715651398, 'ty qop^2': 0.0001733290594162183, 'qop^3': -1.1131786479856305e-06, 'x^4': 1.4072631948636172e-09, 'x^3 y': -4.525309382774623e-08, 'x^3 tx': -5.048150129027817e-07, 'x^3 ty': 2.845994251238215e-07, 'x^3 qop': 6.161442924141475e-05, 'x^2 y^2': -1.8614020325102842e-08, 'x^2 y tx': 9.737839179148333e-05, 'x^2 y ty': -1.3038804363763035e-05, 'x^2 y qop': -8.415032085912991e-05, 'x^2 tx^2': -0.0010152847281566686, 'x^2 tx ty': -0.0032259545758118137, 'x^2 tx qop': -0.041785493301881166, 'x^2 ty^2': 0.013227443641328787, 'x^2 ty qop': 0.0035654519670473366, 'x^2 qop^2': 1.2621531315710728, 'x y^3': 3.906278722709544e-08, 'x y^2 tx': 6.858475435222999e-05, 'x y^2 ty': -5.862278080592809e-05, 'x y^2 qop': -0.00016236412225426912, 'x y tx^2': -0.06608751351613794, 'x y tx ty': -0.04864228625905696, 'x y tx qop': 0.06901548261804959, 'x y ty^2': 0.04159526642181612, 'x y ty qop': 0.28489071089527757, 'x y qop^2': 0.2535927965752249, 'x tx^3': 0.5018159233398294, 'x tx^2 ty': 0.9699678165589771, 'x tx^2 qop': 0.4741265130417677, 'x tx ty^2': 10.315681588678894, 'x tx ty qop': -0.22617149043686857, 'x tx qop^2': 0.00898570789717606, 'x ty^3': -12.737405175272935, 'x ty^2 qop': -0.014062351992903526, 'x ty qop^2': 0.005154120346378951, 'x qop^3': -4.609067543005094e-05, 'y^4': 9.455609628616912e-09, 'y^3 tx': -2.99210479094425e-05, 'y^3 ty': -2.583154312318925e-05, 'y^3 qop': 5.980622324156491e-05, 'y^2 tx^2': -0.016833583405836638, 'y^2 tx ty': 0.02458057322196644, 'y^2 tx qop': -0.169419352054439, 'y^2 ty^2': 0.02331391517451325, 'y^2 ty qop': -0.04589466917231106, 'y^2 qop^2': -1.206224538163147, 'y tx^3': 15.19059646701743, 'y tx^2 ty': 5.490478536183617, 'y tx^2 qop': -0.25278933198832354, 'y tx ty^2': -3.577260288354769, 'y tx ty qop': 0.03161480393545275, 'y tx qop^2': 0.005952281392129449, 'y ty^3': -6.821531531863169, 'y ty^2 qop': 0.09776598757839021, 'y ty qop^2': 0.0023614626852912395, 'y qop^3': -1.973415862163393e-05, 'tx^4': -0.05310859403428924, 'tx^3 ty': 0.023505514315239354, 'tx^3 qop': 0.0021762610547612377, 'tx^2 ty^2': 0.04763359558524625, 'tx^2 ty qop': -0.0009428124122745564, 'tx^2 qop^2': 1.2893218326397415e-05, 'tx ty^3': -0.018754843662608302, 'tx ty^2 qop': 4.8170564904883127e-05, 'tx ty qop^2': 1.6878183944633644e-05, 'tx qop^3': -4.12730477319448e-08, 'ty^4': 0.013919613173737298, 'ty^3 qop': 0.00022052138073417403, 'ty^2 qop^2': 9.713683885787424e
  442. "r2 score= 0.01281806793978646\n",
  443. "RMSE = 0.2644569540509028\n",
  444. "\n"
  445. ]
  446. },
  447. {
  448. "data": {
  449. "image/png": "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
  450. "text/plain": [
  451. "<Figure size 640x480 with 2 Axes>"
  452. ]
  453. },
  454. "metadata": {},
  455. "output_type": "display_data"
  456. }
  457. ],
  458. "source": [
  459. "rad_length_frac = lost[\"rad_length_frac\"]\n",
  460. "# @ z = 9400.mm or 770.mm\n",
  461. "state = 1\n",
  462. "\n",
  463. "if state == 1:\n",
  464. " slopex = lost[\"ideal_state_770_tx\"]\n",
  465. " slopey = lost[\"ideal_state_770_ty\"]\n",
  466. " x = lost[\"ideal_state_770_x\"]\n",
  467. " y = lost[\"ideal_state_770_y\"]\n",
  468. " qop = lost[\"ideal_state_770_qop\"]\n",
  469. "elif state == 2:\n",
  470. " slopex = lost[\"ideal_state_9410_tx\"]\n",
  471. " slopey = lost[\"ideal_state_9410_ty\"]\n",
  472. " x = lost[\"ideal_state_9410_x\"]\n",
  473. " y = lost[\"ideal_state_9410_y\"]\n",
  474. " qop = lost[\"ideal_state_9410_qop\"]\n",
  475. "\n",
  476. "data = ak.zip({\n",
  477. " \"rad_length_frac\": rad_length_frac,\n",
  478. " \"x\": x,\n",
  479. " \"y\": y,\n",
  480. " \"tx\": slopex,\n",
  481. " \"ty\": slopey,\n",
  482. " \"qop\": qop,\n",
  483. "})\n",
  484. "lin_reg, features, xx0_test, xx0_predicted = fit_linear_regression_model(\n",
  485. " data,\n",
  486. " \"rad_length_frac\",\n",
  487. " [\"x\", \"y\", \"tx\", \"ty\", \"qop\"],\n",
  488. " 5,\n",
  489. " include_bias=True,\n",
  490. ")\n",
  491. "\n",
  492. "nbins = 100\n",
  493. "vmax = 50\n",
  494. "\n",
  495. "a0 = plt.hist2d(\n",
  496. " xx0_test,\n",
  497. " xx0_predicted,\n",
  498. " density=False,\n",
  499. " bins=nbins,\n",
  500. " cmap=plt.cm.jet,\n",
  501. " cmin=1,\n",
  502. " vmax=vmax * stretch_factor,\n",
  503. " range=[[-0.1, 1.0], [-0.1, 1.0]],\n",
  504. ")\n",
  505. "plt.plot([-0.1, 1.0], [-0.1, 1.0], marker=\"\", alpha=0.8)\n",
  506. "plt.xlabel(f\"True $x/X_0$\")\n",
  507. "plt.ylabel(f\"Predicted $x/X_0$\")\n",
  508. "plt.title(f\"lost rad_length_frac\")\n",
  509. "# ax1.set(xlim=(0,4000), ylim=(-1000,1000))\n",
  510. "\n",
  511. "plt.colorbar(a0[3])\n",
  512. "plt.show()"
  513. ]
  514. },
  515. {
  516. "cell_type": "code",
  517. "execution_count": null,
  518. "metadata": {},
  519. "outputs": [],
  520. "source": []
  521. },
  522. {
  523. "cell_type": "code",
  524. "execution_count": 11,
  525. "metadata": {},
  526. "outputs": [],
  527. "source": [
  528. "df = pd.DataFrame(\n",
  529. " {\n",
  530. " \"phi\": phi_a * 90.0 / np.pi,\n",
  531. " \"eta\": eta_a,\n",
  532. " \"rad_length_frac\": rad_length_frac_a,\n",
  533. " }\n",
  534. ")\n",
  535. "df = df.round({\"phi\": 0, \"eta\": 1, \"rad_length_frac\": 4})"
  536. ]
  537. },
  538. {
  539. "cell_type": "code",
  540. "execution_count": 12,
  541. "metadata": {},
  542. "outputs": [],
  543. "source": [
  544. "df_pivoted = df.pivot_table(\n",
  545. " index=\"eta\",\n",
  546. " columns=\"phi\",\n",
  547. " values=\"rad_length_frac\",\n",
  548. " margins=False,\n",
  549. " fill_value=0,\n",
  550. ")"
  551. ]
  552. },
  553. {
  554. "cell_type": "code",
  555. "execution_count": 13,
  556. "metadata": {},
  557. "outputs": [
  558. {
  559. "data": {
  560. "text/html": [
  561. "<div>\n",
  562. "<style scoped>\n",
  563. " .dataframe tbody tr th:only-of-type {\n",
  564. " vertical-align: middle;\n",
  565. " }\n",
  566. "\n",
  567. " .dataframe tbody tr th {\n",
  568. " vertical-align: top;\n",
  569. " }\n",
  570. "\n",
  571. " .dataframe thead th {\n",
  572. " text-align: right;\n",
  573. " }\n",
  574. "</style>\n",
  575. "<table border=\"1\" class=\"dataframe\">\n",
  576. " <thead>\n",
  577. " <tr style=\"text-align: right;\">\n",
  578. " <th>phi</th>\n",
  579. " <th>-90.0</th>\n",
  580. " <th>-89.0</th>\n",
  581. " <th>-88.0</th>\n",
  582. " <th>-87.0</th>\n",
  583. " <th>-86.0</th>\n",
  584. " <th>-85.0</th>\n",
  585. " <th>-84.0</th>\n",
  586. " <th>-83.0</th>\n",
  587. " <th>-82.0</th>\n",
  588. " <th>-81.0</th>\n",
  589. " <th>...</th>\n",
  590. " <th>81.0</th>\n",
  591. " <th>82.0</th>\n",
  592. " <th>83.0</th>\n",
  593. " <th>84.0</th>\n",
  594. " <th>85.0</th>\n",
  595. " <th>86.0</th>\n",
  596. " <th>87.0</th>\n",
  597. " <th>88.0</th>\n",
  598. " <th>89.0</th>\n",
  599. " <th>90.0</th>\n",
  600. " </tr>\n",
  601. " <tr>\n",
  602. " <th>eta</th>\n",
  603. " <th></th>\n",
  604. " <th></th>\n",
  605. " <th></th>\n",
  606. " <th></th>\n",
  607. " <th></th>\n",
  608. " <th></th>\n",
  609. " <th></th>\n",
  610. " <th></th>\n",
  611. " <th></th>\n",
  612. " <th></th>\n",
  613. " <th></th>\n",
  614. " <th></th>\n",
  615. " <th></th>\n",
  616. " <th></th>\n",
  617. " <th></th>\n",
  618. " <th></th>\n",
  619. " <th></th>\n",
  620. " <th></th>\n",
  621. " <th></th>\n",
  622. " <th></th>\n",
  623. " <th></th>\n",
  624. " </tr>\n",
  625. " </thead>\n",
  626. " <tbody>\n",
  627. " <tr>\n",
  628. " <th>1.5</th>\n",
  629. " <td>0.000000</td>\n",
  630. " <td>0.000000</td>\n",
  631. " <td>0.000000</td>\n",
  632. " <td>0.000000</td>\n",
  633. " <td>0.000000</td>\n",
  634. " <td>0.000000</td>\n",
  635. " <td>0.000000</td>\n",
  636. " <td>0.000000</td>\n",
  637. " <td>0.000000</td>\n",
  638. " <td>0.000000</td>\n",
  639. " <td>...</td>\n",
  640. " <td>0.000000</td>\n",
  641. " <td>0.000000</td>\n",
  642. " <td>0.000000</td>\n",
  643. " <td>0.000000</td>\n",
  644. " <td>0.000000</td>\n",
  645. " <td>0.000000</td>\n",
  646. " <td>0.000000</td>\n",
  647. " <td>0.000000</td>\n",
  648. " <td>0.000000</td>\n",
  649. " <td>0.000000</td>\n",
  650. " </tr>\n",
  651. " <tr>\n",
  652. " <th>1.6</th>\n",
  653. " <td>0.000000</td>\n",
  654. " <td>0.745900</td>\n",
  655. " <td>0.000000</td>\n",
  656. " <td>0.746800</td>\n",
  657. " <td>0.000000</td>\n",
  658. " <td>0.000000</td>\n",
  659. " <td>0.000000</td>\n",
  660. " <td>0.000000</td>\n",
  661. " <td>0.000000</td>\n",
  662. " <td>0.000000</td>\n",
  663. " <td>...</td>\n",
  664. " <td>0.000000</td>\n",
  665. " <td>0.000000</td>\n",
  666. " <td>0.000000</td>\n",
  667. " <td>0.000000</td>\n",
  668. " <td>0.000000</td>\n",
  669. " <td>0.000000</td>\n",
  670. " <td>0.000000</td>\n",
  671. " <td>0.000000</td>\n",
  672. " <td>0.000000</td>\n",
  673. " <td>0.000000</td>\n",
  674. " </tr>\n",
  675. " <tr>\n",
  676. " <th>1.7</th>\n",
  677. " <td>0.000000</td>\n",
  678. " <td>1.178400</td>\n",
  679. " <td>0.295200</td>\n",
  680. " <td>0.743500</td>\n",
  681. " <td>0.379000</td>\n",
  682. " <td>0.614800</td>\n",
  683. " <td>1.693300</td>\n",
  684. " <td>0.000000</td>\n",
  685. " <td>0.930075</td>\n",
  686. " <td>0.111500</td>\n",
  687. " <td>...</td>\n",
  688. " <td>0.381300</td>\n",
  689. " <td>0.000000</td>\n",
  690. " <td>0.000000</td>\n",
  691. " <td>0.380250</td>\n",
  692. " <td>1.114300</td>\n",
  693. " <td>0.730200</td>\n",
  694. " <td>0.420600</td>\n",
  695. " <td>0.000000</td>\n",
  696. " <td>0.377950</td>\n",
  697. " <td>0.000000</td>\n",
  698. " </tr>\n",
  699. " <tr>\n",
  700. " <th>1.8</th>\n",
  701. " <td>0.381100</td>\n",
  702. " <td>0.386050</td>\n",
  703. " <td>0.243450</td>\n",
  704. " <td>0.168900</td>\n",
  705. " <td>0.000000</td>\n",
  706. " <td>0.229833</td>\n",
  707. " <td>0.229900</td>\n",
  708. " <td>0.390667</td>\n",
  709. " <td>0.165900</td>\n",
  710. " <td>0.327267</td>\n",
  711. " <td>...</td>\n",
  712. " <td>0.223500</td>\n",
  713. " <td>0.236243</td>\n",
  714. " <td>0.883980</td>\n",
  715. " <td>0.270350</td>\n",
  716. " <td>1.366700</td>\n",
  717. " <td>0.160850</td>\n",
  718. " <td>0.000000</td>\n",
  719. " <td>0.272100</td>\n",
  720. " <td>0.234500</td>\n",
  721. " <td>0.124500</td>\n",
  722. " </tr>\n",
  723. " <tr>\n",
  724. " <th>1.9</th>\n",
  725. " <td>0.153000</td>\n",
  726. " <td>0.000000</td>\n",
  727. " <td>0.142200</td>\n",
  728. " <td>0.239467</td>\n",
  729. " <td>0.295500</td>\n",
  730. " <td>0.150900</td>\n",
  731. " <td>0.273500</td>\n",
  732. " <td>0.161000</td>\n",
  733. " <td>0.867600</td>\n",
  734. " <td>0.000000</td>\n",
  735. " <td>...</td>\n",
  736. " <td>0.220200</td>\n",
  737. " <td>0.171267</td>\n",
  738. " <td>0.163900</td>\n",
  739. " <td>0.151325</td>\n",
  740. " <td>0.154617</td>\n",
  741. " <td>0.251200</td>\n",
  742. " <td>0.139100</td>\n",
  743. " <td>0.191800</td>\n",
  744. " <td>0.224867</td>\n",
  745. " <td>0.144000</td>\n",
  746. " </tr>\n",
  747. " <tr>\n",
  748. " <th>2.0</th>\n",
  749. " <td>0.151000</td>\n",
  750. " <td>0.137790</td>\n",
  751. " <td>0.139500</td>\n",
  752. " <td>0.141687</td>\n",
  753. " <td>0.162550</td>\n",
  754. " <td>0.160067</td>\n",
  755. " <td>0.161450</td>\n",
  756. " <td>0.149060</td>\n",
  757. " <td>0.169400</td>\n",
  758. " <td>0.176289</td>\n",
  759. " <td>...</td>\n",
  760. " <td>0.172440</td>\n",
  761. " <td>0.176475</td>\n",
  762. " <td>0.153450</td>\n",
  763. " <td>0.152857</td>\n",
  764. " <td>0.178971</td>\n",
  765. " <td>0.154686</td>\n",
  766. " <td>0.141500</td>\n",
  767. " <td>0.140043</td>\n",
  768. " <td>0.141740</td>\n",
  769. " <td>0.134250</td>\n",
  770. " </tr>\n",
  771. " <tr>\n",
  772. " <th>2.1</th>\n",
  773. " <td>0.132200</td>\n",
  774. " <td>0.137630</td>\n",
  775. " <td>0.147300</td>\n",
  776. " <td>0.136700</td>\n",
  777. " <td>0.139863</td>\n",
  778. " <td>0.165500</td>\n",
  779. " <td>0.150780</td>\n",
  780. " <td>0.149290</td>\n",
  781. " <td>0.152229</td>\n",
  782. " <td>0.168450</td>\n",
  783. " <td>...</td>\n",
  784. " <td>0.165614</td>\n",
  785. " <td>0.155900</td>\n",
  786. " <td>0.150020</td>\n",
  787. " <td>0.148483</td>\n",
  788. " <td>0.160091</td>\n",
  789. " <td>0.141550</td>\n",
  790. " <td>0.143433</td>\n",
  791. " <td>0.137018</td>\n",
  792. " <td>0.137937</td>\n",
  793. " <td>0.137000</td>\n",
  794. " </tr>\n",
  795. " <tr>\n",
  796. " <th>2.2</th>\n",
  797. " <td>0.138267</td>\n",
  798. " <td>0.136160</td>\n",
  799. " <td>0.137342</td>\n",
  800. " <td>0.136750</td>\n",
  801. " <td>0.138395</td>\n",
  802. " <td>0.161375</td>\n",
  803. " <td>0.155864</td>\n",
  804. " <td>0.150350</td>\n",
  805. " <td>0.148888</td>\n",
  806. " <td>0.153114</td>\n",
  807. " <td>...</td>\n",
  808. " <td>0.155750</td>\n",
  809. " <td>0.149120</td>\n",
  810. " <td>0.148875</td>\n",
  811. " <td>0.158500</td>\n",
  812. " <td>0.159117</td>\n",
  813. " <td>0.139737</td>\n",
  814. " <td>0.136467</td>\n",
  815. " <td>0.136900</td>\n",
  816. " <td>0.136238</td>\n",
  817. " <td>0.146150</td>\n",
  818. " </tr>\n",
  819. " <tr>\n",
  820. " <th>2.3</th>\n",
  821. " <td>0.140120</td>\n",
  822. " <td>0.135150</td>\n",
  823. " <td>0.136392</td>\n",
  824. " <td>0.136000</td>\n",
  825. " <td>0.135283</td>\n",
  826. " <td>0.138733</td>\n",
  827. " <td>0.162330</td>\n",
  828. " <td>0.156182</td>\n",
  829. " <td>0.147925</td>\n",
  830. " <td>0.145092</td>\n",
  831. " <td>...</td>\n",
  832. " <td>0.159367</td>\n",
  833. " <td>0.148900</td>\n",
  834. " <td>0.155467</td>\n",
  835. " <td>0.160300</td>\n",
  836. " <td>0.145629</td>\n",
  837. " <td>0.145200</td>\n",
  838. " <td>0.139894</td>\n",
  839. " <td>0.141271</td>\n",
  840. " <td>0.138073</td>\n",
  841. " <td>0.141620</td>\n",
  842. " </tr>\n",
  843. " <tr>\n",
  844. " <th>2.4</th>\n",
  845. " <td>0.146343</td>\n",
  846. " <td>0.137150</td>\n",
  847. " <td>0.140820</td>\n",
  848. " <td>0.137143</td>\n",
  849. " <td>0.134425</td>\n",
  850. " <td>0.138600</td>\n",
  851. " <td>0.153840</td>\n",
  852. " <td>0.162650</td>\n",
  853. " <td>0.154400</td>\n",
  854. " <td>0.144275</td>\n",
  855. " <td>...</td>\n",
  856. " <td>0.143763</td>\n",
  857. " <td>0.151444</td>\n",
  858. " <td>0.157156</td>\n",
  859. " <td>0.153878</td>\n",
  860. " <td>0.138533</td>\n",
  861. " <td>0.138200</td>\n",
  862. " <td>0.138525</td>\n",
  863. " <td>0.136667</td>\n",
  864. " <td>0.135871</td>\n",
  865. " <td>0.139700</td>\n",
  866. " </tr>\n",
  867. " <tr>\n",
  868. " <th>2.5</th>\n",
  869. " <td>0.138550</td>\n",
  870. " <td>0.137725</td>\n",
  871. " <td>0.135490</td>\n",
  872. " <td>0.134900</td>\n",
  873. " <td>0.136400</td>\n",
  874. " <td>0.137218</td>\n",
  875. " <td>0.139250</td>\n",
  876. " <td>0.156625</td>\n",
  877. " <td>0.159414</td>\n",
  878. " <td>0.147300</td>\n",
  879. " <td>...</td>\n",
  880. " <td>0.149229</td>\n",
  881. " <td>0.158000</td>\n",
  882. " <td>0.151414</td>\n",
  883. " <td>0.143550</td>\n",
  884. " <td>0.135358</td>\n",
  885. " <td>0.136343</td>\n",
  886. " <td>0.134927</td>\n",
  887. " <td>0.134337</td>\n",
  888. " <td>0.136756</td>\n",
  889. " <td>0.136367</td>\n",
  890. " </tr>\n",
  891. " <tr>\n",
  892. " <th>2.6</th>\n",
  893. " <td>0.137725</td>\n",
  894. " <td>0.134624</td>\n",
  895. " <td>0.135183</td>\n",
  896. " <td>0.134150</td>\n",
  897. " <td>0.135617</td>\n",
  898. " <td>0.134246</td>\n",
  899. " <td>0.135311</td>\n",
  900. " <td>0.144350</td>\n",
  901. " <td>0.158150</td>\n",
  902. " <td>0.156129</td>\n",
  903. " <td>...</td>\n",
  904. " <td>0.157864</td>\n",
  905. " <td>0.157836</td>\n",
  906. " <td>0.145880</td>\n",
  907. " <td>0.135780</td>\n",
  908. " <td>0.134319</td>\n",
  909. " <td>0.134755</td>\n",
  910. " <td>0.134533</td>\n",
  911. " <td>0.135633</td>\n",
  912. " <td>0.135900</td>\n",
  913. " <td>0.134450</td>\n",
  914. " </tr>\n",
  915. " <tr>\n",
  916. " <th>2.7</th>\n",
  917. " <td>0.135840</td>\n",
  918. " <td>0.135129</td>\n",
  919. " <td>0.132957</td>\n",
  920. " <td>0.132900</td>\n",
  921. " <td>0.133153</td>\n",
  922. " <td>0.132860</td>\n",
  923. " <td>0.135122</td>\n",
  924. " <td>0.136907</td>\n",
  925. " <td>0.148817</td>\n",
  926. " <td>0.159080</td>\n",
  927. " <td>...</td>\n",
  928. " <td>0.161543</td>\n",
  929. " <td>0.151389</td>\n",
  930. " <td>0.139600</td>\n",
  931. " <td>0.134067</td>\n",
  932. " <td>0.132920</td>\n",
  933. " <td>0.133156</td>\n",
  934. " <td>0.133244</td>\n",
  935. " <td>0.133837</td>\n",
  936. " <td>0.132917</td>\n",
  937. " <td>0.134400</td>\n",
  938. " </tr>\n",
  939. " <tr>\n",
  940. " <th>2.8</th>\n",
  941. " <td>0.146100</td>\n",
  942. " <td>0.139309</td>\n",
  943. " <td>0.138750</td>\n",
  944. " <td>0.138678</td>\n",
  945. " <td>0.136657</td>\n",
  946. " <td>0.135780</td>\n",
  947. " <td>0.135900</td>\n",
  948. " <td>0.133218</td>\n",
  949. " <td>0.140078</td>\n",
  950. " <td>0.150836</td>\n",
  951. " <td>...</td>\n",
  952. " <td>0.153625</td>\n",
  953. " <td>0.144011</td>\n",
  954. " <td>0.136418</td>\n",
  955. " <td>0.137729</td>\n",
  956. " <td>0.137500</td>\n",
  957. " <td>0.138112</td>\n",
  958. " <td>0.141614</td>\n",
  959. " <td>0.137290</td>\n",
  960. " <td>0.140292</td>\n",
  961. " <td>0.144650</td>\n",
  962. " </tr>\n",
  963. " <tr>\n",
  964. " <th>2.9</th>\n",
  965. " <td>0.138650</td>\n",
  966. " <td>0.137057</td>\n",
  967. " <td>0.140111</td>\n",
  968. " <td>0.136422</td>\n",
  969. " <td>0.135869</td>\n",
  970. " <td>0.136715</td>\n",
  971. " <td>0.138400</td>\n",
  972. " <td>0.133900</td>\n",
  973. " <td>0.140856</td>\n",
  974. " <td>0.138470</td>\n",
  975. " <td>...</td>\n",
  976. " <td>0.142667</td>\n",
  977. " <td>0.134730</td>\n",
  978. " <td>0.136569</td>\n",
  979. " <td>0.137010</td>\n",
  980. " <td>0.136192</td>\n",
  981. " <td>0.137589</td>\n",
  982. " <td>0.139643</td>\n",
  983. " <td>0.138133</td>\n",
  984. " <td>0.135671</td>\n",
  985. " <td>0.143737</td>\n",
  986. " </tr>\n",
  987. " <tr>\n",
  988. " <th>3.0</th>\n",
  989. " <td>0.140580</td>\n",
  990. " <td>0.132220</td>\n",
  991. " <td>0.132673</td>\n",
  992. " <td>0.132340</td>\n",
  993. " <td>0.132370</td>\n",
  994. " <td>0.132330</td>\n",
  995. " <td>0.132350</td>\n",
  996. " <td>0.132364</td>\n",
  997. " <td>0.132364</td>\n",
  998. " <td>0.132875</td>\n",
  999. " <td>...</td>\n",
  1000. " <td>0.132560</td>\n",
  1001. " <td>0.132367</td>\n",
  1002. " <td>0.132367</td>\n",
  1003. " <td>0.132330</td>\n",
  1004. " <td>0.132321</td>\n",
  1005. " <td>0.132323</td>\n",
  1006. " <td>0.132336</td>\n",
  1007. " <td>0.132500</td>\n",
  1008. " <td>0.132250</td>\n",
  1009. " <td>0.131733</td>\n",
  1010. " </tr>\n",
  1011. " <tr>\n",
  1012. " <th>3.1</th>\n",
  1013. " <td>0.140850</td>\n",
  1014. " <td>0.133550</td>\n",
  1015. " <td>0.132243</td>\n",
  1016. " <td>0.133160</td>\n",
  1017. " <td>0.132200</td>\n",
  1018. " <td>0.135089</td>\n",
  1019. " <td>0.133630</td>\n",
  1020. " <td>0.135355</td>\n",
  1021. " <td>0.136069</td>\n",
  1022. " <td>0.135850</td>\n",
  1023. " <td>...</td>\n",
  1024. " <td>0.134755</td>\n",
  1025. " <td>0.134214</td>\n",
  1026. " <td>0.135983</td>\n",
  1027. " <td>0.134942</td>\n",
  1028. " <td>0.132553</td>\n",
  1029. " <td>0.132840</td>\n",
  1030. " <td>0.133667</td>\n",
  1031. " <td>0.132217</td>\n",
  1032. " <td>0.132188</td>\n",
  1033. " <td>0.140175</td>\n",
  1034. " </tr>\n",
  1035. " <tr>\n",
  1036. " <th>3.2</th>\n",
  1037. " <td>0.141883</td>\n",
  1038. " <td>0.138843</td>\n",
  1039. " <td>0.137400</td>\n",
  1040. " <td>0.138456</td>\n",
  1041. " <td>0.135829</td>\n",
  1042. " <td>0.134738</td>\n",
  1043. " <td>0.133143</td>\n",
  1044. " <td>0.132936</td>\n",
  1045. " <td>0.133822</td>\n",
  1046. " <td>0.134731</td>\n",
  1047. " <td>...</td>\n",
  1048. " <td>0.136450</td>\n",
  1049. " <td>0.139473</td>\n",
  1050. " <td>0.134975</td>\n",
  1051. " <td>0.135812</td>\n",
  1052. " <td>0.136360</td>\n",
  1053. " <td>0.135514</td>\n",
  1054. " <td>0.136362</td>\n",
  1055. " <td>0.137678</td>\n",
  1056. " <td>0.142022</td>\n",
  1057. " <td>0.136033</td>\n",
  1058. " </tr>\n",
  1059. " <tr>\n",
  1060. " <th>3.3</th>\n",
  1061. " <td>0.139400</td>\n",
  1062. " <td>0.136378</td>\n",
  1063. " <td>0.137167</td>\n",
  1064. " <td>0.134940</td>\n",
  1065. " <td>0.132460</td>\n",
  1066. " <td>0.136362</td>\n",
  1067. " <td>0.133274</td>\n",
  1068. " <td>0.132863</td>\n",
  1069. " <td>0.136533</td>\n",
  1070. " <td>0.130312</td>\n",
  1071. " <td>...</td>\n",
  1072. " <td>0.131400</td>\n",
  1073. " <td>0.131879</td>\n",
  1074. " <td>0.130691</td>\n",
  1075. " <td>0.131740</td>\n",
  1076. " <td>0.132938</td>\n",
  1077. " <td>0.134318</td>\n",
  1078. " <td>0.136760</td>\n",
  1079. " <td>0.138513</td>\n",
  1080. " <td>0.140400</td>\n",
  1081. " <td>0.146788</td>\n",
  1082. " </tr>\n",
  1083. " <tr>\n",
  1084. " <th>3.4</th>\n",
  1085. " <td>0.141000</td>\n",
  1086. " <td>0.130790</td>\n",
  1087. " <td>0.129220</td>\n",
  1088. " <td>0.129329</td>\n",
  1089. " <td>0.130916</td>\n",
  1090. " <td>0.129267</td>\n",
  1091. " <td>0.128655</td>\n",
  1092. " <td>0.132400</td>\n",
  1093. " <td>0.128681</td>\n",
  1094. " <td>0.128758</td>\n",
  1095. " <td>...</td>\n",
  1096. " <td>0.131280</td>\n",
  1097. " <td>0.128478</td>\n",
  1098. " <td>0.128667</td>\n",
  1099. " <td>0.128831</td>\n",
  1100. " <td>0.133727</td>\n",
  1101. " <td>0.133914</td>\n",
  1102. " <td>0.130500</td>\n",
  1103. " <td>0.128700</td>\n",
  1104. " <td>0.128457</td>\n",
  1105. " <td>0.136000</td>\n",
  1106. " </tr>\n",
  1107. " <tr>\n",
  1108. " <th>3.5</th>\n",
  1109. " <td>0.133933</td>\n",
  1110. " <td>0.140282</td>\n",
  1111. " <td>0.135745</td>\n",
  1112. " <td>0.147691</td>\n",
  1113. " <td>0.127075</td>\n",
  1114. " <td>0.134500</td>\n",
  1115. " <td>0.130312</td>\n",
  1116. " <td>0.146278</td>\n",
  1117. " <td>0.128320</td>\n",
  1118. " <td>0.142617</td>\n",
  1119. " <td>...</td>\n",
  1120. " <td>0.135367</td>\n",
  1121. " <td>0.147464</td>\n",
  1122. " <td>0.135347</td>\n",
  1123. " <td>0.135480</td>\n",
  1124. " <td>0.131614</td>\n",
  1125. " <td>0.128662</td>\n",
  1126. " <td>0.140411</td>\n",
  1127. " <td>0.134522</td>\n",
  1128. " <td>0.137387</td>\n",
  1129. " <td>0.137213</td>\n",
  1130. " </tr>\n",
  1131. " <tr>\n",
  1132. " <th>3.6</th>\n",
  1133. " <td>0.157160</td>\n",
  1134. " <td>0.150125</td>\n",
  1135. " <td>0.190522</td>\n",
  1136. " <td>0.163414</td>\n",
  1137. " <td>0.153340</td>\n",
  1138. " <td>0.182489</td>\n",
  1139. " <td>0.146633</td>\n",
  1140. " <td>0.174283</td>\n",
  1141. " <td>0.164600</td>\n",
  1142. " <td>0.156060</td>\n",
  1143. " <td>...</td>\n",
  1144. " <td>0.167818</td>\n",
  1145. " <td>0.175760</td>\n",
  1146. " <td>0.172300</td>\n",
  1147. " <td>0.170070</td>\n",
  1148. " <td>0.172709</td>\n",
  1149. " <td>0.160782</td>\n",
  1150. " <td>0.165338</td>\n",
  1151. " <td>0.150207</td>\n",
  1152. " <td>0.169028</td>\n",
  1153. " <td>0.172525</td>\n",
  1154. " </tr>\n",
  1155. " <tr>\n",
  1156. " <th>3.7</th>\n",
  1157. " <td>0.212600</td>\n",
  1158. " <td>0.203550</td>\n",
  1159. " <td>0.182613</td>\n",
  1160. " <td>0.217033</td>\n",
  1161. " <td>0.196530</td>\n",
  1162. " <td>0.192733</td>\n",
  1163. " <td>0.196800</td>\n",
  1164. " <td>0.196678</td>\n",
  1165. " <td>0.194400</td>\n",
  1166. " <td>0.193862</td>\n",
  1167. " <td>...</td>\n",
  1168. " <td>0.207025</td>\n",
  1169. " <td>0.213778</td>\n",
  1170. " <td>0.199458</td>\n",
  1171. " <td>0.195767</td>\n",
  1172. " <td>0.202582</td>\n",
  1173. " <td>0.193050</td>\n",
  1174. " <td>0.203717</td>\n",
  1175. " <td>0.188890</td>\n",
  1176. " <td>0.187186</td>\n",
  1177. " <td>0.219900</td>\n",
  1178. " </tr>\n",
  1179. " <tr>\n",
  1180. " <th>3.8</th>\n",
  1181. " <td>0.258014</td>\n",
  1182. " <td>0.226800</td>\n",
  1183. " <td>0.214507</td>\n",
  1184. " <td>0.220812</td>\n",
  1185. " <td>0.212843</td>\n",
  1186. " <td>0.213190</td>\n",
  1187. " <td>0.214863</td>\n",
  1188. " <td>0.214723</td>\n",
  1189. " <td>0.225433</td>\n",
  1190. " <td>0.221414</td>\n",
  1191. " <td>...</td>\n",
  1192. " <td>0.258750</td>\n",
  1193. " <td>0.219029</td>\n",
  1194. " <td>0.216213</td>\n",
  1195. " <td>0.218565</td>\n",
  1196. " <td>0.214589</td>\n",
  1197. " <td>0.215342</td>\n",
  1198. " <td>0.212015</td>\n",
  1199. " <td>0.208669</td>\n",
  1200. " <td>0.218762</td>\n",
  1201. " <td>0.209350</td>\n",
  1202. " </tr>\n",
  1203. " <tr>\n",
  1204. " <th>3.9</th>\n",
  1205. " <td>0.312460</td>\n",
  1206. " <td>0.259640</td>\n",
  1207. " <td>0.229650</td>\n",
  1208. " <td>0.263078</td>\n",
  1209. " <td>0.252018</td>\n",
  1210. " <td>0.237225</td>\n",
  1211. " <td>0.237745</td>\n",
  1212. " <td>0.297200</td>\n",
  1213. " <td>0.298883</td>\n",
  1214. " <td>0.219567</td>\n",
  1215. " <td>...</td>\n",
  1216. " <td>0.281725</td>\n",
  1217. " <td>0.263557</td>\n",
  1218. " <td>0.288811</td>\n",
  1219. " <td>0.296427</td>\n",
  1220. " <td>0.269145</td>\n",
  1221. " <td>0.287975</td>\n",
  1222. " <td>0.327073</td>\n",
  1223. " <td>0.329788</td>\n",
  1224. " <td>0.274791</td>\n",
  1225. " <td>0.319000</td>\n",
  1226. " </tr>\n",
  1227. " <tr>\n",
  1228. " <th>4.0</th>\n",
  1229. " <td>0.261700</td>\n",
  1230. " <td>0.265618</td>\n",
  1231. " <td>0.158400</td>\n",
  1232. " <td>0.276025</td>\n",
  1233. " <td>0.353650</td>\n",
  1234. " <td>0.274587</td>\n",
  1235. " <td>0.289418</td>\n",
  1236. " <td>0.250657</td>\n",
  1237. " <td>0.247240</td>\n",
  1238. " <td>0.233933</td>\n",
  1239. " <td>...</td>\n",
  1240. " <td>0.230525</td>\n",
  1241. " <td>0.312200</td>\n",
  1242. " <td>0.261683</td>\n",
  1243. " <td>0.321733</td>\n",
  1244. " <td>0.295550</td>\n",
  1245. " <td>0.319608</td>\n",
  1246. " <td>0.270450</td>\n",
  1247. " <td>0.303856</td>\n",
  1248. " <td>0.355400</td>\n",
  1249. " <td>0.277650</td>\n",
  1250. " </tr>\n",
  1251. " <tr>\n",
  1252. " <th>4.1</th>\n",
  1253. " <td>0.141975</td>\n",
  1254. " <td>0.146789</td>\n",
  1255. " <td>0.188287</td>\n",
  1256. " <td>0.179920</td>\n",
  1257. " <td>0.178042</td>\n",
  1258. " <td>0.198750</td>\n",
  1259. " <td>0.169862</td>\n",
  1260. " <td>0.183632</td>\n",
  1261. " <td>0.133243</td>\n",
  1262. " <td>0.188200</td>\n",
  1263. " <td>...</td>\n",
  1264. " <td>0.259920</td>\n",
  1265. " <td>0.189321</td>\n",
  1266. " <td>0.252600</td>\n",
  1267. " <td>0.117550</td>\n",
  1268. " <td>0.130433</td>\n",
  1269. " <td>0.203973</td>\n",
  1270. " <td>0.167662</td>\n",
  1271. " <td>0.189260</td>\n",
  1272. " <td>0.194700</td>\n",
  1273. " <td>0.145700</td>\n",
  1274. " </tr>\n",
  1275. " <tr>\n",
  1276. " <th>4.2</th>\n",
  1277. " <td>0.208650</td>\n",
  1278. " <td>0.172833</td>\n",
  1279. " <td>0.240123</td>\n",
  1280. " <td>0.270567</td>\n",
  1281. " <td>0.174783</td>\n",
  1282. " <td>0.187754</td>\n",
  1283. " <td>0.257860</td>\n",
  1284. " <td>0.179833</td>\n",
  1285. " <td>0.161525</td>\n",
  1286. " <td>0.129600</td>\n",
  1287. " <td>...</td>\n",
  1288. " <td>0.233350</td>\n",
  1289. " <td>0.357600</td>\n",
  1290. " <td>0.230143</td>\n",
  1291. " <td>0.198875</td>\n",
  1292. " <td>0.153750</td>\n",
  1293. " <td>0.207388</td>\n",
  1294. " <td>0.251690</td>\n",
  1295. " <td>0.198325</td>\n",
  1296. " <td>0.178300</td>\n",
  1297. " <td>0.300800</td>\n",
  1298. " </tr>\n",
  1299. " <tr>\n",
  1300. " <th>4.3</th>\n",
  1301. " <td>0.488733</td>\n",
  1302. " <td>0.894550</td>\n",
  1303. " <td>0.438914</td>\n",
  1304. " <td>0.666500</td>\n",
  1305. " <td>0.436417</td>\n",
  1306. " <td>0.223957</td>\n",
  1307. " <td>0.315433</td>\n",
  1308. " <td>0.287644</td>\n",
  1309. " <td>0.346513</td>\n",
  1310. " <td>0.350088</td>\n",
  1311. " <td>...</td>\n",
  1312. " <td>0.347413</td>\n",
  1313. " <td>0.602767</td>\n",
  1314. " <td>0.622100</td>\n",
  1315. " <td>0.784133</td>\n",
  1316. " <td>0.214943</td>\n",
  1317. " <td>0.308667</td>\n",
  1318. " <td>0.246850</td>\n",
  1319. " <td>0.686620</td>\n",
  1320. " <td>0.189040</td>\n",
  1321. " <td>0.310000</td>\n",
  1322. " </tr>\n",
  1323. " <tr>\n",
  1324. " <th>4.4</th>\n",
  1325. " <td>0.104350</td>\n",
  1326. " <td>0.507614</td>\n",
  1327. " <td>1.530550</td>\n",
  1328. " <td>0.909633</td>\n",
  1329. " <td>0.000000</td>\n",
  1330. " <td>0.779233</td>\n",
  1331. " <td>0.098667</td>\n",
  1332. " <td>1.691500</td>\n",
  1333. " <td>0.099500</td>\n",
  1334. " <td>0.609345</td>\n",
  1335. " <td>...</td>\n",
  1336. " <td>0.267200</td>\n",
  1337. " <td>0.247160</td>\n",
  1338. " <td>0.756825</td>\n",
  1339. " <td>0.685763</td>\n",
  1340. " <td>0.519725</td>\n",
  1341. " <td>0.519360</td>\n",
  1342. " <td>1.221350</td>\n",
  1343. " <td>0.127637</td>\n",
  1344. " <td>0.169967</td>\n",
  1345. " <td>0.296950</td>\n",
  1346. " </tr>\n",
  1347. " <tr>\n",
  1348. " <th>4.5</th>\n",
  1349. " <td>0.000000</td>\n",
  1350. " <td>0.104690</td>\n",
  1351. " <td>0.118533</td>\n",
  1352. " <td>0.121583</td>\n",
  1353. " <td>0.092800</td>\n",
  1354. " <td>0.092717</td>\n",
  1355. " <td>0.100013</td>\n",
  1356. " <td>0.100217</td>\n",
  1357. " <td>0.103375</td>\n",
  1358. " <td>0.108060</td>\n",
  1359. " <td>...</td>\n",
  1360. " <td>0.098950</td>\n",
  1361. " <td>0.097314</td>\n",
  1362. " <td>0.099140</td>\n",
  1363. " <td>0.104000</td>\n",
  1364. " <td>0.114250</td>\n",
  1365. " <td>0.098533</td>\n",
  1366. " <td>0.089100</td>\n",
  1367. " <td>0.176213</td>\n",
  1368. " <td>0.116700</td>\n",
  1369. " <td>0.106100</td>\n",
  1370. " </tr>\n",
  1371. " <tr>\n",
  1372. " <th>4.6</th>\n",
  1373. " <td>0.104450</td>\n",
  1374. " <td>0.103500</td>\n",
  1375. " <td>0.095200</td>\n",
  1376. " <td>0.096600</td>\n",
  1377. " <td>0.100317</td>\n",
  1378. " <td>0.097909</td>\n",
  1379. " <td>0.099567</td>\n",
  1380. " <td>0.095550</td>\n",
  1381. " <td>0.101467</td>\n",
  1382. " <td>0.096550</td>\n",
  1383. " <td>...</td>\n",
  1384. " <td>0.000000</td>\n",
  1385. " <td>0.101150</td>\n",
  1386. " <td>0.103700</td>\n",
  1387. " <td>0.102917</td>\n",
  1388. " <td>0.089000</td>\n",
  1389. " <td>0.102150</td>\n",
  1390. " <td>0.109400</td>\n",
  1391. " <td>0.100788</td>\n",
  1392. " <td>0.102500</td>\n",
  1393. " <td>0.000000</td>\n",
  1394. " </tr>\n",
  1395. " <tr>\n",
  1396. " <th>4.7</th>\n",
  1397. " <td>0.094300</td>\n",
  1398. " <td>0.101400</td>\n",
  1399. " <td>0.099475</td>\n",
  1400. " <td>0.098700</td>\n",
  1401. " <td>0.095050</td>\n",
  1402. " <td>0.095020</td>\n",
  1403. " <td>0.095925</td>\n",
  1404. " <td>0.099850</td>\n",
  1405. " <td>0.000000</td>\n",
  1406. " <td>0.098260</td>\n",
  1407. " <td>...</td>\n",
  1408. " <td>0.000000</td>\n",
  1409. " <td>0.096500</td>\n",
  1410. " <td>0.096100</td>\n",
  1411. " <td>0.090350</td>\n",
  1412. " <td>0.096900</td>\n",
  1413. " <td>0.087700</td>\n",
  1414. " <td>0.097950</td>\n",
  1415. " <td>0.089450</td>\n",
  1416. " <td>0.097233</td>\n",
  1417. " <td>0.094300</td>\n",
  1418. " </tr>\n",
  1419. " <tr>\n",
  1420. " <th>4.8</th>\n",
  1421. " <td>0.000000</td>\n",
  1422. " <td>0.094333</td>\n",
  1423. " <td>0.097750</td>\n",
  1424. " <td>0.099525</td>\n",
  1425. " <td>0.094929</td>\n",
  1426. " <td>0.089000</td>\n",
  1427. " <td>0.092600</td>\n",
  1428. " <td>0.095250</td>\n",
  1429. " <td>0.095100</td>\n",
  1430. " <td>0.094150</td>\n",
  1431. " <td>...</td>\n",
  1432. " <td>0.091200</td>\n",
  1433. " <td>0.090000</td>\n",
  1434. " <td>0.100500</td>\n",
  1435. " <td>0.095100</td>\n",
  1436. " <td>0.098800</td>\n",
  1437. " <td>0.097100</td>\n",
  1438. " <td>0.096000</td>\n",
  1439. " <td>0.094133</td>\n",
  1440. " <td>0.094067</td>\n",
  1441. " <td>0.000000</td>\n",
  1442. " </tr>\n",
  1443. " <tr>\n",
  1444. " <th>4.9</th>\n",
  1445. " <td>0.092200</td>\n",
  1446. " <td>0.092300</td>\n",
  1447. " <td>0.091700</td>\n",
  1448. " <td>0.088420</td>\n",
  1449. " <td>0.092600</td>\n",
  1450. " <td>0.089000</td>\n",
  1451. " <td>0.085100</td>\n",
  1452. " <td>0.090667</td>\n",
  1453. " <td>0.090650</td>\n",
  1454. " <td>0.000000</td>\n",
  1455. " <td>...</td>\n",
  1456. " <td>0.000000</td>\n",
  1457. " <td>0.082850</td>\n",
  1458. " <td>0.000000</td>\n",
  1459. " <td>0.089667</td>\n",
  1460. " <td>0.093100</td>\n",
  1461. " <td>0.000000</td>\n",
  1462. " <td>0.092000</td>\n",
  1463. " <td>0.087850</td>\n",
  1464. " <td>0.091650</td>\n",
  1465. " <td>0.000000</td>\n",
  1466. " </tr>\n",
  1467. " <tr>\n",
  1468. " <th>5.0</th>\n",
  1469. " <td>0.000000</td>\n",
  1470. " <td>0.141100</td>\n",
  1471. " <td>0.076200</td>\n",
  1472. " <td>0.119100</td>\n",
  1473. " <td>0.000000</td>\n",
  1474. " <td>0.178500</td>\n",
  1475. " <td>0.090000</td>\n",
  1476. " <td>0.098400</td>\n",
  1477. " <td>0.000000</td>\n",
  1478. " <td>0.000000</td>\n",
  1479. " <td>...</td>\n",
  1480. " <td>0.301800</td>\n",
  1481. " <td>0.104250</td>\n",
  1482. " <td>0.103567</td>\n",
  1483. " <td>0.085500</td>\n",
  1484. " <td>0.000000</td>\n",
  1485. " <td>0.000000</td>\n",
  1486. " <td>0.000000</td>\n",
  1487. " <td>0.081600</td>\n",
  1488. " <td>0.081500</td>\n",
  1489. " <td>0.000000</td>\n",
  1490. " </tr>\n",
  1491. " </tbody>\n",
  1492. "</table>\n",
  1493. "<p>36 rows × 181 columns</p>\n",
  1494. "</div>"
  1495. ],
  1496. "text/plain": [
  1497. "phi -90.0 -89.0 -88.0 -87.0 -86.0 -85.0 -84.0 \\\n",
  1498. "eta \n",
  1499. "1.5 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
  1500. "1.6 0.000000 0.745900 0.000000 0.746800 0.000000 0.000000 0.000000 \n",
  1501. "1.7 0.000000 1.178400 0.295200 0.743500 0.379000 0.614800 1.693300 \n",
  1502. "1.8 0.381100 0.386050 0.243450 0.168900 0.000000 0.229833 0.229900 \n",
  1503. "1.9 0.153000 0.000000 0.142200 0.239467 0.295500 0.150900 0.273500 \n",
  1504. "2.0 0.151000 0.137790 0.139500 0.141687 0.162550 0.160067 0.161450 \n",
  1505. "2.1 0.132200 0.137630 0.147300 0.136700 0.139863 0.165500 0.150780 \n",
  1506. "2.2 0.138267 0.136160 0.137342 0.136750 0.138395 0.161375 0.155864 \n",
  1507. "2.3 0.140120 0.135150 0.136392 0.136000 0.135283 0.138733 0.162330 \n",
  1508. "2.4 0.146343 0.137150 0.140820 0.137143 0.134425 0.138600 0.153840 \n",
  1509. "2.5 0.138550 0.137725 0.135490 0.134900 0.136400 0.137218 0.139250 \n",
  1510. "2.6 0.137725 0.134624 0.135183 0.134150 0.135617 0.134246 0.135311 \n",
  1511. "2.7 0.135840 0.135129 0.132957 0.132900 0.133153 0.132860 0.135122 \n",
  1512. "2.8 0.146100 0.139309 0.138750 0.138678 0.136657 0.135780 0.135900 \n",
  1513. "2.9 0.138650 0.137057 0.140111 0.136422 0.135869 0.136715 0.138400 \n",
  1514. "3.0 0.140580 0.132220 0.132673 0.132340 0.132370 0.132330 0.132350 \n",
  1515. "3.1 0.140850 0.133550 0.132243 0.133160 0.132200 0.135089 0.133630 \n",
  1516. "3.2 0.141883 0.138843 0.137400 0.138456 0.135829 0.134738 0.133143 \n",
  1517. "3.3 0.139400 0.136378 0.137167 0.134940 0.132460 0.136362 0.133274 \n",
  1518. "3.4 0.141000 0.130790 0.129220 0.129329 0.130916 0.129267 0.128655 \n",
  1519. "3.5 0.133933 0.140282 0.135745 0.147691 0.127075 0.134500 0.130312 \n",
  1520. "3.6 0.157160 0.150125 0.190522 0.163414 0.153340 0.182489 0.146633 \n",
  1521. "3.7 0.212600 0.203550 0.182613 0.217033 0.196530 0.192733 0.196800 \n",
  1522. "3.8 0.258014 0.226800 0.214507 0.220812 0.212843 0.213190 0.214863 \n",
  1523. "3.9 0.312460 0.259640 0.229650 0.263078 0.252018 0.237225 0.237745 \n",
  1524. "4.0 0.261700 0.265618 0.158400 0.276025 0.353650 0.274587 0.289418 \n",
  1525. "4.1 0.141975 0.146789 0.188287 0.179920 0.178042 0.198750 0.169862 \n",
  1526. "4.2 0.208650 0.172833 0.240123 0.270567 0.174783 0.187754 0.257860 \n",
  1527. "4.3 0.488733 0.894550 0.438914 0.666500 0.436417 0.223957 0.315433 \n",
  1528. "4.4 0.104350 0.507614 1.530550 0.909633 0.000000 0.779233 0.098667 \n",
  1529. "4.5 0.000000 0.104690 0.118533 0.121583 0.092800 0.092717 0.100013 \n",
  1530. "4.6 0.104450 0.103500 0.095200 0.096600 0.100317 0.097909 0.099567 \n",
  1531. "4.7 0.094300 0.101400 0.099475 0.098700 0.095050 0.095020 0.095925 \n",
  1532. "4.8 0.000000 0.094333 0.097750 0.099525 0.094929 0.089000 0.092600 \n",
  1533. "4.9 0.092200 0.092300 0.091700 0.088420 0.092600 0.089000 0.085100 \n",
  1534. "5.0 0.000000 0.141100 0.076200 0.119100 0.000000 0.178500 0.090000 \n",
  1535. "\n",
  1536. "phi -83.0 -82.0 -81.0 ... 81.0 82.0 83.0 \\\n",
  1537. "eta ... \n",
  1538. "1.5 0.000000 0.000000 0.000000 ... 0.000000 0.000000 0.000000 \n",
  1539. "1.6 0.000000 0.000000 0.000000 ... 0.000000 0.000000 0.000000 \n",
  1540. "1.7 0.000000 0.930075 0.111500 ... 0.381300 0.000000 0.000000 \n",
  1541. "1.8 0.390667 0.165900 0.327267 ... 0.223500 0.236243 0.883980 \n",
  1542. "1.9 0.161000 0.867600 0.000000 ... 0.220200 0.171267 0.163900 \n",
  1543. "2.0 0.149060 0.169400 0.176289 ... 0.172440 0.176475 0.153450 \n",
  1544. "2.1 0.149290 0.152229 0.168450 ... 0.165614 0.155900 0.150020 \n",
  1545. "2.2 0.150350 0.148888 0.153114 ... 0.155750 0.149120 0.148875 \n",
  1546. "2.3 0.156182 0.147925 0.145092 ... 0.159367 0.148900 0.155467 \n",
  1547. "2.4 0.162650 0.154400 0.144275 ... 0.143763 0.151444 0.157156 \n",
  1548. "2.5 0.156625 0.159414 0.147300 ... 0.149229 0.158000 0.151414 \n",
  1549. "2.6 0.144350 0.158150 0.156129 ... 0.157864 0.157836 0.145880 \n",
  1550. "2.7 0.136907 0.148817 0.159080 ... 0.161543 0.151389 0.139600 \n",
  1551. "2.8 0.133218 0.140078 0.150836 ... 0.153625 0.144011 0.136418 \n",
  1552. "2.9 0.133900 0.140856 0.138470 ... 0.142667 0.134730 0.136569 \n",
  1553. "3.0 0.132364 0.132364 0.132875 ... 0.132560 0.132367 0.132367 \n",
  1554. "3.1 0.135355 0.136069 0.135850 ... 0.134755 0.134214 0.135983 \n",
  1555. "3.2 0.132936 0.133822 0.134731 ... 0.136450 0.139473 0.134975 \n",
  1556. "3.3 0.132863 0.136533 0.130312 ... 0.131400 0.131879 0.130691 \n",
  1557. "3.4 0.132400 0.128681 0.128758 ... 0.131280 0.128478 0.128667 \n",
  1558. "3.5 0.146278 0.128320 0.142617 ... 0.135367 0.147464 0.135347 \n",
  1559. "3.6 0.174283 0.164600 0.156060 ... 0.167818 0.175760 0.172300 \n",
  1560. "3.7 0.196678 0.194400 0.193862 ... 0.207025 0.213778 0.199458 \n",
  1561. "3.8 0.214723 0.225433 0.221414 ... 0.258750 0.219029 0.216213 \n",
  1562. "3.9 0.297200 0.298883 0.219567 ... 0.281725 0.263557 0.288811 \n",
  1563. "4.0 0.250657 0.247240 0.233933 ... 0.230525 0.312200 0.261683 \n",
  1564. "4.1 0.183632 0.133243 0.188200 ... 0.259920 0.189321 0.252600 \n",
  1565. "4.2 0.179833 0.161525 0.129600 ... 0.233350 0.357600 0.230143 \n",
  1566. "4.3 0.287644 0.346513 0.350088 ... 0.347413 0.602767 0.622100 \n",
  1567. "4.4 1.691500 0.099500 0.609345 ... 0.267200 0.247160 0.756825 \n",
  1568. "4.5 0.100217 0.103375 0.108060 ... 0.098950 0.097314 0.099140 \n",
  1569. "4.6 0.095550 0.101467 0.096550 ... 0.000000 0.101150 0.103700 \n",
  1570. "4.7 0.099850 0.000000 0.098260 ... 0.000000 0.096500 0.096100 \n",
  1571. "4.8 0.095250 0.095100 0.094150 ... 0.091200 0.090000 0.100500 \n",
  1572. "4.9 0.090667 0.090650 0.000000 ... 0.000000 0.082850 0.000000 \n",
  1573. "5.0 0.098400 0.000000 0.000000 ... 0.301800 0.104250 0.103567 \n",
  1574. "\n",
  1575. "phi 84.0 85.0 86.0 87.0 88.0 89.0 90.0 \n",
  1576. "eta \n",
  1577. "1.5 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
  1578. "1.6 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
  1579. "1.7 0.380250 1.114300 0.730200 0.420600 0.000000 0.377950 0.000000 \n",
  1580. "1.8 0.270350 1.366700 0.160850 0.000000 0.272100 0.234500 0.124500 \n",
  1581. "1.9 0.151325 0.154617 0.251200 0.139100 0.191800 0.224867 0.144000 \n",
  1582. "2.0 0.152857 0.178971 0.154686 0.141500 0.140043 0.141740 0.134250 \n",
  1583. "2.1 0.148483 0.160091 0.141550 0.143433 0.137018 0.137937 0.137000 \n",
  1584. "2.2 0.158500 0.159117 0.139737 0.136467 0.136900 0.136238 0.146150 \n",
  1585. "2.3 0.160300 0.145629 0.145200 0.139894 0.141271 0.138073 0.141620 \n",
  1586. "2.4 0.153878 0.138533 0.138200 0.138525 0.136667 0.135871 0.139700 \n",
  1587. "2.5 0.143550 0.135358 0.136343 0.134927 0.134337 0.136756 0.136367 \n",
  1588. "2.6 0.135780 0.134319 0.134755 0.134533 0.135633 0.135900 0.134450 \n",
  1589. "2.7 0.134067 0.132920 0.133156 0.133244 0.133837 0.132917 0.134400 \n",
  1590. "2.8 0.137729 0.137500 0.138112 0.141614 0.137290 0.140292 0.144650 \n",
  1591. "2.9 0.137010 0.136192 0.137589 0.139643 0.138133 0.135671 0.143737 \n",
  1592. "3.0 0.132330 0.132321 0.132323 0.132336 0.132500 0.132250 0.131733 \n",
  1593. "3.1 0.134942 0.132553 0.132840 0.133667 0.132217 0.132188 0.140175 \n",
  1594. "3.2 0.135812 0.136360 0.135514 0.136362 0.137678 0.142022 0.136033 \n",
  1595. "3.3 0.131740 0.132938 0.134318 0.136760 0.138513 0.140400 0.146788 \n",
  1596. "3.4 0.128831 0.133727 0.133914 0.130500 0.128700 0.128457 0.136000 \n",
  1597. "3.5 0.135480 0.131614 0.128662 0.140411 0.134522 0.137387 0.137213 \n",
  1598. "3.6 0.170070 0.172709 0.160782 0.165338 0.150207 0.169028 0.172525 \n",
  1599. "3.7 0.195767 0.202582 0.193050 0.203717 0.188890 0.187186 0.219900 \n",
  1600. "3.8 0.218565 0.214589 0.215342 0.212015 0.208669 0.218762 0.209350 \n",
  1601. "3.9 0.296427 0.269145 0.287975 0.327073 0.329788 0.274791 0.319000 \n",
  1602. "4.0 0.321733 0.295550 0.319608 0.270450 0.303856 0.355400 0.277650 \n",
  1603. "4.1 0.117550 0.130433 0.203973 0.167662 0.189260 0.194700 0.145700 \n",
  1604. "4.2 0.198875 0.153750 0.207388 0.251690 0.198325 0.178300 0.300800 \n",
  1605. "4.3 0.784133 0.214943 0.308667 0.246850 0.686620 0.189040 0.310000 \n",
  1606. "4.4 0.685763 0.519725 0.519360 1.221350 0.127637 0.169967 0.296950 \n",
  1607. "4.5 0.104000 0.114250 0.098533 0.089100 0.176213 0.116700 0.106100 \n",
  1608. "4.6 0.102917 0.089000 0.102150 0.109400 0.100788 0.102500 0.000000 \n",
  1609. "4.7 0.090350 0.096900 0.087700 0.097950 0.089450 0.097233 0.094300 \n",
  1610. "4.8 0.095100 0.098800 0.097100 0.096000 0.094133 0.094067 0.000000 \n",
  1611. "4.9 0.089667 0.093100 0.000000 0.092000 0.087850 0.091650 0.000000 \n",
  1612. "5.0 0.085500 0.000000 0.000000 0.000000 0.081600 0.081500 0.000000 \n",
  1613. "\n",
  1614. "[36 rows x 181 columns]"
  1615. ]
  1616. },
  1617. "execution_count": 13,
  1618. "metadata": {},
  1619. "output_type": "execute_result"
  1620. }
  1621. ],
  1622. "source": [
  1623. "df_pivoted"
  1624. ]
  1625. },
  1626. {
  1627. "cell_type": "code",
  1628. "execution_count": 14,
  1629. "metadata": {},
  1630. "outputs": [
  1631. {
  1632. "data": {
  1633. "image/png": "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
  1634. "text/plain": [
  1635. "<Figure size 640x480 with 2 Axes>"
  1636. ]
  1637. },
  1638. "metadata": {},
  1639. "output_type": "display_data"
  1640. }
  1641. ],
  1642. "source": [
  1643. "ax = sns.heatmap(\n",
  1644. " df_pivoted,\n",
  1645. " robust=True,\n",
  1646. " square=False,\n",
  1647. " cmap=colormaps[\"rainbow\"],\n",
  1648. " xticklabels=False,\n",
  1649. " yticklabels=False,\n",
  1650. " vmax=0.7,\n",
  1651. ")\n",
  1652. "ax.set_yticks([5, 15, 25, 35], [2, 3, 4, 5])\n",
  1653. "ax.set_xticks([39, 89, 139],\n",
  1654. " [-100, 0, 100]) # ([79, 179, 279], [-100, 0, 100])\n",
  1655. "ax.set_xlabel(f\"$\\phi$ [deg]\")\n",
  1656. "ax.set_ylabel(f\"$\\eta$\")\n",
  1657. "\n",
  1658. "# ax.set_yticklabels([])\n",
  1659. "ax.invert_yaxis()\n",
  1660. "ax.set_title(\"LHCb EndVelo to EndUT $x/X_0$\")\n",
  1661. "plt.show()"
  1662. ]
  1663. },
  1664. {
  1665. "cell_type": "code",
  1666. "execution_count": null,
  1667. "metadata": {},
  1668. "outputs": [],
  1669. "source": []
  1670. },
  1671. {
  1672. "cell_type": "code",
  1673. "execution_count": null,
  1674. "metadata": {},
  1675. "outputs": [],
  1676. "source": [
  1677. "# make these smaller to increase the resolution\n",
  1678. "dy, dx = 0.1, 1.0\n",
  1679. "\n",
  1680. "# generate 2 2d grids for the x & y bounds\n",
  1681. "y, x = np.mgrid[slice(1.5, 5 + dy, dy), slice(-180, 180 + dx, dx)]\n",
  1682. "\n",
  1683. "plt.pcolormesh(x, y, df_pivoted, cmap=colormaps[\"jet\"], vmax=0.7)\n",
  1684. "\n",
  1685. "plt.colorbar()\n",
  1686. "plt.show()"
  1687. ]
  1688. },
  1689. {
  1690. "cell_type": "code",
  1691. "execution_count": null,
  1692. "metadata": {},
  1693. "outputs": [],
  1694. "source": []
  1695. }
  1696. ],
  1697. "metadata": {
  1698. "kernelspec": {
  1699. "display_name": "tuner",
  1700. "language": "python",
  1701. "name": "python3"
  1702. },
  1703. "language_info": {
  1704. "codemirror_mode": {
  1705. "name": "ipython",
  1706. "version": 3
  1707. },
  1708. "file_extension": ".py",
  1709. "mimetype": "text/x-python",
  1710. "name": "python",
  1711. "nbconvert_exporter": "python",
  1712. "pygments_lexer": "ipython3",
  1713. "version": "3.10.12"
  1714. }
  1715. },
  1716. "nbformat": 4,
  1717. "nbformat_minor": 2
  1718. }