{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "fb0fc16f", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/billyli/miniforge_x86_new/envs/phys239/lib/python3.7/site-packages/coffea/util.py:154: FutureWarning: In coffea version v2023.3.0 (target date: 31 Mar 2023), this will be an error.\n", "(Set coffea.deprecations_as_errors = True to get a stack trace now.)\n", "ImportError: coffea.hist is deprecated\n", " warnings.warn(message, FutureWarning)\n" ] } ], "source": [ "import itertools\n", "import logging\n", "from pathlib import Path\n", "import numba as nb\n", "\n", "import awkward as ak\n", "import click\n", "import h5py as h5\n", "import numpy as np\n", "import vector\n", "\n", "from coffea.hist.plot import clopper_pearson_interval\n", "import matplotlib.pyplot as plt\n", "\n", "# from src.data.cms.convert_to_h5 import MIN_JETS, N_JETS, N_FJETS\n", "\n", "vector.register_awkward()\n", "\n", "logging.basicConfig(level=logging.INFO)" ] }, { "cell_type": "code", "execution_count": 2, "id": "cad6b150", "metadata": {}, "outputs": [], "source": [ "# read test target file\n", "test_file = \"//Users/billyli/UCSD/hhh/reports/bv2/hhh_test.h5\"\n", "test_h5 = h5.File(test_file)\n", "\n", "# read baseline prediction\n", "baseline_file = \"//Users/billyli/UCSD/hhh/reports/bv2/pred_baseline.h5\"\n", "b_h5 = h5.File(baseline_file)\n", "\n", "# read spanet prediction\n", "spanet_file = \"//Users/billyli/UCSD/hhh/reports/bv2/dp_on/pred_v53.h5\"\n", "s_h5 = h5.File(spanet_file)\n", "\n", "# read spanet prediction\n", "pb_off_file = \"//Users/billyli/UCSD/hhh/reports/bv2/pb_off_pred_v61.h5\"\n", "pb_h5 = h5.File(pb_off_file)" ] }, { "cell_type": "code", "execution_count": 3, "id": "458d96f8", "metadata": {}, "outputs": [], "source": [ "def sel_pred_by_dp(dps, aps, bb_ps, dp_cut):\n", " # parse predicted bb assignment by DP\n", " dp_filter = dps>dp_cut\n", " ak8_filter = bb_ps>9\n", " filter = dp_filter&ak8_filter\n", " \n", " bb_ps_passed = bb_ps.mask[filter]\n", " bb_ps_passed = ak.drop_none(bb_ps_passed)\n", " \n", " return bb_ps_passed" ] }, { "cell_type": "code", "execution_count": 4, "id": "97f4563b", "metadata": {}, "outputs": [], "source": [ "def sel_target_by_mask(bb_ts, bh_pts, bh_masks):\n", " bb_ts_selected = bb_ts.mask[bh_masks]\n", " bb_ts_selected = ak.drop_none(bb_ts_selected)\n", " \n", " bh_selected_pts = bh_pts.mask[bh_masks]\n", " bh_selected_pts = ak.drop_none(bh_selected_pts)\n", " \n", " return bb_ts_selected, bh_selected_pts" ] }, { "cell_type": "code", "execution_count": 5, "id": "81791964", "metadata": {}, "outputs": [], "source": [ "# A pred look up table is in shape\n", "# [event,\n", "# pred_H, \n", "# [correct, pred_H_pt]]\n", "def gen_pred_LUT(bb_ps_passed, bb_ts_selected, fj_pts):\n", " LUT = []\n", " # for each event\n", " for bb_t_event, bb_p_event, fj_pt_event in zip(bb_ts_selected, bb_ps_passed, fj_pts):\n", " # for each predicted bb assignment, check if any target H have a same bb assignment\n", " LUT_event = []\n", " for i, bb_p in enumerate(bb_p_event):\n", " correct = 0\n", " predH_pt = fj_pt_event[bb_p-10]\n", " for bb_t in bb_t_event:\n", " if bb_p == bb_t+10:\n", " correct = 1\n", " LUT_event.append([correct, predH_pt])\n", " LUT.append(LUT_event)\n", " return LUT" ] }, { "cell_type": "code", "execution_count": 6, "id": "a56f264f", "metadata": {}, "outputs": [], "source": [ "# A target look up table is in shape\n", "# [event,\n", "# target_H, \n", "# target_bb_assign,\n", "# [retrieved, targetH_pt]]\n", "def gen_target_LUT(bb_ps_passed, bb_ts_selected, targetH_pts):\n", " LUT = []\n", " # for each event\n", " for bb_t_event, bb_p_event, targetH_pts_event in zip(bb_ts_selected, bb_ps_passed, targetH_pts):\n", " # for each target fatjet, check if the predictions have a p fatject same with the t fatjet\n", " LUT_event = []\n", " for i, bb_t in enumerate(bb_t_event):\n", " retrieved = 0\n", " targetH_pt = targetH_pts_event[i]\n", " for bb_p in bb_p_event:\n", " if bb_p == bb_t+10:\n", " retrieved = 1\n", " LUT_event.append([retrieved, targetH_pt])\n", " LUT.append(LUT_event)\n", " return LUT" ] }, { "cell_type": "code", "execution_count": 7, "id": "f57e2d53", "metadata": {}, "outputs": [], "source": [ "# generate pred/target LUT\n", "# each entry corresponds to [recoH correct or not, reco H pt]\n", "# or \n", "# [targetH retrieved or not, target H pt]\n", "def parse_pred_w_target(testfile, predfile, dp_cut=0.5):\n", " # Collect H pt, mask, target and predicted jet and fjets for 3 Hs in each event\n", " # h pt\n", " h1_pt = np.array(testfile['TARGETS']['h1']['pt'])\n", " h2_pt = np.array(testfile['TARGETS']['h2']['pt'])\n", " h3_pt = np.array(testfile['TARGETS']['h3']['pt'])\n", "\n", " bh1_pt = np.array(testfile['TARGETS']['bh1']['pt'])\n", " bh2_pt = np.array(testfile['TARGETS']['bh2']['pt'])\n", " bh3_pt = np.array(testfile['TARGETS']['bh3']['pt'])\n", "\n", " # mask\n", " h1_mask = np.array(testfile['TARGETS']['h1']['mask'])\n", " h2_mask = np.array(testfile['TARGETS']['h2']['mask'])\n", " h3_mask = np.array(testfile['TARGETS']['h3']['mask'])\n", "\n", " bh1_mask = np.array(testfile['TARGETS']['bh1']['mask'])\n", " bh2_mask = np.array(testfile['TARGETS']['bh2']['mask'])\n", " bh3_mask = np.array(testfile['TARGETS']['bh3']['mask'])\n", "\n", " # target jet/fjets\n", " b1_h1_t = np.array(testfile[\"TARGETS\"][\"h1\"]['b1'])\n", " b1_h2_t = np.array(testfile[\"TARGETS\"][\"h2\"]['b1'])\n", " b1_h3_t = np.array(testfile[\"TARGETS\"][\"h3\"]['b1'])\n", "\n", " b2_h1_t = np.array(testfile[\"TARGETS\"][\"h1\"]['b2'])\n", " b2_h2_t = np.array(testfile[\"TARGETS\"][\"h2\"]['b2'])\n", " b2_h3_t = np.array(testfile[\"TARGETS\"][\"h3\"]['b2'])\n", "\n", " bb_bh1_t = np.array(testfile[\"TARGETS\"][\"bh1\"]['bb'])\n", " bb_bh2_t = np.array(testfile[\"TARGETS\"][\"bh2\"]['bb'])\n", " bb_bh3_t = np.array(testfile[\"TARGETS\"][\"bh3\"]['bb'])\n", "\n", " # pred jet/fjets\n", " bb_bh1_p = np.array(predfile[\"TARGETS\"][\"bh1\"]['bb'])\n", " bb_bh2_p = np.array(predfile[\"TARGETS\"][\"bh2\"]['bb'])\n", " bb_bh3_p = np.array(predfile[\"TARGETS\"][\"bh3\"]['bb'])\n", "\n", "\n", " # fatjet detection probability\n", " dp_bh1 = np.array(predfile[\"TARGETS\"][\"bh1\"]['detection_probability'])\n", " dp_bh2 = np.array(predfile[\"TARGETS\"][\"bh2\"]['detection_probability'])\n", " dp_bh3 = np.array(predfile[\"TARGETS\"][\"bh3\"]['detection_probability'])\n", " \n", " # fatjet assignment probability\n", " ap_bh1 = np.array(predfile[\"TARGETS\"][\"bh1\"]['assignment_probability'])\n", " ap_bh2 = np.array(predfile[\"TARGETS\"][\"bh2\"]['assignment_probability'])\n", " ap_bh3 = np.array(predfile[\"TARGETS\"][\"bh3\"]['assignment_probability'])\n", " \n", " # collect fatjet pt\n", " fj_pts = np.array(testfile['INPUTS']['BoostedJets']['fj_pt'])\n", " \n", " # convert some arrays to ak array\n", " dps = np.concatenate((dp_bh1.reshape(-1, 1), dp_bh2.reshape(-1, 1), dp_bh3.reshape(-1, 1)), axis=1)\n", " dps = ak.Array(dps)\n", " aps = np.concatenate((ap_bh1.reshape(-1, 1), ap_bh2.reshape(-1, 1), ap_bh3.reshape(-1, 1)), axis=1)\n", " aps = ak.Array(aps)\n", " bb_ps = np.concatenate((bb_bh1_p.reshape(-1, 1), bb_bh2_p.reshape(-1, 1), bb_bh3_p.reshape(-1, 1)), axis=1)\n", " bb_ps = ak.Array(bb_ps)\n", " bb_ts = np.concatenate((bb_bh1_t.reshape(-1, 1), bb_bh2_t.reshape(-1, 1), bb_bh3_t.reshape(-1, 1)), axis=1)\n", " bb_ts = ak.Array(bb_ts)\n", " fj_pts = ak.Array(fj_pts)\n", " bh_masks = np.concatenate((bh1_mask.reshape(-1, 1), bh2_mask.reshape(-1, 1), bh3_mask.reshape(-1, 1)), axis=1)\n", " bh_masks = ak.Array(bh_masks)\n", " bh_pts = np.concatenate((bh1_pt.reshape(-1, 1), bh2_pt.reshape(-1, 1), bh3_pt.reshape(-1, 1)), axis=1)\n", " bh_pts = ak.Array(bh_pts)\n", " \n", " # select predictions and targets\n", " bb_ts_selected, targetH_selected_pts = sel_target_by_mask(bb_ts, bh_pts, bh_masks)\n", " bb_ps_selected = sel_pred_by_dp(dps, aps, bb_ps, dp_cut)\n", " \n", " # generate correct/retrieved LUT for pred/target respectively\n", " LUT_pred = gen_pred_LUT(bb_ps_selected, bb_ts_selected, fj_pts)\n", " LUT_target = gen_target_LUT(bb_ps_selected, bb_ts_selected, targetH_selected_pts)\n", " \n", " return LUT_pred, LUT_target" ] }, { "cell_type": "code", "execution_count": 8, "id": "1c2773d3", "metadata": {}, "outputs": [], "source": [ "# generate pred/target LUT\n", "# each entry corresponds to [recoH correct or not, reco H pt]\n", "# or \n", "# [targetH retrieved or not, target H pt]\n", "def parse_pred_w_target_ap(testfile, predfile, dp_cut=0.5, ap_cut=1/20):\n", " # Collect H pt, mask, target and predicted jet and fjets for 3 Hs in each event\n", " # h pt\n", " h1_pt = np.array(testfile['TARGETS']['h1']['pt'])\n", " h2_pt = np.array(testfile['TARGETS']['h2']['pt'])\n", " h3_pt = np.array(testfile['TARGETS']['h3']['pt'])\n", "\n", " bh1_pt = np.array(testfile['TARGETS']['bh1']['pt'])\n", " bh2_pt = np.array(testfile['TARGETS']['bh2']['pt'])\n", " bh3_pt = np.array(testfile['TARGETS']['bh3']['pt'])\n", "\n", " # mask\n", " h1_mask = np.array(testfile['TARGETS']['h1']['mask'])\n", " h2_mask = np.array(testfile['TARGETS']['h2']['mask'])\n", " h3_mask = np.array(testfile['TARGETS']['h3']['mask'])\n", "\n", " bh1_mask = np.array(testfile['TARGETS']['bh1']['mask'])\n", " bh2_mask = np.array(testfile['TARGETS']['bh2']['mask'])\n", " bh3_mask = np.array(testfile['TARGETS']['bh3']['mask'])\n", "\n", " # target jet/fjets\n", " b1_h1_t = np.array(testfile[\"TARGETS\"][\"h1\"]['b1'])\n", " b1_h2_t = np.array(testfile[\"TARGETS\"][\"h2\"]['b1'])\n", " b1_h3_t = np.array(testfile[\"TARGETS\"][\"h3\"]['b1'])\n", "\n", " b2_h1_t = np.array(testfile[\"TARGETS\"][\"h1\"]['b2'])\n", " b2_h2_t = np.array(testfile[\"TARGETS\"][\"h2\"]['b2'])\n", " b2_h3_t = np.array(testfile[\"TARGETS\"][\"h3\"]['b2'])\n", "\n", " bb_bh1_t = np.array(testfile[\"TARGETS\"][\"bh1\"]['bb'])\n", " bb_bh2_t = np.array(testfile[\"TARGETS\"][\"bh2\"]['bb'])\n", " bb_bh3_t = np.array(testfile[\"TARGETS\"][\"bh3\"]['bb'])\n", "\n", " # pred jet/fjets\n", " bb_bh1_p = np.array(predfile[\"TARGETS\"][\"bh1\"]['bb'])\n", " bb_bh2_p = np.array(predfile[\"TARGETS\"][\"bh2\"]['bb'])\n", " bb_bh3_p = np.array(predfile[\"TARGETS\"][\"bh3\"]['bb'])\n", "\n", "\n", " # fatjet detection probability\n", " dp_bh1 = np.array(predfile[\"TARGETS\"][\"bh1\"]['detection_probability'])\n", " dp_bh2 = np.array(predfile[\"TARGETS\"][\"bh2\"]['detection_probability'])\n", " dp_bh3 = np.array(predfile[\"TARGETS\"][\"bh3\"]['detection_probability'])\n", " \n", " # fatjet assignment probability\n", " ap_bh1 = np.array(predfile[\"TARGETS\"][\"bh1\"]['assignment_probability'])\n", " ap_bh2 = np.array(predfile[\"TARGETS\"][\"bh2\"]['assignment_probability'])\n", " ap_bh3 = np.array(predfile[\"TARGETS\"][\"bh3\"]['assignment_probability'])\n", " \n", " # collect fatjet pt\n", " fj_pts = np.array(testfile['INPUTS']['BoostedJets']['fj_pt'])\n", " \n", " # convert some arrays to ak array\n", " dps = np.concatenate((dp_bh1.reshape(-1, 1), dp_bh2.reshape(-1, 1), dp_bh3.reshape(-1, 1)), axis=1)\n", " dps = ak.Array(dps)\n", " aps = np.concatenate((ap_bh1.reshape(-1, 1), ap_bh2.reshape(-1, 1), ap_bh3.reshape(-1, 1)), axis=1)\n", " aps = ak.Array(aps)\n", " bb_ps = np.concatenate((bb_bh1_p.reshape(-1, 1), bb_bh2_p.reshape(-1, 1), bb_bh3_p.reshape(-1, 1)), axis=1)\n", " bb_ps = ak.Array(bb_ps)\n", " bb_ts = np.concatenate((bb_bh1_t.reshape(-1, 1), bb_bh2_t.reshape(-1, 1), bb_bh3_t.reshape(-1, 1)), axis=1)\n", " bb_ts = ak.Array(bb_ts)\n", " fj_pts = ak.Array(fj_pts)\n", " bh_masks = np.concatenate((bh1_mask.reshape(-1, 1), bh2_mask.reshape(-1, 1), bh3_mask.reshape(-1, 1)), axis=1)\n", " bh_masks = ak.Array(bh_masks)\n", " bh_pts = np.concatenate((bh1_pt.reshape(-1, 1), bh2_pt.reshape(-1, 1), bh3_pt.reshape(-1, 1)), axis=1)\n", " bh_pts = ak.Array(bh_pts)\n", " \n", " # select predictions and targets\n", " bb_ts_selected, targetH_selected_pts = sel_target_by_mask(bb_ts, bh_pts, bh_masks)\n", " bb_ps_selected = sel_pred_by_dp_ap(dps, aps, bb_ps, dp_cut, ap_cut)\n", " \n", " # generate correct/retrieved LUT for pred/target respectively\n", " LUT_pred = gen_pred_LUT(bb_ps_selected, bb_ts_selected, fj_pts)\n", " LUT_target = gen_target_LUT(bb_ps_selected, bb_ts_selected, targetH_selected_pts)\n", " \n", " return LUT_pred, LUT_target" ] }, { "cell_type": "code", "execution_count": 9, "id": "21e49987", "metadata": {}, "outputs": [], "source": [ "# calculate efficiency\n", "# if bins=None, put all data in a single bin\n", "def calc_eff(LUT_pred, bins):\n", " predHs = [predH for event in LUT_pred for predH in event]\n", " predHs = np.array(predHs)\n", " \n", " predHs_inds = np.digitize(predHs[:,1], bins)\n", " \n", " correctTruth_per_bin = []\n", " for bin_i in range(1, len(bins)):\n", " correctTruth_per_bin.append(predHs[:,0][predHs_inds==bin_i])\n", " correctTruth_per_bin = ak.Array(correctTruth_per_bin)\n", " \n", " means = ak.mean(correctTruth_per_bin, axis=-1)\n", " \n", " errs = np.abs(\n", " clopper_pearson_interval(num=ak.sum(correctTruth_per_bin, axis=-1),\\\n", " denom=ak.num(correctTruth_per_bin, axis=-1)) - means\n", " )\n", " \n", " return means, errs" ] }, { "cell_type": "code", "execution_count": 10, "id": "a597865b", "metadata": {}, "outputs": [], "source": [ "# calculate purity\n", "def calc_pur(LUT_target, bins):\n", " targetHs = [targetH for event in LUT_target for targetH in event]\n", " targetHs = np.array(targetHs)\n", " \n", " targetHs_inds = np.digitize(targetHs[:,1], bins)\n", " \n", " correctTruth_per_bin = []\n", " for bin_i in range(1, len(bins)):\n", " correctTruth_per_bin.append(targetHs[:,0][targetHs_inds==bin_i])\n", " correctTruth_per_bin = ak.Array(correctTruth_per_bin)\n", " \n", " means = ak.mean(correctTruth_per_bin, axis=-1)\n", " \n", " errs = np.abs(\n", " clopper_pearson_interval(num=ak.sum(correctTruth_per_bin, axis=-1),\\\n", " denom=ak.num(correctTruth_per_bin, axis=-1)) - means\n", " )\n", " \n", " return means, errs" ] }, { "cell_type": "code", "execution_count": 11, "id": "f2944545", "metadata": {}, "outputs": [], "source": [ "bins = np.arange(200, 1000, 100)\n", "bin_centers = [(bins[i]+bins[i+1])/2 for i in range(bins.size-1)]\n", "xerr=(bins[1]-bins[0])/2*np.ones(bins.shape[0]-1)" ] }, { "cell_type": "code", "execution_count": 12, "id": "1836736a", "metadata": {}, "outputs": [], "source": [ "def sel_pred_by_dp_ap(dps, aps, bb_ps, dp_cut, ap_cut):\n", " # parse predicted bb assignment by DP\n", " dp_filter = dps>dp_cut\n", " ap_filter = aps>ap_cut\n", " filter = dp_filter&ap_filter\n", " \n", " bb_ps_passed = bb_ps.mask[filter]\n", " bb_ps_passed = ak.drop_none(bb_ps_passed)\n", " \n", " return bb_ps_passed" ] }, { "cell_type": "code", "execution_count": 13, "id": "ab9d36e1", "metadata": {}, "outputs": [], "source": [ "dp_cut = 0.8\n", "LUT_pred_spanet, LUT_target_spanet = parse_pred_w_target(test_h5, s_h5, dp_cut=dp_cut)\n", "eff_s, efferr_s = calc_eff(LUT_pred_spanet, bins)\n", "pur_s, purerr_s = calc_pur(LUT_target_spanet, bins)" ] }, { "cell_type": "code", "execution_count": 14, "id": "d500caa0", "metadata": {}, "outputs": [ { "data": { "image/png": "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3t7aDoOINMTKTKLwfZT+WoPexrambIZPRERERGpjUkoDlFXmiYiIiIiIiIiqM86+R0REREREREREGsekFBERERERERERaRyTUkREREREREREpHEcU0oTUqLzb+oytcm/ERERERERERG9YZiUqmgp0cD2McDjs+pv69AeGLiGiSkiIiIiokogPvIxEuOeqr2dhdQelnYOFRAREVHVxqRURUuJzk9I9V8NWDZ6VZ7zEljjk39/zEFA11B+u/i7wM6x+dtrKCklCALef/99bN++Hf/99x+uXLmCFi1aaOTYRERERESV3b0DS+H5dLXa24Xbj4Vl4MIKiIiIqGpjUkpTLBsBdi1ePc5IfnU/MxWo4w7oiCs8jPDwcHTo0AE+Pj7Yt2+f3LKDBw9i3bp1CAsLQ/369WFpaQmRSIRdu3bBz8+vQuP6/fff8e677+KDDz7AsmXL5JaFhYXh7bfflj22srJChw4dsGDBAtSvX79C4wKAgIAAJCYm4o8//qjwYxERERFR5dWw5wTcj/OTK8vOSEeTA4MAALd6boOexEhxO6m9JsIjIqpymJTShpu7gQNTXz3eOBAwswN8vgOa9q3QQ4eGhmLChAkIDQ1FZGQk7OzsZMsePHgAW1tbtGvXrtyPm52dDT09vWLjmjp1Kn7++WcsWrQIEolEYZ07d+7A1NQU9+7dw7hx4+Dr64tr165BLK74ZB4RERERkaWdg0I3vPTUJOBA/n0HFw8YmZhrITIioqqJs+9p2s3dwNZRQEqUfHlyVH75zd0VdujU1FRs2bIFH374IXr37o1169bJlgUEBGDChAl48uQJRCIRHB0d4ejoCADo16+frKzAn3/+iVatWkEikaB+/foIDg5GTk6ObLlIJMKKFSvQt29fGBsb49tvvy0yrocPH+LcuXOYNm0aGjVqhJ07dypdz8rKCra2tujUqRNmzZqFmzdv4v79+yU+78TERLz//vuwtraGRCJBs2bNsHfvXgDA7NmzFboohoSEyJ7r7NmzsX79evz5558QiUQQiUQICwsr8ZhEREREREREVDy2lNKUnJf5XfYOTAUgKFlBACACDn4B1PfKX7+cbd26FY0bN4azszPeffddfPrpp/jyyy8hEonw448/wsnJCatWrcKFCxdkrY+srKywdu1a+Pj4yMpOnz6NUaNGYcmSJejYsSMePHiAcePGAQCC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PoqJidHUqVOLfvEACoWkFICb5uzsrICAAAUHB6tTp06Kjo7WihUrzMezs7MVGxursLAwubq6ql69elq4cKFFHzt37tR9990nT09PeXh4qHnz5tq/f7+5/YQJE3THHXfI2dlZ9evXV1xcXIldj8lk0tSpU9WuXTu5urqqSpUq5nhdXV0VEBBgfjk5OcnNzc2izN7ePt9+58+fr44dO1qUPf3003JwcNBvv/2mRx99VDVq1FCVKlX0wAMP6Pvvv7eon5KSoscff1y+vr7y9PRU69attXXrVkmSn5+fOnbsmO8Ea9asWerUqZMqVKggSSpfvryaNm1a4DeEAADAeoprLiBJ48aNU/369fXf//5XoaGh8vLyUteuXUvsFrjLK9PHjx9vjumpp55SRkaGJFnMj7y8vGQymSzK3N3d8+33iy++UL169VSpUiVz2YIFCzR//nwtWLBAo0eP1r/+9S9VrlxZ//rXv/Taa69p9uzZFn18/PHHqlGjhlxcXHTnnXfqww8/NB/r16+fVq1apcTERIs2X375pTIzM9W9e3dzWceOHZkzASWIpBSAYrVjxw6tX79eTk5O5rLY2Fh98sknmjZtmnbu3Klnn31WPXr00Jo1ayRJf//9t1q0aCFnZ2etXr1av//+u/r27avMzExJ0jvvvKPJkyfrzTff1LZt2xQTE6P7779fe/fuLbHrGD16tDp37qytW7eqe/fu6tq1q3bv3n3D/Z0+fVq7du1S48aNzWWnTp3S8uXLNXDgQJUrVy7fdiaTyfzzI488ouPHj2vp0qX6/fff1bBhQ91zzz06ffq0pJwJ1urVq3X48GFzmwMHDuinn34yf+N32d133621a9fe8PUAAICbV9xzAUnav3+/vvnmGy1ZskRLlizRmjVr9Oqrr5bYNaxatUq7d+9WfHy85s2bp0WLFmn8+PE31efatWst5kySNG/ePFWvXl33339/vm2uHKfPPvtMY8aM0SuvvKLdu3dr0qRJGj16tObOnStJat++vfz9/TVnzhyLPmbPnq2HHnpI3t7e5rK7775bf/31V4HbMwC4SQYA3IRevXoZ9vb2Rrly5QxnZ2dDkmFnZ2csXLjQMAzDuHDhguHm5masX7/eol2/fv2Mbt26GYZhGKNGjTLCwsKMjIyMfM8RFBRkvPLKKxZld911l/H0008XKq4rXy4uLoYk48yZMwW2lWQ89dRTFmWRkZHGgAED8tRt2bKlMWTIkAL7umzz5s2GJCMxMdFc9ssvvxiSjEWLFlnUrVixojneESNGGIZhGGvXrjU8PT2NCxcuWNStWrWq8dFHHxmGYRiZmZlGpUqVjLFjx5qPjx492qhcubKRlZVl0e6dd94xQkNDrxs3AAAoOcU9Fxg7dqzh5uZmpKammo8///zzRmRkZIEx/Pjjj4akPHOmcuXKGSaTyXj77bcLbNurVy+jQoUKRnp6urls6tSphru7e565x+zZsw0vL69rjsdl9erVMyZMmGBRdueddxr333+/RdmQIUPMsVaqVMlcXrVqVePzzz+3qDtx4kQjKirK/H7kyJFGWFiYkZ2dbRiGYezbt88wmUzGypUrLdqdPXvWkGTEx8cXKnYAReNgu3QYgNLi//7v/zR16lSlp6fr7bffloODgzp37ixJ2rdvn86fP682bdpYtMnIyFCDBg0kSVu2bFHz5s3l6OiYp+/U1FQdPXpUTZs2tShv2rSpxXL1a8V1pY0bN5r3VrqWqKioPO+3bNly3XYF+eeffyRJLi4u1627adMmZWdnq3v37rp48aIkaevWrUpLS1PFihXz9Hv5Nkd7e3v16tVLc+bM0dixY2UYhubOnas+ffrIzs5yYayrq2uJb5wKAABuzI3OBaSczcmv3Bw8MDBQx48fv+45165da9FOklq1anXddvXq1ZObm5v5fVRUlNLS0nTkyBGLfTSL4p9//inUnOmll17SoEGDtGjRIk2aNElSzr5Q+/fvV79+/dS/f39z3czMTHl5eZnf9+3bV6+++qp+/PFHtW7dWrNnz1ZoaKhat25tcQ5XV1dJYt4ElBCSUgBuWrly5RQeHi4pZ/+ievXqaebMmerXr5/S0tIkSd9//73FvgBSzl5UUu5f9iUZ12V//fVXiZzrenx8fCRJZ86cka+vryQpPDxcJpNJCQkJFnWrVKkiyXJc0tLSFBgYqPj4+Dx9X7nEvG/fvoqNjdXq1auVnZ2tI0eOqE+fPnnanD592hwHAACwjZKYC1z9JZ/JZFJ2dvZ1YwkLC7PoR5IcHGzzz0UfHx+dOXPGoiwiIiLPOPn6+srX11d+fn7msstzzxkzZigyMtKi/pX7fkZERKh58+aaPXu2WrVqpU8++UT9+/e3uA1QkvnWSOZNQMlgTykAxcrOzk4vvviiXn75Zf3zzz+qWbOmnJ2dlZiYqPDwcIvX5afU1a1bV2vXrtWlS5fy9Ofp6amgoCD9/PPPFuU///yzatasWWLX8csvv+R5X6NGjRvur2rVqvL09NSuXbvMZRUrVlSbNm30/vvvKz09/ZrtGzZsqOTkZDk4OOQZx8sJr8vnadmypWbNmqXZs2crOjo6328pd+zYYV6pBgAAbKMk5gLWtnXrVvOKcClnzuTu7l7g04gLo0GDBhZzJknq1q2bEhIS9O23316zrb+/v4KCgnTgwIE84xQWFmZRt1+/fvrqq6/01Vdf6e+//7Z42t9lO3bskKOjo2rVqnXD1wOgYCSlABS7Rx55RPb29vrggw/k4eGh4cOH69lnn9XcuXO1f/9+/fHHH3rvvffMm00OGjRIqamp6tq1q3777Tft3btX//3vf83fhj3//PN67bXXtGDBAiUkJGjkyJHasmWLhgwZUmLX8OWXX2rWrFnas2ePxo4dq02bNmnQoEE33J+dnZ2io6O1bt06i/IPP/xQmZmZaty4sRYsWKDdu3crISFBn376qf7880/zN3rR0dGKiopSp06dtHz5ch06dEjr16/XSy+9pN9++82iz379+mnRokX6+uuv82xwftnatWt177333vD1AACA4lEScwFrysjIUL9+/bRr1y798MMPGjt2rAYNGpRn64CiiImJ0YYNG5SVlWUu69q1qx5++GF17dpVEyZM0MaNG3Xo0CGtWbNGCxYssFgFNX78eMXGxurdd9/Vnj17tH37ds2ePVtvvfWWxXkeeeQROTo66sknn9S9996bbyJt7dq1at68eYmt7AfKOpJSAIqdg4ODBg0apNdff13p6emaOHGiRo8erdjYWNWoUUNt27bV999/b/62qmLFilq9erXS0tLUsmVLNWrUSDNmzDAvPx88eLCGDRum5557TnXq1FFcXJwWL16siIiIEruG8ePHa/78+apbt64++eQTzZs376ZXZj3++OOaP3++xRL6qlWravPmzYqOjtaoUaNUr149NW7cWO+9956GDx+uiRMnSspZev/DDz+oRYsW6tOnj6pVq6auXbvq8OHD8vf3tzhP586d5ezsLDc3N3Xq1ClPHBs2bNDZs2f18MMP39T1AACAm1cScwFruueeexQREaEWLVqoS5cuuv/++zVu3Lib6rNdu3ZycHDQypUrzWUmk0kLFizQlClT9MMPP+iee+5R9erV1bdvXwUHB1t88ff444/r448/1uzZs1WnTh21bNlSc+bMybNSys3NTV27dtWZM2fUt2/ffGOZP3++xd5UAIqXyTAMw9ZBAMCtxGQy6euvv843oXMzDMNQZGSknn32WXXr1q1Y+y6KLl26qF69enrxxRdtFgMAALj99e7dWykpKfrmm2+Kve8PPvhAixcv1rJly4q978JaunSpnnvuOW3bts1m+2sBpR0rpQDASkwmk6ZPn67MzEybxZCRkaE6dero2WeftVkMAAAA1/Pkk0+qRYsWOnfunM1iSE9P1+zZs0lIASWIlVIAcJWSWikFAABQmpTkSikAZQNJKQAAAAAAAFgdt+8BAAAAAADA6khKAQAAAAAAwOpISgEAAAAAAMDqSEoBAAAAAADA6khKAQAAAAAAwOpISgEAAAAAAMDqSEoBAAAAAADA6khKAQAAAAAAwOpISgEAAAAAAMDq/h+UGCthmH1QOQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 2, figsize=(12, 5))\n", "ax[0].errorbar(x=bin_centers, y=eff_s, xerr=xerr, yerr=efferr_s, fmt='o', capsize=5, label='Trust if a fatjet is assigned')\n", "ax[0].set(xlabel=r\"Reco H pT (GeV)\", ylabel=r\"Matching efficiency\", title=f\"Matching Efficiency vs. Reco H pT, DP cut at {dp_cut}, AP cut at 1/13\")\n", "\n", "ax[1].errorbar(x=bin_centers, y=pur_s, xerr=xerr, yerr=purerr_s, fmt='o', capsize=5, label='Trust if a fatjet is assigned')\n", "ax[1].set(xlabel=r\"Gen H pT (GeV)\", ylabel=r\"Matching purity\", title=f\"Matching Purity vs. Gen H pT, DP cut at {dp_cut}, AP cut at 1/13\")\n", "\n", "dp_cut = 0.8\n", "ap_cut = 1/13\n", "LUT_pred_spanet, LUT_target_spanet = parse_pred_w_target_ap(test_h5, s_h5, dp_cut=dp_cut)\n", "eff_s, efferr_s = calc_eff(LUT_pred_spanet, bins)\n", "pur_s, purerr_s = calc_pur(LUT_target_spanet, bins)\n", "\n", "ax[0].errorbar(x=bin_centers, y=eff_s, xerr=xerr, yerr=efferr_s, fmt='o', capsize=5, label='After AP_cut')\n", "ax[0].set(xlabel=r\"Reco H pT (GeV)\", ylabel=r\"Matching efficiency\", title=f\"Matching Efficiency vs. Reco H pT, DP cut at {dp_cut}, AP cut at 1/13\")\n", "\n", "ax[1].errorbar(x=bin_centers, y=pur_s, xerr=xerr, yerr=purerr_s, fmt='o', capsize=5, label='After AP_cut')\n", "ax[1].set(xlabel=r\"Gen H pT (GeV)\", ylabel=r\"Matching purity\", title=f\"Matching Purity vs. Gen H pT, DP cut at {dp_cut}, AP cut at 1/13\")\n", "\n", "ax[0].legend()\n", "ax[1].legend()\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "bad0c881", "metadata": {}, "source": [ "#### Investigate the difference between two plots" ] }, { "cell_type": "code", "execution_count": 15, "id": "3fc4b49c", "metadata": {}, "outputs": [], "source": [ "testfile = test_h5\n", "predfile = s_h5\n", "h1_pt = np.array(testfile['TARGETS']['h1']['pt'])\n", "h2_pt = np.array(testfile['TARGETS']['h2']['pt'])\n", "h3_pt = np.array(testfile['TARGETS']['h3']['pt'])\n", "\n", "bh1_pt = np.array(testfile['TARGETS']['bh1']['pt'])\n", "bh2_pt = np.array(testfile['TARGETS']['bh2']['pt'])\n", "bh3_pt = np.array(testfile['TARGETS']['bh3']['pt'])\n", "\n", "# mask\n", "h1_mask = np.array(testfile['TARGETS']['h1']['mask'])\n", "h2_mask = np.array(testfile['TARGETS']['h2']['mask'])\n", "h3_mask = np.array(testfile['TARGETS']['h3']['mask'])\n", "\n", "bh1_mask = np.array(testfile['TARGETS']['bh1']['mask'])\n", "bh2_mask = np.array(testfile['TARGETS']['bh2']['mask'])\n", "bh3_mask = np.array(testfile['TARGETS']['bh3']['mask'])\n", "\n", "# target jet/fjets\n", "b1_h1_t = np.array(testfile[\"TARGETS\"][\"h1\"]['b1'])\n", "b1_h2_t = np.array(testfile[\"TARGETS\"][\"h2\"]['b1'])\n", "b1_h3_t = np.array(testfile[\"TARGETS\"][\"h3\"]['b1'])\n", "\n", "b2_h1_t = np.array(testfile[\"TARGETS\"][\"h1\"]['b2'])\n", "b2_h2_t = np.array(testfile[\"TARGETS\"][\"h2\"]['b2'])\n", "b2_h3_t = np.array(testfile[\"TARGETS\"][\"h3\"]['b2'])\n", "\n", "bb_bh1_t = np.array(testfile[\"TARGETS\"][\"bh1\"]['bb'])\n", "bb_bh2_t = np.array(testfile[\"TARGETS\"][\"bh2\"]['bb'])\n", "bb_bh3_t = np.array(testfile[\"TARGETS\"][\"bh3\"]['bb'])\n", "\n", "# pred jet/fjets\n", "bb_bh1_p = np.array(predfile[\"TARGETS\"][\"bh1\"]['bb'])\n", "bb_bh2_p = np.array(predfile[\"TARGETS\"][\"bh2\"]['bb'])\n", "bb_bh3_p = np.array(predfile[\"TARGETS\"][\"bh3\"]['bb'])\n", "\n", "\n", "# fatjet detection probability\n", "dp_bh1 = np.array(predfile[\"TARGETS\"][\"bh1\"]['detection_probability'])\n", "dp_bh2 = np.array(predfile[\"TARGETS\"][\"bh2\"]['detection_probability'])\n", "dp_bh3 = np.array(predfile[\"TARGETS\"][\"bh3\"]['detection_probability'])\n", "\n", "# fatjet assignment probability\n", "ap_bh1 = np.array(predfile[\"TARGETS\"][\"bh1\"]['assignment_probability'])\n", "ap_bh2 = np.array(predfile[\"TARGETS\"][\"bh2\"]['assignment_probability'])\n", "ap_bh3 = np.array(predfile[\"TARGETS\"][\"bh3\"]['assignment_probability'])\n", "\n", "# collect fatjet pt\n", "fj_pts = np.array(testfile['INPUTS']['BoostedJets']['fj_pt'])\n", "\n", "# convert some arrays to ak array\n", "dps = np.concatenate((dp_bh1.reshape(-1, 1), dp_bh2.reshape(-1, 1), dp_bh3.reshape(-1, 1)), axis=1)\n", "dps = ak.Array(dps)\n", "aps = np.concatenate((ap_bh1.reshape(-1, 1), ap_bh2.reshape(-1, 1), ap_bh3.reshape(-1, 1)), axis=1)\n", "aps = ak.Array(aps)\n", "bb_ps = np.concatenate((bb_bh1_p.reshape(-1, 1), bb_bh2_p.reshape(-1, 1), bb_bh3_p.reshape(-1, 1)), axis=1)\n", "bb_ps = ak.Array(bb_ps)\n", "bb_ts = np.concatenate((bb_bh1_t.reshape(-1, 1), bb_bh2_t.reshape(-1, 1), bb_bh3_t.reshape(-1, 1)), axis=1)\n", "bb_ts = ak.Array(bb_ts)\n", "fj_pts = ak.Array(fj_pts)\n", "bh_masks = np.concatenate((bh1_mask.reshape(-1, 1), bh2_mask.reshape(-1, 1), bh3_mask.reshape(-1, 1)), axis=1)\n", "bh_masks = ak.Array(bh_masks)\n", "bh_pts = np.concatenate((bh1_pt.reshape(-1, 1), bh2_pt.reshape(-1, 1), bh3_pt.reshape(-1, 1)), axis=1)\n", "bh_pts = ak.Array(bh_pts)\n", "\n" ] }, { "cell_type": "code", "execution_count": 16, "id": "eb67bc34", "metadata": {}, "outputs": [], "source": [ "dp_filter = dps>dp_cut\n", "ak8_filter = bb_ps>9\n", "filter = dp_filter&ak8_filter\n", "\n", "aps = aps.mask[filter]\n" ] }, { "cell_type": "code", "execution_count": 17, "id": "fa368c47", "metadata": {}, "outputs": [], "source": [ "aps_pass_np = ak.ravel(ak.drop_none(aps)).to_numpy()" ] }, { "cell_type": "code", "execution_count": 18, "id": "8741adb0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Maximum Assignment Probability of Fatjets of Each Event')" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAGzCAYAAADNKAZOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABCb0lEQVR4nO3df3zN9f//8fvZOGfDzplf2yyLmfIjpIaZGskyQimRyI8SlamkH29SflR+pJDf3lT0DpGKRGH5kWJUaiW/SpFKm/za/P615/ePvuf1cWzY1mbt1e16uZzLxXm+nq/Xebyee51z7uf1i8MYYwQAAGAzfoVdAAAAQEEg5AAAAFsi5AAAAFsi5AAAAFsi5AAAAFsi5AAAAFsi5AAAAFsi5AAAAFsi5AAAAFsi5BQxDodDQ4YMKewyirTVq1fL4XBo9erVhV0K/r8hQ4bI4XBo3759+bbMypUrq3Xr1pfsl9320L17d1WuXNmn3z/xvffWW2+pevXqKl68uIKDgwu1lsqVK6t79+6FWkNefPnll2rUqJFKliwph8OhlJSUwi7Jx0033aRatWoVdhlFFiEnB2bOnCmHwyGHw6HPP/88y3RjjCIiIuRwOHL0oYrsbd26VQ6HQwEBATp06FBhl2NLc+bM0auvvprj/pUrV7a2fYfDoZCQEMXFxWnBggUFV2QRsW7dOg0ZMqTQttVt27ape/fuioqK0vTp0zVt2rQL9vWGyOweU6dOzfFrFsQ6Hzt2TEOGDCmUHx2nT59W+/btdeDAAY0dO1ZvvfWWKlWqlG1fbxi+0GPu3LmXufqcOf89fO6jRYsWhV2eJGn48OFauHBhgSy7WIEs1aYCAgI0Z84c3XjjjT7tn376qX777Te5XK4Cr+H48eMqVsyef7ZZs2YpLCxMBw8e1LvvvqsHHnigQF6ncePGOn78uJxOZ4Es/59szpw5+v7779W3b98cz1O3bl098cQTkqQ9e/bov//9r+68805NmTJFDz30UAFVevnkdHs4/723bt06DR06VN27dy+UvSirV69WZmamxo0bp6pVq+ZonilTpqhUqVI+bTExMTl+zYut8/bt2+Xnl/vfzceOHdPQoUMl/bXX4nL66aef9Msvv2j69Ok5/rx59NFHVb9+/SztsbGx+V1evjn3PXyu8PDwQqgmq+HDh+uuu+5S27Zt833Z9vy2LCC33nqr5s+fr/Hjx/t82M2ZM0fR0dH5uqv9QgICAgr8NQqDMUZz5sxRp06dtHPnTs2ePbvAQo6fn59tx7EgXHHFFbr33nut5127dlXVqlU1duzYC4acM2fOKDMzs0gEyZxuD/+0bWbv3r2SlKuAddddd6lcuXIFUs/l+JGX3/IyhnFxcbrrrrsKqKKCcf57+N+Ew1W5cM8992j//v1KSkqy2k6dOqV3331XnTp1ynaeV155RY0aNVLZsmUVGBio6Ohovfvuuz59ZsyYIYfDoTfeeMOnffjw4XI4HProo4+stvPPC/Duhv7hhx907733yuPxqHz58nruuedkjNGvv/6q22+/XW63W2FhYRo9erTPa3gPxe3atcunPbvzFLzHhr/77js1adJEJUqUUNWqVa31+fTTTxUTE6PAwEBVq1ZNn3zyySXH1Gvt2rXatWuXOnbsqI4dO2rNmjX67bffsvT76quvlJCQoHLlyikwMFCRkZG6//77ffrMnTtX0dHRCgoKktvtVu3atTVu3LiLrpskTZo0SVWqVFFgYKAaNGigzz77TDfddJPPr0vvvO+8846GDRumihUrKiAgQM2aNdOOHTt8lpcf4/X777/r/vvvV2hoqFwul6655pos20lOa7rpppu0ZMkS/fLLL9bu6vPPO8mJsLAw1ahRQzt37pQk7dq1Sw6HQ6+88opeffVVRUVFyeVyacuWLZKklStXKi4uTiVLllRwcLBuv/12bd26Ndtl79u3Tx06dJDb7VbZsmX12GOP6cSJEz59ZsyYoZtvvlkhISFyuVyqWbOmpkyZcsF6ly9frrp16yogIEA1a9bU+++/n+34XepwybnvvSFDhuipp56SJEVGRlrjuWvXLjVp0kTXXntttsuoVq2aEhISLvo6kjR58mRdc801crlcCg8PV2Jios8hosqVK2vw4MGSpPLly//t84W+++47de/eXVWqVFFAQIDCwsJ0//33a//+/Vafi62zt6bzz8k5dOiQ+vbtq4iICLlcLlWtWlUvvfSSMjMzJf217ZQvX16SNHToUGuZ3nVJTU3Vfffdp4oVK8rlcqlChQq6/fbbs3xeZedS21337t3VpEkTSVL79u3lcDjybU9SbrbRjz/+WE2aNLE+r+rXr685c+Zk6bdlyxY1bdpUJUqU0BVXXKFRo0blS63SX99TDodDv/zyS5ZpAwYM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yJFatWqVYmJi1LNnT9WsWVMHDhzQ119/rU8++UQHDhzI9TKjo6M1b9489evXT/Xr11epUqUuGtT/rpdfflktW7ZUbGysevTooePHj2vChAnyeDzZ3tdl586duu2229SiRQslJydr1qxZ6tSpk3XfmebNm1t76rzhYfr06QoJCdEff/yRZXlXX321evTooS+//FKhoaF64403lJaWdsFQlBvR0dGSpIEDB6pjx44qXry42rRpY30pXHfddapVq5bmz5+vGjVq6Prrr7/kMsuXL68BAwZo6NChatGihW677TZt375dkydPVv369Qvkhm5ut1uNGzfWqFGjdPr0aV1xxRVavny5dR+kc11qnc/11FNPadGiRWrdurW6d++u6OhoHT16VJs2bdK7776rXbt2Wfe7qlmzpubNm6err75aZcqUUa1atXTmzBk1a9ZMHTp0UM2aNVWsWDEtWLBAaWlpPifzZye3211ufPbZZ1lCifTX4eM6derkeBt1u90aO3asHnjgAdWvX1+dOnVS6dKl9e233+rYsWP5enj9999/z3bPV6lSpXzuMhwSEqKmTZtqzJgxOnz4sO6++26f/n5+fnrttdfUsmVLXXPNNbrvvvt0xRVX6Pfff9eqVavkdrv14Ycf5rq+6OhoffLJJxozZozCw8MVGRmZqztxX1SBXLNlM+deQn4x2V1C/vrrr5urrrrKuFwuU716dTNjxgzr0jqvO++80wQFBZldu3b5zPvBBx8YSeall16y2nSBS8jPv4y0W7dupmTJkllqbNKkibnmmmt82n766ScTHx9vXC6XCQ0NNc8884xJSkrK9hLy8+e90Hp7a01MTMzS7jV69GgjyaxYseKCfbyXcX/wwQfm66+/Nvfcc4+58sorjcvlMiEhIaZ169bmq6++svq/++67pnnz5iYkJMQ4nU5z5ZVXmgcffNDn8s7sLhk2xpjx48ebSpUqGZfLZRo0aGDWrl1roqOjTYsWLbLMe/4lp97LqM+9BDw/xistLc0kJiaaiIgIU7x4cRMWFmaaNWtmpk2blqeajhw5Yjp16mSCg4N9LiG+kAvVmt3rXOhS308++cTccMMNJjAw0LjdbtOmTRuzZcsWnz7e7XjLli3mrrvuMkFBQaZ06dKmT58+WS6vXbRokalTp44JCAgwlStXNi+99JJ54403slza7K192bJlpk6d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AACKoGL5vcD69etrwYIFGjBggJ5//nlFRkbq1VdfVefOna0+Tz/9tI4ePapevXrp0KFDuvHGG7V06VIFBARYfWbPnq0+ffqoWbNm8vPzU7t27TR+/Hhrusfj0fLly5WYmKjo6GiVK1dOgwYN8rmXDgAA+PfK9/vkFCXcJwcAUFRwn5z/U2j3yQEAAPgnIOQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbIuQAAABbKvCQM3LkSDkcDvXt29dqO3HihBITE1W2bFmVKlVK7dq1U1pams98u3fvVqtWrVSiRAmFhIToqaee0pkzZ3z6rF69Wtdff71cLpeqVq2qmTNnFvTqAACAIqJAQ86XX36p//73v6pTp45P++OPP64PP/xQ8+fP16effqo9e/bozjvvtKafPXtWrVq10qlTp7Ru3Tq9+eabmjlzpgYNGmT12blzp1q1aqWmTZsqJSVFffv21QMPPKBly5YV5CoBAIAiosBCzpEjR9S5c2dNnz5dpUuXttrT09P1+uuva8yYMbr55psVHR2tGTNmaN26dVq/fr0kafny5dqyZYtmzZqlunXrqmXLlnrhhRc0adIknTp1SpI0depURUZGavTo0apRo4b69Omju+66S2PHji2oVQIAAEVIgYWcxMREtWrVSvHx8T7tGzdu1OnTp33aq1evriuvvFLJycmSpOTkZNWuXVuhoaFWn4SEBGVkZGjz5s1Wn/OXnZCQYC0jOydPnlRGRobPAwAA2FOxgljo3Llz9fXXX+vLL7/MMi01NVVOp1PBwcE+7aGh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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "vals, bins, patches = plt.hist(aps_pass_np)\n", "plt.title('Maximum Assignment Probability of Fatjets of Each Event')" ] }, { "cell_type": "code", "execution_count": 19, "id": "b89558a5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 12, 2, 2, 1, 4, 19, 17, 26, 57,\n", " 10281])" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vals.astype('int')" ] }, { "cell_type": "code", "execution_count": 20, "id": "24b5a4f6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1.31592751e-04, 1.00118436e-01, 2.00105280e-01, 3.00092101e-01,\n", " 4.00078952e-01, 5.00065804e-01, 6.00052655e-01, 7.00039506e-01,\n", " 8.00026298e-01, 9.00013149e-01, 1.00000000e+00], dtype=float32)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bins" ] }, { "cell_type": "code", "execution_count": 21, "id": "816f5d16", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.00796468669033682" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vals[0:-2].sum()/vals.sum()" ] }, { "cell_type": "code", "execution_count": 22, "id": "d93a28d5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.07692307692307693" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1/13" ] }, { "cell_type": "code", "execution_count": null, "id": "34e3d027", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.12" } }, "nbformat": 4, "nbformat_minor": 5 }