{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "d99d8fdc-65f4-4154-b022-c2ae44da5927", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import servicex as sx\n", "import awkward as ak\n", "from func_adl_servicex import ServiceXSourceUpROOT\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "id": "4751fb52-bcff-4081-a635-0ef8823518e6", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "cms:DYJetsToLL_M-50_...: 0%| | 0/9000000000.0 [00:00]" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ " cms:DYJetsToLL_M-50_... Downloaded: 0%| | 0/9000000000.0 [00:00]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dataset_name = \"cms:DYJetsToLL_M-50_TuneCP5_13TeV-amcatnloFXFX-pythia8/RunIIAutumn18NanoAODv7-Nano02Apr2020_102X_upgrade2018_realistic_v21_ext2-v1/NANOAODSIM\"\n", "sx_dataset = sx.ServiceXDataset(dataset_name, \"uproot\")\n", "ds = ServiceXSourceUpROOT(sx_dataset, \"Events\")\n", "dimu_mass = ds.Where(lambda event: event.nMuon == 2)\\\n", " .Select(lambda event: Zip({'p4': Zip({'pt': event.Muon_pt,\n", " 'eta': event.Muon_eta,\n", " 'phi': event.Muon_phi,\n", " 'mass': event.Muon_mass}).ToFourMomenta(),\n", " 'charge': event.Muon_charge})\n", " .Choose(2)\n", " .Where(lambda dimu: dimu[0].charge * dimu[1].charge < 0)\n", " .Select(lambda dimu: (dimu[0].p4 + dimu[1].p4).mass)).AsAwkwardArray().value()" ] }, { "cell_type": "code", "execution_count": 3, "id": "16f57639-1873-4f0b-b957-1e3d016ad5d7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dimu_mass" ] }, { "cell_type": "code", "execution_count": 4, "id": "771c39bc-a7fc-4358-ad39-16f407745f44", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.hist(ak.flatten(dimu_mass), bins=100, range=(0, 100))\n", "plt.xlabel(r'$\\mu\\mu$ Mass [GeV]')\n", "plt.ylabel('Events')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "id": "8f58e849-0e59-48ac-90a2-593c1ff5c5f1", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.12" } }, "nbformat": 4, "nbformat_minor": 5 }