{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Coffea Processors\n", "This is a rendered copy of [processor.ipynb](https://github.com/CoffeaTeam/coffea/blob/master/binder/processor.ipynb). You can optionally run it interactively on [binder at this link](https://mybinder.org/v2/gh/coffeateam/coffea/master?filepath=binder%2Fprocessor.ipynb)\n", "\n", "Coffea relies mainly on [uproot](https://github.com/scikit-hep/uproot) to provide access to ROOT files for analysis.\n", "As a usual analysis will involve processing tens to thousands of files, totalling gigabytes to terabytes of data, there is a certain amount of work to be done to build a parallelized framework to process the data in a reasonable amount of time. Of course, one can work directly within uproot to achieve this, as we'll show in the beginning, but coffea provides the `coffea.processor` module, which allows users to worry just about the actual analysis code and not about how to implement efficient parallelization, assuming that the parallization is a trivial map-reduce operation (e.g. filling histograms and adding them together). The module provides the following key features:\n", "\n", " * A `ProcessorABC` abstract base class that can be derived from to implement the analysis code;\n", " * A [NanoEvents](https://coffeateam.github.io/coffea/notebooks/nanoevents.html) interface to the arrays being read from the TTree as inputs;\n", " * A generic `accumulate()` utility to reduce the outputs to a single result, as showin in the accumulators notebook tutorial; and\n", " * A set of parallel executors to access multicore processing or distributed computing systems such as [Dask](https://distributed.dask.org/en/latest/), [Parsl](http://parsl-project.org/), [Spark](https://spark.apache.org/), [WorkQueue](https://cctools.readthedocs.io/en/latest/work_queue/), and others.\n", "\n", "Let's start by writing a simple processor class that reads some CMS open data and plots a dimuon mass spectrum.\n", "We'll start by copying the [ProcessorABC](https://coffeateam.github.io/coffea/api/coffea.processor.ProcessorABC.html#coffea.processor.ProcessorABC) skeleton and filling in some details:\n", "\n", " * Remove `flag`, as we won't use it\n", " * Adding a new histogram for $m_{\\mu \\mu}$\n", " * Building a [Candidate](https://coffeateam.github.io/coffea/api/coffea.nanoevents.methods.candidate.PtEtaPhiMCandidate.html#coffea.nanoevents.methods.candidate.PtEtaPhiMCandidate) record for muons, since we will read it with `BaseSchema` interpretation (the files used here could be read with `NanoAODSchema` but we want to show how to build vector objects from other TTree formats) \n", " * Calculating the dimuon invariant mass" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import hist\n", "import dask\n", "import awkward as ak\n", "import hist.dask as hda\n", "import dask_awkward as dak\n", "\n", "from coffea import processor\n", "from coffea.nanoevents.methods import candidate\n", "from coffea.dataset_tools import (\n", " apply_to_fileset,\n", " max_chunks,\n", " preprocess,\n", ")\n", "from distributed import Client\n", "\n", "\n", "client = Client()\n", "\n", "\n", "class MyProcessor(processor.ProcessorABC):\n", " def __init__(self):\n", " pass\n", "\n", " def process(self, events):\n", " dataset = events.metadata['dataset']\n", " muons = ak.zip(\n", " {\n", " \"pt\": events.Muon_pt,\n", " \"eta\": events.Muon_eta,\n", " \"phi\": events.Muon_phi,\n", " \"mass\": events.Muon_mass,\n", " \"charge\": events.Muon_charge,\n", " },\n", " with_name=\"PtEtaPhiMCandidate\",\n", " behavior=candidate.behavior,\n", " )\n", "\n", " h_mass = (\n", " hda.Hist.new\n", " .StrCat([\"opposite\", \"same\"], name=\"sign\")\n", " .Log(1000, 0.2, 200., name=\"mass\", label=\"$m_{\\mu\\mu}$ [GeV]\")\n", " .Int64()\n", " )\n", "\n", " cut = (ak.num(muons) == 2) & (ak.sum(muons.charge, axis=1) == 0)\n", " # add first and second muon in every event together\n", " dimuon = muons[cut][:, 0] + muons[cut][:, 1]\n", " h_mass.fill(sign=\"opposite\", mass=dimuon.mass)\n", "\n", " cut = (ak.num(muons) == 2) & (ak.sum(muons.charge, axis=1) != 0)\n", " dimuon = muons[cut][:, 0] + muons[cut][:, 1]\n", " h_mass.fill(sign=\"same\", mass=dimuon.mass)\n", "\n", " return {\n", " dataset: {\n", " \"entries\": ak.num(events, axis=0),\n", " \"mass\": h_mass,\n", " }\n", " }\n", "\n", " def postprocess(self, accumulator):\n", " pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we were to just use bare uproot to execute this processor, we could do that with the following example, which:\n", "\n", " * Opens a CMS open data file\n", " * Creates a NanoEvents object using `BaseSchema` (roughly equivalent to the output of `uproot.lazy`)\n", " * Creates a `MyProcessor` instance\n", " * Runs the `process()` function, which returns our accumulators\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/saransh/Code/HEP/coffea/.env/lib/python3.11/site-packages/coffea/nanoevents/factory.py:299: RuntimeWarning: You have set steps_per_file to 2000, this should only be used for a\n", " small number of inputs (e.g. for early-stage/exploratory analysis) since it does not\n", " inform dask of each chunk lengths at creation time, which can cause unexpected\n", " slowdowns at scale. If you would like to process larger datasets please specify steps\n", " using the appropriate uproot \"files\" specification:\n", " https://github.com/scikit-hep/uproot5/blob/v5.1.2/src/uproot/_dask.py#L109-L132.\n", " \n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "{'DoubleMuon': {'entries': 26084708, 'mass': Hist(\n", " StrCategory(['opposite', 'same'], name='sign'),\n", " Regular(1000, 0.2, 200, transform=log, name='mass', label='$m_{\\\\mu\\\\mu}$ [GeV]'),\n", " storage=Int64()) # Sum: 12819609.0 (12835141.0 with flow)}}\n" ] } ], "source": [ "from coffea.nanoevents import NanoEventsFactory, BaseSchema\n", "\n", "filename = \"file://Run2012B_DoubleMuParked.root\"\n", "events = NanoEventsFactory.from_root(\n", " {filename: \"Events\"},\n", " steps_per_file=2_000,\n", " metadata={\"dataset\": \"DoubleMuon\"},\n", " schemaclass=BaseSchema,\n", ").events()\n", "p = MyProcessor()\n", "out = p.process(events)\n", "(computed,) = dask.compute(out)\n", "print(computed)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "fig, ax = plt.subplots()\n", "computed[\"DoubleMuon\"][\"mass\"].plot1d(ax=ax)\n", "ax.set_xscale(\"log\")\n", "ax.legend(title=\"Dimuon charge\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One could expand on this code to run over several chunks of the file, setting `entry_start` and `entry_stop` as appropriate. Then, several datasets could be processed by iterating over several files. However, the `dask.compute` and `coffea.dataset_tools` can help with this! We can `preprocess` multiple files and then use our custom `MyProcessor` class to generate the relevant dask task graph. Finally, the result can be obtained by calling `dask.compute`. Since these files are very large, we limit to just reading the first few chunks of events from each dataset with `maxchunks`." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "fileset = {\n", " 'DoubleMuon': {\n", " \"files\": {\n", " 'file://Run2012B_DoubleMuParked.root': \"Events\",\n", " 'file://Run2012C_DoubleMuParked.root': \"Events\",\n", " }\n", " },\n", " 'ZZ to 4mu': {\n", " \"files\": {\n", " 'file://ZZTo4mu.root': \"Events\"\n", " }\n", " }\n", "}\n", "\n", "\n", "dataset_runnable, dataset_updated = preprocess(\n", " fileset,\n", " align_clusters=False,\n", " step_size=100_000,\n", " files_per_batch=1,\n", " skip_bad_files=True,\n", " save_form=False,\n", ")" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'DoubleMuon': {'DoubleMuon': {'entries': 56084708, 'mass': Hist(\n", " StrCategory(['opposite', 'same'], name='sign'),\n", " Regular(1000, 0.2, 200, transform=log, name='mass', label='$m_{\\\\mu\\\\mu}$ [GeV]'),\n", " storage=Int64()) # Sum: 28258324.0 (28290486.0 with flow)}}, 'ZZ to 4mu': {'ZZ to 4mu': {'entries': 1499064, 'mass': Hist(\n", " StrCategory(['opposite', 'same'], name='sign'),\n", " Regular(1000, 0.2, 200, transform=log, name='mass', label='$m_{\\\\mu\\\\mu}$ [GeV]'),\n", " storage=Int64()) # Sum: 288707.0 (289326.0 with flow)}}}\n" ] } ], "source": [ "to_compute = apply_to_fileset(\n", " MyProcessor(),\n", " max_chunks(dataset_runnable, 300),\n", " schemaclass=BaseSchema,\n", " )\n", "(out,) = dask.compute(to_compute)\n", "print(out)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The run may depend on how many cores are available on the machine you are running this notebook and your connection to `eospublic.cern.ch`." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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dN1112ny5MkqLS1Venq6Zs6cqUcffVTffvutfvrpJ+d6s6e7nAUnczgcKi0tdVmvt9px4JQyMzMdkhyZmZnuLgUAAADVTH5+vmPz5s2O/Pz8k/YNHjzY0a9fv5O2z5071yHJ8dFHHzm3SXL88MMPDofD4di9e7dDkmPq1KmOSy+91OHj4+Po0qWLIykpybFixQpHbGysw9/f33Hdddc59u/f7zzGFVdc4Xj00Uddnqtfv36OwYMHO+8fPnzYcffddztCQkIcvr6+juuuu86xbds25/7Jkyc7goODHTNnznS0atXK4e/v70hISHDs27fvtN+HjRs3Ovr06eMIDAx0BAQEOC699FLHjh07XL4Pb7zxhiMyMtJRt25dx0MPPeQoKipyPv6zzz5zxMbGOgICAhwRERGOO+64w5Genu7cP3/+fIckxy+//OLo3Lmzw9PT0zF//nxHVlaW484773T4+fk5IiMjHW+//fZJ34eCggLHE0884YiKinL4+fk5unXr5pg/f/4pv5bT/Uwrkw3OfTljAAAAABVy1VVXqUOHDvr+++9P2+7555/XqFGjtHr1anl4eOjOO+/U008/rXHjxun333/Xjh07NHr06Eo995AhQ7Rq1Sr99NNPWrp0qRwOh66//nrnLImSlJeXpzfffFOff/65Fi1apOTkZD355JOnPObevXt1+eWXy9vbW/PmzVNiYqLuvfdelZSUONvMnz9fO3fu1Pz58/Xpp59qypQpmjJlinN/cXGxxowZo3Xr1mnatGnas2ePhgwZctJzPfvss3rttde0ZcsWtW/fXiNGjNDixYv1008/afbs2fr999+1evVql8cMHz5cS5cu1VdffaX169frlltu0XXXXaft27dX6ntXWdX4HBsAAABQ+7Rq1Urr168/bZsnn3zSebnMo48+qjvuuENz585Vjx49JElDhw51CSpnsn37dv30009avHixLrnkEknSF198oejoaE2bNk233HKLJCPwTJw4URdddJEkI6Qcf2nPiT744AMFBwfrq6++ck553qJFC5c2derU0fjx42Wz2dSqVSv16dNHc+fO1f333y9Juvfee51tmzZtqvfee09du3ZVTk6OAgICnPteeuklXXPNNZKk7Oxsffrpp/ryyy919dVXS5ImT56sqKgoZ/vk5GRNnjxZycnJzu1PPvmkZs6cqcmTJ+vV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VWSgJMnTw+LmSlDdEbIAACexWVw7EBv2ZrqpEgCoPm7vGu3uElBDELIAAAAAwESELAAAAAAwESELAAAAAExEyAIAAAAAExGyAAAAAMBEhCwAAAAAMBEhCwAAAABMRMgCAAAAABMRsgAAAADARIQsAAAAADARIQsAAAAATETIAgAAAAATEbIAAAAAwESELAAAAAAwESELAAAAAExEyAIAAAAAExGyAAAAAMBEhCwAAAAAMBEhCwAAAABMRMgCAAAAABMRsgAAAADARIQsAAAAADARIQsAAAAATETIAgAAAAATEbIAAAAAwESELAAAAAAwESELAAAAAExEyAIAAAAAExGyAAAAAMBEhCwAAAAAMBEhCwAAAABMRMgCAAAAABMRsgAAAADARIQsAAAAADARIQsAAAAATETIAgAAAAATEbIAAACAU1iTkuHuElADEbIAAACAU/ho0S53l4AaiJAFAAAAnILFcuxzm42uMyqG3xQAAADgDMb0a6sgHw93l4EagpAFAAAAACYiZAEAAACAiQhZAAAAAGAiQhYAAAAAmIiQBQAAAAAmImQBAAAAgIkIWQAAAABgIkIWAAAAAJiIkAUAAAAAJiJkAQAAAICJCFkAAAAAYCJCFgAAAACYiJAFAAAAACYiZAEAAACAiQhZAAAAAGAiQhYAAAAAmIiQBQAAAAAmImQBAAAAgIkIWQAAAABgokqFrAkTJqh9+/YKCgpSUFCQ4uPj9euvvzr3FxQUaNiwYQoNDVVAQIAGDhyo9PR0l2MkJyerT58+8vPzU3h4uJ566imVlJS4tFmwYIE6d+4sb29vNWvWTFOmTDmplg8++ECNGzeWj4+P4uLitGLFCpf9FakFAAAAAMxWqZDVsGFDvfbaa0pMTNSqVat01VVXqV+/ftq0aZMk6fHHH9fPP/+sb775RgsXLtS+ffs0YMAA5+NLS0vVp08fFRUVacmSJfr00081ZcoUjR492tlm9+7d6tOnj3r27Km1a9fqscce03333afffvvN2Wbq1KkaMWKEnn/+ea1evVodOnRQQkKC9u/f72xzploAAAAAoCpYHA6H41wOULduXb3xxhu6+eabFRYWpi+//FI333yzJGnr1q1q3bq1li5dqu7du+vXX39V3759tW/fPkVEREiSJk6cqGeeeUYHDhyQl5eXnnnmGc2YMUMbN250Psftt9+u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cAqNQv1OuS+vqFTFpfbzWA1qCkIWAAAAUI5ujevqypbhp9yf+OcRfZf413msCDUFIQsAAAAATETIAgAAACqhb/v6urRZPXeXgWqMkAUAAABUgofNKh9Pm7vLQDVGyAIAAAAAExGyAAAAAMBEhCwAAAAAMBEhCwAAAABMRMgCAAAAABMRsgAAAADARIQsAAAAADARIQsAAAAATETIAgA45RSWaNS0je4uAwCAGq3SIWvRokW64YYbFBUVJYvFomnTprnsdzgcGj16tOrXry9fX1/16tVL27dvd2lz+PBh3XXXXQoKClJISIiGDh2qnJwclzbr16/XZZddJh8fH0VHR+v1118/qZZvvvlGrVq1ko+Pj9q1a6dffvml0rUAAI4pKbU7Pz/uUwAAUAmVDlm5ubnq0KGDPvjgg3L3v/7663rvvfc0ceJELV++XP7+/kpISFBBQYGzzV133aVNmzZp9uzZmj59uhYtWqS///3vzv1ZWVm69tpr1ahRIyUmJuqNN97QCy+8oH//+9/ONkuWLNEdd9yhoUOHas2aNerfv7/69++vjRs3VqoWAED5bu8a7e4SAACokTwq+4DevXurd+/e5e5zOBx69913NWrUKPXr10+S9NlnnykiIkLTpk3T7bffri1btmjmzJlauXKlunTpIkl6//33df311+vNN99UVFSUvvjiCxUVFemTTz6Rl5eX2rZtq7Vr1+rtt992hrFx48bpuuuu01NPPSVJGjNmjGbPnq3x48dr4sSJFaoFAHBqV7YMU0Z+sbvLAACgxjH1mqzdu3crLS1NvXr1cm4LDg5WXFycli5dKklaunSpQkJCnAFLknr16iWr1arly5c721x++eXy8vJytklISFBSUpKOHDnibHP885S1KXueitRyosLCQmVlZbncAAAAAKAyTA1ZaWlpkqSIiAiX7REREc59aWlpCg8Pd9nv4eGhunXrurQp7xjHP8ep2hy//0y1nGjs2LEKDg523qKjGSoDAAAAoHKYXfA4I0eOVGZmpvOWkpLi7pIAAABwnq1JyXB3CajhTA1ZkZGRkqT09HSX7enp6c59kZGR2r9/v8v+kpISHT582KVNecc4/jlO1eb4/Weq5UTe3t4KCgpyuQEAAODC8u9FuyRJJXamWcXZMTVkNWnSRJGRkZo7d65zW1ZWlpYvX674+HhJUnx8vDIyMpSY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njD1F6yqjgucjre3t55//vmThuUCqBq85oDz60J/zZnVv6wN/dRafyarphs0aJB+++030xdeq6rjAgAA4MJkVv+yNvRTa/2ZrJps9erV+vzzzzVhwgRTf8Gq6rgAAAC4MJnVv6wt/VTOZFVTDodDV111ldLT07V+/XrTFl6rquMCAADgwmRW/7I29VNrbuW13IwZM7RgwQJNnz7d1F+wqjouAAAALkxm9S9rUz+VM1nVUElJidq1a6eoqCjNmTPH1IWHq+K4AAAAuDCZ1b+sbf3UWr1OVk310UcfKSkpSW+++aapv2BVdVzADNOnT1fLli3VvHlzffzxx+4uB7gg3HTTTapTp45uvvlmd5cC1HopKSm68sor1aZNG7Vv317ffPONu0syhVn9y9rWT+VMVjWTlZWlZs2a6frrr9eUKVOq/XEBM5SUlKhNmzaaP3++goODFRsbqyVLlig0NNTdpQG12oIFC5Sdna1PP/1U3377rbvLAWq11NRUpaenq2PHjkpLS1NsbKy2bdsmf39/d5d21szqX9bGfipnsqqZf/3rX8rOztbLL79cI44LmGHFihVq27atGjRooICAAPXu3VuzZs1yd1lArXfllVfW6Nm7gJqkfv366tixoyQpMjJS9erV0+HDh91b1Dkyq39ZG/uphKxqhIWHUVMtWrRIN9xwg6KiomSxWDRt2rST2nzwwQdq3LixfHx8FBcXpxUrVjj37du3Tw0aNHDeb9Cggfbu3Xs+SgdqrHN93QGoHDNfc4mJiSotLVV0dHQVV111WHj49AhZ1chzzz2noKAgPfPMMzXiuECZ3NxcdejQQR988EG5+6dOnaoRI0bo+eef1+rVq9WhQwclJCRo//7957lSoPbgdQecX2a95g4fPqxBgwbp3//+9/kou8qY1b+srf3Umj03Yi3icDjUokUL9ezZ09ShG1V1XOB4vXv3Vu/evU+5/+2339b999+ve+65R5I0ceJEzZgxQ5988omeffZZRUVFuZy52rt3r7p161bldQM12bm+7gBUjhmvucLCQvXv31/PPvusLrnkkvNSd1Uwq39Zm/uphKxqwmKxaNSoUTXmuEBFFRUVKTExUSNHjnRus1qt6tWrl5YuXSpJ6tatmzZu3Ki9e/cqODhYv/76q/75z3+6q2SgxqvI6w6AeSrymnM4HBoyZIiuuuoq3X333e4q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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(10, 6))\n", "out[\"DoubleMuon\"][\"DoubleMuon\"][\"mass\"].plot1d(ax=ax)\n", "ax.set_xscale(\"log\")\n", "ax.legend(title=\"Dimuon charge\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Getting fancy\n", "Let's flesh out this analysis into a 4-muon analysis, searching for diboson events:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "from collections import defaultdict\n", "import numba\n", "\n", "\n", "@numba.njit\n", "def find_4lep_kernel(events_leptons, builder):\n", " \"\"\"Search for valid 4-lepton combinations from an array of events * leptons {charge, ...}\n", " \n", " A valid candidate has two pairs of leptons that each have balanced charge\n", " Outputs an array of events * candidates {indices 0..3} corresponding to all valid\n", " permutations of all valid combinations of unique leptons in each event\n", " (omitting permutations of the pairs)\n", " \"\"\"\n", " for leptons in events_leptons:\n", " builder.begin_list()\n", " nlep = len(leptons)\n", " for i0 in range(nlep):\n", " for i1 in range(i0 + 1, nlep):\n", " if leptons[i0].charge + leptons[i1].charge != 0:\n", " continue\n", " for i2 in range(nlep):\n", " for i3 in range(i2 + 1, nlep):\n", " if len({i0, i1, i2, i3}) < 4:\n", " continue\n", " if leptons[i2].charge + leptons[i3].charge != 0:\n", " continue\n", " builder.begin_tuple(4)\n", " builder.index(0).integer(i0)\n", " builder.index(1).integer(i1)\n", " builder.index(2).integer(i2)\n", " builder.index(3).integer(i3)\n", " builder.end_tuple()\n", " builder.end_list()\n", "\n", " return builder\n", "\n", "\n", "def find_4lep(events_leptons):\n", " if ak.backend(events_leptons) == \"typetracer\":\n", " # here we fake the output of find_4lep_kernel since\n", " # operating on length-zero data returns the wrong layout!\n", " ak.typetracer.length_zero_if_typetracer(events_leptons.charge) # force touching of the necessary data\n", " return ak.Array(ak.Array([[(0,0,0,0)]]).layout.to_typetracer(forget_length=True))\n", " return find_4lep_kernel(events_leptons, ak.ArrayBuilder()).snapshot()\n", "\n", "\n", "class FancyDimuonProcessor(processor.ProcessorABC):\n", " def process(self, events):\n", " dataset_axis = hist.axis.StrCategory([], growth=True, name=\"dataset\", label=\"Primary dataset\")\n", " mass_axis = hist.axis.Regular(300, 0, 300, name=\"mass\", label=r\"$m_{\\mu\\mu}$ [GeV]\")\n", " pt_axis = hist.axis.Regular(300, 0, 300, name=\"pt\", label=r\"$p_{T,\\mu}$ [GeV]\")\n", " \n", " h_nMuons = hda.Hist(\n", " dataset_axis,\n", " hda.hist.hist.axis.IntCategory(range(6), name=\"nMuons\", label=\"Number of good muons\"),\n", " storage=\"weight\", label=\"Counts\",\n", " )\n", " h_m4mu = hda.hist.Hist(dataset_axis, mass_axis, storage=\"weight\", label=\"Counts\")\n", " h_mZ1 = hda.hist.Hist(dataset_axis, mass_axis, storage=\"weight\", label=\"Counts\")\n", " h_mZ2 = hda.hist.Hist(dataset_axis, mass_axis, storage=\"weight\", label=\"Counts\")\n", " h_ptZ1mu1 = hda.hist.Hist(dataset_axis, pt_axis, storage=\"weight\", label=\"Counts\")\n", " h_ptZ1mu2 = hda.hist.Hist(dataset_axis, pt_axis, storage=\"weight\", label=\"Counts\")\n", " \n", " cutflow = defaultdict(int)\n", " \n", " dataset = events.metadata['dataset']\n", " muons = ak.zip({\n", " \"pt\": events.Muon_pt,\n", " \"eta\": events.Muon_eta,\n", " \"phi\": events.Muon_phi,\n", " \"mass\": events.Muon_mass,\n", " \"charge\": events.Muon_charge,\n", " \"isolation\": events.Muon_pfRelIso03_all,\n", " }, with_name=\"PtEtaPhiMCandidate\", behavior=candidate.behavior)\n", " \n", " # make sure they are sorted by transverse momentum\n", " muons = muons[ak.argsort(muons.pt, axis=1)]\n", " \n", " cutflow['all events'] = ak.num(muons, axis=0)\n", " \n", " # impose some quality and minimum pt cuts on the muons\n", " muons = muons[\n", " (muons.pt > 5)\n", " & (muons.isolation < 0.2)\n", " ]\n", " cutflow['at least 4 good muons'] += ak.sum(ak.num(muons) >= 4)\n", " h_nMuons.fill(dataset=dataset, nMuons=ak.num(muons))\n", " \n", " # reduce first axis: skip events without enough muons\n", " muons = muons[ak.num(muons) >= 4]\n", " \n", " # find all candidates with helper function\n", " fourmuon = dak.map_partitions(find_4lep, muons)\n", " fourmuon = [muons[fourmuon[idx]] for idx in \"0123\"]\n", "\n", " fourmuon = ak.zip({\n", " \"z1\": ak.zip({\n", " \"lep1\": fourmuon[0],\n", " \"lep2\": fourmuon[1],\n", " \"p4\": fourmuon[0] + fourmuon[1],\n", " }),\n", " \"z2\": ak.zip({\n", " \"lep1\": fourmuon[2],\n", " \"lep2\": fourmuon[3],\n", " \"p4\": fourmuon[2] + fourmuon[3],\n", " }),\n", " })\n", "\n", " cutflow['at least one candidate'] += ak.sum(ak.num(fourmuon) > 0)\n", "\n", " # require minimum dimuon mass\n", " fourmuon = fourmuon[(fourmuon.z1.p4.mass > 60.) & (fourmuon.z2.p4.mass > 20.)]\n", " cutflow['minimum dimuon mass'] += ak.sum(ak.num(fourmuon) > 0)\n", "\n", " # choose permutation with z1 mass closest to nominal Z boson mass\n", " bestz1 = ak.singletons(ak.argmin(abs(fourmuon.z1.p4.mass - 91.1876), axis=1))\n", " fourmuon = ak.flatten(fourmuon[bestz1])\n", "\n", " h_m4mu.fill(\n", " dataset=dataset,\n", " mass=(fourmuon.z1.p4 + fourmuon.z2.p4).mass,\n", " )\n", " h_mZ1.fill(\n", " dataset=dataset, \n", " mass=fourmuon.z1.p4.mass,\n", " )\n", " h_mZ2.fill(\n", " dataset=dataset, \n", " mass=fourmuon.z2.p4.mass,\n", " )\n", " h_ptZ1mu1.fill(\n", " dataset=dataset,\n", " pt=fourmuon.z1.lep1.pt,\n", " )\n", " h_ptZ1mu2.fill(\n", " dataset=dataset,\n", " pt=fourmuon.z1.lep2.pt,\n", " )\n", " return {\n", " 'nMuons': h_nMuons,\n", " 'mass': h_m4mu,\n", " 'mass_z1': h_mZ1,\n", " 'mass_z2': h_mZ2,\n", " 'pt_z1_mu1': h_ptZ1mu1,\n", " 'pt_z1_mu2': h_ptZ1mu2,\n", " 'cutflow': {dataset: cutflow},\n", " }\n", "\n", " def postprocess(self, accumulator):\n", " pass" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'DoubleMuon': {'nMuons': Hist(\n", " StrCategory(['DoubleMuon'], growth=True, name='dataset', label='Primary dataset'),\n", " IntCategory([0, 1, 2, 3, 4, 5], name='nMuons', label='Number of good muons'),\n", " storage=Weight()) # Sum: WeightedSum(value=5.59547e+07, variance=5.59547e+07) (WeightedSum(value=5.60847e+07, variance=5.60847e+07) with flow), 'mass': Hist(\n", " StrCategory(['DoubleMuon'], growth=True, name='dataset', label='Primary dataset'),\n", " Regular(300, 0, 300, name='mass', label='$m_{\\\\mu\\\\mu}$ [GeV]'),\n", " storage=Weight()) # Sum: WeightedSum(value=54219, variance=54219) (WeightedSum(value=60748, variance=60748) with flow), 'mass_z1': Hist(\n", " StrCategory(['DoubleMuon'], growth=True, name='dataset', label='Primary dataset'),\n", " Regular(300, 0, 300, name='mass', label='$m_{\\\\mu\\\\mu}$ [GeV]'),\n", " storage=Weight()) # Sum: WeightedSum(value=60314, variance=60314) (WeightedSum(value=60748, variance=60748) with flow), 'mass_z2': Hist(\n", " StrCategory(['DoubleMuon'], growth=True, name='dataset', label='Primary dataset'),\n", " Regular(300, 0, 300, name='mass', label='$m_{\\\\mu\\\\mu}$ [GeV]'),\n", " storage=Weight()) # Sum: WeightedSum(value=60079, variance=60079) (WeightedSum(value=60748, variance=60748) with flow), 'pt_z1_mu1': Hist(\n", " StrCategory(['DoubleMuon'], growth=True, name='dataset', label='Primary dataset'),\n", " Regular(300, 0, 300, name='pt', label='$p_{T,\\\\mu}$ [GeV]'),\n", " storage=Weight()) # Sum: WeightedSum(value=60736, variance=60736) (WeightedSum(value=60748, variance=60748) with flow), 'pt_z1_mu2': Hist(\n", " StrCategory(['DoubleMuon'], growth=True, name='dataset', label='Primary dataset'),\n", " Regular(300, 0, 300, name='pt', label='$p_{T,\\\\mu}$ [GeV]'),\n", " storage=Weight()) # Sum: WeightedSum(value=57002, variance=57002) (WeightedSum(value=60748, variance=60748) with flow), 'cutflow': {'DoubleMuon': defaultdict(, {'all events': dask.awkward, 'at least 4 good muons': dask.awkward, 'at least one candidate': dask.awkward, 'minimum dimuon mass': dask.awkward})}}, 'ZZ to 4mu': {'nMuons': Hist(\n", " StrCategory(['ZZ to 4mu'], growth=True, name='dataset', label='Primary dataset'),\n", " IntCategory([0, 1, 2, 3, 4, 5], name='nMuons', label='Number of good muons'),\n", " storage=Weight()) # Sum: WeightedSum(value=1.49776e+06, variance=1.49776e+06) (WeightedSum(value=1.49906e+06, variance=1.49906e+06) with flow), 'mass': Hist(\n", " StrCategory(['ZZ to 4mu'], growth=True, name='dataset', label='Primary dataset'),\n", " Regular(300, 0, 300, name='mass', label='$m_{\\\\mu\\\\mu}$ [GeV]'),\n", " storage=Weight()) # Sum: WeightedSum(value=79350, variance=79350) (WeightedSum(value=98261, variance=98261) with flow), 'mass_z1': Hist(\n", " StrCategory(['ZZ to 4mu'], growth=True, name='dataset', label='Primary dataset'),\n", " Regular(300, 0, 300, name='mass', label='$m_{\\\\mu\\\\mu}$ [GeV]'),\n", " storage=Weight()) # Sum: WeightedSum(value=98198, variance=98198) (WeightedSum(value=98261, variance=98261) with flow), 'mass_z2': Hist(\n", " StrCategory(['ZZ to 4mu'], growth=True, name='dataset', label='Primary dataset'),\n", " Regular(300, 0, 300, name='mass', label='$m_{\\\\mu\\\\mu}$ [GeV]'),\n", " storage=Weight()) # Sum: WeightedSum(value=97699, variance=97699) (WeightedSum(value=98261, variance=98261) with flow), 'pt_z1_mu1': Hist(\n", " StrCategory(['ZZ to 4mu'], growth=True, name='dataset', label='Primary dataset'),\n", " Regular(300, 0, 300, name='pt', label='$p_{T,\\\\mu}$ [GeV]'),\n", " storage=Weight()) # Sum: WeightedSum(value=98259, variance=98259) (WeightedSum(value=98261, variance=98261) with flow), 'pt_z1_mu2': Hist(\n", " StrCategory(['ZZ to 4mu'], growth=True, name='dataset', label='Primary dataset'),\n", " Regular(300, 0, 300, name='pt', label='$p_{T,\\\\mu}$ [GeV]'),\n", " storage=Weight()) # Sum: WeightedSum(value=97998, variance=97998) (WeightedSum(value=98261, variance=98261) with flow), 'cutflow': {'ZZ to 4mu': defaultdict(, {'all events': dask.awkward, 'at least 4 good muons': dask.awkward, 'at least one candidate': dask.awkward, 'minimum dimuon mass': dask.awkward})}}}\n", "109.41525983810425\n" ] } ], "source": [ "import time\n", "\n", "tstart = time.time()\n", "\n", "to_compute = apply_to_fileset(\n", " FancyDimuonProcessor(),\n", " max_chunks(dataset_runnable, 300),\n", " schemaclass=BaseSchema,\n", " )\n", "(out,) = dask.compute(to_compute)\n", "print(out)\n", "\n", "elapsed = time.time() - tstart\n", "print(elapsed)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Events/s: 526286.4803794603\n" ] } ], "source": [ "nevt = out['ZZ to 4mu']['cutflow']['ZZ to 4mu']['all events'] + out['DoubleMuon']['cutflow']['DoubleMuon']['all events']\n", "print(\"Events/s:\", (nevt / elapsed).compute())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What follows is just us looking at the output, you can execute it if you wish" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# scale ZZ simulation to expected yield\n", "lumi = 11.6 # 1/fb\n", "zzxs = 7200 * 0.0336**2 # approximate 8 TeV ZZ(4mu)\n", "nzz = out['ZZ to 4mu']['cutflow']['ZZ to 4mu']['all events']\n", "\n", "scaled = {}\n", "for (name1, h1), (nam2, h2) in zip(out['ZZ to 4mu'].items(), out['DoubleMuon'].items()):\n", " if isinstance(h1, hist.Hist) and isinstance(h2, hist.Hist):\n", " scaled[name1] = h1.copy() + h2.copy()\n", " scaled[name1].view()[0, :] *= lumi * zzxs / nzz.compute()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1, 54961323.59635242)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "scaled['nMuons'].plot1d(ax=ax, overlay='dataset')\n", "ax.set_yscale('log')\n", "ax.set_ylim(1, None)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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Tz5p7Nu3zzCM0GsfemB8VF1drW3btik9Pd15rk2bNkpPT1dBQUEQaxZc3333nZKTk9WnTx9NmTJFpaWlkqRt27appqbGrb0GDBig8847L2Lba+/evbLb7W5tYrPZlJqa6myTgoICxcXFacSIEc4y6enpatOmjbZu3drqdQ6WvLw8xcfHq3///po1a5YOHTrkvBZpbVReXi5J6tKliyTffrcKCgo0ZMgQt8SfGRkZcjgc2r17dyvWvnWc2kYNVq9erW7dumnw4MHKyspSZWWl81oktdHJkyf15ptvqra2VhMmTPD5O5SSkqIHHnjAmbQu1NondKYTh7h//etfOnny5GmZgBMSEvTtt98GqVbBlZqaqpUrV6p///46cOCAHn30UV122WXatWuX7Ha7rFbraRtqJiQkyG63B6fCQdbw3J6+Qw3X7Ha74uPj3a63a9dOXbp0iZh2GzdunG688Ub17t1be/bs0UMPPaTx48eroKBAbdu2jag2qqur03333adRo0Zp8ODBkuTT75bdbvf4PWu4Fk48tZEk3XrrrerVq5eSk5NVVFSkBQsWqLi4WH//+98lRUYb7dy5U2lpaTpx4oQ6deqkt956S4MGDVJhYWFYfIcIYNBi48ePdx6npKQoNTVVvXr10uuvv64OHToEsWYws8mTJzuPhwwZopSUFPXt21d5eXkaM2ZMEGvW+jIzM7Vr1y63uWVw562NXOdEDRkyRElJSRozZoz27Nmjvn37tnY1g6J///4qLCxUeXm53nzzTU2bNk35+fnBrpbfMITko27duqlt27anzdIuKytTYmJikGoVWuLi4nT++eerpKREiYmJqq6u1pEjR9zKRHJ7NTz3mb5DiYmJp00Kr62t1eHDhyO23fr06aNu3bqppKREUuS00ezZs7Vu3Tp99NFHbvvO+PK7lZiY6PF71nAtXHhrI09SU1Mlye17FO5tZLVa1a9fPw0fPlw5OTkaOnSonnvuubD5DhHA+MhqtWr48OHauHGj81xdXZ02btyotLS0INYsdBw7dkx79uxRUlKShg8frqioKLf2Ki4uVmlpacS2V+/evZWYmOjWJg6HQ1u3bnW2SVpamo4cOaJt27Y5y2zatEl1dXXOf4AjzU8//aRDhw4pKSlJUvi3kWEYmj17tt566y1t2rRJvXv3drvuy+9WWlqadu7c6Rbo5ebmKjY2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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "\n", "scaled['mass'][:, ::hist.rebin(4)].plot1d(ax=ax, overlay='dataset');" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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qRo3bpx+/PFHXXbZZW7bVqxYoUGDBikuLk6SFBYW1ngHBaBBOAMDoF5++OEH2Ww2/f3vf9ewYcMUFBSkwYMHKy8vT59++qmGDBmi4OBgDR8+XAUFBU1ez4MPPqg2bdroq6++0u9+9zv16dNHPXr00G233aaNGzdqzJgxkqSKigqlpqaqe/fuCgoKUnx8vN5++23X59xyyy3q3LmzVq5c6fb5RUVFWrdunaZOndrkxwLAewQYAPWyZ88eSVJaWpoWL16s7du3Kz8/X3fffbeeeeYZvfLKK/rkk0+0Z88erVixoklrOX78uD766COlpKSoXbt2HtvYbDZJUmpqqlatWqXly5dr//79mjlzpu6++25lZGRIktq0aaNJkyZp5cqVMgzDtf+6det09uxZTZgwoUmPBUD9cAkJQL1kZWWpQ4cOWrt2rTp27ChJuv766/XZZ59p//79Cg4OliQNHjxYDoejSWvJzc2VYRjq1auX2/pOnTrp9OnTkqSUlBQ99dRTWrx4sT7++GMlJiZKknr06KHPPvtM//mf/6nrr79eknTffffpueeeU0ZGhm644QZJlZePxo0bx2UjwMdwBgZAvezZs0e33367K7xIUl5enu68805XeKla1717dzNK1BdffKGsrCxdeeWVKi0tVW5urkpKSvTb3/5WISEhrmXVqlU6ePCga7/evXvrN7/5jV5//XVJlQHp008/5fIR4IMIMADqJSsrSwkJCW7r9uzZoyFDhrjenz59Wjk5OYqPj5ckJSYmus7G7N69W+PGjbvgem/FxsbKZrMpJyfHbX2PHj0UGxuroKAgSZXjWCRp48aNysrKci3ffPON2zgYqXIw79///nedPHlSK1asUM+ePV1naAD4DgIMAK85nU798MMPGjBggGvdoUOHVFhY6LZu7969MgxD/fv3l2EYOnbsmGv20N69exUXF1fr+vro2LGjfvvb3+qVV15RcXFxre369u2rwMBA5eXlKTY21m3p0qWLW9vf/e53atWqldasWaNVq1bpvvvuc42jAeA7GAMDwGt79uxR69at3e7DUjUmplu3bm7revbsqZCQEB08eNDtUtLevXv1m9/8Rt9//73H9fX16quvaujQoRo0aJAWLVqkuLg4tWrVSl9++aUOHDiggQMHqn379po9e7ZmzpypiooKXXvttSosLNTnn3+u0NBQTZ482fV5ISEhuvPOOzVv3jw5nU5NmTKl3jUBaHqcgQHgtT179qhXr15q27at27rqZ1+q1lVdPsrOzlb//v1d277++mv179+/1vX11bNnT3399ddKSkrSvHnzFB8fr0GDBunll1/W7Nmz9fTTT0uSnn76aT3++ONKTU1Vnz59NHLkSG3cuNHjOJ2pU6fq119/VXJysmJiYupdE4CmZzOqzxcEgEb25JNPyuFwKC0tTV9++aVuvPFGOZ1OPf300x7Xt2rl+d9VN9xwg6666iq98MILzXsAtbDZbFq/fr3Gjh1rdilAi8QZGABNKjs7W06nU/Hx8VqxYoWio6O1Zs2aWtdfyKuvvqqQkBDt3bu3mao/3wMPPKCQkBDTfj6ASpyBAdCk+vTpo6+//trtstOF1tfmp59+0qlTpyRJXbt2ld1ub/RavXHs2DE5nU5JUnR0dK030APQtBjEC6DJFBcXq3Xr1ueFlNrWX8ill17a2OU1SEREhCIiIswuA2jxOAMDAAAshzEwAADAcggwAADAcggwAADAcggwAADAcggwAADAcggwAADAcggwAADAcggwAADAcggwAADAcggwAADAcggwAADAcggwAADAcv4/RnSP29eDXVYAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "\n", "scaled['mass_z1'].plot1d(ax=ax, overlay='dataset');" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2.0, 300.0)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkwAAAG2CAYAAACNhdkhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA170lEQVR4nO3df1RUdeL/8deIDgo4kCK/8sdRKX+kkqlLrGWWrmj2w/JzNs3SyrVji1v+rOzbmuV+pDWr7Yfhp/azWp/NPmabtemuib8wEy1NRK04YfpB08FWg0lQQLnfP1hGBgcuA8PMAM/HOfcc5t73vfO+bwfm5b3v+35bDMMwBAAAgBq18ncFAAAAAh2BCQAAwASBCQAAwASBCQAAwASBCQAAwASBCQAAwASBCQAAwASBCQAAwERrf1egsZSXl+vEiRNq3769LBaLv6sDAADqwDAM/fzzz4qLi1OrVoFzXafZBqYTJ06oS5cu/q4GAACoh2PHjqlz587+roZTsw1M7du3l1TR4Dabzc+1AQAAdeFwONSlSxfn93igaLaBqfI2nM1mIzABANDEBFp3msC5OQgAABCgCEwAAAAmCEwAAAAmCEwAAAAmCEwAAAAmCEwAAAAmCEwAAAAmCEwAAAAmCEwAAAAmCEwAAAAmCEwAAAAmCEwAAAAmCEwAAAAmCEwAAAAmCEzeVlokLQyvWEqL/F0bAADgBQQmAAAAEwQmAAAAEwQmAAAAEwQmAAAAEwQmbzIMqbTY9TUAAGjyCEzeVFYsLY2v8vqc/+oCAAC8hsAEAABggsAEAABggsAEAABggsAEAABggsAEAABggsAEAABggsAEAABggsDUmKwh/q4BAADwAgITAACACQITAACACQITAACACQJTY1ocJ5UW+bsWAACggQhMAAAAJghMAAAAJghMAAAAJghMja20WDIMf9cCAAA0AIGpsS2Nl8qK/V0LAADQAAQmAAAAEwQmAAAAEwQmAAAAEwQmAAAAEwQmAAAAEwQmAAAAEwSmxjI31981AAAAXkJgAgAAMEFgAgAAMEFgAgAAMEFgAgAAMOFRYEpNTdWQIUPUvn17RUVFady4ccrJyXEpM3z4cFksFpdl+vTpLmXy8vI0duxYhYSEKCoqSvPmzdOFCxdcymzbtk3XXXedgoODFR8fr5UrV9bvDAEAABrIo8CUkZGhlJQU7dq1S+np6SorK9OoUaNUVFTkUm7atGk6efKkc1myZIlz28WLFzV27FiVlpZq586devvtt7Vy5UotWLDAWebIkSMaO3asbr75ZmVlZWnmzJn6zW9+o08//bSBpwsAAOC51p4U3rBhg8vrlStXKioqSnv37tWwYcOc60NCQhQTE+P2GBs3btTXX3+tTZs2KTo6Wtdee60WLVqkJ554QgsXLpTVatXy5cvVvXt3vfjii5KkPn36aMeOHXr55ZeVnJzs6TkCAAA0SIP6MBUWFkqSOnTo4LL+3XffVWRkpPr166f58+eruLjYuS0zM1P9+/dXdHS0c11ycrIcDocOHTrkLDNy5EiXYyYnJyszM7PGupSUlMjhcLgsAAAA3uDRFaaqysvLNXPmTA0dOlT9+vVzrr/33nvVrVs3xcXFKTs7W0888YRycnL04YcfSpLsdrtLWJLkfG2322st43A4dO7cObVr1+6y+qSmpurZZ5+t7+kAAADUqN6BKSUlRQcPHtSOHTtc1j/88MPOn/v376/Y2FiNGDFChw8fVs+ePetfUxPz58/X7Nmzna8dDoe6dOnSaO8HAABajnrdkpsxY4bWrVunrVu3qnPnzrWWTUxMlCTl5lZMFRITE6P8/HyXMpWvK/s91VTGZrO5vbokScHBwbLZbC4LAACAN3gUmAzD0IwZM7R27Vpt2bJF3bt3N90nKytLkhQbGytJSkpK0oEDB3Tq1ClnmfT0dNlsNvXt29dZZvPmzS7HSU9PV1JSkifVBQAA8AqPAlNKSor++te/atWqVWrfvr3sdrvsdrvOnTsnSTp8+LAWLVqkvXv36ujRo/r73/+uyZMna9iwYRowYIAkadSoUerbt6/uv/9+7d+/X59++qmefvpppaSkKDg4WJI0ffp0ff/993r88cf17bff6o033tD777+vWbNmefn0AQAAzHkUmNLS0lRYWKjhw4crNjbWuaxevVqSZLVatWnTJo0aNUq9e/fWnDlzNH78eH3yySfOYwQFBWndunUKCgpSUlKS7rvvPk2ePFnPPfecs0z37t21fv16paenKyEhQS+++KL+/Oc/M6QAAADwC486fRuGUev2Ll26KCMjw/Q43bp10z/+8Y9aywwfPlz79u3zpHoAAACNgrnkfGFxnFRaZF4OAAAEJAITAACACQITAACACQITAACACQITAACACQKTr5QW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RWACAAAwQWAKZKXFzCkHAEAAIDAFsqXxUlmxv2sBAECLR2ACAAAwQWAKJEyTAgBAQCIwBRKmSQEAICARmAAAAEwQmAAAAEwQmAKNNZQpUgAACDAEJgAAABMEJgAAABMeB6bt27fr9ttvV1xcnCwWiz766COX7Q888IAsFovLMnr0aJcyZ86c0aRJk2Sz2RQREaGpU6fq7NmzLmWys7N14403qm3bturSpYuWLFni+dkBAAB4gceBqaioSAkJCVq2bFmNZUaPHq2TJ086l/fee89l+6RJk3To0CGlp6dr3bp12r59ux5++GHndofDoVGjRqlbt27au3evXnjhBS1cuFBvvvmmp9UFAABosNae7jBmzBiNGTOm1jLBwcGKiYlxu+2bb77Rhg0b9OWXX2rw4MGSpNdee0233nqrli5dqri4OL377rsqLS3VX/7yF1mtVl1zzTXKysrSSy+95BKsAAAAfKFR+jBt27ZNUVFR6tWrlx555BGdPn3auS0zM1MRERHOsCRJI0eOVKtWrbR7925nmWHDhslqtTrLJCcnKycnRz/99JPb9ywpKZHD4XBZAAAAvMHrgWn06NF65513tHnzZv3xj39URkaGxowZo4sXL0qS7Ha7oqKiXPZp3bq1OnToILvd7iwTHR3tUqbydWWZ6lJTUxUeHu5cunTp4u1T84/FcVJpkb9rAQBAi+bxLTkzEyZMcP7cv39/DRgwQD179tS2bds0YsQIb7+d0/z58zV79mzna4fD0XxCEwAA8KtGH1agR48eioyMVG5uxaSyMTExOnXqlEuZCxcu6MyZM85+TzExMcrPz3cpU/m6pr5RwcHBstlsLgsAAIA3NHpgOn78uE6fPq3Y2FhJUlJSkgoKCrR3715nmS1btqi8vFyJiYnOMtu3b1dZWZmzTHp6unr16qUrrriisasceEqLJcPwdy0AAGixPA5MZ8+eVVZWlrKysiRJR44cUVZWlvLy8nT27FnNmzdPu3bt0tGjR7V582bdeeedio+PV3JysiSpT58+Gj16tKZNm6YvvvhCn3/+uWbMmKEJEyYoLi5OknTvvffKarVq6tSpOnTokFavXq1XXnnF5ZZbi7I0Xior9nctAABosTwOTHv27NHAgQM1cOBASdLs2bM1cOBALViwQEFBQcrOztYdd9yhq6++WlOnTtWgQYP02WefKTg42HmM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IEkKDw/33kkBaBK4wgTAI0ePHpXFYtHf/vY3DRs2TO3atdOQIUOUl5enzz77TNdff71CQkI0YsQIFRQUNHp9fvvb36p169bas2ePfv3rX6tPnz7q0aOH7rzzTq1fv1633367JKm8vFypqanq3r272rVrp4SEBH3wwQfO49x2223q1KmTVq5c6XL8s2fPas2aNZo6dWqjnwuAwEVgAuCR/fv3S5LS0tK0ePFi7dy5U/n5+brvvvv0/PPP6/XXX9fWrVu1f/9+rVixolHrcvr0aW3cuFEpKSkKDQ11W8ZisUiSUlNT9c4772j58uU6dOiQZs2apfvuu08ZGRmSpNatW2vy5MlauXKlDMNw7r9mzRpdvHhREydObNRzARDYuCUHwCNZWVnq0KGDVq9erY4dO0qSbrrpJu3YsUOHDh1SSEiIJGnIkCGy2+2NWpfc3FwZhqFevXq5rI+MjNT58+clSSkpKXruuee0ePFibdq0SUlJSZKkHj16aMeOHfqv//ov3XTTTZKkhx56SC+88IIyMjI0fPhwSRW348aPH89tOKCF4woTAI/s379fd911lzMsSVJeXp7uueceZ1iqXNe9e3d/VFFffPGFsrKydM0116ikpES5ubkqLi7Wr371K4WFhTmXd955R4cPH3bu17t3b/3yl7/UX/7yF0kVgeyzzz7jdhwAAhMAz2RlZSkxMdFl3f79+3X99dc7X58/f145OTlKSEiQJCUlJTmvNn311VcaP358revrKj4+XhaLRTk5OS7re/Toofj4eLVr105SRT8kSVq/fr2ysrKcy9dff+3Sj0mq6Pz9t7/9TT///LNWrFihnj17Oq9AAWi5CEwA6szhcOjo0aMaOHCgc92RI0dUWFjosu7AgQMyDEP9+/eXYRg6deqU8+m2AwcOaMCAATWu90THjh31q1/9Sq+//rqKiopqLNe3b18FBwcrLy9P8fHxLkuXLl1cyv76179Wq1attGrVKr3zzjt66KGHnP2gALRc9GECUGf79+9XUFCQyzhIlX2aunXr5rKuZ8+eCgsL0+HDh11uzR04cEC//OUv9f3337td76k33nhDQ4cO1eDBg7Vw4UINGDBArVq10pdffqlvv/1WgwYNUvv27TV37lzNmjVL5eXluuGGG1RYWKjPP/9cNptNU6ZMcR4vLCxM99xzj+bPny+Hw6EHHnjA4zoBaH64wgSgzvbv369evXqpbdu2LuuqXl2qXFd5Oy47O1v9+/d3btu3b5/69+9f43pP9ezZU/v27dPIkSM1f/58JSQkaPDgwXrttdc0d+5cLVq0SJK0aNEi/f73v1dqaqr69Omj0aNHa/369W77WU2dOlU//fSTkpOTFRcX53GdADQ/FqPq87MA4GXPPvus7Ha70tLS9OWXX+rmm2+Ww+HQokWL3K5v1cr9/+OGDx+ua6+9Vn/60598ewI1sFgsWrt2rcaNG+fvqgDwAa4wAWhU2dnZcjgcSkhI0IoVKxQbG6tVq1bVuL42b7zxhsLCwnTgwAEf1f5y06dPV1hYmN/eH4B/cIUJQKPq06eP9u3b53Ibr7b1Nfnhhx907tw5SVLXrl1ltVq9Xte6OHXqlBwOhyQpNja2xgEzATQvdPoG0GiKiooUFBR0WSiqaX1trrzySm9Xr16ioqIUFRXl72oA8DGuMAEAAJigDxMAAIAJAhMAAIAJAhMAAIAJAhMAAIAJAhMAAIAJAhMAAIAJAhMAAIAJAhMAAIAJAhMAAIAJAhMAAIAJAhMAAIAJAhMAAICJ/w8iDY+wmtlifwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "\n", "scaled['mass_z2'].plot1d(ax=ax, overlay='dataset')\n", "ax.set_xlim(2, 300)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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0+nUhx9+6Nk+cuRIWSwWr2XatGlexygoKFBiYqKCg4MVHh6uefPmqbKy0qtNenq6hg0bJpvNppiYGKWmpjb+DAEAQMDp4Evjnj176oknntBPfvITGYah1atX6+abb9aePXt0xRVXSJKmTp2qxx57zLNPcHCw5+eqqiolJibK4XBox44dOnbsmCZNmqSgoCAtWbJEknT48GElJiZq2rRpWrNmjbZu3ar7779fkZGRSkhIaIpzBgAAJudTgBk/frzX6z/+8Y9auXKldu7c6QkwwcHBcjgcde6/ZcsW7d+/Xx999JEiIiI0ZMgQPf7441qwYIEWL14sq9WqVatWKTo6Wk899ZQkacCAAfrkk0/0zDPPEGAAAICkSxgDU1VVpTfffFOlpaVyOp2e9WvWrFH37t01cOBAJScn69Sps09izszM1KBBgxQREeFZl5CQILfbrX379nnajB492uu9EhISlJmZ2dhSAQBAgPHpCowk5ebmyul06syZMwoJCdH69esVGxsrSbrrrrvUp08fRUVFKScnRwsWLFBeXp7+9re/SZJcLpdXeJHkee1yuS7axu126/Tp0+rUqVOddZWVlamsrMzz2u12+3pqTav8lPfP1s7+qwUAgADjc4Dp16+fsrOzVVJSonfeeUeTJ09WRkaGYmNj9cADD3jaDRo0SJGRkRo1apQOHTqkyy+/vEkL/6GUlBQ9+uijzfoeAACgdfD5KySr1aqYmBgNHz5cKSkpGjx4sJYvX15n2/j4eElSfn7NtPoOh0OFhYVebWpf146buVAbu91+wasvkpScnKySkhLPcuTIEV9PDQAAmMQlzwNTXV3t9dXNubKzsyVJkZGRkiSn06nc3FwVFRV52qSlpclut3u+hnI6ndq6davXcdLS0rzG2dTFZrN5bu+uXVqN8lOSYfi7CgAAAoZPASY5OVnbt2/X119/rdzcXCUnJys9PV0TJ07UoUOH9PjjjysrK0tff/213n//fU2aNEkjRoxQXFycJGnMmDGKjY3VPffco3/+85/avHmzFi5cqKSkJNlsNknStGnT9NVXX2n+/Pk6ePCgXnzxRb399tuaNWtW0599S3kuTqo4VX87AADQID4FmKKiIk2aNEn9+vXTqFGj9Pnnn2vz5s264YYbZLVa9dFHH2nMmDHq37+/5syZowkTJuiDDz7w7N++fXtt2LBB7du3l9Pp1N13361JkyZ5zRsTHR2tjRs3Ki0tTYMHD9ZTTz2ll19+2fy3UC+JkspL/V0FAAABwWIYgfndhtvtVmhoqEpKSlru66Ty0pqgIklzvpSe+on39oePcjcSAAAX0dC/3zwLqblYLOevYywMAABNggDTkpbFMBYGAIAmQIABAACmQ4BpLtZg6ZFiaW6+vysBACDgEGCak8VSE2QAAECTIsAAAADTIcAAAADTIcA0N2vnmvlfAABAkyHAAAAA0yHAAAAA0yHAAAAA0yHAAAAA0yHAAAAA0yHAAAAA0yHAAAAA0yHAAAAA0yHAAAAA0yHAAAAA0yHAtITyU3X/DAAAGoUAAwAATIcAAwAATIcA09LKT0mG4e8qAAAwNQJMS3suTqpgHAwAAJeCAAMAAEyHANMSgjr5uwIAAAIKAaYlWCz+rgAAgIBCgAEAAKZDgGkJ1s7Sw0f9XQUAAAGDAAMAAEyHAAMAAEzHpwCzcuVKxcXFyW63y263y+l06sMPP/RsP3PmjJKSktStWzeFhIRowoQJKiws9DpGQUGBEhMTFRwcrPDwcM2bN0+VlZVebdLT0zVs2DDZbDbFxMQoNTW18WcIAAACjk8BpmfPnnriiSeUlZWlL774Qtdff71uvvlm7du3T5I0a9YsffDBB1q3bp0yMjJ09OhR3XrrrZ79q6qqlJiYqPLycu3YsUOrV69WamqqFi1a5Glz+PBhJSYm6rrrrlN2drZmzpyp+++/X5s3b26iUwYAAGZnMYxLm9e+a9euevLJJ3XbbbepR48eWrt2rW677TZJ0sGDBzVgwABlZmbq6quv1ocffqibbrpJR48eVUREhCRp1apVWrBggb799ltZrVYtWLBAGzdu1N69ez3vcccdd6i4uFibNm1qcF1ut1uhoaEqKSmR3W6/lFNsuPJSaUlUzc8PH60ZvNuQbQAAQFLD/343egxMVVWV3nzzTZWWlsrpdCorK0sVFRUaPXq0p03//v3Vu3dvZWZmSpIyMzM1aNAgT3iRpISEBLndbs9VnMzMTK9j1LapPQYAAEAHX3fIzc2V0+nUmTNnFBISovXr1ys2NlbZ2dmyWq0KCwvzah8RESGXyyVJcrlcXuGldnvttou1cbvdOn36tDp1qntW27KyMpWVlXleu91uX08NAACYhM9XYPr166fs7Gzt2rVL06dP1+TJk7V///7mqM0nKSkpCg0N9Sy9evXyd0kAAKCZ+BxgrFarYmJiNHz4cKWkpGjw4MFavny5HA6HysvLVVxc7NW+sLBQDodDkuRwOM67K6n2dX1t7Hb7Ba++SFJycrJKSko8y5EjR3w9NQAAYBKXPA9MdXW1ysrKNHz4cAUFBWnr1q2ebXl5eSooKJDT6ZQkOZ1O5ebmqqioyNMmLS1NdrtdsbGxnjbnHqO2Te0xLsRms3lu765dAABAYPJpDExycrLGjRun3r1768SJE1q7dq3S09O1efNmhYaGasqUKZo9e7a6du0qu92uBx98UE6nU1dffbUkacyYMYqNjdU999yjpUuXyuVyaeHChUpKSpLNZpMkTZs2TS+88ILmz5+v++67T9u2bdPbb7+tjRs3Nv3ZAwAAU/IpwBQVFWnSpEk6duyYQkNDFRcXp82bN+uGG26QJD3zzDNq166dJkyYoLKyMiUkJOjFF1/07N++fXtt2LBB06dPl9PpVOfOnTV58mQ99thjnjbR0dHauHGjZs2apeXLl6tnz556+eWXlZCQ0ESnDAAAzO6S54FprZgHBgAA82n2eWAAAAD8hQADAABMhwADAABMhwADAABMhwADAABMhwADAABMhwADAABMhwADAABMhwDjD0uiaia2AwAAjUKAAQAApkOAAQAApkOA8ZfAfAQVAAAtggDjLxWn/V0BAACmRYABAACmQ4BpKUHB0m9z/F0FAAABgQDTUiwWyRrs7yoAAAgIBBgAAGA6BJiWdO4VGK7GAADQaAQYAABgOgQYAABgOgQYAABgOgQYAABgOgQYf+GJ1AAANBoBBgAAmA4BBgAAmA4Bxp/KT/FUagAAGoEA40/LYqSKU/6uAgAA0yHAAAAA0yHAtKSgYGluvr+rAADA9AgwLYknUgMA0CR8CjApKSm66qqr1KVLF4WHh+uWW25RXl6eV5uRI0fKYrF4LdOmTfNqU1BQoMTERAUHBys8PFzz5s1TZWWlV5v09HQNGzZMNptNMTExSk1NbdwZAgCAgONTgMnIyFBSUpJ27typtLQ0VVRUaMyYMSot9Z6QberUqTp27JhnWbp0qWdbVVWVEhMTVV5erh07dmj16tVKTU3VokWLPG0OHz6sxMREXXfddcrOztbMmTN1//33a/PmzZd4uq2AtbP08FF/VwEAgKl18KXxpk2bvF6npqYqPDxcWVlZGjFihGd9cHCwHA5HncfYsmWL9u/fr48++kgREREaMmSIHn/8cS1YsECLFy+W1WrVqlWrFB0draeeekqSNGDAAH3yySd65plnlJCQ4Os5AgCAAHNJY2BKSkokSV27dvVav2bNGnXv3l0DBw5UcnKyTp06e6twZmamBg0apIiICM+6hIQEud1u7du3z9Nm9OjRXsdMSEhQZmbmpZTbOvFIAQAAfObTFZhzVVdXa+bMmbrmmms0cOBAz/q77rpLffr0UVRUlHJycrRgwQLl5eXpb3/7myTJ5XJ5hRdJntcul+uibdxut06fPq1OnTqdV09ZWZnKyso8r91ud2NPDQAAtHKNDjBJSUnau3evPvnkE6/1DzzwgOfnQYMGKTIyUqNGjdKhQ4d0+eWXN77SeqSkpOjRRx9ttuM3K2bjBQDAJ436CmnGjBnasGGDPv74Y/Xs2fOibePj4yVJ+fk18584HA4VFhZ6tal9XTtu5kJt7HZ7nVdfJCk5OVklJSWe5ciRI76fmL9UnPZ3BQAAmIpPAcYwDM2YMUPr16/Xtm3bFB0dXe8+2dnZkqTIyEhJktPpVG5uroqKijxt0tLSZLfbFRsb62mzdetWr+OkpaXJ6XRe8H1sNpvsdrvXAgAAApNPASYpKUmvv/661q5dqy5dusjlcsnlcun06ZorCIcOHdLjjz+urKwsff3113r//fc1adIkjRgxQnFxcZKkMWPGKDY2Vvfcc4/++c9/avPmzVq4cKGSkpJks9kkSdOmTdNXX32l+fPn6+DBg3rxxRf19ttva9asWU18+n4SFCz9NsffVQAAYFo+BZiVK1eqpKREI0eOVGRkpGd56623JElWq1UfffSRxowZo/79+2vOnDmaMGGCPvjgA88x2rdvrw0bNqh9+/ZyOp26++67NWnSJD322GOeNtHR0dq4caPS0tI0ePBgPfXUU3r55ZcD5xZqZuQFAOCS+DSI16hnsGmvXr2UkZFR73H69Omjv//97xdtM3LkSO3Zs8eX8gAAQBvBs5D85dwrMFyNAQDAJwQYAABgOgQYAABgOgQYAABgOgQYAABgOgQYAABgOgQYAABgOgQYAABgOgQYAABgOgQYAABgOgQYAABgOgQYAABgOgSY1mBJlFRe6u8qAAAwDQIMAAAwHQJMa1F+SjIMf1cBAIApEGBai2UxUsUpf1cBAIApEGAAAIDpEGD8JShYmpvv7yoAADAlAoy/WCySNdjfVQAAYEoEGAAAYDoEGH+ydpYePurvKgAAMB0CDAAAMB0CDAAAMB0CDAAAMB0CDAAAMB0CTGvCQx0BAGgQAgwAADAdAkxrwwMdAQCoFwGmtak47e8KAABo9QgwAADAdAgw/hYULP025+zrZTEM5AUAoB4+BZiUlBRdddVV6tKli8LDw3XLLbcoLy/Pq82ZM2eUlJSkbt26KSQkRBMmTFBhYaFXm4KCAiUmJio4OFjh4eGaN2+eKisrvdqkp6dr2LBhstlsiomJUWpqauPOsLXjoY4AAPjMpwCTkZGhpKQk7dy5U2lpaaqoqNCYMWNUWnr2isGsWbP0wQcfaN26dcrIyNDRo0d16623erZXVVUpMTFR5eXl2rFjh1avXq3U1FQtWrTI0+bw4cNKTEzUddddp+zsbM2cOVP333+/Nm/e3ASn3Ar9MMCUn2IwLwAAF2ExjMb/pfz2228VHh6ujIwMjRgxQiUlJerRo4fWrl2r2267TZJ08OBBDRgwQJmZmbr66qv14Ycf6qabbtLRo0cVEREhSVq1apUWLFigb7/9VlarVQsWLNDGjRu1d+9ez3vdcccdKi4u1qZNmxpUm9vtVmhoqEpKSmS32xt7ir4pL62Zy0WqeUijtbPv+9XyZX8AAAJEQ/9+X9IYmJKSEklS165dJUlZWVmqqKjQ6NGjPW369++v3r17KzMzU5KUmZmpQYMGecKLJCUkJMjtdmvfvn2eNuceo7ZN7THqUlZWJrfb7bUAAIDA1OgAU11drZkzZ+qaa67RwIEDJUkul0tWq1VhYWFebSMiIuRyuTxtzg0vtdtrt12sjdvt1unTdd9mnJKSotDQUM/Sq1evxp5aywsKlubm+7sKAABMo9EBJikpSXv37tWbb77ZlPU0WnJyskpKSjzLkSNH/F1SwzGQFwAAnzQqwMyYMUMbNmzQxx9/rJ49e3rWOxwOlZeXq7i42Kt9YWGhHA6Hp80P70qqfV1fG7vdrk6dOtVZk81mk91u91pMxdq5ZtwLAACol08BxjAMzZgxQ+vXr9e2bdsUHR3ttX348OEKCgrS1q1bPevy8vJUUFAgp9MpSXI6ncrNzVVRUZGnTVpamux2u2JjYz1tzj1GbZvaYwAAgLatgy+Nk5KStHbtWr333nvq0qWLZ8xKaGioOnXqpNDQUE2ZMkWzZ89W165dZbfb9eCDD8rpdOrqq6+WJI0ZM0axsbG65557tHTpUrlcLi1cuFBJSUmy2WySpGnTpumFF17Q/Pnzdd9992nbtm16++23tXHjxiY+fQAAYEY+3UZtsVjqXP/qq6/q3nvvlVQzkd2cOXP0xhtvqKysTAkJCXrxxRc9Xw9J0r/+9S9Nnz5d6enp6ty5syZPnqwnnnhCHTqczVPp6emaNWuW9u/fr549e+r3v/+95z0awlS3Ude1fy1upwYAtCEN/ft9SfPAtGYEGAAAzKdF5oFBC2BWXgAAzkOAaU3KT52/blmMVFHHegAA2jACDAAAMB0CDAAAMB0CDAAAMB0CTGsSVPcswwAAwBsBpjU5d54dHu4IAMAFEWAAAIDp+PQoATQza2dpcUnNz+Wl/q0FAIBWjCswAADAdAgwAADAdAgwAADAdAgwrdW5jxWo6xEDAAC0YQQYAABgOgQYM+CJ1AAAeCHAmMFzcTyRGgCAcxBgAACA6RBgWiueiwQAwAURYFqrc5+LBAAAvBBgWitrZ+nho/6uAgCAVokAAwAATIcAAwAATIcAAwAATIcAAwAATIcAAwAATIcAYxZLoqTyUn9XAQBAq0CAMROeiQQAgCQCjLksi+GZSAAAiAADAABMiADTmgUFS3Pz/V0FAACtjs8BZvv27Ro/fryioqJksVj07rvvem2/9957ZbFYvJaxY8d6tfn+++81ceJE2e12hYWFacqUKTp58qRXm5ycHF177bXq2LGjevXqpaVLl/p+dmZnsUjWYH9XAQBAq+NzgCktLdXgwYO1YsWKC7YZO3asjh075lneeOMNr+0TJ07Uvn37lJaWpg0bNmj79u164IEHPNvdbrfGjBmjPn36KCsrS08++aQWL16sv/zlL76Wa37Wzt5XYcoZAwMAQAdfdxg3bpzGjRt30TY2m00Oh6PObQcOHNCmTZv0+eef68orr5QkPf/887rxxhu1bNkyRUVFac2aNSovL9crr7wiq9WqK664QtnZ2Xr66ae9gg4AAGibmmUMTHp6usLDw9WvXz9Nnz5dx48f92zLzMxUWFiYJ7xI0ujRo9WuXTvt2rXL02bEiBGyWq2eNgkJCcrLy9O///3vOt+zrKxMbrfbawlI3EoNAEDTB5ixY8fqtdde09atW/WnP/1JGRkZGjdunKqqqiRJLpdL4eHhXvt06NBBXbt2lcvl8rSJiIjwalP7urbND6WkpCg0NNSz9OrVq6lPrXV4Lo5bqQEAbZ7PXyHV54477vD8PGjQIMXFxenyyy9Xenq6Ro0a1dRv55GcnKzZs2d7Xrvd7sANMQAAtHHNfht137591b17d+Xn1wxEdTgcKioq8mpTWVmp77//3jNuxuFwqLCw0KtN7esLja2x2Wyy2+1eS8AI6uTvCgAAaFWaPcB88803On78uCIjIyVJTqdTxcXFysrK8rTZtm2bqqurFR8f72mzfft2VVRUeNqkpaWpX79+uuyyy5q75NbHYvF3BQAAtCo+B5iTJ08qOztb2dnZkqTDhw8rOztbBQUFOnnypObNm6edO3fq66+/1tatW3XzzTcrJiZGCQkJkqQBAwZo7Nixmjp1qj777DN9+umnmjFjhu644w5FRUVJku666y5ZrVZNmTJF+/bt01tvvaXly5d7fUXUplg7Sw8f9XcVAAC0Gj4HmC+++EJDhw7V0KFDJUmzZ8/W0KFDtWjRIrVv3145OTn65S9/qZ/+9KeaMmWKhg8frn/84x+y2WyeY6xZs0b9+/fXqFGjdOONN+rnP/+51xwvoaGh2rJliw4fPqzhw4drzpw5WrRoEbdQAwAASZLFMALznly3263Q0FCVlJS03HiY8lJpSc1VJD18tObKSXMcu1ZTvwcAAH7W0L/fPAvJzJgTBgDQRhFgzGxZDHPCAADaJAKM2S2Jqvl6CQCANoQAYxZBwd4PdTwXXyMBANoYAoxZWCySNbjubRWnW7YWAAD8jABjJtbO0uIS5oQBALR5BBgzCgqWfpvj7yoAAPAbAowZXezrJAAA2gACjFmdG2AIMwCANoYAAwAATIcAAwAATIcAEwiYzA4A0MYQYAIFz0UCALQhBJhAwXORAABtCAEGAACYDgHGrC72bCQAAAIcAcasmMwOANCGEWDMzNqZ5yIBANokAgwAADAdAgwAADAdAkwgYUI7AEAbQYAJNExmBwBoAwgwgabitL8rAACg2RFgAACA6RBgzC4oWPptjr+rAACgRRFgzM5ikUK6n33N5HYAgDaAABNouBMJANAGEGACUfkp7kYCAAQ0AkwgWhYjVZzydxUAADQbAgwAADAdnwPM9u3bNX78eEVFRclisejdd9/12m4YhhYtWqTIyEh16tRJo0eP1pdffunV5vvvv9fEiRNlt9sVFhamKVOm6OTJk15tcnJydO2116pjx47q1auXli5d6vvZtRVBwdLcfH9XAQBAi/E5wJSWlmrw4MFasWJFnduXLl2q5557TqtWrdKuXbvUuXNnJSQk6MyZM542EydO1L59+5SWlqYNGzZo+/bteuCBBzzb3W63xowZoz59+igrK0tPPvmkFi9erL/85S+NOMU2wGKRQnrwZGoAQJvRwdcdxo0bp3HjxtW5zTAMPfvss1q4cKFuvvlmSdJrr72miIgIvfvuu7rjjjt04MABbdq0SZ9//rmuvPJKSdLzzz+vG2+8UcuWLVNUVJTWrFmj8vJyvfLKK7JarbriiiuUnZ2tp59+2ivoAACAtqlJx8AcPnxYLpdLo0eP9qwLDQ1VfHy8MjMzJUmZmZkKCwvzhBdJGj16tNq1a6ddu3Z52owYMUJWq9XTJiEhQXl5efr3v/9d53uXlZXJ7XZ7LQAAIDA1aYBxuVySpIiICK/1ERERnm0ul0vh4eFe2zt06KCuXbt6tanrGOe+xw+lpKQoNDTUs/Tq1evSTwgAALRKAXMXUnJyskpKSjzLkSNH/F0SAABoJk0aYBwOhySpsLDQa31hYaFnm8PhUFFRkdf2yspKff/9915t6jrGue/xQzabTXa73Wtp05iRFwAQwJo0wERHR8vhcGjr1q2edW63W7t27ZLT6ZQkOZ1OFRcXKysry9Nm27Ztqq6uVnx8vKfN9u3bVVFR4WmTlpamfv366bLLLmvKkgMbs/ECAAKUzwHm5MmTys7OVnZ2tqSagbvZ2dkqKCiQxWLRzJkz9Yc//EHvv/++cnNzNWnSJEVFRemWW26RJA0YMEBjx47V1KlT9dlnn+nTTz/VjBkzdMcddygqKkqSdNddd8lqtWrKlCnat2+f3nrrLS1fvlyzZ89ushNvEypO+7sCAACahc+3UX/xxRe67rrrPK9rQ8XkyZOVmpqq+fPnq7S0VA888ICKi4v185//XJs2bVLHjh09+6xZs0YzZszQqFGj1K5dO02YMEHPPfecZ3toaKi2bNmipKQkDR8+XN27d9eiRYu4hRoAAEiSLIYRmN8zuN1uhYaGqqSkpOXGw5SX1ow9kWomlbN2bpn3rWUY0r8LpOfizq7zRx0AADRSQ/9+B8xdSND/n5G3u/c6nkwNAAhABJhAx5OpAQABiAADAABMhwATaHgyNQCgDSDABBqeTA0AaAMIMAAAwHQIMIGq/JyBuye/404kAEBAIcC0Bc/FcScSACCgEGAAAIDpEGACVVAn79dLoqTFodLJb/k6CQBgegSYQGULqftOJCa2AwAEAAIMAAAwHQIMAAAwHQJMIGNWXgBAgCLABDKLRbIG+7sKAACaHAEm0Fk7S4tLeLQAACCgEGAAAIDpEGAAAIDpEGAAAIDpEGDaImblBQCYHAGmLWNWXgCASRFgAACA6RBgAACA6RBgAACA6RBg2rolUVLZSX9XAQCATwgwbcXFnotUcbplawEA4BIRYNoKi0UK6cFjBQAAAYEA0xYFBUu/zTn7uvS7mnlhFofydRIAwBQIMG2RxSKFdD/7euXVZ3/m6yQAgAkQYAAAgOk0eYBZvHixLBaL19K/f3/P9jNnzigpKUndunVTSEiIJkyYoMLCQq9jFBQUKDExUcHBwQoPD9e8efNUWVnZ1KUCAACT6tAcB73iiiv00UcfnX2TDmffZtasWdq4caPWrVun0NBQzZgxQ7feeqs+/fRTSVJVVZUSExPlcDi0Y8cOHTt2TJMmTVJQUJCWLFnSHOXiXNZgf1cAAEC9muUrpA4dOsjhcHiW7t1rxluUlJTor3/9q55++mldf/31Gj58uF599VXt2LFDO3fulCRt2bJF+/fv1+uvv64hQ4Zo3Lhxevzxx7VixQqVl5c3R7lt08VuqwYAoJVrlgDz5ZdfKioqSn379tXEiRNVUFAgScrKylJFRYVGjx7tadu/f3/17t1bmZmZkqTMzEwNGjRIERERnjYJCQlyu93at2/fBd+zrKxMbrfba8FFcFs1AMDEmjzAxMfHKzU1VZs2bdLKlSt1+PBhXXvttTpx4oRcLpesVqvCwsK89omIiJDL5ZIkuVwur/BSu71224WkpKQoNDTUs/Tq1atpTwwAALQaTT4GZty4cZ6f4+LiFB8frz59+ujtt99Wp06dmvrtPJKTkzV79mzPa7fbTYgBACBANftt1GFhYfrpT3+q/Px8ORwOlZeXq7i42KtNYWGhHA6HJMnhcJx3V1Lt69o2dbHZbLLb7V4LGmFJlFR44OzEdie/lQzD31UBAOCl2QPMyZMndejQIUVGRmr48OEKCgrS1q1bPdvz8vJUUFAgp9MpSXI6ncrNzVVRUZGnTVpamux2u2JjY5u7XEjeE9sti5EqTvmvFgAA6tDkXyHNnTtX48ePV58+fXT06FE98sgjat++ve68806FhoZqypQpmj17trp27Sq73a4HH3xQTqdTV19d80dzzJgxio2N1T333KOlS5fK5XJp4cKFSkpKks1ma+pyAQCACTV5gPnmm29055136vjx4+rRo4d+/vOfa+fOnerRo4ck6ZlnnlG7du00YcIElZWVKSEhQS+++KJn//bt22vDhg2aPn26nE6nOnfurMmTJ+uxxx5r6lJRq/aW6mUx/q4EAIAGsRhGYA5wcLvdCg0NVUlJScuNhykvrRlDItXcmmzt3DLv21TOrb8uc/Olzt1rbsEGAKAZNPTvN89Cwln1TW63LKbmydWBmXkBACZCgMFZ505ud6Egw6BeAEArQIBB3YLOmbNn+k7/1QEAQB2a5WGOCAC2kJorMZJUdtK/tQAA8ANcgUH9bCE8LwkA0KpwBQa+K///Y2CCgrkjCQDgF1yBge+WxdTcbs1gXgCAnxBgAACA6RBg0DB1zRFTfoo5YQAAfkGAQcPUzhFzbohhThgAgJ8QYAAAgOkQYOCbzt0v/rgBAABaAAEGvrFYJGuwv6sAALRxBBgAAGA6TGSHS8OkdgAAP+AKDC4Nk9oBAPyAAAMAAEyHAAPfBQXXPNyRu5EAAH7CGBj4zmKRrJ39XQUAoA3jCgwAADAdAgyaBs9FAgC0IAIMGq/8nDuPlsVIpd8RYgAggBw5ckQrV65UZWVls+7TGAQYNJ1lMdK/C6TyUoIMAASAhQsXavHixTp1quFTZTRmn8YgwKDx6nou0nNxzAsDAAFg9+7deu211/Too4/Kbrc32z6NRYBB41ksF364Y/mpmisxXI0BANMxDENz5szRgAEDdP/99zfbPpeC26hxaWpDzMNHa0LLspia9bX/lGq2cds1AJjGxo0blZ6erg0bNqhDh4ZFhcbscykIMLh09c0LU/6Dr5N4bhIAtFqVlZWaN2+err/+et14443Nts+lIsCg+Z17NUaq+crJGkyQAYBW6KWXXlJeXp7Wrl0rSwP/G92YfS6VxTACc4CC2+1WaGioSkpKmn0gkUd5ac0AVqltfm1iGGcH7577ddKFzM2XgjpJFadr/mmxEGoAwI/cbrdiYmI0btw4rV69utn2qe94Dfn7zRUYNJ1zv0qqfV5SrboCTV0B57c5Ukh3ggwA+MGf/vQnnThxQn/84x+bdZ+m0KrvQlqxYoV+/OMfq2PHjoqPj9dnn33m75LQULVhpnapHej725yL71d7G3bpd2fvYio7WbOce1fTudtOfnv+9nOd2567ogCgTkeOHNHTTz+tOXPmqGfPns22T1NptVdg3nrrLc2ePVurVq1SfHy8nn32WSUkJCgvL0/h4eH+Lg++qg00l51zZebkdzWBpS4X+/rpoX9KywdfeHvtGJtaP7z6MzdfCunh/ZXXueq7+lPXflwxAmByCxculN1u14IFC5p1n6bSasfAxMfH66qrrtILL7wgSaqurlavXr304IMP6ne/+129+zfnGJhTJ0vq3lBxSsHL+9e0mVvQ9sbA+MoTBIyacTCGoeDnBjT725566GBN4Djn31ed2y+kjv3q3QcAWrGD/3tIw4cP18qVKzVt2rQG7bN7926f92mIhv79bpUBpry8XMHBwXrnnXd0yy23eNZPnjxZxcXFeu+9987bp6ysTGVlZZ7XJSUl6t27t44cOdL0g3hT6r9MduWZFTqjjk37vgHPUEed/XcYrDJt7zjbj/UAQOAzDEM3fTpERUVFyszMbNAcLoZh6KabbvJpn4Zyu93q1auXiouLFRoaesF2rfIrpO+++05VVVWKiIjwWh8REaGDBw/WuU9KSooeffTR89b36tWrWWqs3yQ/vW9gufBHFwDQdD6RJHXr1s3nPRuzT0OcOHHCfAGmMZKTkzV79tn/W6+urtb333+vbt26Nek96bXJsFmu7AQI+qh+9FH96KP60Uf1o48urrKyUj/72c906NAhFRQUXDQwnLvP1VdfrcjISL3//vtNPu+LYRg6ceKEoqKiLtquVQaY7t27q3379iosLPRaX1hYKIfDUec+NptNNpvNa11YWFhzlSi73c4vQz3oo/rRR/Wjj+pHH9WPPqrbypUr9dVXX0mSQkNDG9RHK1euVH5+vt56660GBZ7GaMhxW+Vt1FarVcOHD9fWrVs966qrq7V161Y5nU4/VgYAQGBwu9165JFHdOedd/q8z6RJkzR06NBmrK5+rTLASNLs2bP10ksvafXq1Tpw4ICmT5+u0tJS/frXv/Z3aQAAmF7tBHQLFy70eZ8//OEPzVhZw7TKr5Ak6fbbb9e3336rRYsWyeVyaciQIdq0adN5A3tbms1m0yOPPHLe11U4iz6qH31UP/qofvRR/eijup07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r+vgwYNq3769unTporlz52rWrFlavXq1Dh06pN27d+v555/X6tWrvY4XEhKi22+/XcnJyTp27Jjuvfden2sC0PwYAwOgwbKzs9W/f3/Nnz9fEyZMUElJiRISEpSRkaGwsDBPu4ZcgcnJyfEKLHv27NF//dd/+VzT5Zdfrj179mjJkiVKTk7WN998I5vNptjYWM2dO1e/+c1vJEmPP/64evTooZSUFH311VcKCwvTsGHD9PDDD593zClTpuivf/2rbrzxRkVFRflcE4DmZzHOvV8QAC4iKSlJ//73v7V27doLtjl9+rR69uyp48ePe60fNWqUXnvtNc84mUcffVQul0srV67U559/ruuuu05ut9vzNdQPjRw5UkOGDNGzzz7bZOdzKSwWi9avX69bbrnF36UAbRJfIQFosOzs7HrHqRw4cED9+/f3WmcYhvLz89W1a1fPupycHLndbg0ePFivvvqqIiMjLxqMpJqvi0JCQpSbm9v4k7hE06ZNU0hIiN/eH0ANrsAAaBDDMBQaGqo333xTN954o0/7HjhwQC+99JKefvppz7oBAwZoz5496tixY4OO8X//9386ffq0JKl3796yWq0+1dBUioqK5Ha7JUmRkZEXnEAPQPMiwABocaWlpYqPj9fevXv9XQoAkyLAAAAA02EMDAAAMB0CDAAAMB0CDAAAMB0CDAAAMB0CDAAAMB0CDAAAMB0CDAAAMB0CDAAAMB0CDAAAMB0CDAAAMB0CDAAAMB0CDAAAMJ3/B6+WPCgfPjNNAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "\n", "scaled['pt_z1_mu1'].plot1d(ax=ax, overlay='dataset');" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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BCAoBBQALh9++KESEhL0+uuv64orrtDIkSP1+OOPq6qqSk888YTGjRun0aNHKzExUePGjdO4ceO0cuXKiJSlsrJShmHo/PPP99jev39/paWlKS0tTQ8++KCam5tVUlKi559/XlOmTNHw4cN1++236/vf/75+9atfuc6744479Omnn7pCi+Ro3pk+fTrNOoAF0QcFgMuePXt044036txzz3VtS09Pl+QY4fLwww+roqJCs2bN0vbt200p4/vvv6+2tjYVFhaqublZlZWVampq0ne/+12P4+x2u8aPH+/6fuTIkfrWt76l559/XldeeaUqKyv1t7/9TY8++mh33wKAAFCDAsBlz549GjdunMe28vJy9e/fX4MGDZIk7du3TxdeeGGn18rPz1d1dbUkadeuXZo+fXpQZcnLy5PNZtOBAwc8tg8fPlx5eXlKTk6W5OhHIklvvPGG9uzZ43p9/PHHHv1QJEdn2f/+7//WiRMntHr1ap133nm64oorgioXgO5BQAEgSTp16pQOHjyo1tZW17a2tjY988wzmjFjhuLiHP9cfPTRR50GFMMwVFtb6xqVs3fvXtcomUD169dP3/3ud/WLX/xCjY2NHR43atQoJSUlqaqqSnl5eR6vIUOGeBx70003KS4uTuvXr9e6det0xx13uPqxALAWAgoASY4QYbPZ9MILL6i8vFz79+/XzTffrLq6Oi1cuNB13L59+9rNVeLts88+U25urse1R48eHXSZfvnLX+rMmTOaMGGCXn75Ze3fv18HDhzQCy+8oE8++US9evVSnz59NH/+fM2bN09r167Vp59+ql27dmnFihVau3atx/XS0tJ08803q7i4WEePHtXtt98edJkAdA/6oACQ5GjeGTlypH7yk59o+vTpqq+v15QpU7R161ZlZma6jgukBqWiosIjkOzevVs/+tGPgi7Teeedp927d6ukpETFxcX6/PPPlZSUpFGjRmn+/Pm66667JEmPPfaYzjnnHJWWluqzzz5TZmamLr74Yi1YsKDdNWfOnKnf/OY3uvbaa5WTkxN0mQB0D5vhPuYOQI9VVFSkf/7zn1q/fn2Hx5w6dUqDBw/WsWPHPLZPnjxZ69atc/VTeeSRR1RdXa2ysjLt2LFD//qv/6qGhgZXM5G3K6+8UuPGjdMzzzwTtvvpCpvNpldffVU33HCD2UUBeiyaeABIctSgdNZPZP/+/Ro5cqTHNsMwVFlZqb59+7q2VVRUqKGhQWPHjtXq1as1cOBAv8FHcjTnpKWlae/evaHfRBfdeeedSktLM+39AZxFDQoAGYahjIwMvfTSS7r22muDOnf//v167rnn9PTTT7u2XXDBBdq9e7d69+4d0DW++OILnTp1SpI0dOhQJSYmBlWGcKmtrVVDQ4MkaeDAgR1OEAcg8ggoAMKqsbFREydO1EcffWR2UQBEMQIKAACwHPqgAAAAyyGgAAAAyyGgAAAAyyGgAAAAyyGgAAAAyyGgAAAAyyGgAAAAyyGgAAAAyyGgAAAAyyGgAAAAyyGgAAAAyyGgAAAAy/l//nd127ENC/YAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "\n", "scaled['pt_z1_mu2'].plot1d(ax=ax, overlay='dataset');" ] } ], "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": 4 }