{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "from coffea import hist\n", "from coffea.analysis_objects import JaggedCandidateArray\n", "import coffea.processor as processor" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# This program will plot the MET for events which have an opposite-sign muon pair that has mass in the range of 60-120 GeV.\n", "\n", "class Processor(processor.ProcessorABC):\n", " def __init__(self):\n", " dataset_axis = hist.Cat(\"dataset\", \"\")\n", " muon_axis = hist.Bin(\"MET\", \"MET [GeV]\", 50, 1, 100)\n", " \n", " self._accumulator = processor.dict_accumulator({\n", " 'MET': hist.Hist(\"Counts\", dataset_axis, muon_axis),\n", " 'cutflow': processor.defaultdict_accumulator(int)\n", " })\n", " \n", " @property\n", " def accumulator(self):\n", " return self._accumulator\n", " \n", " def process(self, events):\n", " output = self.accumulator.identity()\n", " \n", " dataset = events.metadata[\"dataset\"]\n", " \n", " muons = events.Muon\n", " MET = events.MET.pt\n", " \n", " output['cutflow']['all events'] += muons.size\n", " output['cutflow']['all muons'] += muons.mass.counts.sum()\n", " \n", " # Get all combinations of muon pairs in every event.\n", " dimuons = muons.distincts()\n", " \n", " # Check that pairs have opposite charge.\n", " opposites = (dimuons.i0.charge != dimuons.i1.charge)\n", " \n", " # Get only muons with mass between 60 and 120. Add the dimuon p4's, take mass.\n", " limits = ((dimuons.i0 + dimuons.i1).mass >= 60) & ((dimuons.i0 + dimuons.i1).mass < 120)\n", " \n", " # Mask the dimuons with the opposites and the limits to get dimuons with opposite charge and mass between 60 and 120 GeV.\n", " good_dimuons = dimuons[opposites & limits]\n", " \n", " # Mask the MET to get it only if an associated dimuon pair meeting the conditions exists.\n", " good_MET = MET[good_dimuons.counts >= 1]\n", " output['cutflow']['final events'] += good_MET.size\n", " \n", " output['MET'].fill(dataset=dataset, MET=good_MET)\n", " \n", " return output\n", "\n", " def postprocess(self, accumulator):\n", " return accumulator" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[## ] | 7% Completed | 34.0s0s" ] }, { "name": "stderr", "output_type": "stream", "text": [ "distributed.comm.tcp - WARNING - Closing dangling stream in \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[########################################] | 100% Completed | 1min 39.3s\r" ] } ], "source": [ "fileset = {'SingleMu' : [\"root://eospublic.cern.ch//eos/root-eos/benchmark/Run2012B_SingleMu.root\"]}\n", "\n", "from dask.distributed import Client\n", "from coffea_casa import CoffeaCasaCluster\n", "\n", "client = Client(\"tls://localhost:8786\")\n", "\n", "output = processor.run_uproot_job(fileset=fileset, \n", " treename=\"Events\", \n", " processor_instance=Processor(),\n", " executor=processor.dask_executor,\n", " executor_args={'client': client, 'nano': True},\n", " chunksize=250000)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaIAAAEGCAYAAAAnhpGXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3dcZRV5Xnv8e9PRgFDJArEhQxkcKGtYo0JSGi8Uhoa4CauYHpVME0lNyZY0dRUkyY2aU11eZe2tVrjhQhCRW8EDCaBeDVK1GruXYiAURSJAQXDBC6Kg0g1qIPP/WO/A3vgzDDMzJl9Zs7vs9ZZZ59n7/c9795L5vF993v2q4jAzMysKEcU3QAzM6tuTkRmZlYoJyIzMyuUE5GZmRXKicjMzApVU3QDKsXAgQOjrq6u6GaYmXUra9as2RERgzpShxNRUldXx+rVq4tuhplZtyLplY7W4aE5MzMrlBORmZkVyonIzMwK5XtEZtbjvffee9TX17Nnz56im9Jt9enTh9raWo488shOr9uJyMx6vPr6ej74wQ9SV1eHpKKb0+1EBK+//jr19fUMHz680+v30JyZ9Xh79uxhwIABTkLtJIkBAwaUrUfpRGRmVcFJqGPKef2ciMzMrFC+R2RmVedPPj2ZLfVbO62+obUn8Pjynx/yuOuvv5577rmHXr16ccQRR3D77bczd+5crrzySk499dTD/t7Nmzdzzjnn8Pzzz7d6zPDhw/nud7/LddddB8COHTsYPHgwl1xyCbfddtthf29ncyLqRsacNY4dDW8cFB943Id46v8+UUCLzLqnLfVbGTlzVqfVt27WzEMes2LFCu6//36efvppevfuzY4dO3j33Xe54447Oq0dLTnxxBO5//779yWiH/3oR4wcObLs39tWHprrRnY0vMHImbMOepVKTmZWWbZt28bAgQPp3bs3AAMHDuSEE05g/Pjx+x4v1q9fP77zne/w0Y9+lLFjx7J9+3YAXnrpJcaOHcuZZ57JP/zDP9CvX7+D6t+7dy/f/OY3OfPMMzn99NO5/fbb9+3r27cvp5xyyr7vWbx4MRdccMG+/V/60pdYsmTJvs+l6i8nJ6IKM+ascZx4yuklX3tr+hTdPDNrp4kTJ7JlyxZOPvlkZs6cyeOPP37QMW+99RZjx47l2WefZdy4ccydOxeAK664giuuuIJVq1ZxwgknlKx/3rx59O/fn1WrVrFq1Srmzp3Lpk2b9u2fNm0aixYtor6+nl69erVYTxE8NFdhmno9Ztaz9OvXjzVr1vDLX/6Sxx57jKlTp3LDDTc0O+aoo47inHPOAWDUqFEsX74cyIb1fvrTnwLwhS98gW984xsH1f/www+zdu3afT2bXbt2sWHDBk4++WQAJk+ezN///d9z/PHHM3Xq1LKdZ3s4EZmZdZFevXoxfvx4xo8fzx/90R+xYMGCZvuPPPLIfdOke/XqRWNjY5vrjgi+//3vM2nSpGbxzZs3A1mSGzVqFDfddBPr1q3jZz/72b5jampqeP/99/fV8+6777bn9NrNQ3M9wN6aPi0O5405a1zRzTMz4MUXX2TDhg37Pj/zzDN85CMfaVPZsWPHct999wGwaNGiksdMmjSJ2bNn89577wHwm9/8hrfeeqvZMVdddRU33ngjAwYMaBavq6tjzZo1ACxdunRfHV3FPaIe4PQZ/9rivrbM5jGrNkNrT+jUfxtDaw99v+U///M/+drXvsYbb7xBTU0NI0aMYM6cOZx33nmHLHvLLbfwxS9+kZtuuonPfvaz9O/f/6BjvvKVr7B582Y+/vGPExEMGjRo33Bek5EjR5acLffVr36VKVOmMGbMGCZMmMAHPvCBQ7apMykiuvQLK9Xo0aOjEhbGO/GU0zt9WunL69d2Wn1m3dH69es55ZRTim5Gu7399tv07dsXSSxatIiFCxeydOnSLm9HqesoaU1EjO5Ive4RmZlVuDVr1nD55ZcTEXzoQx9i/vz5RTepU5XtHpGkoZIek7Re0jpJV6T4cZKWS9qQ3o/Nlbla0kZJL0qalIuPkvRc2ner0t08Sb0lLU7xlZLqcmWmp+/YIGl6uc7TzKzczj77bJ599lnWrl3LE088wYgRI4puUqcq52SFRuCqiDgFGAtcJulU4NvAIxFxEvBI+kzaNw0YCUwGZknqleqaDcwATkqvySl+MbAzIkYANwM3prqOA64BPgGMAa7JJzwzqz6+DdEx5bx+ZUtEEbEtIp5O27uB9cAQYArQNGdxAXBu2p4CLIqIdyJiE7ARGCNpMHBMRKyI7ErcdUCZprqWABNSb2kSsDwiGiJiJ7Cc/cnLzKpMnz59eP31152M2qlpPaI+fcrzo/ouuUeUhsw+BqwEjo+IbZAlK0kfTocNAZ7MFatPsffS9oHxpjJbUl2NknYBA/LxEmXy7ZpB1tNi2LBh7T4/M6tstbW11NfX89prrxXdlG6raYXWcih7IpLUD7gP+HpEvNnKmhaldkQr8faW2R+ImAPMgWzWXEsNM7Pu7cgjjyzLyqLWOcqaiCQdSZaEfhgRP07h7ZIGp97QYODVFK8HhuaK1wJbU7y2RDxfpl5SDdAfaEjx8QeU+Y9OOq0Oa+kp2oCfJ2dmVadsiSjdq5kHrI+I/C8ulwHTgRvS+9Jc/B5J/wqcQDYp4amI2Ctpt6SxZEN7FwHfP6CuFcB5wKMREZIeAv5HboLCRODqMp3qYevK58k1PXWhFC8fYWaVoJw9orOAvwSek/RMiv0dWQK6V9LFwG+B8wEiYp2ke4EXyGbcXRYRe1O5S4E7gb7Ag+kFWaK7W9JGsp7QtFRXg6TrgFXpuGsjoqFcJ1rJ/NQFM6t0ZUtEEfF/KH2vBmBCC2WuB64vEV8NnFYivoeUyErsmw/0rF99mZn1QH7oqZmZFcqJyMzMCuVEZGZmhXIiMjOzQjkRmZlZoZyIzMysUE5EZmZWKCciMzMrlBORmZkVykuFV7GWnkPnZ9CZWVdyIqpiLT2Hzs+gM7Ou5KE5MzMrlBORmZkVyonIzMwK5URkZmaFKlsikjRf0quSns/FFkt6Jr02Ny2YJ6lO0u9z+36QKzNK0nOSNkq6Na38iqTeqb6NklZKqsuVmS5pQ3pNL9c5mplZx5Vz1tydwG3AXU2BiJjatC3pJmBX7viXIuKMEvXMBmYATwIPAJPJVmi9GNgZESMkTQNuBKZKOg64BhgNBLBG0rKI2NmJ52ZmZp2knCu0PpHvpeSlXs0FwKdaq0PSYOCYiFiRPt8FnEuWiKYA30uHLgFuS/VOApY3LQ0uaTlZ8lrYsTM6fGPOGseOhjcOiu+t6dPVTTEzq1hF/Y7obGB7RGzIxYZL+hXwJvDdiPglMASozx1Tn2Kk9y0AEdEoaRcwIB8vUaZL7Wh4g5EzZxXx1WZm3UZRiehCmvdQtgHDIuJ1SaOAn0oaCahE2UjvLe1rrUwzkmaQDfsxbNiwNjbdzMw6U5fPmpNUA/w5sLgpFhHvRMTraXsN8BJwMllvpjZXvBbYmrbrgaG5OvsDDfl4iTLNRMSciBgdEaMHDRrU8ZMzM7PDVsT07T8Dfh0R+4bcJA2S1CttnwicBLwcEduA3ZLGpvs/FwFLU7FlQNOMuPOARyMigIeAiZKOlXQsMDHFzMysApVtaE7SQmA8MFBSPXBNRMwDpnHwxIFxwLWSGoG9wF81TTYALiWbgdeXbJLCgyk+D7hb0kayntA0gIhokHQdsCodd22uLjMzqzDlnDV3YQvxL5WI3Qfc18Lxq4HTSsT3AOe3UGY+MP8wmmtmZgXxkxXMzKxQTkRmZlYor0dkB2lpwTzwonlm1vmciOwgLS2YB140z8w6n4fmzMysUE5EZmZWKCciMzMrlBORmZkVyonIzMwK5URkZmaFciIyM7NCORGZmVmhnIjMzKxQTkRmZlYoJyIzMyuUE5GZmRWqbIlI0nxJr0p6Phf7nqTfSXomvT6T23e1pI2SXpQ0KRcfJem5tO/WtGQ4knpLWpziKyXV5cpMl7QhvZqWEzczswpUzh7RncDkEvGbI+KM9HoAQNKpZEt9j0xlZknqlY6fDcwATkqvpjovBnZGxAjgZuDGVNdxwDXAJ4AxwDWSju380zMzs85QtkQUEU8ADW08fAqwKCLeiYhNwEZgjKTBwDERsSIiArgLODdXZkHaXgJMSL2lScDyiGiIiJ3AckonRDMzqwBFrEd0uaSLgNXAVSlZDAGezB1Tn2Lvpe0D46T3LQAR0ShpFzAgHy9RphlJM8h6WwwbNqxjZ1UlvGiemXW2rk5Es4HrgEjvNwFfBlTi2GglTjvLNA9GzAHmAIwePbrkMdacF80zs87WpbPmImJ7ROyNiPeBuWT3cCDrtQzNHVoLbE3x2hLxZmUk1QD9yYYCW6rLzMwqUJcmonTPp8nngaYZdcuAaWkm3HCySQlPRcQ2YLeksen+z0XA0lyZphlx5wGPpvtIDwETJR2bJilMTDEzM6tAZRuak7QQGA8MlFRPNpNtvKQzyIbKNgOXAETEOkn3Ai8AjcBlEbE3VXUp2Qy8vsCD6QUwD7hb0kayntC0VFeDpOuAVem4ayOirZMmzMysi5UtEUXEhSXC81o5/nrg+hLx1cBpJeJ7gPNbqGs+ML/NjTUzs8L4yQpmZlaoIqZv9yhjzhrHjoY3Su7bW9Oni1tjZtb9OBF10I6GNxg5c1bRzTAz67Y8NGdmZoVyIjIzs0I5EZmZWaGciMzMrFBORGZmVignIjMzK5QTkZmZFcq/I7JO09JaRV6nyMxa40RknaaltYq8TpGZtcZDc2ZmVignIjMzK5QTkZmZFapsiUjSfEmvSno+F/tnSb+WtFbSTyR9KMXrJP1e0jPp9YNcmVGSnpO0UdKtaaVW0mqui1N8paS6XJnpkjak13TMzKxiHXYiSktwHzw16mB3ApMPiC0HTouI04HfAFfn9r0UEWek11/l4rOBGWTLh5+Uq/NiYGdEjABuBm5M7TuObDXYTwBjgGvSkuFmZlaB2pSIJP2HpGPSH/lngX+XVHqKVBIRT5At4Z2PPRwRjenjk0DtIb53MHBMRKyIiADuAs5Nu6cAC9L2EmBC6i1NApZHRENE7CRLfgcmRDMzqxBt7RH1j4g3gT8H/j0iRgF/1sHv/jLwYO7zcEm/kvS4pLNTbAhQnzumPsWa9m0BSMltFzAgHy9RphlJMyStlrT6tdde6+DpmJlZe7Q1EdWk3skFwP0d/VJJ3wEagR+m0DZgWER8DLgSuEfSMYBKFI+malrY11qZ5sGIORExOiJGDxo06HBOwczMOklbE9E/Ag8BGyNilaQTgQ3t+cI0eeAc4C/ScBsR8U5EvJ621wAvASeT9Wbyw3e1wNa0XQ8MTXXWAP3JhgL3xUuUMTOzCtPWRLQtIk6PiJkAEfEy0Oo9olIkTQa+BXwuIt7OxQdJ6pW2TySblPByRGwDdksam+7/XAQsTcWWAU0z4s4DHk2J7SFgYppUcSwwMcXMzKwCtfURP98HPt6G2D6SFgLjgYGS6slmsl0N9AaWp1nYT6YZcuOAayU1AnuBv4qIpokOl5LNwOtLdk+p6b7SPOBuSRvJekLTACKiQdJ1wKp03LW5uszMrMK0mogk/THwSWCQpCtzu44BerVWNiIuLBGe18Kx9wH3tbBvNXBaifge4PwWyswH5rfWPjMzqwyH6hEdBfRLx30wF3+TbDjMzMysQ1pNRBHxOPC4pDsj4pUuapOZmVWRtt4j6i1pDlCXLxMRnypHo8zMrHq0NRH9CPgBcAfZZAKzNmtpwTzwonlm1vZE1BgRs8vaEuuxWlowD7xonpm1/XdEP5M0U9JgScc1vcraMjMzqwpt7RE1/XD0m7lYACd2bnPMzKzatCkRRcTwcjfEzMyqU5sSkaSLSsUj4q7ObY6ZmVWbtg7NnZnb7gNMAJ4mWx/IzMys3do6NPe1/GdJ/YG7y9IiMzOrKoe9VHjyNtkTss3MzDqkrfeIfsb+xeV6AacA95arUWZmVj3aeo/oX3LbjcArEVHf0sFmZmZt1aahufTw01+TPYH7WODdcjbKzMyqR5sSkaQLgKfI1v+5AFgpqdVlICTNl/SqpOdzseMkLZe0Ib0fm9t3taSNkl6UNCkXHyXpubTv1rRSK5J6S1qc4isl1eXKTE/fsSEtTW5mZhWqrUNz3wHOjIhXIVvaG/gFsKSVMncCt9F8ive3gUci4gZJ306fvyXpVLIVVkcCJwC/kHRyROwFZgMzgCeBB4DJZKu0XgzsjIgRkqYBNwJT06OHrgFGk93XWiNpWUTsbOO5HmTMWePY0fBGyX17a/q0t1ozM6PtieiIpiSUvM4helMR8US+l5JMIVs+HGAB8B/At1J8UUS8A2xKy3+PkbQZOCYiVgBIugs4lywRTQG+l+paAtyWekuTgOVNy4NLWk6WvBa28VwPsqPhDUbOnNXe4tYKP5nbzNqaiH4u6SH2/zGfStY7OVzHR8Q2gIjYJunDKT6ErMfTpD7F3kvbB8abymxJdTVK2gUMyMdLlLEK4ydzm1mriUjSCLLk8U1Jfw78F0DACuCHndgOlYhFK/H2lmn+pdIMsmE/hg0bduhWmplZpzvUZIVbgN0AEfHjiLgyIv6GrDd0Szu+b7ukwQDpvWm4rx4YmjuuFtia4rUl4s3KSKoB+gMNrdR1kIiYExGjI2L0oEGD2nE6ZmbWUYdKRHURsfbAYESsJls2/HAtY/+SEtOBpbn4tDQTbjjZUxueSsN4uyWNTfd/LjqgTFNd5wGPRkQADwETJR2bZuVNTDEzM6tAh7pH1NqUsL6tFZS0kGxiwkBJ9WQz2W4A7pV0MfBbsungRMQ6SfcCL5D9YPayNGMO4FKyGXh9ySYpPJji84C708SGBrJZd0REg6TrgFXpuGubJi6YmVnlOVQiWiXpqxExNx9MiWRNawUj4sIWdk1o4fjrgetLxFcDp5WI7yElshL75gPzW2ufmZlVhkMloq8DP5H0F+xPPKOBo4DPl7NhZmZWHVpNRBGxHfikpD9lf6/kf0fEo2VvmZmZVYW2rkf0GPBYmdtiZmZVqL3rEZmZmXUKJyIzMyuUE5GZmRXKicjMzArlRGRmZoVq69O3zbqcl4gwqw5ORFaxvESEWXXw0JyZmRXKicjMzArlRGRmZoVyIjIzs0I5EZmZWaGciMzMrFBdnogk/YGkZ3KvNyV9XdL3JP0uF/9MrszVkjZKelHSpFx8lKTn0r5b03LipCXHF6f4Skl1XX2eZmbWNl2eiCLixYg4IyLOAEYBbwM/SbtvbtoXEQ8ASDqVbBnwkcBkYJakXun42cAM4KT0mpziFwM7I2IEcDNwYxecmpmZtUPRQ3MTgJci4pVWjpkCLIqIdyJiE7ARGCNpMHBMRKyIiADuAs7NlVmQtpcAE5p6S2ZmVlmKfrLCNGBh7vPlki4CVgNXRcROYAjwZO6Y+hR7L20fGCe9bwGIiEZJu4ABwI78l0uaQdajYtiwYZ10StYVWnr8jx/9Y9b9FJaIJB0FfA64OoVmA9cBkd5vAr4MlOrJRCtxDrFvfyBiDjAHYPTo0Qftt8rV0uN//Ogfs+6nyKG5/wo8HRHbASJie0TsjYj3gbnAmHRcPTA0V64W2JritSXizcpIqgH6Aw1lOg8zM+uAIhPRheSG5dI9nyafB55P28uAaWkm3HCySQlPRcQ2YLeksen+z0XA0lyZ6Wn7PODRdB/JzMwqTCFDc5KOBj4NXJIL/5OkM8iG0DY37YuIdZLuBV4AGoHLImJvKnMpcCfQF3gwvQDmAXdL2kjWE5pWzvMxM7P2KyQRRcTbZJMH8rG/bOX464HrS8RXA6eViO8Bzu94S83MrNyKnr5tZmZVzonIzMwK5URkZmaFciIyM7NCORGZmVmhnIjMzKxQRT9rzqxTtfQMOvBz6MwqlROR9SgtPYMO/Bw6s0rloTkzMyuUE5GZmRXKicjMzArlRGRmZoXyZIVk/a9fbHG21d6aPl3cGjOz6uFElDTu3cvImbOKboaZWdVxIrKq4d8YmVWmohbG2wzsBvYCjRExWtJxwGKgjmxhvAsiYmc6/mrg4nT8X0fEQyk+iv0L4z0AXBERIak3cBcwCngdmBoRm7vo9KxC+TdGZpWpyMkKfxoRZ0TE6PT528AjEXES8Ej6jKRTyVZYHQlMBmZJ6pXKzAZmkC0fflLaD1nS2hkRI4CbgRu74HzMzKwdKmnW3BRgQdpeAJybiy+KiHciYhOwERgjaTBwTESsiIgg6wGdW6KuJcAESeqKkzAzs8NTVCIK4GFJayTNSLHjI2IbQHr/cIoPAbbkytan2JC0fWC8WZmIaAR2ccDS5ACSZkhaLWn13sbGTjkxMzM7PEVNVjgrIrZK+jCwXNKvWzm2VE8mWom3VqZ5IGIOMAegd9+jD9pvZmblV0iPKCK2pvdXgZ8AY4DtabiN9P5qOrweGJorXgtsTfHaEvFmZSTVAP2BhnKci5mZdUyXJyJJH5D0waZtYCLwPLAMmJ4Omw4sTdvLgGmSeksaTjYp4ak0fLdb0th0/+eiA8o01XUe8Gi6j2RmZhWmiKG544GfpLkDNcA9EfFzSauAeyVdDPwWOB8gItZJuhd4AWgELouIvamuS9k/ffvB9AKYB9wtaSNZT2haV5yYdV8t/cbIvy8yKz+5o5Dp3ffomPhPDxfdDKsw62bN5OX1a4tuhlnFkrQm9zOcdqmk6dtmZlaFnIjMzKxQTkRmZlYoJyIzMyuUE5GZmRXKy0CYtcJLR5iVnxORWSu8dIRZ+XlozszMCuVEZGZmhXIiMjOzQvkekVk7eSKDWedwIjJrJ09kMOscHpozM7NCORGZmVmhnIjMzKxQRazQOlTSY5LWS1on6YoU/56k30l6Jr0+kytztaSNkl6UNCkXHyXpubTv1rRSK2k118UpvlJSXVefp1W3pokMB77GnDWu6KaZVZwiJis0AldFxNNpyfA1kpanfTdHxL/kD5Z0KtkKqyOBE4BfSDo5rdI6G5gBPAk8AEwmW6X1YmBnRIyQNA24EZjaBedmBrQ8kcGTGMwO1uU9oojYFhFPp+3dwHpgSCtFpgCLIuKdiNgEbATGSBoMHBMRKyJbZvYu4NxcmQVpewkwoam3ZGZmlaXQe0RpyOxjwMoUulzSWknzJR2bYkOALbli9Sk2JG0fGG9WJiIagV3AgBLfP0PSakmr9zY2dso5mZnZ4Snsd0SS+gH3AV+PiDclzQauAyK93wR8GSjVk4lW4hxi3/5AxBxgDkDvvkcftN+ss/lHsGYHKyQRSTqSLAn9MCJ+DBAR23P75wL3p4/1wNBc8Vpga4rXlojny9RLqgH6Aw2dfyZmh8c/gjU7WBGz5gTMA9ZHxL/m4oNzh30eeD5tLwOmpZlww4GTgKciYhuwW9LYVOdFwNJcmelp+zzg0XQfyczMKkwRPaKzgL8EnpP0TIr9HXChpDPIhtA2A5cARMQ6SfcCL5DNuLsszZgDuBS4E+hLNlvuwRSfB9wtaSNZT2hamc/JzMzaSe4oZHr3PTom/tPDRTfDqtjaOVfSq3FPyX2+f2SVStKaiBjdkTr80FOzCuH7R1at/IgfMzMrlHtEZt2Ap31bT+ZEZNYNeNjOejInIrNurqXekntK1l04EZl1c37AqnV3TkRmPZTvK1l34URk1kP5vpJ1F05EZlXIvSWrJE5EZlXIvSWrJE5EZtaMZ+FZV3MiMrNmWuotrZ1zpYfzrCyciMysTVobznOSso5wIjKzDmtPknKCsiZORGZWVh7qs0NxIjKzQrR3qK81TmDdU49ORJImA/8G9ALuiIgbCm6SmbVBa0mqNe1JYE5exeuxK7RK6gX8Bvg0UA+sAi6MiBdKHe8VWs2qU2sr43aV7pwMvUJr68YAGyPiZQBJi4ApQMlEZGbVqb29r87U3qHIiiCd0tEqenIiGgJsyX2uBz6RP0DSDGBG+vj+/Vf8SWMXta0yRRyB9H7RzagIvhbN+Xo05+uxX0SfjlbRkxORSsSajUNGxBxgTtc0p/JJWh3vv9+hLnZP4WvRnK9Hc74e+0la3dE6juiMhlSoemBo7nMtsLWgtpiZWQt6ciJaBZwkabiko4BpwLKC22RmZgfosUNzEdEo6XLgIbLp2/MjYl3Bzap0Hqbcz9eiOV+P5nw99uvwteix07fNzKx76MlDc2Zm1g04EZmZWaGciKqQpKGSHpO0XtI6SVek+HGSlkvakN6PLbqtXUVSL0m/knR/+lzN1+JDkpZI+nX6b+SPq/x6/E36d/K8pIWS+lTT9ZA0X9Krkp7PxVo8f0lXS9oo6UVJk9ryHU5E1akRuCoiTgHGApdJOhX4NvBIRJwEPJI+V4srgPW5z9V8Lf4N+HlE/CHwUbLrUpXXQ9IQ4K+B0RFxGtnEp2lU1/W4E5h8QKzk+ae/I9OAkanMrPS4tVY5EVWhiNgWEU+n7d1kf2iGkD0CaUE6bAFwbjEt7FqSaoHPAnfkwtV6LY4BxgHzACLi3Yh4gyq9HkkN0FdSDXA02e8Rq+Z6RMQTQMMB4ZbOfwqwKCLeiYhNwEayx621yomoykmqAz4GrASOj4htkCUr4MPFtaxL3QL8LZB/ZEu1XosTgdeAf09DlXdI+gBVej0i4nfAvwC/BbYBuyLiYar0euS0dP6lHq025FCVORFVMUn9gPuAr0fEm0W3pwiSzgFejYg1RbelQtQAHwdmR8THgLfo2cNOrUr3PqYAw4ETgA9I+mKxrapoh3y0WilORFVK0pFkSeiHEfHjFN4uaXDaPxh4taj2daGzgM9J2gwsAj4l6X9RndcCsv+DrY+IlenzErLEVK3X48+ATRHxWkS8B/wY+CTVez2atHT+7Xq0mhNRFZIksnsA6yMi/wz8ZcD0tD0dWNrVbetqEXF1RNRGRB3ZTdZHI+KLVOG1AIiI/wdskfQHKTSBbOmUqrweZENyYyUdnf7dTCC7p1qt16NJS+e/DJgmqbek4cBJwFOHqsxPVqhCkv4L8EvgOfbfF/k7svtE9wLDyP4Bnh8RB96k7LEkjQe+ERHnSBpAlV4LSWeQTdw4CngZ+O9k/9NardfjH4GpZLNNfwV8BehHlVwPSQuB8cBAYLlP6hAAAAKCSURBVDtwDfBTWjh/Sd8Bvkx2vb4eEQ8e8juciMzMrEgemjMzs0I5EZmZWaGciMzMrFBORGZmVignIjMzK5QTkZmZFcqJyKyDJIWku3OfayS9lltS4kvp8zO510dz2w2SNqXtXxxQd52k30t6Jhc7XtI9kl6WtEbSCkmfP0QbN+V+pNoUu0XS30o6W9IL+cf8m3WlmqIbYNYDvAWcJqlvRPwe+DTwuwOOWRwRlx8QOwNA0p3A/RGxpIX6X4qIpmNF9mPCBRHxhRT7CPC5Q7RxEdmTI/4xlTkCOA84KyJekfQZ4P5DnqlZGbhHZNY5HiRbSgLgQmBhmb7nU8C7EfGDpkBEvBIR34d9C/z9s6RVktZKuiQdtpAsETUZB2yOiFfK1E6zNnMiMusci8iesdUHOJ3scUl5Uw8Ymuvbzu8ZCTzdyv6LyZYqOBM4E/iqpOERsRZ4X9JH03HTKF+yNDssTkRmnSD9oa8j6w09UOKQxRFxRu71+874Xkn/U9Kzklal0ETgonRPaSUwgOzBk5B6RWmBtynAjzqjDWYd5XtEZp1nGdkiauPJEkA5rAP+W9OHiLhM0kBgdQoJ+FpEPFSi7ELgYeBxYG1EVNvSBVah3CMy6zzzgWsj4rkyfsejQB9Jl+ZiR+e2HwIuTetNIenktMIqEfES8DpwAx6WswriRGTWSSKiPiL+rYXdB94j+mQ7vyOAc4E/SVOynwIWAN9Kh9xBtn7Q02k69u00H/lYCPwh8JP2fL9ZOXgZCLMKJqmObGr3aT3he8xKcY/IrLLtBfrnf9Da2SSdDfwM2FGu7zBrjXtEZmZWKPeIzMysUE5EZmZWKCciMzMrlBORmZkV6v8DxTyt+S3rkXcAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "hist.plot1d(output['MET'], overlay='dataset', fill_opts={'edgecolor': (0,0,0,0.3), 'alpha': 0.8})" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "all events 53446198\n", "all muons 74439173\n", "final events 2970884\n" ] } ], "source": [ "for key, value in output['cutflow'].items():\n", " print(key, value)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }