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.

234 lines
65 KiB

10 months ago
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "code",
  5. "execution_count": 2,
  6. "metadata": {},
  7. "outputs": [],
  8. "source": [
  9. "import uproot\n",
  10. "import awkward as ak\n",
  11. "input_tree_8 = uproot.open({\"/work/guenther/reco_tuner/data/param_data_MU_selected_8520.root\": \"Selected\"})\n",
  12. "input_tree_9 = uproot.open({\"/work/guenther/reco_tuner/data/param_data_MU_selected.root\": \"Selected\"})\n",
  13. " # this is an event list of dictionaries containing awkward arrays\n",
  14. "a8 = input_tree_8.arrays()\n",
  15. "a9 = input_tree_9.arrays()\n",
  16. "a8[\"dSlope_fringe\"] = a8[\"BX\"] - a8[\"tx\"]\n",
  17. "a8[\"z_mag_x_fringe\"] = (a8[\"x\"] - a8[\"AX\"] - a8[\"tx\"] * a8[\"z\"] + a8[\"BX\"] * a8[\"z_ref\"] ) / a8[\"dSlope_fringe\"]\n",
  18. "a9[\"dSlope_fringe\"] = a9[\"BX\"] - a9[\"tx\"]\n",
  19. "a9[\"z_mag_x_fringe\"] = (a9[\"x\"] - a9[\"AX\"] - a9[\"tx\"] * a9[\"z\"] + a9[\"BX\"] * a9[\"z_ref\"] ) / a9[\"dSlope_fringe\"]"
  20. ]
  21. },
  22. {
  23. "cell_type": "code",
  24. "execution_count": 10,
  25. "metadata": {},
  26. "outputs": [
  27. {
  28. "data": {
  29. "text/plain": [
  30. "(array([5.0000e+00, 2.0000e+00, 1.1000e+01, 4.0000e+00, 1.0000e+01,\n",
  31. " 3.7000e+01, 4.8000e+01, 1.3100e+02, 2.9600e+02, 5.0700e+02,\n",
  32. " 7.9300e+02, 1.2100e+03, 1.6270e+03, 2.5630e+03, 4.3020e+03,\n",
  33. " 1.0385e+04, 7.2311e+04, 2.1642e+04, 9.7010e+03, 5.5550e+03,\n",
  34. " 3.6920e+03, 2.4630e+03, 1.6310e+03, 1.1600e+03, 8.0800e+02,\n",
  35. " 5.2300e+02, 3.9000e+02, 2.4400e+02, 1.6900e+02, 1.3100e+02,\n",
  36. " 1.0500e+02, 5.9000e+01, 3.4000e+01, 2.3000e+01, 1.2000e+01,\n",
  37. " 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00,\n",
  38. " 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00,\n",
  39. " 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00]),\n",
  40. " array([5000., 5020., 5040., 5060., 5080., 5100., 5120., 5140., 5160.,\n",
  41. " 5180., 5200., 5220., 5240., 5260., 5280., 5300., 5320., 5340.,\n",
  42. " 5360., 5380., 5400., 5420., 5440., 5460., 5480., 5500., 5520.,\n",
  43. " 5540., 5560., 5580., 5600., 5620., 5640., 5660., 5680., 5700.,\n",
  44. " 5720., 5740., 5760., 5780., 5800., 5820., 5840., 5860., 5880.,\n",
  45. " 5900., 5920., 5940., 5960., 5980., 6000.]),\n",
  46. " <BarContainer object of 50 artists>)"
  47. ]
  48. },
  49. "execution_count": 10,
  50. "metadata": {},
  51. "output_type": "execute_result"
  52. },
  53. {
  54. "data": {
  55. "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAGdCAYAAAAbudkLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAy9UlEQVR4nO3df1RU54H/8c8UZIIs3CIExqkkdVuWlWDSlOSLaLaaqmCOSLPZU01JpvHUolkSWRqo1nbPiduzhUSNplm+sermxPwwS/8wZrM1EvCstWEBteRwKkYTs7IBIyM2joO6dKB4v3/keL8ZMPzyJ0/er3PmnHDvZ+Y+9zkk88nDnTsu27ZtAQAAGOhL13sAAAAAVwtFBwAAGIuiAwAAjEXRAQAAxqLoAAAAY1F0AACAsSg6AADAWBQdAABgrMjrPYDr6cKFCzpx4oRiY2Plcrmu93AAAMAw2Lats2fPyuv16ktfGnzN5gtddE6cOKGUlJTrPQwAADAK7e3tmjRp0qCZL3TRiY2NlfTpRMXFxV3n0QAAgOHo6upSSkqK8z4+mC900bn456q4uDiKDgAAY8xwLjvhYmQAAGAsig4AADAWRQcAABiLogMAAIxF0QEAAMai6AAAAGNRdAAAgLEoOgAAwFgUHQAAYCyKDgAAMBZFBwAAGIuiAwAAjEXRAQAAxqLoAAAAY0Ve7wEA+Bx7KobO3Lvq6o8DAMYwVnQAAICxKDoAAMBYFB0AAGAsig4AADAWRQcAABiLogMAAIw1oqLz1a9+VS6Xa8DjsccekyTZtq3Vq1fL6/UqOjpas2bN0qFDh8JeIxQKafny5UpMTFRMTIzy8/N1/PjxsEwgEJDP55NlWbIsSz6fT2fOnAnLtLW1acGCBYqJiVFiYqKKi4vV09MziikAAACmGlHROXDggDo6OpxHbW2tJOm73/2uJGnNmjVav369KisrdeDAAXk8Hs2dO1dnz551XqOkpEQ7duxQVVWV6urqdO7cOeXl5amvr8/JFBQUqLm5WdXV1aqurlZzc7N8Pp+zv6+vT/Pnz9f58+dVV1enqqoqbd++XaWlpZc1GQAAwCwu27bt0T65pKREv/nNb3T06FFJktfrVUlJiVauXCnp09Wb5ORkPf3001q2bJmCwaBuvvlmvfLKK1q0aJEk6cSJE0pJSdFbb72l3NxcHT58WOnp6WpsbFRWVpYkqbGxUdnZ2Tpy5IjS0tK0a9cu5eXlqb29XV6vV5JUVVWlxYsXq7OzU3FxccMaf1dXlyzLUjAYHPZzgGuGGwYCwCWN5P171Nfo9PT06NVXX9UPfvADuVwutba2yu/3Kycnx8m43W7NnDlT9fX1kqSmpib19vaGZbxerzIyMpxMQ0ODLMtySo4kTZs2TZZlhWUyMjKckiNJubm5CoVCampqGu0pAQAAw4z6KyDeeOMNnTlzRosXL5Yk+f1+SVJycnJYLjk5WR999JGTiYqKUnx8/IDMxef7/X4lJSUNOF5SUlJYpv9x4uPjFRUV5WQuJRQKKRQKOT93dXUN51QBAMAYNeoVnRdeeEH33Xdf2KqKJLlcrrCfbdsesK2//plL5UeT6a+iosK5wNmyLKWkpAw6LgAAMLaNquh89NFH2r17t374wx862zwejyQNWFHp7Ox0Vl88Ho96enoUCAQGzZw8eXLAMU+dOhWW6X+cQCCg3t7eASs9n7Vq1SoFg0Hn0d7ePtxTBgAAY9Cois6LL76opKQkzZ8/39k2efJkeTwe55NY0qfX8ezdu1fTp0+XJGVmZmrcuHFhmY6ODrW0tDiZ7OxsBYNB7d+/38ns27dPwWAwLNPS0qKOjg4nU1NTI7fbrczMzM8dt9vtVlxcXNgDAACYa8TX6Fy4cEEvvviiHnnkEUVG/v+nu1wulZSUqLy8XKmpqUpNTVV5ebnGjx+vgoICSZJlWVqyZIlKS0uVkJCgCRMmqKysTFOnTtWcOXMkSVOmTNG8efNUWFioTZs2SZKWLl2qvLw8paWlSZJycnKUnp4un8+ntWvX6vTp0yorK1NhYSHlBQAAOEZcdHbv3q22tjb94Ac/GLBvxYoV6u7uVlFRkQKBgLKyslRTU6PY2Fgns2HDBkVGRmrhwoXq7u7W7NmztXXrVkVERDiZbdu2qbi42Pl0Vn5+viorK539ERER2rlzp4qKijRjxgxFR0eroKBA69atG+npAAAAg13WfXTGOu6jgxsa99EBgEu6JvfRAQAAuNFRdAAAgLEoOgAAwFgUHQAAYCyKDgAAMBZFBwAAGIuiAwAAjEXRAQAAxqLoAAAAY1F0AACAsSg6AADAWBQdAABgLIoOAAAwFkUHAAAYi6IDAACMRdEBAADGougAAABjUXQAAICxKDoAAMBYFB0AAGAsig4AADAWRQcAABiLogMAAIxF0QEAAMai6AAAAGNRdAAAgLEoOgAAwFgUHQAAYCyKDgAAMBZFBwAAGIuiAwAAjEXRAQAAxqLoAAAAY1F0AACAsSg6AADAWBQdAABgLIoOAAAwFkUHAAAYa8RF5+OPP9bDDz+shIQEjR8/Xt/4xjfU1NTk7LdtW6tXr5bX61V0dLRmzZqlQ4cOhb1GKBTS8uXLlZiYqJiYGOXn5+v48eNhmUAgIJ/PJ8uyZFmWfD6fzpw5E5Zpa2vTggULFBMTo8TERBUXF6unp2ekpwQAAAw1oqITCAQ0Y8YMjRs3Trt27dJ7772nZ555Rl/+8pedzJo1a7R+/XpVVlbqwIED8ng8mjt3rs6ePetkSkpKtGPHDlVVVamurk7nzp1TXl6e+vr6nExBQYGam5tVXV2t6upqNTc3y+fzOfv7+vo0f/58nT9/XnV1daqqqtL27dtVWlp6GdMBAABM4rJt2x5u+Cc/+Yn+67/+S++8884l99u2La/Xq5KSEq1cuVLSp6s3ycnJevrpp7Vs2TIFg0HdfPPNeuWVV7Ro0SJJ0okTJ5SSkqK33npLubm5Onz4sNLT09XY2KisrCxJUmNjo7Kzs3XkyBGlpaVp165dysvLU3t7u7xerySpqqpKixcvVmdnp+Li4oY8n66uLlmWpWAwOKw8cE3tqRg6c++qqz8OALjBjOT9e0QrOm+++abuuusuffe731VSUpLuvPNObdmyxdnf2toqv9+vnJwcZ5vb7dbMmTNVX18vSWpqalJvb29Yxuv1KiMjw8k0NDTIsiyn5EjStGnTZFlWWCYjI8MpOZKUm5urUCgU9qe0zwqFQurq6gp7AAAAc42o6Bw7dkwbN25Uamqq3n77bT366KMqLi7Wyy+/LEny+/2SpOTk5LDnJScnO/v8fr+ioqIUHx8/aCYpKWnA8ZOSksIy/Y8THx+vqKgoJ9NfRUWFc82PZVlKSUkZyekDAIAxZkRF58KFC/rmN7+p8vJy3XnnnVq2bJkKCwu1cePGsJzL5Qr72bbtAdv665+5VH40mc9atWqVgsGg82hvbx90TAAAYGwbUdGZOHGi0tPTw7ZNmTJFbW1tkiSPxyNJA1ZUOjs7ndUXj8ejnp4eBQKBQTMnT54ccPxTp06FZfofJxAIqLe3d8BKz0Vut1txcXFhDwAAYK4RFZ0ZM2bo/fffD9v2wQcf6NZbb5UkTZ48WR6PR7W1tc7+np4e7d27V9OnT5ckZWZmaty4cWGZjo4OtbS0OJns7GwFg0Ht37/fyezbt0/BYDAs09LSoo6ODidTU1Mjt9utzMzMkZwWAAAwVORIwj/60Y80ffp0lZeXa+HChdq/f782b96szZs3S/r0T0klJSUqLy9XamqqUlNTVV5ervHjx6ugoECSZFmWlixZotLSUiUkJGjChAkqKyvT1KlTNWfOHEmfrhLNmzdPhYWF2rRpkyRp6dKlysvLU1pamiQpJydH6enp8vl8Wrt2rU6fPq2ysjIVFhayUgMAACSNsOjcfffd2rFjh1atWqWf//znmjx5sp599lk99NBDTmbFihXq7u5WUVGRAoGAsrKyVFNTo9jYWCezYcMGRUZGauHCheru7tbs2bO1detWRUREOJlt27apuLjY+XRWfn6+Kisrnf0RERHauXOnioqKNGPGDEVHR6u
  56. "text/plain": [
  57. "<Figure size 640x480 with 1 Axes>"
  58. ]
  59. },
  60. "metadata": {},
  61. "output_type": "display_data"
  62. }
  63. ],
  64. "source": [
  65. "import matplotlib.pyplot as plt\n",
  66. "plt.figure()\n",
  67. "plt.hist(a9[\"z_mag_x_fringe\"], bins=50,\n",
  68. " range=[5000,6000], alpha=0.5)\n",
  69. "plt.hist(a9[\"z_mag_x\"], bins=50,\n",
  70. " range=[5000,6000], alpha=0.5)"
  71. ]
  72. },
  73. {
  74. "cell_type": "code",
  75. "execution_count": 7,
  76. "metadata": {},
  77. "outputs": [
  78. {
  79. "name": "stdout",
  80. "output_type": "stream",
  81. "text": [
  82. "-1.7314211457299337e-05\n",
  83. "0.0068900126858267696\n"
  84. ]
  85. },
  86. {
  87. "data": {
  88. "image/png": "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
  89. "text/plain": [
  90. "<Figure size 640x480 with 1 Axes>"
  91. ]
  92. },
  93. "metadata": {},
  94. "output_type": "display_data"
  95. }
  96. ],
  97. "source": [
  98. "import matplotlib.pyplot as plt\n",
  99. "import numpy as np\n",
  100. "plt.figure()\n",
  101. "plt.hist(a8[\"BX\"], bins=50,\n",
  102. " range=[-1.2,1.2], alpha=0.5)\n",
  103. "plt.hist(a8[\"tx_ref\"], bins=50,\n",
  104. " range=[-1.2,1.2], alpha=0.5)\n",
  105. "\n",
  106. "print(np.mean(a8[\"BX\"] - a8[\"tx_ref\"]))\n",
  107. "print(np.std(a8[\"BX\"] - a8[\"tx_ref\"]))"
  108. ]
  109. },
  110. {
  111. "cell_type": "code",
  112. "execution_count": 8,
  113. "metadata": {},
  114. "outputs": [
  115. {
  116. "name": "stdout",
  117. "output_type": "stream",
  118. "text": [
  119. "-1.636716336624133e-05\n",
  120. "0.006898310643139335\n"
  121. ]
  122. },
  123. {
  124. "data": {
  125. "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAGdCAYAAAAbudkLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAukUlEQVR4nO3dfXSU9Z3//9c0d0I2uSQJyTBtUNwvjWDQYqzJgBZYIMEaUra7BRt3ir/lBLoo2ZREbtptC55jUhDB3WZVcDniQTzxnMW4tmJK3GI0mwQwklXutB6zEEpCUIdJQJrEcP3+cLm2Q5AkmBvyyfNxzpzD9bne18z7uhyZF5+5rmtctm3bAgAAMNDXBrsBAACA/kLQAQAAxiLoAAAAYxF0AACAsQg6AADAWAQdAABgLIIOAAAwFkEHAAAYK3SwGxhMFy5c0MmTJxUVFSWXyzXY7QAAgB6wbVutra3yeDz62teuPGczrIPOyZMnlZiYONhtAACAq9DQ0KBvfOMbV6wZ1kEnKipK0hcHKjo6epC7AQAAPdHS0qLExETnc/xKhnXQufh1VXR0NEEHAIAhpiennXAyMgAAMBZBBwAAGIugAwAAjEXQAQAAxiLoAAAAYxF0AACAsQg6AADAWAQdAABgLIIOAAAwFkEHAAAYi6ADAACMRdABAADGIugAAABjEXQAAICxQge7AQDoYk9R9zUzVvd/HwCGPIIOgGtO9UefdFvjnTEAjQAY8nr91dWbb76puXPnyuPxyOVy6eWXX/7S2iVLlsjlcumJJ54IGm9ra9OyZcsUFxenyMhIZWVl6cSJE0E1fr9fPp9PlmXJsiz5fD6dOXMmqOb48eOaO3euIiMjFRcXp9zcXLW3t/d2lwAAgKF6HXTOnTun2267TcXFxVese/nll7V37155PJ4u6/Ly8lRaWqqSkhJVVlbq7NmzyszMVGdnp1OTnZ2turo6lZWVqaysTHV1dfL5fM76zs5O3XvvvTp37pwqKytVUlKinTt3Kj8/v7e7BAAADNXrr67uuece3XPPPVes+eMf/6iHHnpIv/vd73TvvfcGrQsEAtq6dau2b9+uWbNmSZKef/55JSYm6vXXX1dGRoaOHDmisrIy1dTUKDU1VZL0zDPPyOv16v3331dSUpJ2796tw4cPq6GhwQlTjz/+uB544AE9+uijio6O7u2uAQAAw/T5VVcXLlyQz+fTww8/rFtuuaXL+traWnV0dCg9Pd0Z83g8Sk5OVlVVlSSpurpalmU5IUeS0tLSZFlWUE1ycnLQjFFGRoba2tpUW1vb17sFAACGoD4/GXndunUKDQ1Vbm7uZdc3NTUpPDxco0aNChpPSEhQU1OTUxMfH99l2/j4+KCahISEoPWjRo1SeHi4U3OptrY2tbW1OcstLS093zEAADDk9OmMTm1trf75n/9Z27Ztk8vl6tW2tm0HbXO57a+m5s8VFRU5JzdblqXExMRe9QgAAIaWPg06b731lpqbmzV27FiFhoYqNDRUx44dU35+vm688UZJktvtVnt7u/x+f9C2zc3NzgyN2+3WqVOnujz/6dOng2ounbnx+/3q6OjoMtNz0erVqxUIBJxHQ0PDV91lAABwDevToOPz+fTuu++qrq7OeXg8Hj388MP63e9+J0lKSUlRWFiYysvLne0aGxt18OBBTZkyRZLk9XoVCAS0b98+p2bv3r0KBAJBNQcPHlRjY6NTs3v3bkVERCglJeWy/UVERCg6OjroAQAAzNXrc3TOnj2rDz/80Fmur69XXV2dYmJiNHbsWMXGxgbVh4WFye12KykpSZJkWZYWLVqk/Px8xcbGKiYmRgUFBZo0aZJzFdaECRM0Z84c5eTkaPPmzZKkxYsXKzMz03me9PR0TZw4UT6fT4899pg+/fRTFRQUKCcnhwADAAAkXcWMzttvv63Jkydr8uTJkqTly5dr8uTJ+sUvftHj59i0aZPmzZun+fPna+rUqRo5cqR+85vfKCQkxKnZsWOHJk2apPT0dKWnp+vWW2/V9u3bnfUhISF69dVXdd1112nq1KmaP3++5s2bpw0bNvR2lwAAgKFctm3bg93EYGlpaZFlWQoEAswCAdeQ6q0F3dZ4F/GPGmC46s3nN79eDgAAjMWPegIY3vildMBoBB0Awxq/lA6Yja+uAACAsQg6AADAWAQdAABgLIIOAAAwFkEHAAAYi6ADAACMRdABAADGIugAAABjEXQAAICxCDoAAMBYBB0AAGAsgg4AADAWQQcAABiLoAMAAIxF0AEAAMYi6AAAAGMRdAAAgLEIOgAAwFgEHQAAYCyCDgAAMBZBBwAAGIugAwAAjEXQAQAAxgod7AYA4KrsKeq+Zsbq/u8DwDWNoANgSKr+6JNua7wzBqARANc0vroCAADGIugAAABjEXQAAICxCDoAAMBYnIwMwFw9uTILgNEIOgCM1ZMrswCYja+uAACAsQg6AADAWAQdAABgLIIOAAAwFkEHAAAYq9dB580339TcuXPl8Xjkcrn08ssvO+s6Ojq0cuVKTZo0SZGRkfJ4PPrRj36kkydPBj1HW1ubli1bpri4OEVGRiorK0snTpwIqvH7/fL5fLIsS5Zlyefz6cyZM0E1x48f19y5cxUZGam4uDjl5uaqvb29t7sEAAAM1eugc+7cOd12220qLi7usu6zzz7TO++8o5///Od655139NJLL+mDDz5QVlZWUF1eXp5KS0tVUlKiyspKnT17VpmZmers7HRqsrOzVVdXp7KyMpWVlamurk4+n89Z39nZqXvvvVfnzp1TZWWlSkpKtHPnTuXn5/d2lwAAgKFctm3bV72xy6XS0lLNmzfvS2v279+vO++8U8eOHdPYsWMVCAQ0evRobd++XQsWLJAknTx5UomJidq1a5cyMjJ05MgRTZw4UTU1NUpNTZUk1dTUyOv16ujRo0pKStJrr72mzMxMNTQ0yOPxSJJKSkr0wAMPqLm5WdHR0d3239LSIsuyFAgEelQPYGBUby0Y7BaCeBdtGOwWAPyZ3nx+9/s5OoFAQC6XS9dff70kqba2Vh0dHUpPT3dqPB6PkpOTVVVVJUmqrq6WZVlOyJGktLQ0WZYVVJOcnOyEHEnKyMhQW1ubamtrL9tLW1ubWlpagh4AAMBc/Rp0/vSnP2nVqlXKzs52EldTU5PCw8M1atSooNqEhAQ1NTU5NfHx8V2eLz4+PqgmISEhaP2oUaMUHh7u1FyqqKjIOefHsiwlJiZ+5X0EAADXrn4LOh0dHbrvvvt04cIFPfnkk93W27Ytl8vlLP/5n79KzZ9bvXq1AoGA82hoaOjJrgAAgCGqX4JOR0eH5s+fr/r6epWXlwd9f+Z2u9Xe3i6/3x+0TXNzszND43a7derUqS7Pe/r06aCaS2du/H6/Ojo6usz0XBQREaHo6OigBwAAMFefB52LIecPf/iDXn/9dcXGxgatT0lJUVhYmMrLy52xxsZGHTx4UFOmTJEkeb1eBQIB7du3z6nZu3evAoFAUM3BgwfV2Njo1OzevVsRERFKSUnp690CAABDUK9/vfzs2bP68MMPneX6+nrV1dUpJiZGHo9Hf/u3f6t33nlHv/3tb9XZ2enMusTExCg8PFyWZWnRokXKz89XbGysYmJiVFBQoEmTJmnWrFmSpAkTJmjOnDnKycnR5s2bJUmLFy9WZmamkpKSJEnp6emaOHGifD6fHnvsMX366acqKChQTk4OMzUAAEDSVQSdt99+WzNmzHCWly9fLklauHCh1qxZo1deeUWS9K1vfStouz179mj69OmSpE2bNik0NFTz58/X+fPnNXPmTG3btk0hISFO/Y4dO5Sbm+tcnZWVlRV0756QkBC9+uqrWrp0qaZOnaoRI0YoOztbGzZwGSgAAPjCV7qPzlDHfXSAaxP30QFwJdfUfXQAAAAGC0EHAAAYi6ADAACMRdABAADGIugAAABjEXQAAICxCDoAAMBYBB0AAGAsgg4AADAWQQcAABiLoAMAAIxF0AEAAMYi6AAAAGMRdAAAgLEIOgAAwFgEHQAAYCyCDgAAMBZBBwAAGIugAwAAjEXQAQAAxiL
  126. "text/plain": [
  127. "<Figure size 640x480 with 1 Axes>"
  128. ]
  129. },
  130. "metadata": {},
  131. "output_type": "display_data"
  132. }
  133. ],
  134. "source": [
  135. "import matplotlib.pyplot as plt\n",
  136. "import numpy as np\n",
  137. "plt.figure()\n",
  138. "plt.hist(a9[\"BX\"], bins=50,\n",
  139. " range=[-1.2,1.2], alpha=0.5)\n",
  140. "plt.hist(a9[\"tx_ref\"], bins=50,\n",
  141. " range=[-1.2,1.2], alpha=0.5)\n",
  142. "\n",
  143. "print(np.mean(a9[\"BX\"] - a9[\"tx_ref\"]))\n",
  144. "print(np.std(a9[\"BX\"] - a9[\"tx_ref\"]))"
  145. ]
  146. },
  147. {
  148. "cell_type": "code",
  149. "execution_count": 27,
  150. "metadata": {},
  151. "outputs": [
  152. {
  153. "data": {
  154. "text/plain": [
  155. "(array([8.0000e+00, 1.8000e+01, 1.4000e+01, 6.0000e+00, 1.1000e+01,\n",
  156. " 1.4000e+01, 1.9000e+01, 2.3000e+01, 3.0000e+01, 2.8000e+01,\n",
  157. " 3.2000e+01, 4.6000e+01, 5.0000e+01, 6.3000e+01, 7.1000e+01,\n",
  158. " 7.7000e+01, 1.1300e+02, 1.1400e+02, 1.8700e+02, 2.1900e+02,\n",
  159. " 3.0900e+02, 4.7800e+02, 8.7900e+02, 2.6160e+03, 1.7745e+04,\n",
  160. " 3.7033e+04, 7.7140e+03, 2.2400e+03, 9.3700e+02, 5.3900e+02,\n",
  161. " 3.3700e+02, 2.6400e+02, 1.9500e+02, 1.3600e+02, 1.1700e+02,\n",
  162. " 1.1200e+02, 7.7000e+01, 6.0000e+01, 4.9000e+01, 4.3000e+01,\n",
  163. " 3.2000e+01, 2.0000e+01, 2.0000e+01, 2.0000e+01, 2.3000e+01,\n",
  164. " 2.0000e+01, 2.1000e+01, 1.6000e+01, 1.4000e+01, 1.4000e+01]),\n",
  165. " array([-0.25, -0.24, -0.23, -0.22, -0.21, -0.2 , -0.19, -0.18, -0.17,\n",
  166. " -0.16, -0.15, -0.14, -0.13, -0.12, -0.11, -0.1 , -0.09, -0.08,\n",
  167. " -0.07, -0.06, -0.05, -0.04, -0.03, -0.02, -0.01, 0. , 0.01,\n",
  168. " 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ,\n",
  169. " 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19,\n",
  170. " 0.2 , 0.21, 0.22, 0.23, 0.24, 0.25]),\n",
  171. " <BarContainer object of 50 artists>)"
  172. ]
  173. },
  174. "execution_count": 27,
  175. "metadata": {},
  176. "output_type": "execute_result"
  177. },
  178. {
  179. "data": {
  180. "image/png": "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
  181. "text/plain": [
  182. "<Figure size 640x480 with 1 Axes>"
  183. ]
  184. },
  185. "metadata": {},
  186. "output_type": "display_data"
  187. }
  188. ],
  189. "source": [
  190. "import matplotlib.pyplot as plt\n",
  191. "import numpy as np\n",
  192. "a = a8\n",
  193. "a[\"slope_diff_rel\"] = (a[\"BX\"] - a[\"tx_ref\"]) / a[\"tx_ref\"]\n",
  194. "plt.figure()\n",
  195. "plt.hist(a[\"slope_diff_rel\", a[\"chi2_x\"] < 0.1], bins=50,\n",
  196. " range=[-0.25,0.25], alpha=0.5, log=True)\n"
  197. ]
  198. },
  199. {
  200. "cell_type": "code",
  201. "execution_count": null,
  202. "metadata": {},
  203. "outputs": [],
  204. "source": []
  205. }
  206. ],
  207. "metadata": {
  208. "kernelspec": {
  209. "display_name": "Python 3.10.6 (conda)",
  210. "language": "python",
  211. "name": "python3"
  212. },
  213. "language_info": {
  214. "codemirror_mode": {
  215. "name": "ipython",
  216. "version": 3
  217. },
  218. "file_extension": ".py",
  219. "mimetype": "text/x-python",
  220. "name": "python",
  221. "nbconvert_exporter": "python",
  222. "pygments_lexer": "ipython3",
  223. "version": "3.10.6"
  224. },
  225. "orig_nbformat": 4,
  226. "vscode": {
  227. "interpreter": {
  228. "hash": "a2eff8b4da8b8eebf5ee2e5f811f31a557e0a202b4d2f04f849b065340a6eda6"
  229. }
  230. }
  231. },
  232. "nbformat": 4,
  233. "nbformat_minor": 2
  234. }