Warning, /snippets/Tracking/BackgroundStudy/epic_analysis_ak_example.ipynb is written in an unsupported language. File is not indexed.
0001 {
0002 "cells": [
0003 {
0004 "cell_type": "markdown",
0005 "id": "f7a69900-968f-414a-b393-323554c1360a",
0006 "metadata": {
0007 "jp-MarkdownHeadingCollapsed": true
0008 },
0009 "source": [
0010 "# definition"
0011 ]
0012 },
0013 {
0014 "cell_type": "code",
0015 "execution_count": null,
0016 "id": "9c5c96c7-90ab-4bf7-94e4-2b32fa40329a",
0017 "metadata": {},
0018 "outputs": [],
0019 "source": [
0020 "'''\n",
0021 " Example script for hit-based background trackign study with awkward arrays and podio module\n",
0022 " please run this within eic-shell if you want to use any podio modules:\n",
0023 " in eic-shell, type jupyer-lab to start the server (may take a minute)--> copy the localhost link to your browser or editor to open the notebook.\n",
0024 "\n",
0025 " key functions: get_traj_hits, get_part_hits\n",
0026 " \n",
0027 " It uses uproot (>2.7), seaborn, particle, and a few other python modules. You may need to pip install them. \n",
0028 "\n",
0029 " Shujie Li, Oct 2025\n",
0030 "'''\n",
0031 "import numpy as np\n",
0032 "import pandas as pd\n",
0033 "pd.set_option('display.max_rows', 500)\n",
0034 "pd.options.display.max_rows = 200\n",
0035 "pd.options.display.min_rows = 20\n",
0036 "pd.options.display.max_columns = 100\n",
0037 "\n",
0038 "import awkward as ak\n",
0039 "import uproot as ur\n",
0040 "# import podio\n",
0041 "# from podio import root_io\n",
0042 "\n",
0043 "import sys\n",
0044 "import os\n",
0045 "import time\n",
0046 "from collections import defaultdict\n",
0047 "from fnmatch import fnmatch\n",
0048 "import types\n",
0049 "from particle import Particle\n",
0050 "\n",
0051 "import seaborn as sns\n",
0052 "sns.set_theme(\n",
0053 " style='whitegrid',#'white',#'coolwarm',\n",
0054 " context='notebook',#'talk', \n",
0055 " palette='bright',#'viridis',\n",
0056 " font_scale=1.,\n",
0057 " rc={'figure.figsize': (6, 4)}\n",
0058 ")\n",
0059 "from matplotlib.backends.backend_pdf import PdfPages\n",
0060 "from matplotlib import pyplot as plt\n",
0061 "from matplotlib.gridspec import GridSpec\n",
0062 "import matplotlib.ticker as ticker\n",
0063 "import matplotlib.cm as cm\n",
0064 "import matplotlib as mpl\n",
0065 "import matplotlib.pylab as plt\n",
0066 "plt.rcParams['figure.figsize'] = [8.0, 6.0]\n",
0067 "plt.rcParams['ytick.direction'] = 'in'\n",
0068 "plt.rcParams['xtick.direction'] = 'in'\n",
0069 "plt.rcParams['xaxis.labellocation'] = 'right'\n",
0070 "plt.rcParams['yaxis.labellocation'] = 'top'\n",
0071 "SMALL_SIZE = 10\n",
0072 "MEDIUM_SIZE = 12\n",
0073 "BIGGER_SIZE = 20\n",
0074 "plt.rc('font', size=SMALL_SIZE) # controls default text sizes\n",
0075 "plt.rc('axes', titlesize=MEDIUM_SIZE) # fontsize of the axes title\n",
0076 "plt.rc('axes', labelsize=MEDIUM_SIZE) # fontsize of the x and y labels\n",
0077 "plt.rc('xtick', labelsize=MEDIUM_SIZE) # fontsize of the tick labels\n",
0078 "plt.rc('ytick', labelsize=MEDIUM_SIZE) # fontsize of the tick labels\n",
0079 "plt.rc('legend', fontsize=SMALL_SIZE) # legend fontsize\n",
0080 "plt.rc('figure', titlesize=BIGGER_SIZE) # fontsize of the figure title]\n",
0081 "\n",
0082 "\n",
0083 "## mcparticle generator status: xxx1=primary undecayed, xxx2=primary decayed\n",
0084 "status_to_source = {\n",
0085 " 1: \"DIS\", 2: \"DIS\",\n",
0086 " 2001: \"SR\", 2002: \"SR\", \n",
0087 " 3001: \"Bremstrahlung\", 3002: \"Bremstrahlung\",\n",
0088 " 4001: \"Coulomb\", 4002: \"Coulomb\",\n",
0089 " 5001: \"Touschek\", 5002: \"Touschek\",\n",
0090 " 6001: \"Proton beam gas\", 6002: \"Proton beam gas\"\n",
0091 "}\n",
0092 "\n",
0093 "## track quality cuts\n",
0094 "TRACK_HIT_COUNT_MIN_MIN = 3 ## absolute min to form a track with CKF\n",
0095 "TRACK_HIT_COUNT_MIN = 4\n",
0096 "TRACK_MOM_MIN = 0.3\n",
0097 "TRACK_PT_MIN = 0.2\n",
0098 "TRACK_HIT_FRACTION_MIN = 0.5\n",
0099 "TRACK_HIT_COUNT_GHOST_MAX = 2\n",
0100 "VERTEX_CUT_R_MAX = 2\n",
0101 "VERTEX_CUT_Z_MAX = 200#mm\n",
0102 "\n",
0103 "# Detector geometry definitions (as of epic 25.08)\n",
0104 "barrel_range = [(30,42),(46,60),(115,130),(265,280),(415,450),(540,600),(610,650),(700,750)]\n",
0105 "barrel_name = [\"L0\",\"L1\",\"L2\",\"L3\",\"L4\",\"inner MPGD\",\"TOF\",\"outer MPGD\"]\n",
0106 "name_sim_barrel = [\"VertexBarrelHits\",\"VertexBarrelHits\",\"VertexBarrelHits\",\"SiBarrelHits\",\"SiBarrelHits\",\"MPGDBarrelHits\",\"TOFBarrelHits\",\"OuterMPGDBarrelHits\"]\n",
0107 "name_rec_barrel = [\"SiBarrelVertexRecHits\",\"SiBarrelVertexRecHits\",\"SiBarrelVertexRecHits\",\"SiBarrelTrackerRecHits\",\"SiBarrelTrackerRecHits\",\"MPGDBarrelRecHits\",\"TOFBarrelRecHits\",\"OuterMPGDBarrelRecHits\"]\n",
0108 "\n",
0109 "disk_range = [(-1210.0, -1190.0), (-1110.0, -1090.0),(-104.0, -100.0), (-860.0, -840.0),\n",
0110 " (-660.0, -640.0), (-460.0, -440.0), (-260.0, -240.0), (240.0, 260.0),\n",
0111 " (440.0, 460.0), (690.0, 710.0), (990.0, 1010.0), (1340.0, 1360.0),\n",
0112 " (1480.0, 1500.0), (1600.0, 1620.0), (1840.0, 1860.0), (1865.0, 1885.0)]\n",
0113 "disk_name = [\"E-MPGD Disk2\",\"E-MPGD Disk 1\",\"E-Si Disk 5\",\"E-Si Disk 4\",\"E-Si Disk 3\",\"E-Si Disk 2\",\"E-Si Disk 1\",\n",
0114 " \"H-Si Disk 1\",\"H-Si Disk 2\",\"H-Si Disk 3\",\"H-Si Disk 4\",\"H-Si Disk 5\",\"H-MPGD Disk 1\",\"H-MPGD Disk 2\", \"H-TOF Disk1\",\"H-TOF Disk2\"]\n",
0115 "name_rec_disk = [\"BackwardMPGDEndcapRecHits\",\"BackwardMPGDEndcapRecHits\",\n",
0116 " \"SiEndcapTrackerRecHits\",\"SiEndcapTrackerRecHits\",\"SiEndcapTrackerRecHits\",\"SiEndcapTrackerRecHits\",\"SiEndcapTrackerRecHits\",\"SiEndcapTrackerRecHits\",\"SiEndcapTrackerRecHits\",\"SiEndcapTrackerRecHits\",\"SiEndcapTrackerRecHits\",\"SiEndcapTrackerRecHits\",\n",
0117 " \"ForwardMPGDEndcapRecHits\",\"ForwardMPGDEndcapRecHits\",\n",
0118 " \"TOFEndcapRecHits\",\"TOFEndcapRecHits\"]\n",
0119 "name_sim_disk = [\"BackwardMPGDEndcapHits\",\"BackwardMPGDEndcapHits\",\n",
0120 " \"TrackerEndcapHits\",\"TrackerEndcapHits\",\"TrackerEndcapHits\",\"TrackerEndcapHits\",\"TrackerEndcapHits\",\"TrackerEndcapHits\",\"TrackerEndcapHits\",\"TrackerEndcapHits\",\"TrackerEndcapHits\",\"TrackerEndcapHits\",\"ForwardMPGDEndcapHits\",\"ForwardMPGDEndcapHits\",\n",
0121 " \"TOFEndcapHits\",\"TOFEndcapHits\"]\n",
0122 "\n",
0123 "# Global variables for caching\n",
0124 "COL_TABLE = {}\n",
0125 "CACHED_DATA = {}\n",
0126 "\n",
0127 "def ak_flat(ak_array):\n",
0128 " return ak.to_numpy(ak.flatten(ak_array,axis=0))\n",
0129 "\n",
0130 "def ak_df(ak_array):\n",
0131 " return ak.to_dataframe(ak_array)\n",
0132 "\n",
0133 "def ak_hist(ak_array, **kwargs):\n",
0134 " return plt.hist(ak_flat(ak_array), **kwargs)\n",
0135 "\n",
0136 "def ak_filter(br, cond, field=None):\n",
0137 " filtered = br[cond]\n",
0138 " return filtered[field] if field else filtered\n",
0139 "\n",
0140 "def ak_sns(ak_array, **kwargs):\n",
0141 " # Check if it's 2D (tuple/list of two arrays)\n",
0142 " if isinstance(ak_array, (tuple, list)) and len(ak_array) == 2:\n",
0143 " x_data = ak_flat(ak_array[0])\n",
0144 " y_data = ak_flat(ak_array[1])\n",
0145 " # Remove 1D-specific kwargs for 2D plots\n",
0146 " kwargs.pop('element', None)\n",
0147 " kwargs.pop('fill', None)\n",
0148 " return sns.histplot(x=x_data, y=y_data, **kwargs)\n",
0149 " else:\n",
0150 " # 1D histogram\n",
0151 " return sns.histplot(ak_flat(ak_array), element=\"step\", fill=False, **kwargs)\n",
0152 "\n",
0153 "\n",
0154 "def get_pdg_info(PDG):\n",
0155 " \"\"\"Get particle info from PDG code\"\"\"\n",
0156 " try:\n",
0157 " return Particle.from_pdgid(PDG)\n",
0158 " except Exception:\n",
0159 " if PDG == 9902210:\n",
0160 " return Particle.from_pdgid(2212)\n",
0161 " print(f\"ERROR (get_pdg_info): unknown PDG ID {PDG}\")\n",
0162 " return Particle.empty()\n",
0163 "\n",
0164 "\n",
0165 "def theta2eta(xx, inverse=0):\n",
0166 " \"\"\"Convert theta to eta or vice versa\"\"\"\n",
0167 " if type(xx)==list:\n",
0168 " xx = np.array(xx)\n",
0169 " if inverse==1:\n",
0170 " return np.arctan((np.e)**(-xx))*2\n",
0171 " else:\n",
0172 " return -np.log(np.tan(xx/2.))\n",
0173 "\n",
0174 "def select_string(strings, patterns):\n",
0175 " \"\"\"Select strings matching patterns with wildcards\"\"\"\n",
0176 " if not isinstance(patterns, list):\n",
0177 " raise ValueError(\"The 'patterns' argument must be a list.\")\n",
0178 " \n",
0179 " patterns = [pattern.lower() for pattern in patterns]\n",
0180 " return [s for s in strings if any(fnmatch(s.lower(), pattern) for pattern in patterns)]\n",
0181 "\n",
0182 "\n",
0183 "def read_ur(fname, tname, s3_dir=\"\"):\n",
0184 " \"\"\"Read ROOT file with uproot\"\"\"\n",
0185 " server = 'root://dtn-eic.jlab.org//volatile/eic/'\n",
0186 " if len(s3_dir) > 1:\n",
0187 " fname = server + s3_dir + fname\n",
0188 " tree = ur.open(fname)[tname]\n",
0189 " print(f\"read_ur: read {fname}:{tname}. {tree.num_entries} events in total\")\n",
0190 " return tree\n",
0191 "\n",
0192 "def get_col_table(fname, s3_dir=\"\", verb=0):\n",
0193 " \"\"\"Get collection table from metadata\"\"\"\n",
0194 " global COL_TABLE\n",
0195 " meta = read_ur(fname, \"podio_metadata\", s3_dir)\n",
0196 " if \"events___idTable\" in meta.keys(): ## < eic-shell 25.09\n",
0197 " col_name = np.array(meta[\"m_names\"].array()[0])\n",
0198 " col_id = np.array(meta[\"m_collectionIDs\"].array()[0])\n",
0199 " else:\n",
0200 " col_id = get_branch_df(meta,\"events___CollectionTypeInfo/events___CollectionTypeInfo.collectionID\")[\"values\"].tolist()\n",
0201 " col_name = get_branch_df(meta,\"events___CollectionTypeInfo/events___CollectionTypeInfo.name\")[\"values\"].tolist()\n",
0202 "\n",
0203 " COL_TABLE = {}\n",
0204 " for ii, nn in zip(col_id, col_name):\n",
0205 " if verb:\n",
0206 " print(ii, nn)\n",
0207 " COL_TABLE[ii] = nn\n",
0208 " return COL_TABLE\n",
0209 "\n",
0210 "\n",
0211 "# ============= BRANCH READING with ak or df =============\n",
0212 "\n",
0213 "def get_branch_ak(tree, bname=\"\", entry_start=0, entry_stop=-1, \n",
0214 " fields_subset=None, chunk_size=1000, verb=0):\n",
0215 " \"\"\"Optimized branch reading with awkward arrays\"\"\"\n",
0216 " if bname not in tree.keys():\n",
0217 " sys.exit(f\"ERROR(get_branch_ak): can't find branch {bname}\")\n",
0218 " if verb: \n",
0219 " print(f\"Reading branch: {bname}\")\n",
0220 " start_time = time.time()\n",
0221 " \n",
0222 " # Determine actual entry range\n",
0223 " if entry_stop == -1:\n",
0224 " entry_stop = tree.num_entries\n",
0225 " \n",
0226 " total_entries = entry_stop - entry_start\n",
0227 " if verb:\n",
0228 " print(f\"Reading {total_entries} entries\")\n",
0229 " \n",
0230 " # For large datasets, read in chunks\n",
0231 " if total_entries > chunk_size:\n",
0232 " if verb:\n",
0233 " print(f\"Using chunked reading with chunk_size={chunk_size}\")\n",
0234 " all_data = []\n",
0235 " \n",
0236 " for chunk_start in range(entry_start, entry_stop, chunk_size):\n",
0237 " chunk_end = min(chunk_start + chunk_size, entry_stop)\n",
0238 " if verb:\n",
0239 " print(f\" Reading chunk: {chunk_start} to {chunk_end}\")\n",
0240 " \n",
0241 " chunk_data = tree[bname].array(\n",
0242 " library=\"ak\",\n",
0243 " entry_start=chunk_start,\n",
0244 " entry_stop=chunk_end\n",
0245 " )\n",
0246 " all_data.append(chunk_data)\n",
0247 " \n",
0248 " # Concatenate all chunks\n",
0249 " ak_data = ak.concatenate(all_data)\n",
0250 " else:\n",
0251 " # Read all at once for smaller datasets\n",
0252 " ak_data = tree[bname].array(\n",
0253 " library=\"ak\",\n",
0254 " entry_start=entry_start,\n",
0255 " entry_stop=entry_stop\n",
0256 " )\n",
0257 " \n",
0258 " read_time = time.time()\n",
0259 " if verb:\n",
0260 " print(f\"Awkward read: {read_time - start_time:.2f}s ({ak_data.nbytes/1e6:.1f} MB)\")\n",
0261 " \n",
0262 " # Rename fields by dropping branch prefix\n",
0263 " if hasattr(ak_data, 'fields'):\n",
0264 " if not ak_data.fields:\n",
0265 " ## return a single array\n",
0266 " return ak_data\n",
0267 " renamed_fields = {}\n",
0268 " for field in ak_data.fields:\n",
0269 " if \"[\" in field: ## drop nested array such as CentralCKFTrackParameters.covariance.covariance[21]\n",
0270 " continue\n",
0271 " if field.startswith(f'{bname}.'):\n",
0272 " new_name = field.replace(f'{bname}.', '')\n",
0273 " renamed_fields[new_name] = ak_data[field]\n",
0274 " else:\n",
0275 " renamed_fields[field] = ak_data[field]\n",
0276 " \n",
0277 " ak_data = ak.zip(renamed_fields)\n",
0278 " if verb:\n",
0279 " print(f\"Renamed {len(renamed_fields)} fields\")\n",
0280 " \n",
0281 " # Extract subset of fields if specified\n",
0282 " if fields_subset and hasattr(ak_data, 'fields'):\n",
0283 " subset_data = {}\n",
0284 " for field in fields_subset:\n",
0285 " if field in ak_data.fields:\n",
0286 " subset_data[field] = ak_data[field]\n",
0287 " ak_data = ak.zip(subset_data)\n",
0288 " if verb:\n",
0289 " print(f\"Extracted subset: {fields_subset}\")\n",
0290 " \n",
0291 " total_time = time.time()\n",
0292 " if verb:\n",
0293 " print(f\"Total time: {total_time - start_time:.2f}s\")\n",
0294 " \n",
0295 " return ak_data\n",
0296 "\n",
0297 "def get_branch_df(tree, bname=\"\", entry_start=0, entry_stop=-1, \n",
0298 " fields_subset=None, chunk_size=1000, verb=0):\n",
0299 " \"\"\"Get branch as DataFrame when needed (for compatibility)\"\"\"\n",
0300 " ak_data = get_branch_ak(tree, bname, entry_start, entry_stop, \n",
0301 " fields_subset, chunk_size)\n",
0302 " \n",
0303 " if verb:\n",
0304 " print(\"Converting to DataFrame...\")\n",
0305 " start_time = time.time()\n",
0306 " \n",
0307 " try:\n",
0308 " df = ak.to_dataframe(ak_data)\n",
0309 " df = df.reset_index() # Flatten the multi-index\n",
0310 " \n",
0311 " convert_time = time.time() - start_time\n",
0312 " if verb:\n",
0313 " print(f\"DataFrame conversion: {convert_time:.2f}s\")\n",
0314 " print(f\"DataFrame shape: {df.shape}\")\n",
0315 " \n",
0316 " return df\n",
0317 " \n",
0318 " except Exception as e:\n",
0319 " print(f\"DataFrame conversion failed: {e}\")\n",
0320 " print(\"Returning awkward array instead\")\n",
0321 " return ak_data\n",
0322 "\n",
0323 "def get_part(tree, entry_start=0, entry_stop=-1, chunk_size=1000, kprimary=1):\n",
0324 " \"\"\"MC particles reading, return ak with calculated eta, momentum etc\"\"\"\n",
0325 " # print(\"Reading MC particles as akward arrays...\")\n",
0326 " \n",
0327 " # Read as awkward array\n",
0328 " ak_data = get_branch_ak(tree, \"MCParticles\", entry_start, entry_stop, \n",
0329 " chunk_size=chunk_size)\n",
0330 " if kprimary:\n",
0331 " print(\"Select all primary particles with generatorStatus==x001 or x002\")\n",
0332 " ak_data=ak_data[(ak_data.generatorStatus%1000==1)|(ak_data.generatorStatus%1000==2)]\n",
0333 " # Compute momentum quantities vectorized\n",
0334 " px = ak_data[\"momentum.x\"]\n",
0335 " py = ak_data[\"momentum.y\"]\n",
0336 " pz = ak_data[\"momentum.z\"]\n",
0337 " \n",
0338 " p_mag = np.sqrt(px**2 + py**2 + pz**2)\n",
0339 " theta = np.arccos(pz / p_mag)\n",
0340 " phi = np.arctan2(py, px)\n",
0341 " eta = -np.log(np.tan(theta / 2.0))\n",
0342 " pt = p_mag * np.sin(theta)\n",
0343 " \n",
0344 " # Compute vertex quantities\n",
0345 " vx = ak_data[\"vertex.x\"]\n",
0346 " vy = ak_data[\"vertex.y\"]\n",
0347 " vz = ak_data[\"vertex.z\"]\n",
0348 " vertex_r = np.sqrt(vx**2 + vy**2)\n",
0349 " vertex_dist = np.sqrt(vertex_r**2 + vz**2)\n",
0350 " \n",
0351 " # Compute endpoint quantities \n",
0352 " ex = ak_data[\"endpoint.x\"]\n",
0353 " ey = ak_data[\"endpoint.y\"]\n",
0354 " endpoint_r = np.sqrt(ex**2 + ey**2)\n",
0355 " \n",
0356 " # Get PDG names (this is slower, so we do it efficiently)\n",
0357 " pdg_codes = ak.to_numpy(ak.flatten(ak_data.PDG))\n",
0358 " unique_pdgs = np.unique(pdg_codes)\n",
0359 " \n",
0360 " # Create PDG name mapping for unique values only\n",
0361 " pdg_name_map = {}\n",
0362 " for pdg in unique_pdgs:\n",
0363 " pdg_name_map[pdg] = get_pdg_info(pdg).name\n",
0364 " \n",
0365 " # Apply mapping vectorized\n",
0366 " pdg_names = ak.unflatten(\n",
0367 " np.array([pdg_name_map[pdg] for pdg in pdg_codes]),\n",
0368 " ak.num(ak_data.PDG)\n",
0369 " )\n",
0370 " \n",
0371 " # Create new awkward array with selected quantities\n",
0372 " my_field=['PDG', 'generatorStatus', 'charge', 'time', 'mass',\n",
0373 " 'vertex.x', 'vertex.y', 'vertex.z', 'endpoint.x', 'endpoint.y',\n",
0374 " 'endpoint.z', 'momentum.x', 'momentum.y', 'momentum.z']\n",
0375 " enhanced_data = ak.zip({\n",
0376 " # Original fields\n",
0377 " **{field: ak_data[field] for field in my_field},\n",
0378 " # Derived quantities\n",
0379 " 'mom': p_mag,\n",
0380 " 'theta': theta,\n",
0381 " 'phi': phi,\n",
0382 " 'eta': eta,\n",
0383 " 'pt': pt,\n",
0384 " 'vertex_r': vertex_r,\n",
0385 " 'vertex_dist': vertex_dist,\n",
0386 " 'endpoint_r': endpoint_r,\n",
0387 " 'pdg_name': pdg_names\n",
0388 " })\n",
0389 " \n",
0390 " return enhanced_data\n",
0391 "\n",
0392 "def get_params(tree, bname=\"CentralCKFTrackParameters\", entry_start=0, entry_stop=-1, chunk_size=1000):\n",
0393 " \"\"\"Track Parameters reading, return ak with calculated eta, mom, pt\"\"\"\n",
0394 " \n",
0395 " # Read as awkward array\n",
0396 " ak_data = get_branch_ak(tree, bname, entry_start, entry_stop, \n",
0397 " chunk_size=chunk_size)\n",
0398 " ak_data[\"eta\"] = theta2eta(ak_data.theta)\n",
0399 " ak_data[\"mom\"] = abs(1./ak_data.qOverP)\n",
0400 " ak_data[\"pt\"] = abs(ak_data.mom*np.sin(ak_data.theta))\n",
0401 " return ak_data\n"
0402 ]
0403 },
0404 {
0405 "cell_type": "markdown",
0406 "id": "ad33a4a0",
0407 "metadata": {},
0408 "source": [
0409 "## podio-based relation handling\n",
0410 "* run this within eic-shell to get podio plugin."
0411 ]
0412 },
0413 {
0414 "cell_type": "code",
0415 "execution_count": 2,
0416 "id": "90f5255b",
0417 "metadata": {},
0418 "outputs": [],
0419 "source": [
0420 "def read_podio(fname, tname=\"events\",s3_dir=\"\"):\n",
0421 " \"\"\"Read ROOT file with podio. Does NOT work for the metadata tree \"\"\"\n",
0422 " # from podio import root_io\n",
0423 " import sys\n",
0424 " if 'podio' not in sys.modules:\n",
0425 " print(\"Loading podio ROOT IO reader(this will take ~2 minutes)...\")\n",
0426 "\n",
0427 " from podio.root_io import Reader # More specific\n",
0428 " \n",
0429 " server = 'root://dtn-eic.jlab.org//volatile/eic/'\n",
0430 " if len(s3_dir) > 1:\n",
0431 " fname = server + s3_dir + fname\n",
0432 " reader = Reader(fname)\n",
0433 " tree = reader.get(\"events\")\n",
0434 " print(f\"read_podio: read {fname}:{tname}. {len(tree)} events in total\")\n",
0435 " return tree \n",
0436 "\n",
0437 "def show_getter_podio(collection):\n",
0438 " \"\"\"Display basic info about collection or single object\"\"\"\n",
0439 " type_check = check_type(collection)\n",
0440 " \n",
0441 " if type_check.is_iterable:\n",
0442 " print(f\"Number of objects: {len(collection)}\")\n",
0443 " sample_obj = collection[0] if len(collection) > 0 else None\n",
0444 " else:\n",
0445 " print(\"Single object\")\n",
0446 " sample_obj = collection\n",
0447 " \n",
0448 " if sample_obj:\n",
0449 " sample_type = type(sample_obj).__name__\n",
0450 " print(f\"Object type: {sample_type}\")\n",
0451 " getters = [m for m in dir(sample_obj) if m.startswith('get') and not m.startswith('_')]\n",
0452 " print(f\"Available getter methods ({len(getters)}):\")\n",
0453 " for getter in getters:\n",
0454 " print(f\" {getter}\")\n",
0455 "\n",
0456 " # Pretty print version\n",
0457 " scalars = {m: getattr(sample_obj, m)() for m in dir(sample_obj) \n",
0458 " if m.startswith('get') and not m.startswith('_') and callable(getattr(sample_obj, m)) \n",
0459 " and isinstance(getattr(sample_obj, m)(), (int, float, bool, str))}\n",
0460 " for k, v in scalars.items(): print(f\"{k}: {v}\")\n",
0461 "\n",
0462 "import fnmatch\n",
0463 "def show_collections_podio(event, pattern=None):\n",
0464 " \"\"\"Show collections matching pattern (case-insensitive), or all if no pattern\"\"\"\n",
0465 " all_collections = event.getAvailableCollections()\n",
0466 " if pattern:\n",
0467 " collections = [name for name in all_collections \n",
0468 " if fnmatch.fnmatch(name.lower(), pattern.lower())]\n",
0469 " else:\n",
0470 " collections = all_collections\n",
0471 " # print(f\"Collections ({len(collections)}):\")\n",
0472 " # for name in collections:\n",
0473 " # print(f\" {name}\") \n",
0474 " return collections\n",
0475 "\n",
0476 "def get_collection_member_podio(podio_collection, member_name):\n",
0477 " \"\"\"\n",
0478 " Access podio object members in uproot/awkward style\n",
0479 " \n",
0480 " Args:\n",
0481 " podio_collection: The podio branch (collection or single object)\n",
0482 " member_name: Member name (like \"nHoles\", \"chi2\")\n",
0483 " \"\"\"\n",
0484 " type_check = check_type(podio_collection)\n",
0485 " if type_check.is_empty:\n",
0486 " raise ValueError(\"Collection is empty\")\n",
0487 " \n",
0488 " # Helper function to process a single object\n",
0489 " def process_single_object(obj):\n",
0490 " # Common getter patterns in podio\n",
0491 " possible_getters = [\n",
0492 " f\"get{member_name}\",\n",
0493 " f\"get{member_name.capitalize()}\",\n",
0494 " f\"getN{member_name.capitalize()}\", # for count-like members\n",
0495 " member_name\n",
0496 " ]\n",
0497 " \n",
0498 " for getter_name in possible_getters:\n",
0499 " if hasattr(obj, getter_name):\n",
0500 " attr = getattr(obj, getter_name)\n",
0501 " if callable(attr):\n",
0502 " return attr()\n",
0503 " else:\n",
0504 " return attr\n",
0505 " \n",
0506 " # If not found, show available members\n",
0507 " all_methods = [method for method in dir(obj) if not method.startswith('_')]\n",
0508 " getters = [method for method in all_methods if method.startswith('get')]\n",
0509 " other_attrs = [attr for attr in all_methods if not attr.startswith('get') and not callable(getattr(obj, attr, None))]\n",
0510 " \n",
0511 " error_msg = f\"Cannot find member '{member_name}' in {type(obj).__name__}\\n\"\n",
0512 " error_msg += f\"Available getter methods:\\n\"\n",
0513 " for getter in getters:\n",
0514 " error_msg += f\" {getter}\\n\"\n",
0515 " if other_attrs:\n",
0516 " error_msg += f\"Available attributes:\\n\"\n",
0517 " for attr in other_attrs:\n",
0518 " error_msg += f\" {attr}\\n\"\n",
0519 " \n",
0520 " raise AttributeError(error_msg)\n",
0521 " \n",
0522 " if type_check.is_iterable:\n",
0523 " # Process collection - return list of results\n",
0524 " results = []\n",
0525 " for obj in podio_collection:\n",
0526 " results.append(process_single_object(obj))\n",
0527 " return results\n",
0528 " else: \n",
0529 " # Process single object - return single result\n",
0530 " return process_single_object(podio_collection)\n",
0531 "\n",
0532 "class PodioCollectionWrapper:\n",
0533 " def __init__(self, podio_collection):\n",
0534 " self.collection = podio_collection\n",
0535 " self.type_check = check_type(podio_collection)\n",
0536 " \n",
0537 " def __getitem__(self, member_name):\n",
0538 " return get_collection_member_podio(self.collection, member_name)\n",
0539 " \n",
0540 " def __len__(self):\n",
0541 " return len(self.collection) if self.type_check.is_iterable else 1\n",
0542 " \n",
0543 " def __iter__(self):\n",
0544 " return iter(self.collection) if self.type_check.is_iterable else iter([self.collection])\n",
0545 "\n",
0546 "def check_type(obj):\n",
0547 " \"\"\"Check object type with comprehensive categorization\"\"\" \n",
0548 " def get_value_category(value):\n",
0549 " # Check for numbers first\n",
0550 " if isinstance(value, (int, float, complex, bool)):\n",
0551 " return 'number'\n",
0552 " # Check for numpy arrays\n",
0553 " elif isinstance(value, np.ndarray):\n",
0554 " if value.ndim == 1:\n",
0555 " return 'array'\n",
0556 " else:\n",
0557 " return 'nested_array' # 2D, 3D arrays etc.\n",
0558 " # Check for Python lists/tuples\n",
0559 " elif isinstance(value, (list, tuple)):\n",
0560 " if len(value) > 0:\n",
0561 " # Check if it's a list of arrays (nested structure)\n",
0562 " first_item = value[0]\n",
0563 " if isinstance(first_item, (np.ndarray, list, tuple)):\n",
0564 " return 'nested_array'\n",
0565 " else:\n",
0566 " return 'list'\n",
0567 " else:\n",
0568 " return 'list'\n",
0569 " # Check for podio RelationRange or other iterable collections\n",
0570 " elif 'RelationRange' in str(type(value)) or (hasattr(value, '__len__') and hasattr(value, '__iter__') and not isinstance(value, str)):\n",
0571 " return 'range'\n",
0572 " # Everything else is an object\n",
0573 " else:\n",
0574 " return 'object'\n",
0575 "\n",
0576 " # Create a simple container\n",
0577 " class CategoryValue:\n",
0578 " def __init__(self, val):\n",
0579 " self.value = val\n",
0580 " cat = get_value_category(val)\n",
0581 " self.category = cat\n",
0582 " self.size = getattr(val, '__len__', lambda: 1)()\n",
0583 " self.is_empty = getattr(val, '__len__', lambda: 1)() == 0\n",
0584 "\n",
0585 " self.is_range = (cat == \"range\")\n",
0586 " self.is_number = (cat == \"number\") \n",
0587 " self.is_object = (cat == \"object\")\n",
0588 " self.is_array = (cat == \"array\")\n",
0589 " self.is_nested_array = (cat == \"nested_array\")\n",
0590 " self.is_list = (cat == \"list\")\n",
0591 " # Convenience groupings\n",
0592 " self.is_iterable = cat in [\"range\", \"array\", \"nested_array\", \"list\"]\n",
0593 " self.is_numpy = cat in [\"array\", \"nested_array\"]\n",
0594 " self.is_simple = cat in [\"number\", \"list\", \"array\"]\n",
0595 " \n",
0596 " return CategoryValue(obj)\n",
0597 "\n",
0598 "\n",
0599 "def build_rawhit_lookup(obj_list):\n",
0600 " \"\"\"Build fast lookup using cellID + time + charge as unique key\"\"\"\n",
0601 " return {(obj.getCellID(), obj.getTimeStamp(), obj.getCharge()): i \n",
0602 " for i, obj in enumerate(obj_list)}\n",
0603 "\n",
0604 "def get_rawhit_index(lookup,obj):\n",
0605 " key = (obj.getCellID(), obj.getTimeStamp(), obj.getCharge())\n",
0606 " return lookup.get(key, -1)\n",
0607 "\n",
0608 "def build_obj_lookup(obj_list):\n",
0609 " \"\"\"Build lookup that handles multiple objects with same collectionID+index\"\"\"\n",
0610 " lookup = {}\n",
0611 " for i, obj in enumerate(obj_list):\n",
0612 " key = (obj.id().collectionID, obj.id().index)\n",
0613 " if key not in lookup:\n",
0614 " lookup[key] = []\n",
0615 " lookup[key].append(i)\n",
0616 " return lookup\n",
0617 "\n",
0618 "def get_obj_indices(lookup, obj):\n",
0619 " \"\"\"Return list of all indices matching the object's key\"\"\"\n",
0620 " key = (obj.id().collectionID, obj.id().index)\n",
0621 " return lookup.get(key, [])\n",
0622 "\n",
0623 "def get_traj_hits(event,bname=\"CentralCKFTrajectories\",kcombine=0):\n",
0624 " ## ALL raw (one) --> sim hit (many, with weight) associations for a given event. Noise hits won't have association.\n",
0625 " ## ----------------\n",
0626 " # traj-based info\n",
0627 " ## ----------------\n",
0628 " ## keep track of the rawhit(simhit) index in the association, which includes all central tracker hits in one collection.\n",
0629 " asso=event.get(\"CentralTrackingRawHitAssociations\") \n",
0630 " asso_raw=PodioCollectionWrapper(asso)[\"RawHit\"]\n",
0631 " lookup = build_obj_lookup(asso_raw)\n",
0632 " br = event.get(bname) ## for one event, can have multiple subentries\n",
0633 " vname = \"Measurements_deprecated\"\n",
0634 " ltraj=[]\n",
0635 " lhit=[]\n",
0636 " lweight=[]\n",
0637 " # lpos =[]\n",
0638 " lpart=[]\n",
0639 " lrec_hit_col=[]\n",
0640 " lrec_hit_id=[]\n",
0641 " ## for each traj--> each measurement --> rec hit --> raw hit --> match raw with sim by association index --> particle\n",
0642 " for ii,traj in enumerate(br):\n",
0643 " measurements = PodioCollectionWrapper(traj)[vname]\n",
0644 " rec_hits = PodioCollectionWrapper(measurements)[\"Hits\"]\n",
0645 " for hits in rec_hits:\n",
0646 " hit = hits[0] ## one meas to one rec hit for now\n",
0647 " rec_col=hit.id().collectionID\n",
0648 " rec_id =hit.id().index\n",
0649 " # pos = hit.getPosition()\n",
0650 " raw = hit.getRawHit() #rec2raw is one2one\n",
0651 " indx = get_obj_indices(lookup, raw) ## get raw hit indices in asso (one raw could occur multiple times with different sim)\n",
0652 " if len(indx)==0: ## not included in association means this is a noise hit\n",
0653 " print(\"this is a noise hits\")\n",
0654 " lhit.append(-1)\n",
0655 " lpart.append(-1)\n",
0656 " # lweight.append(0)\n",
0657 " ltraj.append(ii)\n",
0658 " lrec_hit_col.append(rec_col)\n",
0659 " lrec_hit_id.append(rec_id)\n",
0660 " # lpos.append([pos.x,pos.y,pos.z])\n",
0661 " else:\n",
0662 " for ind in indx:\n",
0663 " sim = asso[ind].getSimHit()\n",
0664 " ltraj.append(ii)\n",
0665 " lhit.append(ind) \n",
0666 " # lweight.append(asso[ind].getWeight())\n",
0667 " part = sim.getMCParticle()\n",
0668 " lpart.append(part.id().index)\n",
0669 " lrec_hit_col.append(rec_col)\n",
0670 " lrec_hit_id.append(rec_id)\n",
0671 " # lpos.append([pos.x,pos.y,pos.z])\n",
0672 " traj_hits=pd.DataFrame({\"traj_id\":ltraj, \"part_id\":lpart, \"asso_hit\":lhit, \"rec_hit_col\": lrec_hit_col, \"rec_hit_id\": lrec_hit_id}) \n",
0673 " #\"position\":lpos, \"hit_weight\":lweight})\n",
0674 "\n",
0675 " ## check for overlapped tracks (for now ambiguity solver config won't allow sharing hits)\n",
0676 " reoccur_hit=traj_hits.groupby('asso_hit').filter(lambda group: len(group) > 1)\n",
0677 " for row in reoccur_hit.itertuples():\n",
0678 " print(f'WARNING: duplihits detected:', row)\n",
0679 "\n",
0680 " ## if one rec hit is associated to multiple sim hits, but all sim hits go to the same particle, then only keep one entry. \n",
0681 " ## FIXME: not sure if this will work if we allow overlap traj hit. \n",
0682 " traj_hits = traj_hits.drop_duplicates(subset=[\"part_id\", \"traj_id\",\"rec_hit_col\", \"rec_hit_id\"], keep=\"first\")\n",
0683 " traj_hits['weight'] = (traj_hits.groupby(['traj_id', 'part_id']).transform('size') / \n",
0684 " traj_hits.groupby('traj_id').transform('size'))\n",
0685 "\n",
0686 " if kcombine:\n",
0687 " traj_hits = traj_hits.groupby(['traj_id', 'part_id'], as_index=False).agg({\n",
0688 " 'asso_hit': list,\n",
0689 " 'weight': 'first' # Keep the weight value (should be same for same traj+particle)\n",
0690 " })\n",
0691 "\n",
0692 " return traj_hits\n",
0693 "\n",
0694 "def get_part_hits(event, traj_hits):\n",
0695 " ## ----------------\n",
0696 " # particle-based info\n",
0697 " ## ----------------\n",
0698 " ltraj_id=[]\n",
0699 " lpart_id=[]\n",
0700 " lsimhit=[]\n",
0701 " lgenID=[]\n",
0702 " lraw_hit_col=[]\n",
0703 " lraw_hit_id=[]\n",
0704 " # lpart=[]\n",
0705 " # lposition=[]\n",
0706 "\n",
0707 " ## for fast lookup (instead of traj_hits.asso_hit==ii). Assume no shared hits\n",
0708 " traj_dict = traj_hits.set_index('asso_hit').to_dict('index')\n",
0709 " ## for each simhit (that is converted to rec hit-->measurement candidate), find related particle and traj\n",
0710 " asso=event.get(\"CentralTrackingRawHitAssociations\")\n",
0711 " for ii,association in enumerate(asso):\n",
0712 " sim = association.getSimHit()\n",
0713 " part = sim.getMCParticle()\n",
0714 " # cond_vertex = (np.sqrt(part.getVertex().x**2+part.getVertex().y**2)<1 )&(abs(part.getVertex().z)<100)\n",
0715 " # cond = cond_vertex\n",
0716 " cond=True\n",
0717 " if cond:\n",
0718 " lsimhit.append(ii) ## as before, use unique index (and unique sim hit) from the association. \n",
0719 " # lpart.append(part)\n",
0720 " lpart_id.append(part.id().index)\n",
0721 " lgenID.append(part.getGeneratorStatus())\n",
0722 " raw = association.getRawHit()\n",
0723 " lraw_hit_col.append(raw.id().collectionID)\n",
0724 " lraw_hit_id.append(raw.id().index)\n",
0725 " # lposition.append(sim.getPosition())\n",
0726 "\n",
0727 " ## find which trajectory used this hit\n",
0728 " if ii in traj_dict:\n",
0729 " ltraj_id.append(traj_dict[ii][\"traj_id\"])\n",
0730 " else:\n",
0731 " ltraj_id.append(-1)\n",
0732 " part_hits = pd.DataFrame({\"part_id\":lpart_id, \"part_status\":lgenID, \"asso_hit\":lsimhit, \"traj_id\":ltraj_id, \n",
0733 " \"raw_hit_col\": lraw_hit_col, \"raw_hit_id\": lraw_hit_id})#, \"position\":lposition, \"particle\": lpart})\n",
0734 " part_hits = part_hits.drop_duplicates(subset=[\"part_id\", \"traj_id\", \"raw_hit_col\", \"raw_hit_id\"], keep=\"first\")\n",
0735 "\n",
0736 " # df = primary_hits[primary_hits.groupby('particle')['particle'].transform('count') >= 3]\n",
0737 " return part_hits\n",
0738 "\n",
0739 "def get_traj_purity(traj_hits):\n",
0740 " '''\n",
0741 " traj_hits is the output from get_target_traj_hits()\n",
0742 " returns trajectory and source, max fraction=purity\n",
0743 " '''\n",
0744 " grouped = traj_hits.groupby(['traj_id'])\n",
0745 " # Analyze each group\n",
0746 " result = grouped['part_id'].agg([\n",
0747 " ('total_count', 'count'),\n",
0748 " ('unique_source', lambda x: x.nunique()),\n",
0749 " ('most_common_source', lambda x: x.value_counts().idxmax()),\n",
0750 " ('max_count', lambda x: x.value_counts().max())\n",
0751 " ])\n",
0752 "\n",
0753 " # Calculate derived columns\n",
0754 " result['max_fraction'] = result['max_count'] / result['total_count']\n",
0755 " # result['all_same'] = result['unique_source'] == 1\n",
0756 " return result.copy().reset_index()\n",
0757 "\n",
0758 "\n",
0759 "def plot_part_traj_flow(df, params=None, mcpart=None):\n",
0760 " \"\"\"Create alluvial-style diagram showing particle-trajectory flows\"\"\"\n",
0761 " # dict_part = dict(zip(df[\"part_id\"], df[\"particle\"]))\n",
0762 "\n",
0763 " # Separate used and unused hits\n",
0764 " df_used = df[df['traj_id'] != -1] # Only hits used in trajectories\n",
0765 " df_all = df # All hits including unused\n",
0766 " \n",
0767 " # Calculate statistics\n",
0768 " particle_totals = df_all.groupby('part_id')['asso_hit'].apply(len) # Total hits per particle\n",
0769 " particle_used = df_used.groupby('part_id')['asso_hit'].apply(len) # Used hits per particle\n",
0770 " traj_totals = df_used.groupby('traj_id')['asso_hit'].apply(len) # Total hits per trajectory\n",
0771 " \n",
0772 " # Only include particles that have some used hits (have flows)\n",
0773 " particles_with_flows = df_used['part_id'].unique()\n",
0774 " trajectories = sorted(df_used['traj_id'].unique()) # Only trajectories with used hits\n",
0775 " len1 = len(particles_with_flows)\n",
0776 " len2 = len(trajectories)\n",
0777 " # Prepare flow data (only for used hits)\n",
0778 " flows = df_used.groupby(['part_id', 'traj_id'])['asso_hit'].apply(len).reset_index()\n",
0779 " flows.columns = ['part_id', 'traj_id', 'hits']\n",
0780 " \n",
0781 " fig, ax = plt.subplots(figsize=(12, 8))\n",
0782 " \n",
0783 " # Position particles on left, trajectories on right\n",
0784 " particle_y = {p: i for i, p in enumerate(sorted(particles_with_flows))}\n",
0785 " traj_y = {t: i for i, t in enumerate(trajectories)}\n",
0786 " \n",
0787 " # Draw flows as curved lines\n",
0788 " for _, row in flows.iterrows():\n",
0789 " particle = row['part_id']\n",
0790 " traj = row['traj_id']\n",
0791 " hits = row['hits']\n",
0792 " \n",
0793 " # Start and end points\n",
0794 " x1, y1 = 0, len1 - particle_y[particle]\n",
0795 " x2, y2 = 1, len1 - traj_y[traj]\n",
0796 " \n",
0797 " # Create curved line\n",
0798 " x_curve = [x1, 0.5, x2]\n",
0799 " y_curve = [y1, (y1 + y2) / 2, y2]\n",
0800 " \n",
0801 " # Line thickness proportional to hits\n",
0802 " linewidth = max(1, hits / flows['hits'].max() * 10)\n",
0803 " \n",
0804 " ax.plot(x_curve, y_curve, linewidth=linewidth, alpha=0.6)\n",
0805 " \n",
0806 " # Add particle labels (only for particles with flows)\n",
0807 " ax.text(-0.25, len1+1, f'Particle ID: (used/total hits)', ha='left', va='center')\n",
0808 " ax.text(0.9, len1+1, f'Trajectory ID: (nMeasurements)', ha='left', va='center')\n",
0809 "\n",
0810 " for i, p in enumerate(sorted(particles_with_flows)):\n",
0811 " total_hits = particle_totals[p]\n",
0812 " used_hits = particle_used[p]\n",
0813 " color = 'k'\n",
0814 " if total_hits<TRACK_HIT_COUNT_MIN:\n",
0815 " color=\"grey\"\n",
0816 " if mcpart is not None:\n",
0817 " pp=mcpart.iloc[int(p)]\n",
0818 " if abs(pp[\"vertex_r\"])>VERTEX_CUT_R_MAX or abs(pp[\"vertex.z\"])>VERTEX_CUT_Z_MAX or pp[\"mom\"]<TRACK_MOM_MIN:\n",
0819 " color='grey'\n",
0820 " ax.text(-0.03, len1-i, f'#{p}: {status_to_source[pp.generatorStatus]} ({used_hits}/{total_hits})',\n",
0821 " ha='right', va='center',color=color)\n",
0822 " else:\n",
0823 " ax.text(-0.03, len1-i, f'#{p}: ({used_hits}/{total_hits})',\n",
0824 " ha='right', va='center',color=color)\n",
0825 " \n",
0826 " # Add trajectory labels\n",
0827 " for i, t in enumerate(trajectories):\n",
0828 " total_traj_hits = traj_totals[t]\n",
0829 " color=\"k\"\n",
0830 " if total_traj_hits<TRACK_HIT_COUNT_MIN:\n",
0831 " color=\"grey\"\n",
0832 " if params is not None: \n",
0833 " p = params.iloc[int(t)]\n",
0834 " if abs(p[\"loc.a\"])>VERTEX_CUT_R_MAX or abs(p[\"loc.b\"])>VERTEX_CUT_Z_MAX or p[\"mom\"]<TRACK_MOM_MIN:\n",
0835 " color='grey'\n",
0836 " # print(t, [\"loc.a\"], p[\"loc.b\"])\n",
0837 " ax.text(1.03, len1-i, f'#{int(t)} ({total_traj_hits})', \n",
0838 " ha='left', va='center', color=color)\n",
0839 " \n",
0840 " ax.set_xlim(-0.2, 1.2)\n",
0841 " ax.set_ylim(-0.5, max(len(particles_with_flows), len(trajectories)) +3)\n",
0842 " ax.set_title('Particle to Trajectory Flow (Particles with Used Hits Only)')\n",
0843 " ax.axis('off')\n",
0844 " \n",
0845 " return plt\n",
0846 "\n",
0847 "\n",
0848 "def get_part_traj_counts(event,mcpart, kverbose=0):\n",
0849 " traj_hits=get_traj_hits(event)\n",
0850 " part_hits=get_part_hits(event,traj_hits)\n",
0851 " # mcpart=ak.to_dataframe(get_part(tree,entry_start=iev,entry_stop=iev+1, kprimary=0)).reset_index()\n",
0852 " # params=ak.to_dataframe(get_params(tree,\"CentralCKFTrackParameters\",entry_start=iev,entry_stop=iev+1))\n",
0853 "\n",
0854 " ## -----------Find good track-----------\n",
0855 " ## Get counts per (traj_id, part_id) and total per traj_id\n",
0856 " traj_counts = get_traj_purity(traj_hits)\n",
0857 " ## get generator status\n",
0858 " traj_counts[\"part_status\"]=traj_counts[\"most_common_source\"].apply(lambda x: mcpart.iloc[x].generatorStatus)\n",
0859 "\n",
0860 " ## -----------Find good particles-----------\n",
0861 " ## track hit cut\n",
0862 " part_counts = part_hits.groupby(\"part_id\").size()\n",
0863 " part_counts = part_counts[part_counts>=TRACK_HIT_COUNT_MIN_MIN]\n",
0864 " mcpart_hits = mcpart.iloc[part_counts.index].copy()\n",
0865 " mcpart_hits[\"hit_counts\"] = part_counts.values\n",
0866 " traj_counts[\"part_status\"]=traj_counts[\"most_common_source\"].apply(lambda x: mcpart.iloc[x].generatorStatus)\n",
0867 " ## only do event-by-event quality check when required. Otherwise return the dataframe for further analysis\n",
0868 " if kverbose:\n",
0869 " good_part_id = (part_hits.groupby(\"part_id\").size()>=TRACK_HIT_COUNT_MIN)\n",
0870 " part_hits_good = part_hits[part_hits[\"part_id\"].isin(good_part_id[good_part_id].index)][[\"part_id\",\"part_status\"]].drop_duplicates()\n",
0871 " good_mcpart = mcpart.iloc[part_hits_good.part_id.unique()]\n",
0872 " ## vertex and momentum cut\n",
0873 " cond_vertex = (abs(good_mcpart.vertex_r)<VERTEX_CUT_R_MAX)&(abs(good_mcpart[\"vertex.z\"])<VERTEX_CUT_Z_MAX)\n",
0874 " cond_mom = (good_mcpart.mom>TRACK_MOM_MIN)\n",
0875 " good_mcpart = good_mcpart[cond_vertex&cond_mom]\n",
0876 " ## signal or background\n",
0877 " cond_sig = (good_mcpart.generatorStatus==1)|(good_mcpart.generatorStatus==2)\n",
0878 " good_mcpart_sig =good_mcpart[cond_sig]\n",
0879 " good_mcpart_other=good_mcpart[(~cond_sig)]\n",
0880 " print(\"Number of good particles (signal, other):\",len(good_mcpart_sig), len(good_mcpart_other))\n",
0881 "\n",
0882 "\n",
0883 " if kverbose:\n",
0884 " traj_counts[\"traj_status\"]=0\n",
0885 " traj_counts.loc[(traj_counts.max_fraction<TRACK_HIT_FRACTION_MIN) | (traj_counts.max_count<=TRACK_HIT_COUNT_GHOST_MAX),\"traj_status\"]=-1 ## ghost status=-1\n",
0886 " traj_counts.loc[(traj_counts.traj_status>-1)&(traj_counts['total_count']>=TRACK_HIT_COUNT_MIN),'traj_status']=1\n",
0887 "\n",
0888 " ghost_traj_id = traj_counts[traj_counts.traj_status==-1].index.tolist()\n",
0889 " print(\"list of ghost track id:\", ghost_traj_id)\n",
0890 " good_traj=traj_counts[traj_counts.traj_status==1].copy()\n",
0891 " good_traj_sig=good_traj[(good_traj.part_status==1)|(good_traj.part_status==2)]\n",
0892 " ntraj_sig = len(good_traj_sig)\n",
0893 " ntraj_other = len(good_traj)-ntraj_sig\n",
0894 " print(\"Number of good tracks from sig/others:\",ntraj_sig, ntraj_other)\n",
0895 " ## hit purity for good tracks\n",
0896 " ## Percentage of track hits from a single source \n",
0897 " purity_hit=good_traj.max_fraction.to_list()\n",
0898 " print(\"Hit purity:\" , purity_hit)\n",
0899 " ##-----------Track to particle efficiency----------------\n",
0900 " # fraction of good signal particles that are linked to some good track\n",
0901 " good_part_sig_id = good_mcpart_sig.index.get_level_values('subentry').tolist()\n",
0902 " good_traj_id = good_traj.most_common_source.unique()\n",
0903 " good_traj_sig_id = good_traj_sig.most_common_source.unique()\n",
0904 " common = list(set(good_part_sig_id) & set(good_traj_id))\n",
0905 " print(set(good_part_sig_id), set(good_traj_sig_id), common)\n",
0906 " ## 50% of the total particle hits go to that traj <---- skip this for now for a looser check\n",
0907 " # good_traj['fract'] = good_traj['max_count'] / good_traj['most_common_source'].map(part_hits['part_id'].value_counts())\n",
0908 " # good_traj=good_traj.fract>=0.5\n",
0909 " return mcpart_hits, traj_counts\n",
0910 "\n"
0911 ]
0912 },
0913 {
0914 "cell_type": "markdown",
0915 "id": "925dc95d",
0916 "metadata": {},
0917 "source": [
0918 "# hit-based analysis with podio"
0919 ]
0920 },
0921 {
0922 "cell_type": "code",
0923 "execution_count": null,
0924 "id": "c0a0936e",
0925 "metadata": {},
0926 "outputs": [],
0927 "source": [
0928 "## load rootfile\n",
0929 "## NOTE: MAC users sometimes experience issue with xrootd and can not directly access the official simulation files on JLab server with uproot. In this case, please first follow instructions at https://eic.github.io/epic-prod/documentation/faq.html to download rootfiles to your local computer with xrdcp. \n",
0930 "\n",
0931 "# example background file available on JLab ifarm: \n",
0932 "# /lustre24/expphy/volatile/halla/triton/shujie/rec_bgmerged_forced_18x275_n1000.root\n",
0933 "\n",
0934 "dir_path = ''\n",
0935 "fname = 'rec_bgmerged_forced_18x275_n1000.root'\n",
0936 "tree_pd = read_podio(fname,dir_path)\n",
0937 "tree=read_ur(fname,\"events\",dir_path)\n",
0938 "## get branch name and collection ID\n",
0939 "COL_TABLE=get_col_table(fname,dir_path)\n"
0940 ]
0941 },
0942 {
0943 "cell_type": "code",
0944 "execution_count": null,
0945 "id": "e2eeedaf",
0946 "metadata": {},
0947 "outputs": [],
0948 "source": [
0949 "part=ak.to_dataframe(get_part(tree, entry_start=0, entry_stop=-1, chunk_size=1000)) \n",
0950 "\n",
0951 "varname = \"eta\"\n",
0952 "bins = np.arange(-15, 10, 0.2)\n",
0953 "\n",
0954 "# Filter for charged particles\n",
0955 "# partc = ak_filter(part, part.charge != 0)\n",
0956 "partc=part\n",
0957 "# Create conditions for different generator statuses\n",
0958 "cond_dis = (partc.generatorStatus == 1) | (partc.generatorStatus == 2)\n",
0959 "cond_sr = (partc.generatorStatus == 2001) | (partc.generatorStatus == 2002)\n",
0960 "cond_brem = (partc.generatorStatus == 3001) | (partc.generatorStatus == 3002)\n",
0961 "cond_coulomb = (partc.generatorStatus == 4001) | (partc.generatorStatus == 4002)\n",
0962 "cond_touschek = (partc.generatorStatus == 5001) | (partc.generatorStatus == 5002)\n",
0963 "cond_proton = (partc.generatorStatus == 6001) | (partc.generatorStatus == 6002)\n",
0964 "\n",
0965 "# Plot histograms using your ak_hist helper function\n",
0966 "_ = ak_hist(ak_filter(partc, cond_dis, varname), bins=bins, label=\"1, 2:DIS\", color=\"grey\", histtype=\"step\")\n",
0967 "_ = ak_hist(ak_filter(partc, cond_sr, varname), bins=bins, label=\"200x:SR\", histtype=\"step\", alpha=1)\n",
0968 "_ = ak_hist(ak_filter(partc, cond_brem, varname), bins=bins, label=\"300x:Bremstrahlung\", histtype=\"step\", alpha=1)\n",
0969 "_ = ak_hist(ak_filter(partc, cond_coulomb, varname), bins=bins, label=\"400x:Coulomb\", histtype=\"step\", alpha=1)\n",
0970 "_ = ak_hist(ak_filter(partc, cond_touschek, varname), bins=bins, label=\"500x:Touschek\", histtype=\"step\", alpha=1)\n",
0971 "_ = ak_hist(ak_filter(partc, cond_proton, varname), bins=bins, label=\"600x:Proton beam gas\", histtype=\"step\", alpha=1)\n",
0972 "\n",
0973 "plt.legend(title=\"MCParticles.generatorStatus\",title_fontsize=10,fontsize=10)\n",
0974 "plt.title(\"Primary Particles\")\n",
0975 "plt.yscale('log')\n",
0976 "plt.xlabel(f\"$\\eta$\")"
0977 ]
0978 },
0979 {
0980 "cell_type": "markdown",
0981 "id": "c334e71c",
0982 "metadata": {},
0983 "source": [
0984 "#### check track to particle relation for one event"
0985 ]
0986 },
0987 {
0988 "cell_type": "code",
0989 "execution_count": 19,
0990 "id": "e5642fe2",
0991 "metadata": {},
0992 "outputs": [
0993 {
0994 "data": {
0995 "text/plain": [
0996 "<module 'matplotlib.pylab' from '/opt/local/lib/python3.12/site-packages/matplotlib/pylab.py'>"
0997 ]
0998 },
0999 "execution_count": 19,
1000 "metadata": {},
1001 "output_type": "execute_result"
1002 },
1003 {
1004 "data": {
1005 "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+sAAAKQCAYAAADnkuv/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydB3hc5Zn9zzTNqEuW3BsGXADTq20IEFroELIJIXWTEJKQtv+ETXY3W1I2S/omgfRNIz2QAoTekmAwxQZTXTDGvcmWNBpJ0zTzf853587cKZJGssod6fye53rGU+7cuXPv1Xe+933P60mn02kIIYQQQgghhBDCNXjHewOEEEIIIYQQQgiRj8S6EEIIIYQQQgjhMiTWhRBCCCGEEEIIlyGxLoQQQgghhBBCuAyJdSGEEEIIIYQQwmVIrAshhBBCCCGEEC5DYl0IIYQQQgghhHAZEutCCCGEEEIIIYTLkFgXQgghhBBCCCFchsS6EOKg+MMf/oDFixdnlyOPPBKve93r8C//8i/Ys2fPiO7d733ve3jggQeKHn/iiSfMZ/N2ONu+ffv2Edk+ft9vf/vbePnllzFSvOMd78jbv/0t/NyDYbj7cDz3zWgdw87lS1/6UvZ1r3/96/HpT38abuDpp5/G0qVLsWPHjn6PlWOOOQaXXXYZfvrTnyKVSo3YZ7/yyivmtyx13nD/cD8NFW47F7fD78x9y2PGZs2aNWZ/hMPhotdzX1x33XUH9Vn/93//V/J5Pj6S169yKfc84LZ97nOfK/ncPffcU3S94T7kY05++ctf5u3rkWLXrl1m284991wcffTROPnkk83xd/vttyOdTg97vcM9/js7O3HSSSeV/PsmhJjc+Md7A4QQE4P/+Z//waGHHopoNGqExPe//308+eSTuOOOO1BTUzMin8F1XnDBBWaA5eSoo47Cb3/7Wxx++OEYT/bu3YubbroJs2fPxhFHHDEi6/zP//xPRCKR7P8feeQRfPe7383ub5sZM2Yc1OeM9j4cjX0z0hTuUzJt2jS4DYqJL37xi3jzm99s9qeTuXPn4qtf/aq5v3//fvzmN78x32vfvn244YYbRkys87c85ZRTMGfOnLznPvShD+Gd73wnJio8HniezJs3L/vYM888Y/bHlVdeiYaGhnHdvkrmH/7hH3DGGWfkPfbrX/8azc3NeOMb3zhin7N69Wp84AMfMH+X3vve95oJgq6uLtx9993mHHn44Yfxta99DV7v2MWzGhsb8e53vxtf/vKXzWR3VVXVmH22EMLdSKwLIUaEhQsXmggFOe2009DX14fvfOc7JlLA6N7BwAmAUCjU7/N1dXU47rjjMBEpFM+vvvpq0f4uRW9vL6qrq8v+nErdh0P9ngMx2D51C3/729/w4osvZkW5E54nzt+RA/8LL7zQRCg//vGPIxAIDPtzE4kEPB7PgK9xitiJCEVUJZ4nlQAnHA920nEwmP3wkY98BPX19fjd736H1tbW7HOcBKZwp1DnhOL73/9+jCVXX321mYi99957cemll47pZwsh3IvS4IUQo4I9oN25c6e5ZeSJkRNG40444QQThfr9739flHJop43ed999uOKKK4x44ns5iOrp6cEf//jHbJqvnTbbXwr32rVrTQTl1FNPNevhYOy///u/B932xx57DO9617vMdh577LFmEPX4448P+B5+9pve9CZznyUApdLTH3zwQbzlLW8x6zz++OPxj//4jyYqd7DY6aMUcB/96EdNSud5551nnnv++efxT//0T2a/Mi2at//v//2/vPTpgfYh3899yN+N+5C/yV133VUyzf3f//3fceaZZ5r07NNPP91sS1tb24jtm/6+55/+9CfzeKl9yWOHWQMjXZJhw+P7k5/8JJYtW2a+N4Xxj3/847y086uuuqpo4M/BOLf5ueeeyz7GY56PrV+/fsDPZLSRv0VhFkApKM75/TmpceDAAWzZssX8Bueff77Z14xk8vct/Ez7eOC+vfHGG83r+Jk8Zz/2sY+Z1zCCbv+WdqpyqTRg7otbbrkFl19+uTkGme7LrAD+5gMRj8fNhN8b3vAGs285Ccht5/dwwnOT1wKe51z/WWedZQQZv3N/sLzhxBNPNJOKNp///OfNd/nRj36Ufay9vR1Lliwx218qDZ7HJKOh5Jxzzsnuj8LziBMsvOZx+/h9br31VowG5eyLcvcrJ2f43VasWGGOlbe+9a15x+tIU5gGz+No48aNJkPL3q/2scVjit+BmVb2McVz6mc/+9mAn8Hjlxknn/jEJ/KEus21115rziuWGPD7O8+FO++8E9/4xjfMtY1/GxgJtydP+4N/R7ifC//O8f+8djmvC9ye5cuXm2wYIYSwUWRdCDEqUBSQKVOmmFuKQ4qxWbNmmf8/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/x3f/va3MWrUqHZ/HhbaMbTzhUefcUk9G+L5uts+zyXy/fr1M68/8MAD5rnjpJ0T/9bk5eWZAryrxeXv/NrcNnovfr0HDx7EY489Zqboqerq6kxI78igzgH9//sQUFVrW97bWKggIiIiIiLS7fgurHOpO4P5a6+9ZlrNud/5zTffNE3lXILd1vLxrsYwzsfqBud//dd/vWyZOqfiX//617/0eea8OMDPxel0S0fF8TZO2bkMn3v6WwvGXKmwc+fOa5qqs02fYd/79fPIN5boPfroo0kFfKl73dmi39GGJ6+2FxERERER6TF8F9YZajnF5Yt7NjfPNmfZGvezp3Lvy8I34lJsBmdOwN2iM+6X5nTX3TfNJezEqbS7/53vz+k4PxYDsXsfhmQGYQZc/sr92FzWzSk6g/GUKVPiFxBS92pz6T7v672dR6O99dZbeOSRR1qcQrtnqLNNnhcqGI759fNzcTLfVuEcQzrvx4sEPJO9JWPGjDH34fPhLYK70tfPsD5hwoTLJuo84/4b3/iGeVzuMXV83XuxgNsYWiulExERERERkW4Q1t3GdO7tZtBlezlDbUtBnTZv3myWh3uDrnuMGKfx9Pe//x07duyI34dldcRp8HXXXWdeX758uflcqfdxW9sZyLkvnCVyDPy8jWeMcwn81WDDPT+GO5FvLVDz8fLcct6fXzuPPfPuV28JQ/X8+fPN4+Te8paK+AYNGmQuArATwLv/vK2vnxcMuELgzjvvvOy5J7bbe3mf+6qqKrPvnu34IiIiIiIi0j6BZndjtfQahw4dwsqVK83e//a0s+/bt89cOHjqqaeu+nPx87AAjw33IiIiIiIi0o0n69K5OKXndJ9Tb7cwry2c0LM/4FpwK0BrS/JFRERERESkZZqsi4iIiIiIiPiMf6rVRURERERERMRQWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERHxGYV1EREREREREZ9RWBcRERERERGBv/z/ARfVGvBgZIOPAAAAAElFTkSuQmCC",
1006 "text/plain": [
1007 "<Figure size 1200x800 with 1 Axes>"
1008 ]
1009 },
1010 "metadata": {},
1011 "output_type": "display_data"
1012 }
1013 ],
1014 "source": [
1015 "\n",
1016 "## get one event\n",
1017 "iev = 4\n",
1018 "event = tree_pd[iev]\n",
1019 "parts = event.get(\"MCParticles\")\n",
1020 "\n",
1021 "traj_name=\"CentralCKFTrajectories\"\n",
1022 "para_name=\"CentralCKFTrackParameters\"\n",
1023 "mcpart=ak.to_dataframe(get_part(tree,entry_start=iev,entry_stop=iev+1, kprimary=0))\n",
1024 "params=ak.to_dataframe(get_params(tree,para_name,entry_start=iev,entry_stop=iev+1))\n",
1025 "tracks=ak.to_dataframe(get_branch_ak(tree,traj_name,entry_start=iev,entry_stop=iev+1))\n",
1026 "\n",
1027 "traj_hits=get_traj_hits(event,bname=traj_name)\n",
1028 "part_hits=get_part_hits(event,traj_hits)\n",
1029 "plot_part_traj_flow(part_hits,params,mcpart)\n"
1030 ]
1031 },
1032 {
1033 "cell_type": "markdown",
1034 "id": "46251d5e",
1035 "metadata": {},
1036 "source": [
1037 "#### plot hit positions for one event/track/particle\n"
1038 ]
1039 },
1040 {
1041 "cell_type": "code",
1042 "execution_count": null,
1043 "id": "8de14d5f",
1044 "metadata": {},
1045 "outputs": [
1046 {
1047 "name": "stdout",
1048 "output_type": "stream",
1049 "text": [
1050 "SiBarrelTrackerRecHits\n",
1051 "SiBarrelVertexRecHits\n",
1052 "SiEndcapTrackerRecHits\n",
1053 "TOFBarrelRecHits\n",
1054 "TOFEndcapRecHits\n",
1055 "MPGDBarrelRecHits\n",
1056 "BackwardMPGDEndcapRecHits\n",
1057 "ForwardMPGDEndcapRecHits\n",
1058 "OuterMPGDBarrelRecHits\n"
1059 ]
1060 },
1061 {
1062 "data": {
1063 "text/plain": [
1064 "[None, None, None, None, None, None, None, None, None]"
1065 ]
1066 },
1067 "execution_count": 37,
1068 "metadata": {},
1069 "output_type": "execute_result"
1070 }
1071 ],
1072 "source": [
1073 "df=get_branch_df(tree,\"_CentralTrackerMeasurements_hits\")\n",
1074 "[print(COL_TABLE[nn]) for nn in df.collectionID.unique()]\n"
1075 ]
1076 },
1077 {
1078 "cell_type": "code",
1079 "execution_count": null,
1080 "id": "dbbc129f",
1081 "metadata": {},
1082 "outputs": [],
1083 "source": [
1084 "iev = 20\n",
1085 "mcpart=ak.to_dataframe(get_part(tree,entry_start=iev,entry_stop=iev+1, kprimary=0))\n",
1086 "params=ak.to_dataframe(get_params(tree,\"CentralCKFTrackParameters\",entry_start=iev,entry_stop=iev+1))\n",
1087 "tracks=ak.to_dataframe(get_branch_ak(tree,\"CentralCKFTrajectories\",entry_start=iev,entry_stop=iev+1))\n",
1088 "\n",
1089 "event = tree_pd[iev]\n",
1090 "asso = event.get(\"CentralTrackingRawHitAssociations\")\n",
1091 "trajs = event.get(\"CentralCKFTrajectories\")\n",
1092 "\n",
1093 "## get all hits for one event.\n",
1094 "all_rechits=event.get(\"CentralTrackingRecHits\")\n",
1095 "all_pos=PodioCollectionWrapper(all_rechits)[\"Position\"]\n",
1096 "xpos, ypos, zpos = np.array([[pp.x, pp.y, pp.z] for pp in all_pos]).T\n",
1097 "rpos = np.sqrt(xpos**2+ypos**2)\n",
1098 "\n",
1099 "\n",
1100 "\n",
1101 "\n"
1102 ]
1103 },
1104 {
1105 "cell_type": "code",
1106 "execution_count": null,
1107 "id": "355c67e1",
1108 "metadata": {},
1109 "outputs": [
1110 {
1111 "data": {
1112 "image/png": "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dffw4cNm7NixdrKMtm3b2jH1pk6dakO5f/zjH2bv3r12WQWCsXSZDpj27dtnwzwtqy6+GucvlgJEb10IP2a/ApBNLpxMAwAAAJBDQV+lSpXMmWeeabJJIZ2q8UaPHm0nzxB1x9UB0b333muWLVtmKlasaC9X9UNB/NcVthxyB7NfAcgmF06mAQAAAAim0sW5kca8e/755002eVV6Xbp0ibr84osvtu3atWsjy2iijViq0FOwV61atcj6FByqSjCWqv7iVQUinDTrlbpwM/sVgGxw4WQaAAAAgByq6LvpppvMbbfdZn72s5/ZmcDUtTVW7969TTpp3L2VK1fGrfST0qVLm4YNG9qqvo8++ijfcrqsUaNGdnw+/9h8urxNmzaR5Xbu3GmDwmbNmqXx0cAlzH4FIJu8k2mxJ7IAAAAAIC1B37Zt28z7779vNm3aZF566aV812dioHAFiU888YR5/fXXzXnnnRe5XH+LwrqyZcua7t27m8WLF9vZdb2Zd7dv326WL18eNaNU165dbeg3b968qKBv/vz59vH07NkzrY8HAABXTqYBAAAAyKGg73e/+505cOCA+c1vfpO1gcJV6aAQb/r06ebUqVN2Mo41a9aYadOm2cvbt29vlxszZowZMGCAGTlypBk+fLg5duyYmTJlip1Jd9iwYZH1qWvuqFGjzOTJk+3vnTt3jkzucc0115imTZtm/DECAHKPCyfTAAAAAORQ0Ldq1Spzzz33mMsvv9xk06RJk2yw9+STT9rAT7PnqkpPE3R4FETOnj3bTJw40c7QW6ZMGdOxY0e7fK1ataLWp6CvSpUqZs6cOWbWrFmmTp06dqIPhYQAAGSCCyfTAAAAAORQ0Fe7dm07jlm2afy9X/ziF/anMK1atTKPPvpoQuscMmSI/QEAz1dffWVnY9YELS7870O4uXIyDQAAAECOzLr7ox/9yI6PBwC5QCGfuko+9dRTNvQD0smVk2kAAAAAcqSiTzParlu3zvzgBz8wF198sR3TLnb8IP9EFwAQZKrk03hphw8ftqGfJkgA0sU7mdatWzeeZAAAAADpD/oefPBB23766adxBwQn6AMQJqquuvrqqyPdd4F04mQaAAAAgIwGffFmAQSAsId9VPIhE1J9Mu29994zM2fONCtXrjRHjx419erVM1deeaX52c9+Fllm7dq19n412683adWv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sN0/U+uyIHxPBmUCllyW7SFiwvR+T4YqhjWmO5XDAIIosEHfXXfdZc4++2w7jl5B9u7da9saNWrku06XqVJv3759kWV1RlPdF2JVr149si4gnYI0kHGQthUAEJ5unPXr1zeHDh2yrcuC8D1J90T3ZXuImES1aNHCHlupDQOdTChbtmyB48ADgMvKZnsDli9fboYMGZLQsk8//bT98tCZopdfftn+XapUqSJvV9gy/usSWReQTl51XhAEaVsBAEVTcLZy5UrnA7TFixfbE7VqmzZtalwVhO9JTWrnveZMwuImb2gY1yc0e/PNN83JkydtqyGSgs7rreP68w4ATgZ9qsq7++67E95hOnjwoJ0FVzPp6gzL/v377XWaVVf0t86+6Iy0V8mniTZiqUJPwV61atXs31pW3XjVDaRSpUpRy2pnslWrViV+rAAAAK4KSoDm7ft5ravU1VJVWAoKXA3R5s+fb6sj1Y4fPz7bm4NChohxXePGjc0HH3xgWwBAjgd9CuuuueaahJdXd5Ivv/zSPPLII/Yn1oUXXmguvfRS8+c//9k0bNjQVKxY0Za7x9JljRo1MhUqVIgam0+Xt2nTJrLczp07bVDYrFmzYj5CwA0aHFnVsOpClOnx/AAA7tPJVH/rKp2k1RjM3sla17tciqtBjdebhV4tKKnWrVvb8dHVhkEQPr8AEJox+urUqWMef/zxfD8aOFqhnX6/6aab7LKq7NOMbDoz7Z8xafv27bbLcK9evSKXde3a1d5+3rx5UfenM5za+enZs2cGHyWQ+sGXszlIcthmYgOAMLrqqqvsuMRqXabt08la17czCOPfaf9XMxirhZuCMhmHhlVSla3aMAjC5xcAQhP0KYzTuA+xPwoAtaOi3/0z544ZM8Z2xx05cqR57bXXbOh344032pl0hw0bFllOXXdHjRplnnjiCfOnP/3JvPPOO2bWrFlm6tSptuLQ5S4sCKdUD76czUHBwzYTGwCE0emnn27atm1rW5epakg9PNS6TCeZN23aFHWy2TUffvihPaGtFm4KymQcmr1Zk3GoDVOXaVe73QOA0113061JkyZm9uzZZuLEiWbs2LE2DOzYsaOZPn26qVWrVtSyCvqqVKli5syZY0M+hYcjRoywISEQ9MGXszkouMJFr9swAMBNQemqppO2GvRfrcuD/j/33HO2kl3tDTfcYFzUrl078/nnn9sWbgrKZBzly5e3obFaAEB2hSbou+++++xPPJpIQ90GE6EZgBOdBRgIyuDLyQ4IruXfeustu8PWqVOnEp/NDMLMgwCQ65o3b24r0NS6TEOvKOTzD8Hionr16tmxntW6asWKFTY0VRuWsdXCJiiTcfTr14+TugDgiMB13QWQ/m4fWm7NmjVm9erVzncVAQCkxrJly8zWrVtt67LzzjvPjs2s1mXf/va3TaVKlWzrKlXyqbcLFX0oqapVq9oZd9UCALKLoA/IAckOKKzlVAl7/vnnO99VBACQGqrmO3XqlG1d9uKLL5o33njDti7TNmoGY7WuevPNN83Ro0dtCzcFZTKOoIwlCAC5gKAPyAHJDiis5TSeXu/evRmEGAByxBVXXGFn3VXrsk8++cR2N1XrsmxOgpUoBZH+Fu4JSoCmLv8an8/1rv8AkAsI+gAAABAY3mD/rg/6741Pq9ZVV111lQ131SIcvTKyRUGkJp9xPZAEEJ5KYhSMoA8J4wMPAEB4PfPMM2bfvn22dVmFChXsZFFqXRaE/aamTZuam266ybYIR6+MbNm+fbs5duyYbQEEW1AqiVEwgj4kjA88ULgNGzaYSZMm2RYAgqZ06dJRrasuvfRSU61aNdu6TLPXa99JrauCEEbmOlXJPfroo7Z1mSpXVWXrcgUrgHBVEqNgbu/JwSl84IHCLViwwFbDqAWAoNFEHP7WVdu2bTOVK1e2rctUdehvXcRJXPe98MIL5tNPP7Wty1R12KlTJ9uGQVACVuSOTJ6YCUolMQpG0IeE8YEHCteoUSNTpkwZ2wJA0HTp0sX+D1PrsqCceFTooW1U6yomUHBfECZ1CeNxQlACVuQOTswgGQR9AJAivXr1sgfIagEgaN0j33//fTubrVqXHThwwGzatMm2LgvCdq5bt86Oq6YWbgrCpC5hFJSAFbkjKCe54AaCPgBIkbCdzQaQW2fhjx49GtW6KiiVNkHYzvr165tDhw7ZFm6iC2l2ELDCNRxnIBllk1oaAAAASfHOvrt+Fj4vLy+qdZUqbBSeuV5pE4TtfOmll8z+/fttm+6ZdxVYaQxbVRCqylGBsiZ+KVeuXGQZjQ95/Phx+3uVKlXs9V4lbJ06dcyJEyfsbc8880y73bpOB7/nnHOOadiwoVm8eLHtfq51V6pUyd5eYyRqnYcPHzY9evSw4ev69evtfamCVRO7nH766eaLL76woafuQ9X5qnLUerSMbqvP79q1a20ApHVqdtl+/frZ2yrE1/XpONH39NNP221TO2rUKOMqvRbpfB4AAIkj6AMAAMjAWXjXHTlyJKp1vdLGdVWrVjWNGze2rasUminYzUT3YoWesRMbKGwrqIL04MGDUX/v3Lkz8vvmzZsjv+/Zs8esXr3arFmzJmpd8d7HCgL1eP0Tzuj2e/fujQq4X3vttXyB97Jly2zrBY+6fuHChaZt27a2YlfS8TlX+OhvXa9cliD8vwOAMCPoAwAAgK3oUsVSuiu7ckUQgg8v4MtE0KfKxrBV9F1++eX2tums2NW26HEFYZIcfwsAyB6CPgAAANiJhGrVquX8gbqqwrwusS5PUBCE4KN69epm3759tk03vVYjRoxI6320bt06Zevq1q1bvst69+4dd9l0BrkffvihDRbVdujQwbgqKJXLYfs/AwDxMBkHAAAAAjPQt6rC1HVTrcuCMOvutddeaxo1amRbuCkos79u2LDBTJo0ybZhEITJdACgIAR9AAAACAyNjaYKJ9cnDVEQuWXLFqcDSWYWdZ/GKtQYgrFjFrrm2WeftdWhasMgKAErAMRD0AcAAIDAuOKKK+x4bGpd53oYqe6Jjz76aL5JMuAOTfihAE2tyzTxjMZHVBsGhOAoisYIffXVVyPjiAIuIegDACCE1F3wgQceMMOGDTMdO3Y0zZs3N1OnTo27rAaY1yymF1xwgWnfvr0ZPXq02bp1a9xlZ8+ebfr06WNatWplB7afNm1aZPB8BFtQDlqCcgDepk0bG3yodRXdE92n/8uqYFXr+hifmjBELZBLEy6pBVxD0IeMC8qBBAAEmbp6Pfnkk3aGy549exa43MaNG83gwYNtWKfxle699147rtigQYPM7t27o5adMWOGueeee+yA9LNmzbLLPPTQQ2bChAkZeERINw5aUmvp0qV2xla1rmrXrp0NI9XCTe+9956tDFXrsqCM8QmkiiZaOvfcc52ecAm5i1l3kbUDCQnT7FwA4BKNLfTuu+/aShAFdnPnzo273JQpU0z58uXNzJkzTdWqVe1lLVu2tOMSKcwbP368vWzPnj026Bs4cKAZN26cvUwzQJ44ccIGhEOHDjVNmzbN4CNELs4SK6tWrTKLFi0yffv2Teksq6mmkM/fumjFihV2+9S6/FzmssqVK9sKbbUA3BG2maYRLlT0IeM4+wEA6aeATz+FUUinCmtV6HkhnxcSKsRbsmRJ5DJVJR09etT0798/ah36W9Um/mWBdFLIp/eiWpc1a9bMlC5d2rauYsIB91111VV2ZmS1yBx6IAEIMoI+ZByl/QDgBs0IeuTIETt+Xyx1R9m8ebMNVGT9+vWRy/3q1q1ratasGbkewRWUrrveezD2vegaVchpn8flSjkF/Jo8wR/0AwjO/0MAiIegDwCyiDPGyPY4flKjRo181+kyVepptkdvWXXxjdd9rHr16pF1Ibjq169vDh06ZFuXafIYf+uqN954wxw8eNC2riLMcF9QJkwJ2/4MPZAABBlBH7IibDsDQHFxkAUXFNbF139dUV2BEWyvvfaa/V5W6zIFy/7WVUHoFkuY4b6gTJiybNkyu0+jNgzogQTXcPyMZBD0ISsIN4CvcZCFbPIq+TTRRixV6CnYq1atWmRZdeM9fPhwvmVV9RevKhDBou6bquJ0vRunBj+vUKGC84Ogn3HGGea6666zrasIM9znnzDF9RBC3w+cxAfS46233rLH0GrTjVAx+Aj6kBWEG8DXOMhCNjVs2NBUrFgxMhO6ny7TAPAKVPzjocUuu3PnThsUujzhABKjmT0V7qp12dtvv21DZ7UomQ0bNthZs9XCTUGoDPVODulEAcM4AOnh9arIRO8KinKCj6APWUG4AQDZV7ZsWdO9e3ezePHiqHBn+/btZvny5aZXr16Ry7p27WpDv3nz5kWtY/78+Xans2fPnhnddqTehRdeaMqVK2dbl3nvVdcDySBYuHChrchVCzcFoTJUunXrZvfv1QJIvU6dOtliGbXpRlFO8JXN9gYAAID00Fhr6kqlCQFEVTvPP/+8/V0HY5UqVTJjxowxAwYMMCNHjjTDhw83x44dM1OmTLEz6Q4bNiyyLnXNHTVqlJk8ebL9vXPnzmb16tVm6tSp5pprrjFNmzblZQw4ja2l11+tyzPFEvSlzgUXXGD/T6iFmz777DM7EYcq+lwO+7Zt22Yna1LL9wGQvkKZsN0X0oOgDwCAkLrrrrvsbI0ehXxe0PfSSy/Z2VWbNGliZs+ebSZOnGjGjh1rB33v2LGjmT59uqlVq1bU+hT0ValSxcyZM8fMmjXL1KlTx4wYMcKGhAg+VWaq653rk64oaFZ3cdfHhVRVrKplVRnboUMH4yKN+6bXXC2VWG5asGCB+fzzz22r/7eu0vfJypUrnZ+1GwByAUEfAAAh9fLLLye0XKtWrcyjjz6a0LJDhgyxPwiffv36RSqHXNa3b1/b1VStyxTyaRIFta4GfaoQ06DrLleK5bpDhw7ZMFaty9544w1bPa6Wij4AyC7G6AMAAEBgxgJbtWqVDafUuuy73/1uVOsizbCscRldn2k5l3kznceb8dwl7dq1sxXhagEA2UXQBwApxpT0AJA+mzZtMqdOnbKtyzSpjSa8UesqhXzly5e3Ldx02WWX2YmQ1LpM3b9VwaoWAJBdBH0AkGJMSQ8A6XPFFVeY6tWr29Zlp512mjlx4oRtXaVJV2rXru305Cu5Tq/Nrbfe6vxr1KJFC9vFWC0AILsI+oAcn8lN43KpReowJT2AIApKNbImhNFEHGpd5lU2uVzh9N5779l9ALVwU1A+l5qtWxV9agEA2UXQB+QwDbquGTnVIvVT0qsFgKB46623bEWyWpctWrTIbN261bYu0yy2msHY5dlst23bZo4dO2ZbuEmTuSxdutS2LuvUqZMdo08tACC7CPqAHKaZFc866yznZ1gEAKSfQil/66qaNWvabVTrMk1KcPHFFzs9OYEqsPwt3BOUMSk//PBD+7lUCwDILoI+IIcFZYZFAED6qRJHQw+4XpGjGWIrVark/EyxQamQhNuCMiYlJ48BwB0EfQAAAAjMsAP16tUzx48ft63LDh48aA4dOmRbV2myEH8L95x++ummbdu2tnUZJ48BwB0EfQAAAAiMl19+2Rw9etS2Ltu9e3dU6yIFkf4W7tHkFqoMZZILAECiCPoAAAAQGEEZ9P/888+3Y5apddU555xjt1Et3JSXlxfVAgBQFII+AAAABMb7779vJ49Q67JXX33VbqdaV1122WV2whC1cFPr1q1N7dq1bQsAQOiDvvfee88MHz7cXHjhhfbLr3fv3mb69On5llu7dq2dcOCCCy4w7du3N6NHjzZbt26Nu87Zs2ebPn36mFatWpkePXqYadOm2XFgAABA8Hz11Vc2aFGLcFC3XX/rqiNHjkS1LgrKuIy5TMc7n332mW0BAAh10LdgwQIzePBgu2Ny//33m4cfftiGfrFl7Rs3brTLKaybNGmSuffee+309IMGDco3ZsqMGTPMPffcYwPDWbNm2WUeeughM2HChAw/OgAAkAoa2+qjjz6yLcIRilaoUCGqdVXTpk2jWhetWrXK3HfffbaFm7Zs2WKOHTtmW5ctX77c3H333bYFAGRXWRNAO3bsMLfffru59tprzZ133hm5vGPHjvmWnTJliilfvryZOXOmqVq1qr2sZcuWdgp4hXnjx4+3l+3Zs8cGfQMHDjTjxo2zl3Xo0MHOQqaAcOjQoU7vqCFxOoDRAd93vvMdzmADQMjpf72/RdGhqKjKy1X9+vUzL7zwgt2Xc5l6huhEs1pXLVq0yFZGqqVrqJsOHz4c1bpq8eLFtqu6Wh1DAQCyJ5AVfXPnzrWzg6mCrzAK6XRmWhV6XsgnZ511lv0CWrJkSeSypUuX2h2d/v37R61Df6tK0L8sgo3qDgDIHenomhiUyrdkKQw999xznQ9FtU/XuHHjqH07V/c31OXS5WpSTWiiyThcn9gkl1111VWmevXqtnVZr1697CQ5agEA2RXIir53333X1KhRw3z88cfmpz/9qVm/fr39AtQXyy9/+cvIjp9K3DUuSvPmzfOtQzuyb775pg331PVD6/Au96tbt66pWbNm5HoEH9UdAIBcqHwrbijqOoWsa9assUGrqvtc9fnnn9uTzmpd9cknn9hwRm23bt2yvTmIQz2KbrrpJuefGxVRUMkHAG4oHdSuuypfHzt2rOnbt6/529/+Zq6//nrzzDPPRI3Tt3fvXtsqFIyly7Tcvn37Isuqi2/lypXzLasQ0VsXgo+BpwEAmax8C2sFYLaoSk5jlql1mVdJ6nJ42q5dOxv0qQUAAOGQ9Yo+Ddg6ZMiQhJZ9+umnTYsWLWxAp0o8zZ47YsQIe53OIJUrV85OtrFs2TJz0UUXRW6nLgkF8V9X2HIAAACSbHgT1grAbKlWrZqtklPrMk1woXBXravjPL/99ts2NFXLGH0oCQXv3tiZZ5xxBk8mAORy0Hf22WfbGZoS4X1peBV6Xbp0ibr+4osvtkHf2rVrbdDnLaeJNmKpQk/BnreTqGUVHqpSsFKlSlHLquqvVatWxXyEAAAglzFkRGodPHjQ7sOpddmmTZvMqVOnbOsqTZ6gE+hq4aagBGjaxk8//dS21113XbY3BwByWtaDPo2Bd8011yR1G425t3LlynyXe112S5f+ukdyw4YNTcWKFSNn0f10WaNGjez4fP6x+XR5mzZtIsvt3LnTBoXNmjVL8pEBAAAEZ+y7oNCwLUGYdbdz5852BlK1rjr99NPNrl27bAs3Pfvss3bYIrU33nijcZU+j0H4XAJALgjkGH2aRVdef/31qMu9v72grmzZsqZ79+52J+vAgQOR5bZv3267DPtnheratasN/ebNmxe1zvnz59uzxj179kzrYwIAAEDRVNWkiiGXq5vk/ffft5Vyal1VpUoV25NFLdyk4xAVM7g+xFBQPpcAkAuyXtFXHOqyqwBv+vTptktE27Zt7exr06ZNs5e3b98+suyYMWPMgAEDzMiRI+1EHRqHZMqUKXYm3WHDhkWWU9fdUaNGmcmTJ9vfdfZ19erVZurUqbbi0NWxVeA2jc2jsZlUhbpu3TrbfUuVHQAAoHg05t2iRYtsZZ/r48q5Hs5oqBud6E50YpniePHFF+342epl442z7alataqdCE/7Rlu3bjXHjx+326P9+wYNGpiNGzfa5bwgUifxdXuNy62u21rOC8JEl2sZrVe9cjzq7eOFZbqNJuDTMYHHvw797v1ofd///vftmJBbtmyxXVN1ubZRVboqHNAQP5q4T8cL6Qi5OnbsaN/vaoOwz8u+LgBkXyCDPpk0aZIN9p588kkb+KkLsM4iaYIOvyZNmpjZs2ebiRMn2ll6NbOYvih1m1q1akUtq6BPOxJz5swxs2bNMnXq1LGTfSgkBIrDG4Bd4/N4O5R03wIAuCgoB+rPPfec/U5V63LQ16NHD7Nw4ULbuko9XrSPohOS6XrNFfLJkSNH4t6/fr744ovIZd5yXsgnseMx+tflBXSioFA/GnPbT+Gef1l/yBe7Dv3u/a2KTIVsCvy83kG6TvevHkPe2IYa5iddY9OtWLHC3o9al9/vej4++OADs3v3btO/f/9sbw4A5LTABn06K/iLX/zC/hRFE2k8+uijCa1XMwAnOgswUBTvDLm/og8AABcFZXbgc845x36nqnXZtm3bbLWaWld7hjz99NM2ZFOrE97p0KlTp5yo6EvX2HRBGftOgbECSZcnnwGAXBHYoA8I2gDsjFkCAHBZUGYHVpddTR7h+nbWr1/fTh6n1uUqTn+brrG1vfG1g6qgSroOHTpkbOw712k8c1U/Mq45AGRfICfjABBOOtB49dVX03rAAQAo/OSUy912/d1N/ROtuejll1+21V5qXeVVyjEZh7s+++wz2zNJrctU9agKSLUAgOwi6APgTJjndRtTCwBAPOrGqC6Ual3mjd/mtS5SF1R/C/c8++yzttuwWpd5XZ/94x0CALKDoA8IKVer4woL89QN69xzz3W+OxYAIHs0VtlZZ53l/JhllSpVimpd5FVfUYXlLm/8QNdncFYXY42xyFA1AJB9jNEH5NCg6i7MqFjYGFD+MQ0BAAjymGVeV0uXu1w2btzYTnihNl00YcXzzz9f4PX67i/opKR/koziKFOmTFRFZWHr04Qd3uy8RV3vrUeTeuhy/fzgBz9Iy6Qr/fr1C8RkHOqirolS1Lo8OzAA5AIq+oCQilcd50LX2KCMAQUAQEloVmAFQi7PDnzllVeabt262TZdFi9eXOj1hfU8KGk30Nhu04Wtr7CQL/Z6bz2auffIkSPm0KFDZuHChSadwbbrlXKXX365nX1YLQAgu6joA0IqXnVcUGZUBAAg6IIwO3AmKul79eqVExV9uR5wqZrxpptuyvZmAAAI+oDcQtdYAAD4zs2kDh062B8AAJAZdN0FAAAAAAAAQoCgDwAAAAAAAAgBgj4AAAAAAAAgBAj6AAAAAAAAgBAg6AMAAAAAAABCgKAPAAAAAAAACAGCPgAAAAAAACAECPoAAAAAAACAECDoAwAAAAAAAEKAoA8AAAAAAAAIAYI+AAAAAAAAIAQI+gAAAAAAAIAQIOgDAAAAAAAAQoCgDwAAAAAAAAiBstnegKDbtm2bbTdu3Gj69++f7c0BgJyi/73+/8VwD9+TAAAAyDUbs3icQtBXQkePHrXtkSNHzNq1a1PxmgAAivm/GO7hexIAAAC56mgWjlMI+kqoVq1aZvfu3aZChQqmfv36qXlVAAAJ0RkyfXnqfzHcxPckAAAAcs22LB6nlMrLy8vL+L0CAAAAAAAASCkm4wAAAAAAAABCgKAPAAAAAAAACAGCvhyzfPly07x587g/K1euzLe8Jhi57rrrzAUXXGDat29vRo8ebbZu3Rp33bNnzzZ9+vQxrVq1Mj169DDTpk0zx48fN65YtmyZ+fWvf223sW3btqZr165m1KhRZs2aNfmWvfXWW+M+R7ptEB97rIMHD5p77rnHdOnSxZx//vnmyiuvNM8995wJokRf1zC+psl8nsP0WQaC4sCBA+aBBx4ww4YNMx07drSfzalTpxa4fDo+p7t27bL//zp06GDatGljrr32Wvt/EwXL5X2lIAvTvk1QsB8S3O8cvm/cfo3SddzCPkHq8gLXP0NMxpGjxo0bZ99Afs2aNcs3HfTgwYNNixYtzKRJk+xAklOmTDGDBg0yzzzzTNSgkjNmzDCTJ082I0aMMJ07dzarV6+2t9mxY4f5/e9/b1zwz3/+0+zdu9cMGTLENG3a1E6i8re//c1+gP7617+aTp06RS1fsWJF89hjj+W7LFYQHnusMWPG2O285ZZbTOPGjc3ChQvte+LUqVOmX79+JkiSeV3D+poW9XkO22cZCAr9b3ryySfNt7/9bdOzZ08zd+7cApdNx+f02LFjdid0//795rbbbjO1a9c2c+bMMTfccIP9P/nd73437c9BkOXivlKQhWnfJmjYDwnWdw7fN8HYL0j1cQv7BKk7rgzEZ0iTcSB3vP3223nnnntu3v/8z/8UuezPf/7zvA4dOuR99dVXkcu2bduW17Jly7wHHnggctnu3bvzzj///Lzf/e53UbefMWNGXvPmzfPWr1+f54Ivv/wy32UHDhzIu+iii/KGDh0adfmvfvWrvLZt2xa5zqA8dr9XX33VvgcWLFgQdflPfvKTvC5duuSdOHEiL0gSfV3D+Jom+nkO22cZCIpTp07ZH9m1a5f9vE6ZMiVjn9O///3v9j5XrFgRuez48eN5ffv2zRswYEBKH2uY5PK+UlCFbd8mKNgPCeZ3Dt837r9G6ThuYZ8gdceVQfgM0XUXcZ04ccK8+uqrpnfv3qZq1aqRy8866yx7dnvJkiWRy5YuXWpT7P79+0etQ39rUmf/stmkVDxWlSpVTJMmTcxnn31WrHUG5bH7LV682FSuXDlf6be2+YsvvjDvv/++CZJUv65BfE1z7bMMBEWpUqXsT7Y+p/r97LPPtt1KPGXLljVXXHGFWbVqlT2bjOLj/6s7wrZvEyZ8Ttz6zuH7Jhj7BYlinyDzx5UnArLPRtCXoyZMmGDOO+88065dO3P99deb9957L+r6LVu2mCNHjtixAGKde+65ZvPmzfZNK+vXr49c7le3bl1Ts2bNyPUu+uqrr8wHH3yQryuO6PGrvFYluRdffLF9zlTK6xfEx65t0j8r/ePw815rF7c5Va9rWF/Twj7PufJZBoIsXZ9T/R5vnWH6f59O7CsFRy7s27iM/ZDg4PsmOFJ93MI+QWqOK4PyGWKMvhzzrW99y/Y5V9pco0YN+0acNWuWvWzmzJl2wEnx/olomVi6TAn0vn377JtUy5YvX96eSY1VvXr1fP+QXHLXXXeZw4cPm5EjR0ZdrnET9ON9oN955x07RoIGw/z3v/9tk30J4mPXNtWvXz/u9nrXB1281zWMr2kin+dc+SwDQZauz6l+9/63xy7nv19EY18peHJh38ZF7IcED983wZCO4xb2CVJzXBmUzxBBX8BnutIBfSKefvppezZAVT/68WiGmF69etlBih988MFI0OcprLTYf10qS5DT9dhjaRDMBQsWmN/97nd2Bhw/DYTpp7Mpet5+/vOf20FT/ddn+rGnQqKvaxAV9LqG8TVN5vPs6mcZCIpUfO8UJR2f0zD/v09ELu8r5Zpcf69nA/shwcX3jdvSddzC/8nkFJYXuP4ZIugLMPXhvvvuuxNa9owzzijwumrVqplLLrnE/Otf/7JlqJrNx0uo9+zZk295pcl6o+l2omVVnqqku1KlSlHLKs2O/VC48Ng1pbVmwLn55pvNj3/844TWo518pfErV66MXJaNx15S2uZ4ZwS0vRLvTEJQJPu6huU1Lezz7PpnGci179x40vU5DfP/+0Tl8r5SLuG97g72Q9zG901wlfS4hf+TqTmuDMpniKAvwFQOes0116RkXSox9SfFDRs2tDuxH330Ub5ldVmjRo1MhQoVovqc6/I2bdpEltu5c6f9AMQb/y6bj10f2qlTp5oxY8bk67KbyPNUuvQ3Q1tm47GXlLZ54cKFdiBR/1g23mvt4jan83UNw2ta2OfZ9c8ykIvfubHS9TnVsgWtU3LhM53L+0q5JKz7NkHFfoi7+L4JtpIct7BPkJrjyqB8hpiMAzYl1swx6q7ivSm1k9S9e3c7i9mBAwciz9L27dttNxidUfCoC4tuN2/evKhnc/78+XZnuGfPns48y9OnT7cf2lGjRpnRo0cnddvnn3/epvH+D2mQHrtH23To0CHz4osv5ttmHRD5H19QFPd1DctrWtjnOayfZSBM0vU51e8ff/xx1IyjCkKeffZZ+3/v9NNPT/tjC4tc2lcKojDu2wQV+yFu4/smuEp63MI+QWqOK4PyGaKiL8fccssttmuKykQ104sG73/kkUfMrl27zH333Re1rBLsAQMG2BR7+PDh5tixY2bKlCn2dsOGDYsqM9UHYfLkyfZ3jSGwevVq+wHRWfSmTZsaF+hxavv1gVP3G3/Zs7Rt29a2n376qX2eLrvsMpvY60P47rvv2gFQlaT7KwOC8tj9unXrZrfzzjvvtP+c9Bife+45O/23xh4qU6aMCZJEXtewvqaJfp7D9lkGguS1116zO+YHDx60f2/YsMHurHv/j72uHOn4nGp9//jHP8zYsWPt/4vatWvbvz/55BPzt7/9LePPRVDk8r5SUIVt3yYo2A8J5ncO3zduv0a7d+9Oy3EL+wSpywuC8BkqlefVViMnPPzww2bRokVm27Zt9syn+np/5zvfMSNGjDCtW7fOt/yaNWvMxIkT7ZtcO0kdO3Y0v/rVr+w/nViPP/64mTNnjg1V6tSpY/r372/f/OXKlTMuGDx4sJ2xqCDr1q2LnIm87bbb7DTa2qk/efKkOeuss2zKrsejGcaC9thj6YvlT3/6k/1S0VgA55xzjrnxxhvtF0rQJPK6hvU1TebzHKbPMhAkPXr0sJ+leF566aWomULT8Tn98ssvbdChajQdWKgiTTuRF110URoebTjk8r5SkIVp3yYo2A8J7ncO3zfuvkY6LknXcQv7BKnJC4LwGSLoAwAAAAAAAEKAMfoAAAAAAACAECDoAwAAAAAAAEKAoA8AAAAAAAAIAYI+AAAAAAAAIAQI+gAAAAAAAIAQIOgDAAAAAAAAQoCgDwAAAAAAAAgBgj4AAAAAAAAgBAj6AAARgwcPNs2bN7c/N954o1PPzKOPPhrZNv3s3r0725sEAAAAIAM4Tklc2SSWBQDkgPPOO8/ccccdplq1asYll112mWnbtq2ZO3eu+fe//53tzQEAAACQQRynJIagDwAQpWrVqjZQc02dOnXsz9KlS7O9KQAAAAAyjOOUxNB1FwBywNGjR81VV11levXqZb766qvI5Tt37jSdO3e2pfAnT54s8Pbbtm2z3WX/+te/mocfftj06NHDtG7d2t7uk08+McePHzcTJ040Xbp0Md/5znfMz372M7Nr166odeg26g78yiuv2G3R7b///e/bv2XevHn2b4WMAwYMMKtXr07jMwIAAADAFf4hemJ/dCxSEI5T8iuVl5eXF+dyAEDIbNq0yfTv398Ge1OnTjWnTp0yP/nJT8z69evN008/berWrWuDO5k9e3a+L9BLL73UnHXWWebcc881P/zhD83+/fvN/fffb8+stWnTxpQtW9b06dPHbN++3V7eoUMH89BDD0UFfQoT1SV45MiR9nbTp083H3zwgRkxYoRZtmyZGTZsmClVqpR58MEHzYEDB8xLL71kKlasGLUt2vZp06bZ5WvVqpWhZw8AAABAuqxcuTLq7yNHjphf/vKX9pjl+eefN6NGjbKXc5xSNLruAkCOaNy4sbn77rvNzTffbB577DGzb98+884779gqPYV8ifjWt75l/vznP5vSpb8uCN+zZ4+59957zTnnnGNmzJgRWe7jjz+296GwToGeZ+/evebJJ580p59+uv1b7ZVXXmkvW7x4salUqVJkWVUFvvXWWzYgBAAAABBe/qGDVBwwZswY2xPp73//e9TxREE4TvkGQR8A5JC+ffvacE8Vc/oCVVdaVfglqlu3bpGQT5o0aWLbSy65JGo573JV96kC0NOiRYtIyCcKCEXVf/6Qz397AAAAALljwoQJ5rXXXrOFBC1btkzoNhynfIMx+gAgx1x99dV2TL0yZcqYIUOGJHXb6tWrR/1drly5Qi/X2ICF3b58+fJJ3R4AAABAeKn30L/+9S9z1113mYsvvjjh23Gc8g2CPgDIIYcOHbJjXagbr8a+u+2227K9SQAAAABgJ+ebPHmy7baryflQPAR9AJBD7rjjDvPZZ5/ZySzuuece8/LLL5tHH30025sFAAAAIIe9/vrr5ne/+53tfTR69Ohsb06gMUYfAOSIuXPnmmeffdb84Q9/MM2aNbM/P/7xj83EiRNNu3btTOvWrbO9iQAAAAByzNatW83YsWNN/fr1Tf/+/fPNwHveeedlbduCiKAPAHLAunXr7Iy7P/jBD+yXp+dXv/qV+c9//mNuuukm8/TTT2d1GwEAAADkHk3ApyGGNm3aZP7rv/4r3/UvvfRSVrYrqErl5eXlZXsjAABuGDx4sNHXgrrzanZd/wy72abt0kzB06dPt4P0Llu2zNSqVSvbmwUAAAAgzThOSZw7R3AAACe8++67dhr7UaNGGZc89thjdrsU8gEAAADILRynJIaKPgBAxMcff2wOHjxof69WrZpp1KiRM8/Orl27bFm/p0WLFqZsWUagAAAAAMKO45TEEfQBAAAAAAAAIUDXXQAAAAAAACAECPoAAAAAAACAECDoAwAAAAAAAEKAoA8AAAAAAAAIAYI+AAAAAAAAIAQI+gAAAAAAAIAQIOgDAAAAAAAAQoCgDwAAAAAAADDB9/8A7VUZzUji9dkAAAAASUVORK5CYII=",
1113 "text/plain": [
1114 "<Figure size 1500x500 with 2 Axes>"
1115 ]
1116 },
1117 "metadata": {},
1118 "output_type": "display_data"
1119 }
1120 ],
1121 "source": [
1122 "## plot desired particle and track\n",
1123 "\n",
1124 "ipart = 13361\n",
1125 "itraj = None\n",
1126 "\n",
1127 "## two subplot for x-y, and z-r\n",
1128 "fig, axes = plt.subplots(1, 2, figsize=(15, 5),gridspec_kw={'width_ratios': [1, 2]})\n",
1129 "# for ax in axes:\n",
1130 " # ax.set_aspect('equal') \n",
1131 "ms = 4\n",
1132 "\n",
1133 "def get_asso_pos(asso, id_list):\n",
1134 " lpos=[]\n",
1135 " for asso_id in id_list:\n",
1136 " simhit = asso[asso_id].getSimHit()\n",
1137 " pos=simhit.getPosition()\n",
1138 " lpos.append([pos.x, pos.y, pos.z])\n",
1139 " return np.array(lpos).T\n",
1140 "\n",
1141 "if ipart is not None: \n",
1142 " hit_part=part_hits[part_hits.part_id==ipart].asso_hit.tolist()\n",
1143 " x1,y1,z1=get_asso_pos(asso,hit_part)\n",
1144 "\n",
1145 " axes[0].plot(xpos,ypos,ms=1,ls=\"none\",marker='.',c=\"grey\")\n",
1146 " axes[0].plot(x1,y1,ms=4,ls=\"none\",marker=\"x\")\n",
1147 "\n",
1148 " axes[1].plot(zpos,rpos,ms=1,ls=\"none\",marker='.',c=\"grey\")\n",
1149 " axes[1].plot(z1,np.sqrt(y1**2+x1**2),ms=ms,ls=\"none\",marker=\"x\")\n",
1150 "\n",
1151 "ms = 5\n",
1152 "if itraj is not None: \n",
1153 " color='r'\n",
1154 " traj = trajs[itraj]\n",
1155 " def plot_pos(l_hits,l_chi2, koutlier=0):\n",
1156 " mfc=color\n",
1157 " if koutlier:\n",
1158 " mfc='none'\n",
1159 " for ii,mm in enumerate(l_hits):\n",
1160 " pos=mm.getHits()[0].getPosition()\n",
1161 " r = np.sqrt(pos.x**2+pos.y**2)\n",
1162 " axes[0].plot(pos.x, pos.y,ms=ms,ls=\"none\",marker=\"o\", mfc=mfc, color=color)\n",
1163 " axes[1].plot(pos.z, r ,ms=ms,ls=\"none\",marker=\"o\", mfc=mfc, color=color)\n",
1164 " axes[1].text(pos.z+10, r ,f\"{l_chi2[ii]:.3f}\")\n",
1165 "\n",
1166 " l_chi2=traj.getMeasurementChi2()\n",
1167 " l_hits=traj.getMeasurements_deprecated()\n",
1168 " plot_pos(l_hits,l_chi2)\n",
1169 " l_chi2=traj.getOutlierChi2()\n",
1170 " l_hits=traj.getOutliers_deprecated()\n",
1171 " plot_pos(l_hits,l_chi2, 1)\n",
1172 " \n",
1173 "\n",
1174 "axes[0].set_xlabel(\"x[mm]\")\n",
1175 "axes[0].set_ylabel(\"y[mm]\")\n",
1176 "axes[1].set_xlabel(\"z[mm]\")\n",
1177 "axes[1].set_ylabel(\"r[mm]\")\n",
1178 "plt.title(f\"event {iev}, particle {ipart}, traj {itraj}\")\n",
1179 "plt.savefig(f\"/global/cfs/cdirs/m3763/shujie/worksim/plots/hit_pos_ev{iev}_part{ipart}_traj{itraj}.png\")\n"
1180 ]
1181 },
1182 {
1183 "cell_type": "markdown",
1184 "id": "b33cf898",
1185 "metadata": {},
1186 "source": [
1187 "#### check track quality with N events\n"
1188 ]
1189 },
1190 {
1191 "cell_type": "code",
1192 "execution_count": 12,
1193 "id": "dc9ebef5",
1194 "metadata": {},
1195 "outputs": [
1196 {
1197 "name": "stdout",
1198 "output_type": "stream",
1199 "text": [
1200 "read_podio: read /global/cfs/cdirs/m3763/shujie/worksim/background/rec_bgmerged_forced_18x275_n1000.root:events. 1000 events in total\n",
1201 "read_ur: read /global/cfs/cdirs/m3763/shujie/worksim/background/rec_bgmerged_forced_18x275_n1000.root:events. 1000 events in total\n",
1202 "read_ur: read /global/cfs/cdirs/m3763/shujie/worksim/background/rec_bgmerged_forced_18x275_n1000.root:podio_metadata. 1 events in total\n"
1203 ]
1204 }
1205 ],
1206 "source": [
1207 "## load rootfile\n",
1208 "fname = \"/global/cfs/cdirs/m3763/shujie/worksim/background/rec_bgmerged_forced_18x275_n1000.root\"\n",
1209 "tree_pd = read_podio(fname)\n",
1210 "tree=read_ur(fname,\"events\")\n",
1211 "COL_TABLE=get_col_table(fname)"
1212 ]
1213 },
1214 {
1215 "cell_type": "code",
1216 "execution_count": 46,
1217 "id": "69ce033e",
1218 "metadata": {},
1219 "outputs": [
1220 {
1221 "name": "stdout",
1222 "output_type": "stream",
1223 "text": [
1224 "ERROR (get_pdg_info): unknown PDG ID 1000170341\n",
1225 "ERROR (get_pdg_info): unknown PDG ID 1000110221\n",
1226 "ERROR (get_pdg_info): unknown PDG ID 1000270581\n",
1227 "ERROR (get_pdg_info): unknown PDG ID 1000230501\n",
1228 "ERROR (get_pdg_info): unknown PDG ID 1000210471\n",
1229 "ERROR (get_pdg_info): unknown PDG ID 1000130262\n",
1230 "ERROR (get_pdg_info): unknown PDG ID 1000130301\n",
1231 "ERROR (get_pdg_info): unknown PDG ID 1000190401\n",
1232 "ERROR (get_pdg_info): unknown PDG ID 1000090191\n",
1233 "ERROR (get_pdg_info): unknown PDG ID 1000170381\n",
1234 "ERROR (get_pdg_info): unknown PDG ID 1000210451\n",
1235 "ERROR (get_pdg_info): unknown PDG ID 1000210431\n",
1236 "ERROR (get_pdg_info): unknown PDG ID 1000110221\n",
1237 "ERROR (get_pdg_info): unknown PDG ID 1000240511\n",
1238 "ERROR (get_pdg_info): unknown PDG ID 1000110221\n",
1239 "ERROR (get_pdg_info): unknown PDG ID 1000130281\n",
1240 "ERROR (get_pdg_info): unknown PDG ID 1000230481\n",
1241 "ERROR (get_pdg_info): unknown PDG ID 1000210442\n",
1242 "ERROR (get_pdg_info): unknown PDG ID 1000250521\n",
1243 "ERROR (get_pdg_info): unknown PDG ID 990\n",
1244 "ERROR (get_pdg_info): unknown PDG ID 1000200421\n",
1245 "ERROR (get_pdg_info): unknown PDG ID 1000190402\n",
1246 "ERROR (get_pdg_info): unknown PDG ID 1000230482\n",
1247 "ERROR (get_pdg_info): unknown PDG ID 1000230482\n",
1248 "ERROR (get_pdg_info): unknown PDG ID 1000170341\n",
1249 "ERROR (get_pdg_info): unknown PDG ID 1000130281\n",
1250 "ERROR (get_pdg_info): unknown PDG ID 1000210444\n",
1251 "ERROR (get_pdg_info): unknown PDG ID 1000210451\n",
1252 "ERROR (get_pdg_info): unknown PDG ID 1000190401\n",
1253 "ERROR (get_pdg_info): unknown PDG ID 1000120251\n",
1254 "ERROR (get_pdg_info): unknown PDG ID 1000170381\n",
1255 "ERROR (get_pdg_info): unknown PDG ID 1000170341\n",
1256 "ERROR (get_pdg_info): unknown PDG ID 1000210442\n",
1257 "ERROR (get_pdg_info): unknown PDG ID 1000210431\n",
1258 "ERROR (get_pdg_info): unknown PDG ID 1000230481\n",
1259 "ERROR (get_pdg_info): unknown PDG ID 1000260572\n",
1260 "ERROR (get_pdg_info): unknown PDG ID 1000110241\n",
1261 "ERROR (get_pdg_info): unknown PDG ID 1000250521\n",
1262 "ERROR (get_pdg_info): unknown PDG ID 1000210451\n",
1263 "ERROR (get_pdg_info): unknown PDG ID 1000210444\n",
1264 "ERROR (get_pdg_info): unknown PDG ID 1000220453\n",
1265 "ERROR (get_pdg_info): unknown PDG ID 1000230491\n",
1266 "ERROR (get_pdg_info): unknown PDG ID 1000190402\n",
1267 "ERROR (get_pdg_info): unknown PDG ID 1000170341\n",
1268 "ERROR (get_pdg_info): unknown PDG ID 1000190403\n",
1269 "ERROR (get_pdg_info): unknown PDG ID 1000130281\n",
1270 "ERROR (get_pdg_info): unknown PDG ID 1000230482\n",
1271 "ERROR (get_pdg_info): unknown PDG ID 1000250521\n",
1272 "ERROR (get_pdg_info): unknown PDG ID 1000140321\n",
1273 "total eff, purity= 0.8344290236182128 0.9790286975717439\n"
1274 ]
1275 }
1276 ],
1277 "source": [
1278 "# TRACK_HIT_COUNT_MIN = 4\n",
1279 "# TRACK_MOM_MIN = 0.3\n",
1280 "# TRACK_PT_MIN = 0.2\n",
1281 "# TRACK_HIT_FRACTION_MIN = 0.5\n",
1282 "# TRACK_HIT_COUNT_GHOST_MAX = 2\n",
1283 "# VERTEX_CUT_R_MAX = 2\n",
1284 "# VERTEX_CUT_Z_MAX = 200#mm\n",
1285 "\n",
1286 "track_hit_count_min = 4 #TRACK_HIT_COUNT_MIN \n",
1287 "track_mom_min = 0.3 #TRACK_MOM_MIN \n",
1288 "track_pt_min = TRACK_PT_MIN \n",
1289 "track_hit_fraction_min = TRACK_HIT_FRACTION_MIN \n",
1290 "track_hit_count_ghost_max= TRACK_HIT_COUNT_GHOST_MAX \n",
1291 "vertex_cut_r_max = 1#VERTEX_CUT_R_MAX \n",
1292 "vertex_cut_z_max = 100#VERTEX_CUT_Z_MAX \n",
1293 "\n",
1294 "nevents = 1000\n",
1295 "\n",
1296 "leff=[]\n",
1297 "lpur=[]\n",
1298 "l_n_traj=[]\n",
1299 "l_n_sig_traj=[]\n",
1300 "l_n_mc=[]\n",
1301 "l_n_mc_traj=[]\n",
1302 "df_mc_good_sig=[]\n",
1303 "df_traj=[]\n",
1304 "for iev in np.arange(nevents):\n",
1305 " mcpart=ak.to_dataframe(get_part(tree,entry_start=iev,entry_stop=iev+1, kprimary=0)).reset_index()\n",
1306 " good_mc,good_traj = get_part_traj_counts(tree_pd[int(iev)], mcpart) \n",
1307 "\n",
1308 " ## mcpart cuts\n",
1309 " mc_hits_cut = abs(good_mc.hit_counts)>=track_hit_count_min\n",
1310 " mc_vertex_cut = (abs(good_mc.vertex_r)<vertex_cut_r_max)&(abs(good_mc[\"vertex.z\"])<vertex_cut_z_max)\n",
1311 " mc_mom_cut = (good_mc.mom>track_mom_min)\n",
1312 " mc_signal_cut = (good_mc.generatorStatus==1)|(good_mc.generatorStatus==2)\n",
1313 "\n",
1314 " ## traj cuts\n",
1315 " traj_hits_cut = abs(good_traj.total_count)>=track_hit_count_min #<--- this is the only cut that does not rely on truth info\n",
1316 " traj_not_ghost_cut = (good_traj.max_fraction>track_hit_fraction_min) & (good_traj.max_count>track_hit_count_ghost_max)\n",
1317 " traj_signal_cut = (good_traj.part_status==1)|(good_traj.part_status==2)\n",
1318 " good_traj['is_ghost'] = (~traj_not_ghost_cut).astype(int)\n",
1319 " good_traj['event'] = iev\n",
1320 " df_traj.append(good_traj)\n",
1321 " ## track efficiency\n",
1322 " eff = -1\n",
1323 " pur = -1\n",
1324 " mc_select = good_mc[mc_hits_cut&mc_vertex_cut&mc_mom_cut&mc_signal_cut].copy()\n",
1325 " # Create map from all good_traj (duplicates will use last value)\n",
1326 " traj_map = good_traj[traj_hits_cut&traj_not_ghost_cut].set_index('most_common_source')['traj_id'].to_dict()\n",
1327 " # Map and fill missing with -1\n",
1328 " mc_select['traj_id'] = mc_select['subentry'].map(traj_map).fillna(-1).astype(int)\n",
1329 " # mc_traj_id = set(good_traj[traj_hits_cut].most_common_source)&set(mc_select.subentry)\n",
1330 " n_mc_traj = len(mc_select[mc_select.traj_id>-1])\n",
1331 " n_mc = len(mc_select)\n",
1332 " if n_mc>0:\n",
1333 " eff = n_mc_traj*1.0/n_mc\n",
1334 " mc_select['entry']=iev\n",
1335 " df_mc_good_sig.append(mc_select)\n",
1336 "\n",
1337 " ## track purity\n",
1338 " n_traj = len(good_traj[traj_hits_cut])\n",
1339 " n_sig_traj = len(good_traj[traj_hits_cut&traj_not_ghost_cut&traj_signal_cut])\n",
1340 " if n_traj>0:\n",
1341 " pur = n_sig_traj*1.0/n_traj\n",
1342 " leff.append(eff)\n",
1343 " lpur.append(pur)\n",
1344 " l_n_traj.append(n_traj)\n",
1345 " l_n_sig_traj.append(n_sig_traj)\n",
1346 " l_n_mc.append(n_mc)\n",
1347 " l_n_mc_traj.append(n_mc_traj)\n",
1348 "\n",
1349 "eff_total = sum(l_n_mc_traj)/sum(l_n_mc)\n",
1350 "pur_total = sum(l_n_sig_traj)/sum(l_n_traj)\n",
1351 "print(\"total eff, purity=\",eff_total, pur_total)\n",
1352 "\n",
1353 "df_traj = pd.concat(df_traj, ignore_index=True) if df_traj else pd.DataFrame()\n",
1354 "df_mc_good_sig = pd.concat(df_mc_good_sig, ignore_index=True) if df_mc_good_sig else pd.DataFrame()\n",
1355 "\n",
1356 "# params=ak.to_dataframe(get_params(tree,\"CentralCKFTrackParameters\",entry_start=0,entry_stop=100))\n",
1357 "# trajs=ak.to_dataframe(get_branch_ak(tree,\"CentralCKFTrajectories\",entry_start=0,entry_stop=100))\n",
1358 "# index_tuples = [(entry, subentry) \n",
1359 "# for entry, subentries in enumerate(l_ghost) \n",
1360 "# for subentry in subentries]\n",
1361 "# params['is_ghost'] = params.index.isin(index_tuples).astype(int)\n",
1362 "# trajs['is_ghost'] = trajs.index.isin(index_tuples).astype(int)\n",
1363 "# df=trajs\n",
1364 "# df[[\"is_ghost\",\"nMeasurements\"]].value_counts()\n",
1365 "\n"
1366 ]
1367 },
1368 {
1369 "cell_type": "markdown",
1370 "id": "21ee51da",
1371 "metadata": {},
1372 "source": [
1373 "##### Track hit purity\n"
1374 ]
1375 },
1376 {
1377 "cell_type": "code",
1378 "execution_count": null,
1379 "id": "b60fb6fe",
1380 "metadata": {},
1381 "outputs": [
1382 {
1383 "data": {
1384 "text/plain": [
1385 "Text(0, 1, 'ntracks')"
1386 ]
1387 },
1388 "execution_count": 43,
1389 "metadata": {},
1390 "output_type": "execute_result"
1391 },
1392 {
1393 "data": {
1394 "image/png": "iVBORw0KGgoAAAANSUhEUgAAArcAAAIKCAYAAAA5yWfcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA1ZElEQVR4nO3dC5hVVf0//oXgBbBAU9RULBWwvGBmSkKSSUqAUX7tZmZJaplQin01lQo0rCDB0My0y9dKLUyhFEUQDck0MQ2tVC4ZlaRQCAqI3M7/+ezfc+Y/MwzDMDPMZc3r9TzzzMw+Z86ss84+Z7/32p+9drtSqVRKAACQgR2auwEAANBYhFsAALIh3AIAkA3hFgCAbAi3AABkQ7gFACAbwi0AANkQbgEAyEaH1MYdffTRad26dWnPPfds7qYAAFCDZcuWpZ122ik9/vjjaWvafLh9/fXX08aNG7faUQAANI8NGzakul5Ut82H227duhUdMWvWrO38sgAAUB8nnnhine+r5hYAgGzssD0O8wMAQKsKt/fcc0+65ZZbKn5fvHhxGjRoUDryyCPT6aefnlauXNlYbQQAgO0bbn/0ox+l1157reL3cePGpVdeeSWdeeaZ6W9/+1u64YYb6vvQAADQtOH2X//6V+rRo0dFKcLvfve79OUvfzldeuml6YILLnCCFgAArSfcxqhtp06dip/nzZtXzBV7/PHHF78ffPDB6aWXXmq8VgIAwPYMt3HRg2eeeab4ec6cOemtb31r2n333Yvfo952l112qe9DAwBAvdR7ntuTTjopTZw4Mc2dOzc99NBD6Zxzzqm47bnnnkvdu3ev70MDAEDThtsvfelLafXq1enJJ59MQ4YMSWeffXbFbb/97W/TcccdV9+HBgCApg23UXZwxRVX1Hjb5MmT6/uwAADQ9DW3s2fPrvX26667rr4PDQAATRtuL7zwwooTymqaA/d73/tefR8aAACaNty+//3vT+eee2568cUXqyy/7bbb0vjx49PFF19c34cGAICmDbdjx44tpv+KWRJWrVpVLJs6dWpRhzt8+PB01lln1fehAQCgacNthw4dirraTZs2pREjRqRp06alyy+/PH3mM58pwi0AALSacBve+MY3phtvvDEtWLCguPTuaaedli655JLGax0AAGyvqcB+8pOf1Lj82GOPTY888khx4Ybyfdq1a1eM4gIAQIsMt9/+9rdrvT1OJCsTbgEAaNHhdtasWduvJQAA0JThdt99923o/wMAaBM2bkypffuUrY0t9PnV+/K7zz//fFq2bFk65phjNrvtscceS926dUtvectbGto+AIBWKYLfp65M6ZnFKTtvOyCln301tUj1Drff+ta3ivBaU7h98MEHi/B7ww03NLR9AACtVgTbJxc0dyvalnpPBfb000+nd73rXTXeFsv//Oc/N6RdAADQdOH21VdfTZ06darxtl122SWtXLmyvg8NAABNG2732muv9NRTT9V4Wyzfc8896/vQAADQtOF2wIABxdXJHn300SrL//CHP6Sbbropvf/976/vQwMAQNOeUHb++een3/3ud+mss84qTizbe++904svvpj+/ve/p4MPPjiNGDGivg8NAABNO3L7hje8If3yl79Mw4cPT126dElLliwpvkeo/cUvfpF23XXX+j40AAA07cht6Ny5czGCG18AANBqR24BACCrkduor43ShEWLFqW1a9dWua1du3bp5ptvbmj7AABg+4fb+fPnp4997GPFZXb/8Y9/pF69eqWXX345vfTSS2mfffZJ+++/f30fGgAAmrYsYcKECalfv35p2rRpqVQqpbFjx6bZs2cXl9x9/fXX0wUXXFDfhwYAgKYNt3/961/Thz70obTDDv/vITZt2lR8f+9735uGDRtWhF8AAGgV4faVV14ppv6KcNuhQ4fi97LDDjss/eUvf2msNgIAwPa//O6KFSuKnw844IA0d+7cituee+65YpowAABoFSeUHXXUUemJJ54oLsN7yimnpGuvvTYtW7Ys7bjjjmnKlCnpgx/8YOO2FAAAtle4Pe+889LSpUuLn88555z0n//8J911113F7x/4wAfSJZdcUt+HBgCApg23e++9d8V0X+3bt0+jRo0qvgAAoFXV3MZUX7179073339/47cIAACaMtzuvPPOqWvXrqljx471/b8AANByZks44YQT0syZMxu3NQAA0Bw1t4MHD06XX355uvTSS9NJJ52U9txzz9SuXbsq9zn00EMb0jYAAGiacPvZz362+B7Tfk2dOrXKbXE53gi6zzzzTH0fHgAAmi7cXnXVVZuN1AIAQKsMt6eeemrjtgQAAJrrhLIzzzwzLVq0qMbbnn/++eJ2AABoFeH2scceS6tXr67xtlg+d+7chrQLAACaLtzWZtmyZWmXXXbZHg8NAACNU3MbVySbNWtWxe/XX3992m233Ta7elmM6r797W/flocGAICmDbdRYzt9+vTi55gp4dFHH91sxoSddtop9ezZs5gDFwAAWmy4/dznPld8hUMOOST99Kc/TUccccT2ahsAADTNVGDPPvtsxc/Lly9Pa9eu3ew+b37zm+v78AAA0HThdtWqVemb3/xmmjZtWlFnWxNXKAMAoNVcoezuu+9Op512WurVq1dRawsAAK0y3M6ePTtddNFF6dOf/nTjtggAAJp6ntsoRYhZEQAAoNWH2/79+6c//vGPjdsaAABojrKE8847L33xi19MnTt3TieccELq2rXrZvepaRkAALS4cDtkyJDi+7hx44qvmpgtAQCAVhFuzz///M2uTgYAAK0y3I4YMaJxWwIAAM11QhkAALQ0wi0AANkQbgEAyIZwCwBANoRbAACyIdwCAJAN4RYAgGwItwAAZEO4BQAgG8ItAADZEG4BAMiGcAsAQDaEWwAAsiHcAgCQDeEWAIBsZBtuL7zwwnTcccelo446Kp1yyinpwQcfbO4mAQCwnXVImfrCF76Qvv3tb6eddtopPfXUU+mss85K999/f9ptt92au2kAAGwn2Y7c9ujRowi2oX379mn9+vXppZdeau5mAQCQ+8jtqlWr0vXXX5+effbZ9Ne//jW9/PLLafjw4WnEiBGb3Xf16tXpmmuuSffee29auXJlOvDAA9O5556bBg8evNl9L7roojRjxoy0bt261L9//9SrV68mekYAALTZcLtixYo0efLkdMghh6QBAwak22+/fYv3jcD79NNPF8H1LW95S7r77rvTyJEj06ZNm4ra2squvvrqtGHDhvToo4+mRYsWpXbt2jXBswEAoE2H23333TfNnTu3CJ/Lly/fYridPXt2evjhh4vQOmTIkGJZnz590pIlS9K4cePSoEGDihKEyjp06JD69euXfvaznxVhOEZwAQDIU4uouY1QW5dR1ZkzZ6ZOnTqlgQMHVll+6qmnpqVLl6Z58+Zt8W83btyYFi9e3CjtBQCgZWoR4bauFixYkA466KBiNLayci1t3B6WLVuW7rvvvrRmzZqiLOGee+5Jf/jDH9IxxxzTLO0GAKANlSVsS23ufvvtt9nyLl26VNxedvPNN6fLLrusGBE+4IADipPQoqYXAIB8tapw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NHfu3NSuXbviRLDbb7+9xvvNnj27ODHs6quvTkOGDCmWxUjvkiVLipHfQYMGpfbt2xejtjEaXFn8HssBAMhXixi5jVAbX1szc+bMIqAOHDiwyvJTTz01LV26NM2bN6/4/YADDihGaV988cWK+8yfPz8dfPDB26H1AAC0FC0i3NbVggUL0kEHHZQ6dKg64Bw1uuXbQ+fOndP73ve+om537dq16cEHH0zPPvtssQyom40b8+6p3J8fQFvVIsoStqU2d7/99ttseZcuXSpuLxs9enS65JJL0rHHHpv22muvNHHixLT77rs3aXuhNWvfPqVPXZnSM4tTdt52QEo/+2pztwKA1NbDbaitfKHybRFk44QzoP4i2D75/w6IAECr0KrKErp27VpldLZs5cqVVUZwAQBom1pVuI25ahctWpQ2bNhQZXmcLBZ69OjRTC0DAKAlaFXhNubAjVkQZsyYUWX5lClTUrdu3VLv3r2brW0AADS/FlNzG3PYvvbaa8UVyEJcTWz69OnFz/379y8uoxvf+/btW5wsFvPWdu/evbg62Zw5c9L48eOLOW4BAGi7Wky4HTNmTHrhhRcqfo9gWw63s2bNqpglIab3ipkPJk2aVNTfHnjggWnChAlp8ODBzdZ2AABahhYTbh944IE63S/msB01alTxBQAArbbmFgAAaiPcAgCQDeEWAIBsCLcAAGRDuAUAIBvCLQAA2RBuAQDIhnALAEA2hFsAALIh3AIAkA3hFgCAbLQrlUql1IYdfvjhaePGjWmfffZp8v/9wn9SWrc+ZWenHVPad4/mbgWNwTpKS5frOtq5Y0rdunp+rVnur+FOTbyt//e//53at2+fnn766a3et0Nq43beeee0bt26ZvnfAiAtnXWUli73ddTza/1yfw2bSocOHdJOO+1Up/u2+ZFbAADyoeYWAIBsCLcAAGRDuAUAIBvCbeZWr16dxo4dm/r161fMDDF06NA0bdq0rf7d73//+3TWWWcVf3fYYYeld7/73enMM89Ms2fPTrmqb19VN3HixNSrV680ZMiQlKv69tWdd95Z9E1NX8uWLUs5auh6df/996czzjgjHXXUUenII49MgwcPTr/85S9TrurbX5/61Ke2uG7lun41ZN169NFHi8/4+Gx/xzvekU455ZT005/+tJg9KEcN6as5c+akj3/84+mII45I73znO9PnP//5tGDBgpSrVatWpXHjxqVhw4alPn36FO+fa6+9ts5//9///jd95StfSccee2zq3bt3+tjHPpYeeeSR1JTa/GwJuRsxYkQxbcZFF12U3vKWt6S77747jRw5Mm3atKn4MNuSFStWpIMPPjh95CMfSXvssUdauXJl+sUvfpHOPffcYqWPD4bc1LevKnvmmWfSj3/846LPctbQvvrmN7+ZDjzwwCrLunbtmnLUkL668cYbi52l2LDGe2/HHXdMf/vb39L69RnOK9TA/vr6179ebJQre+2119I555yTDj300LTnnnum3NS3r2Lw4rOf/Ww6+uij05VXXpk6deqUHnjggSL8/eMf/0ijRo1KualvX8XO5fDhw9OJJ55YBLxXX301XXfddemTn/xk+tWvfpW6d++ecrNixYo0efLkdMghh6QBAwak22+/vc5/G7NPfeYzn0mvvPJKuvzyy9Ob3vSmdMstt6Szzz47/eQnP0nHHHNMahIxzy15+u1vf1vq2bNn6a677qqy/Kyzzir169evtGHDhm16vHXr1pXe8573lE4//fRSbhqjr9avX18aOnRo6corryydccYZpcGDB5dy1JC+uuOOO4q/feqpp0ptQUP66umnny4dcsghpRtvvLHUVjT2Z9add95ZPN7kyZNLuWlIX1100UWlww47rLR69eoqy4cNG1Y66qijSrlpSF+dfPLJpVNOOaW0adOmimX/+te/Soceemhp5MiRpRxt2rSp4vn+97//Lfpu0qRJdfrbn//858X9n3jiiSrbxkGDBpVOO+20UlNRlpCxmTNnFnvkAwcOrLL81FNPTUuXLk3z5s3bpseLUaM3vvGNxSTKuWmMvopRthjhvvDCC1POGnu9yllD+ipGO2JOxzjc3lY09roVI2vxeIMGDUq5aUhfxWd5fO2yyy5Vlr/hDW8o5n7PTX376uWXX07PP/98Ov7441O7du0qlu+7776pZ8+eadasWVmWcbRr167K890WMdL91re+tSh1qTw/7Qc/+MH01FNPpZdeeik1BeE2Y1ETdNBBBxUrVmVRP1O+fWvikM2GDRuKFXLSpEnp73//e1GHk5uG9tXChQvT97///TR69OjUuXPnlLPGWK+iZu1tb3tbcYgqDvnNnz8/5aghfTV37tzib++777508sknF/0VG9nvfOc7zXbhmdawbpXFZ9Xjjz9e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b3/7W/rsZz+b3vGOdxSH8uKa65VFkPzWt75VlAmU//ZjH/vYZoeOp02bVvyfn//851WWT5o0qSgzePjhh7fYxvi722+/Pa1du7b4Ob7uvPPOituuuOKKYmT3Ax/4QDr88MPTlClTitti5OYjH/lI0aajjjoqffjDHy4ep6aruEfZQbQ7nmd8xfOJ+4Y4FPnb3/62uHZ9+f/HV22HiefPn5/OO++89K53vatoUzxeuV3VD/3GqPDEiROLkotoZ4wOR7/XxeOPP54+/elPF23u3bt3+vjHP160tSzadfzxxxc/f+c73yn+X10OycZrv7U2VT+8G4+9Zs2a4nmW+6h8GDeC57e//e3i/tEf8ZpEqUE89y2pre3l9fYvf/lLsd5GP7///e+vWCevvvrq4r6HHXZYes973pPGjBmTXnnllSqPH7d/7nOfSw8++GD60Ic+lI444ohiHYrfQ6xj8XuEydNOOy09/fTTW+235cuXp9GjR6dBgwYVr0kE8hgljNepriUY0WfHHnts0Z73vve9acSIEUX/bWl9i3bGskcffTR9/etfL/42voYPH55eeumlzcp74v3at2/fYn355Cc/mf785z8XfRGv59ZEH3z+858vXr94HaPf7rnnnq3+XZQHRBvj8yNG4ON5xd/HOvDII49Uue/ixYvTpZdemk466aSijfH6xf987rnnanz/TJ06tXhOcb94zHjffulLXyruE31f/TOjprKETZs2pZ/97GfF+zT6/eijj04f/ehH06xZs2p9XtGf119/fRo4cGCxrvXp06doe6wH28LILcB2EId+P/jBDxbhKILmD3/4wyLg/P73v0+nn356EXAjAEbIOOCAA4oNT/nDfeXKlWnYsGFpr732KkZO4m9igxwBOTZ+YfDgwemxxx4rNkKxwYqNUGzUYkMXASM2trUdho0NSGzMbr755s1GXyJIR3g4//zz0x577JHe9KY3FcsjjEZgffOb31z8/qc//Sl94xvfKDb4seEv++53v1s8fjyns846K73hDW8oRoqXLFlS3B6BIcoh/vnPfxaBeWsiBEY/Rjsuv/zytNtuu6Xf/OY3xUb1P//5TzrnnHOq3H/ChAlFgBw7dmxatWpV0ccRjCM0tG/ffov/J/oz+r1nz57F3+60005FyI8gEI8ZASvC/SGHHFI83whNQ4YMKe63NfVpU7xOEbQj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",
1395 "text/plain": [
1396 "<Figure size 800x600 with 1 Axes>"
1397 ]
1398 },
1399 "metadata": {},
1400 "output_type": "display_data"
1401 }
1402 ],
1403 "source": [
1404 "n=plt.hist(df_traj[df_traj[\"total_count\"]>3][\"max_fraction\"])\n",
1405 "plt.yscale('log')\n",
1406 "plt.xlabel(\"max fraction of hits from a single particle\") \n",
1407 "plt.ylabel(\"ntracks\")"
1408 ]
1409 },
1410 {
1411 "cell_type": "markdown",
1412 "id": "ed3654de",
1413 "metadata": {},
1414 "source": [
1415 "##### efficiency\n"
1416 ]
1417 },
1418 {
1419 "cell_type": "code",
1420 "execution_count": null,
1421 "id": "6220e001",
1422 "metadata": {},
1423 "outputs": [
1424 {
1425 "data": {
1426 "text/plain": [
1427 "Text(0, 1, 'Ratio')"
1428 ]
1429 },
1430 "execution_count": 260,
1431 "metadata": {},
1432 "output_type": "execute_result"
1433 },
1434 {
1435 "data": {
1436 "image/png": "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",
1437 "text/plain": [
1438 "<Figure size 600x400 with 1 Axes>"
1439 ]
1440 },
1441 "metadata": {},
1442 "output_type": "display_data"
1443 }
1444 ],
1445 "source": [
1446 "bins = np.arange(-4, 4, 0.1)\n",
1447 "eta_all = df_mc_good_sig[\"eta\"]\n",
1448 "eta_filtered = df_mc_good_sig[df_mc_good_sig.traj_id > -1][\"eta\"]\n",
1449 "\n",
1450 "counts_all, bin_edges = np.histogram(eta_all, bins=bins)\n",
1451 "counts_filtered, _ = np.histogram(eta_filtered, bins=bins)\n",
1452 "\n",
1453 "ratio = counts_filtered / np.maximum(counts_all, 1)\n",
1454 "bin_centers = (bin_edges[:-1] + bin_edges[1:]) / 2\n",
1455 "\n",
1456 "plt.plot(bin_centers, ratio)\n",
1457 "plt.xlabel('eta')\n",
1458 "plt.ylabel('Ratio')"
1459 ]
1460 },
1461 {
1462 "cell_type": "code",
1463 "execution_count": null,
1464 "id": "f27b101c",
1465 "metadata": {},
1466 "outputs": [
1467 {
1468 "name": "stderr",
1469 "output_type": "stream",
1470 "text": [
1471 "<>:17: SyntaxWarning: invalid escape sequence '\\e'\n",
1472 "<>:17: SyntaxWarning: invalid escape sequence '\\e'\n",
1473 "/tmp/ipykernel_1605654/3229456415.py:17: SyntaxWarning: invalid escape sequence '\\e'\n",
1474 " ax.set_xlabel(\"$\\eta$\")\n"
1475 ]
1476 },
1477 {
1478 "data": {
1479 "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxAAAAJHCAYAAAAABbAGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACYoElEQVR4nO3dB5hU1fnH8XeXDgLSlaYIAhGVJopGJMYYG1bQmIgSEQui0USNnaJYEtFYicb2tzcUkhjRGDUYNSYRxN4oKh2kC0jb+T+/g3e5c3fKnbI77fvh2Yed2Sl3zsy8576nlkUikYgBAAAAQAjlYW4EAAAAACQQAAAAAFJCDwQAAACA0EggAAAAAIRGAgEAAAAgNBIIAAAAAKGRQAAAAAAIrXb4m5amd99917RVRp06dXJ9KACQtzZv3mxlZWXWu3fvnB4HMRsAqj9m0wORhJIH7weZURlu2rSJsqQc8wafyeyWZT7ESWJ2dsuSmE1Z5hM+k/kTs+mBSEI9DwqgXbp0sYYNG6Zd0DBbv369ffLJJ5RlhijH7KEss+f99993rVm5RszOHr4flGW+4TOZPzGbHggAAAAA1ZtA/OAHP3CZSywffvih+zsAAACA4pNWApFozFRFRUVedGMDAAAAyL6sD2H66KOPrHHjxtl+WBSZxx57zH784x/bXnvtZSeccIK98847VujH+J///Me6detW5Wf27NlJn+ull16y0047zfr162c9e/a0ww47zC6//HL7+OOPQx2r5unst99+NnHixJh/v+eee9zfdTsAyOd4WFOWLl1qF110kYu33bt3t+uuuy70fYnZKHWhJ1E/9NBD9vDDD7vf1cMwatQoq1u3btRtNm7caMuXL3dfRiBR4L3hhhtszJgx1qdPH3vyySftzDPPtL/97W/Wtm3b0IG/efPmVrt2dtYBUM/ZsmXLrE2bNu7yCy+8kPYxvvjii7bDDjtUXtZxJnLTTTfZgw8+aKeeeqr96le/csewaNEimz59ut1yyy123333JT1+fRePOeYYmzx5so0cObJKL+Bzzz1nxx57bJXvLABUZ8xONR4GJ8zqvKJZs2ZZe5MWLlxYecxqUNFjK2b+3//9X+jHIGYDKfRAtGjRwnbffXf3oyFMHTp0qLzs/SiwKLG45pprKFvE9eijj9rgwYPtxBNPtM6dO9uVV15pO+20kz3xxBMJS00ViU7sVXH96Ec/sg0bNkS1dP3zn/90J9FqIdNjf/bZZ0nfBbWG3Xzzze7x7r///srrdUKfzjF635VWrVpV/tSqVSvubWfOnOkShMsuu8z1OOyzzz7uu7Xvvvu6Su3ee++Nuv2rr75qv/jFL2zYsGE2aNAgu/POO23Lli3ub0OGDLGvv/7a/ve//0XdRy2FX375pfs7ANRUzE41HorOL/773/+6ePjDH/7QNaR4FOcff/xxGzFihO29996uR2Tq1KlJj2HFihWuEfT444+3c889t/L69u3b21VXXWXHHXdc6JET6cRs9dioB/iCCy5wvcHEbBSD0M23OlnRj6ildOzYsS6QAKlQ4NRSruecc07U9aootAFULLpeLeuqKOrXr+8+h5dcckmVgP/73//eVWwtW7a0P/zhDy6Yq+UsuAng6tWrXcvZlClT3KT//v37u27sn/70p5WtUhqKd9ZZZ4U+Rj9VRnoMfT90DHr8eJ5//nm3PLCSglj8PQn/+te/3OvWT5MmTVxZjB8/3v3tvPPOc5Wrkif1Nqgy8zz77LOusu3atWvSYweATGN2OvFw3rx5LibrRyf8hx56qGsg2X///aNud9ttt9nFF1/sYv2f//xnF7sV24LnI3rOadOmubrj9ddft912280di3cek650YraSlB49ethbb73lEhnVScRsFLq0xn888sgj2T8SlIS1a9fa1q1bXauUn076NYTIs3jxYleRKPgvWbLEfvKTn7ik4IADDrDy8tgdZwrIqtTkxhtvtIEDB9rLL79sRx55pBuipEpEj6cWoV133dUN6VEF1bp166jHWblyZahjDFLr2rXXXusqClVeqtx++ctfuu+L5jbEop4BtV75h2Kp9+P222+vvKzjVrJ09913u6RGvSyq0LXamVq01J2u1y5qJVQidfXVV1ujRo1s3bp1bgiBWssAoLpidjrxUPFJvcqK9UpG1Ep//vnnu8acePsuHX744a4nRC688EJ3Uq7HVKOmqPFHcf6vf/2rO1FXwjBp0iQ3xyEb0onZ6vnQcCw18KgHREkQMRuFLu0B5Opm/OCDD2zBggVuaEmQMn0gnuAYfX2e/NfdeuutrhJQRfLUU0/ZjjvumLQwe/XqVfm7bt+pUyebM2dO5bjXs88+25o2beqGLHm9DZkcY5BauPTj0fbwSoQ0NCpeAhHreZQEqGv+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06butWjzPe00+9prr7my1M63Xlnee++9bqdabYClzak+/PBDu/zyy61x48Y2bNiwqMdWb9Z7773ndjYHih0xO/2YrU3vVPck2ixVm4M+8MADLv7pJHfjxo3usYIUi/0b5ymuebQX0gEHHODipfZEUkKimPf0009Xxs50xYt3iumqT9TI5I080e7hWuZfz+vtyi2/+tWv7KSTTqq8HGs/DH/MVnKgWO/RxoJq+NHf/XbffXdXfp5atWpV/q4GbSU3GrWgjRD1uCpDJVrajoA9OTIQybJnnnkmMmTIkEixeP/99yPvvPNOZN26dbk+lIKnMlRZXnTRRZGRI0fGvd3BBx8c6dq1a+XPpZdeGvM60e8vv/xy5X0XLVoUufDCCyP9+vWL9OzZM3L88cdHZs6c6f52++23R4455pio55o0aVLk8MMPj+y5556Rww47LPLoo49W/m3evHnu8V966aXI0KFDI3vvvXfk6KOPjsyYMSPqMfSaTjnlFPf3ffbZJzJ8+PDIqlWrIpMnT47su+++kY0bN0bd/rzzzotccsklocrs97//vTs+v8svvzxy5JFHJv1MPvbYY+6433rrLfc6Vq9eHfe2n3zyibvN//73v5h/1+OMHz8+ki1e2X788cdV/tarVy9Xdn4qx6effrrKbZ999tlI37594z7PaaedFvWeBunz8Nvf/rayLM866yxXvsH36+KLL466bvHixZEBAwZEPv/8c/fZfPDBByOl7r333nPxMteI2dlDzM5OzL766qsjgwcPjnsuofpC9YdidToxMxHVFXfccUckE4ni3b/+9a9I9+7dI2vXro16PTrWN998s/K6sHEyUczW/Xv37h154403KssxVr3uN2fOHHcsOnbPli1b4tYppeS9DGN21idRK8P+4osvsv2wKCFqUVZr1xFHHOGGKKkVPdZ1QevWrbOhQ4e6oTdqadBchxEjRsQdfqLWEQ1XUWvNCy+8YL/5zW/s9ttvt8mTJ0fdTrdRl6eGTqn3Q8N6NNRFNARHLfdqEXrqqafs8ccft4MPPti2bt3qWsj1v1pUPCtWrHAt3+re9rqktZN2PDNnzqzSHasWJvX2+VtmgmbNmuXKQC3p/hageDQsSq8t0XCgWP7yl7+4HoVEP7pNKtQFPnXqVNfapPdOrUTqDQm2OiWjIVvTp093XedBapX697//7bqx/T05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AAAAAIRGAgEAAAAgNBIIAAAAAKGRQAAAAAAIjQQCAAAAQGgkEAAAAABCI4EAAAAAEBoJBAAAAIDQSCAAAAAAhEYCAQAAACA0EggAAAAAoZFAAAAAAAiNBAIAAABAaCQQAAAAAEKrTVkl9u6771okErE6depQVAAQx+bNm62srMx69+6d0zIiZgNA9cdseiCSUPLg/SAzKsNNmzZRlpRj3uAzmd2yzIc4SczOblkSsynLfMJnMn9iNj0QSajnQQG0S5cu1rBhw7QLGmbr16+3Tz75hLLMEOWYPZRl9rz//vuuNSvXiNnZw/eDssw3fCbzJ2bTAwEAAAAgNBIIAAAAANWbQPzgBz9wXR+xfPjhh+7vAAAAAIpPWglEokkXFRUVeTEOFgAAAEABDGH66KOPrHHjxtl+WBSR6dOn2znnnGMHHnigdevWzf7xj39Yvrnnnnts8ODBbnmz/fff384991ybM2dO0vtpwv19991nxx9/vPXq1cv69u1rxxxzjP3hD3+wJUuWhHpu9eKpXN55552Yf9exTJgwIeXXBADpuP/++9OKhzXpjjvucHHT//PDH/4wL2L2GWecYRdccEHKrwnIZ6FXYXrooYfs4Ycfdr+rh2HUqFFWt27dqNts3LjRli9fbocddlj2jxRFY8OGDS7YnnDCCXb++een9RhLly615s2bW+3a2VlITD1ny5YtszZt2rjL//3vf+2UU06xvfbay7Zu3eoqE1UCf/vb3+KuxqWKaPjw4fbZZ5+519WnTx+XTH/99dcuSXr00UftoosuSnose+65p3Xv3t2ee+4522effaL+tmjRIvvPf/5jF154YVZeNwAkM2PGjJTjYU3HbNl9993twQcfrLxcq1athI9RUzH7rbfeotEHRSf0N7lFixbuyykLFiywDh06WJMmTaJuo4Sia9eudtppp2X/SFE01PPw05/+NOX7KUF95ZVXbPLkyfbmm2+6E2kFe/2vz5x6DW655RabO3euC+bjx493iUois2fPtilTptif//xnO/zww+2KK66obHHzu+GGG1zLm3rY+vXrF/Ox/u///s/1rjz77LO2xx57VF6/yy672IABA6KG/ul3tXo9+eSTrhLcddddXauejkGGDBniXstVV10VVUGrgmrWrFnON+sCUDruuuuuqDgUJh7WdMz2EoZWrVqFfl01FbOVOOnxvvjii9DHBhRNAjFo0CD3I6eeeqqNHTvWOnfuXJ3HBlTuLKsKaOrUqVa/fn33ObzkkkuqDJX7/e9/b1deeaW1bNnStZCNHDnSXnrppSq7iK9evdq1nKkSUtdz//79XStToqRm7dq17v+mTZvGvc3zzz9vBxxwQFRF5OefG3Trrbfa3//+d/c9UkX0v//9z70mVTT77ruvHX300e71vPjii66nxqvAVA76W7KWNQCoLsniYa5i9ldffeUaqNSY2bNnT/vNb37jGjtzHbOPO+64rPW8APkirU/0I488kv0jAXwWL17sKgsFX41D/clPfuIqGAX78vLYU3fOO++8yjGvN954ow0cONBefvllO/LII1139+uvv+4e79VXX3UVwLHHHmt33nmntW7dOmHZqxJQi5vGxqqHLZ4vv/zSVSR+Guqn7mtRy5par7QRjrrZNSzQ60lQJaeWsKeeeso9xo477uhes1qvvMpIrXbz5s1zx61hYABQ0+LFw1zH7L333tt+97vfudtpKPUf//hHO/nkk12SoF7bXMZszR8Bik3tTILIBx984IYzqZsySBk3kC619qjiUAuTArSCczKaAOfR7Tt16lQ50W/hwoV29tlnuxazm2++OaUhVNdcc419/vnn9vjjjye9bXAFsjFjxriTfSXdarGSWbNmue+Mxt76bd68OWoJZHWJ6zZqVVOXurrZNUZXFaR29AaAmhYvHuY6Ziv5CD72oYce6pKa008/Pacxe7fddnNJCGClnkBovKK6GvUlibWkq76QJBDIhD5fGsuqca6alH/UUUe51id1S6djp512cuNTVcH9+te/do+jz6jGrwbn8vhde+21rvVLk+n0GImowgiuTOK1lPm7+r3vjMb/+icAin9hArXctWvXzrVonXnmma5l7uqrr07xlQNAdiSKh/kSsz2ah6AeEvUyxEPMBmo4gVALhFYvUPekuviCqzEBmVJg1xhXVRzqTlYlokl3qlS0xJ5+gmNbZ86caW3btq0cM6uKQy0/ovGnqtD0o9VAVMmpO1oV4sEHH+wquoMOOqhy7K1O8vU3nbSrJSrROFqPxvmqFe7jjz+OO6ZWNHdI3xm1sAW7z4OJuLrCn3nmGfe6dfmII44IXYYAkA2Kh6r3E8XDXMfsIJ2jaMK1hlrFQ8wGajiB0C7U+hJ7qw8AqVBXrnqvPPPnz3dDctRK71UmHo2d1aQ4/Xz77bduUp4qJo2DVffyDjvsUHnbiRMnurGuWjFMya1+15jUIPUKqEVfPxqGp8fTSh5aB/yyyy5ztxk3bpwbO6vHbNSokVt1QzQJUJMCY/nlL39p//znP23YsGFubK+W81NLmSpFjeX1Jj7rmNXNrXHEqphVwem1aeKhWs10HB4lEFoBRa9HFan+Tlc4gJqkWKXJwWHiYa5ituY/KLHYeeedbcWKFW4OhJ7fH09zFbOBYpRWAqEvhD8IAKlQC70qAo+CsigIayJdPPrMnXjiie5H63TXq1cv6u9q/bruuutc8NeSgKpAkvWOaV1z/agS8m8a9MQTT1SuOOanY/UmyAXpeNRCpqUBNexI3e+aCNi+fXvXUqbKyqN9HFRpahiTEihVxOq10AZ7fkqoNJTpjTfeYCIegJxQL2iq8bCmY7YmcWvVpVWrVrlERHMgnn76aTcMNB5iNpC+skisSQxJKLPW5ihasqzYqbVDXaGaKEVLQmbUcq6ehmyXpbemuFq3woyNLXTVVY6liLLMHvVMa5idTu5yiZidPcTs/C/LUkM55k/MTqsHQhOTtCazWkt//OMfx1xtIZ2NwgAAAADkt7QSCG9rdw290PjBIGU0LDMJAAAAFJ+0EoiHH344+0cCpGm//fazzz77jPIDgAJAzAZKNIFItPQkAAAAgOIVe395IMe0TKB2D9VKGlpaL9512ofkH//4R6jHvOOOO9za4QAAYjaAGu6B0Io3iWgOhJazBGIZPXq0/fWvf61yvdYNv//++93vWgpVCcOUKVPcEqfxrtPypv5dnhPROt5Dhw4tuDflv//9r1ve9osvvnDroev7t+eeeyZdXeHmm2+2jz76qHKVhUsuucStAOLRAmwPPPCAW+pwwYIFblnZn//851FLyT722GNu11n9Xeura7fZTHeZ1+ZON910k1s1S8vc7r777m4DPm8PkKeeesrtwaFjX7duXZXVtTT3SuvHv/322/bNN9+4MtEmVTru4BKQOm7tiqvb6thVlkFKSB988MGo16zPoT5rOjatN+8lrLE+yzreyy+/PGqZXqCYELMzi9kjRoxI2nj173//22677TY3HFd7bej22pRPG+rJxo0bbcyYMS4uKob+6Ec/cnEwnunTp7tldxXDtAlfutRIF4vqE70u0UqV2odDcVvH2b9/fxs7dmzUbuXaKHD8+PFuJ3PRAjxXX311lZUT04nZWs5Xdcq//vUv++6772zXXXd1ywP768lk9Q5qKIGItfKr1l6eO3euNW/e3L15QCIDBgyo3P/B4z/5mzdvnvXo0SPqsxTrulatWoUuaAVl/RQSveazzjrLraOu4DdjxgwXmLXpkT8Z8NMGRwrshxxyiKtwtm7d6npfzjjjDJs2bVrlzq0KsErAfvvb37qV1XS/lStXVj7O448/7pIQBX0lIEpKrrrqKhfwFfzTobXgf/GLX7g9LX71q1+5RFCB3b8+/IYNG9znQz96/qA5c+ZU7oyr3W8///xzVxHpfpdeemnUbV955RU33lrr0asMNm/eHBWzVEnr754XXnjBfS5Vbn369LEnn3zS7VmiVeeCFY16vt577z13ggAUO2J2+jFbG5Oq7om3J8Wnn37q4owaQXQirhNixSCd6HoxTXFccVJJwUsvvZTwGNauXevut//++7tGlkyojvDTBntXXnmlO8n3qC557bXX3BL/WpVTydPZZ5/t9kPyNuPT4jt6Xffdd19lUqq65+67784oZisxUcOXrrv33nvdOajeA39iEqbeQRoiWTRnzpzI4YcfHvnPf/4TKRbvv/9+5J133omsW7cu14dS8FSGKsuLLrooMnLkyLi3O/jggyNdu3at/Ln00ktjXif6/eWXX66876JFiyIXXnhhpF+/fpGePXtGjj/++MjMmTPd326//fbIMcccE/VckyZNcp/ZPffcM3LYYYdFHn300cq/zZs3zz3+Sy+9FBk6dGhk7733jhx99NGRGTNmRD2GXtMpp5zi/r7PPvtEhg8fHlm1alVk8uTJkX333TeycePGqNufd955kUsuuSRUmf3+9793x+d3+eWXR4488si4n0l9ZnXcCxcurLzu008/ddd99dVX7vKsWbMie+yxR2T27Nlxn/tnP/tZ5MYbb4y6bvz48ZGTTz45ki69NxdffHGo27799tvumFevXp30tvfee2/kxz/+cZXrTzvttKj31O/BBx+M9O7dO/LGG29UluWQIUMio0ePjrqdyn/ChAlR1y1evDgyYMCAyOeff+4+m3qsUvfee++5z16uEbOzh5idnZh99dVXRwYPHhz3XOLmm2+OnHDCCVHXqV7ba6+9ImvXrq1ye9V/iepQxdk//OEPMeu8TOl5FVc9a9asifTo0SPyt7/9LSo+du/e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RUn62LFj3XdMa7PHop1LtfmSgqp2VNUGeWPGjLGKigq3OZH3uPqunn766W4zorVr17r3Q0mEEjTRuu9Dhw51QblBgwY2ffp09zj6/Wc/+1lar0fvnU5GOnTo4DZpUkKixE6712pDKa2VrsvaCNDrxbztttvca9Fmg94mSUogtUmUEgAFfFUQ2v02SLvSqlLzb2alpELlEqsCeOGFF1w56HWqEnnyyScrdy33NmFK9hpQGjYsm1e5L0QpIGanH7O1oZzqnnibpYaJ2R7FG+1y7WnatGnU33Xiu3z5crepqnbnXrFiRZXGo1QoJiupUaOJdtyORc/12muvucRFy/pr472zzz7b7eXh34BPtH9Y69at3Wv2U2xXsqUN/BRHdULvbUp48803R91WdZESDI120fGpjlLC5m0GGKSN+R588EF3XIrfSgRU97344ouubghb72zevLmy8WhSBklZ0Yhk2TPPPBMZMmRIpFi8//77kXfeeSeybt26XB9KwVMZqiwvuuiiyMiRI+Pe7uCDD4507dq18ufSSy+NeZ3o95dffrnyvosWLYpceOGFkX79+kV69uwZOf744yMzZ850f7v99tsjxxxzTNRzTZo0KXL44YdH9txzz8hhhx0WefTRRyv/Nm/ePPf4L730UmTo0KGRvffeO3L00UdHZsyYEfUYek2nnHKK+/s+++wTGT58eGTVqlWRyZMnR/bdd9/Ixo0bo25/3nnnRS655JJQZfb73//eHZ/f5ZdfHjnyyCPjfiZvvvnmyAknnBB1ncpor732iqxdu9Zdnjp1amSPPfaIbN26tfI2r7zySqRbt26RTZs2xT2eUaNGRS6++OJItuh4VMZvvfWWu/yvf/0r0r1798rjFJWlbvPmm2+6y5s3b44MGDAg8vTTTyd9/NNOOy3qPd2yZUvk5JNPdvfVZ+iss86K+n4rdo0ePTrqMVT+EyZMCP0aStV7773n4mWxxOwx90ciZ9yw7eeJf0Qic+48PfLuZT9yP4uevioy757tl/W3YkTMzk7MvvrqqyODBw+O+7kME7O9+ujjjz+O+9zTpk2L9O3bN7Jy5cpItsV7/jVr1kR69OgR+dvf/lZ53eLFi10cf/3116Nu+89//tOVzRdffJH0tchDDz0UOeigg6KuU/kp/r/44otVbh88H5CKiorID3/4w8g999xTeZ3qZJXTE088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u1qplUOmMbuoeiA0fKlJkyZVrtd1q1evTusxvS96ptluWf3GGd2+rG4jCx5BsstSK8PHyPRyvOsyeZ21klxOdptYzxHrMfKVPpP50pqV7HMd5v3Ndtmn85zJPh9S09+dXBxDJvLlxChbMbtWo2ZVrivE9zQfjyGd+9TKcn0b6/3NZixKtc4vZZmeH+XL9ztX36VcxeyiSiDiUWtUuoXUu3fvrB8PAKB6ELMBoPrlRzNmlqinQb0QQWvXro3ZMwEAAACghBMITZKePXt21HWbNm2yr7/+uqAnUAMAAAD5oqgSiIMOOsjefvttW7lyZeV1L7/8sksiBg4cmNNjAwAAAIpBUa3CpOFLgwYNsnbt2tm5555ry5cvtxtvvNEOPPDA4ttIDgAAAMiBokogZO7cuTZ+/HibPn261a9f3yUUWtZVvwMAAADITNElEAAAAACqT1HNgQAAAABQvUggAAAAAIRGAgEAAAAgNBIIAAAAAKGRQAAAAAAIjQQCAAAAQGgkEGn68MMP7Qc/+IH17t073YcoWVu3brV7773Xhg4dav3797d+/frZKaecYv/+979zfWgFsc/JGWecYb169bL999/f7Xny3Xff5fqwCsrUqVPdRpPanV7lePTRR9vjjz9uFRUVuT60grdu3To76KCDrFu3bvbBBx9YPiFmp4+YnT5idnYQt/MvZpNApEFbZ1x77bXWvHnzdO5e8nTCe88991j37t3thhtusFtuucXatGljp59+ur322mslXz6JdlofNmyY+8Lffvvtdumll9pf//pXu+qqqyizFDz44INWt25d++1vf2t33323/eQnP7HrrrvObrrpJsoxQxMnTnQnm/mGmJ0ZYnZ6iNnZQ9zOw5itjeSQmmeeeSZy6KGHRm6++eZIr169KL4UbdmyJbJq1aqo6yoqKiLHH398ZOjQoZRnHPfcc0+kZ8+ekeXLl1de95e//CXStWvXyKxZsyi3kPzl57n++usje+21V2Tjxo2UY5r0GVQ8fOKJJ9xn8v3338+bsiRmZ4aYnR5idvYQt/MvZtMDkUaLws0332yXX3651alTJ72srcTVqlXLmjZtGnVdWVmZ65FYunRpzo4r373++utu2JK/5+uwww5zrenTpk3L6bEVklg9hxqOuHHjRlu1alVOjqkYqBfn5JNPtk6dOlk+IWZnjpidHmJ29hC38y9mk0Ck6NZbb7UePXrYwQcfnFaBIzaNP3/33Xetc+fOFFEcs2fPrlI+Sh46duzo/ob0TZ8+3XbccUdr0aIFxZiGF1980T799FMbNWpU3pUfMbt6ELOTI2ZXL+J2bmM2CUQKPvnkE5s0aZLrfUB2PfLII26ymeZBIH5LapMmTapcr+tWr15NsaVJE8eee+45N79ELa1IzYYNG+zGG2+03/zmN7bDDjvkVfERs6sPMTs5Ynb1IW7nPmbXthK2du3aUENmOnTo4IYrXXPNNfaLX/yCVvIMy1Kt5n7//e9/3QTW4cOHuxWZkPoEUQ0BQ+qWLVtmv/rVr2yvvfayM888kyJMwx//+EfXc3PCCSdUe/kRs3NTlsTs7CJmZ4a4nR8xu6QTiJdffjlUb8KUKVNszpw5rjtywoQJrlVBNGZadLlevXrup1SlUpYab+5RF5qW1NRKOJdcckk1H2VhU0+D99kLnggw9Ct1KjclDfXr13cBlTlNqVuwYIE98MADdtddd9m3337rrlu/fn3l/1oxrFGjRpYtxOzsIWZXP2J29hG38ydml2kmdYbHUxLuuOMOu/POO+P+XSciF198cY0eU6H7+uuvXY/ObrvtZvfdd1+VVi5E074ZjRs3die7nk2bNlnfvn3t17/+tevBQThK/rWfxpdffmlPPfWUtWvXjqJLw3/+8x877bTT4v69Z8+e9vTTT+ekbInZ2UfMTg0xO7uI2/kVs0u6ByIVxx9/vO27775R102ePNleeOEFtyla27Ztc3ZshdoFqRPeli1bunWISR6S02YvSh5WrlxpzZo1q2xFVBKhTdEQzpYtW+yCCy5wvV+PPvooyUMG1Jv48MMPV5l3oP1dxo0b54aG5QoxO7uI2akjZmcPcTv/YjYJREjt27d3P8Gx+5p0ud9++4UucGzblGjEiBG2fPlyu+yyy2zWrFlRxaLdgVGVllvTCa+GfOlH5aeJUNpJmSFM4WkukzYs1JA5fRZnzpxZ+bcuXbrk3UTgfB+iES/+abU6/eQKMTt7iNnpIWZnD3E7/2I2CQRq3DfffONafyXWEmKfffYZ70qcL/5DDz1k48ePt/PPP9+N3R80aBBD51L0xhtvuP9j7TytlhkaBABidjYQs7OHuJ1/mAMBAAAAIDT2gQAAAAAQGgkEAAAAgNBIIAAAAACERgIBAAAAIDQSCAAAAAChkUAAAAAACI0EAgAAAEBoJBAAAAAAQiOBAAAAABAaCQQAAACA0EggAABJTZo0ybp162bvv/++jR492g444ADr27evjRgxwpYsWUIJAkAJxWwSCABAUh9//LGVlZXZuHHjrGPHjnbzzTfbyJEj7Y033rC77rqLEgSAEorZtbNylACAovbRRx9ZvXr17Prrr3etWrL//vvbn//8Z5s/f36uDw8AUIMxmx4IAEBCW7dutU8//dQOP/zwyorIs3HjRmvRogUlCAAlFLNJIAAACc2ePdu+++47GzBgQNT169ats3nz5tkPfvADShAASihmk0AAAJJ2hUuPHj2qXF9RUWF77bUXJQgAJRSzSSAAAEkro0aNGtmuu+4adf0HH3xg5eXltscee1CCAFBCMZsEAgCQtDJSS5ZW9AhWRrvttpurqAAApROzSSAAAHGpu1uT8YJd4V5lxPAlACi9mM0yrgCAuNTd/e6771a5fuXKlW4pwOHDh1N6AFBiMZseCABAytSSJfRAAEDpxWwSCABAWpVRnTp1rHv37pQeAJRYzC6LRCKRrDwSAAAAgKJHDwQAAACA0EggAAAAAIRGAgEAAAAgNBIIAAAAAKGRQAAAAAAIjQQCAAAAQGgkEAAAAABCI4EAAAAAEBoJBAAAAIDQSCAAAAAAWFj/D+0VmjRhy/yDAAAAAElFTkSuQmCC",
1480 "text/plain": [
1481 "<Figure size 800x600 with 6 Axes>"
1482 ]
1483 },
1484 "metadata": {},
1485 "output_type": "display_data"
1486 }
1487 ],
1488 "source": [
1489 "## efficiency distribution\n",
1490 "bins=np.arange(-4,4,0.1)\n",
1491 "mom_bin=[0,0.5,1,2,5,10,1000]\n",
1492 "\n",
1493 "fig,axes=plt.subplots(3,2,sharex=True, sharey=True, figsize=(8,6))\n",
1494 "i = 0\n",
1495 "for mom_min, mom_max in zip(mom_bin[:-1], mom_bin[1:]):\n",
1496 " ax = axes.flat[i]\n",
1497 "\n",
1498 " mom_cut = (df_mc_good_sig.mom>=mom_min)&(df_mc_good_sig.mom<mom_max)\n",
1499 " df = df_mc_good_sig[mom_cut]\n",
1500 " sns.histplot(df, x=\"eta\", bins=bins,ax=ax)\n",
1501 " sns.histplot(df[df.traj_id>-1], x=\"eta\", bins=bins, ax=ax)\n",
1502 " n1=len(df)\n",
1503 " n2=len(df[df.traj_id>-1])\n",
1504 " ax.text(0.25, 0.8, f\"{mom_min}<p<{mom_max} GeV\\nEfficiency: {n2/n1:.3f}={n2}/{n1} \", fontsize=10, transform=ax.transAxes)\n",
1505 " ax.set_xlim(-4,4)\n",
1506 " ax.set_xlabel(f\"$\\eta$\")\n",
1507 "\n",
1508 " # ax2 = ax.twinx()\n",
1509 " # eta_all = df[\"eta\"]\n",
1510 " # eta_filtered = df[df.traj_id > -1][\"eta\"]\n",
1511 " # counts_all, bin_edges = np.histogram(eta_all, bins=bins)\n",
1512 " # counts_filtered, _ = np.histogram(eta_filtered, bins=bins)\n",
1513 " # ratio = counts_filtered / np.maximum(counts_all, 1)\n",
1514 " # bin_centers = (bin_edges[:-1] + bin_edges[1:]) / 2\n",
1515 " # ax2.plot(bin_centers, ratio,lw=1,color='grey')\n",
1516 " # ax2.set_ylabel('Ratio', color='red')\n",
1517 " # ax2.set_ylim(0,2)\n",
1518 " # ax.grid('x')\n",
1519 " i=i+1\n",
1520 "plt.tight_layout()"
1521 ]
1522 },
1523 {
1524 "cell_type": "markdown",
1525 "id": "755c83d1",
1526 "metadata": {},
1527 "source": [
1528 "##### track purity\n"
1529 ]
1530 },
1531 {
1532 "cell_type": "code",
1533 "execution_count": 68,
1534 "id": "36092475",
1535 "metadata": {},
1536 "outputs": [
1537 {
1538 "name": "stderr",
1539 "output_type": "stream",
1540 "text": [
1541 "<>:33: SyntaxWarning: invalid escape sequence '\\e'\n",
1542 "<>:33: SyntaxWarning: invalid escape sequence '\\e'\n",
1543 "/tmp/ipykernel_118565/3056823826.py:33: SyntaxWarning: invalid escape sequence '\\e'\n",
1544 " ax.set_xlabel(f\"$\\eta$\")\n"
1545 ]
1546 },
1547 {
1548 "data": {
1549 "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvwAAAJNCAYAAABNzqFfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACKhklEQVR4nO3dB5hU1fnH8XepIqKgCBKKlSagCCoIoiKIRkWjElssERVU7MaofyPNLqiIFaPYO4YYxYYGjdFYsBAVFURFmmAAAens3v/zO3jXu5eZ2ZnZ2Sl3vp/n2Wd3p9y5c+fOue855z3nlHie5xkAAACASKqR6x0AAAAAUH0I+AEAAIAII+AHAAAAIoyAHwAAAIgwAn4AAAAgwgj4AQAAgAgj4AcAAAAirFaudyBf7LnnnrZu3Trbdtttc70rAJB1P/74o9WpU8emTp2al0efMhpAMfuximU0Af8v1q5da6WlpZn8bACgYGzYsMHyeR1GymgAxWxDFctoAv5fNGnSxP1+/fXXM/PJAEAB6dOnj+UzymgAxaxPFctocvgBAACACEsr4G/fvr3997//jXnfZ5995u4HAAAAUKABf6IcorKyMispKanKPgEAAADIkIyn9Hz++efWoEGDTG8WAAAAQHUO2n3ooYfs4Ycfdn+rBX/IkCFueqDwLAqLFy+2gw8+OJ19AQAAAJCrFv5tttnGWrdu7X6U0tOyZcvy//2fLl26uIrAyJEjM72fKCCPPfaYHXjggdapUyc7+uij83Je71T38b333rO2bdtu8jNr1qxKX+uVV16xU045xfbaay/bfffdXYX4iiuusOnTpye1r1ofolu3bnbXXXfFvH/cuHHufj0OAPKtDMyWRYsW2SWXXOLK2Hbt2tm1116b9HMppxF1SbfwH3744e5HTj75ZBs+fLjtvPPO1blvKEAvvviiXX/99TZs2DBXAXzyySftzDPPtEmTJtlvfvObpAvtrbfe2mrVysyssRpXogUrmjZtWuV9fPnll22LLbYo/1/7mcioUaPsgQcecN+Z888/3+3DggUL7MMPP7RbbrnF7rvvvkr3Xz1pRxxxhE2cONHOPvvsTcbI/O1vf7Mjjzxykx43AIglm2Vg0KpVq1wmQKNGjTL2wcyfP798n9XooW2rnHzwwQeT3gblNIqCB+fAAw90P6iaAQMGeEOHDq1w2yGHHOKNHj064fPWrFnjTZo0yTvjjDO89u3be8uXL3e3v/vuu16bNm28KVOmeP379/c6duzoXuPLL7+sdF++/vpr97q9evXyrr322irto78fy5Yt85L18ccfu+c89NBDMe8vKyur8P/rr7/uHXXUUe496ly8/fbbvfXr17v79H61rffee6/Ccz744AN3+1dffZX0fgGFWAbm+/4VkmyVgX45p3Lr8ssv9zp37uxNnjy5/D5t77HHHvNOP/10r1OnTl7v3r29F198sdJtLl682HvwwQe93/3ud96RRx4Z8zEnnXSSd80111S6LcppFIqqloFpN6EqrefTTz+1efPmuRp72O9+97uq1kVQYNS6okHbgwYNqnB7z5497eOPP475HN2uluuXXnrJNttsM9eLdOmll24y8Pumm26yK6+80ho3bmy33nqra8FRF2zt2rUrPG7ZsmWulervf/+7myK2e/furou3X79+ae9j+LzWNtS7pX3Q9uN54YUXbPPNN7cTTzwx5v3Blvq33nrLve+//OUvtueee9r3339vV111lbvv3HPPdV3n6npXa/7ee+9d/rxnn33WdtttN2vTpk2l+w4A2SoD58yZ48ph/SxZssQOOuggu+OOO2yfffap8LjbbrvN/vSnP7ny/bnnnnPltcqzcAaBXvPNN99014t//etfttNOO7l98TMP0kU5jWKRVsD/7bffui/67NmzY07RqUCGgL/4LF261EpLS914jyAF6Uqp8f3www/uIqCCe+HChda3b18XxPfo0cNq1Ig9rERBry5IcsMNN9j+++9vkydPtkMPPdSl7OgCoO3985//tB122MGluOji4q/Omeo+hm277bZ29dVXW4cOHdyFRxemP/7xj/bII4+43PxYvvvuOzfWJZiapPSesWPHlv+v/Vbl5p577nEX4KOOOsrdruddcMEFrqtZ712OOeYYV/FRRaB+/fq2cuVK171++eWXx91vAMhWGagySelCKt9VedDYovPOO881uKjxI5ZDDjnEfv/737u/L7zwQnvnnXfcNpU2LKqcqGx//vnnXQOPAvwJEya4HP1MoJxGsUgr4NegXH3hFaSp5ZHcYQSFc8xVKQzeNmbMGFeA6yLw1FNPWcOGDSs9gJ07dy7/W4/fcccd7ZtvvinP4Rw8eLBttdVWdvPNN5e35ldlH8PUmqQf3x577OEqLvfff3/c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665z/wcXCNJqp7pw6eKr11TlQu9ZU64puFflSAsk/fa3v3X7rguZtnPFFVe47xaQDsppyulY5bTKH39FelEjyJFHHukWgvRpwcjgOgozZ850ZVTwMek4//zz7dhjjy3/P1jm6/UGDx7sFtvU9Ub7pTJc5bvKRfn4449dRVbXq8aNG9sbb7zhHqPGluAib8Fy2qfrta57vnBMomuGHqMf/7oQjxapU+OSAv685GXYO++84+2+++5eoTnwwAPdDzLj2Wef9bp27Vr+/5w5c7w2bdp4kyZN8k466SSvY8eO3oQJE7wlS5Z4F110kderVy9vt9128w4//HDv+eefr7Ct0tJSb9y4cV7fvn29Dh06ePvvv7931113Vdju9OnTyx975ZVXev369fPmzp3rbtP9kydPrvD4V155xe2HXrN///7eRx99VOE1n3rqKW+//fZz959zzjne+PHjK7yfWIKvI+vWrXPfhdGjR8e8X7RNHatExyh4LPW3HhP80W2XX365N2jQoArbXr9+vdejRw/vmWeeSeozGzBggDd06NAKtx1yyCHl+x/Lcccd591www0Vbrvmmmu8448/vvz/nj17eo8++miFx5x99tneJZdcEne7ixcvdu/t/fff9zLlr3/9a6Xf8Yceesh97vF88cUXbr8++OCDCrevWbPG69y5szdjxoyYz5s2bZp73rx58yrd9uzZs93/Tz75pLfPPvu4c9qn81yP+e6777xiKwPzff8KEeU05XQ8DzzwgLfHHnt4K1eujPsYlfW6LpeVlaV9Dvbu3du9VjxvvPGG165dO++HH34ov+2FF15w18cVK1bEfd6ZZ57prouJyunLLrvMXYuS8e6777qyd9myZXH3U9fLmTNnVohJ8qkMzPgsPeqWVw0nWWq1Ute7akRqFVM3u1r/tPpemLpU1Hswbdo01wLWvXt3V4tr2bJlzLQjda2ra1/7c/TRR7taYjZalBGf0hPUjaaWSnXHqQtMLZ2qmas2rpq5uur0maprTVSrVo+RWja1/LpSIJQ+FqZtqRtQLbVqCVCKRjxqQda5o9Zf/a10C527WhXyww8/dK3c2pZaB5R2kU6Lqs41nacbNmyo0jF6++23K6T3qFVFreQPPPCAu61Bgwa2ww47uGXrdWz879+bb75pq1atci3EalnW8Ys3K4aOnb5fgwYNqnB7z549XetJ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PwAAABBhBPwAAABAhBHwAwAAABFGwA8AAABEGAE/AAAAEGEE/AAAAECEEfADAAAAEUbADwAAAEQYAT8AAAAQYQT8AAAAQIQR8AMAAAARRsAPAAAARBgBPwAAABBhBPwAAABAhBHwAwAAABFGwA8AAABEGAE/AAAAEGEE/AAAAECEEfADAAAAEUbADwAAAEQYAT8AAAAQYQT8AAAAQIQR8AMAAAARRsAPAAAARBgBPwAAABBhBPwAAABAhBHwAwAAABFGwA8AAABEGAE/AAAAEGEE/AAAAECEEfADAAAAEUbADwAAAEQYAT8AAAAQYQT8AAAAQIQR8AMAAAARRsAPAAAARFgtKxDvvfeenXLKKTHve+qpp6xz587l/3/++ec2atQomzZtmtWsWdO6d+9ul112mbVs2TKLewwAAADkXsEE/L6LL77YunXrVuG21q1bl/89a9YsO/nkk619+/Y2ZswYW7t2rY0dO9ZOPPFEe+6552zrrbfOwV4DAAAAuVFwAf/2229foTU/TMF9nTp1bNy4cbbFFlu42zp06GAHH3yw3X///XbppZdmcW8BAACA3IpUDv+GDRvsjTfesH79+pUH+9K8eXPXK/Daa6/ldP8AAACAbCu4gH/kyJG26667WpcuXez000+3qVOnlt/3/fff25o1a6xt27abPK9NmzY2e/Zsl+IDAAAAFIuCSelp0KCBG7SrlvqGDRu64F0pOrpN6Tu9evWyn376yT1W94fpNs/zbNmyZdakSZMcvAMAAAAg+wom4Fervn58e+65px100EHWv39/NyOPAn5fSUlJ3O0kug8AAACImoJL6Qnacsst7YADDrCvvvrKpfL4LftLly7d5LFq/Vewr+cAAAAAxaKgA35Rmo4omG/VqpVtttlmNmPGjE0ep9s0w0/dunVzsJcAAABAbhR0wK98fM3Kozn3FcjXqlXLevfubZMnT7aff/65/HHz5893C3cpBQgAAAAoJgWTw3/JJZdYs2bNrGPHjtaoUSM3aHf8+PG2ePFiu+GGG8ofd95559mAAQPsrLPOsjPPPNPWrVvn5ubXcwYOHJjT9wAAAABkW8EE/Jpq88UXX7Qnn3zSVq1aZVtttZV17drVbrrpJtttt93KH7fzzjvbI488YqNHj7YLLrjAatasad27d7c777yTVXYBAABQdAom4B80aJD7SYZ6AR58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FyVmZWW/fP9qmNXfzPKmjI5kC/9PP/1kLVq02OT2rbbaqvz+sLp169q6deuysn+oHpUFj+GLK1JX1UQ4Avz8VatWLatTp47lq3woo8MBfqplTDr316jk/5qV/F9i9SvdRqJt5uL5/M/xSHQ+WIbPr5oVtpfa9uv/8lMIZXQkA35RrS2V+6ZOnVrNewQASBdlNACkr9DHIMTUsGHDmK34mp4z2NIPAAAARF0kA/42bdrYrFmzbMMveVa+GTNmuN+tW7fO0Z4BAAAA2RXJgL9v3762atUqe/XVVyvcPnHiRGvSpIntvvvuOds3AAAAIJsimcO///77W8+ePW348OH2888/W6tWrWzSpEn21ltv2ahRo5iDHwAAAEUjktNyysqVK+3WW2+1l19+2eXz77TTTjZ48GA77LDDcr1rAAAAQNZENuAHAAAAENEcfgAAAAAbEfADAAAAEUbADwAAAEQYAT8AAAAQYQT8AAAAQIQR8AMAAAARRsAPAAAARBgBPwAAABBhBPwAAABAhBHwAwAAABFGwA8AAABEGAE/AAAAEGEE/AAAAECEEfADAAAAEUbADwAAAERYrVzvQL7Yc889bd26dbbtttvmelcAIOt+/PFHq1Onjk2dOjUvjz5lNIBi9mMVy2gC/l+sXbvWSktLM/nZAEDB2LBhg3meZ/mKMhpAMdtQxTKagP8XTZo0cb9ff/31zHwyAFBA+vTpY/mMMhpAMetTxTKaHH4AAAAgwgj4AQAAgAhLK+Bv3769/fe//41532effebuBwAAAFCgAX+iQQNlZWVWUlJSlX0CAAAAkK8pPZ9//rk1aNAg05sFAAAAUJ2z9Dz00EP28MMPu7/Vgj9kyBA3H2h42rTFixfbwQcfnM6+IAI++OADu//++11ql+aMvfPOO61v376WT8aNG2evvvqqffPNN7bZZpvZHnvsYX/6059sp512Svg8rdOg78CkSZPs22+/tZo1a1rz5s2td+/eduKJJ1rTpk0rfW0dl2OOOcYee+wxN6942Omnn261a9e2e+65p0rvEQAyXQZm0+2332533HFHhdsaN25sb7/9dsLnUU4DVQz4t9lmG2vdurX7e968edayZUvbcsstKzxGFYA2bdrYKaeckuxmETGrVq2ytm3b2tFHH23nnXdeWttYtGiRbb311larVmZmjVWamSoffkD+/vvv2x/+8Afr1KmTW3vh1ltvdYG2AvnNN9887kVk4MCB9tVXX7n31aVLF9eT9f3339trr71mjz76qF1yySWV7kvHjh2tXbt29re//W2TgH/BggX2zjvvuAsdAFSXdMrAbJfTopjjgQceKP9fjSyJUE4DCXhpOOmkk7yvv/7ai5IDDzzQ/SBz2rRp402ePDmpx65Zs8abNGmSd8YZZ3jt27f3li9f7m5/99133XamTJni9e/f3+vYsaM3YMAA78svv6x0mzpHR48e7fXq1cu79tpr4z5u8eLF7jXef//9uI8ZN26c165dO+/zzz+PeX9ZWVmFv++99153PnXq1Mnt90svvVR+/8MPP+x17tzZW7lyZYVt3HHHHV6PHj289evXV/regGIrA/N9/wpZMmVgtsvpsWPHekcccURK74NyGlF2YBXLwLRy+B955BHbeeed03kqUMHHH39sQ4cOtX333deuv/5622WXXezvf//7JuNAbrrpJrvssstswoQJrrfp7LPPtvXr129yNJctW2aPP/64HXvssda/f383pkQt7xdddFHcI79ixQr3e6uttor7mBdeeMF69Ohhu+66a8z7gwPVx4wZ41rwhw8f7lrM/vjHP9qll17qWtVE+6UV815++eUKA+EnTpxov/vd7zLWYgYAyaisDMxVOT179mz3mgceeKC7b86cOQnfB+U0EF/akYUClE8//dSl9yh3P0yBCxDLDz/84C4WCnAXLlzocvzVpayAukaN2HXQc88913r27On+vuGGG2z//fe3yZMn26GHHuq6gv/1r3+57f3zn/+0HXbYwY488kiX/+mvzpnoPNYFrGvXri4dLZ7vvvvO9t577wq3aRyLUnBEaUxPPvmkS2lSF7TGvCgvVpT+9uGHH9pTTz3lttGwYUP3nlUpUOqTvPfee+5ipvx+AMiWeGVgrsvp3XbbzW688Ub3OI0NvPvuu+344493QX2jRo1ivj7lNJDhgF8DFlVzV+071hSdau0k4Ec8agFXod+vXz8XBCsArkznzp3L/9bjd9xxRzfgTObPn2+DBw92rVM333yz226yRo4caTNmzHCtTZUJTzc7bNgwW716tevx0mBl+frrr10FWPn+QWrlCq5PMWDAAPcYfYe23357e/bZZ924gHwaNAcg+uKVgbkup1VZCG/7oIMOcpWQ0047Le7zKKeBDAb8KiA0OEa1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PXp4t99+e4Xnr1q1yttjjz28Rx55JMHRQ1QcWMUyMK0c/kceecR23nnnzNc+EAmzZ8923Zdqqb7oootszpw5cR+r7ki1IOnx119/ve2yyy7297//fZNxIDfddJNddtllrqVJvU1nn322rV+/fpPtqWtWLTBqVenfv7/r5lTrjfYjWXPnznWtSNonn5az3muvvdz+xutFeOmll9xrNm3aNOZjgoPZr7jiCvvoo49cS9E//vEPl6Zzxhln2HfffVfeoqPj9v7775c/R61Eeg1a9wFUp1TLQJV/b7/9tmtpVwqnegeU2qvW56A1a9bY3Xff7Vq7n3jiCddbEK9sVk+vWtsPP/xwO/74410ajlrrTzzxxKTfh2YN1HUimFaq8lm90P770G9db3bffffyxyhtR7f5j/nkk0/cc4Jlu46Nehz0GrHoeKjXV+V6PP41Qe/1pJNOci31usbpfS9evNilAkmtWrXsyCOPdL3HwTSgl19+2b0/XXeAaltpVyfdp59+6rqYtOR52O9+97t0N40CplxPdXPusMMOrsBS4a7CWuksjRo1co9Rwa2gXikrSrVR96YC3x49eliNGrHroEqL8QttXSz2339/10176KGHuovNv/71L7c95UXqtVU43nHHHeWrc6bC7zJWxSJIXdrxuqiXLFnicj532mmnCrcfffTRLgVHlLt5yy232Pfff2+TJk2yN998s/wCojzUt956yxXoF198sav46AKk/5UvKgr29V51AQSA6pJsGaiyTeXuc889Z6tXr3YNF+PHj3d58LEoOFUDjx9cqyxXGa5pvnXtUACtNBht85133nE57wrw9RilOabqf//7n9WuXdu22mqrTd6H7vMfE36f/nsPPkbPCdI2tW3/MWF+ub/jjjuW36b3eeqpp5b/r+uBrguq/CglR2W/77rrrnPXOW1H29BYsPvvv9/ee+896969u3uMKlT9+vXb5P0BGQv4dQKqhVUtubEGnajWSsBfnFRABaml5KCDDnIBvvI/RbmLKtBVUD311FNJFeTajk+PVwH4zTffuP91AVJ+pQq9m2++2W03E8LTyyY7wCpIlQ5d5EaPHu1at0S9DtqWLo5ButgFj4Va8lXoX3XVVbbFFlu4wl3Hcsstt0z7PQFApspABe/qhVSjjnotN9tss4TbU0u1gnifMgVUns2aNcsF/GpRV4t/s2bN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L7jr44oVK9z/jz32mHvu2rVryx+jmGHffff1ysrKYr7e5MmTXTnuxwm++fPnuzhj2bJlFW5/9913Xfkbvv3rr792t3/yySflt3388cfutlmzZm3yumPHjvWOOOKIhMfisssuc8c+02VgxgftasW8mTNnJv141czUeqVamLq11WWilq5YtBT3H//4R9dKqK4f1T5jda37vRCquan7RDVYde+oJoncUiuparBqTdZKgeqWU0unlnDXSohKiVDNWLVgn2rVqjmrpVXP0zYaN268yba1rQsvvNC13KolINHqjVo4TjV4tdLusMMOroa+YcMGd9+HH37oWrk1HkX3awn2cE09Geq9UEutv910j1E4vUffldatW7uWOv3ott///veuRUar9vq0pLtWplSqitJNwiv4ho+dvl/h1+vZs6db2THR89QqEaTeCK0u6X/f1MWpbatVSfSd1b4dcMABFVpU9F09//zz3UqYv/vd7+zpp5+usF21mui7n+hHXb++//3vf64FSOVLsj0kasEPLiSofdJqyc8++6xrgdH9zz33nDsuwd6p//znP+6c1OciZWVlrltX55h/WyL6nPQZtWjRosJqyum8B6CqKKdTP0aFXk7rd3jVYD1GPZ/VWU5X5pNPPnHHsWnTpuW3+bGDn0qkx+y1114V9l+P0XHW+JFYJkyY4K7t4ThB71HxZbK9FjruDRo0cClJPvVW6LZEn0kupJXSk4hylmN1X8ej7hmdMO3atXO5Y88880zMxym3VV+u9u3bu64n5TspZeTEE090F2B1LQVzwm677TYbNGiQ+yLopNZz1OVy9dVXZ+R9Ij0a0B1ehdnvOhN9xioQlQqkL5AqhFr3QYWIln2XVq1abZLrt3LlStftp6XTVdnTly0RFcZ+wKnCS3l8s2fPdsvAP/rooy7n39+vHXfc0X1xYy0yF48KI1VStP+qyFb1GAULYHVTqiIRTFVSCo72U98FpeGILh6q9NavX98dD90fj8bgKKDdZpttKtyuIPbHH3+M+zwVqio49d1VxU0FsIJjXTy0TZUFOrZLlixx31V1w6oCpG5hfT99qgQ88cQTLnVGuZqqHKhrWQW4Liqi9KjguRKLX/boddSlq9xQpRrFK/SD9BnrvFPl06cAfPz48e61VQnUMdIF6957763wXKXhBNN51N1dq1YtV2msbPyDAgdd8NWN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Z5990vpco2bgwIGbrAitL/To0aOrbUXoqOAcy6xCLucKed9zhe9PciijOc+iUs5FNuDPpLPOOqt8MPArr7zCxSQJixcvtm222WaTSli/fv3cGIoHH3zQip1WhFZrfnBFaP8CozUj3njjjWpZEToqOMcyq5DLuULe91zh+1M5ymjOsyiVc5HM4c+k5557zt5//32XHoTkhYN9qV+/vu28885u8QgkXhF60aJFbkVocI5lQyGXc4W877lEGV05ymjOsyiVcwT8lbSAXHfddS7dYrvttkv7IGOjFStW2PTp05kl6RdqxVcFSItpBLVt27b8fqSGc6y4yrlC3vd8xPenIspozrMolXME/AmMGDHCdtxxRzvxxBPTPsCoeDxXr15d3i1V7DTGIdaaEIlWhEZinGPFVc4V8r7nI74/FVFGc55FqZyL5Cw9Ye+9956dcsopST3273//u7Vv397lR/3zn/90/ydatbcYpHP8wjQTzfPPP29XXXUVs/RUYUVoxMc5lrp8Kecoo7N//ML4/sRGGZ1ZnGe5K6OLIuBXzeiaa65J6rHNmjVzg0tHjhxpJ598spu3f/ny5e6+9evXu9/6X2kYyr8uBqkev7A77rjD7r77brvooovspJNOqoY9LEysCJ05nGOpy6dyjjI6u8cvjO9PbJTRmcV5ltsymll6Ypg7d6716dMn4YHT/XfddVeKH19xfsFvv/12O++88+zcc8/N9e7kFfV2aBrODz74oEIev9aMuPjii+2JJ56wLl265HQfCwHnWPGVc4W87/mG7098lNGcZ1Eq54qihT9V2267rT388MOb3H7vvfe64Oyvf/2rNWrUKCf7VkjuvPNOF+yfffbZBPtxVoR++umn3YrQhx56aPntrAjNOZYNhVzOFfK+5xPK6MQooznPolTOEfDHULduXevWrdsmtysQ07zose5DRePHj7exY8dar1697IADDrBPPvmkwv2dO3cu+kNWHStCFxPOseIt5wp53/MF35/KUUZznkWpnCPgR7WYMmWK+63gVT9hX331FUfezPWAaEVoVY78FaFvueWWtFaELjacYwDfn+pGGV01lNP5gxx+AAAAIMKYhx8AAACIMAJ+AAAAIMII+AEAAIAII+AHAAAAIoyAHwAAAIgwAn4AAAAgwgj4AQAAgAgj4AcAAAAijIAfAAAAiDACfgAAACDCCPgBoAhMmDDB2rZta//9739t6NCh1qNHD+vataudccYZtnDhwlzvHgAUtQnVXEYT8ANAEZg+fbqVlJTYiBEjrFWrVnbzzTfb2Wefbf/+97/tzjvvzPXuAUBRm17NZXStjOwlACCvff7551a3bl277rrrXCuS7LPPPvbcc8/Z3Llzc717AFDUPq/mMpoWfgCIuNLSUvvyyy/tkEMOKb+Q+NauXWvbbLNNzvYNAIpdaRbKaAJ+AIi4WbNm2Zo1a6xXr14Vbl+5cqXNmTPH2rdvn7N9A4BiNysLZTQBPwAUQVexdOjQYZPby8rKrFOnTjnaMwDA51koown4ASDidNGoX7++7bDDDhVu//TTT61GjRq266675mzfAKDYfZ6FMpqAHwCK4GKiliPNABG+mOy0007uQgMAiG4ZTcAPABGm7mANBgt3FfsXE9J5ACD6ZTTTcgJAhKk7+OOPP97k9qVLl7qp3gYOHJiT/QIAWNbKaFr4AaAIqeVIaOEHgOiX0QT8AFCkF5PatWtbu3btcr0rAIBqLqNLPM/zMrIlAAAAAHmHFn4AAAAgwgj4AQAAgAgj4AcAAAAijIAfAAAAiDACfgAAACDCCPgBAACACCPgBwAAACKMgB8AAACIMAJ+AAAAIMII+AEAAACLrv8HpYE4yAA0qDkAAAAASUVORK5CYII=",
1550 "text/plain": [
1551 "<Figure size 800x600 with 6 Axes>"
1552 ]
1553 },
1554 "metadata": {},
1555 "output_type": "display_data"
1556 }
1557 ],
1558 "source": [
1559 "## purity distribution\n",
1560 "bins=np.arange(-4,4,0.1)\n",
1561 "mom_bin=[0,0.5,1,2,5,10,1000]\n",
1562 "params=ak.to_dataframe(get_params(tree,\"CentralCKFTrackParameters\",entry_start=0,entry_stop=nevents))\n",
1563 "\n",
1564 "fig,axes=plt.subplots(3,2,sharex=True, sharey=True, figsize=(8,6))\n",
1565 "i = 0\n",
1566 "valid_track = df_traj[df_traj.total_count>=track_hit_count_min].reset_index()\n",
1567 "good_signal_track = valid_track[(valid_track.is_ghost==0)&((valid_track.part_status==1)|(valid_track.part_status==2))]\n",
1568 "\n",
1569 "def df_select_entry_subentry(df,entry_list, subentry_list):\n",
1570 " pairs_df= pd.DataFrame({'entry':entry_list, 'subentry':subentry_list})\n",
1571 " return df.merge(pairs_df, on=['entry', 'subentry'])\n",
1572 "\n",
1573 "valid_track_params=df_select_entry_subentry(params, valid_track[\"event\"].values, valid_track[\"traj_id\"].values)\n",
1574 "good_signal_track_params=df_select_entry_subentry(params, good_signal_track[\"event\"].values,good_signal_track[\"traj_id\"].values)\n",
1575 "\n",
1576 "for mom_min, mom_max in zip(mom_bin[:-1], mom_bin[1:]):\n",
1577 " ax = axes.flat[i]\n",
1578 " df = valid_track_params\n",
1579 " mom_cut = (df.mom>=mom_min)&(df.mom<mom_max)\n",
1580 " df = df[mom_cut]\n",
1581 " sns.histplot(df, x=\"eta\", bins=bins,ax=ax)\n",
1582 " n1=len(df)\n",
1583 "\n",
1584 " df = good_signal_track_params\n",
1585 " mom_cut = (df.mom>=mom_min)&(df.mom<mom_max)\n",
1586 " df = df[mom_cut]\n",
1587 " sns.histplot(df, x=\"eta\", bins=bins,ax=ax)#, fill=False)#, element='step',color='orange')\n",
1588 " n2=len(df)\n",
1589 " ax.text(0.25, 0.8, f\"{mom_min}<p<{mom_max} GeV\\nTracking Purity: {n2/n1:.3f}={n2}/{n1} \", fontsize=10, transform=ax.transAxes)\n",
1590 " ax.set_xlim(-4,4)\n",
1591 " ax.set_xlabel(f\"$\\eta$\")\n",
1592 "\n",
1593 " # ax2 = ax.twinx()\n",
1594 " # eta_all = df[\"eta\"]\n",
1595 " # eta_filtered = df[df.traj_id > -1][\"eta\"]\n",
1596 " # counts_all, bin_edges = np.histogram(eta_all, bins=bins)\n",
1597 " # counts_filtered, _ = np.histogram(eta_filtered, bins=bins)\n",
1598 " # ratio = counts_filtered / np.maximum(counts_all, 1)\n",
1599 " # bin_centers = (bin_edges[:-1] + bin_edges[1:]) / 2\n",
1600 " # ax2.plot(bin_centers, ratio,lw=1,color='grey')\n",
1601 " # ax2.set_ylabel('Ratio', color='red')\n",
1602 " # ax2.set_ylim(0,2)\n",
1603 " # ax.grid('x')\n",
1604 " i=i+1\n",
1605 "plt.tight_layout()"
1606 ]
1607 }
1608 ],
1609 "metadata": {
1610 "kernelspec": {
1611 "display_name": "python310",
1612 "language": "python",
1613 "name": "python3"
1614 },
1615 "language_info": {
1616 "codemirror_mode": {
1617 "name": "ipython",
1618 "version": 3
1619 },
1620 "file_extension": ".py",
1621 "mimetype": "text/x-python",
1622 "name": "python",
1623 "nbconvert_exporter": "python",
1624 "pygments_lexer": "ipython3",
1625 "version": "3.10.14"
1626 }
1627 },
1628 "nbformat": 4,
1629 "nbformat_minor": 5
1630 }