diff --git a/notebooks/egamma_meeting_May_6_2024.ipynb b/notebooks/egamma_meeting_May_6_2024.ipynb index 3d4d578f..5b03d426 100644 --- a/notebooks/egamma_meeting_May_6_2024.ipynb +++ b/notebooks/egamma_meeting_May_6_2024.ipynb @@ -1,860 +1,853 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "b369fd0f-665d-49e9-bed9-85ef8ba9396f", - "metadata": {}, - "outputs": [], - "source": [ - "import dask_awkward as dak\n", - "import numpy as np\n", - "from coffea.dataset_tools import preprocess\n", - "from distributed import Client\n", - "from matplotlib import pyplot as plt\n", - "\n", - "import egamma_tnp\n", - "from egamma_tnp import ElectronTagNProbeFromNTuples\n", - "from egamma_tnp.plot import plot_efficiency" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "688ce707-6830-4326-b8f9-42f65f31272f", - "metadata": {}, - "outputs": [], - "source": [ - "client = Client()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "2249d89d-0e57-4e36-9223-aef31d5f971f", - "metadata": {}, - "outputs": [], - "source": [ - "fileset = {\n", - " \"samples\": {\n", - " \"files\": {\n", - " \"../root_files/Egamma0.root\": \"Events\",\n", - " \"../root_files/Egamma1.root\": \"Events\",\n", - " }\n", - " }\n", - "}\n", - "\n", - "fileset_available, fileset_updates = preprocess(fileset, skip_bad_files=True, step_size=500_000)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "e201b56b-5648-4b51-9c7d-8786bfc01b12", - "metadata": {}, - "outputs": [], - "source": [ - "tnp = egamma_tnp.ElectronTagNProbeFromNanoAOD(\n", - " fileset_available,\n", - " True,\n", - " filter=\"asdf\",\n", - " filterbit=1,\n", - " tags_pt_cut=30,\n", - " use_sc_eta=True,\n", - " tags_abseta_cut=2.50,\n", - " probes_pt_cut=27,\n", - " trigger_pt=30,\n", - " hlt_filter=\"Ele32_WPTight_Gsf\",\n", - ")\n", - "\n", - "egamma_tnp.config.set(\"MET_pt_bins\", np.linspace(0, 200, 21).tolist())\n", - "egamma_tnp.config.set(\"luminosityBlock_bins\", np.linspace(0, 1000, 11).tolist())\n", - "egamma_tnp.config.set(\"tag_Ele_pt_bins\", egamma_tnp.config.get(\"pt_bins\"))\n", - "egamma_tnp.config.set(\"Electron_pt_bins\", egamma_tnp.config.get(\"pt_bins\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "384a0b8b-8cbc-4bda-aa78-76061965bdca", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/iason/miniforge3/envs/egamma_dev/lib/python3.10/site-packages/coffea/nanoevents/methods/candidate.py:11: FutureWarning: In version 2024.7.0 (target date: 2024-06-30 11:59:59-05:00), this will be an error.\n", - "To raise these warnings as errors (and get stack traces to find out where they're called), run\n", - " import warnings\n", - " warnings.filterwarnings(\"error\", module=\"coffea.*\")\n", - "after the first `import coffea` or use `@pytest.mark.filterwarnings(\"error:::coffea.*\")` in pytest.\n", - "Issue: coffea.nanoevents.methods.vector will be removed and replaced with scikit-hep vector. Nanoevents schemas internal to coffea will be migrated. Otherwise please consider using that package!.\n", - " from coffea.nanoevents.methods import vector\n" - ] - }, - { - "data": { - "text/plain": [ - "{'from-uproot-79e3ecd01474e06d4436304834c219f7': frozenset({'Electron_charge',\n", - " 'Electron_deltaEtaSC',\n", - " 'Electron_eta',\n", - " 'Electron_mass',\n", - " 'Electron_phi',\n", - " 'Electron_pt',\n", - " 'HLT_Ele30_WPTight_Gsf',\n", - " 'HLT_Ele32_WPTight_Gsf',\n", - " 'MET_pt',\n", - " 'TrigObj_eta',\n", - " 'TrigObj_filterBits',\n", - " 'TrigObj_id',\n", - " 'TrigObj_phi',\n", - " 'TrigObj_pt',\n", - " 'luminosityBlock',\n", - " 'nElectron',\n", - " 'nTrigObj'})}" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dak.necessary_columns(tnp.get_tnp_arrays(cut_and_count=False, vars=[\"Electron_pt\", \"tag_Ele_eta\", \"el_pt\", \"el_eta\", \"MET_pt\", \"luminosityBlock\"]))" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "4e2f809b-e40d-4a2e-9dab-b2392be30af6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'from-uproot-79e3ecd01474e06d4436304834c219f7': frozenset({'Electron_charge',\n", - " 'Electron_deltaEtaSC',\n", - " 'Electron_eta',\n", - " 'Electron_mass',\n", - " 'Electron_phi',\n", - " 'Electron_pt',\n", - " 'HLT_Ele30_WPTight_Gsf',\n", - " 'HLT_Ele32_WPTight_Gsf',\n", - " 'MET_pt',\n", - " 'TrigObj_eta',\n", - " 'TrigObj_filterBits',\n", - " 'TrigObj_id',\n", - " 'TrigObj_phi',\n", - " 'TrigObj_pt',\n", - " 'luminosityBlock',\n", - " 'nElectron',\n", - " 'nTrigObj'})}" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dak.necessary_columns(tnp.get_nd_tnp_histograms(cut_and_count=True, vars=[\"tag_Ele_pt\", \"el_pt\", \"el_eta\", \"MET_pt\", \"luminosityBlock\"]))" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "f791896e-f3a9-4cae-8ce7-cd82b9f4354a", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/iason/miniforge3/envs/egamma_dev/lib/python3.10/site-packages/coffea/nanoevents/methods/candidate.py:11: FutureWarning: In version 2024.7.0 (target date: 2024-06-30 11:59:59-05:00), this will be an error.\n", - "To raise these warnings as errors (and get stack traces to find out where they're called), run\n", - " import warnings\n", - " warnings.filterwarnings(\"error\", module=\"coffea.*\")\n", - "after the first `import coffea` or use `@pytest.mark.filterwarnings(\"error:::coffea.*\")` in pytest.\n", - "Issue: coffea.nanoevents.methods.vector will be removed and replaced with scikit-hep vector. Nanoevents schemas internal to coffea will be migrated. Otherwise please consider using that package!.\n", - " from coffea.nanoevents.methods import vector\n", - "/Users/iason/miniforge3/envs/egamma_dev/lib/python3.10/site-packages/coffea/nanoevents/methods/candidate.py:11: FutureWarning: In version 2024.7.0 (target date: 2024-06-30 11:59:59-05:00), this will be an error.\n", - "To raise these warnings as errors (and get stack traces to find out where they're called), run\n", - " import warnings\n", - " warnings.filterwarnings(\"error\", module=\"coffea.*\")\n", - "after the first `import coffea` or use `@pytest.mark.filterwarnings(\"error:::coffea.*\")` in pytest.\n", - "Issue: coffea.nanoevents.methods.vector will be removed and replaced with scikit-hep vector. Nanoevents schemas internal to coffea will be migrated. Otherwise please consider using that package!.\n", - " from coffea.nanoevents.methods import vector\n" - ] - } - ], - "source": [ - "out = tnp.get_tnp_arrays(cut_and_count=False, vars=[\"Electron_pt\", \"tag_Ele_eta\", \"el_pt\", \"el_eta\", \"MET_pt\", \"luminosityBlock\"], compute=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "8ddb488b-1c4b-487e-a47a-206fc9e9ee5e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
[{Electron_pt: [42.6, 34.2], tag_Ele_eta: 0.906, el_pt: 34.2, el_eta: ..., ...},\n",
-                            " {Electron_pt: [43.2, 41.4], tag_Ele_eta: 1.58, el_pt: 41.4, el_eta: ..., ...},\n",
-                            " {Electron_pt: [45.8, 40.8], tag_Ele_eta: 0.0873, el_pt: 40.8, ...},\n",
-                            " {Electron_pt: [48.8, 38.6], tag_Ele_eta: 1.02, el_pt: 38.6, el_eta: 1.31, ...},\n",
-                            " {Electron_pt: [47.1, 41.2], tag_Ele_eta: 1.35, el_pt: 41.2, el_eta: 1.62, ...},\n",
-                            " {Electron_pt: [63, 57.4], tag_Ele_eta: -2.21, el_pt: 57.4, el_eta: -2.24, ...},\n",
-                            " {Electron_pt: [49.7, 44.2], tag_Ele_eta: 0.514, el_pt: 44.2, el_eta: ..., ...},\n",
-                            " {Electron_pt: [41.2, 39.6], tag_Ele_eta: -1.4, el_pt: 39.6, el_eta: ..., ...},\n",
-                            " {Electron_pt: [51.6, 35.2], tag_Ele_eta: 0.217, el_pt: 35.2, el_eta: ..., ...},\n",
-                            " {Electron_pt: [36.9, 30.4], tag_Ele_eta: -0.623, el_pt: 30.4, ...},\n",
-                            " ...,\n",
-                            " {Electron_pt: [44, 43.1], tag_Ele_eta: 2.07, el_pt: 43.1, el_eta: 1.32, ...},\n",
-                            " {Electron_pt: [38.8, 34], tag_Ele_eta: -1.56, el_pt: 34, el_eta: -0.349, ...},\n",
-                            " {Electron_pt: [82, 71.4], tag_Ele_eta: -1.64, el_pt: 71.4, el_eta: -1.34, ...},\n",
-                            " {Electron_pt: [40, 39.7], tag_Ele_eta: 1.11, el_pt: 39.7, el_eta: 0.113, ...},\n",
-                            " {Electron_pt: [47.5, 34], tag_Ele_eta: -2.35, el_pt: 34, el_eta: -1.61, ...},\n",
-                            " {Electron_pt: [36.6, 31], tag_Ele_eta: 1.6, el_pt: 31, el_eta: 0.0329, ...},\n",
-                            " {Electron_pt: [40.4, 40.1], tag_Ele_eta: -1.11, el_pt: 40.1, el_eta: ..., ...},\n",
-                            " {Electron_pt: [44.2, 36.2], tag_Ele_eta: -1.84, el_pt: 36.2, el_eta: ..., ...},\n",
-                            " {Electron_pt: [52, 38.3], tag_Ele_eta: -0.813, el_pt: 38.3, el_eta: ..., ...}]\n",
-                            "--------------------------------------------------------------------------------\n",
-                            "type: 9436 * {\n",
-                            "    Electron_pt: var * float32[parameters={"__doc__": "pt"}],\n",
-                            "    tag_Ele_eta: float32[parameters={"__doc__": "eta"}],\n",
-                            "    el_pt: float32[parameters={"__doc__": "pt"}],\n",
-                            "    el_eta: float32[parameters={"__doc__": "eta"}],\n",
-                            "    MET_pt: float32[parameters={"__doc__": "pt"}],\n",
-                            "    luminosityBlock: uint32[parameters={"__doc__": "luminosityBlock/i"}],\n",
-                            "    pair_mass: float32\n",
-                            "}
" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "out[\"samples\"][\"passing\"]" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "81a31ffc-6eb8-49ef-8d0c-8449e78fa34f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
[[42.6, 34.2],\n",
-                            " [43.2, 41.4],\n",
-                            " [45.8, 40.8],\n",
-                            " [48.8, 38.6],\n",
-                            " [47.1, 41.2],\n",
-                            " [63, 57.4],\n",
-                            " [49.7, 44.2],\n",
-                            " [41.2, 39.6],\n",
-                            " [51.6, 35.2],\n",
-                            " [36.9, 30.4],\n",
-                            " ...,\n",
-                            " [44, 43.1],\n",
-                            " [38.8, 34],\n",
-                            " [82, 71.4],\n",
-                            " [40, 39.7],\n",
-                            " [47.5, 34],\n",
-                            " [36.6, 31],\n",
-                            " [40.4, 40.1],\n",
-                            " [44.2, 36.2],\n",
-                            " [52, 38.3]]\n",
-                            "--------------------------------------------------------\n",
-                            "type: 9436 * var * float32[parameters={"__doc__": "pt"}]
" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "out[\"samples\"][\"passing\"].Electron_pt" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "02a9882b-4d7c-46ef-aac0-f803c6e78b56", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
[34.2,\n",
-                            " 41.4,\n",
-                            " 40.8,\n",
-                            " 38.6,\n",
-                            " 41.2,\n",
-                            " 57.4,\n",
-                            " 44.2,\n",
-                            " 39.6,\n",
-                            " 35.2,\n",
-                            " 30.4,\n",
-                            " ...,\n",
-                            " 43.1,\n",
-                            " 34,\n",
-                            " 71.4,\n",
-                            " 39.7,\n",
-                            " 34,\n",
-                            " 31,\n",
-                            " 40.1,\n",
-                            " 36.2,\n",
-                            " 38.3]\n",
-                            "--------------------------------------------------\n",
-                            "type: 9436 * float32[parameters={"__doc__": "pt"}]
" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "out[\"samples\"][\"passing\"].el_pt" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "eb8e2608-aab8-42bf-967f-17b85000033e", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/iason/miniforge3/envs/egamma_dev/lib/python3.10/site-packages/coffea/nanoevents/methods/candidate.py:11: FutureWarning: In version 2024.7.0 (target date: 2024-06-30 11:59:59-05:00), this will be an error.\n", - "To raise these warnings as errors (and get stack traces to find out where they're called), run\n", - " import warnings\n", - " warnings.filterwarnings(\"error\", module=\"coffea.*\")\n", - "after the first `import coffea` or use `@pytest.mark.filterwarnings(\"error:::coffea.*\")` in pytest.\n", - "Issue: coffea.nanoevents.methods.vector will be removed and replaced with scikit-hep vector. Nanoevents schemas internal to coffea will be migrated. Otherwise please consider using that package!.\n", - " from coffea.nanoevents.methods import vector\n", - "/Users/iason/miniforge3/envs/egamma_dev/lib/python3.10/site-packages/coffea/nanoevents/methods/candidate.py:11: FutureWarning: In version 2024.7.0 (target date: 2024-06-30 11:59:59-05:00), this will be an error.\n", - "To raise these warnings as errors (and get stack traces to find out where they're called), run\n", - " import warnings\n", - " warnings.filterwarnings(\"error\", module=\"coffea.*\")\n", - "after the first `import coffea` or use `@pytest.mark.filterwarnings(\"error:::coffea.*\")` in pytest.\n", - "Issue: coffea.nanoevents.methods.vector will be removed and replaced with scikit-hep vector. Nanoevents schemas internal to coffea will be migrated. Otherwise please consider using that package!.\n", - " from coffea.nanoevents.methods import vector\n" - ] - } - ], - "source": [ - "out = tnp.get_1d_pt_eta_phi_tnp_histograms(\n", - " cut_and_count=True,\n", - " vars=[\"tag_Ele_pt\", \"el_eta\", \"el_phi\"],\n", - " eta_regions_pt={\n", - " \"barrel\": [0.0, 1.4442],\n", - " \"endcap_loweta\": [1.566, 2.0],\n", - " \"endcap_higheta\": [2.0, 2.5],\n", - " },\n", - " plateau_cut=35,\n", - " compute=True,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "060667d8-847f-48c6-86eb-242d7f0abfb7", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/iason/miniforge3/envs/egamma_dev/lib/python3.10/site-packages/coffea/nanoevents/methods/candidate.py:11: FutureWarning: In version 2024.7.0 (target date: 2024-06-30 11:59:59-05:00), this will be an error.\n", - "To raise these warnings as errors (and get stack traces to find out where they're called), run\n", - " import warnings\n", - " warnings.filterwarnings(\"error\", module=\"coffea.*\")\n", - "after the first `import coffea` or use `@pytest.mark.filterwarnings(\"error:::coffea.*\")` in pytest.\n", - "Issue: coffea.nanoevents.methods.vector will be removed and replaced with scikit-hep vector. Nanoevents schemas internal to coffea will be migrated. Otherwise please consider using that package!.\n", - " from coffea.nanoevents.methods import vector\n" - ] - } - ], - "source": [ - "out = tnp.get_nd_tnp_histograms(cut_and_count=True, vars=[\"tag_Ele_pt\", \"el_pt\", \"el_eta\", \"MET_pt\", \"luminosityBlock\"], compute=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "7f920326-d4f0-479a-b07d-aa5231230914", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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lJQkn8+n22+/XStWrNA111yj48ePKyMjQ3fccYdGjRp13msef/xx/fjHP5bX69Utt9yiiooK7du3T19++aVmz57dqHE999xzuvrqqzVkyBCtWrVKX375pR544AFJUv/+/eVyubR582bdeuutio6O5lZyoI1xGzWAy/LUU0+pS5cu+uY3v6nbbrtNycnJAde7SNJvf/tbxcXFaezYsbrjjjs0depUde7cWR06dLjk/l0ul1599VWNHTtW999/v6655hrdfffd+tvf/qa4uLgGX/Pggw9q3bp1Wr9+vYYOHarvfOc7Sk9PV0JCQqPHtXz5ci1fvlzDhw/X22+/rT//+c/q3r27JOlrX/uaHn/8cS1YsEBxcXHOzAyAtuMyxphgFwHgyvL3v/9dffv21euvv67x48cHu5wAR48eVUJCgvbv38/PEwDtGKeQALS6nTt3qrS0VEOHDtWJEyc0b948DRgwwLnGBACailNIAFpdVVWVHn30UV177bW644471KNHD+ehdi+++KI6derU4HLttde2eC1PPPHEBd9v4sSJLf5+AFoHp5AABNWpU6dUWFjYYFtkZKT69+/fou938uRJnTx5ssG26Ohofe1rX2vR9wPQOggwAADAOpxCAgAA1iHAAAAA6xBgAACAdQgwAADAOgQYAABgHQIMAACwDgEGAABYhwADAACs8/8BbPk/DAfPfGoAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "out[\"samples\"][\"passing\"].project(\"tag_Ele_pt\").plot()\n", - "out[\"samples\"][\"failing\"].project(\"tag_Ele_pt\").plot()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "2edcdd00-4c5d-478a-a375-10aa0fbb8c56", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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Go+7OpCbKae91X8uAIAwa9UU0ty5c7Vu3Tq999576tevX7O16enpkqSDBw9KkpKSklRRURFQc/r+6eNmzlXjcrmaHH0BAACdS0gBxjAMzZ07V2+++aY2b96s1NTUFp9TUlIiSerbt68kye12a+/evTp27JhZU1BQIJfLpbS0NLOmsLAwYD0FBQVyu92hdBcAAHRQIQWY7Oxs/fGPf9TatWvVs2dPeTweeTwenTx5UpJ06NAhPfrooyouLtaRI0f0l7/8RdOnT9e4ceM0fPhwSdLEiROVlpam22+/Xf/zP/+jjRs3avHixcrOzjangGbPnq2///3veuCBB/TZZ5/p2Wef1Wuvvab58+eHefMBAIAVhTSp/9xzz0lqPFndmV588UXdcccdstvt2rRpk55++mlVV1crJSVFU6ZM0eLFi83aqKgorVu3TnPmzJHb7Vb37t01Y8YM5ebmmjWpqalav3695s+fr1WrVqlfv356/vnnz/kVaqA1fP76FtrrmrwdjJjoKNlstlb1CwDQMpthGEakO9EWvF6vYmNjVVVVJZfLFenuRAwHogY68+fRlvhZA0DrBPv5zbWQAACA5fAvIjqVmOgoHcgNbirS56/TmMcaDybfs3hCiyMqPn+9xjy26bz7CABoGQEGnYrNZmvV1I7T3pUpIQBoR5hCAgAAlkOAAQAAlsOYOHAOTntXHVmWFeluAACawAgMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAIMAACwHAKMBfn8dRr44HoNfHC9fP66SHcHAIALjgADAAAshwADAAAsp2ukO4BGhmHoZG19ULVnThu1NIXk8we3TgAArIQA006crK1X2pKNIT9vzGOFbdAbAADaN6aQAACA5TAC0w7tWZwhpz3qnO0+f5058rJn8QQ57cHtxpjoc68TAAArIcC0Q057VNChxGnvGnQtAAAdBVNIAADAcggwAADAcph7sCCnvauOLMuKdDcAAIgYRmAAAIDlEGAAAIDlhBRg8vLydOWVV6pnz55KSEjQTTfdpNLS0oCa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+H3Bt7dU+13RTslmC71PABABbRJgunbtqqSkpLMer6qq0u9//3utXbtWP/rRjyRJL774ooYOHaqdO3dq7Nixevfdd3XgwAFt2rRJiYmJuuKKK/Too49q4cKFWrp0qex2e5OvWVNTo5qaGvO+1+tti00DIuuJQW1TK0kPHZXs3UN7DgBESJscA/P5558rOTlZF198saZNm6aysjJJUnFxsWpra5WRkWHWDhkyRP3791dRUZEkqaioSMOGDVNiYqJZk5mZKa/Xq/3795/zNfPy8hQbG2suKSkpbbFpAACgHQj7CEx6erry8/M1ePBglZeX65FHHtE111yjffv2yePxyG63Ky4uLuA5iYmJ8ng8kiSPxxMQXk63n247l0WLFiknJ8e87/V6CTHoGKKdjaMjwfD7vh15uf+gZHcGXw8AFhL2ADN58mTz9vDhw5Wenq4BAwbotddeU0xMTLhfzuRwOORwONps/UDE2GzBT+3Yu0tLq9q2PwDQDrT516jj4uL0/e9/XwcPHlRSUpL8fr8qKysDaioqKsxjZpKSks76VtLp+00dVwMAADqfNg8wJ06c0KFDh9S3b1+NHj1a0dHRKiwsNNtLS0tVVlYmt9stSXK73dq7d6+OHTtm1hQUFMjlciktLa2tuwsAACwg7FNI999/v66//noNGDBAR48e1cMPP6yoqCjdeuutio2N1cyZM5WTk6P4+Hi5XC7de++9crvdGjt2rCRp4sSJSktL0+23367ly5fL4/Fo8eLFys7OZooIAABIaoMA849//EO33nqrvv76a/Xp00dXX321du7cqT59+kiSVq5cqS5dumjKlCmqqalRZmamnn32WfP5UVFRWrdunebMmSO3263u3btrxowZys3NDXdXAQCARYU9wLzyyivNtnfr1k2rV6/W6tWrz1kzYMAA/e1vfwt31wBEgM9fH0RNncY81ji1vGfxBDntwb01xURHycbJ94BOqU1OZAcAp415bFPLRQH1hS0X/Z8DuZlBhx0AHQsXcwQAAJbDvy4Awi4mOkoHcjODrg9lCsnnrw95VAdAx0OAARB2NpstpKkdp72rjizLasMeAehomEICAACWQ4ABAACWwxQSgEZ+X8vtoVwo8rRoZ+P1nAAgjAgwABqFclXqUGofOhr8xSgBIEhMIQEAAMthBAbozKKdjSMkwQhlCunMWgBoAwQY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KiYmRiNGjNCf//xnSdKRI0d07bXXSpIuuuiioEduxo8fr7lz52ru3LmKjY1V79699atf/UqnLwM3fvx4ffHFF5o/f75sNptsNlsYtxxAWyHAALgg7rrrLr344ovm/RdeeEF33nlnQE1eXp7+8Ic/aM2aNdq/f7/mz5+vn//859q6datSUlL03//935Kk0tJSlZeXa9WqVUG99ksvvaSuXbtq9+7dWrVqlZ566ik9//zzkhqDVL9+/ZSbm6vy8nKVl5eHaYsBtKWuke4AgM7h5z//uRYtWqQvvvhCkrR9+3a98sor2rJliySppqZGjz/+uDZt2iS32y1Juvjii/XBBx/ot7/9rX74wx8qPj5ekpSQkKC4uLigXzslJUUrV66UzWbT4MGDtXfvXq1cuVL33HOP4uPjFRUVpZ49eyopKSms2wyg7RBgAFwQffr0UVZWlvLz82UYhrKystS7d2+z/eDBg/L5fPrxj38c8Dy/3x8wzdQaY8eODZgacrvdevLJJ1VfX6+oqKjzWjeAyCDAALhg7rrrLs2dO1eStHr16oC2EydOSJLWr1+v733vewFtDofjwnQQgGUQYABcMJMmTZLf75fNZlNmZmZAW1pamhwOh8rKyvTDH/6wyefb7XZJUn19fUivu2vXroD7O3fu1KWXXmqOvtjt9pDXCSCyCDAALpioqCh9+umn5u0z9ezZU/fff7/mz5+vhoYGXX311aqqqtL27dvlcrk0Y8YMDRgwQDabTevWrdN1112nmJgY9ejRo8XXLSsrU05Ojn7xi1/oo48+0jPPPKMnn3zSbB84cKC2bdumqVOnyuFwBExtAWifCDAALiiXy3XOtkcffVR9+vRRXl6e/v73vysuLk6jRo3SQw89JEn63ve+p0ceeUQPPvig7rzzTk2fPl35+fktvub06dN18uRJXXXVVYqKitJ9992nWbNmme25ubn6xS9+oUsuuUQ1NTXmV6wBtF82g79UAB3Y+PHjdcUVV3CmXaCD4TwwAADAcphCAmBZZWVlSktLO2f7gQMHLmBvAFxITCEBsKy6ujodOXLknO0DBw5U1678nwZ0RAQYAABgORwDAwAALIcAAwAALIcAAwAALIcAAwAALIcAAwAALIcAAwAALIcAAwAALOf/A5KgXiwQaXbcAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "out[\"samples\"][\"passing\"].project(\"MET_pt\").plot()\n", - "out[\"samples\"][\"failing\"].project(\"MET_pt\").plot()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "19dc6934-2061-4b9e-8ec7-7b64e9c6f640", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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D37wAz366KNB98phnOtu8+bNuvbaa9WhQwe5XC6tWrUqaH+oxvTDDz/Uj370I8XGxio5OVlz5swJzQEYfGfLly83brfbvPDCC2b37t3mjjvuMAkJCaawsLChS7NCWlqaWbx4sdm1a5fJz883P/nJT0ynTp3MV1995bQZP368SU5ONjk5OWb79u1m0KBB5rLLLnP2V1ZWml69epnU1FSzY8cOs3btWtOuXTszbdq0hjikRm/r1q2mS5cupk+fPua+++5ztjPOoXHkyBHTuXNnc+utt5otW7aYTz/91Kxfv9789a9/ddpkZWWZ+Ph4s2rVKvPBBx+Yf/mXfzFdu3Y1x44dc9r8+Mc/Nn379jXvvfee+ctf/mK6detmbr755oY4pEbp8ccfN23btjWrV682+/fvN6+99ppp2bKlmTdvntOGca67tWvXmocfftisWLHCSDIrV64M2h+KMS0pKTGJiYlm9OjRZteuXWbZsmUmLi7OPPvss2ddPwGmDi699FKTmZnpvK6qqjIdOnQws2fPbsCq7FVUVGQkmU2bNhljjCkuLjbR0dHmtddec9rs3bvXSDK5ubnGmBP/4CIiIkxBQYHT5plnnjFer9eUl5ef2wNo5I4ePWouuOACk52dba688konwDDOoTN16lRz+eWXn3Z/dXW1SUpKMk888YSzrbi42MTExJhly5YZY4zZs2ePkWS2bdvmtHnzzTeNy+Uyf/vb38JXvEXS09PN2LFjg7bdcMMNZvTo0cYYxjkUvhlgQjWmCxcuNK1btw76uTF16lTTvXv3s66ZJaTvKBAIKC8vT6mpqc62iIgIpaamKjc3twErs1dJSYkkqU2bNpKkvLw8VVRUBI1xjx491KlTJ2eMc3Nz1bt376AvNExLS5Pf79fu3bvPYfWNX2ZmptLT04PGU2KcQ+n111/XgAED9G//9m9q3769Lr74Yv3hD39w9u/fv18FBQVBYx0fH6+BAwcGjXVCQoIGDBjgtElNTVVERIS2bNly7g6mEbvsssuUk5Ojjz/+WJL0wQcf6O2339bw4cMlMc7hEKoxzc3N1RVXXCG32+20SUtL0759+/Tll1+eVY2N9pt4G5u///3vqqqqOuWbgBMTE/XRRx81UFX2qq6u1sSJEzV48GD16tVLklRQUCC3233KTTgTExNVUFDgtKntz6BmH05Yvny53n//fW3btu2UfYxz6Hz66ad65plnNHnyZD300EPatm2b7r33XrndbmVkZDhjVdtYnjzW7du3D9ofFRWlNm3aMNb/9OCDD8rv96tHjx6KjIxUVVWVHn/8cY0ePVqSGOcwCNWYFhQUqGvXrqf0UbOvdevW9a6RAIMGkZmZqV27duntt99u6FKanIMHD+q+++5Tdna2YmNjG7qcJq26uloDBgzQr371K0nSxRdfrF27dmnRokXKyMho4OqajldffVUvv/yyli5dqgsvvFD5+fmaOHGiOnTowDg3YywhfUft2rVTZGTkKVdqFBYWKikpqYGqstOECRO0evVqvfXWW+rYsaOzPSkpSYFAQMXFxUHtTx7jpKSkWv8MavbhxBJRUVGR+vXrp6ioKEVFRWnTpk2aP3++oqKilJiYyDiHyPnnn6+UlJSgbT179tSBAwckfT1WZ/q5kZSUpKKioqD9lZWVOnLkCGP9T1OmTNGDDz6oUaNGqXfv3hozZowmTZqk2bNnS2KcwyFUYxrOnyUEmO/I7Xarf//+ysnJcbZVV1crJydHPp+vASuzhzFGEyZM0MqVK7Vhw4ZTphX79++v6OjooDHet2+fDhw44Iyxz+fTzp07g/7RZGdny+v1nvKLpLkaOnSodu7cqfz8fOcxYMAAjR492nnOOIfG4MGDT/kqgI8//lidO3eWJHXt2lVJSUlBY+33+7Vly5agsS4uLlZeXp7TZsOGDaqurtbAgQPPwVE0fmVlZYqICP51FRkZqerqakmMcziEakx9Pp82b96siooKp012dra6d+9+VstHkriMui6WL19uYmJizJIlS8yePXvMnXfeaRISEoKu1MDp3XXXXSY+Pt5s3LjRHD582HmUlZU5bcaPH286depkNmzYYLZv3258Pp/x+XzO/prLe4cNG2by8/PNunXrzHnnncflvd/i5KuQjGGcQ2Xr1q0mKirKPP744+aTTz4xL7/8svF4POall15y2mRlZZmEhATzpz/9yXz44Yfmuuuuq/VS1Isvvths2bLFvP322+aCCy5o1pf3flNGRob53ve+51xGvWLFCtOuXTvzwAMPOG0Y57o7evSo2bFjh9mxY4eRZJ566imzY8cO8/nnnxtjQjOmxcXFJjEx0YwZM8bs2rXLLF++3Hg8Hi6jbgi/+93vTKdOnYzb7TaXXnqpee+99xq6JGtIqvWxePFip82xY8fM3XffbVq3bm08Ho/513/9V3P48OGgfj777DMzfPhwExcXZ9q1a2fuv/9+U1FRcY6Pxi7fDDCMc+i88cYbplevXiYmJsb06NHD/P73vw/aX11dbX75y1+axMREExMTY4YOHWr27dsX1OYf//iHufnmm03Lli2N1+s1t912mzl69Oi5PIxGze/3m/vuu8906tTJxMbGmu9///vm4YcfDro0l3Guu7feeqvWn8kZGRnGmNCN6QcffGAuv/xyExMTY773ve+ZrKyskNTvMuakrzIEAACwAOfAAAAA6xBgAACAdQgwAADAOgQYAABgHQIMAACwDgEGAABYhwADAACsQ4ABAADWIcAACCmXy6VVq1ads88bMmSIJk6ceFZ9fPbZZ3K5XMrPzz9tm40bN8rlcp1yE8z6CnV/QHMT1dAFAAifW2+9VcXFxec0UBw+fPjsb9JWBytWrFB0dLTzukuXLpo4ceJZhxoAjRsBBkBIJSUlndPPa9OmzTn9PACNA0tIQDO0ZMkSJSQkBG1btWqVXC6X83rmzJm66KKL9MILL6hTp05q2bKl7r77blVVVWnOnDlKSkpS+/bt9fjjjwf1c/ISUs3SzIoVK3TVVVfJ4/Gob9++ys3NDXrPH//4R1144YWKiYlRly5d9Jvf/CZo/8KFC3XBBRcoNjZWiYmJGjlypLPv5CWkIUOG6PPPP9ekSZPkcrnkcrlUWloqr9er//7v/z7leFu0aKGjR4862z766CNddtllio2NVa9evbRp06YzjuO31V1eXq6pU6cqOTlZMTEx6tatm55//vla+yorK9Pw4cM1ePBglpWA74AAA+C0/vd//1dvvvmm1q1bp2XLlun5559Xenq6/u///k+bNm3Sr3/9a02fPl1btmw5Yz8PP/ywfvGLXyg/P18//OEPdfPNN6uyslKSlJeXpxtvvFGjRo3Szp07NXPmTP3yl7/UkiVLJEnbt2/Xvffeq1mzZmnfvn1at26drrjiilo/Z8WKFerYsaNmzZqlw4cP6/Dhw2rRooVGjRqlxYsXB7VdvHixRo4cqVatWjnbpkyZovvvv187duyQz+fTtddeq3/84x+1fta31S1Jt9xyi5YtW6b58+dr7969evbZZ9WyZctT+iouLtY111yj6upqZWdnnxIuAdQiJPe0BtAoZWRkmOuuu+6U7YsXLzbx8fFB21auXGlO/pHwyCOPGI/HY/x+v7MtLS3NdOnSxVRVVTnbunfvbmbPnu28lmRWrlxpjDFm//79RpJ57rnnnP27d+82kszevXuNMcb87Gc/M9dcc01QLVOmTDEpKSnGGGP++Mc/Gq/XG1THya688kpz3333Oa87d+5s5s6dG9Rmy5YtJjIy0hw6dMgYY0xhYaGJiooyGzduDKozKyvLeU9FRYXp2LGj+fWvf22MMeatt94yksyXX375neret2+fkWSys7Nrrbumv71795o+ffqYESNGmPLy8lrbAjgVMzAATqtLly5BMxSJiYlKSUlRRERE0LaioqIz9tOnTx/n+fnnny9Jznv27t2rwYMHB7UfPHiwPvnkE1VVVemaa65R586d9f3vf19jxozRyy+/rLKysjodx6WXXqoLL7xQL774oiTppZdeUufOnU+ZyfH5fM7zqKgoDRgwQHv37q21z2+rOz8/X5GRkbryyivPWNs111yjbt266ZVXXpHb7a7TcQHNGQEGaIYiIiJkjAnaVlFRcUq7k6/ukU6c31Lbturq6jN+3snvqTnP5tveU6NVq1Z6//33tWzZMp1//vmaMWOG+vbtW+fzRG6//XZneWfx4sW67bbbgs75CbW4uLjv1C49PV2bN2/Wnj17wlYL0BQRYIBm6LzzztPRo0dVWlrqbDvTd6CEU8+ePfXOO+8EbXvnnXf0wx/+UJGRkZJOzIakpqZqzpw5+vDDD/XZZ59pw4YNtfbndrtVVVV1yvaf//zn+vzzzzV//nzt2bNHGRkZp7R57733nOeVlZXKy8tTz54961V37969VV1d/a0nAmdlZSkjI0NDhw4lxAB1wGXUQBNXUlJySjhJSUmRx+PRQw89pHvvvVdbtmwJOvn0XLr//vt1ySWX6NFHH9VNN92k3NxcPf3001q4cKEkafXq1fr00091xRVXqHXr1lq7dq2qq6vVvXv3Wvvr0qWLNm/erFGjRikmJkbt2rWTJLVu3Vo33HCDpkyZomHDhqljx46nvHfBggW64IIL1LNnT82dO1dffvmlxo4dW6+6u3TpooyMDI0dO1bz589X37599fnnn6uoqEg33nhjUF9PPvmkqqqqdPXVV2vjxo3q0aNHvccTaC6YgQGauI0bN+riiy8Oejz66KN66aWXtHbtWvXu3VvLli3TzJkzG6S+fv366dVXX9Xy5cvVq1cvzZgxQ7NmzdKtt94qSUpISNCKFSt09dVXq2fPnlq0aJGWLVumCy+8sNb+Zs2apc8++0w/+MEPdN555wXtGzdunAKBwGlDSVZWlrKystS3b1+9/fbbev31150AVNe6JemZZ57RyJEjdffdd6tHjx664447gma9TjZ37lzdeOONuvrqq/Xxxx9/y6gBcJlvLoQDQBP1X//1X5o0aZIOHTrECbOA5VhCAtDklZWV6fDhw8rKytK///u/E16AJoAlJABN3pw5c9SjRw8lJSVp2rRpDV0OgBBgCQkAAFiHGRgAAGAdAgwAALAOAQYAAFiHAAMAAKxDgAEAANYhwAAAAOsQYAAAgHUIMAAAwDr/D24Md98tI1SOAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "out[\"samples\"][\"passing\"].project(\"luminosityBlock\").plot()\n", - "out[\"samples\"][\"failing\"].project(\"luminosityBlock\").plot()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "9d4afac1-e41b-4ced-bb91-c6ab707e1937", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGxCAYAAACwbLZkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAo30lEQVR4nO3df3AU9eH/8VcCJgFJTjGQSDgMFrU6aNAAaVBbGaPRKkqtlFGmQEaZ6gBVoqOgQrQq0SpKC6m0qOAfMsRaf/SDDB2aEpWSypgUf/QrWgSagE1CypjDWBLM3fcPymEgl+wme/fevXs+Zm6GLLt371z29l77/pkUCoVCAgAAMCTZdAEAAEBiI4wAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMGqg6QJYEQwG9cUXXyg9PV1JSUmmiwMAACwIhUI6dOiQRowYoeTkyPUfnggjX3zxhfx+v+liAACAPmhoaNDIkSMj/r8nwkh6erqko79MRkaG4dIAAAArAoGA/H5/+Hs8Ek+EkWNNMxkZGYQRAAA8prcuFnRgBQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUbbDyDvvvKMpU6ZoxIgRSkpK0htvvNHrMdXV1brkkkuUmpqqMWPGaO3atX0oKgAAiEe2w0hbW5vy8vJUUVFhaf89e/bouuuu0+TJk7Vjxw7dfffduv322/WnP/3JdmEBAED8GWj3gGuvvVbXXnut5f1XrVql0aNHa9myZZKk888/X1u3btWzzz6r4uJiuy8PAADiTNT7jNTU1KioqKjLtuLiYtXU1ET7pQEAgAfYrhmxq7GxUVlZWV22ZWVlKRAI6L///a8GDRp00jHt7e1qb28P/xwIBKJdTAAAYIgrR9OUl5fL5/OFH36/33SRAABAlEQ9jGRnZ6upqanLtqamJmVkZHRbKyJJixYtUmtra/jR0NAQ7WICAABDot5MU1hYqI0bN3bZtnnzZhUWFkY8JjU1VampqdEuGgAAcAHbNSNfffWVduzYoR07dkg6OnR3x44dqq+vl3S0VmPmzJnh/e+44w7t3r1b9913n3bu3Knf/OY3euWVV7RgwQJnfgMAAOBptsPI+++/r4svvlgXX3yxJKm0tFQXX3yxlixZIkn697//HQ4mkjR69Gi99dZb2rx5s/Ly8rRs2TI9//zzDOsFAACSpKRQKBQyXYjeBAIB+Xw+tba2KiMjw3RxAACABVa/v105mgYAACQOwggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAo/oURioqKpSbm6u0tDQVFBRo+/btPe6/fPlynXfeeRo0aJD8fr8WLFigw4cP96nAAAAgvtgOI5WVlSotLVVZWZnq6uqUl5en4uJiNTc3d7v/unXrtHDhQpWVlemTTz7RCy+8oMrKSj3wwAP9LjwAAPA+22HkmWee0Zw5c1RSUqILLrhAq1at0uDBg/Xiiy92u/+2bdt06aWX6tZbb1Vubq6uvvpq3XLLLb3WpgAAgMRgK4x0dHSotrZWRUVFx58gOVlFRUWqqanp9phJkyaptrY2HD52796tjRs36oc//GE/ig0AAOLFQDs7t7S0qLOzU1lZWV22Z2VlaefOnd0ec+utt6qlpUWXXXaZQqGQvvnmG91xxx09NtO0t7ervb09/HMgELBTzLjSHDisl9+r14yCURqekWa6OJLcWSYAgHdFfTRNdXW1li5dqt/85jeqq6vTa6+9prfeekuPPvpoxGPKy8vl8/nCD7/fH+1iulbzoXb9quqfaj7U3vvOMeLGMgFAc+Cwnt38mZoDDJDwGlthJDMzUwMGDFBTU1OX7U1NTcrOzu72mMWLF+unP/2pbr/9dl144YX60Y9+pKVLl6q8vFzBYLDbYxYtWqTW1tbwo6GhwU4xEUV7Wtq0dtteSdLabXu1p6XNbIEA4H+4UfIuW2EkJSVF+fn5qqqqCm8LBoOqqqpSYWFht8d8/fXXSk7u+jIDBgyQJIVCoW6PSU1NVUZGRpcHzHvl/QZduaxar9XtkyS9VrdPVy6r1u/fJywCMIsbJW+z3UxTWlqq1atX66WXXtInn3yiO++8U21tbSopKZEkzZw5U4sWLQrvP2XKFD333HNav3699uzZo82bN2vx4sWaMmVKOJSge276cO1padPCP3yoYEgK/i9DHvv3/X/4UHv54AMwhBsl77PVgVWSpk+frgMHDmjJkiVqbGzUuHHjtGnTpnCn1vr6+i41IQ899JCSkpL00EMPaf/+/Ro2bJimTJmixx9/3LnfIg698n6DFv7hw/DPr9Xt02t1+/Tkjy/StPGx60PTHDis5kPt4VAUycotuzR7Uq6Gp6fSqRVAzHz7RumYY/++/w8fakLuUOVmnmqmcLAsKRSprcRFAoGAfD6fWltbE6LJZk9Lm65cVt3lw3VMcpL0l3uuiNmH69nNn+lXVf+0vP9dV56jBVedG8USAUDXG6XX6vZFvF7edMlIbpQMsvr9zdo0LtMcOKyKLbt63GfNX/dE7bVP7Ik+o2CUNsy/TDfnj1RyUvfHJSdJN+eP1Ib5l2lGwaiolA0Avu3l9+p1/YqterW2+yAiHa0hebV2n65fsVUvv1dv+zUYnRM7hBGXefm9+l4/XDW7/xOV1+6uJ/rwjDSNzfFp7uQxPR47b/IYjc3xcecBICZicaPE6JzYIYy4zIyCUb1+uArPPsPx1+2ts+zozFP15I8vUnKSwmU79u8nf3wRbbIAYoobpfhCGHGZ4RlpvX64Si4d7ehrWu2JPm28X3+55wrddMlISUfbYv9yzxUx7VALAN8WrRslN41mTAR0YHWp37/foPv/N5omGDr+IXN6NE1fOssyHTwAt9nb0qaVW3bp1dp9ujl/pOZNHtPnIPLt0YzRvP4mAjqwelwsaiH62ll2eEaaFlx1LkEEgGvkZp6q2ZNyJUmzJ+X2q0aEOZVijzDiYk59uCIx2VkWAJw2PD1Vd115joanp/bpeJOjGRMdYSSBmeosCwDR0N9aW27QzCGMuFx/k36Pz22gs6xbMZ8AvIJzNXq4QTOHMOJyTvXPiHQBY8juUcwnAK9w6lwl1JyMGzRzCCMJoqcLWKIP2WUIH7zCyXOVAN49btDMIIwY5KY7k2h3lnUrVvu0xk3naqJy8lwlgPcs0W/QTCCMGBSrOxMuPN1jCJ913EWb5eS5SgC3JlFv0EwhjESJW+4k7Vx4otlZ1o3W9jJEb+WWXcb/fm5AmDXPqXOVAA63IoxEiRvuJO1eeBJtMrOa3f/pdbXPvqz0GU+8fBftlhuCY/pTHqfOVQI43IowEqeYvKd3hWef0etqn3ZX+nTbF2B/eP0u2g03BN/Wn/I4da4SwO1JtNpikwgjhjjaK76bL0Am7+nd7F6G6M2bPMZ2LZHbvgCtiBSgonEXHauw5rampf6Wx6lzNRoBPJ5Fe2oFHEcY6YPeTqzeLjxOV3139wXI5D29c3oIn9u+AK2KFKCicRcdi7DmtqYlJ8rj1LkajQCO3nnxJiXWCCMnsJJgezqxervwxKrqm8l7rHFqCJ/jAdMFNQhO30XHIqy5rWnJyfI4ca4yh8Zx1Fa4C2HkBP1JsL1deGr3HoxpPw4uPNb0dwhfNL4A3VCD4ORddKxqK9zWQdPp8jgx3JQ5NI5iagV3IYw4xEqH0V9s+H+O9+Po7UTnwmNNfzqqOf2FY/Xi1Z87OysByqkwG8vaCrd10IxGeZzoVMkcGrHhtiZDNyOMOMRKh9FDh79xtB+H1ROdC0/v+tNRzckvHDsXr/7c2VkNUE6E2VjWVritg2Y0ymPlXLUSVBkp4oxI77XbmgzdjjBiU6S7VisdRi8/J9Oxfhyc6LEX6aLj1BeOW2sQ+htmY1lb4bYOmqbKYyWoJtq8Qt8W7TV+mFrBPsKIDT3dtVrtMOpE1XdfTnTugvov0gXeqS8cOzUI/W3KsRug+nP+xLK2wu7nK9qdGOm35T6xaDphagX7CCPf0tMF3sk29v5WffflRI/XuyA3jDpx6gvHag2CE005dgNUf84fu6/V37+pnc9XLDoxxrrfFh0mI4tV7aPJqRW8OkqIMPI/PV3g7dREWL3w9KfqmzlEjnPDqBPJmS8cKzUIl5+TafliGosAZYXt2goH/qZWPl+x/NK2+nnv7xcJHSYji0bTSaRzyOTUCl6d04Qwot7TcsWWXbZqIqLdYZQ5RGLHzp1Uf//uVmoQ/u+DL3rc51hTTqwClFUmRnX11LTk1i/taE4tkOj9yJxuOuntHKKJzp6EDyNW0vLXHZ2uq4ngRI/Nna3dkSD96Vth5W9qpSln5ZZdMQtQdjhZW2FptEiEpqWozAvjwOiV/p7PbptjxW2crFG2eg4xtYJ1CR9GrKTlD/Z9GZWaiP52Kk3kEz1Wd7Z2R4L0t29Ob39TK005/+3o7PE1nAxQTnLbsObwa/VzVuZjejo3nDifTc2x4pU+Ck7VKNtt7mFqBWsSPoxYTcvRqIlwolNpIp7osayONrGyb09/UytNOR/s+zKmAcqOSMHHzt+0vzUIdr+0ewsa/S2PU+ezqTlWvNRHwYnruJtHyni583LChxE7adlOTYRb7jbjjZW7Eiero02t7Bvp/LFyMTX2pdSPphOrtRVO1CDYeX9iseilU80rbptjxa36W6Ps1gEEbu0HZVXChxHJXlq2WhMRr0NpTbNyV+JkdbSplX17On96u5i6eaKtSJzuC9MTq+9PrBa9dKp5xUQ/Mq/eifenRrkvzT3RvjmNh87LhJH/8XL/i0SqhbFyV+L0nb8bV/bt6WLqxS+laPSFicTK+2Pl4u5UjYaTNVmxvI715Xz2Sv+S3tj9jEXz5jReZnsljHyLV/tfJFItjJW7kmjc+btxZd+eQqjbv5ROFI2+MD3p7f2xEjTe/WeLI+VxuiYrFtexvp7PXupf0hsTN7DdhTk392GxgzACzzE1rNlNK/tKvYdQN38pnchEX5ie3h8rTSfpaQMdKY8Xh+n35Xx2W5OOF1c/7i7MubUPi12EkT5IpGYRtzIyiZZLVvZ1EydDlpv6wlgJPouvv8Cx8jh9Pkf7GmX3fHZj58p4qVGOl0kwCSN9EC8nsdd5qVnN1AgXt30p9SbWfWEivT9Wgs/43KGOlsfJ8zna1yi7I5K83rnS7bxYu3YiwggQA6ZGuLjpS8mqWPaFifT+xGrRS6+ycj5L0sf7Wy0Nxf94f6s+3t/qyY6tsaop762Zy+vnImHkBDTBeItX/l7xcOfSnWiELDf0hZFis+jlieLpfH75vXpdv2KrpaH416/YqutXbPVkU6VTgb+nkUZWm7m8VFt8IsLICWiCMc/O8D8v/b28fufSHS92JrbD8rxCDpUnns7nGQWjtGH+ZZaG4m+Yf5k2zL8sKk2VXhFppFGiNHMRRuA68TT870RevnOJxGudiW2/loWg4aUQ4aSezufhGWkam+OzNBR/bI5PY3N8Cff+9SZe5hCxgjACV4nG8L94mWjJzeIxZB2TqEHDKfHaRBkL8TKHiBWEEbhGtIb/ua2mxSv9AuyK198rkVlab8jC3z0emyhjoS9ziHj1c0gYgSskSruoFL932vH6eyUyS4s6Wvy7x3PtWX9FqhHu0zo4Hv0cEkYQdZHurpoDh8ND+qwO/7Pb1OK2WR8Br4jGZ8erd+3R1FuNcKI0cyWFQqEIrVHuEQgE5PP51NraqoyMDNPFgU0f72/V9Su2asP8yzQ2xxfe/uzmz/Srqn/aeq67rjxHC64619K+r7zfoIV/+FDS0RqWYx/kJ398EdXDQA/47MTGnpY2Xbmsuts+IclJ0l/uuSIcNva2tGnlll16tXafbs4fqXmTx3giiFj9/qZmBMYcG/pnZ/if1aF/idTsAziJz05s2B0pE+/NXIQRGHNs6J+d4X9W20GjsTAdkAj47MRGIo2UsYIwgqiy2u7sdLtovC5MB0Qbn53YiJfVdp1CGEHU2B2q6+TwP1ML0wFex2cnNuJltV2nEEYQFX1td3aqXdTUwnSA1/HZiZ1EGSljBWEEjjo2XNfKUN1otjvzIQf6hs9ObNmpEY7nodEM7YWj7AzXjTRMtzlwWC+/V68ZBaP6fQfm1eFwgGlu+Ow4eS1wu0hTIHgdQ3thhJ2VOiO1Ozs5g2C8D4cDosUNnx23LeWA6CGMwFF2VuqM9zsdAIA1hBFEhZvaneO5nRWIJj47iJU+hZGKigrl5uYqLS1NBQUF2r59e4/7f/nll5o7d67OPPNMpaam6txzz9XGjRv7VGB4h1tW6vTqwlGAaXx2ECu2w0hlZaVKS0tVVlamuro65eXlqbi4WM3Nzd3u39HRoauuukp79+7Vq6++qk8//VSrV69WTk5OvwsP93NDuzMA70m0RS4TvRbK9miagoICTZgwQStXrpQkBYNB+f1+zZ8/XwsXLjxp/1WrVumpp57Szp07dcopp/SpkIym8bZ47SUOIDpYqC9+RGU0TUdHh2pra1VUVHT8CZKTVVRUpJqamm6P+eMf/6jCwkLNnTtXWVlZGjt2rJYuXarOzk47Lw0ASAAs1JeYbIWRlpYWdXZ2Kisrq8v2rKwsNTY2dnvM7t279eqrr6qzs1MbN27U4sWLtWzZMj322GMRX6e9vV2BQKDLAwAQ36ysZLtyyy59vL+VxfriTNRH0wSDQQ0fPly/+93vlJ+fr+nTp+vBBx/UqlWrIh5TXl4un88Xfvj9VMt5WaK3hQKwxspKtq/W7tP1K7ayWF+cGWhn58zMTA0YMEBNTU1dtjc1NSk7O7vbY84880ydcsopGjBgQHjb+eefr8bGRnV0dCglJeWkYxYtWqTS0tLwz4FAgEDiYcd65ANAT2YUjNL+L/+r1+q6DyTJSUdH5c2elMvNTZyxVTOSkpKi/Px8VVVVhbcFg0FVVVWpsLCw22MuvfRS7dq1S8FgMLzts88+05lnntltEJGk1NRUZWRkdHkAAOKblZVs500eo7E5PoYb90Nz4LCe3fyZq5q6bDfTlJaWavXq1XrppZf0ySef6M4771RbW5tKSkokSTNnztSiRYvC+9955506ePCg7rrrLn322Wd66623tHTpUs2dO9e53wIAEBfcNGFivHLjNPu2mmkkafr06Tpw4ICWLFmixsZGjRs3Tps2bQp3aq2vr1dy8vGM4/f79ac//UkLFizQRRddpJycHN111126//77nfstAABxY9p4vybkDg0v1HfTJSxyGe9YtRcA4ErMURQdsXxfWbUXAAB4AmEEAAAYRRgBAABGEUYAAK7EhInOc+sChHRgBQAgAZhYgJAOrAAAQJL7FyAkjAAAEMesLEC45q97YlSa7tme9AwAAHjHsQUIIwmGpJrd/4lhiU5GzQgAAHFsRsEo3Zw/MtxH5ETJSVLh2WfEtlAnlsHoqwMAgKiysgBhyaWjY1Sa7hFGAACIc25fgJA+IwAAJAA3L0BIzQgAAAkiN/NUzZ6UK0maPSnXFUFEIowAAADDCCMAAMAowggAADCKMAIAAIwijAAAkEDcuBoyQ3sBAEggwzPStOCqc00XowtqRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYFSfwkhFRYVyc3OVlpamgoICbd++3dJx69evV1JSkqZOndqXlwUAAHHIdhiprKxUaWmpysrKVFdXp7y8PBUXF6u5ubnH4/bu3at7771Xl19+eZ8LCwAA4o/tMPLMM89ozpw5Kikp0QUXXKBVq1Zp8ODBevHFFyMe09nZqRkzZuiRRx7R2Wef3a8CAwCA+GIrjHR0dKi2tlZFRUXHnyA5WUVFRaqpqYl43C9+8QsNHz5ct912m6XXaW9vVyAQ6PIAAADxyVYYaWlpUWdnp7Kysrpsz8rKUmNjY7fHbN26VS+88IJWr15t+XXKy8vl8/nCD7/fb6eYAADAQ6I6mubQoUP66U9/qtWrVyszM9PycYsWLVJra2v40dDQEMVSAgAAkwba2TkzM1MDBgxQU1NTl+1NTU3Kzs4+af/PP/9ce/fu1ZQpU8LbgsHg0RceOFCffvqpvvOd75x0XGpqqlJTU+0UDQAAeJStmpGUlBTl5+erqqoqvC0YDKqqqkqFhYUn7f/d735XH330kXbs2BF+3HDDDZo8ebJ27NhB8wsAALBXMyJJpaWlmjVrlsaPH6+JEydq+fLlamtrU0lJiSRp5syZysnJUXl5udLS0jR27Ngux5922mmSdNJ2AACQmGyHkenTp+vAgQNasmSJGhsbNW7cOG3atCncqbW+vl7JyUzsCgAArEkKhUIh04XoTSAQkM/nU2trqzIyMkwXBwAAWGD1+5sqDAAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRfQojFRUVys3NVVpamgoKCrR9+/aI+65evVqXX365Tj/9dJ1++ukqKirqcX8AAJBYbIeRyspKlZaWqqysTHV1dcrLy1NxcbGam5u73b+6ulq33HKLtmzZopqaGvn9fl199dXav39/vwsPAAC8LykUCoXsHFBQUKAJEyZo5cqVkqRgMCi/36/58+dr4cKFvR7f2dmp008/XStXrtTMmTMtvWYgEJDP51Nra6syMjLsFBcAABhi9fvbVs1IR0eHamtrVVRUdPwJkpNVVFSkmpoaS8/x9ddf68iRIxo6dGjEfdrb2xUIBLo8AABAfLIVRlpaWtTZ2amsrKwu27OystTY2GjpOe6//36NGDGiS6A5UXl5uXw+X/jh9/vtFBMAAHhITEfTPPHEE1q/fr1ef/11paWlRdxv0aJFam1tDT8aGhpiWEoAABBLA+3snJmZqQEDBqipqanL9qamJmVnZ/d47NNPP60nnnhCf/7zn3XRRRf1uG9qaqpSU1PtFA0AAHiUrZqRlJQU5efnq6qqKrwtGAyqqqpKhYWFEY/75S9/qUcffVSbNm3S+PHj+15aAAAQd2zVjEhSaWmpZs2apfHjx2vixIlavny52traVFJSIkmaOXOmcnJyVF5eLkl68skntWTJEq1bt065ubnhviVDhgzRkCFDHPxVAACAF9kOI9OnT9eBAwe0ZMkSNTY2aty4cdq0aVO4U2t9fb2Sk49XuDz33HPq6OjQzTff3OV5ysrK9PDDD/ev9AAAwPNszzNiAvOMAADgPVGZZwQAAMBphBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARvUpjFRUVCg3N1dpaWkqKCjQ9u3be9z/97//vb773e8qLS1NF154oTZu3NinwgIAgPhjO4xUVlaqtLRUZWVlqqurU15enoqLi9Xc3Nzt/tu2bdMtt9yi2267TX//+981depUTZ06VR9//HG/Cw8AALwvKRQKhewcUFBQoAkTJmjlypWSpGAwKL/fr/nz52vhwoUn7T99+nS1tbVpw4YN4W3f+973NG7cOK1atcrSawYCAfl8PrW2tiojI8NOcQEAgCFWv79t1Yx0dHSotrZWRUVFx58gOVlFRUWqqanp9piampou+0tScXFxxP0BAEBiGWhn55aWFnV2diorK6vL9qysLO3cubPbYxobG7vdv7GxMeLrtLe3q729Pfxza2urpKMJCwAAeMOx7+3eGmFshZFYKS8v1yOPPHLSdr/fb6A0AACgPw4dOiSfzxfx/22FkczMTA0YMEBNTU1dtjc1NSk7O7vbY7Kzs23tL0mLFi1SaWlp+OdgMKiDBw/qjDPOUFJSkp0ix51AICC/36+Ghgb6z0QZ73Vs8D7HBu9zbPA+dxUKhXTo0CGNGDGix/1shZGUlBTl5+erqqpKU6dOlXQ0KFRVVWnevHndHlNYWKiqqirdfffd4W2bN29WYWFhxNdJTU1Vampql22nnXaanaLGvYyMDE70GOG9jg3e59jgfY4N3ufjeqoROcZ2M01paalmzZql8ePHa+LEiVq+fLna2tpUUlIiSZo5c6ZycnJUXl4uSbrrrrv0gx/8QMuWLdN1112n9evX6/3339fvfvc7uy8NAADikO0wMn36dB04cEBLlixRY2Ojxo0bp02bNoU7qdbX1ys5+fggnUmTJmndunV66KGH9MADD+icc87RG2+8obFjxzr3WwAAAM/qUwfWefPmRWyWqa6uPmnbtGnTNG3atL68FE6QmpqqsrKyk5qx4Dze69jgfY4N3ufY4H3uG9uTngEAADiJhfIAAIBRhBEAAGAUYQQAABhFGPGwvXv36rbbbtPo0aM1aNAgfec731FZWZk6OjpMFy3uPP7445o0aZIGDx7MnDcOqqioUG5urtLS0lRQUKDt27ebLlLceeeddzRlyhSNGDFCSUlJeuONN0wXKS6Vl5drwoQJSk9P1/DhwzV16lR9+umnpovlGYQRD9u5c6eCwaB++9vf6h//+IeeffZZrVq1Sg888IDposWdjo4OTZs2TXfeeafposSNyspKlZaWqqysTHV1dcrLy1NxcbGa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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_efficiency(out[\"samples\"][\"passing\"].project(\"el_eta\"), out[\"samples\"][\"failing\"].project(\"el_eta\"))\n", - "plt.ylim(0, 1.1)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "5c53ddf9-ade1-49fa-9a46-9c18aed1e2d4", - "metadata": {}, - "outputs": [], - "source": [ - "egamma_tnp.config.reset_all()" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "9436884a-c929-4576-8d2a-3993368beacb", - "metadata": {}, - "outputs": [], - "source": [ - "fileset = {\n", - " \"Run2023D\": {\"files\": {\"../tnptuples/data_EGamma_Run2023D.root\": \"tnpEleTrig/fitter_tree\"}},\n", - " \"DY_LO_2023postBPIX\": {\"files\": {\"../tnptuples/mc_DY_LO_2023postBPIX.root\": \"tnpEleTrig/fitter_tree\"}},\n", - "}\n", - "\n", - "fileset_available, fileset_updates = preprocess(fileset, skip_bad_files=True, step_size=500_000)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "dddee720-b100-49ee-8056-19d448d814ef", - "metadata": {}, - "outputs": [], - "source": [ - "tnp = ElectronTagNProbeFromNTuples(\n", - " fileset_available,\n", - " \"passHltEle30WPTightGsf\",\n", - " cutbased_id=\"passingCutBasedTight122XV1\",\n", - " use_sc_eta=True,\n", - " tags_pt_cut=30,\n", - " probes_pt_cut=35,\n", - ")\n", - "\n", - "egamma_tnp.config.set(\"truePU_bins\", np.arange(0, 110, 10).tolist())\n", - "egamma_tnp.config.set(\"tag_sc_eta_bins\", egamma_tnp.config.get(\"eta_bins\"))\n", - "egamma_tnp.config.set(\"tag_Ele_eta_bins\", egamma_tnp.config.get(\"eta_bins\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "9b6de1a7-3500-4ff8-abb5-98b05286dd9d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'from-uproot-2c52399d185aa7e689447a11d8ee9318': frozenset({'el_eta',\n", - " 'el_phi',\n", - " 'el_pt',\n", - " 'el_q',\n", - " 'pair_mass',\n", - " 'passHltEle30WPTightGsf',\n", - " 'passingCutBasedTight122XV1',\n", - " 'tag_Ele_eta',\n", - " 'tag_Ele_pt',\n", - " 'tag_Ele_q',\n", - " 'tag_sc_eta',\n", - " 'truePU'}),\n", - " 'from-uproot-7198601bdadd417090f83f56563f0a20': frozenset({'el_eta',\n", - " 'el_phi',\n", - " 'el_pt',\n", - " 'el_q',\n", - " 'pair_mass',\n", - " 'passHltEle30WPTightGsf',\n", - " 'passingCutBasedTight122XV1',\n", - " 'tag_Ele_eta',\n", - " 'tag_Ele_pt',\n", - " 'tag_Ele_q',\n", - " 'tag_sc_eta',\n", - " 'truePU'})}" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dak.necessary_columns(tnp.get_tnp_arrays(vars=[\"el_eta\", \"el_phi\", \"truePU\", \"tag_Ele_eta\"]))" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "e50a3def-2eec-40a7-aae4-d209cac4f600", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'from-uproot-2c52399d185aa7e689447a11d8ee9318': frozenset({'el_eta',\n", - " 'el_phi',\n", - " 'el_pt',\n", - " 'el_q',\n", - " 'pair_mass',\n", - " 'passHltEle30WPTightGsf',\n", - " 'passingCutBasedTight122XV1',\n", - " 'tag_Ele_eta',\n", - " 'tag_Ele_pt',\n", - " 'tag_Ele_q',\n", - " 'tag_sc_eta',\n", - " 'truePU'}),\n", - " 'from-uproot-7198601bdadd417090f83f56563f0a20': frozenset({'el_eta',\n", - " 'el_phi',\n", - " 'el_pt',\n", - " 'el_q',\n", - " 'pair_mass',\n", - " 'passHltEle30WPTightGsf',\n", - " 'passingCutBasedTight122XV1',\n", - " 'tag_Ele_eta',\n", - " 'tag_Ele_pt',\n", - " 'tag_Ele_q',\n", - " 'tag_sc_eta',\n", - " 'truePU'})}" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dak.necessary_columns(tnp.get_nd_tnp_histograms(vars=[\"el_eta\", \"el_phi\", \"truePU\", \"tag_Ele_eta\"]))" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "7e70c931-81f7-4816-861b-73a6b7a84acf", - "metadata": {}, - "outputs": [], - "source": [ - "out = tnp.get_tnp_arrays(vars=[\"el_eta\", \"el_phi\", \"truePU\", \"tag_Ele_eta\", \"el_sc_eta\", \"tag_sc_eta\"], compute=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "27733275-8808-4ef2-8144-2068df32cdca", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
[{el_eta: 0.916, el_phi: 0.492, truePU: 0, tag_Ele_eta: 0.863, ...},\n",
-                            " {el_eta: 0.863, el_phi: -2.9, truePU: 0, tag_Ele_eta: 0.916, ...},\n",
-                            " {el_eta: -1.85, el_phi: -0.884, truePU: 0, tag_Ele_eta: -2.1, ...},\n",
-                            " {el_eta: -2.1, el_phi: 2.37, truePU: 0, tag_Ele_eta: -1.85, ...},\n",
-                            " {el_eta: 1.12, el_phi: -1.33, truePU: 0, tag_Ele_eta: 0.183, ...},\n",
-                            " {el_eta: 0.183, el_phi: 2.94, truePU: 0, tag_Ele_eta: 1.12, ...},\n",
-                            " {el_eta: -1.67, el_phi: 0.964, truePU: 0, tag_Ele_eta: -1.77, ...},\n",
-                            " {el_eta: -1.77, el_phi: -2.08, truePU: 0, tag_Ele_eta: -1.67, ...},\n",
-                            " {el_eta: -0.329, el_phi: 3.03, truePU: 0, tag_Ele_eta: -1.59, ...},\n",
-                            " {el_eta: -1.59, el_phi: -3.11, truePU: 0, tag_Ele_eta: -0.329, ...},\n",
-                            " ...,\n",
-                            " {el_eta: -2.19, el_phi: 0.727, truePU: 0, tag_Ele_eta: -1.07, ...},\n",
-                            " {el_eta: 0.0429, el_phi: -0.809, truePU: 0, tag_Ele_eta: -0.584, ...},\n",
-                            " {el_eta: -0.584, el_phi: 2.32, truePU: 0, tag_Ele_eta: 0.0429, ...},\n",
-                            " {el_eta: 0.537, el_phi: -0.84, truePU: 0, tag_Ele_eta: 0.69, ...},\n",
-                            " {el_eta: 0.69, el_phi: 0.894, truePU: 0, tag_Ele_eta: 0.537, ...},\n",
-                            " {el_eta: 0.142, el_phi: 2.45, truePU: 0, tag_Ele_eta: 0.89, ...},\n",
-                            " {el_eta: 0.89, el_phi: -1.08, truePU: 0, tag_Ele_eta: 0.142, ...},\n",
-                            " {el_eta: -1.59, el_phi: -0.478, truePU: 0, tag_Ele_eta: -1.28, ...},\n",
-                            " {el_eta: -1.28, el_phi: 2.52, truePU: 0, tag_Ele_eta: -1.59, ...}]\n",
-                            "-----------------------------------------------------------------------\n",
-                            "type: 3194565 * {\n",
-                            "    el_eta: float32[parameters={"__doc__": "el_eta/F"}],\n",
-                            "    el_phi: float32[parameters={"__doc__": "el_phi/F"}],\n",
-                            "    truePU: int32[parameters={"__doc__": "truePU/I"}],\n",
-                            "    tag_Ele_eta: float32[parameters={"__doc__": "tag_Ele_eta/F"}],\n",
-                            "    el_sc_eta: float32[parameters={"__doc__": "el_sc_eta/F"}],\n",
-                            "    tag_sc_eta: float32[parameters={"__doc__": "tag_sc_eta/F"}]\n",
-                            "}
" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "out[\"Run2023D\"][\"passing\"]" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "b37fdfa3-6b96-43f2-a0dd-2c8b2fafd1cb", - "metadata": {}, - "outputs": [], - "source": [ - "out = tnp.get_1d_pt_eta_phi_tnp_histograms(\n", - " cut_and_count=True,\n", - " vars=[\"el_pt\", \"el_sc_eta\", \"el_phi\"],\n", - " eta_regions_pt={\n", - " \"barrel\": [0.0, 1.4442],\n", - " \"endcap_loweta\": [1.566, 2.0],\n", - " \"endcap_higheta\": [2.0, 2.5],\n", - " },\n", - " plateau_cut=35,\n", - " compute=True,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "38c1c160-0ed0-4a82-a854-89b793a60138", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGwCAYAAAB7MGXBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAxwUlEQVR4nO3de3hU1b3/8c8kSIJKwiWQSBhIBK16kIAJxKCI1Gi0FsuvitRDAfNTqR7gUYJHgkeJ1GqkSKUVFKUW24oFhGr5CQ8eTbmIjVAuqdoKys0EbAJBSSBqgpn9+2NMJCYzsyeZmZWZvF/Pk2dgZs/Md257f/baa63tsCzLEgAAgCFRpgsAAAAdG2EEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEZ1Ml2AHS6XS59++qm6du0qh8NhuhwAAGCDZVk6efKk+vTpo6goz+0fYRFGPv30UzmdTtNlAACAVigrK1Pfvn093h4WYaRr166S3C8mLi7OcDUAAMCO6upqOZ3Oxu24J2ERRhoOzcTFxRFGAAAIM766WNCBFQAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUX6HkS1btmjMmDHq06ePHA6HXnvtNZ/32bRpky677DLFxMRo4MCBevHFF1tRKgAAiER+h5GamhqlpaVp8eLFtpY/ePCgbrzxRo0ePVolJSW67777dOedd+qNN97wu1gAABB5Ovl7hxtuuEE33HCD7eWXLFmi1NRULViwQJJ08cUXa+vWrXrqqaeUk5Pj79MDAIAIE/Q+I8XFxcrOzm5yXU5OjoqLiz3ep7a2VtXV1U3+AABAZAp6GCkvL1diYmKT6xITE1VdXa0vv/yyxfsUFhYqPj6+8c/pdAa7TAAAYEi7HE0ze/ZsVVVVNf6VlZWZLgkAAASJ331G/JWUlKSKioom11VUVCguLk5dunRp8T4xMTGKiYkJdmkAAKAdCHrLSFZWloqKippc9+abbyorKyvYTw0AAMKA32Hk1KlTKikpUUlJiST30N2SkhKVlpZKch9imTRpUuPyd999tw4cOKAHHnhAe/bs0TPPPKNVq1ZpxowZgXkFAAAgrPkdRnbs2KGhQ4dq6NChkqS8vDwNHTpUc+bMkST9+9//bgwmkpSamqp169bpzTffVFpamhYsWKDf/va3DOsFAACSJIdlWZbpInyprq5WfHy8qqqqFBcXZ7ocAABgg93td7scTQMAADoOwggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAozqZLgBeHN8v7f6jdKJU6tZPGjpR6jnAdFUAAAQUYaS92v2StHa6JIcky335zq+lmxZJQycE/vkIPgAAQwgj7dHx/e4gYrma37Z2mtTv8sAGhVAHHwAAzkAYaW9OlktvL/C+zLYl0g/m239Mb60eoQ4+AGAaLcHtDmGkvdmxTCpZ7vl2yyUdfPvb//v6UXlr9Rh4TeCDDwC0Z7QEt0uEkfYmI1eqKpP+8aeWWyscUVLqSPe/ff2ofLV6DLvLv+ADAOGMluB2izDS3nRNkkbOdIcRTzLv9v2j6jlQ2vV7789Vd0oaMsFe8GlA8yaA9sjXuikYh8ARMIQRU7z9cHoOcLdurJ2mJq0estzXdz5HKvq598ffkC99usvz7ZZLOrJL+sly38GnAc2bANojO+smfw+BBwo7cLYQRkyw88MZOsHdZNjSl3hjoe8fVe1Je60evoIPHV0BtGd2103+HAJveNy2hgh24GxzWJZlmS7Cl+rqasXHx6uqqkpxcXGmy2mb4/ulRRmefwzTdvj+wp8sd7eMePtRDbvT3aph97k8/fBOlrv/tj/v/fnSbpOGT3EfZuqa5Pt9AIC2aM26qa7G3jqxpRDRsIN2ZojwNVKxrev6CGB3+00YCSW7IcLOMUu7X/Tdyz23ethJ5hsLpc1P+F6uwah8afRs+8sDQGu0dt3ka51oe93qJbAMvCZw6/owRxhpj+z8eHpdLE19197j2Q0abWlupGUEQHvUlnWTt5bgQLQ6D7tL2v6c9/r9WdeHMbvbb/qMhJK/xyx98dav5Ew9B0jZj7Su5oYfsK8RPiNndogmR8AoOzsWHaXDZFvWTZ7WiXY6ue7f6D7c401rRip2cLSMBEOAjiMerKzRqh1lOvz5l+rbvYtuzXAqNeGcEL6Q72jrIR+gPQnlRjtYnSG/+/sLRF+HcBSodZOdlpHzhngfqSi5Wz1+spw+I+IwTfC0ZsbTZisM3z+cVTvKlL/mPTkcDlmW1Xg57+bBGpfhDOEL/o5IW4mhY7K70bYjEOsEO8/ha8Mmha5zZnsUqHp9vde5G9xzONnpDxKKQ+ntHGEkGHz9iP3pPe3ly3ewskbXLNgkVwufTJRD+uvMq5VisoUEaO9CNcqhlesES5LDn+da/9/S33/rvV+E5LvvxGWTpGU3+K4nUgOLXYHq5CqFJqy2Y4SRQAtkWvbiaPVX+uUbe/XnXYc9hpGJl/fX3B8NauULASKcr5W7nQ37NXN8d8S2s0HatkSu7b9VlJov41KUooac8VzeNlqLL5eOfei9nrMTpC8qvS/T5zK5Pi3xXo+HwNLkdfkTWMKVzxARgENDHWD4Lx1YA8nONMJ2Zjy1Mbvf8m2lWr3zsMfbXZZUfOC4z8cBAiac9n7tTIB18O2Wb5fc15csl+Kd7mGg3l77tiXea3l7gU4d2qkuluXeTn33qSxLp3av1rnxTqmb0/vkWKkj5Tq213uIkOQq+ZPXZWzVc9RH6Hl7gTuwRPokiL46/tsdQOAJ09M3QRixw04Pa7sznvowIbOfjpz40mvLSNb5Pf0oHj61t41tKEdMtOWsz+1x79dGQFDyZVLlXu8tIxm5vl+7jVDzj9irlamPvrn/dxaRQ3/v9gOlJV2hHqt+5HXDXnbhJPXZtvSbwylnPIYlWbJ0eNB/yZKlPrtf9rrMwcO/UZaPekZ++b46+QprdgKLndalcNeWkYqmpqdvpwgjdtgZkjtgtHvsud3zvHjQOy5WU0cP1J93eW4dyb0i1U7VjeyMyml3I3dCpb1tbO3UE6ia23rWZ1N7v94ClJ1Wj2FTvD/+yJnuoZu+XruN1oplH2fqcm2WZTUPCA5ZeuToSC3c/Ef18FbP2wv0wunJqvl6ip7o9LwsyyGHLFlyX+Z/PUXW7np3Y4ePZSq+uFojtMp7Pf3P0lDHAe9hrWy7/dYltCzQUz2EOfqM2BWqGU+/8cqOMs0KwGgaO6Ny2u3InWBrb8dr7XR2lAJTs83+Drb7VoSqdSlQ/UH2FXn/ndp4nLLzx6vPmh8pSlazDbtLDv174lYt/af0xfY/uAOCWggIQyboifIp6nR8j9eXfVunp1R8KlH9HeUaH71JfR3HdNjqpZX1V+sTy9360POczjpeU+d1mbS+8brw32u91jN7+Fnq+eIVgftutEPtZuerva2DgoAOrMEQ4mFahyprtPKMH8z4DKdfo2jsjMqxpOCO3DF9CMTb8/vTkTEUh0XW/7fvzo6S7xETdmq289rLtkvHP/b+ekblt9zfIRgdGf0Y3mpZribdIlocvdLGDqO/6P0rVR3Z63XD/pNhTt36XLGcah4QypTk/n1tf8TnZ/HI6cn6w65Kj7/TH1/WVw5Ja7wc3v3xZX3t1ZNwjrR7uay102RZ336mDoclx3dGk9h6n0PEbsBodztfET5/E2EkWExvXL/D0w/Qzqicmy/rK0vya+SOX3sUwe5t39Yhc4svl+voh4pqoTOfy3K//oBubHe/JGvtdI8r+FO/GaEux/+laEfzD6PecuhLdda553T1PWLCTs12Rmf0uUz6d0mrhoo2LuPPEEdfy9gMj9vfekXpJQ83Cwg7hzyq4f9neuNdvH6XbTzXD/aP1b+OnfbaEnHvNReob/cu3ls5j++X9bQ7ZH23hUWOKDmm79BBKylgOxZ2Wl1X7SjTs2v+V7d22qS+OqbD6qVVX1+t/7r5usZltr/6tK332dZn20Z2A4aJaRNsrTPb2XYlkAgj7Vwgmgm9/QAPf/6lfl3kfa+2oVnXmwsTz9X/zhjl8/ma7VEEu/kxAHO+nNi0SOe+96I6OZov87UVpVMXj1e3Ebfbm5fBl282OI7vtHqcucF5+0/zlHXsFY/1vN3tR7q8b6y6/Gtl2wOCnWb2QD3ONXOkfW+1ffZQGwHqYMYcXfPORT73/H1+l218fwq2fqk/vvuJ15aIB3K+p95xsV5bOQ9W1uiZp+Z6bGGZOqPAdoiwe3jXVz12g4/PFpYGQdwxsRswTEybENBWmDA9FQBhpB0LxBfU1w/wlZ9l6U9/LwtYy4jtPQp/Tl7V2mPKAerv8JtT2Zr68f/1eMz/lxcs173nFim2ZJmteSK8BcwTa2b4DD73l2XpuVP3eqzn+3ULdHtWf92+a5zXveiABQ07faDstLAMmyLt8FKP3b4wNl6XncMZDYcqfH6XfRyqCNRedsFfPtAf3/3E44bdbqhp0NbDuw31tPWQUEPNrd4x8bFhPVr9lY6erNWLfzvkdR3248v66vYRKXpt9xH9dutBr6/9zJ2vtgpoK0wgTwUQYswz0k4drKxR/pr33F/Qhhz4zeWsNe9pWEoPn1/Qo9VfafHGfV6XWfuPT32Oypk6emBjGPHkprQ++uBIlV782yGvz7do4z7dPiJFqe8v1TnvPul12Tb1trczNv/tBbZ6+xd3ylDp11M0r4XRB7O+nqLVH0g/jX9bfWzME7Gq60+15M9vaFz0Zl33TbP2HVtG6Z4f52hchlNHPtqti1oYTim5RzF8+q93lNwrXfknPI+GGHZZhi4d7NQD2+5qeZnTd2mqlaQUu/No3LTIc9BoWOn7mkshdaTvYbKnfZxUzNfn2bDMZZPcYcSTkTP1tz+0vFGS3IfeVu88rI8rTnp9qkUb9+mBnO9pU/1VevarJ5sfqqi/SuMkpSaco3k3D/bYEmF3Q1N84LhclvSJkvTLr3/S7PbVOw8ruVsXzbj2QqUknKNZ11/k9fHsLGOnnpY0vIc9z+nsc5kLz67RlKFnu3dMvHl7gfusutK3J7+zMWJs+bZSn62/DbWs3nlYd16ZqlvS+9qeNqEtrdd21tHL3jlorxXGzqg2qX2OfPMDYSSEAvUFtTsx2twfDbK1svS2zJaPK/36wT848hpNmTLGXstIRm7z23w1M9oZm1+y3N3fwRHl9fm/d/o/9Iddifp73fda3CO9Jb2v9v17iM77ap+8zcsQn3izdiz/jd48a2mTZvYpUf9P+a9+pGEpBfqn1V/f0z88Ps7fXJeoy3kX6Y+f9tF2D/X8dfRALXvnoNa4Rnlcxtq4Tz9PHqGz7cyj0TVJZV3TdPivz6nzycOq69pXfb//MzkHNv3+HbSStOrrn+jw6S/V9+suutVKUuPg8sy7fQYErZjgOxydnRCQAJV1/pfad/SU173kXZ987nNDenbnaL307idyWUmad7ppQDhzp2FchlPDUnq0qSUi6/yePmuekNnP9uO1lZ167LSMTIheKz1vc8ek4Tc9Kl8afKutDeuEzH669pJE2y0jvbvGqKau3ta0CS21Xj+3eb/t1uuATV5pd+fLlzCYPI3DNEHgKVE/9eZHPjfsdpoJ/T322ZamXX+bQnt3jWl906ydZkY7Z9U84zCEt97+djoFPvLiWr1w8h6vh04uTjpXiz/7WbOOp2ce7omSpfs//qnXQ0J33HSNNn90zOsx/+ue2qyPKk41L/gMBSNifB/K6TkgcMO+fY28CNR5Vb45HFa27wOPAcpO0/iydw4G9jBEG7W3c1EFbBRezEn7h2wbWkYcUe4Np53lv2lF8ff989Wvxp/Ha8sAAlv9UzYWSpuf8L6MndMA9LpYmvqu92WCxO72OyqENXUIq3aU6ZoFm/T8lgNa996nen7LAV2zYJNe2VGmCZn9dEt63xZHb0j2Z1dtmBjNmzMnRmtotn36tqGadf1FLa7YPC3TOy5Wg5LjfT7ftNEDNSg5/tuVc88B7hDhiJIc0U0vzzwM0ODMpkirvunl2mnu2yX3CmjkTO9v0MiZUr/LtX3wz+WyHPrailL9N5cuy6Htg38u9RzQ2Mwe5ZCioxxNLhtajvpfcKnyv54il77zOHI0Hjq5+uR6WS0cx3E43K0evfb8QVZsvNfHue36q9U7LlbjMpz668yrNeWq83Xj4D6actX5+uvMqxs3/Fnn9/T6/bklva8uHXyZHjh9V4vP9cDpu3TISmpyuLDeZTW5nLXmPR2qrLG1jCStqr9K3//qST1Xf6PW1Wfqufob9f2vntQr9Ve5C/M12d/ImfY+065JWrWjTKNe+EQ/PXSDxlXeqZ8eukGjXvhEr+wokyRbn+ntPiYNnDZ6oP5x+ITP1pPl20q912yTnZpDyU49tmrumiT1GWLvs+0zxP23Z527lcRXK9nzo9ytpDbrPZO335jd1mvJ+7re33W0Rxm57pm9HR421Y4o6cIc38uEweRptIwEUKjn9QjUxGh2ter5vB12aejsKtnfe2o8puy9Y2XDZ2Gnt7+dkQXeHqdm6Y266KsSj0Ny91pO9R9xq9Yn3K5nfAyX9MWfPX9vHSLt7PnbWcafzqA+51Kw+Zna+e34ag309V2204kzUC0jDdra8TTQAtpZ1u5cGnZbPs9cF/hbixd2W6+fm5gRsGHUPvkxv057nDyN0TQh5k+zXCBDRKhXYAF9PjtNkN81Kr+x06u35vpAbkx8fV52Rsp0u/ERqWtSQN4/X/XYOZRjZ1i3nWXS+sbr/SNV9kdV+Bh2GKrPVGr78FaTQSEceftsmzA4K2kw5mcKyDozAGHeFMJIiPnbH6S97QUZ0YaWEV99GexskO+95gLNuPZCW6V6/bxsTFoV6JWnt3oCNTTTzjK7PvlcByq9j5ax+z6H+jP1JdQtj5HM7+kMDG5YfQXRiZf31++LP/H6GP4OEQ7YxGjMMxJc4RBGTEyoE1H82BsKVCfFgDaz++rEGUKBOlxoZxl/3mdvK9x2+ZmKnYZAaHUrk8ENq7cgOurCXgFd17e76ekDjDBiAE27bWRjb8hO6POrL0MgtaO9kkDN1hmokQe+Vrh2WnOMfKZoNX9H4kn6djReOxCKw3gdYZtBGAkSX81pNO22kY8Nup3DYZLNc4JEuEB1QGxrZ1A7K9wpf9xh6xBMR/9Mw4nd3+qZAnmYLdjauq7vKK3phJEgsNucRtNu8NhtGfFn+my0XSj6sPCZhpdwbxmxoy3fRX/7GQbifGYmBDWMLF68WPPnz1d5ebnS0tL09NNPa/jw4R6XX7hwoZ599lmVlpYqISFBt9xyiwoLCxUba+9L1x7CSEdoTmsP7Pzg+CzCi52Op5Oy+n8z42nz2/hMwxu/15b50zISzv1Kgjbp2cqVK5WXl6eCggLt2rVLaWlpysnJ0dGjR1tc/uWXX1Z+fr4KCgr04Ycf6oUXXtDKlSv14IMP+vvUxvgzEQ5az9skQmdqb5NEwTs7E7VNGz2QzzRCtfb3erCyRvM27NH0P+3WvA17dNDHqK1wY3diNLuTD4Y7v1tGMjMzNWzYMC1atEiS5HK55HQ6NX36dOXn5zdbftq0afrwww9VVFTUeN3MmTO1bds2bd261dZzmm4ZCdQ07h2R3abF1uw90VwfHgI5WRnClz+fbTi3BPgrlCN3TAjKWXvr6uq0c+dOzZ797ZlWo6KilJ2dreLi4hbvM2LECL300kvavn27hg8frgMHDmj9+vWaOHGix+epra1VbW1tkxdj0oTMfjpy4kvbZ3uEm6+TTTUcU5Zk+6zAZx5TbuvZSREa/pzdls80ctn9bANxZvNw4u1ki0+9+VFgTrgXBvwKI5WVlaqvr1diYmKT6xMTE7Vnz54W7/Of//mfqqys1JVXXinLsvT111/r7rvv9nqYprCwUHPnzvWntKBqaE6zc7ZHuNlZoby6+4it3vZnnhU4nHrb41uBOLstIp+dQ+It7ZiEO09BrSPtCAf9RHmbNm3S448/rmeeeUa7du3Sn//8Z61bt06PPvqox/vMnj1bVVVVjX9lZWUelw0V+inYc7T6K31wpMrWCiXnPxL1+vQr9fr0K32eQPCW9L56ffqVIT2VOgLLzgkb0bEt31aq1Ttb3vBK3+6Y/PDprQE7UWF7FrAT7oUBv1pGEhISFB0drYqKiibXV1RUKCkpqcX7PPzww5o4caLuvPNOSdKll16qmpoaTZkyRf/zP/+jqKjmeSgmJkYxMTH+lBYS7N35tnxbqc/WjoYVSnK3Lo2tHL5anqaNHsj7DEQ4Oy0BDUOBe3dtf9uIYPDnMGe4Dv+V/AwjnTt3Vnp6uoqKijR27FhJ7g6sRUVFmjZtWov3+eKLL5oFjujoaElSGExx0gzHtL2bkNlP116SaGtugTNbOfz5wQGITHYOiXfEHRM7O8K++ui1d36FEUnKy8vT5MmTlZGRoeHDh2vhwoWqqalRbm6uJGnSpElKTk5WYWGhJGnMmDH61a9+paFDhyozM1P79u3Tww8/rDFjxjSGEkSO3nGxtlco3z3eS8sTAHZMWuZtRzgSOv36HUbGjx+vY8eOac6cOSovL9eQIUO0YcOGxk6tpaWlTVpCHnroITkcDj300EM6cuSIevXqpTFjxuixxx4L3KtAu9PaFQotTwDYMbHP7jxY7Xn4r8R08Agy5o0AgOBp7/NgBWWeEcBftHQAQPBEyvDfoA/tBQAAwREpw38JIwAAhLFImAeLwzQAAIS5cO/0SxgBACAChHMfPQ7TAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAozhr75mO75d2/1E6USp16ycNnSj1HGC6KgAAIhphpMHul6S10yU5JFnuy3d+Ld20SBo6wXBxAABELg7TSO4WkbXTJcslWfVNL9dOc98OAACCgjByslx6e4H3ZbYtCU0tAAB0QBym2bFMKlnu+XbLJR18O3T1AADQwdAykpErDZkgOTy8FY4oKXVkaGsCAKADIYx0TZJGzvS+TObdoakFAIAOiDAiuYfv3rTI3QriiG56edMihvcCABBE9BlpMHSC1O9y5hkBACDECCNn6jlAyn7EdBUAAHQoHKYBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYxmgYAgI7i+P52OYUFYQQAgI5g90vuM9TLIclyX77za/fknkMnGC2NwzQAAES64/vdQcRySVZ908u109y3G0QYAQAgkp0sl95e4H2ZbUtCU4sHHKYBACCS7VgmlSz3fLvlkg6+Hbp6WkDLCAAAkSwjVxoywX3y15Y4oqTUkaGt6TsIIwAARLKuSdLImd6Xybw7NLV4QBgBACDS9RzgHjXjiJIc0U0vb1pkfHgvfUYAAOgIhk6Q+l3OPCMAAMCgngOk7EdMV9EMYeQMBytrtGpHmQ5//qX6du+iWzOcSk04x3RZAABENMLIN1btKFP+mvfkcDhkWZYcDoee27xf824erHEZTtPlAQAQsejAKneLSP6a9+SypHqX1eRy1pr3dKiyxnSJAABErA4fRo5Wf6XFG/d5XWbZOwdDVA0AAB1Phz9Ms3xbqVbvPOzxdpclFR84HsKKAADoWDp8y8iEzH66Jb2vohwt3x7lkLLO7xnaogAA6EA6fBjpHRerqaMHel0m94rUEFUDAEDH0+HDiCSlJpyjeTcPVpRDio5yNLmcd/NgpTC8FwCAoOnwfUYajMtwalhKD608Y56R8RlOgggAAEFGGDlDSsI5mnX9RabLAACgQ+EwDQAAMIowAgAAjCKMAAAAowgjAADAqFaFkcWLFyslJUWxsbHKzMzU9u3bvS5/4sQJTZ06Veedd55iYmJ04YUXav369a0qGAAARBa/R9OsXLlSeXl5WrJkiTIzM7Vw4ULl5ORo79696t27d7Pl6+rqdO2116p3795avXq1kpOT9cknn6hbt26BqB8AAIQ5h2VZlj93yMzM1LBhw7Ro0SJJksvlktPp1PTp05Wfn99s+SVLlmj+/Pnas2ePzjrrLFvPUVtbq9ra2sb/V1dXy+l0qqqqSnFxcf6UCwAADKmurlZ8fLzP7bdfh2nq6uq0c+dOZWdnf/sAUVHKzs5WcXFxi/dZu3atsrKyNHXqVCUmJmrQoEF6/PHHVV9f7/F5CgsLFR8f3/jndDr9KRMAAIQRv8JIZWWl6uvrlZiY2OT6xMRElZeXt3ifAwcOaPXq1aqvr9f69ev18MMPa8GCBfrFL37h8Xlmz56tqqqqxr+ysjJ/ygQAAGEk6DOwulwu9e7dW88//7yio6OVnp6uI0eOaP78+SooKGjxPjExMYqJiQl2aQAAdCgHK2u06ozTntya4VRqOzjtiV9hJCEhQdHR0aqoqGhyfUVFhZKSklq8z3nnnaezzjpL0dHRjdddfPHFKi8vV11dnTp37tyKsgEAgD9W7ShT/pr35HA4ZFmWHA6Hntu8X/NuHqxxGWa7Q/h1mKZz585KT09XUVFR43Uul0tFRUXKyspq8T5XXHGF9u3bJ5fL1XjdRx99pPPOO48gAgBACBysrFH+mvfksqR6l9Xkctaa93SossZofX7PM5KXl6elS5fq97//vT788EPdc889qqmpUW5uriRp0qRJmj17duPy99xzjz777DPde++9+uijj7Ru3To9/vjjmjp1auBeBQAAaNHR6q+0eOM+r8sse+dgiKppmd99RsaPH69jx45pzpw5Ki8v15AhQ7Rhw4bGTq2lpaWKivo24zidTr3xxhuaMWOGBg8erOTkZN17772aNWtW4F4FAABo0fJtpVq987DH212WVHzgeAgras7veUZMsDtOGQAANHW0+iv98o29+vOuw3K1sMWPckgTL++vuT8aFPDnDso8IwAAILz0jovV1NEDvS6Te0VqiKppGWEEAIAIl5pwjubdPFhRDik6ytHkct7Ng5VieHhv0OcZAQAA5o3LcGpYSg+tPGOekfEZTuNBRCKMAADQYaQknKNZ119kuoxmOEwDAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCqVWFk8eLFSklJUWxsrDIzM7V9+3Zb91uxYoUcDofGjh3bmqcFAAARyO8wsnLlSuXl5amgoEC7du1SWlqacnJydPToUa/3O3TokO6//36NHDmy1cUCAIDI43cY+dWvfqW77rpLubm5uuSSS7RkyRKdffbZ+t3vfufxPvX19ZowYYLmzp2r888/3+dz1NbWqrq6uskfAACITH6Fkbq6Ou3cuVPZ2dnfPkBUlLKzs1VcXOzxfj//+c/Vu3dv3XHHHbaep7CwUPHx8Y1/TqfTnzIBAEAY8SuMVFZWqr6+XomJiU2uT0xMVHl5eYv32bp1q1544QUtXbrU9vPMnj1bVVVVjX9lZWX+lAkAAMJIp2A++MmTJzVx4kQtXbpUCQkJtu8XExOjmJiYIFYGAADaC7/CSEJCgqKjo1VRUdHk+oqKCiUlJTVbfv/+/Tp06JDGjBnTeJ3L5XI/cadO2rt3rwYMGNCaugEAQITw6zBN586dlZ6erqKiosbrXC6XioqKlJWV1Wz5iy66SO+//75KSkoa/2666SaNHj1aJSUl9AUBAAD+H6bJy8vT5MmTlZGRoeHDh2vhwoWqqalRbm6uJGnSpElKTk5WYWGhYmNjNWjQoCb379atmyQ1ux4AAHRMfoeR8ePH69ixY5ozZ47Ky8s1ZMgQbdiwobFTa2lpqaKimNgVAADY47AsyzJdhC/V1dWKj49XVVWV4uLiTJcDAABssLv9pgkDAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYFSrwsjixYuVkpKi2NhYZWZmavv27R6XXbp0qUaOHKnu3bure/fuys7O9ro8AADoWPwOIytXrlReXp4KCgq0a9cupaWlKScnR0ePHm1x+U2bNum2227Txo0bVVxcLKfTqeuuu05Hjhxpc/EAACD8OSzLsvy5Q2ZmpoYNG6ZFixZJklwul5xOp6ZPn678/Hyf96+vr1f37t21aNEiTZo0ydZzVldXKz4+XlVVVYqLi/OnXAAAYIjd7bdfLSN1dXXauXOnsrOzv32AqChlZ2eruLjY1mN88cUXOn36tHr06OFxmdraWlVXVzf5AwAAkcmvMFJZWan6+nolJiY2uT4xMVHl5eW2HmPWrFnq06dPk0DzXYWFhYqPj2/8czqd/pQJAADCSEhH0zzxxBNasWKFXn31VcXGxnpcbvbs2aqqqmr8KysrC2GVAAAglDr5s3BCQoKio6NVUVHR5PqKigolJSV5ve+TTz6pJ554Qm+99ZYGDx7sddmYmBjFxMT4UxoAAAhTfrWMdO7cWenp6SoqKmq8zuVyqaioSFlZWR7v98tf/lKPPvqoNmzYoIyMjNZXCwAAIo5fLSOSlJeXp8mTJysjI0PDhw/XwoULVVNTo9zcXEnSpEmTlJycrMLCQknSvHnzNGfOHL388stKSUlp7Fty7rnn6txzzw3gSwEAAOHI7zAyfvx4HTt2THPmzFF5ebmGDBmiDRs2NHZqLS0tVVTUtw0uzz77rOrq6nTLLbc0eZyCggI98sgjbaseAACEPb/nGTGBeUYAAAg/QZlnBAAAINAIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMalUYWbx4sVJSUhQbG6vMzExt377d6/KvvPKKLrroIsXGxurSSy/V+vXrW1UsAACIPH6HkZUrVyovL08FBQXatWuX0tLSlJOTo6NHj7a4/N/+9jfddtttuuOOO7R7926NHTtWY8eO1QcffNDm4gEAQPhzWJZl+XOHzMxMDRs2TIsWLZIkuVwuOZ1OTZ8+Xfn5+c2WHz9+vGpqavT66683Xnf55ZdryJAhWrJkia3nrK6uVnx8vKqqqhQXF+dPuQAAwBC72+9O/jxoXV2ddu7cqdmzZzdeFxUVpezsbBUXF7d4n+LiYuXl5TW5LicnR6+99prH56mtrVVtbW3j/6uqqiS5XxQAAAgPDdttX+0efoWRyspK1dfXKzExscn1iYmJ2rNnT4v3KS8vb3H58vJyj89TWFiouXPnNrve6XT6Uy4AAGgHTp48qfj4eI+3+xVGQmX27NlNWlNcLpc+++wz9ezZUw6Hw2Bl5lVXV8vpdKqsrIxDVkHGex0avM+hwfscGrzPTVmWpZMnT6pPnz5el/MrjCQkJCg6OloVFRVNrq+oqFBSUlKL90lKSvJreUmKiYlRTExMk+u6devmT6kRLy4uji96iPBehwbvc2jwPocG7/O3vLWINPBrNE3nzp2Vnp6uoqKixutcLpeKioqUlZXV4n2ysrKaLC9Jb775psflAQBAx+L3YZq8vDxNnjxZGRkZGj58uBYuXKiamhrl5uZKkiZNmqTk5GQVFhZKku69916NGjVKCxYs0I033qgVK1Zox44dev755wP7SgAAQFjyO4yMHz9ex44d05w5c1ReXq4hQ4Zow4YNjZ1US0tLFRX1bYPLiBEj9PLLL+uhhx7Sgw8+qAsuuECvvfaaBg0aFLhX0YHExMSooKCg2WEsBB7vdWjwPocG73No8D63jt/zjAAAAAQS56YBAABGEUYAAIBRhBEAAGAUYQQAABhFGAljhw4d0h133KHU1FR16dJFAwYMUEFBgerq6kyXFnEee+wxjRgxQmeffTYT8AXQ4sWLlZKSotjYWGVmZmr79u2mS4o4W7Zs0ZgxY9SnTx85HA6v5wVD6xUWFmrYsGHq2rWrevfurbFjx2rv3r2mywobhJEwtmfPHrlcLj333HP65z//qaeeekpLlizRgw8+aLq0iFNXV6dx48bpnnvuMV1KxFi5cqXy8vJUUFCgXbt2KS0tTTk5OTp69Kjp0iJKTU2N0tLStHjxYtOlRLTNmzdr6tSpevfdd/Xmm2/q9OnTuu6661RTU2O6tLDA0N4IM3/+fD377LM6cOCA6VIi0osvvqj77rtPJ06cMF1K2MvMzNSwYcO0aNEiSe7ZnJ1Op6ZPn678/HzD1UUmh8OhV199VWPHjjVdSsQ7duyYevfurc2bN+uqq64yXU67R8tIhKmqqlKPHj1MlwF4VVdXp507dyo7O7vxuqioKGVnZ6u4uNhgZUBgVFVVSRLrY5sIIxFk3759evrpp/Wzn/3MdCmAV5WVlaqvr2+cublBYmKiysvLDVUFBIbL5dJ9992nK664gtnGbSKMtEP5+flyOBxe//bs2dPkPkeOHNH111+vcePG6a677jJUeXhpzfsMAL5MnTpVH3zwgVasWGG6lLDh97lpEHwzZ87U7bff7nWZ888/v/Hfn376qUaPHq0RI0ZwAkI/+Ps+I3ASEhIUHR2tioqKJtdXVFQoKSnJUFVA202bNk2vv/66tmzZor59+5ouJ2wQRtqhXr16qVevXraWPXLkiEaPHq309HQtW7asyUkK4Z0/7zMCq3PnzkpPT1dRUVFjZ0qXy6WioiJNmzbNbHFAK1iWpenTp+vVV1/Vpk2blJqaarqksEIYCWNHjhzR1Vdfrf79++vJJ5/UsWPHGm9j7zKwSktL9dlnn6m0tFT19fUqKSmRJA0cOFDnnnuu2eLCVF5eniZPnqyMjAwNHz5cCxcuVE1NjXJzc02XFlFOnTqlffv2Nf7/4MGDKikpUY8ePdSvXz+DlUWWqVOn6uWXX9Zf/vIXde3atbHvU3x8vLp06WK4ujBgIWwtW7bMktTiHwJr8uTJLb7PGzduNF1aWHv66aetfv36WZ07d7aGDx9uvfvuu6ZLijgbN25s8bs7efJk06VFFE/r4mXLlpkuLSwwzwgAADCKDgYAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIACM2bdokh8OhEydOmC4FgGGEEQAAYBRhBEDQuFwuFRYWKjU1VV26dFFaWppWr16tQ4cOafTo0ZKk7t27y+Fw6Pbbb5ckbdiwQVdeeaW6deumnj176oc//KH2799v8FUACDZOlAcgaB577DG99NJLWrhwoS644AJt2bJFd999t9544w0dP35cN998s/bu3au4uDh16dJF8fHxWrNmjRwOhwYPHqxTp05pzpw5OnTokEpKShQVxf4TEIkIIwCCora2Vj169NBbb72lrKysxuvvvPNOffHFF5oyZYpGjx6tzz//XN26dfP4OJWVlerVq5fef/99DRo0KASVAwi1TqYLABCZ9u3bpy+++ELXXnttk+vr6uo0dOhQj/f7+OOPNWfOHG3btk2VlZVyuVySpNLSUsIIEKEIIwCC4tSpU5KkdevWKTk5ucltMTExHvuBjBkzRv3799fSpUvVp08fuVwuDRo0SHV1dUGvGYAZhBEAQXHJJZcoJiZGpaWlGjVqVLPby8rKJEn19fWN1x0/flx79+7V0qVLNXLkSEnS1q1bQ1MwAGMIIwCComvXrrr//vs1Y8YMuVwuXXnllaqqqtI777yjuLg4ZWdny+Fw6PXXX9cPfvADdenSRd27d1fPnj31/PPP67zzzlNpaany8/NNvxQAQUbXdABB8+ijj+rhhx9WYWGhLr74Yl1//fVat26dUlNTlZycrLlz5yo/P1+JiYmaNm2aoqKitGLFCu3cuVODBg3SjBkzNH/+fNMvA0CQMZoGAAAYRcsIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAo/4//uydqot4zc8AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_efficiency(out[\"Run2023D\"][\"eta\"][\"entire\"][\"passing\"], out[\"Run2023D\"][\"eta\"][\"entire\"][\"failing\"])\n", - "plot_efficiency(out[\"DY_LO_2023postBPIX\"][\"eta\"][\"entire\"][\"passing\"], out[\"DY_LO_2023postBPIX\"][\"eta\"][\"entire\"][\"failing\"])\n", - "plt.ylim(0, 1.1)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "8d4054ea-2c63-440f-b82c-02289e818b12", - "metadata": {}, - "outputs": [], - "source": [ - "out = tnp.get_nd_tnp_histograms(vars=[\"el_eta\", \"el_phi\", \"truePU\", \"tag_sc_eta\"], compute=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "35c5bd78-8113-474f-b4d1-f94fd643fddd", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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/u3fTHx8vAkODjaTJ082+/fvtz1SQJN0wdv69eu9+3z55ZfmH/7hH8zVV19tQkNDzV/91V+Zqqoqe0N3E/8/Rljn9vHaa6+ZsWPHGqfTaUaNGmXWrVvn87jH4zGPPvqoiYqKMk6n03z/+983x44dszRtYKqtrTULFiww8fHxJiQkxFx77bXm4YcfNo2Njd59WOe2+cMf/nDBv5OzsrKMMZe3rv/93/9t5s+fb/r162fCw8PNnXfeac6ePdvus/KtvQAAwKoe+Z4RAADQdRAjAADAKmIEAABYRYwAAACriBEAAGAVMQIAAKwiRgAAgFXECAAAsIoYAQAAVhEjAC7J4XBc9Pazn/3M9ogAAliQ7QEAdH1VVVXeP7/yyitaunSpzzfa9uvXz/tnY4xaWloUFMRfLwAuD2dGAFxSdHS09xYRESGHw+G9//777yssLExvvPGGkpOT5XQ6tXfvXt1xxx3KyMjw+TkLFy5Uamqq977H45HL5VJCQoL69u2rxMRE/e53v/M+XlRUJIfDoddff13jx49XSEiIpk6dqvLycu8+P/vZzzRhwgSf51m9erWGDRvWASsBoCMQIwDaxYMPPqgVK1bovffe0/jx4y/rGJfLpQ0bNmjt2rU6evSo7r//ft1+++3avXu3z34PPPCAVq5cqUOHDumaa67R3Llz1dzc3BEvA4AFnEcF0C6WLVumm2+++bL3b2xs1JNPPqm33npLKSkpkqRrr71We/fu1QsvvKAZM2Z4933ssce8P/s//uM/NGTIEG3evFl/8zd/074vAoAVxAiAdjFx4kS/9j9+/LgaGhrOC5impiYlJSX5bPsmViRpwIABGjlypN577722DwugSyFGALSLq666yud+r169ZIzx2fZ/L63U1dVJkl5//XUNHjzYZz+n03nZz3up5wHQ9REjADrENddc4/NGU0kqKytTnz59JEljxoyR0+lURUWFzyWZC9m/f7/i4+MlSV988YU++OADjR492vs8brdbxhg5HA7v8wAIHMQIgA7xve99T0899ZQ2bNiglJQUvfzyyyovL/deggkLC9PixYt1//33y+Px6MYbb1RNTY3efvtthYeHKysry/uzli1bpoEDByoqKkoPP/ywBg0a5P2kTmpqqj777DP94he/0I9//GPt2LFDb7zxhsLDw228bABtwKdpAHSI9PR0Pfroo1qyZIkmTZqks2fPKjMz02efJ554Qo8++qhcLpdGjx6tWbNm6fXXX1dCQoLPfitWrNCCBQuUnJwst9ut1157TcHBwZKk0aNH65e//KXWrFmjxMREHTx4UIsXL+601wngyjnM/7/YCgBdRFFRkWbOnKkvvvhC/fv3tz0OgA7CmREAAGAVMQIAAKziMg0AALCKMyMAAMAqYgQAAFhFjAAAAKuIEQAAYBUxAgAArCJGAACAVcQIAACwihgBAABWESMAAMCq/wGbJs2l/HV+egAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "out[\"Run2023D\"][\"passing\"].project(\"truePU\").plot()\n", - "out[\"DY_LO_2023postBPIX\"][\"passing\"].project(\"truePU\").plot()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "79c4e917-2940-4173-af5a-00bca59aaaa9", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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TfI5CxYs0C233KLOnTure/fuSk5OVmFhoaeb5VUIQmixTz75RPX19frlL3+po0ePatmyZcrKytLs2bM93TSf43A4NGHCBD355JOebopPefPNN5Wenq4XX3xRBw8e1NChQ5WUlKSSkhJPN82nVFZWaujQoVqzZo2nm+Kzdu/erdTUVP3tb39TTk6OampqNHr0aFVWVnq6aV6D2+fhFosWLdLatWv1j3/8w9NN8Unr16/XtGnTVFpa6umm+IT4+HjdcsstWr16taSLM87HxMTo6aef1vPPP+/h1vkmm82mt99+W8nJyZ5uik/76quv1L17d+3evVt33nmnp5vjFegRgluUlZUpIiLC080AmuVwOFRQUKDExERzm5+fnxITE5WXl+fBlgHXr6ysTJL4fdwCBCFctxMnTmjVqlV6/PHHPd0UoFlff/216urqrphdPjIyUkVFRR5qFXD96uvrNW3aNN12220aPHiwp5vjNQhCMD3//POy2WxNPj755BOn53zxxRcaM2aMJkyYoClTpnio5d7lWt5nAGhOamqqjhw5oo0bN3q6KV7F59cag+v+8z//U4888kiTNd/5znfMf585c0ajRo3SiBEjtG7dulZune9o6fsM9+rWrZv8/f1VXFzstL24uFhRUVEeahVwfdLS0rRlyxbt2bNHN954o6eb41UIQjDdcMMNuuGGG1yq/eKLLzRq1CjFxcXp9ddfl58fnYuuasn7DPez2+2Ki4tTbm6uOXC3vr5eubm5SktL82zjgBYyDENPP/203n77be3atUuxsbGebpLXIQihxb744guNHDlSvXr10uLFi/XVV1+Z+/iL2r1OnTqls2fP6tSpU6qrq9Phw4clSX369FGnTp082zgvlp6ersmTJ2v48OG69dZbtXz5clVWVurRRx/1dNN8SkVFhU6cOGF+ffLkSR0+fFgRERHq2bOnB1vmO1JTU5Wdna0//vGP6ty5sznOLSwsTMHBwR5unXfg9nm02Pr16xv9wODbyb0eeeQR/fa3v71i+3vvvaeRI0e2fYN8yOrVq7Vo0SIVFRVp2LBhWrlypeLj4z3dLJ+ya9cujRo16ortkydP1vr169u+QT7IZrNddfvrr7/e7CV4XEQQAgAAlsXADgAAYFkEIQAAYFkEIQAAYFkEIQAAYFkEIQAAYFkEIQAAYFkEIQAAYFkEIQAAYFkEIQAAYFkEIQBtwmazNfmYO3eup5vYKkaOHKlp06Z5uhkAGsGiqwDaxJdffmn++80331RGRoYKCwvNbSwiC8AT6BEC0CaioqLMR1hYmGw2m/l1ZWWlJk2apMjISHXq1Em33HKLduzY4fT8L7/8UmPHjlVwcLBiY2OVnZ2t3r17a/ny5c2e2zAMzZ07Vz179lRgYKCio6P185//3NxfXV2tmTNnKiYmRoGBgerTp49+85vfuPS6jhw5onvuuUedOnVSZGSkfvrTn+rrr7+WdHHR3N27d2vFihVmz9fnn3+uuro6paSkKDY2VsHBwerXr59WrFjh+psJwG3oEQLgcRUVFbr33nv18ssvKzAwUG+88YbGjRunwsJC9ezZU5L08MMP6+uvv9auXbsUEBCg9PR0lZSUuHT83//+91q2bJk2btyoQYMGqaioSB9++KG5/+GHH1ZeXp5WrlypoUOH6uTJk2aYaUppaal+8IMf6Gc/+5mWLVum8+fPa+bMmbr//vu1c+dOrVixQp9++qkGDx6szMxMSdINN9yg+vp63Xjjjdq0aZO6du2qvXv3aurUqerRo4fuv//+a3gHAVwzAwDa2Ouvv26EhYU1WTNo0CBj1apVhmEYxvHjxw1Jxv79+839n332mSHJWLZsWbPnW7JkifFv//ZvhsPhuGJfYWGhIcnIyclp0WswDMN46aWXjNGjRzttO336tCHJKCwsNAzDMO666y7jmWeeafZYqampxvjx41vcBgDXh0tjADyuoqJC06dP14ABAxQeHq5OnTrp+PHjOnXqlCSpsLBQHTp00M0332w+p0+fPurSpYtLx58wYYLOnz+v73znO5oyZYrefvtt1dbWSpIOHz4sf39/3XXXXS1u94cffqj33ntPnTp1Mh/9+/eXJP39739v8rlr1qxRXFycbrjhBnXq1Enr1q0zXy+AtsOlMQAeN336dOXk5Gjx4sXq06ePgoOD9ZOf/EQOh8Mtx4+JiVFhYaF27NihnJwcPfXUU1q0aJF2796t4ODgaz5uRUWFxo0bp1dfffWKfT169Gj0eRs3btT06dO1ZMkSJSQkqHPnzlq0aJHy8/OvuS0Arg1BCIDHffDBB3rkkUf0ox/9SNLFgPH555+b+/v166fa2lodOnRIcXFxkqQTJ07o3LlzLp8jODhY48aN07hx45Samqr+/fvr448/1pAhQ1RfX6/du3crMTGxRe2++eab9fvf/169e/dWhw5X/3Vqt9tVV1d3xesdMWKEnnrqKXNbcz1IAFoHl8YAeFzfvn31hz/8QYcPH9aHH36ohx56SPX19eb+/v37KzExUVOnTtW+fft06NAhTZ06VcHBwbLZbM0ef/369frNb36jI0eO6B//+If+53/+R8HBwerVq5d69+6tyZMn67HHHtPmzZt18uRJ7dq1S2+99Vazx01NTdXZs2f14IMPav/+/fr73/+ud955R48++qgZfnr37q38/Hx9/vnn+vrrr1VfX6++ffvqwIEDeuedd/Tpp5/qhRde0P79+6/9DQRwzQhCADxu6dKl6tKli0aMGKFx48YpKSnJaTyQJL3xxhuKjIzUnXfeqR/96EeaMmWKOnfurKCgoGaPHx4erl/96le67bbbdNNNN2nHjh3685//rK5du0qS1q5dq5/85Cd66qmn1L9/f02ZMkWVlZXNHjc6OloffPCB6urqNHr0aA0ZMkTTpk1TeHi4/Pwu/nqdPn26/P39NXDgQN1www06deqUHn/8cf34xz/WAw88oPj4eP3f//2fU+8QgLZjMwzD8HQjAKCl/vd//1cxMTHasWOH7r77bk83B4CXIggB8Ao7d+5URUWFhgwZoi+//FIzZszQF198oU8//VQBAQGebh4AL8WlMQBeoaamRrNnz9agQYP0ox/9SDfccIM5ueKGDRucbmG/9DFo0KBrPucTTzzR6HGfeOIJN746AJ5CjxAAr/fNN9+ouLj4qvsCAgLUq1evazpuSUmJysvLr7ovNDRU3bt3v6bjAmg/CEIAAMCyuDQGAAAsiyAEAAAsiyAEAAAsiyAEAAAsiyAEAAAsiyAEAAAsiyAEAAAs6/8BIggyTvtUz5EAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "out[\"Run2023D\"][\"passing\"].project(\"tag_sc_eta\").plot()\n", - "out[\"DY_LO_2023postBPIX\"][\"passing\"].project(\"tag_sc_eta\").plot()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "2d667976-1d43-4ce0-af8e-8099d38d7415", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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hZHS0lJVV1crNja2wf2xsbEqKipqdJuPP/5Yv//97/XKK69Yfp2MjAxFRUXV3ZxOp51qAgCANqRFZ9OcOHFCd999t1555RVFR0db3m7+/PkqKyuruxUWFrZgLQEAgEkd7BSOjo5WaGioiouLG9xfXFysuLi488rv379fBw8e1MSJE+vuc7lcNS/coYP27dungQMHnrddeHi4wsPD7VQNAAC0UbZaRsLCwjRq1ChlZWXV3edyuZSVlaXk5OTzyl966aX64osvlJubW3e76aabNH78eOXm5tL9AgAA7LWMSFJ6erqmTZumhIQEJSYmatmyZaqoqFBaWpokaerUqerTp48yMjIUERGhIUOGNNi+W7duknTe/QAAoH2yHUYmT56skpISLVy4UEVFRRo+fLg2btxYN6i1oKBAISEs7AoAAKxxuN1ut+lK+FJeXq6oqCiVlZUpMjLSdHUAAIAFVo/fNGEAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjGpSGFmxYoXi4+MVERGhpKQkbd++3WPZV155RePGjVP37t3VvXt3paSkeC0PAADaF9thZM2aNUpPT9eiRYu0a9cuDRs2TKmpqTp69Gij5bOzs3XXXXdp06ZNysnJkdPp1PXXX68jR440u/IAAKDtc7jdbredDZKSkjR69GgtX75ckuRyueR0OjV79mzNmzfP5/bV1dXq3r27li9frqlTp1p6zfLyckVFRamsrEyRkZF2qgsAAAyxevy21TJSVVWlnTt3KiUl5dwThIQoJSVFOTk5lp7j22+/1enTp9WjRw+PZSor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HnpIa9eubYm3CqCF0TICoEnGjx+vF198scF9ta0WVn3++efKy8tT165dG9x/6tQp7d+/3+u2a9as0XPPPaf9+/fr5MmTOnPmjCIjI229PoDWgTACoEk6d+6sQYMGNes5Tp48qVGjRmnVqlXnPdarVy+P2+Xk5GjKlCl6/PHHlZqaqqioKK1evVpLly5tVn0AmEEYAWDMyJEjtWbNGsXExHhs1QgLC1N1dXWD+7Zt26aLLrpIv/zlL+vuO3ToUIvWFUDLYcwIgCaprKxUUVFRg1tpaamt55gyZYqio6N18803a+vWrcrPz1d2drZ+8Ytf6PDhw5Kk+Ph47dmzR/v27VNpaalOnz6tiy++WAUFBVq9erX279+v5557Tu+8805LvE0AAUAYAdAkGzdu1IUXXtjg9oMf/MDWc3Tq1ElbtmxRv379dOutt+qyyy7TPffco1OnTtW1lMyYMUOXXHKJEhIS1KtXL33yySe66aab9OCDD2rWrFkaPny4tm3bpgULFrTE2wQQAA632+02XQkAANB+0TICAACMIowAaDGLFy8+by2S2tsNN9xgunoAWgm6aQC0mOPHj+v48eONPtaxY0f16dMnwDUC0BoRRgAAgFF00wAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACM+v+AJ6FesNft+gAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_efficiency(out[\"Run2023D\"][\"passing\"].project(\"el_eta\"), out[\"Run2023D\"][\"failing\"].project(\"el_eta\"))\n", - "plot_efficiency(out[\"DY_LO_2023postBPIX\"][\"passing\"].project(\"el_eta\"), out[\"DY_LO_2023postBPIX\"][\"failing\"].project(\"el_eta\"))\n", - "plt.ylim(0, 1.1)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "8d34ff7b-8102-4abc-8480-5a97a750e997", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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EEqZAAAghjj+bhqv16uBAwfqmWee0fjx4zV9+nTdc889KisrC9imuLhYSUlJ/snj8ThdJgAAMBJSGElOTla3bt1UW1vban5tba1SU1PbbDNo0CCde+656tatm3/eqFGjVFNTo+bm5jbbFBYWqr6+3j/t378/lDIBAEAMCSmMxMfHa/z48SovL/fP83q9Ki8vV3Z2dpttLrroIu3evVter9c/77PPPtOgQYMUHx/fZhu3263ExMRWEwAA6JpCvk2Tn5+v5cuX6/e//70+/fRTzZ49W42NjZo5c6YkacaMGSosLPQvP3v2bB09elS33XabPvvsM73xxhtatGiR5syZ03nfBQAAiFkhf87I9OnTdeTIES1cuFA1NTUaO3asNm7c6H+otbq6WnFxP2Qcj8ejN998U7fffrvGjBmjIUOG6LbbbtOCBQs677sAAAAxK+TPGbHA54wAABB7HPmcEQAAgM5GGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADAVVhgpLS1VWlqaEhISlJWVpa1btwbVbvXq1XK5XJo6dWo4mwUAAF1QyGFkzZo1ys/PV1FRkbZv36709HTl5ubq8OHD7bbbt2+f7rzzTl1yySVhFwsAALqekMPI448/rltvvVUzZ87UBRdcoLKyMvXs2VPPP/98wDYtLS264YYb9MADD+jss8/uUMEAAKBrCSmMNDc3q7KyUjk5OT+sIC5OOTk5qqioCNjut7/9rQYOHKhbbrklqO00NTWpoaGh1QQAALqmkMJIXV2dWlpalJKS0mp+SkqKampq2mzz3nvv6bnnntPy5cuD3k5xcbGSkpL8k8fjCaVMAAAQQxx9N83x48d14403avny5UpOTg66XWFhoerr6/3T/v37HawSAABY6h7KwsnJyerWrZtqa2tbza+trVVqaupJy+/Zs0f79u3TlClT/PO8Xu+JDXfvrl27dmnEiBEntXO73XK73aGUBgAAYlRIIyPx8fEaP368ysvL/fO8Xq/Ky8uVnZ190vLnn3++PvroI1VVVfmna665RpMmTVJVVRW3XwAAQGgjI5KUn5+vvLw8ZWRkKDMzUyUlJWpsbNTMmTMlSTNmzNCQIUNUXFyshIQEjR49ulX7vn37StJJ8wEAwOkp5DAyffp0HTlyRAsXLlRNTY3Gjh2rjRs3+h9qra6uVlwcH+wKAACC4/L5fD7rIk6loaFBSUlJqq+vV2JionU5AAAgCMGevxnCAAAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMBVWGCktLVVaWpoSEhKUlZWlrVu3Blx2+fLluuSSS9SvXz/169dPOTk57S4PAABOLyGHkTVr1ig/P19FRUXavn270tPTlZubq8OHD7e5/ObNm3X99dfr7bffVkVFhTwej6688kodPHiww8UDAIDY5/L5fL5QGmRlZWnChAlaunSpJMnr9crj8WjevHkqKCg4ZfuWlhb169dPS5cu1YwZM4LaZkNDg5KSklRfX6/ExMRQygUAAEaCPX+HNDLS3NysyspK5eTk/LCCuDjl5OSooqIiqHV8/fXX+vbbb9W/f/+AyzQ1NamhoaHVBAAAuqaQwkhdXZ1aWlqUkpLSan5KSopqamqCWseCBQs0ePDgVoHmXxUXFyspKck/eTyeUMoEAAAxJKLvplm8eLFWr16ttWvXKiEhIeByhYWFqq+v90/79++PYJUAACCSuoeycHJysrp166ba2tpW82tra5Wamtpu28cee0yLFy/Wn/70J40ZM6bdZd1ut9xudyilAQCAGBXSyEh8fLzGjx+v8vJy/zyv16vy8nJlZ2cHbPfII4/owQcf1MaNG5WRkRF+tQAAoMsJaWREkvLz85WXl6eMjAxlZmaqpKREjY2NmjlzpiRpxowZGjJkiIqLiyVJDz/8sBYuXKhVq1YpLS3N/2xJ79691bt37078VgAAQCwKOYxMnz5dR44c0cKFC1VTU6OxY8dq48aN/odaq6urFRf3w4DLsmXL1NzcrOuuu67VeoqKinT//fd3rHoAABDzQv6cEQt8zggAALHHkc8ZAQAA6GyEEQAAYIowAgAATBFGAACAKcIIAAAwRRgBAACmCCMAAMAUYQQAAJgijAAAAFOEEQAAYIowAgAATBFGAACAKcIIAAAwRRgBAACmCCMAAMAUYQQAAJgijAAAAFOEEQAAYIowAgAATBFGAACAKcIIAAAwRRgBAACmCCMAAMAUYQQAAJgijAAAAFOEEQAAYIowAgAATBFGAACAKcIIAAAwRRgBAACmCCMAAMAUYQQAAJgijAAAAFOEEQAAYIowAgAATBFGAACAKcIIAAAwRRgBAACmCCMAAMAUYQQAAJgijAAAAFOEEQAAYIowAgAATBFGAACAKcIIAAAwRRgBAACmCCMAAMAUYQQAAJgijAAAAFOEEQAAYIowAgAATBFGAACAKcIIAAAwRRgBAACmCCMAAMAUYQQAAJgKK4yUlpYqLS1NCQkJysrK0tatW9td/g9/+IPOP/98JSQk6Ec/+pE2bNgQVrEAAKDrCTmMrFmzRvn5+SoqKtL27duVnp6u3NxcHT58uM3lt2zZouuvv1633HKLduzYoalTp2rq1Kn6+OOPO1w8AACIfS6fz+cLpUFWVpYmTJigpUuXSpK8Xq88Ho/mzZungoKCk5afPn26Ghsb9frrr/vnXXjhhRo7dqzKysqC2mZDQ4OSkpJUX1+vxMTEUMoFAABGgj1/hzQy0tzcrMrKSuXk5Pywgrg45eTkqKKios02FRUVrZaXpNzc3IDLAwCA00v3UBauq6tTS0uLUlJSWs1PSUnRzp0722xTU1PT5vI1NTUBt9PU1KSmpib/1/X19ZJOJCwAABAbvj9vn+omTEhhJFKKi4v1wAMPnDTf4/EYVAMAADri+PHjSkpKCvh6SGEkOTlZ3bp1U21tbav5tbW1Sk1NbbNNampqSMtLUmFhofLz8/1fe71eHT16VGeeeaZcLlcoJZtoaGiQx+PR/v37ecZF7I9/xf5ojf3RGvujNfbHD2JxX/h8Ph0/flyDBw9ud7mQwkh8fLzGjx+v8vJyTZ06VdKJoFBeXq65c+e22SY7O1vl5eWaP3++f96mTZuUnZ0dcDtut1tut7vVvL59+4ZSalRITEyMmQMmEtgfrbE/WmN/tMb+aI398YNY2xftjYh8L+TbNPn5+crLy1NGRoYyMzNVUlKixsZGzZw5U5I0Y8YMDRkyRMXFxZKk2267TZdeeqmWLFmiq6++WqtXr9a2bdv0zDPPhLppAADQBYUcRqZPn64jR45o4cKFqqmp0dixY7Vx40b/Q6rV1dWKi/vhTToTJ07UqlWrdO+99+ruu+/WOeeco3Xr1mn06NGd910AAICYFdYDrHPnzg14W2bz5s0nzZs2bZqmTZsWzqZiktvtVlFR0Um3mk5X7I/W2B+tsT9aY3+0xv74QVfeFyF/6BkAAEBn4g/lAQAAU4QRAABgijACAABMEUYcds0112jYsGFKSEjQoEGDdOONN+rQoUPWZZnYt2+fbrnlFg0fPlw9evTQiBEjVFRUpObmZuvSzDz00EOaOHGievbsGZOfpdNRpaWlSktLU0JCgrKysrR161brksy8++67mjJligYPHiyXy6V169ZZl2SmuLhYEyZMUJ8+fTRw4EBNnTpVu3btsi7LzLJlyzRmzBj/54tkZ2frj3/8o3VZnYow4rBJkybppZde0q5du/TKK69oz549uu6666zLMrFz5055vV49/fTT+uSTT/TEE0+orKxMd999t3VpZpqbmzVt2jTNnj3bupSIW7NmjfLz81VUVKTt27crPT1dubm5Onz4sHVpJhobG5Wenq7S0lLrUsy98847mjNnjt5//31t2rRJ3377ra688ko1NjZal2Zi6NChWrx4sSorK7Vt2zb95Cc/0U9/+lN98skn1qV1Hh8iav369T6Xy+Vrbm62LiUqPPLII77hw4dbl2FuxYoVvqSkJOsyIiozM9M3Z84c/9ctLS2+wYMH+4qLiw2rig6SfGvXrrUuI2ocPnzYJ8n3zjvvWJcSNfr16+d79tlnrcvoNIyMRNDRo0f14osvauLEiTrjjDOsy4kK9fX16t+/v3UZiLDm5mZVVlYqJyfHPy8uLk45OTmqqKgwrAzR6Pu/3E5fIbW0tGj16tVqbGxs98+qxBrCSAQsWLBAvXr10plnnqnq6mqtX7/euqSosHv3bj355JP61a9+ZV0KIqyurk4tLS3+T27+XkpKimpqaoyqQjTyer2aP3++LrrootP6k7s/+ugj9e7dW263W7NmzdLatWt1wQUXWJfVaQgjYSgoKJDL5Wp32rlzp3/5u+66Szt27NBbb72lbt26acaMGfJ1oc+aC3V/SNLBgwd11VVXadq0abr11luNKndGOPsDQNvmzJmjjz/+WKtXr7YuxdR5552nqqoqffDBB5o9e7by8vL0t7/9zbqsTsMnsIbhyJEj+uKLL9pd5uyzz1Z8fPxJ8w8cOCCPx6MtW7Z0mSG2UPfHoUOHdNlll+nCCy/UypUrW/0to64gnONj5cqVmj9/vo4dO+ZwddGhublZPXv21Msvv+z/C+CSlJeXp2PHjp32o4cul0tr165ttW9OR3PnztX69ev17rvvavjw4dblRJWcnByNGDFCTz/9tHUpnSKsv01zuhswYIAGDBgQVluv1ytJampq6sySTIWyPw4ePKhJkyZp/PjxWrFiRZcLIlLHjo/TRXx8vMaPH6/y8nL/Cdfr9aq8vDzg373C6cPn82nevHlau3atNm/eTBBpg9fr7VLnEcKIgz744AP99a9/1cUXX6x+/fppz549uu+++zRixIguMyoSioMHD+qyyy7TWWedpccee0xHjhzxv5aammpYmZ3q6modPXpU1dXVamlpUVVVlSRp5MiR6t27t21xDsvPz1deXp4yMjKUmZmpkpISNTY2aubMmdalmfjqq6+0e/du/9d79+5VVVWV+vfvr2HDhhlWFnlz5szRqlWrtH79evXp08f/HFFSUpJ69OhhXF3kFRYWavLkyRo2bJiOHz+uVatWafPmzXrzzTetS+s8tm/m6do+/PBD36RJk3z9+/f3ud1uX1pamm/WrFm+AwcOWJdmYsWKFT5JbU6nq7y8vDb3x9tvv21dWkQ8+eSTvmHDhvni4+N9mZmZvvfff9+6JDNvv/12m8dCXl6edWkRF6ifWLFihXVpJm6++WbfWWed5YuPj/cNGDDAd/nll/veeust67I6Fc+MAAAAU13vhj0AAIgphBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAcITL5dK6des6ZV2bN2+Wy+Vq9w8J3n///Ro7dmynbA9AZBFGAITlpptuksvlOmm66qqrTOq58847VV5ebrJtAB3DH8oDELarrrpKK1asaDXP7Xab1NK7d+8u/8cFga6KkREAYXO73UpNTW019evXL6R17Nu3Ty6XS6tXr9bEiROVkJCg0aNH65133jlp2crKSmVkZKhnz56aOHGidu3a5X+N2zRA7CKMAIgKd911l+644w7t2LFD2dnZmjJlir744otWy9xzzz1asmSJtm3bpu7du+vmm282qhZAZyKMAAjb66+/7r898v20aNGisNY1d+5cXXvttRo1apSWLVumpKQkPffcc62Weeihh3TppZfqggsuUEFBgbZs2aJvvvmmM74VAIZ4ZgRA2CZNmqRly5a1mte/f/+w1pWdne3/f/fu3ZWRkaFPP/201TJjxozx/3/QoEGSpMOHD2vYsGFhbRNAdCCMAAhbr169NHLkyIht74wzzvD/3+VySZK8Xm/Etg/AGdymARAV3n//ff//v/vuO1VWVmrUqFGGFQGIFEZGAIStqalJNTU1reZ1795dycnJIa+rtLRU55xzjkaNGqUnnnhCX375JQ+oAqcJwgiAsG3cuNH/7Mb3zjvvPO3cuTPkdS1evFiLFy9WVVWVRo4cqddeey2sUAMg9rh8Pp/PuggAp699+/Zp+PDh2rFjB58TApymeGYEAACYIowAcNSiRYtO+iyS76fJkydblwcgCnCbBoCjjh49qqNHj7b5Wo8ePTRkyJAIVwQg2hBGAACAKW7TAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmPp/o44Y9LU02psAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_efficiency(out[\"Run2023D\"][\"passing\"].project(\"el_phi\"), out[\"Run2023D\"][\"failing\"].project(\"el_phi\"))\n", - "plot_efficiency(out[\"DY_LO_2023postBPIX\"][\"passing\"].project(\"el_phi\"), out[\"DY_LO_2023postBPIX\"][\"failing\"].project(\"el_phi\"))\n", - "plt.ylim(0, 1.1)\n", - "plt.show()" - ] - } - ], - "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.10.13" - } + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "b369fd0f-665d-49e9-bed9-85ef8ba9396f", + "metadata": {}, + "outputs": [], + "source": [ + "import dask_awkward as dak\n", + "import numpy as np\n", + "from coffea.dataset_tools import preprocess\n", + "from distributed import Client\n", + "from matplotlib import pyplot as plt\n", + "\n", + "import egamma_tnp\n", + "from egamma_tnp import ElectronTagNProbeFromNanoAOD, ElectronTagNProbeFromNTuples\n", + "from egamma_tnp.plot import plot_efficiency" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "688ce707-6830-4326-b8f9-42f65f31272f", + "metadata": {}, + "outputs": [], + "source": [ + "client = Client()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "2249d89d-0e57-4e36-9223-aef31d5f971f", + "metadata": {}, + "outputs": [], + "source": [ + "fileset = {\n", + " \"samples\": {\n", + " \"files\": {\n", + " \"../root_files/Egamma0.root\": \"Events\",\n", + " \"../root_files/Egamma1.root\": \"Events\",\n", + " }\n", + " }\n", + "}\n", + "\n", + "fileset_available, fileset_updates = preprocess(fileset, skip_bad_files=True, step_size=500_000)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "e201b56b-5648-4b51-9c7d-8786bfc01b12", + "metadata": {}, + "outputs": [], + "source": [ + "tnp = ElectronTagNProbeFromNanoAOD(\n", + " fileset_available,\n", + " True,\n", + " filter=\"asdf\",\n", + " filterbit=1,\n", + " tags_pt_cut=30,\n", + " use_sc_eta=True,\n", + " tags_abseta_cut=2.50,\n", + " probes_pt_cut=27,\n", + " trigger_pt=30,\n", + " hlt_filter=\"Ele32_WPTight_Gsf\",\n", + ")\n", + "\n", + "egamma_tnp.config.set(\"MET_pt_bins\", np.linspace(0, 200, 21).tolist())\n", + "egamma_tnp.config.set(\"luminosityBlock_bins\", np.linspace(0, 1000, 11).tolist())\n", + "egamma_tnp.config.set(\"tag_Ele_pt_bins\", egamma_tnp.config.get(\"pt_bins\"))\n", + "egamma_tnp.config.set(\"Electron_pt_bins\", egamma_tnp.config.get(\"pt_bins\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "384a0b8b-8cbc-4bda-aa78-76061965bdca", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/iason/miniforge3/envs/egamma_dev/lib/python3.10/site-packages/coffea/nanoevents/methods/candidate.py:11: FutureWarning: In version 2024.7.0 (target date: 2024-06-30 11:59:59-05:00), this will be an error.\n", + "To raise these warnings as errors (and get stack traces to find out where they're called), run\n", + " import warnings\n", + " warnings.filterwarnings(\"error\", module=\"coffea.*\")\n", + "after the first `import coffea` or use `@pytest.mark.filterwarnings(\"error:::coffea.*\")` in pytest.\n", + "Issue: coffea.nanoevents.methods.vector will be removed and replaced with scikit-hep vector. Nanoevents schemas internal to coffea will be migrated. Otherwise please consider using that package!.\n", + " from coffea.nanoevents.methods import vector\n" + ] }, - "nbformat": 4, - "nbformat_minor": 5 + { + "data": { + "text/plain": [ + "{'from-uproot-e7a6b1ac25e35451d2235047d3ef1690': frozenset({'Electron_charge',\n", + " 'Electron_deltaEtaSC',\n", + " 'Electron_eta',\n", + " 'Electron_mass',\n", + " 'Electron_phi',\n", + " 'Electron_pt',\n", + " 'HLT_Ele30_WPTight_Gsf',\n", + " 'HLT_Ele32_WPTight_Gsf',\n", + " 'MET_pt',\n", + " 'TrigObj_eta',\n", + " 'TrigObj_filterBits',\n", + " 'TrigObj_id',\n", + " 'TrigObj_phi',\n", + " 'TrigObj_pt',\n", + " 'luminosityBlock',\n", + " 'nElectron',\n", + " 'nTrigObj'})}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dak.necessary_columns(tnp.get_tnp_arrays(cut_and_count=False, vars=[\"Electron_pt\", \"tag_Ele_eta\", \"el_pt\", \"el_eta\", \"MET_pt\", \"luminosityBlock\"]))" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "4e2f809b-e40d-4a2e-9dab-b2392be30af6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'from-uproot-e7a6b1ac25e35451d2235047d3ef1690': frozenset({'Electron_charge',\n", + " 'Electron_deltaEtaSC',\n", + " 'Electron_eta',\n", + " 'Electron_mass',\n", + " 'Electron_phi',\n", + " 'Electron_pt',\n", + " 'HLT_Ele30_WPTight_Gsf',\n", + " 'HLT_Ele32_WPTight_Gsf',\n", + " 'MET_pt',\n", + " 'TrigObj_eta',\n", + " 'TrigObj_filterBits',\n", + " 'TrigObj_id',\n", + " 'TrigObj_phi',\n", + " 'TrigObj_pt',\n", + " 'luminosityBlock',\n", + " 'nElectron',\n", + " 'nTrigObj'})}" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dak.necessary_columns(tnp.get_nd_tnp_histograms(cut_and_count=True, vars=[\"tag_Ele_pt\", \"el_pt\", \"el_eta\", \"MET_pt\", \"luminosityBlock\"]))" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "f791896e-f3a9-4cae-8ce7-cd82b9f4354a", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/iason/miniforge3/envs/egamma_dev/lib/python3.10/site-packages/coffea/nanoevents/methods/candidate.py:11: FutureWarning: In version 2024.7.0 (target date: 2024-06-30 11:59:59-05:00), this will be an error.\n", + "To raise these warnings as errors (and get stack traces to find out where they're called), run\n", + " import warnings\n", + " warnings.filterwarnings(\"error\", module=\"coffea.*\")\n", + "after the first `import coffea` or use `@pytest.mark.filterwarnings(\"error:::coffea.*\")` in pytest.\n", + "Issue: coffea.nanoevents.methods.vector will be removed and replaced with scikit-hep vector. Nanoevents schemas internal to coffea will be migrated. Otherwise please consider using that package!.\n", + " from coffea.nanoevents.methods import vector\n", + "/Users/iason/miniforge3/envs/egamma_dev/lib/python3.10/site-packages/coffea/nanoevents/methods/candidate.py:11: FutureWarning: In version 2024.7.0 (target date: 2024-06-30 11:59:59-05:00), this will be an error.\n", + "To raise these warnings as errors (and get stack traces to find out where they're called), run\n", + " import warnings\n", + " warnings.filterwarnings(\"error\", module=\"coffea.*\")\n", + "after the first `import coffea` or use `@pytest.mark.filterwarnings(\"error:::coffea.*\")` in pytest.\n", + "Issue: coffea.nanoevents.methods.vector will be removed and replaced with scikit-hep vector. Nanoevents schemas internal to coffea will be migrated. Otherwise please consider using that package!.\n", + " from coffea.nanoevents.methods import vector\n" + ] + } + ], + "source": [ + "out = tnp.get_tnp_arrays(cut_and_count=False, vars=[\"Electron_pt\", \"tag_Ele_eta\", \"el_pt\", \"el_eta\", \"MET_pt\", \"luminosityBlock\"], compute=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8ddb488b-1c4b-487e-a47a-206fc9e9ee5e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
[{Electron_pt: [42.6, 34.2], tag_Ele_eta: [0.906], el_pt: [34.2], ...},\n",
+       " {Electron_pt: [43.2, 41.4], tag_Ele_eta: [1.58], el_pt: [41.4], ...},\n",
+       " {Electron_pt: [45.8, 40.8], tag_Ele_eta: [0.0873], el_pt: [40.8], ...},\n",
+       " {Electron_pt: [48.8, 38.6], tag_Ele_eta: [1.02], el_pt: [38.6], ...},\n",
+       " {Electron_pt: [47.1, 41.2], tag_Ele_eta: [1.35], el_pt: [41.2], ...},\n",
+       " {Electron_pt: [63, 57.4], tag_Ele_eta: [-2.21], el_pt: [57.4], ...},\n",
+       " {Electron_pt: [49.7, 44.2], tag_Ele_eta: [0.514], el_pt: [44.2], ...},\n",
+       " {Electron_pt: [41.2, 39.6], tag_Ele_eta: [-1.4], el_pt: [39.6], ...},\n",
+       " {Electron_pt: [51.6, 35.2], tag_Ele_eta: [0.217], el_pt: [35.2], ...},\n",
+       " {Electron_pt: [36.9, 30.4], tag_Ele_eta: [-0.623], el_pt: [30.4], ...},\n",
+       " ...,\n",
+       " {Electron_pt: [44, 43.1], tag_Ele_eta: [1.32], el_pt: [44], el_eta: ..., ...},\n",
+       " {Electron_pt: [38.8, 34], tag_Ele_eta: [-0.349], el_pt: [38.8], ...},\n",
+       " {Electron_pt: [82, 71.4], tag_Ele_eta: [-1.34], el_pt: [82], el_eta: ..., ...},\n",
+       " {Electron_pt: [40, 39.7], tag_Ele_eta: [0.113], el_pt: [40], el_eta: ..., ...},\n",
+       " {Electron_pt: [47.5, 34], tag_Ele_eta: [-1.61], el_pt: [47.5], ...},\n",
+       " {Electron_pt: [36.6, 31], tag_Ele_eta: [0.0329], el_pt: [36.6], ...},\n",
+       " {Electron_pt: [40.4, 40.1], tag_Ele_eta: [-0.231], el_pt: [40.4], ...},\n",
+       " {Electron_pt: [44.2, 36.2], tag_Ele_eta: [-1.22], el_pt: [44.2], ...},\n",
+       " {Electron_pt: [52, 38.3], tag_Ele_eta: [-0.342], el_pt: [52], ...}]\n",
+       "--------------------------------------------------------------------------------\n",
+       "type: 18904 * {\n",
+       "    Electron_pt: var * float32[parameters={"__doc__": "pt"}],\n",
+       "    tag_Ele_eta: var * float32[parameters={"__doc__": "eta"}],\n",
+       "    el_pt: var * float32[parameters={"__doc__": "pt"}],\n",
+       "    el_eta: var * float32[parameters={"__doc__": "eta"}],\n",
+       "    MET_pt: float32[parameters={"__doc__": "pt"}],\n",
+       "    luminosityBlock: uint32[parameters={"__doc__": "luminosityBlock/i"}],\n",
+       "    pair_mass: var * float32\n",
+       "}
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out[\"samples\"][\"passing\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "81a31ffc-6eb8-49ef-8d0c-8449e78fa34f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
[[42.6, 34.2],\n",
+       " [43.2, 41.4],\n",
+       " [45.8, 40.8],\n",
+       " [48.8, 38.6],\n",
+       " [47.1, 41.2],\n",
+       " [63, 57.4],\n",
+       " [49.7, 44.2],\n",
+       " [41.2, 39.6],\n",
+       " [51.6, 35.2],\n",
+       " [36.9, 30.4],\n",
+       " ...,\n",
+       " [44, 43.1],\n",
+       " [38.8, 34],\n",
+       " [82, 71.4],\n",
+       " [40, 39.7],\n",
+       " [47.5, 34],\n",
+       " [36.6, 31],\n",
+       " [40.4, 40.1],\n",
+       " [44.2, 36.2],\n",
+       " [52, 38.3]]\n",
+       "---------------------------------------------------------\n",
+       "type: 18904 * var * float32[parameters={"__doc__": "pt"}]
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out[\"samples\"][\"passing\"].Electron_pt" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "02a9882b-4d7c-46ef-aac0-f803c6e78b56", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
[[34.2],\n",
+       " [41.4],\n",
+       " [40.8],\n",
+       " [38.6],\n",
+       " [41.2],\n",
+       " [57.4],\n",
+       " [44.2],\n",
+       " [39.6],\n",
+       " [35.2],\n",
+       " [30.4],\n",
+       " ...,\n",
+       " [44],\n",
+       " [38.8],\n",
+       " [82],\n",
+       " [40],\n",
+       " [47.5],\n",
+       " [36.6],\n",
+       " [40.4],\n",
+       " [44.2],\n",
+       " [52]]\n",
+       "---------------------------------------------------------\n",
+       "type: 18904 * var * float32[parameters={"__doc__": "pt"}]
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out[\"samples\"][\"passing\"].el_pt" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "eb8e2608-aab8-42bf-967f-17b85000033e", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/iason/miniforge3/envs/egamma_dev/lib/python3.10/site-packages/coffea/nanoevents/methods/candidate.py:11: FutureWarning: In version 2024.7.0 (target date: 2024-06-30 11:59:59-05:00), this will be an error.\n", + "To raise these warnings as errors (and get stack traces to find out where they're called), run\n", + " import warnings\n", + " warnings.filterwarnings(\"error\", module=\"coffea.*\")\n", + "after the first `import coffea` or use `@pytest.mark.filterwarnings(\"error:::coffea.*\")` in pytest.\n", + "Issue: coffea.nanoevents.methods.vector will be removed and replaced with scikit-hep vector. Nanoevents schemas internal to coffea will be migrated. Otherwise please consider using that package!.\n", + " from coffea.nanoevents.methods import vector\n", + "/Users/iason/miniforge3/envs/egamma_dev/lib/python3.10/site-packages/coffea/nanoevents/methods/candidate.py:11: FutureWarning: In version 2024.7.0 (target date: 2024-06-30 11:59:59-05:00), this will be an error.\n", + "To raise these warnings as errors (and get stack traces to find out where they're called), run\n", + " import warnings\n", + " warnings.filterwarnings(\"error\", module=\"coffea.*\")\n", + "after the first `import coffea` or use `@pytest.mark.filterwarnings(\"error:::coffea.*\")` in pytest.\n", + "Issue: coffea.nanoevents.methods.vector will be removed and replaced with scikit-hep vector. Nanoevents schemas internal to coffea will be migrated. Otherwise please consider using that package!.\n", + " from coffea.nanoevents.methods import vector\n", + "/Users/iason/miniforge3/envs/egamma_dev/lib/python3.10/site-packages/coffea/nanoevents/methods/candidate.py:11: FutureWarning: In version 2024.7.0 (target date: 2024-06-30 11:59:59-05:00), this will be an error.\n", + "To raise these warnings as errors (and get stack traces to find out where they're called), run\n", + " import warnings\n", + " warnings.filterwarnings(\"error\", module=\"coffea.*\")\n", + "after the first `import coffea` or use `@pytest.mark.filterwarnings(\"error:::coffea.*\")` in pytest.\n", + "Issue: coffea.nanoevents.methods.vector will be removed and replaced with scikit-hep vector. Nanoevents schemas internal to coffea will be migrated. Otherwise please consider using that package!.\n", + " from coffea.nanoevents.methods import vector\n" + ] + } + ], + "source": [ + "out = tnp.get_1d_pt_eta_phi_tnp_histograms(\n", + " cut_and_count=True,\n", + " vars=[\"tag_Ele_pt\", \"el_eta\", \"el_phi\"],\n", + " eta_regions_pt={\n", + " \"barrel\": [0.0, 1.4442],\n", + " \"endcap_loweta\": [1.566, 2.0],\n", + " \"endcap_higheta\": [2.0, 2.5],\n", + " },\n", + " plateau_cut=35,\n", + " compute=True,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "060667d8-847f-48c6-86eb-242d7f0abfb7", + "metadata": {}, + "outputs": [], + "source": [ + "out = tnp.get_nd_tnp_histograms(cut_and_count=True, vars=[\"tag_Ele_pt\", \"el_pt\", \"el_eta\", \"MET_pt\", \"luminosityBlock\"], compute=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "7f920326-d4f0-479a-b07d-aa5231230914", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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GqTExEQ9/PDDWrt2rSIiIvTjH/9YUVFRcrlcl9x+YmKifD6f7rjjDi1fvlzXXHONTpw4ofT0dN15550aOXLkees88cQT+tGPfiSv16tbb71V5eXl2r9/v7744gvNmjWrQeNavXq1rr76ag0ePFgrV67UF198oQcffFCS1K9fP7lcLm3evFm33XaboqKiuJUcaGXcRg3gsjz11FPq3LmzvvnNb+r2229XUlJSwPUukvTb3/5WsbGxGjNmjO68805NmTJFnTp1Uvv27S+5fZfLpddee01jxozRAw88oGuuuUb33HOP/vrXvyo2NrbedR566CGtW7dO69ev15AhQ/Sd73xHaWlpio+Pb/C4li1bpmXLlmnYsGF6++239cc//lHdunWTJH3ta1/TE088ofnz5ys2NtY5MgOg9biMMSbYRQC4svztb39Tnz599MYbb2jcuHHBLifAsWPHFB8frwMHDvDzBEAbxikkAC1u586dKikp0ZAhQ3Ty5EnNnTtX/fv3d64xAYDG4hQSgBZXWVmpxx57TNdee63uvPNOde/e3Xmo3QsvvKCOHTvWO1177bXNXsvPf/7zC77fhAkTmv39ALQMTiEBCKrTp0+roKCg3raIiAj169evWd/v1KlTOnXqVL1tUVFR+trXvtas7wegZRBgAACAdTiFBAAArEOAAQAA1iHAAAAA6xBgAACAdQgwAADAOgQYAABgHQIMAACwDgEGAABY5/8A2dQt/7pP40AAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "out[\"samples\"][\"passing\"].project(\"tag_Ele_pt\").plot()\n", + "out[\"samples\"][\"failing\"].project(\"tag_Ele_pt\").plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "2edcdd00-4c5d-478a-a375-10aa0fbb8c56", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "out[\"samples\"][\"passing\"].project(\"MET_pt\").plot()\n", + "out[\"samples\"][\"failing\"].project(\"MET_pt\").plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "19dc6934-2061-4b9e-8ec7-7b64e9c6f640", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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PPzww6aysvICH41dvh1gGOfgeffdd0337t1NTEyM6dq1q/nd734XsL+mpsY8/vjjJjEx0cTExJiBAwea3bt3B7T5+9//bu644w7TvHlz43a7zd13320OHz58IQ+jQfN6vWbs2LGmQ4cOJjY21nz/+983jz32WMCluYxz3b3//vu1/kzOzMw0xgRvTD/99FNz9dVXm5iYGPO9733PZGdnB6V+hzGnfJQhAACABTgHBgAAWIcAAwAArEOAAQAA1iHAAAAA6xBgAACAdQgwAADAOgQYAABgHQIMAACwDgEGQFA5HA4tX778gr3fddddp3Hjxp1XH3v37pXD4VBhYeEZ26xdu1YOh+O0m2DWV7D7A5qaqHAXACB07rrrLpWWll7QQHHw4MHzv0lbHSxdulTR0dH+r1NSUjRu3LjzDjUAGjYCDICgSkpKuqDv16pVqwv6fgAaBpaQgCZo0aJFSkhICNi2fPlyORwO/9fTp0/XZZddpldeeUUdOnRQ8+bN9cADD6i6ulqzZs1SUlKS2rZtq6effjqgn1OXkE4uzSxdulTXX3+9XC6XevXqpfz8/IDX/PGPf9Sll16qmJgYpaSk6Ne//nXA/vnz5+uSSy5RbGysEhMTNXToUP++U5eQrrvuOn311VcaP368HA6HHA6Hjh49KrfbrT/84Q+nHW+zZs10+PBh/7Zdu3bpqquuUmxsrLp3765169addRy/q+6KigpNmjRJycnJiomJUefOnfXyyy/X2ld5ebkGDx6sAQMGsKwEnAMCDIAz+t///V+99957WrVqlRYvXqyXX35ZGRkZ+r//+z+tW7dOv/rVrzR16lRt2LDhrP089thj+sUvfqHCwkL98Ic/1B133KGqqipJUkFBgW677TYNGzZMW7du1fTp0/X4449r0aJFkqTNmzfroYce0owZM7R7926tWrVK11xzTa3vs3TpUrVv314zZszQwYMHdfDgQTVr1kzDhg3TwoULA9ouXLhQQ4cOVYsWLfzbJk6cqIcfflhbtmyRx+PRTTfdpL///e+1vtd31S1Jd955pxYvXqy5c+dq586devHFF9W8efPT+iotLdWNN96ompoa5ebmnhYuAdQiKPe0BtAgZWZmmptvvvm07QsXLjTx8fEB25YtW2ZO/ZHwxBNPGJfLZbxer39benq6SUlJMdXV1f5tXbp0MTNnzvR/LcksW7bMGGPMnj17jCTz0ksv+fdv377dSDI7d+40xhjzs5/9zNx4440BtUycONGkpqYaY4z54x//aNxud0Adp7r22mvN2LFj/V937NjRzJ49O6DNhg0bTGRkpDlw4IAxxpji4mITFRVl1q5dG1Bndna2/zWVlZWmffv25le/+pUxxpj333/fSDLffPPNOdW9e/duI8nk5ubWWvfJ/nbu3Gl69uxphgwZYioqKmptC+B0zMAAOKOUlJSAGYrExESlpqYqIiIiYFtJSclZ++nZs6f/+cUXXyxJ/tfs3LlTAwYMCGg/YMAAffHFF6qurtaNN96ojh076vvf/75GjBih119/XeXl5XU6jiuvvFKXXnqpXn31VUnSa6+9po4dO542k+PxePzPo6Ki1LdvX+3cubPWPr+r7sLCQkVGRuraa689a2033nijOnfurDfffFNOp7NOxwU0ZQQYoAmKiIiQMSZgW2Vl5WntTr26Rzpxfktt22pqas76fqe+5uR5Nt/1mpNatGihTz75RIsXL9bFF1+sadOmqVevXnU+T+See+7xL+8sXLhQd999d8A5P8EWFxd3Tu0yMjK0fv167dixI2S1AI0RAQZogi666CIdPnxYR48e9W8722eghFK3bt304YcfBmz78MMP9cMf/lCRkZGSTsyGpKWladasWfrss8+0d+9erVmzptb+nE6nqqurT9v+85//XF999ZXmzp2rHTt2KDMz87Q2H3/8sf95VVWVCgoK1K1bt3rV3aNHD9XU1HznicDZ2dnKzMzUwIEDCTFAHXAZNdDIlZWVnRZOUlNT5XK59Oijj+qhhx7Shg0bAk4+vZAefvhhXXHFFXryySd1++23Kz8/X88//7zmz58vSVqxYoW+/PJLXXPNNWrZsqVWrlypmpoadenSpdb+UlJStH79eg0bNkwxMTFq06aNJKlly5a69dZbNXHiRA0aNEjt27c/7bXz5s3TJZdcom7dumn27Nn65ptvNHLkyHrVnZKSoszMTI0cOVJz585Vr1699NVXX6mkpES33XZbQF/PPvusqqurdcMNN2jt2rXq2rVrvccTaCqYgQEaubVr1+ryyy8PeDz55JN67bXXtHLlSvXo0UOLFy/W9OnTw1Jf79699dZbb2nJkiXq3r27pk2bphkzZuiuu+6SJCUkJGjp0qW64YYb1K1bNy1YsECLFy/WpZdeWmt/M2bM0N69e/WDH/xAF110UcC+UaNGyefznTGUZGdnKzs7W7169dIHH3ygd955xx+A6lq3JL3wwgsaOnSoHnjgAXXt2lX33ntvwKzXqWbPnq3bbrtNN9xwgz7//PPvGDUADvPthXAAaKT+67/+S+PHj9eBAwc4YRawHEtIABq98vJyHTx4UNnZ2fr3f/93wgvQCLCEBKDRmzVrlrp27aqkpCRNmTIl3OUACAKWkAAAgHWYgQEAANYhwAAAAOsQYAAAgHUIMAAAwDoEGAAAYB0CDAAAsA4BBgAAWIcAAwAArPP/yCV0vLSkZNEAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "out[\"samples\"][\"passing\"].project(\"luminosityBlock\").plot()\n", + "out[\"samples\"][\"failing\"].project(\"luminosityBlock\").plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "9d4afac1-e41b-4ced-bb91-c6ab707e1937", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGxCAYAAACwbLZkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAApJ0lEQVR4nO3df3AU9eH/8VcCJgFJTjGQSAgGxZ9fNGgCaVBbGaPRKkqtlFFGIKNM6wBVoqOgQmqrRK0gFaJUVPQPHWItaj/I4NCUqJQoY1K0dgSLQBOwSUgZcxhLgrn7/kFzEMglu8nevvcuz8fMzZBlN/u+y957X/ve9/u9ccFgMCgAAABD4k0XAAAA9G+EEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGDTRdACsCgYC+/vprJScnKy4uznRxAACABcFgUIcOHdKIESMUHx++/SMqwsjXX3+tzMxM08UAAAC9UFdXp5EjR4b9/6gII8nJyZKOvpmUlBTDpQEAAFb4/X5lZmaGzuPhREUY6bg1k5KSQhgBACDK9NTFgg6sAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwynYY+eCDDzR58mSNGDFCcXFxevvtt3vcprKyUpdddpkSExM1ZswYvfLKK70oKgAAiEW2w0hLS4uys7NVVlZmaf09e/bohhtu0KRJk7R9+3bde++9uuuuu/Tee+/ZLiwAAIg9A+1ucP311+v666+3vP6qVas0evRoLV26VJJ04YUXasuWLXrmmWdUWFhod/cAACDGRLzPSFVVlQoKCjotKywsVFVVVaR3DQAAooDtlhG76uvrlZaW1mlZWlqa/H6//vvf/2rQoEEnbdPa2qrW1tbQz36/P9LFBAAAhnhyNE1paal8Pl/olZmZabpIAAAgQiIeRtLT09XQ0NBpWUNDg1JSUrpsFZGkhQsXqrm5OfSqq6uLdDEBAIAhEb9Nk5+frw0bNnRatmnTJuXn54fdJjExUYmJiZEuGgAA8ADbLSPffvuttm/fru3bt0s6OnR3+/btqq2tlXS0VWPGjBmh9X/xi19o9+7deuCBB7Rjxw4999xzeuONNzR//nxn3gEAAIhqtsPIJ598oksvvVSXXnqpJKm4uFiXXnqpFi9eLEn697//HQomkjR69Gi9++672rRpk7Kzs7V06VK9+OKLDOsFAACSpLhgMBg0XYie+P1++Xw+NTc3KyUlxXRxAACABVbP354cTQMAAPoPwggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAo3oVRsrKypSVlaWkpCTl5eVp27Zt3a6/fPlynX/++Ro0aJAyMzM1f/58HT58uFcFBgAAscV2GCkvL1dxcbFKSkpUU1Oj7OxsFRYWqrGxscv1X3/9dS1YsEAlJSX64osv9NJLL6m8vFwPPfRQnwsPAACin+0wsmzZMs2ePVtFRUW66KKLtGrVKg0ePFgvv/xyl+tv3bpVl19+uW6//XZlZWXp2muv1W233dZjawoAAOgfbIWRtrY2VVdXq6Cg4NgviI9XQUGBqqqqutxm4sSJqq6uDoWP3bt3a8OGDfrxj3/ch2IDAIBYMdDOyk1NTWpvb1daWlqn5WlpadqxY0eX29x+++1qamrSFVdcoWAwqO+//16/+MUvur1N09raqtbW1tDPfr/fTjFjSqP/sF77uFbT80ZpeEqS6eJI8maZAADRK+KjaSorK7VkyRI999xzqqmp0bp16/Tuu+/qN7/5TdhtSktL5fP5Qq/MzMxIF9OzGg+16ncV/1TjodaeV3aJF8sEAIhetsJIamqqBgwYoIaGhk7LGxoalJ6e3uU2ixYt0h13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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_efficiency(out[\"samples\"][\"passing\"].project(\"el_eta\"), out[\"samples\"][\"failing\"].project(\"el_eta\"))\n", + "plt.ylim(0, 1.1)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "5c53ddf9-ade1-49fa-9a46-9c18aed1e2d4", + "metadata": {}, + "outputs": [], + "source": [ + "egamma_tnp.config.reset_all()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "9436884a-c929-4576-8d2a-3993368beacb", + "metadata": {}, + "outputs": [], + "source": [ + "fileset = {\n", + " \"Run2023D\": {\"files\": {\"../tnptuples/data_EGamma_Run2023D.root\": \"tnpEleTrig/fitter_tree\"}},\n", + " \"DY_LO_2023postBPIX\": {\"files\": {\"../tnptuples/mc_DY_LO_2023postBPIX.root\": \"tnpEleTrig/fitter_tree\"}},\n", + "}\n", + "\n", + "fileset_available, fileset_updates = preprocess(fileset, skip_bad_files=True, step_size=500_000)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "dddee720-b100-49ee-8056-19d448d814ef", + "metadata": {}, + "outputs": [], + "source": [ + "tnp = ElectronTagNProbeFromNTuples(\n", + " fileset_available,\n", + " \"passHltEle30WPTightGsf\",\n", + " cutbased_id=\"passingCutBasedTight122XV1\",\n", + " use_sc_eta=True,\n", + " tags_pt_cut=30,\n", + " probes_pt_cut=35,\n", + ")\n", + "\n", + "egamma_tnp.config.set(\"truePU_bins\", np.arange(0, 110, 10).tolist())\n", + "egamma_tnp.config.set(\"tag_sc_eta_bins\", egamma_tnp.config.get(\"eta_bins\"))\n", + "egamma_tnp.config.set(\"tag_Ele_eta_bins\", egamma_tnp.config.get(\"eta_bins\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "9b6de1a7-3500-4ff8-abb5-98b05286dd9d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'from-uproot-68fddc718c511c243bdada38ff9e5a2c': frozenset({'el_eta',\n", + " 'el_phi',\n", + " 'el_pt',\n", + " 'el_q',\n", + " 'pair_mass',\n", + " 'passHltEle30WPTightGsf',\n", + " 'passingCutBasedTight122XV1',\n", + " 'tag_Ele_eta',\n", + " 'tag_Ele_pt',\n", + " 'tag_Ele_q',\n", + " 'tag_sc_eta',\n", + " 'truePU'}),\n", + " 'from-uproot-7bad9d0813406ed32c6dd9b2eecd7ea3': frozenset({'el_eta',\n", + " 'el_phi',\n", + " 'el_pt',\n", + " 'el_q',\n", + " 'pair_mass',\n", + " 'passHltEle30WPTightGsf',\n", + " 'passingCutBasedTight122XV1',\n", + " 'tag_Ele_eta',\n", + " 'tag_Ele_pt',\n", + " 'tag_Ele_q',\n", + " 'tag_sc_eta',\n", + " 'truePU'})}" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dak.necessary_columns(tnp.get_tnp_arrays(vars=[\"el_eta\", \"el_phi\", \"truePU\", \"tag_Ele_eta\"]))" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "e50a3def-2eec-40a7-aae4-d209cac4f600", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'from-uproot-68fddc718c511c243bdada38ff9e5a2c': frozenset({'el_eta',\n", + " 'el_phi',\n", + " 'el_pt',\n", + " 'el_q',\n", + " 'pair_mass',\n", + " 'passHltEle30WPTightGsf',\n", + " 'passingCutBasedTight122XV1',\n", + " 'tag_Ele_eta',\n", + " 'tag_Ele_pt',\n", + " 'tag_Ele_q',\n", + " 'tag_sc_eta',\n", + " 'truePU'}),\n", + " 'from-uproot-7bad9d0813406ed32c6dd9b2eecd7ea3': frozenset({'el_eta',\n", + " 'el_phi',\n", + " 'el_pt',\n", + " 'el_q',\n", + " 'pair_mass',\n", + " 'passHltEle30WPTightGsf',\n", + " 'passingCutBasedTight122XV1',\n", + " 'tag_Ele_eta',\n", + " 'tag_Ele_pt',\n", + " 'tag_Ele_q',\n", + " 'tag_sc_eta',\n", + " 'truePU'})}" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dak.necessary_columns(tnp.get_nd_tnp_histograms(vars=[\"el_eta\", \"el_phi\", \"truePU\", \"tag_Ele_eta\"]))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "7e70c931-81f7-4816-861b-73a6b7a84acf", + "metadata": {}, + "outputs": [], + "source": [ + "out = tnp.get_tnp_arrays(vars=[\"el_eta\", \"el_phi\", \"truePU\", \"tag_Ele_eta\", \"el_sc_eta\", \"tag_sc_eta\"], compute=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "27733275-8808-4ef2-8144-2068df32cdca", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
[{el_eta: 0.916, el_phi: 0.492, truePU: 0, tag_Ele_eta: 0.863, ...},\n",
+       " {el_eta: 0.863, el_phi: -2.9, truePU: 0, tag_Ele_eta: 0.916, ...},\n",
+       " {el_eta: -1.85, el_phi: -0.884, truePU: 0, tag_Ele_eta: -2.1, ...},\n",
+       " {el_eta: -2.1, el_phi: 2.37, truePU: 0, tag_Ele_eta: -1.85, ...},\n",
+       " {el_eta: 1.12, el_phi: -1.33, truePU: 0, tag_Ele_eta: 0.183, ...},\n",
+       " {el_eta: 0.183, el_phi: 2.94, truePU: 0, tag_Ele_eta: 1.12, ...},\n",
+       " {el_eta: -1.67, el_phi: 0.964, truePU: 0, tag_Ele_eta: -1.77, ...},\n",
+       " {el_eta: -1.77, el_phi: -2.08, truePU: 0, tag_Ele_eta: -1.67, ...},\n",
+       " {el_eta: -0.329, el_phi: 3.03, truePU: 0, tag_Ele_eta: -1.59, ...},\n",
+       " {el_eta: -1.59, el_phi: -3.11, truePU: 0, tag_Ele_eta: -0.329, ...},\n",
+       " ...,\n",
+       " {el_eta: -2.19, el_phi: 0.727, truePU: 0, tag_Ele_eta: -1.07, ...},\n",
+       " {el_eta: 0.0429, el_phi: -0.809, truePU: 0, tag_Ele_eta: -0.584, ...},\n",
+       " {el_eta: -0.584, el_phi: 2.32, truePU: 0, tag_Ele_eta: 0.0429, ...},\n",
+       " {el_eta: 0.537, el_phi: -0.84, truePU: 0, tag_Ele_eta: 0.69, ...},\n",
+       " {el_eta: 0.69, el_phi: 0.894, truePU: 0, tag_Ele_eta: 0.537, ...},\n",
+       " {el_eta: 0.142, el_phi: 2.45, truePU: 0, tag_Ele_eta: 0.89, ...},\n",
+       " {el_eta: 0.89, el_phi: -1.08, truePU: 0, tag_Ele_eta: 0.142, ...},\n",
+       " {el_eta: -1.59, el_phi: -0.478, truePU: 0, tag_Ele_eta: -1.28, ...},\n",
+       " {el_eta: -1.28, el_phi: 2.52, truePU: 0, tag_Ele_eta: -1.59, ...}]\n",
+       "-----------------------------------------------------------------------\n",
+       "type: 3194565 * {\n",
+       "    el_eta: float32[parameters={"__doc__": "el_eta/F"}],\n",
+       "    el_phi: float32[parameters={"__doc__": "el_phi/F"}],\n",
+       "    truePU: int32[parameters={"__doc__": "truePU/I"}],\n",
+       "    tag_Ele_eta: float32[parameters={"__doc__": "tag_Ele_eta/F"}],\n",
+       "    el_sc_eta: float32[parameters={"__doc__": "el_sc_eta/F"}],\n",
+       "    tag_sc_eta: float32[parameters={"__doc__": "tag_sc_eta/F"}]\n",
+       "}
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out[\"Run2023D\"][\"passing\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "b37fdfa3-6b96-43f2-a0dd-2c8b2fafd1cb", + "metadata": {}, + "outputs": [], + "source": [ + "out = tnp.get_1d_pt_eta_phi_tnp_histograms(\n", + " cut_and_count=True,\n", + " vars=[\"el_pt\", \"el_sc_eta\", \"el_phi\"],\n", + " eta_regions_pt={\n", + " \"barrel\": [0.0, 1.4442],\n", + " \"endcap_loweta\": [1.566, 2.0],\n", + " \"endcap_higheta\": [2.0, 2.5],\n", + " },\n", + " plateau_cut=35,\n", + " compute=True,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "38c1c160-0ed0-4a82-a854-89b793a60138", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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8T5XXHGF9u3bJ5fL1XjdRx99pPPOO48gAgBACBysrFH+mvfksqR6l9Xkctaa93SossZofX7PM5KXl6elS5fq97//vT788EPdc889qqmpUW5uriRp0qRJmj17duPy99xzjz777DPde++9+uijj7Ru3To9/vjjmjp1auBeBQAAaNHR6q+0eOM+r8sse+dgiKppmd99RsaPH69jx45pzpw5Ki8v15AhQ7Rhw4bGTq2lpaWKivo24zidTr3xxhuaMWOGBg8erOTkZN17772aNWtW4F4FAABo0fJtpVq987DH212WVHzgeAgras7veUZMsDtOGQAANHW0+iv98o29+vOuw3K1sMWPckgTL++vuT8aFPDnDso8IwAAILz0jovV1NEDvS6Te0VqiKppGWEEAIAIl5pwjubdPFhRDik6ytHkct7Ng5VieHhv0OcZAQAA5o3LcGpYSg+tPGOekfEZTuNBRCKMAADQYaQknKNZ119kuoxmOEwDAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCqVWFk8eLFSklJUWxsrDIzM7V9+3Zb91uxYoUcDofGjh3bmqcFAAARyO8wsnLlSuXl5amgoEC7du1SWlqacnJydPToUa/3O3TokO6//36NHDmy1cUCAIDI43cY+dWvfqW77rpLubm5uuSSS7RkyRKdffbZ+t3vfufxPvX19ZowYYLmzp2r888/3+dz1NbWqrq6uskfAACITH6Fkbq6Ou3cuVPZ2dnfPkBUlLKzs1VcXOzxfj//+c/Vu3dv3XHHHbaep7CwUPHx8Y1/TqfTnzIBAEAY8SuMVFZWqr6+XomJiU2uT0xMVHl5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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_efficiency(out[\"Run2023D\"][\"eta\"][\"entire\"][\"passing\"], out[\"Run2023D\"][\"eta\"][\"entire\"][\"failing\"])\n", + "plot_efficiency(out[\"DY_LO_2023postBPIX\"][\"eta\"][\"entire\"][\"passing\"], out[\"DY_LO_2023postBPIX\"][\"eta\"][\"entire\"][\"failing\"])\n", + "plt.ylim(0, 1.1)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "8d4054ea-2c63-440f-b82c-02289e818b12", + "metadata": {}, + "outputs": [], + "source": [ + "out = tnp.get_nd_tnp_histograms(vars=[\"el_eta\", \"el_phi\", \"truePU\", \"tag_sc_eta\"], compute=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "35c5bd78-8113-474f-b4d1-f94fd643fddd", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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/u3fTHx8vAkODjaTJ082+/fvtz1SQJN0wdv69eu9+3z55ZfmH/7hH8zVV19tQkNDzV/91V+Zqqoqe0N3E/8/Rljn9vHaa6+ZsWPHGqfTaUaNGmXWrVvn87jH4zGPPvqoiYqKMk6n03z/+983x44dszRtYKqtrTULFiww8fHxJiQkxFx77bXm4YcfNo2Njd59WOe2+cMf/nDBv5OzsrKMMZe3rv/93/9t5s+fb/r162fCw8PNnXfeac6ePdvus/KtvQAAwKoe+Z4RAADQdRAjAADAKmIEAABYRYwAAACriBEAAGAVMQIAAKwiRgAAgFXECAAAsIoYAQAAVhEjAC7J4XBc9Pazn/3M9ogAAliQ7QEAdH1VVVXeP7/yyitaunSpzzfa9uvXz/tnY4xaWloUFMRfLwAuD2dGAFxSdHS09xYRESGHw+G9//777yssLExvvPGGkpOT5XQ6tXfvXt1xxx3KyMjw+TkLFy5Uamqq977H45HL5VJCQoL69u2rxMRE/e53v/M+XlRUJIfDoddff13jx49XSEiIpk6dqvLycu8+P/vZzzRhwgSf51m9erWGDRvWASsBoCMQIwDaxYMPPqgVK1bovffe0/jx4y/rGJfLpQ0bNmjt2rU6evSo7r//ft1+++3avXu3z34PPPCAVq5cqUOHDumaa67R3Llz1dzc3BEvA4AFnEcF0C6WLVumm2+++bL3b2xs1JNPPqm33npLKSkpkqRrr71We/fu1QsvvKAZM2Z4933ssce8P/s//uM/NGTIEG3evFl/8zd/074vAoAVxAiAdjFx4kS/9j9+/LgaGhrOC5impiYlJSX5bPsmViRpwIABGjlypN577722DwugSyFGALSLq666yud+r169ZIzx2fZ/L63U1dVJkl5//XUNHjzYZz+n03nZz3up5wHQ9REjADrENddc4/NGU0kqKytTnz59JEljxoyR0+lURUWFzyWZC9m/f7/i4+MlSV988YU++OADjR492vs8brdbxhg5HA7v8wAIHMQIgA7xve99T0899ZQ2bNiglJQUvfzyyyovL/deggkLC9PixYt1//33y+Px6MYbb1RNTY3efvtthYeHKysry/uzli1bpoEDByoqKkoPP/ywBg0a5P2kTmpqqj777DP94he/0I9//GPt2LFDb7zxhsLDw228bABtwKdpAHSI9PR0Pfroo1qyZIkmTZqks2fPKjMz02efJ554Qo8++qhcLpdGjx6tWbNm6fXXX1dCQoLPfitWrNCCBQuUnJwst9ut1157TcHBwZKk0aNH65e//KXWrFmjxMREHTx4UIsXL+601wngyjnM/7/YCgBdRFFRkWbOnKkvvvhC/fv3tz0OgA7CmREAAGAVMQIAAKziMg0AALCKMyMAAMAqYgQAAFhFjAAAAKuIEQAAYBUxAgAArCJGAACAVcQIAACwihgBAABWESMAAMCq/wGbJs2l/HV+egAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "out[\"Run2023D\"][\"passing\"].project(\"truePU\").plot()\n", + "out[\"DY_LO_2023postBPIX\"][\"passing\"].project(\"truePU\").plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "79c4e917-2940-4173-af5a-00bca59aaaa9", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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TfI5CxYs0C233KLOnTure/fuSk5OVmFhoaeb5VUIQmixTz75RPX19frlL3+po0ePatmyZcrKytLs2bM93TSf43A4NGHCBD355JOebopPefPNN5Wenq4XX3xRBw8e1NChQ5WUlKSSkhJPN82nVFZWaujQoVqzZo2nm+Kzdu/erdTUVP3tb39TTk6OampqNHr0aFVWVnq6aV6D2+fhFosWLdLatWv1j3/8w9NN8Unr16/XtGnTVFpa6umm+IT4+HjdcsstWr16taSLM87HxMTo6aef1vPPP+/h1vkmm82mt99+W8nJyZ5uik/76quv1L17d+3evVt33nmnp5vjFegRgluUlZUpIiLC080AmuVwOFRQUKDExERzm5+fnxITE5WXl+fBlgHXr6ysTJL4fdwCBCFctxMnTmjVqlV6/PHHPd0UoFlff/216urqrphdPjIyUkVFRR5qFXD96uvrNW3aNN12220aPHiwp5vjNQhCMD3//POy2WxNPj755BOn53zxxRcaM2aMJkyYoClTpnio5d7lWt5nAGhOamqqjhw5oo0bN3q6KV7F59cag+v+8z//U4888kiTNd/5znfMf585c0ajRo3SiBEjtG7dulZune9o6fsM9+rWrZv8/f1VXFzstL24uFhRUVEeahVwfdLS0rRlyxbt2bNHN954o6eb41UIQjDdcMMNuuGGG1yq/eKLLzRq1CjFxcXp9ddfl58fnYuuasn7DPez2+2Ki4tTbm6uOXC3vr5eubm5SktL82zjgBYyDENPP/203n77be3atUuxsbGebpLXIQihxb744guNHDlSvXr10uLFi/XVV1+Z+/iL2r1OnTqls2fP6tSpU6qrq9Phw4clSX369FGnTp082zgvlp6ersmTJ2v48OG69dZbtXz5clVWVurRRx/1dNN8SkVFhU6cOGF+ffLkSR0+fFgRERHq2bOnB1vmO1JTU5Wdna0//vGP6ty5sznOLSwsTMHBwR5unXfg9nm02Pr16xv9wODbyb0eeeQR/fa3v71i+3vvvaeRI0e2fYN8yOrVq7Vo0SIVFRVp2LBhWrlypeLj4z3dLJ+ya9cujRo16ortkydP1vr169u+QT7IZrNddfvrr7/e7CV4XEQQAgAAlsXADgAAYFkEIQAAYFkEIQAAYFkEIQAAYFkEIQAAYFkEIQAAYFkEIQAAYFkEIQAAYFkEIQAAYFkEIQBtwmazNfmYO3eup5vYKkaOHKlp06Z5uhkAGsGiqwDaxJdffmn++80331RGRoYKCwvNbSwiC8AT6BEC0CaioqLMR1hYmGw2m/l1ZWWlJk2apMjISHXq1Em33HKLduzY4fT8L7/8UmPHjlVwcLBiY2OVnZ2t3r17a/ny5c2e2zAMzZ07Vz179lRgYKCio6P185//3NxfXV2tmTNnKiYmRoGBgerTp49+85vfuPS6jhw5onvuuUedOnVSZGSkfvrTn+rrr7+WdHHR3N27d2vFihVmz9fnn3+uuro6paSkKDY2VsHBwerXr59WrFjh+psJwG3oEQLgcRUVFbr33nv18ssvKzAwUG+88YbGjRunwsJC9ezZU5L08MMP6+uvv9auXbsUEBCg9PR0lZSUuHT83//+91q2bJk2btyoQYMGqaioSB9++KG5/+GHH1ZeXp5WrlypoUOH6uTJk2aYaUppaal+8IMf6Gc/+5mWLVum8+fPa+bMmbr//vu1c+dOrVixQp9++qkGDx6szMxMSdINN9yg+vp63Xjjjdq0aZO6du2qvXv3aurUqerRo4fuv//+a3gHAVwzAwDa2Ouvv26EhYU1WTNo0CBj1apVhmEYxvHjxw1Jxv79+839n332mSHJWLZsWbPnW7JkifFv//ZvhsPhuGJfYWGhIcnIyclp0WswDMN46aWXjNGjRzttO336tCHJKCwsNAzDMO666y7jmWeeafZYqampxvjx41vcBgDXh0tjADyuoqJC06dP14ABAxQeHq5OnTrp+PHjOnXqlCSpsLBQHTp00M0332w+p0+fPurSpYtLx58wYYLOnz+v73znO5oyZYrefvtt1dbWSpIOHz4sf39/3XXXXS1u94cffqj33ntPnTp1Mh/9+/eXJP39739v8rlr1qxRXFycbrjhBnXq1Enr1q0zXy+AtsOlMQAeN336dOXk5Gjx4sXq06ePgoOD9ZOf/EQOh8Mtx4+JiVFhYaF27NihnJwcPfXUU1q0aJF2796t4ODgaz5uRUWFxo0bp1dfffWKfT169Gj0eRs3btT06dO1ZMkSJSQkqHPnzlq0aJHy8/OvuS0Arg1BCIDHffDBB3rkkUf0ox/9SNLFgPH555+b+/v166fa2lodOnRIcXFxkqQTJ07o3LlzLp8jODhY48aN07hx45Samqr+/fvr448/1pAhQ1RfX6/du3crMTGxRe2++eab9fvf/169e/dWhw5X/3Vqt9tVV1d3xesdMWKEnnrqKXNbcz1IAFoHl8YAeFzfvn31hz/8QYcPH9aHH36ohx56SPX19eb+/v37KzExUVOnTtW+fft06NAhTZ06VcHBwbLZbM0ef/369frNb36jI0eO6B//+If+53/+R8HBwerVq5d69+6tyZMn67HHHtPmzZt18uRJ7dq1S2+99Vazx01NTdXZs2f14IMPav/+/fr73/+ud955R48++qgZfnr37q38/Hx9/vnn+vrrr1VfX6++ffvqwIEDeuedd/Tpp5/qhRde0P79+6/9DQRwzQhCADxu6dKl6tKli0aMGKFx48YpKSnJaTyQJL3xxhuKjIzUnXfeqR/96EeaMmWKOnfurKCgoGaPHx4erl/96le67bbbdNNNN2nHjh3685//rK5du0qS1q5dq5/85Cd66qmn1L9/f02ZMkWVlZXNHjc6OloffPCB6urqNHr0aA0ZMkTTpk1TeHi4/Pwu/nqdPn26/P39NXDgQN1www06deqUHn/8cf34xz/WAw88oPj4eP3f//2fU+8QgLZjMwzD8HQjAKCl/vd//1cxMTHasWOH7r77bk83B4CXIggB8Ao7d+5URUWFhgwZoi+//FIzZszQF198oU8//VQBAQGebh4AL8WlMQBeoaamRrNnz9agQYP0ox/9SDfccIM5ueKGDRucbmG/9DFo0KBrPucTTzzR6HGfeOIJN746AJ5CjxAAr/fNN9+ouLj4qvsCAgLUq1evazpuSUmJysvLr7ovNDRU3bt3v6bjAmg/CEIAAMCyuDQGAAAsiyAEAAAsiyAEAAAsiyAEAAAsiyAEAAAsiyAEAAAsiyAEAAAs6/8BIggyTvtUz5EAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "out[\"Run2023D\"][\"passing\"].project(\"tag_sc_eta\").plot()\n", + "out[\"DY_LO_2023postBPIX\"][\"passing\"].project(\"tag_sc_eta\").plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "2d667976-1d43-4ce0-af8e-8099d38d7415", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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hZHS0lJVV1crNja2wf2xsbEqKipqdJuPP/5Yv//97/XKK69Yfp2MjAxFRUXV3ZxOp51qAgCANqRFZ9OcOHFCd999t1555RVFR0db3m7+/PkqKyuruxUWFrZgLQEAgEkd7BSOjo5WaGioiouLG9xfXFysuLi488rv379fBw8e1MSJE+vuc7lcNS/coYP27dungQMHnrddeHi4wsPD7VQNAAC0UbZaRsLCwjRq1ChlZWXV3edyuZSVlaXk5OTzyl966aX64osvlJubW3e76aabNH78eOXm5tL9AgAA7LWMSFJ6erqmTZumhIQEJSYmatmyZaqoqFBaWpokaerUqerTp48yMjIUERGhIUOGNNi+W7duknTe/QAAoH2yHUYmT56skpISLVy4UEVFRRo+fLg2btxYN6i1oKBAISEs7AoAAKxxuN1ut+lK+FJeXq6oqCiVlZUpMjLSdHUAAIAFVo/fNGEAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjGpSGFmxYoXi4+MVERGhpKQkbd++3WPZV155RePGjVP37t3VvXt3paSkeC0PAADaF9thZM2aNUpPT9eiRYu0a9cuDRs2TKmpqTp69Gij5bOzs3XXXXdp06ZNysnJkdPp1PXXX68jR440u/IAAKDtc7jdbredDZKSkjR69GgtX75ckuRyueR0OjV79mzNmzfP5/bV1dXq3r27li9frqlTp1p6zfLyckVFRamsrEyRkZF2qgsAAAyxevy21TJSVVWlnTt3KiUl5dwThIQoJSVFOTk5lp7j22+/1enTp9WjRw+PZSorK1VeXt7gBgAAgpOtMFJaWqrq6mrFxsY2uD82NlZFRUWWnmPu3Lnq3bt3g0DzfRkZGYqKiqq7OZ1OO9UEAABtSEBn0zzxxBNavXq13nnnHUVERHgsN3/+fJWVldXdCgsLA1hLAAAQSB3sFI6OjlZoaKiKi4sb3F9cXKy4uDiv2z799NN64okn9Ne//lVDhw71WjY8PFzh4eF2qgYAANooWy0jYWFhGjVqlLKysuruc7lcysrKUnJyssftnnzySf3617/Wxo0blZCQ0PTaAgCAoGOrZUSS0tPTNW3aNCUkJCgxMVHLli1TRUWF0tLSJElTp05Vnz59lJGRIUlasmSJFi5cqDfffFPx8fF1Y0u6dOmiLl26+PGtAACAtsh2GJk8ebJKSkq0cOFCFRUVafjw4dq4cWPdoNaCggKFhJxrcHnxxRdVVVWl22+/vcHzLFq0SI899ljzag8AANo82+uMmMA6IwAAtD0tss4IAACAvxFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABjVpDCyYsUKxcfHKyIiQklJSdq+fbvX8m+99ZYuvfRSRURE6IorrtCGDRuaVFkAABB8bIeRNWvWKD09XYsWLdKuXbs0bNgwpaam6ujRo42W37Ztm+666y7dc8892r17t2655Rbdcsst+vLLL5tdeQAA0PY53G63284GSUlJGj16tJYvXy5Jcrlccjqdmj17tubNm3de+cmTJ6uiokLvv/9+3X1XXnmlhg8frszMTEuvWV5erqioKJWVlSkyMtJOdQEAgCFWj9+2Wkaqqqq0c+dOpaSknHuCkBClpKQoJyen0W1ycnIalJek1NRUj+UBAED70sFO4dLSUlVXVys2NrbB/bGxsdq7d2+j2xQVFTVavqioyOPrVFZWqrKysu7/ZWVlkmoSFgAAaBtqj9u+OmFshZFAycjI0OOPP37e/U6n00BtAABAc5w4cUJRUVEeH7cVRqKjoxUaGqri4uIG9xcXFysuLq7RbeLi4myVl6T58+crPT297v8ul0vHjx9Xz5495XA47FQ56JSXl8vpdKqwsJDxMy2Mzzow+JwDg885MPicG3K73Tpx4oR69+7ttZytMBIWFqZRo0YpKytLt9xyi6SaoJCVlaVZs2Y1uk1ycrKysrL0wAMP1N334YcfKjk52ePrhIeHKzw8vMF93bp1s1PVoBcZGckfeoDwWQcGn3Ng8DkHBp/zOd5aRGrZ7qZJT0/XtGnTlJCQoMTERC1btkwVFRVKS0uTJE2dOlV9+vRRRkaGJOn+++/X1VdfraVLl+rGG2/U6tWrtWPHDr388st2XxoAAAQh22Fk8uTJKikp0cKFC1VUVKThw4dr48aNdYNUCwoKFBJybpLOmDFj9Oabb+rRRx/VI488oosvvljvvvuuhgwZ4r93AQAA2qwmDWCdNWuWx26Z7Ozs8+6bNGmSJk2a1JSXwveEh4dr0aJF53Vjwf/4rAODzzkw+JwDg8+5aWwvegYAAOBPXCgPAAAYRRgBAABGEUYAAIBRhJE27ODBg7rnnnvUv39/dezYUQMHDtSiRYtUVVVlumpB57e//a3GjBmjTp06seaNH61YsULx8fGKiIhQUlKStm/fbrpKQWfLli2aOHGievfuLYfDoXfffdd0lYJSRkaGRo8era5duyomJka33HKL9u3bZ7pabQZhpA3bu3evXC6XXnrpJf3tb3/Ts88+q8zMTD3yyCOmqxZ0qqqqNGnSJP3sZz8zXZWgsWbNGqWnp2vRokXatWuXhg0bptTUVB09etR01YJKRUWFhg0bphUrVpiuSlDbvHmzZs6cqU8//VQffvihTp8+reuvv14VFRWmq9YmMJsmyDz11FN68cUXdeDAAdNVCUqvv/66HnjgAX3zzTemq9LmJSUlafTo0Vq+fLmkmtWcnU6nZs+erXnz5hmuXXByOBx655136lbQRsspKSlRTEyMNm/erKuuusp0dVo9WkaCTFlZmXr06GG6GoBXVVVV2rlzp1JSUuruCwkJUUpKinJycgzWDPCP2qvNsz+2hjASRPLy8vT888/rpz/9qemqAF6Vlpaqurq6buXmWrGxsSoqKjJUK8A/XC6XHnjgAY0dO5bVxi0ijLRC8+bNk8Ph8Hrbu3dvg22OHDmiCRMmaNKkSZoxY4ahmrctTfmcAcCXmTNn6ssvv9Tq1atNV6XNaNJy8GhZc+bM0fTp072WGTBgQN2/v/76a40fP15jxozhAoQ22P2c4T/R0dEKDQ1VcXFxg/uLi4sVFxdnqFZA882aNUvvv/++tmzZor59+5quTptBGGmFevXqpV69elkqe+TIEY0fP16jRo3SypUrG1ykEN7Z+ZzhX2FhYRo1apSysrLqBlO6XC5lZWV5vO4V0Jq53W7Nnj1b77zzjrKzs9W/f3/TVWpTCCNt2JEjR3TNNdfooosu0tNPP62SkpK6xzi79K+CggIdP35cBQUFqq6uVm5uriRp0KBB6tKli9nKtVHp6emaNm2aEhISlJiYqGXLlqmiokJpaWmmqxZUTp48qby8vLr/5+fnKzc3Vz169FC/fv0M1iy4zJw5U2+++abee+89de3atW7sU1RUlDp27Gi4dm2AG23WypUr3ZIavcG/pk2b1ujnvGnTJtNVa9Oef/55d79+/dxhYWHuxMRE96effmq6SkFn06ZNjf7tTps2zXTVgoqnffHKlStNV61NYJ0RAABgFAMMAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgD4ncPh0Lvvvmu6GgDaCMIIANumT58uh8Nx3m3ChAkt8lq1F9MDEJy4UB6AJpkwYYJWrlzZ4L7w8HBDtQHQltEyAqBJwsPDFRcX1+DWvXt3289TWFioO+64Q926dVOPHj1088036+DBg5Kkxx57TH/4wx/03nvv1bW+ZGdnS5Lmzp2rwYMHq1OnThowYIAWLFig06dP+/EdAggUWkYAGHP69GmlpqYqOTlZW7duVYcOHfSb3/xGEyZM0J49e/TQQw/p73//u8rLy+taYXr06CFJ6tq1q15//XX17t1bX3zxhWbMmKGuXbvq4YcfNvmWADQBLSMAmuT9999Xly5dGtwWL15s6znWrFkjl8ulV199VVdccYUuu+wyrVy5UgUFBcrOzlaXLl3UsWPHBq0wYWFhkqRHH31UY8aMUXx8vCZOnKiHHnpIa9eubYm3CqCF0TICoEnGjx+vF198scF9ta0WVn3++efKy8tT165dG9x/6tQp7d+/3+u2a9as0XPPPaf9+/fr5MmTOnPmjCIjI229PoDWgTACoEk6d+6sQYMGNes5Tp48qVGjRmnVqlXnPdarVy+P2+Xk5GjKlCl6/PHHlZqaqqioKK1evVpLly5tVn0AmEEYAWDMyJEjtWbNGsXExHhs1QgLC1N1dXWD+7Zt26aLLrpIv/zlL+vuO3ToUIvWFUDLYcwIgCaprKxUUVFRg1tpaamt55gyZYqio6N18803a+vWrcrPz1d2drZ+8Ytf6PDhw5Kk+Ph47dmzR/v27VNpaalOnz6tiy++WAUFBVq9erX279+v5557Tu+8805LvE0AAUAYAdAkGzdu1IUXXtjg9oMf/MDWc3Tq1ElbtmxRv379dOutt+qyyy7TPffco1OnTtW1lMyYMUOXXHKJEhIS1KtXL33yySe66aab9OCDD2rWrFkaPny4tm3bpgULFrTE2wQQAA632+02XQkAANB+0TICAACMIowAaDGLFy8+by2S2tsNN9xgunoAWgm6aQC0mOPHj+v48eONPtaxY0f16dMnwDUC0BoRRgAAgFF00wAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACM+v+AJ6FesNft+gAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_efficiency(out[\"Run2023D\"][\"passing\"].project(\"el_eta\"), out[\"Run2023D\"][\"failing\"].project(\"el_eta\"))\n", + "plot_efficiency(out[\"DY_LO_2023postBPIX\"][\"passing\"].project(\"el_eta\"), out[\"DY_LO_2023postBPIX\"][\"failing\"].project(\"el_eta\"))\n", + "plt.ylim(0, 1.1)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "8d34ff7b-8102-4abc-8480-5a97a750e997", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGxCAYAAACwbLZkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAleUlEQVR4nO3de3RU9b338c8EzIRbAhhIuAwGwQsuSqCExKAepUYjy4VlHaU81iURrS0UeMSoJfFCtC4JXtB0SSSKCl1HOWBVwKUUpanosUQpgRwvFTwgNFyaQEQSjDXRzDx/8DielEyYmWTPdya8X2vtBdmzf3t/s7Pz25/923smLp/P5xMAAICROOsCAADA6Y0wAgAATBFGAACAKcIIAAAwRRgBAACmCCMAAMAUYQQAAJgijAAAAFPdrQsIhtfr1aFDh9SnTx+5XC7rcgAAQBB8Pp+OHz+uwYMHKy4u8PhHTISRQ4cOyePxWJcBAADCsH//fg0dOjTg6zERRvr06SPpxDeTmJhoXA0AAAhGQ0ODPB6P/zweSEyEke9vzSQmJhJGAACIMad6xIIHWAEAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMBVyGHn33Xc1ZcoUDR48WC6XS+vWrTtlm82bN+vHP/6x3G63Ro4cqZUrV4ZRKgAA6IpCDiONjY1KT09XaWlpUMvv3btXV199tSZNmqSqqirNnz9fv/jFL/Tmm2+GXCwAAOh6uofaYPLkyZo8eXLQy5eVlWn48OFasmSJJGnUqFF677339MQTTyg3NzfUzQMAgC7G8WdGKioqlJOT02pebm6uKioqnN40AACIASGPjISqpqZGKSkprealpKSooaFB//znP9WjR4+T2jQ1Nampqcn/dUNDg9NlAgAAI1H5bpri4mIlJSX5J4/HY10SAABwiONhJDU1VbW1ta3m1dbWKjExsc1REUkqLCxUfX29f9q/f7/TZQIAACOO36bJzs7Whg0bWs3btGmTsrOzA7Zxu91yu91OlwYAAKJAyCMjX331laqqqlRVVSXpxFt3q6qqVF1dLenEqMaMGTP8y8+aNUuff/65fvOb32jnzp166qmn9NJLL+n222/vnO8AAADEtJDDyLZt2zRu3DiNGzdOkpSfn69x48Zp4cKFkqR//OMf/mAiScOHD9cbb7yhTZs2KT09XUuWLNGzzz7L23oBAIAkyeXz+XzWRZxKQ0ODkpKSVF9fr8TEROtyAABAEII9f0flu2kAAMDpgzACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU92tC0CEfLFH2vEf0rFqqe8wadyN0pkjrKsCgOhDfxlxhJFo4eTBv+MF6bV5klySfCf+/cvvpGuWSuNu6JxtAOGg0++aYvnnSn9pwuXz+XzWRZxKQ0ODkpKSVF9fr8TEROtyOl9bB798nXPwf7FHWpoh+bwnv+aKk+Zui/5OIpY7NgTm5HEPO5H4uTrVJ3SF/jLKBHv+JoxY6+jBf7zmxBTI1mek//7PwOtPv17K/GXg9n1ST0xWOGGdmpNhjU4foYjEz7UjfUK09Jen0QUWYSRaOH3wf/QHqWJpx+sM5NICaVKhc+tvDyesU3MyrIW77lMd81JkOv3TqMOPGOuTeUf7hLeLpXcWB369o4LpL52+wIqy454wEi2cPvgvnCuNmRb49Wju9K07tljnZFjryLqdPualU3f6jKg5I9b7M1dc2207a/1Oh6lTicLjnjASLaxPuNF88EfDVYoUdVcSfk4eO052yqdad0fXL7V/3EdqRC1ajxsndfWR3mi+bW7d14eJMBIrInKP9UXptbnq9LQczb+4UnAjI1F4JeHnZFg76yLp739xZt3BhEAnj52uctycjs8CRUWf8KJ8r82Vz/fDz9bl8sllfYEVDaPgYSCMdDZH33rrUFj435y4lRLrozpReiXhF6sjI8F2ah057p3s9J2+eg5GND4LFPT6HezPIrDvX9q2X8teeUs/675ZQ3VEBzRAL313mX597ZWaluFpv7GTv7PWo0ZhIox0pghcBe3f/bEO/PlpxR8/oOY+QzX0J7+SZ+ToTll3h1h2+lLHOrZouMpyUrQ+MxLqdqItJHfl5woi9HN1tD9zMOzsrWvU5Us2y9vGWTHOJf35jsuUltwr/A10ZP/HaH9GGOksEUriBa98KJfLJZ/P5//34WvHnDqJB2lvXaNe2rZfB778p4b266GfZXg0PJhfKuvhcCn8E1a0PJPiJCevQiMwYhf2cdmeaH/HheVDmhH4nY1EfxZun3C44RsdPt4U8PWVW/bp1e0HAoaRf//xUN00MS1g+4F93BqYmNB+EdF629whhJFgGadNx5O4HOwcovTg94vRK4lQOXoV6uDtSUdPWtE8oub0cLvh80CR6M864olNn+l35f/j2Ppvu/wc3X7FuadczrHf2Y487+IQwkiwHL4KarzwTu390f8N+LrTSdzxziFWr56l6A9TQYjIVagDInHScqzDj/aHNB0cGalTP9X4+gZ8PSIjCwq/T4iGkREnf2c79LyLQwgjwXK4Y3hmx9da9F9fdkKhbfvFxcM1ddyQgK9HpHOI1atnKTIPDzskEif0cDr9U3X4kvPHZUwfN1H8zEg0jCw4+bN1+nfKyfVH66gUYaSzdPCX1+kkvm7HQT373t72voMOCXbY0QkR++WK0s+LcPLYcfIKzukTltT+cdkljpsofRbIemQhEj/bP2zbrwVhhh0n90+cS22264x1S8GPSoWKMNKZovjpbevOoSOipXbHbgN1kJMn9VOFzI4cl5EYGWmvY+4yx42DYcepW1hdpT/bV9eoNf/rZzs9wxNUyHHydzZreH99sPeoI+uWnLvwJIx0Ngc7ho4k8VOJ1qE7qesP+XZUrF5lBdPhd/S4tAxqUnQfN6fidO0d6c+ioU/oiFj9nZUYGQlKNIQRp6+Cwk3iwXAy7Eix+zBZNAe1YHSkfuuTueTccDjHTWCRqj3c/sy6T3Aaz4wQRjoklq+CvudU2Inmh8m6escmhX9Ct34e5XtOHJdd5bhxIuTH+jEfrSfcUDh5cej0hWc4CCOdpCsc/E6J9ofJYn3IN1jReEK3FuvHTUdCfjSMejkpGk+4oXJyJNzJdYeDMBKkaLkKilbRcJXFkK+NWO/0Y/W4cXJkp6sc89F2wkVghJEgRcNVUDTryldZsX71Hwl0+ieL5dtAHPOINMJIkKyvgqJdV7/KivWrf9iI5dtAHPOIJMJIJ+FKIrCusm+4+kc4YvU2UEdqB0LlaBgpLS3Vo48+qpqaGqWnp+vJJ59UZmZmwOVLSkq0bNkyVVdXKzk5Wdddd52Ki4uVkBDcVbH1u2m4kgiMfQN0rq4S8gEp+PN391BXvGbNGuXn56usrExZWVkqKSlRbm6udu3apYEDB560/KpVq1RQUKDnn39eEydO1GeffaabbrpJLpdLjz/+eKibNzEtw6MJaf25kmgD+wboXMOTe+nha8cEDPn8bqErCnlkJCsrSxMmTNDSpSf+BLbX65XH49G8efNUUFBw0vJz587Vp59+qvLycv+8O+64Qx988IHee++9oLZpPTICAJHGrRR0BY6MjDQ3N6uyslKFhYX+eXFxccrJyVFFRUWbbSZOnKgXXnhBW7duVWZmpj7//HNt2LBBN954YyibBoDTSlpyLy246nzrMoCICCmM1NXVqaWlRSkpKa3mp6SkaOfOnW22+fnPf666ujpdfPHF8vl8+u677zRr1izdfffdAbfT1NSkpqYfHvBqaGgIpUwAABBD4pzewObNm7Vo0SI99dRT2r59u1599VW98cYbevDBBwO2KS4uVlJSkn/yeHgQEgCAriqkZ0aam5vVs2dPvfzyy5o6dap/fl5eno4dO6b169ef1OaSSy7RhRdeqEcffdQ/74UXXtAvf/lLffXVV4qLOzkPtTUy4vF4eGYEAIAYEuwzIyGNjMTHx2v8+PGtHkb1er0qLy9XdnZ2m22+/vrrkwJHt27dJEmBcpDb7VZiYmKrCQAAdE0hv7U3Pz9feXl5ysjIUGZmpkpKStTY2KiZM2dKkmbMmKEhQ4aouLhYkjRlyhQ9/vjjGjdunLKysrR7927dd999mjJlij+UAACA01fIYWT69Ok6cuSIFi5cqJqaGo0dO1YbN270P9RaXV3daiTk3nvvlcvl0r333quDBw9qwIABmjJlih566KHO+y4AAEDM4uPgAQCAIxx5ZgQAAKCzEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAICpkP82DYAQfbFH2vEf0rFqqe8wadyN0pkjrKsCgKhBGAGctOMF6bV5klySfCf+/cvvpGuWSuNuMC4OAKIDt2kAp3yx50QQ8XklX0vrf1+be+J1AAAjI0DYjtecmALZ+kz77f9riZT5y8Cv90k9MQFAF0cYAcK1bYX0zuLw2vq8UtWLJ6ZALi2QJhWGt34AiCGEESBcGTOl8yYHfn3rM9J//+eJ4PGvXHFS+vWnHhkBgNMAYQQI16luo1xyx4kw0t7rvKsGAHiAFXDMmSOka5bK54qTV93k1Yl/fa64E++mIYgAgCRGRgBHvdTyb1r2zWP6WffNGqojOqABeum7y/Trln/TNOviACBKEEYAh+yta1TBKx/K60vVw9/+n1avLXjlQ01I66+05F5G1QFA9CCMAGE63PCNDh9vCvj6yi372m2/9O3dumliWsDXB/Zxa2BiQpjVAUDsIIwAYXrxg2r9rvx/wmrr9UkvVx7Qy5UHAi5z2+Xn6PYrzg23PACIGYQRIEw3ZA3TFRekBHx95ZZ9enX7AXl9J78W55L+/cdDTzkyAgCnA8IIEKaBiQnt3kaZM2mkXt0eeORj7qSRPDMCAOKtvYBjhif30sPXjlGcS+oW52r178PXjiGIAMD/x8gI4KBpGR5NSOuvNdv268CX/9TQfj00PcNDEAGA/4UwAjgsLbmXFlx1vnUZABC1uE0DAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwFRYYaS0tFRpaWlKSEhQVlaWtm7d2u7yx44d05w5czRo0CC53W6de+652rBhQ1gFAwCArqV7qA3WrFmj/Px8lZWVKSsrSyUlJcrNzdWuXbs0cODAk5Zvbm7WFVdcoYEDB+rll1/WkCFD9Pe//119+/btjPoBAECMc/l8Pl8oDbKysjRhwgQtXbpUkuT1euXxeDRv3jwVFBSctHxZWZkeffRR7dy5U2eccUZYRTY0NCgpKUn19fVKTEwMax0AACCygj1/h3Sbprm5WZWVlcrJyflhBXFxysnJUUVFRZttXnvtNWVnZ2vOnDlKSUnR6NGjtWjRIrW0tISyaQAA0EWFdJumrq5OLS0tSklJaTU/JSVFO3fubLPN559/rj//+c+64YYbtGHDBu3evVu//vWv9e2336qoqKjNNk1NTWpqavJ/3dDQEEqZAAAghjj+bhqv16uBAwfqmWee0fjx4zV9+nTdc889KisrC9imuLhYSUlJ/snj8ThdJgAAMBJSGElOTla3bt1UW1vban5tba1SU1PbbDNo0CCde+656tatm3/eqFGjVFNTo+bm5jbbFBYWqr6+3j/t378/lDIBAEAMCSmMxMfHa/z48SovL/fP83q9Ki8vV3Z2dpttLrroIu3evVter9c/77PPPtOgQYMUHx/fZhu3263ExMRWEwAA6JpCvk2Tn5+v5cuX6/e//70+/fRTzZ49W42NjZo5c6YkacaMGSosLPQvP3v2bB09elS33XabPvvsM73xxhtatGiR5syZ03nfBQAAiFkhf87I9OnTdeTIES1cuFA1NTUaO3asNm7c6H+otbq6WnFxP2Qcj8ejN998U7fffrvGjBmjIUOG6LbbbtOCBQs677sAAAAxK+TPGbHA54wAABB7HPmcEQAAgM5GGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmCKMAAAAU4QRAABgijACAABMEUYAAIApwggAADAVVhgpLS1VWlqaEhISlJWVpa1btwbVbvXq1XK5XJo6dWo4mwUAAF1QyGFkzZo1ys/PV1FRkbZv36709HTl5ubq8OHD7bbbt2+f7rzzTl1yySVhFwsAALqekMPI448/rltvvVUzZ87UBRdcoLKyMvXs2VPPP/98wDYtLS264YYb9MADD+jss8/uUMEAAKBrCSmMNDc3q7KyUjk5OT+sIC5OOTk5qqioCNjut7/9rQYOHKhbbrklqO00NTWpoaGh1QQAALqmkMJIXV2dWlpalJKS0mp+SkqKampq2mzz3nvv6bnnntPy5cuD3k5xcbGSkpL8k8fjCaVMAAAQQxx9N83x48d14403avny5UpOTg66XWFhoerr6/3T/v37HawSAABY6h7KwsnJyerWrZtqa2tbza+trVVqaupJy+/Zs0f79u3TlClT/PO8Xu+JDXfvrl27dmnEiBEntXO73XK73aGUBgAAYlRIIyPx8fEaP368ysvL/fO8Xq/Ky8uVnZ190vLnn3++PvroI1VVVfmna665RpMmTVJVVRW3XwAAQGgjI5KUn5+vvLw8ZWRkKDMzUyUlJWpsbNTMmTMlSTNmzNCQIUNUXFyshIQEjR49ulX7vn37StJJ8wEAwOkp5DAyffp0HTlyRAsXLlRNTY3Gjh2rjRs3+h9qra6uVlwcH+wKAACC4/L5fD7rIk6loaFBSUlJqq+vV2JionU5AAAgCMGevxnCAAAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAAABThBEAAGCKMAIAAEwRRgAAgCnCCAAAMBVWGCktLVVaWpoSEhKUlZWlrVu3Blx2+fLluuSSS9SvXz/169dPOTk57S4PAABOLyGHkTVr1ig/P19FRUXavn270tPTlZubq8OHD7e5/ObNm3X99dfr7bffVkVFhTwej6688kodPHiww8UDAIDY5/L5fL5QGmRlZWnChAlaunSpJMnr9crj8WjevHkqKCg4ZfuWlhb169dPS5cu1YwZM4LaZkNDg5KSklRfX6/ExMRQygUAAEaCPX+HNDLS3NysyspK5eTk/LCCuDjl5OSooqIiqHV8/fXX+vbbb9W/f/+AyzQ1NamhoaHVBAAAuqaQwkhdXZ1aWlqUkpLSan5KSopqamqCWseCBQs0ePDgVoHm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5YuPj/cNGDDAd/nll/veeust67I6Fc+MAAAAU13vhj0AAIgphBEAAGCKMAIAAEwRRgAAgCnCCAAAMEUYAQAApggjAADAFGEEAACYIowAcITL5dK6des6ZV2bN2+Wy+Vq9w8J3n///Ro7dmynbA9AZBFGAITlpptuksvlOmm66qqrTOq58847VV5ebrJtAB3DH8oDELarrrpKK1asaDXP7Xab1NK7d+8u/8cFga6KkREAYXO73UpNTW019evXL6R17Nu3Ty6XS6tXr9bEiROVkJCg0aNH65133jlp2crKSmVkZKhnz56aOHGidu3a5X+N2zRA7CKMAIgKd911l+644w7t2LFD2dnZmjJlir744otWy9xzzz1asmSJtm3bpu7du+vmm282qhZAZyKMAAjb66+/7r898v20aNGisNY1d+5cXXvttRo1apSWLVumpKQkPffcc62Weeihh3TppZfqggsuUEFBgbZs2aJvvvmmM74VAIZ4ZgRA2CZNmqRly5a1mte/f/+w1pWdne3/f/fu3ZWRkaFPP/201TJjxozx/3/QoEGSpMOHD2vYsGFhbRNAdCCMAAhbr169NHLkyIht74wzzvD/3+VySZK8Xm/Etg/AGdymARAV3n//ff//v/vuO1VWVmrUqFGGFQGIFEZGAIStqalJNTU1reZ1795dycnJIa+rtLRU55xzjkaNGqUnnnhCX375JQ+oAqcJwgiAsG3cuNH/7Mb3zjvvPO3cuTPkdS1evFiLFy9WVVWVRo4cqddeey2sUAMg9rh8Pp/PuggAp699+/Zp+PDh2rFjB58TApymeGYEAACYIowAcNSiRYtO+iyS76fJkydblwcgCnCbBoCjjh49qqNHj7b5Wo8ePTRkyJAIVwQg2hBGAACAKW7TAAAAU4QRAABgijACAABMEUYAAIApwggAADBFGAEAAKYIIwAAwBRhBAAAmPp/o44Y9LU02psAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_efficiency(out[\"Run2023D\"][\"passing\"].project(\"el_phi\"), out[\"Run2023D\"][\"failing\"].project(\"el_phi\"))\n", + "plot_efficiency(out[\"DY_LO_2023postBPIX\"][\"passing\"].project(\"el_phi\"), out[\"DY_LO_2023postBPIX\"][\"failing\"].project(\"el_phi\"))\n", + "plt.ylim(0, 1.1)\n", + "plt.show()" + ] + } + ], + "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.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 } diff --git a/src/egamma_tnp/nanoaod_efficiency.py b/src/egamma_tnp/nanoaod_efficiency.py index ee2bd6aa..d1dab346 100644 --- a/src/egamma_tnp/nanoaod_efficiency.py +++ b/src/egamma_tnp/nanoaod_efficiency.py @@ -168,13 +168,6 @@ def _find_probes(self, events, cut_and_count, vars): hlt_filter=self.hlt_filter, ) - passing_probe_events["el"] = passing_probe_events.Electron[:, 1] - failing_probe_events["el"] = failing_probe_events.Electron[:, 1] - passing_probe_events["tag_Ele"] = passing_probe_events.Electron[:, 0] - failing_probe_events["tag_Ele"] = failing_probe_events.Electron[:, 0] - passing_probe_events["pair_mass"] = (passing_probe_events["el"] + passing_probe_events["tag_Ele"]).mass - failing_probe_events["pair_mass"] = (failing_probe_events["el"] + failing_probe_events["tag_Ele"]).mass - passing_probe_dict = {} failing_probe_dict = {} for var in vars: @@ -203,7 +196,7 @@ def _find_probes(self, events, cut_and_count, vars): @staticmethod def _filter_events(events, cutbased_id): pass_hlt = events.HLT.Ele30_WPTight_Gsf - two_electrons = dak.num(events.Electron) == 2 + two_electrons = dak.num(events.Electron) >= 2 abs_eta = abs(events.Electron.eta_to_use) if cutbased_id: pass_tight_id = events.Electron.cutBased >= cutbased_id @@ -274,6 +267,12 @@ def _process_zcands( ) passing_probe_events = good_events[has_passing_probe] failing_probe_events = good_events[has_failing_probe] + passing_probe_events["el"] = all_probes[has_passing_probe] + failing_probe_events["el"] = all_probes[has_failing_probe] + passing_probe_events["tag_Ele"] = tags[has_passing_probe] + failing_probe_events["tag_Ele"] = tags[has_failing_probe] + passing_probe_events["pair_mass"] = (passing_probe_events["el"] + passing_probe_events["tag_Ele"]).mass + failing_probe_events["pair_mass"] = (failing_probe_events["el"] + failing_probe_events["tag_Ele"]).mass return passing_probe_events, failing_probe_events @@ -435,32 +434,6 @@ def _find_probes(self, events, cut_and_count, vars): hlt_filter=self.hlt_filter, ) - passing_probe_events["ph"] = passing_probe_events.Photon[:, 1] - failing_probe_events["ph"] = failing_probe_events.Photon[:, 1] - passing_probe_events["tag_Ele"] = passing_probe_events.Photon[:, 0] - failing_probe_events["tag_Ele"] = failing_probe_events.Photon[:, 0] - # M^2 = 2 * pt1 * pt2 * (cosh(eta1 - eta2) - cos(phi1 - phi2)) Use until this is fixed in coffea - passing_probe_events["pair_mass"] = np.sqrt( - 2 - * passing_probe_events["ph"].pt - * passing_probe_events["tag_Ele"].pt - * ( - np.cosh(passing_probe_events["ph"].eta - passing_probe_events["tag_Ele"].eta) - - np.cos(passing_probe_events["ph"].phi - passing_probe_events["tag_Ele"].phi) - ) - ) - failing_probe_events["pair_mass"] = np.sqrt( - 2 - * failing_probe_events["ph"].pt - * failing_probe_events["tag_Ele"].pt - * ( - np.cosh(failing_probe_events["ph"].eta - failing_probe_events["tag_Ele"].eta) - - np.cos(failing_probe_events["ph"].phi - failing_probe_events["tag_Ele"].phi) - ) - ) - # passing_probe_events["pair_mass"] = (passing_probe_events["ph"] + passing_probe_events["tag_Ele"]).mass Uncomment when this is fixed in coffea - # failing_probe_events["pair_mass"] = (failing_probe_events["ph"] + failing_probe_events["tag_Ele"]).mass Uncomment when this is fixed in coffea - passing_probe_dict = {} failing_probe_dict = {} for var in vars: @@ -489,7 +462,7 @@ def _find_probes(self, events, cut_and_count, vars): @staticmethod def _filter_events(events, cutbased_id): pass_hlt = events.HLT.Ele30_WPTight_Gsf - two_electrons = dak.num(events.Electron) == 2 + two_electrons = dak.num(events.Electron) >= 2 abs_eta = abs(events.Electron.eta_to_use) if cutbased_id: pass_tight_id = events.Electron.cutBased >= cutbased_id @@ -560,4 +533,29 @@ def _process_zcands( ) passing_probe_events = good_events[has_passing_probe] failing_probe_events = good_events[has_failing_probe] + passing_probe_events["ph"] = all_probes[has_passing_probe] + failing_probe_events["ph"] = all_probes[has_failing_probe] + passing_probe_events["tag_Ele"] = tags[has_passing_probe] + failing_probe_events["tag_Ele"] = tags[has_failing_probe] + # M^2 = 2 * pt1 * pt2 * (cosh(eta1 - eta2) - cos(phi1 - phi2)) Use until this is fixed in coffea + passing_probe_events["pair_mass"] = np.sqrt( + 2 + * passing_probe_events["ph"].pt + * passing_probe_events["tag_Ele"].pt + * ( + np.cosh(passing_probe_events["ph"].eta - passing_probe_events["tag_Ele"].eta) + - np.cos(passing_probe_events["ph"].phi - passing_probe_events["tag_Ele"].phi) + ) + ) + failing_probe_events["pair_mass"] = np.sqrt( + 2 + * failing_probe_events["ph"].pt + * failing_probe_events["tag_Ele"].pt + * ( + np.cosh(failing_probe_events["ph"].eta - failing_probe_events["tag_Ele"].eta) + - np.cos(failing_probe_events["ph"].phi - failing_probe_events["tag_Ele"].phi) + ) + ) + # passing_probe_events["pair_mass"] = (passing_probe_events["ph"] + passing_probe_events["tag_Ele"]).mass Uncomment when this is fixed in coffea + # failing_probe_events["pair_mass"] = (failing_probe_events["ph"] + failing_probe_events["tag_Ele"]).mass Uncomment when this is fixed in coffea return passing_probe_events, failing_probe_events diff --git a/src/egamma_tnp/utils/histogramming.py b/src/egamma_tnp/utils/histogramming.py index e7e75097..7dfd0586 100644 --- a/src/egamma_tnp/utils/histogramming.py +++ b/src/egamma_tnp/utils/histogramming.py @@ -1,8 +1,26 @@ +import awkward as ak import numpy as np import uproot from hist import intervals +def flatten_probes(probes): + """Flatten the probes array. + + Parameters + ---------- + probes : awkward.Array or dask_awkward.Array + An array with the probes. + + Returns + ------- + probes : awkward.Array or dask_awkward.Array + The flattened probes array. + """ + + return ak.flatten(ak.zip({var: probes[var] for var in probes.fields}), axis=-1) + + def get_ratio_histogram(passing_probes, failing_or_all_probes, denominator_type="failing"): """Get the ratio (efficiency) of the passing over passing + failing probes. NaN values are replaced with 0. @@ -52,16 +70,15 @@ def fill_pt_eta_phi_cutncount_histograms( eta_regions_eta=None, eta_regions_phi=None, vars=None, - delayed=True, ): """Get the Pt, Eta and Phi histograms of the passing and failing probes. Parameters ---------- passing_probes : awkward.Array or dask_awkward.Array - An array with fields `pt`, `eta`, and `phi` of the passing probes. + An array with the fields specified in `vars` of the passing probes. failing_probes : awkward.Array or dask_awkward.Array - An array with fields `pt`, `eta`, and `phi` of the failing probes. + An array with the fields specified in `vars` of the failing probes. plateau_cut : int or float, optional The Pt threshold to use to ensure that we are on the efficiency plateau for eta and phi histograms. The default None, meaning that no extra cut is applied and the activation region is included in those histograms. @@ -84,9 +101,6 @@ def fill_pt_eta_phi_cutncount_histograms( A list of the fields that refer to the Pt, Eta, and Phi of the probes. Must be in the order of Pt, Eta, and Phi. The default is ["el_pt", "el_eta", "el_phi"]. - delayed : bool, optional - Whether the probes arrays are delayed (dask-awkward) or not. - The default is True. Returns ------- @@ -99,13 +113,15 @@ def fill_pt_eta_phi_cutncount_histograms( """ import hist - if delayed: - from hist.dask import Hist - else: + if isinstance(passing_probes, ak.Array) and isinstance(failing_probes, ak.Array): from hist import Hist + else: + from hist.dask import Hist import egamma_tnp + passing_probes, failing_probes = flatten_probes(passing_probes), flatten_probes(failing_probes) + if plateau_cut is None: plateau_cut = 0 if eta_regions_pt is None: @@ -198,16 +214,15 @@ def fill_pt_eta_phi_mll_histograms( eta_regions_eta=None, eta_regions_phi=None, vars=None, - delayed=True, ): """Get the 2D histograms of Pt, Eta and Phi vs mll of the passing and failing probes. Parameters ---------- passing_probes : awkward.Array or dask_awkward.Array - An array with fields `pt`, `eta`, and `phi` of the passing probes. + An array with the fields specified in `vars` of the passing probes. failing_probes : awkward.Array or dask_awkward.Array - An array with fields `pt`, `eta`, and `phi` of the failing probes. + An array with the fields specified in `vars` of the failing probes. plateau_cut : int or float, optional The Pt threshold to use to ensure that we are on the efficiency plateau for eta and phi histograms. The default None, meaning that no extra cut is applied and the activation region is included in those histograms. @@ -230,9 +245,6 @@ def fill_pt_eta_phi_mll_histograms( A list of the fields that refer to the Pt, Eta, and Phi of the probes. Must be in the order of Pt, Eta, and Phi. The default is ["el_pt", "el_eta", "el_phi"]. - delayed : bool, optional - Whether the probes arrays are delayed (dask-awkward) or not. - The default is True. Returns ------- @@ -245,13 +257,15 @@ def fill_pt_eta_phi_mll_histograms( """ import hist - if delayed: - from hist.dask import Hist - else: + if isinstance(passing_probes, ak.Array) and isinstance(failing_probes, ak.Array): from hist import Hist + else: + from hist.dask import Hist import egamma_tnp + passing_probes, failing_probes = flatten_probes(passing_probes), flatten_probes(failing_probes) + if plateau_cut is None: plateau_cut = 0 if eta_regions_pt is None: @@ -352,7 +366,6 @@ def fill_nd_cutncount_histograms( passing_probes, failing_probes, vars=None, - delayed=True, ): """ Get the N-dimensional histogram of the passing and failing probes. @@ -367,9 +380,6 @@ def fill_nd_cutncount_histograms( vars : list, optional A list of the fields to use as axes in the histogram. The default is ["el_pt", "el_eta", "el_phi"]. - delayed : bool, optional - Whether the probes arrays are delayed (dask-awkward) or not. - The default is True. Returns ------- @@ -387,13 +397,15 @@ def fill_nd_cutncount_histograms( import hist - if delayed: - from hist.dask import Hist - else: + if isinstance(passing_probes, ak.Array) and isinstance(failing_probes, ak.Array): from hist import Hist + else: + from hist.dask import Hist import egamma_tnp + passing_probes, failing_probes = flatten_probes(passing_probes), flatten_probes(failing_probes) + if any(egamma_tnp.config.get(f"{var}_bins") is None for var in vars): raise ValueError( """One or more variables do not have binning information. @@ -416,7 +428,6 @@ def fill_nd_mll_histograms( passing_probes, failing_probes, vars=None, - delayed=True, ): """ Get the N+1-dimensional histogram of the passing and failing probes. @@ -431,9 +442,6 @@ def fill_nd_mll_histograms( vars : list, optional A list of the fields to use as axes in the histogram. The default is ["el_pt", "el_eta", "el_phi"]. - delayed : bool, optional - Whether the probes arrays are delayed (dask-awkward) or not. - The default is True. Returns ------- @@ -451,13 +459,15 @@ def fill_nd_mll_histograms( import hist - if delayed: - from hist.dask import Hist - else: + if isinstance(passing_probes, ak.Array) and isinstance(failing_probes, ak.Array): from hist import Hist + else: + from hist.dask import Hist import egamma_tnp + passing_probes, failing_probes = flatten_probes(passing_probes), flatten_probes(failing_probes) + if any(egamma_tnp.config.get(f"{var}_bins") is None for var in vars): raise ValueError( """One or more variables do not have binning information. diff --git a/tests/test_fitter_histogram_conversion.py b/tests/test_fitter_histogram_conversion.py index 9bd65030..6169c463 100644 --- a/tests/test_fitter_histogram_conversion.py +++ b/tests/test_fitter_histogram_conversion.py @@ -60,7 +60,6 @@ def test_fitter_histogram_conversion_1d(): }, plateau_cut=35, vars=["pt", "eta", "phi"], - delayed=False, ) res1d = convert_2d_mll_hists_to_1d_hists(hmll1d) @@ -149,7 +148,6 @@ def test_fitter_histogram_conversion_3d(): passing_probes, failing_probes, vars=["pt", "eta", "phi"], - delayed=False, ) res3d, bining = convert_nd_mll_hists_to_1d_hists(hmll3d, axes=["eta", "pt"]) @@ -226,7 +224,6 @@ def test_fitter_histogram_saving_1d(): }, plateau_cut=35, vars=["pt", "eta", "phi"], - delayed=False, ) create_hists_root_file_for_fitter(hmll1d, "1d_hists.root", "1d_bining.pkl") @@ -320,7 +317,6 @@ def test_fitter_histogram_saving_3d(): passing_probes, failing_probes, vars=["pt", "eta", "phi"], - delayed=False, ) create_hists_root_file_for_fitter(hmll3d, "3d_hists.root", "3d_bining.pkl", axes=["pt", "eta"]) @@ -378,7 +374,6 @@ def test_fitter_histogram_saving_against_reference(): passing_probes, failing_probes, vars=["el_sc_eta", "el_pt"], - delayed=False, ) create_hists_root_file_for_fitter(hmll3d, "3d_hists.root", "3d_bining.pkl", axes=["el_sc_eta", "el_pt"]) @@ -452,7 +447,6 @@ def test_fitter_histogram_conversion_bining(): passing_probes, failing_probes, vars=["el_sc_eta", "el_pt"], - delayed=False, ) res3d, bining = convert_nd_mll_hists_to_1d_hists(hmll3d, axes=["el_sc_eta", "el_pt"]) diff --git a/tests/test_histogramming_funcs.py b/tests/test_histogramming_funcs.py index 8ce215d6..96adc685 100644 --- a/tests/test_histogramming_funcs.py +++ b/tests/test_histogramming_funcs.py @@ -53,7 +53,6 @@ def test_histogramming_funcs_default_vars(): }, plateau_cut=35, vars=["pt", "eta", "phi"], - delayed=False, ) hmll1d = fill_pt_eta_phi_mll_histograms( passing_probes, @@ -65,19 +64,16 @@ def test_histogramming_funcs_default_vars(): }, plateau_cut=35, vars=["pt", "eta", "phi"], - delayed=False, ) hcnc3d = fill_nd_cutncount_histograms( passing_probes, failing_probes, vars=["pt", "eta", "phi"], - delayed=False, ) hmll3d = fill_nd_mll_histograms( passing_probes, failing_probes, vars=["pt", "eta", "phi"], - delayed=False, ) assert_histograms_equal(hcnc1d["pt"]["barrel"]["passing"], hcnc3d["passing"][:, -1.4442j:1.4442j:sum, sum], flow=False) @@ -210,25 +206,21 @@ def test_histogramming_funcs_custom_vars(): }, plateau_cut=0, vars=["pt", "eta", "phi"], - delayed=False, ) hmll1d = fill_pt_eta_phi_mll_histograms( passing_probes, failing_probes, vars=["pt", "eta", "phi"], - delayed=False, ) hcnc3d = fill_nd_cutncount_histograms( passing_probes, failing_probes, vars=["eta", "r9"], - delayed=False, ) hmll3d = fill_nd_mll_histograms( passing_probes, failing_probes, vars=["eta", "r9"], - delayed=False, ) assert_histograms_equal(hcnc1d["eta"]["entire"]["passing"], hcnc3d["passing"][-2.5j:2.5j, sum], flow=False)