{ "cells": [ { "cell_type": "markdown", "id": "b66b7b83-4d14-40d7-9ecc-feb8efe7b748", "metadata": {}, "source": [ "# Plotting with `matplotlib`, `mplhep`, `pyROOT`" ] }, { "cell_type": "markdown", "id": "39f2470f-c6c7-4b4b-8c94-aa0d634861b3", "metadata": {}, "source": [ "In this demo we use a generic dimuon analysis example with 3 datasets - Data, Drell-Yan, and TTbar. Only events with exactly two opposite-sign muons are selected, some event selections are applied, and dimuon pairs are constructed. The data is provided in the Pandas DataFrames format." ] }, { "cell_type": "code", "execution_count": 1, "id": "0c13a3c0-3aa9-46e2-8a42-bff1ecd56af2", "metadata": { "tags": [] }, "outputs": [], "source": [ "from submodule.event_selection import load_events\n", "\n", "sources = [\"data\", \"ttbar\", \"dy\"]\n", "server = \"file:/depot/cms/purdue-af/demos/\"\n", "dimuon_mass = {}\n", "\n", "# Load datasets\n", "for src in sources:\n", " df = load_events(f\"{server}/{src}.root\")\n", " dimuon_mass[src] = df[\"dimuon_mass\"]" ] }, { "cell_type": "markdown", "id": "95ce60db-56b6-4883-a0e9-b6270dd950d5", "metadata": { "tags": [] }, "source": [ "Below are three examples of plotting the dimuon mass distribution (event weights are not applied):\n", "\n", "- `matplotlib`\n", "- `scikit-hep/mplhep`\n", "- `pyROOT`" ] }, { "cell_type": "markdown", "id": "8d1f93e0-d751-4430-aee7-3ec813dd491f", "metadata": {}, "source": [ "### Plotting using Matplotlib" ] }, { "cell_type": "code", "execution_count": 2, "id": "e8210617-d7a3-4da4-bace-2b631a4c08f9", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhsAAAHFCAYAAABb+zt/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABh70lEQVR4nO3de3gU5dk/8O/uhiSQQDgZErIhQEEBOQhJrOKJoBCxaj3UUxWCBoUSFeRHUaQeCirqawHFREmNwlux0lrhtb4KxQqKr1YJh4pGIShINmxIQUlIOO/O749lJrObmT3O7Mzufj/XlYtkdnb2GZKdved57ud+LIIgCCAiIiLSidXoBhAREVF8Y7BBREREumKwQURERLpisEFERES6YrBBREREumKwQURERLpisEFERES6SjK6AUZzu93Yv38/OnfuDIvFYnRziIiIYoYgCDhy5Ah69+4Nq1W9/yLhg439+/cjNzfX6GYQERHFrLq6OtjtdtXHEz7Y6Ny5MwDPf1SXLl0Mbg0REVHsaG5uRm5urvRZqiZhg43y8nKUl5fD5XIBALp06cJgg4iIKAyB0hAsib42SnNzMzIyMtDU1MRgg4iIKATBfoZyNgoRERHpisEGERER6SphczaIiMg8XC4XTp06ZXQzyEeHDh1gs9kiPk7CBhu+CaJERBR9giCgoaEBhw8fNroppKJr167IysqKqBYVE0SZIEpEZBin04nDhw8jMzMTnTp1YnFFExEEAUePHkVjYyO6du2K7OzsdvsE+xmasD0bRERkLJfLJQUaPXr0MLo5pKBjx44AgMbGRmRmZoY9pMIEUSIiMoSYo9GpUyeDW0L+iL+fSHJqGGwQEZGhOHRiblr8fhI22CgvL8eQIUNQWFhodFOIiIjiWsLmbJSVlaGsrExKbiEiInMoKAAaGqL/ullZQHV19F83ESRssEFERObU0ADU1xvdCv8mT56MFStWAACSkpLQvXt3DB8+HLfddhtKSkpQXFwMm82GdevWeT2voqICc+fOxY4dO9CnT5+QXvPxxx/HmjVrsH379qD237t3L/r164dt27bhvPPOC+m1tMZgg4hIIw6HA7W1tRg4cKDf5bYpOFYroDDbUnNOJ+B2h/68K6+8Eq+99hpcLhcOHDiAtWvXYsaMGXjrrbfw2muvYdiwYVi2bBmmTp0KANizZw8efPBBLF26VDHQWL58OZYvX46NGzdGeEbmw2CDiEgDVVVVuOeee+B2u2G1WvH000+joKCAgUcEsrMBh0P/17Hbw+tJSUlJQVZWFgAgJycHo0aNwgUXXIDLL78c69atw/PPP497770X48ePR9++fVFaWorLL78ckydP1qztr732Gp599lns2bMHffv2xf3334/p06cDAPr16wcAGDlyJADgsssuw8aNG7Fx40bMmTMHX3/9NTp06IBzzz0Xb7zxBvLy8jRrly8GG0REEXI4HFKgAQButxtz5swBAFitVlRWVqK0tNTIJlKUjB07FiNGjMDbb7+N9957D6tXr8add96JG2+8EV999RW++uorzV7rj3/8Ix577DG8+OKLGDlyJLZt24a7774baWlpKCkpwRdffIHzzz8fH3zwAc4991wkJyfj9OnTuO6663D33Xfjz3/+M06ePIkvvvhC9xlBCRtssFw5EWmltrZWCjR8ud1uTJ06FcXFxezhSBCDBg3Cl19+CQCorKzE0KFDsWnTJrz11lvIzMzU7HUWLFiAP/zhD7jhhhsAeHoyampqsGzZMpSUlOCss84CAPTo0UPqgfnxxx/R1NSEq6++Gj/72c8AAIMHD9asTWoSNtjgbBQi0srAgQNhtVpVAw6Xy4Xdu3cz2EgQgiBIPQWZmZm45557sGbNGlx//fVe++3btw9DhgyRfj59+jROnTqF9PR0adsdd9yBl19+ud1r/Oc//0FdXR1KS0tx9913ex3D32da9+7dMXnyZBQXF2PcuHG44oorcPPNNyuWItdSwgYbRERasdvtqKysxNSpUxV7S202GwYMGGBAy8gI33zzjZQvAXhmqyQltf+47d27t9fMkrfffht/+9vfsHLlSmmb2nojYmD7xz/+ET//+c+9HgtUUvy1117D/fffj7Vr12LVqlX43e9+h/Xr1+OCCy4IeG7hYrBBRKSB0tJSFBcXY/fu3aiursZDDz0El8sFm82GZcuWsVcjQXz44YfYsWMHHnjggYD7JiUleQWhmZmZ6NixY1CBaa9evZCTk4Pvv/8et99+u+I+ycnJAKAYAI8cORIjR47E3LlzceGFF+KNN95gsEFEFAvsdjvsdjvGjBmDW2+9Fbt378aAAQMYaMSpEydOoKGhwWvq68KFC3H11Vdj0qRJur/+448/jvvvvx9dunTBhAkTcOLECVRXV+On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dRQUFKBz587IysrCr3/9azQ2NkblvPTAYIOIiGLeihUrpO8HDx5s2LTisWPHYsSIEXj77bcBAFarFS+88AK++uorrFixAh9++CHmzJkDABg9ejSWLFmCLl26wOl0wul0Yvbs2QCAkydPYsGCBfj3v/+NNWvWYM+ePZg8ebIh56QFFvUiIqKY5nA4cN9990k/G70a76BBg/Dll18CAGbOnClt79evHxYsWIDf/OY3qKioQHJyMjIyMmCxWJCV5b3i7F133SV9379/f7zwwgs4//zz0dLSgvT09Kich5bYs0FEFCSHw4ENGzaEXBvD6QTsds9XQYFOjUtgZptWLAgCLBYLAGDDhg0YN24ccnJy0LlzZ0yaNAmHDh0KOD1327Zt+OUvf4m8vDx07twZY8aMAQDs27dP7+brImGDjfLycgwZMgSFhYVGN4WIYoBS9c+CAk8A4XT6f67b7SlnXl/vfw0VCo/ZphV/88036NevH3744QdcddVVGDp0KP72t79hy5YtKC8vBwCcOnVK9fmtra0YP3480tPT8frrr2Pz5s1YvXo1AM/wSixK2GCjrKwMNTU12Lx5s9FNISKTU6v+WV/vQH29J5hQkpWlXrqctGO327F06VLpZyOnFX/44YfYsWMHbrzxRlRXV+P06dP4wx/+gAsuuABnn3029u/f77V/cnIyXC6X17Zvv/0WBw8exNNPP41LLrkEgwYNiunkUCCBgw0iomCpddOfPu3pphfXRPEZdkd1tXLpctJeSUmJ9H1NTU1UphWfOHECDQ0NqK+vx9atW/HUU0/hl7/8Ja6++mpMmjQJP/vZz3D69GksXboU33//Pf70pz/h5Zdf9jpG37590dLSgn/+8584ePAgjh49ij59+iA5OVl63jvvvIMFCxbofj56YrBBRBSAWjd9UpKnm15cE4XLyJtDTk5OVF5n7dq1yM7ORt++fXHllVdiw4YNeOGFF/A///M/sNlsOO+887Bo0SI888wzGDp0KFauXImFCxd6HWP06NGYNm0abrnlFpx11ll49tlncdZZZ2H58uX461//iiFDhuDpp5/Gc889F5Vz0otFEATB6EYYqbm5GRkZGWhqakKXLl2Mbg4RmVRVVRWmTp0Kl8slddM/9lgp6us9vRqBckbtdgS9b6I4fvw49uzZg379+iE1NTWiY7W2tkqzNFpaWpCWlqZF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dMWF2IjCUFDgWbo5GE6nvm0hIv/CfQ/q9TynE7DbPd+LK0D7Xk+ysoDqav/HCeY6ZJbrT8IGG+Xl5SgvL4fL5TK6KRSDGhqA+nqjW0FEwXC7zfU8t7v99SOc60ksXYcSNtgoKytDWVkZmpubkZGRYXRzKEZZrZ6l44Mh3sEQUXQoveeCeR/q9Tz5905n+6DEeiaxIdQgJ5TrkFESNtgg0kJ2NuBwGN0KIlISaBgi2s+TP263t++VEAOGUHsrgrkOOStCO6bWmCBKREREumKwQURERLpisEFERES6YrBBREREumKwQURERLpisEFERES6YrBBREREumKwQURERLpisEFERES6YrBBREREumKwQURERLpisEFERES6YrBBREREumKwQURERLpisEFERES6YrBBREREumKwQURERLpisEFERES6YrBBREREuoqLYOPdd9/FOeecg4EDB+KVV14xujlEREQkk2R0AyJ1+vRpzJo1Cxs2bECXLl0watQo3HDDDejevbvRTSMiIiLEQc/GF198gXPPPRc5OTno3LkzrrrqKqxbt87oZhEREdEZhgcbH3/8Ma655hr07t0bFosFa9asabdPRUUF+vXrh9TUVOTn52PTpk3SY/v370dOTo70s91uR319fTSaTkREREEwPNhobW3FiBEj8OKLLyo+vmrVKsycORPz5s3Dtm3bcMkll2DChAnYt28fAEAQhHbPsVgsuraZiIiIgmd4zsaECRMwYcIE1ccXLVqE0tJSTJkyBQCwZMkSrFu3Di+99BIWLlyInJwcr54Mh8OBn//856rHO3HiBE6cOCH93NzcrMFZBFZQADQ0eG/LygKqq81xPLNROz8g8Hn7PjfY/xel56m9HhGRFpxO9e12u/p+as8zK8ODDX9OnjyJLVu24KGHHvLaPn78eHz66acAgPPPPx9fffUV6uvr0aVLF7z33nt49NFHVY+5cOFC/P73v9e13UoaGgAtR3e0Pp7Z+Du/QOcd7v+N2vPi+f+ZiIzldqtv93ftUXueWZk62Dh48CBcLhd69erltb1Xr15oOHO7mZSUhD/84Q8oKiqC2+3GnDlz0KNHD9Vjzp07F7NmzZJ+bm5uRm5urj4noMB6ZuBKqz8UrY9nNmrnF+3zjvf/ZyKKLqUe0mB6TevrAVmaYtDPM5qpgw2Rbw6GIAhe26699lpce+21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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "plt.figure(figsize=(6,5))\n", "\n", "plt.hist(dimuon_mass[\"dy\"], bins=150, range=(0, 150), histtype='step',linewidth=2, color='blue', label='DY+Jets')\n", "plt.hist(dimuon_mass[\"ttbar\"], bins=150, range=(0, 150), histtype='step',linewidth=2, color='orange', label='ttbar')\n", "n, bins, patches = plt.hist(dimuon_mass[\"data\"], bins=150, range=(0, 150), histtype='step',linewidth=0 )\n", "\n", "errory = np.sqrt(n)\n", "plt.errorbar(np.linspace(0,150,150), n,yerr= errory, fmt='o', markersize=3, color='k', label='Data')\n", "\n", "plt.xlabel('$M_{\\mu\\mu}$ [GeV]')\n", "plt.ylabel('Events')\n", "plt.yscale('log')\n", "plt.legend()\n", "\n", "#plt.savefig(f\"dimuon_mass.pdf\")\n", "plt.show()\n", "plt.clf()" ] }, { "cell_type": "markdown", "id": "3e3f0e80-590e-48d3-bf93-010eabfd22b5", "metadata": {}, "source": [ "### Plotting using `mplhep`" ] }, { "cell_type": "code", "execution_count": 3, "id": "a70d8311-e1bd-465d-982e-f0553d6fa97b", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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aNOmDYYPH4558+bht99+q/daSktLAQCdOnWyWFdeXo5FixahZ8+eaNGiBbZv344NGzbgoYceQqdOneS8jw8++AA9e/bE0aNHMXHiRDz00EPYuHEjevfujSNHjgAwJn3u2LFDzscwGAzYvn27/DNgbOnYvn07HnroIVx77bW45ZZbsGnTJowaNQq9evXCTz/9hDvvvBNJSUn497//jSVLlqgeSwiBbdu2YefOnejfvz9SUlJw//33o0GDBnjxxRexcuVK+Zyvv/46hg8fjnPnzmH06NG4//77UVZWhvvuuw9btmwxOb75vbds2RIA5HuUPPXUU0hOTsajjz5a7/8/EQWfw4cP49NPP8W9995rsrxt27YYOXIkXn75ZdX9zpw5g6ysLIt8Pum9p7q62i3Xd+7cOfzjH/9Aeno6mjRpgk6dOuHdd9812ebuu+9Gw4YN8Z///Mdi/yVLliApKQk33HCDvOy+++7DggULcPbsWccuxukwKEiEh4fLUafap2B7mLdk/PXXX/JxJ02aJIQQYvfu3fI2b775ptWWDCGEOH/+vJg1a5Zo0aKFzf43jUYjRo8eLc6cOWP12nr16iW0Wq04ePCgOHLkiDhy5IjYv3+/+OCDD8Tll18uGjVqJEpLS8XevXsFANGiRQvx22+/yfv//PPPQqvViqeeesrkuF9//bUAIP75z38KIS718S1ZskQIIeTjLVy4UAghxOHDhwUA0bZtW3HixAn5OP369RMAxCuvvCIv+/777wUA8dprr6kea//+/QKAiIuLE7/88ou8n/Rp4PXXX5f/H5s1ayb69u0rDAaDvN2SJUsEAPHll1+aHN/83ouLiy0+LWzatMnkWogo9Lz++uuiXbt2NreBlZYMSV1dnTh69KjYvHmzGDx4sNDpdKK6utqu89tqyTAYDKJnz54iJiZGzJw5U/z3v/8VI0aMEADESy+9ZLLt0KFDRVRUlDh79qy87MSJE6JBgwbiscceM9m2pqZGREZGis8//9yua5SEfE5GVFQUTp48CcC0VcMVkZGR6Ny5MzZv3iy3ZCjzMa677josX77c6v4NGzbEP/7xD0ydOhU//fQT1q9fj61bt2Lbtm3YtWsX6urqABg/0b/11luoq6vDggULLI5jMBiwbds2GAwGtG7d2mJ9mzZt8P3338t9cwDw8ssvm7TozJw5Ey1btsTDDz+M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4f0uv/xyjBw5Ek899RSOHz+OLl26QK/X4/XXX0d0dDQmTpzo8rXdf//9KCgoQN++fTF58mQkJiaipKQEr776KkaNGoXIyEiLfXJzczFp0iRoNBrVQQSSAwcOqOZq2OTQWJQgtnv3bpOy4WpfYWFh4v7777cYZmQ+hFXy1ltvmex/zTXXyOtsDWE9fPiwyMrKqreEbOPGjcXs2bOt3g8A8eSTT9Z774899pho2rSpqKurs1j3119/icmTJ4tWrVqJpk2bis6dO4uCggJx/vx5eZsJEyaImJgYeZio+fGmTZsmGjVqZLLPhQsXROPGjcW0adNMzjdz5kyh0WhEVVWV6rGefPJJERERIWpqaiz202q14vTp00IIIf744w9x2223iaioKNG8eXNx3XXXiQ8++EB89913okWLFuLKK68UBoPB5r0LIcT7778vAIiZM2fW+/9IRKHhjTfeEFdddZXNbWBlCOtff/0lnnnmGXHVVVeJiIgIceWVV4pRo0bZLCturr5iXKdPnxbjx48Xbdu2FRERESItLU289NJLJgUOlY4ePSoaNGggGjdubLXoo7NDWBlkKNTU1Ih33nlHDB48WKSkpIiGDRuKlJQU0atXLzFmzBixZ88e1f2sBRl79uwxCQrGjRsnr7MVZEi++uorceedd4quXbuKFi1aiIiICNG2bVtx/fXXi2eeeUZUVla69z+ALIwfP16kpqaajCMnotB2+PBhER4eLg4ePOjrS/GadevWiWbNmom//vrLof00QjiRvUIUAoqLi9GjRw+8++67FsNsiSi0DR8+HBkZGXjmmWd8fSleMWrUKCQkJGD27NkO7ccgg8jM+vXrsWHDBhQWFqJ9+/b4+uuvWReDiEzs2LEDt912G37++We3FNHyZxUVFejSpQu2bNmC5ORkh/YN+dElRObef/99vPjii+jbty+WL1/OAIOILHTq1Al33nkn5s6d6+tL8bjnn38ezzzzjMMBBsCWDCIiIvKQkB3C2qRJE5w7dw5hYWFo0aKFry+HiIgoYBw9ehR1dXVo3LixSflycyHbkhEWFgaDweDryyAiIgpYWq1WnrRTTci2ZEhBhlarVe1nqqysVK2iaYsQAuXl5UhJSXG4H9+Z83l7v2C/PyD475H3597zubKfs/sG0j3y/iz54v5c2dfafnq9HgaDwWIKDgtuGkIbcHQ6nQAg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xNVXX23yUAiGe+zWrZt4+eWX5Z9Pnz4trr/+erFmzZqAv79z586J8PBw8emnn8rLduzYIQCIX3/9NWDv78033xSNGzcWACzepOq7p127dgkA4pdffpG3mT17tmjXrp33bqAetu5vwoQJolu3bibbv/766yIxMVEIEfj3J9m8ebOIjY0VrVq1MgkyAuH+nMXuEhft2rULFRUVGDRokLwsKysLcXFxWLt2rQ+vzDmnTp1CSkoKsrOzTZY3b94cR44cwZo1a0zuVaPRYMCAAVi9erW3L9Vlq1evxsKFCzF//nyT5YF+j7///juKi4sxYsQIeVlUVBS+/vpr3HDDDQF/fzU1NTAYDGjSpIm8rGnTpgCAc+fOBez9DR8+HKWlpfjqq68s1tV3T2vWrEGbNm3Qtm1beZuBAwdi3759OHz4sOcv3g627q+2thb9+/c3WZaQkICjR4+ipqYm4O8PAP766y/cfffdmD17Nlq2bGmyLhDuz1kMMlxUUVEBjUZjMsmaRqNBSkqK3VPh+pOYmBjs3bsXXbp0kZft2LED69evR3Z2NioqKqDT6Uz20el0AXevx48fR25uLt566y2kpKSYrAv0ezx8+DDCwsKwfft2XHvttWjRogX69euH4uJiAIF/f02bNsXAgQPxwgsv4OjRozh9+jSefvpptGnTBu3btw/Y+0tISEDHjh3Rrl07i3X13ZO19YD9U3J7mq37e/PNN/Hcc8/JP587dw5vvfUWrrnmGjRo0CDg7w8AJk2ahLS0NDz00EMW6wLh/pwVsnOXuMuJEycQGRkJrdY0XouKisLx48d9dFXuIYTAwoULMX78eKSlpeHBBx/EE088IX9qlATivf7973/HoEGDMGTIEPz+++8m606cOBHQ96jX6yGEwOOPP44XX3wRqampeO+999C3b1/89NNPAX9/APDee++hbdu2SExMhEajQXh4OEpLS6HRaILi/szVd0/W1gMIuPveu3cvHnzwQWzevFluqQn0+1u+fDk+//xz7Ny5U3V9oN+fLWzJcFFcXBzOnj1rMQvdqVOn0KxZMx9dlesOHjyI3r1747777sMtt9yCb775BpGRkYiLi8OZM2dMtg20e12wYAH27NmD1157TXV9oN9jw4YNYTAY8M4772Do0KHIzs7G3Llz0bp1a/z73/8O+Ps7ffo0+vXrhx49emDp0qX4/PPP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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import mplhep as hep\n", "import numpy as np\n", "\n", "# CMS plot style\n", "style = hep.style.CMS\n", "style[\"font.size\"] = 13\n", "plt.style.use(style)\n", "\n", "plt.figure(figsize=(6,5))\n", "\n", "hists = {}\n", "for src in [\"dy\", \"ttbar\", \"data\"]:\n", " hists[src], bins = np.histogram(dimuon_mass[src], bins=150, range=(0,150))\n", "\n", "hep.histplot(hists[\"dy\"], bins=bins, histtype='step',linewidth=2, color='blue', label='DY+Jets')\n", "hep.histplot(hists[\"ttbar\"], bins=bins, histtype='step',linewidth=2, color='orange', label='ttbar')\n", "hep.histplot(hists[\"data\"], bins=bins, histtype='errorbar',linewidth=0, markersize=5, color='black', label='Data')\n", "\n", "# \"CMS Preliminary\" label\n", "hep.cms.label(loc=0, label=\"Preliminary\", data=True)\n", "\n", "plt.xlabel('$M_{\\mu\\mu}$ [GeV]')\n", "plt.ylabel('Events')\n", "plt.yscale('log')\n", "plt.legend()\n", "\n", "#plt.savefig(f\"dimuon_mass.pdf\")\n", "plt.show()\n", "plt.clf()" ] }, { "cell_type": "markdown", "id": "5b3e1982-3327-4d4a-b291-921406f7b409", "metadata": {}, "source": [ "### Plotting using pyROOT" ] }, { "cell_type": "code", "execution_count": 4, "id": "81562e6a-4a02-4844-a816-0993d1749de5", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Welcome to JupyROOT 6.28/00\n" ] }, { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import ROOT\n", "\n", "c1 = ROOT.TCanvas( 'c1', 'Dynamic Filling Example', 200, 10, 600, 500 )\n", "c1.Clear()\n", "c1.cd()\n", "\n", "colors_ = {\n", " \"dy\": 600,\n", " \"ttbar\": 800,\n", " \"data\": 1\n", "} \n", "\n", "h = {}\n", "for src in [\"dy\", \"ttbar\", \"data\"]:\n", " h[src] = ROOT.TH1F(\"dimuon_mass_\"+src,\"Dimuon mass\",150,0,150)\n", " for m in dimuon_mass[src]:\n", " h[src].Fill(m)\n", " h[src].SetLineColor(colors_[src])\n", " h[src].SetLineWidth(2)\n", "\n", "c1.Clear()\n", "c1.SetLogy()\n", "\n", "h[\"dy\"].Draw()\n", "h[\"ttbar\"].Draw('same')\n", "h[\"data\"].Draw('lep,same')\n", "\n", "h[\"dy\"].SetStats(0)\n", "h[\"dy\"].GetYaxis().SetRangeUser(0.2, 1e5)\n", "h[\"dy\"].GetYaxis().SetTitle(\"Events\")\n", "h[\"dy\"].GetXaxis().SetTitle(\"M_{#mu#mu} [GeV]\")\n", "\n", "legend = ROOT.TLegend(0.65, 0.70, 0.88, 0.88)\n", "legend.SetTextSize(0.035)\n", "legend.AddEntry(h[\"dy\"],\"DY+Jets\", \"lp\")\n", "legend.AddEntry(h[\"ttbar\"],\"ttbar\", \"lp\")\n", "legend.AddEntry(h[\"data\"],\"Data\", \"lp\")\n", "\n", "\n", "legend.Draw()\n", "\n", "c1.Modified()\n", "c1.Update()\n", "\n", "c1.Draw()" ] }, { "cell_type": "code", "execution_count": null, "id": "a2c6f4d9-e471-4307-8b27-85dd1098b5aa", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python3 kernel (default)", "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.10" } }, "nbformat": 4, "nbformat_minor": 5 }