Skip to content

Instantly share code, notes, and snippets.

@alexander-held
Last active August 2, 2023 17:33
Show Gist options
  • Save alexander-held/2ca63e4c4c3de2114bf8d903bf28bb4a to your computer and use it in GitHub Desktop.
Save alexander-held/2ca63e4c4c3de2114bf8d903bf28bb4a to your computer and use it in GitHub Desktop.
styling and editing cabinetry data/MC plots
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "ef31833a",
"metadata": {},
"source": [
"## Data/MC plot customization\n",
"\n",
"Using `mplhep` for styling, adding an experiment label, removing and adding text."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "77ea6f31",
"metadata": {},
"outputs": [],
"source": [
"import cabinetry\n",
"import matplotlib as mpl\n",
"import mplhep\n",
"import numpy as np\n",
"import pyhf"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "3e5e61bd",
"metadata": {},
"outputs": [],
"source": [
"# get data from a toy model to draw\n",
"model = pyhf.simplemodels.correlated_background(\n",
" signal=[12.0, 11.0],\n",
" bkg=[50.0, 22.0],\n",
" bkg_up=[55.0, 29.0],\n",
" bkg_down=[45.0, 15.0],\n",
")\n",
"data = [60, 40] + model.config.auxdata\n",
"prediction_prefit = cabinetry.model_utils.prediction(model)"
]
},
{
"cell_type": "markdown",
"id": "46756020",
"metadata": {},
"source": [
"If the bin edges are known, they need to be injected in the following. The `cabinetry` version of obtaining them from the config is shown here: https://github.com/scikit-hep/cabinetry/blob/5ece244de03c31dd43bbb2ca8908b851d2d43cce/src/cabinetry/visualize/__init__.py#L237-L239"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "9cdde41d",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmMAAAJjCAYAAABAyBZ9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADS/ElEQVR4nOzdd1QUVxsG8GfpRSmiIEXBgD0qdmyAvRNjjxoLlkRJojGxRlFj/DQxGjUhGktsscQu2DtoLFGwl6BGUQFFqVKWOt8fZAeWLXR2wed3zp5kZ+7MvLtXuC+3zEgEQRBARERERBqho+kAiIiIiN5lTMaIiIiINIjJGBEREZEGMRkjIiIi0iAmY0REREQaxGSMiIiISIOYjBERERFpkJ6mAyDl3rx5g+PHj8PJyQnGxsaaDoeIiOidkpKSgqdPn6J79+6oWrVqqV6LyZiWOnToEMaMGaPpMIiIiN5pGzduxOjRo0v1GkzGtJSdnR0AYO3atWjevHmpXGPgwIHYs2dPqZy7Ipy/tK+RmJgIDw8PBAYGolKlSqVyjfJeB+X5/Kzfin9+1nHFPn9wcDAmTJggtselicmYljIyMgIA1K1bF82aNSu1a5TWuSvC+Uv7GgkJCQAAV1dXmJmZlco1ynsdlOfzs34r/vlZxxX7/ImJieI1Shsn8BMRERFpkFYlY2FhYTh//rzctgMHDqBjx45o2bIlpkyZgtjYWA1FV/H4+Pjw/FpwjdJU3uugvJ+/tJX376e8n78slPfvqLyfv6xIBEEQNB1EZmYmJk+ejNWrV6NJkyYICQkBAJw9exadO3cWy0kkEtSuXRtXr15F5cqVNRVumQgKChLnIri7u2s6HCoFCQkJMDc3R3x8fKkNcZDmsH4rPtZxxVaW7bBW9Ixt2rQJv/76K/T19dGqVStx+3fffQeJRIJZs2bhwoUL8PDwwMOHD7FmzRoNRktERERUcrQiGVu3bh0kEgkOHjwoJloxMTEIDAyEtbU1FixYgLZt2+L333+HIAjYvXu3hiMufQYGBnL/pYrH0NAQ8+bNg6GhoaZDoVLA+q34WMcVW1m2w1qxmvLRo0ewsLBA9+7dxW0XLlxAVlYW+vXrBz297DCdnJxgbW2Np0+faijSssNkrOIzNDTE/PnzNR0GlRLWb8XHOq7YyrId1oqesczMTOjr68ttO336NCQSicI4ra6uLpKSksoyPCIiIqJSoxXJmLOzM16/fo1///0XACCVSvHHH39AR0cH3bp1E8u9evUKr169goODg6ZCJSIiIipRWpGMDRgwAIIgYPDgwdi5cycmTpyI2NhYuLu7w8rKCgBw584djBgxAoIgoGXLlhqOmIiIiKhkaMWtLRITE9GuXTvcvn0bEokEgiBAV1cXFy9eRMuWLREWFob33nsPgiDAwMAAISEhaNCggabDLlUhISFo3rw5atWqle/df318fCrMvVaIiIhKm5+fH/z8/NSWkUqlePLkCYKDg0v9aS9akYwBQHJyMlasWIGrV6/CzMwMn376Kdq0aQMg+2awbm5uaNKkCZYsWQJXV1fNBlsGZMlYWfwjICIiInll2Q5rxWpKADAxMcHs2bOV7nN0dERkZGQZR0RERERU+rRizpi3tzdmzpxZoLJz587FjBkzSjkiIiIiorKhFcnYpk2bsG/fvgKV3bdvH1avXl3KERERERGVDY0MUx48eBAHDx6U2/bq1St4e3urPS4yMhL379+HhYVFKUZHREREVHY0kozduHEDmzZtEt9LJBK8fftWbps6H330UekERkRERFTGNJKM9evXD05OTgAAQRDg7e0Na2trfP/99/keW716dXTt2rWUIyQiIiIqGxpJxpo0aYImTZqI7729vWFmZoZRo0ZpIhzKx/bt2zF8+HC5bVu2bMHHH3+sUHb8+PFYv359ka4TGhqK2rVr48svv8SKFSvE7YGBgQqPxSqMwsSfV1ZWFg4fPox9+/bhr7/+wsuXL5Geng57e3vY29ujT58+GDNmDKpWrVrk+IiI6N2mFbe2yMrK0nQIpEJqaiq++eYbhe1PnjxRWj4oKKhI16levTpcXFwAAFevXhW3SyQSNG3atEjnBAoff253797FiBEjcOPGDYV9jx8/xuPHjxEUFARfX18cPHhQ7tFdREREBaUVyRhprzVr1uDp06cK25UlM3FxccjMzISzs7Pc9tevXyMhIUF8b29vr/BUgW7dukEikSAjIwPXr18Xt9epUweVK1cuk/hz+/vvv9GpUye5h9Lr6enBxsYGMTExSElJEbdLpVJ8+OGHePDgAWrUqFHkWImI6N2kFbe2AIDdu3ejadOmMDQ0hK6urtqXnh5zyLIQHx+PhQsXKt2nLJmxsLDAo0ePFF4eHh5y5YKDgxXK/PrrrwCA+/fv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RExMDD755BNkZmYCAF69eoUHDx7gl19+wb59+2BlZQVfX98SC5qIiIiooihyMmZpaYm9e/di2LBh2LBhA37//Xdxn52dHQBAEATY2Nhgy5Yt4jYiIiIiylGsxyG1aNEC9+7dw9q1a3H06FE8fPgQYWFhsLW1hYuLCzw8PDBlyhSYmpqWVLxEREREFUqxn02pp6eHSZMmYdKkSSURD+XB1ZREREQlq8KspqSywdWUREREJUvbVlMWKBnr1KlTsS8kkUhw+vTpYp+HiIiIqCIpUDJ27tw5lfskEgkAiA8Iz7tPIpHA0tKyaNERERERVXAFus/YkydPFF7//vsvhg8fDkEQULNmTfz44484ffo07t27h7Nnz2LlypWoVasWBEGAj48PXr9+XdqfRbR9+3ZIJBI8ePCg0MempaVh4cKFaN++PaysrGBvb4/evXtj3759pRApERERvesK1DPm6OiosG3btm3Yvn07unTpgsOHD0NfX1/cV69ePXh4eGDSpEno27cvFi5ciDp16mDYsGElF7ka27dvL9JxMTEx8PT0xO3btwEAFhYWiI6OxpEjR3DkyBGMHDkSmzZtEnsDASAwMBCenp5qz7t7924MHDiwSDERERFRxVbkCfyrVq0CAPz+++9yiVhuurq6WL9+PRwcHLB8+fJST8aysrLw22+/4fDhw0U6fsmSJbh9+zbq1auHnTt3onHjxsjIyMCBAwfw6aefYsuWLXB3d8fYsWPFYx4+fAgg+75rVapUUXre4tzag6spiYiISpa2raaUCMomexVApUqVYGJigqioqHzLWltbIykpCUlJSUW5VL5OnjyJHTt24Pz583j06JG4/f79+6hXr16BzpGYmIhq1apBKpUiODhYYQXjwYMH0a9fP9jZ2SE8PFzcPnPmTHz//fdYv369XJJWXLJVHMpiISIizXNwcBAfFP7ixQtNh0MlrCzb4SI/m9La2hrR0dGIiYlRWy46Ohpv3rwp1TvwHz58GBs3bpRLxArr33//hVQqRcOGDZV+6V5eXrC0tERERIRcAirrGatbt26Rr01ERETvriInYy1btgQAzJkzR2252bNnAyjdB4VPmzYN169fF1+2traFPseTJ08AKJ8fB2SvDJWd9+nTp+J2WQLIZIyIiIiKoshzxqZOnYoDBw7gt99+Q2RkJGbMmAFXV1cYGRlBKpXixo0b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",
"text/plain": [
"<Figure size 600x600 with 2 Axes>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mplhep.style.use(mplhep.style.ATLAS)\n",
"\n",
"# we get a single figure here\n",
"figs = cabinetry.visualize.data_mc(prediction_prefit, data, close_figure=True)\n",
"\n",
"# index of signal (named \"signal\") in list of samples\n",
"signal_idx = next(i for i in range(len(model.config.samples)) if model.config.samples[i] == \"signal\")\n",
"\n",
"for i_reg, region_fig in enumerate(figs):\n",
" # get the axes corresponding to the main panel\n",
" ax = figs[0][\"figure\"].axes[0]\n",
"\n",
" # add an experiment label\n",
" mplhep.atlas.label(\"Internal\", data=True, lumi=50, year=2017, ax=ax)\n",
"\n",
" # remove the default text on the plot (region name and pre-/post-fit label)\n",
" figs[0][\"figure\"].axes[0].artists[0].remove()\n",
"\n",
" # re-add the region name again (can add anything else here as well and customize positioning)\n",
" at = mpl.offsetbox.AnchoredText(\n",
" region_fig[\"region\"],\n",
" loc=\"upper left\",\n",
" frameon=False,\n",
" prop={\"fontsize\": \"medium\"},\n",
" bbox_to_anchor=(0.02, 0.85),\n",
" bbox_transform=ax.transAxes\n",
" )\n",
" ax.add_artist(at)\n",
" \n",
" # change axis label\n",
" figs[0][\"figure\"].axes[1].set_xlabel(\"some observable\")\n",
" \n",
" # add a signal overlay\n",
" sig_per_bin = np.asarray(prediction_prefit.model_yields[i_reg][signal_idx])\n",
" bkg_per_bin = np.sum(prediction_prefit.model_yields[i_reg], axis=0) - sig_per_bin\n",
" # normalize signal to total background\n",
" sig_norm_bkg = sig_per_bin * np.sum(bkg_per_bin) / np.sum(sig_per_bin)\n",
" # get bin edges (need to modify this depending on the setup being used)\n",
" bin_edges = np.arange(len(sig_norm_bkg) + 1)\n",
" # add to figure\n",
" stairs_container = ax.stairs(sig_norm_bkg, edges=bin_edges, linewidth=2,\n",
" linestyle=\"--\", color=\"C1\", baseline=None)\n",
"\n",
" # update legend: get handles / labels of the existing legend, extend them, and then draw\n",
" legend_handles = ax.get_legend().legend_handles + [stairs_container]\n",
" legend_labels = [t.get_text() for t in ax.get_legend().texts] + [\"norm. signal\"]\n",
" ax.legend(handles=legend_handles, labels=legend_labels)\n",
"\n",
"# save figure\n",
"figs[0][\"figure\"].savefig(\"fig.pdf\")\n",
"\n",
"# draw the figure in the notebook\n",
"figs[0][\"figure\"]"
]
}
],
"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.9.16"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment