{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "a8b8add6",
   "metadata": {},
   "source": [
    "# df103_NanoAODHiggsAnalysis\n",
    "An example of complex analysis with RDataFrame: reconstructing the Higgs boson.\n",
    "\n",
    "This tutorial is a simplified but yet complex example of an analysis reconstructing the Higgs boson decaying to two Z\n",
    "bosons from events with four leptons. The data and simulated events are taken from CERN OpenData representing a\n",
    "subset of the data recorded in 2012 with the CMS detector at the LHC. The tutorials follows the Higgs to four leptons\n",
    "analysis published on CERN Open Data portal ([10.7483/OPENDATA.CMS.JKB8.RR42](http://opendata.cern.ch/record/5500)).\n",
    "The resulting plots show the invariant mass of the selected four lepton systems in different decay modes (four muons,\n",
    "four electrons and two of each kind) and in a combined plot indicating the decay of the Higgs boson with a mass of\n",
    "about 125 GeV.\n",
    "\n",
    "The following steps are performed for each sample with data and simulated events in order to reconstruct the Higgs\n",
    "boson from the selected muons and electrons:\n",
    "1. Select interesting events with multiple cuts on event properties, e.g., number of leptons, kinematics of the\n",
    "   leptons and quality of the tracks.\n",
    "2. Reconstruct two Z bosons of which only one on the mass shell from the selected events and apply additional cuts on\n",
    "   the reconstructed objects.\n",
    "3. Reconstruct the Higgs boson from the remaining Z boson candidates and calculate its invariant mass.\n",
    "\n",
    "Another aim of this version of the tutorial is to show a way to blend C++ and Python code. All the functions that\n",
    "make computations on data to define new columns or filter existing ones in a precise way, better suited to be written\n",
    "in C++, have been moved to a header that is then declared to the ROOT C++ interpreter. The functions that instead\n",
    "create nodes of the computational graph (e.g. Filter, Define) remain inside the main Python script.\n",
    "\n",
    "The tutorial has the fast mode enabled by default, which reads the data from already skimmed\n",
    "datasets with a total size of only 51MB. If the fast mode is disabled, the tutorial runs over\n",
    "the full dataset with a size of 12GB.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "**Author:**  Stefan Wunsch (KIT, CERN), Vincenzo Eduardo Padulano (UniMiB, CERN)  \n",
    "<i><small>This notebook tutorial was automatically generated with <a href= \"https://github.com/root-project/root/blob/master/documentation/doxygen/converttonotebook.py\">ROOTBOOK-izer</a> from the macro found in the ROOT repository  on Tuesday, May 19, 2026 at 08:10 PM.</small></i>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "8fc13f2c",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:32.206055Z",
     "iopub.status.busy": "2026-05-19T20:10:32.205955Z",
     "iopub.status.idle": "2026-05-19T20:10:33.232049Z",
     "shell.execute_reply": "2026-05-19T20:10:33.231450Z"
    }
   },
   "outputs": [],
   "source": [
    "import ROOT\n",
    "import os"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "85b03382",
   "metadata": {},
   "source": [
    "Enable multi-threading"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "98ededbc",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:33.233379Z",
     "iopub.status.busy": "2026-05-19T20:10:33.233249Z",
     "iopub.status.idle": "2026-05-19T20:10:33.366138Z",
     "shell.execute_reply": "2026-05-19T20:10:33.365584Z"
    }
   },
   "outputs": [],
   "source": [
    "ROOT.ROOT.EnableImplicitMT()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c9d96191",
   "metadata": {},
   "source": [
    "Include necessary header"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "690c9ffd",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:33.368124Z",
     "iopub.status.busy": "2026-05-19T20:10:33.368000Z",
     "iopub.status.idle": "2026-05-19T20:10:33.567539Z",
     "shell.execute_reply": "2026-05-19T20:10:33.566991Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "higgs_header_path = os.path.join(os.sep, str(ROOT.gROOT.GetTutorialDir()) + os.sep, \"analysis\" + os.sep, \n",
    "                                 \"dataframe\" + os.sep, \"df103_NanoAODHiggsAnalysis_python.h\")\n",
    "\n",
    "ROOT.gInterpreter.Declare('#include \"{}\"'.format(higgs_header_path))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "72b16946",
   "metadata": {},
   "source": [
    "Python functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "d7153a32",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:33.569079Z",
     "iopub.status.busy": "2026-05-19T20:10:33.568958Z",
     "iopub.status.idle": "2026-05-19T20:10:33.678164Z",
     "shell.execute_reply": "2026-05-19T20:10:33.677593Z"
    }
   },
   "outputs": [],
   "source": [
    "def reco_higgs_to_2el2mu(df):\n",
    "    \"\"\"Reconstruct Higgs from two electrons and two muons\"\"\"\n",
    "    # Filter interesting events\n",
    "    df_base = selection_2el2mu(df)\n",
    "    # Compute masses of Z systems\n",
    "    df_z_mass = df_base.Define(\"Z_mass\", \"compute_z_masses_2el2mu(Electron_pt, Electron_eta, Electron_phi,\"\n",
    "                               \" Electron_mass, Muon_pt, Muon_eta, Muon_phi, Muon_mass)\")\n",
    "    # Cut on mass of Z candidates\n",
    "    df_z_cut = filter_z_candidates(df_z_mass)\n",
    "    # Reconstruct H mass\n",
    "    df_h_mass = df_z_cut.Define(\"H_mass\", \"compute_higgs_mass_2el2mu(Electron_pt, Electron_eta, Electron_phi,\"\n",
    "                                \" Electron_mass, Muon_pt, Muon_eta, Muon_phi, Muon_mass)\")\n",
    "\n",
    "    return df_h_mass\n",
    "\n",
    "\n",
    "def selection_2el2mu(df):\n",
    "    \"\"\"Select interesting events with two electrons and two muons\"\"\"\n",
    "    df_ge2el2mu = df.Filter(\"nElectron>=2 && nMuon>=2\", \"At least two electrons and two muons\")\n",
    "    df_eta = df_ge2el2mu.Filter(\"All(abs(Electron_eta)<2.5) && All(abs(Muon_eta)<2.4)\", \"Eta cuts\")\n",
    "\n",
    "    df_pt = df_eta.Filter(\"pt_cuts(Muon_pt, Electron_pt)\", \"Pt cuts\")\n",
    "\n",
    "    df_dr = df_pt.Filter(\"dr_cuts(Muon_eta, Muon_phi, Electron_eta, Electron_phi)\", \"Dr cuts\")\n",
    "\n",
    "    df_iso = df_dr.Filter(\"All(abs(Electron_pfRelIso03_all)<0.40) && All(abs(Muon_pfRelIso04_all)<0.40)\",\n",
    "                          \"Require good isolation\")\n",
    "    df_el_ip3d = df_iso.Define(\"Electron_ip3d_el\", \"sqrt(Electron_dxy*Electron_dxy + Electron_dz*Electron_dz)\")\n",
    "    df_el_sip3d = df_el_ip3d.Define(\"Electron_sip3d_el\",\n",
    "                                    \"Electron_ip3d_el/sqrt(Electron_dxyErr*Electron_dxyErr + \"\n",
    "                                    \"Electron_dzErr*Electron_dzErr)\")\n",
    "    df_el_track = df_el_sip3d.Filter(\"All(Electron_sip3d_el<4) && All(abs(Electron_dxy)<0.5) &&\"\n",
    "                                     \" All(abs(Electron_dz)<1.0)\",\n",
    "                                     \"Electron track close to primary vertex with small uncertainty\")\n",
    "    df_mu_ip3d = df_el_track.Define(\"Muon_ip3d_mu\", \"sqrt(Muon_dxy*Muon_dxy + Muon_dz*Muon_dz)\")\n",
    "\n",
    "    df_mu_sip3d = df_mu_ip3d.Define(\"Muon_sip3d_mu\",\n",
    "                                    \"Muon_ip3d_mu/sqrt(Muon_dxyErr*Muon_dxyErr + Muon_dzErr*Muon_dzErr)\")\n",
    "    df_mu_track = df_mu_sip3d.Filter(\"All(Muon_sip3d_mu<4) && All(abs(Muon_dxy)<0.5) && All(abs(Muon_dz)<1.0)\",\n",
    "                                     \"Muon track close to primary vertex with small uncertainty\")\n",
    "    df_2p2n = df_mu_track.Filter(\"Sum(Electron_charge)==0 && Sum(Muon_charge)==0\",\n",
    "                                 \"Two opposite charged electron and muon pairs\")\n",
    "\n",
    "    return df_2p2n\n",
    "\n",
    "\n",
    "def reco_higgs_to_4mu(df):\n",
    "    \"\"\"Reconstruct Higgs from four muons\"\"\"\n",
    "    # Filter interesting events\n",
    "    df_base = selection_4mu(df)\n",
    "\n",
    "    # Reconstruct Z systems\n",
    "    df_z_idx = df_base.Define(\"Z_idx\", \"reco_zz_to_4l(Muon_pt, Muon_eta, Muon_phi, Muon_mass, Muon_charge)\")\n",
    "\n",
    "    # Cut on distance between muons building Z systems\n",
    "    df_z_dr = df_z_idx.Filter(\"filter_z_dr(Z_idx, Muon_eta, Muon_phi)\", \"Delta R separation of muons building Z system\")\n",
    "\n",
    "    # Compute masses of Z systems\n",
    "    df_z_mass = df_z_dr.Define(\"Z_mass\", \"compute_z_masses_4l(Z_idx, Muon_pt, Muon_eta, Muon_phi, Muon_mass)\")\n",
    "\n",
    "    # Cut on mass of Z candidates\n",
    "    df_z_cut = filter_z_candidates(df_z_mass)\n",
    "\n",
    "    # Reconstruct H mass\n",
    "    df_h_mass = df_z_cut.Define(\"H_mass\", \"compute_higgs_mass_4l(Z_idx, Muon_pt, Muon_eta, Muon_phi, Muon_mass)\")\n",
    "\n",
    "    return df_h_mass\n",
    "\n",
    "\n",
    "def selection_4mu(df):\n",
    "    \"\"\"Select interesting events with four muons\"\"\"\n",
    "    df_ge4m = df.Filter(\"nMuon>=4\", \"At least four muons\")\n",
    "\n",
    "    df_iso = df_ge4m.Filter(\"All(abs(Muon_pfRelIso04_all)<0.40)\", \"Require good isolation\")\n",
    "    df_kin = df_iso.Filter(\"All(Muon_pt>5) && All(abs(Muon_eta)<2.4)\", \"Good muon kinematics\")\n",
    "    df_ip3d = df_kin.Define(\"Muon_ip3d\", \"sqrt(Muon_dxy*Muon_dxy + Muon_dz*Muon_dz)\")\n",
    "    df_sip3d = df_ip3d.Define(\"Muon_sip3d\", \"Muon_ip3d/sqrt(Muon_dxyErr*Muon_dxyErr + Muon_dzErr*Muon_dzErr)\")\n",
    "    df_pv = df_sip3d.Filter(\"All(Muon_sip3d<4) && All(abs(Muon_dxy)<0.5) && All(abs(Muon_dz)<1.0)\",\n",
    "                            \"Track close to primary vertex with small uncertainty\")\n",
    "    df_2p2n = df_pv.Filter(\"nMuon==4 && Sum(Muon_charge==1)==2 && Sum(Muon_charge==-1)==2\",\n",
    "                           \"Two positive and two negative muons\")\n",
    "\n",
    "    return df_2p2n\n",
    "\n",
    "\n",
    "def filter_z_candidates(df):\n",
    "    \"\"\"Apply selection on reconstructed Z candidates\"\"\"\n",
    "    df_z1_cut = df.Filter(\"Z_mass[0] > 40 && Z_mass[0] < 120\", \"Mass of first Z candidate in [40, 120]\")\n",
    "    df_z2_cut = df_z1_cut.Filter(\"Z_mass[1] > 12 && Z_mass[1] < 120\", \"Mass of second Z candidate in [12, 120]\")\n",
    "\n",
    "    return df_z2_cut\n",
    "\n",
    "\n",
    "def reco_higgs_to_4el(df):\n",
    "    \"\"\"Reconstruct Higgs from four electrons\"\"\"\n",
    "    # Filter interesting events\n",
    "    df_base = selection_4el(df)\n",
    "\n",
    "    # Reconstruct Z systems\n",
    "    df_z_idx = df_base.Define(\"Z_idx\",\n",
    "                              \"reco_zz_to_4l(Electron_pt, Electron_eta, Electron_phi, Electron_mass, Electron_charge)\")\n",
    "\n",
    "    # Cut on distance between Electrons building Z systems\n",
    "    df_z_dr = df_z_idx.Filter(\"filter_z_dr(Z_idx, Electron_eta, Electron_phi)\",\n",
    "                              \"Delta R separation of Electrons building Z system\")\n",
    "\n",
    "    # Compute masses of Z systems\n",
    "    df_z_mass = df_z_dr.Define(\"Z_mass\",\n",
    "                               \"compute_z_masses_4l(Z_idx, Electron_pt, Electron_eta, Electron_phi, Electron_mass)\")\n",
    "\n",
    "    # Cut on mass of Z candidates\n",
    "    df_z_cut = filter_z_candidates(df_z_mass)\n",
    "\n",
    "    # Reconstruct H mass\n",
    "    df_h_mass = df_z_cut.Define(\"H_mass\",\n",
    "                                \"compute_higgs_mass_4l(Z_idx, Electron_pt, Electron_eta, Electron_phi, Electron_mass)\")\n",
    "\n",
    "    return df_h_mass\n",
    "\n",
    "\n",
    "def selection_4el(df):\n",
    "    \"\"\"Select interesting events with four electrons\"\"\"\n",
    "    df_ge4el = df.Filter(\"nElectron>=4\", \"At least our electrons\")\n",
    "    df_iso = df_ge4el.Filter(\"All(abs(Electron_pfRelIso03_all)<0.40)\", \"Require good isolation\")\n",
    "    df_kin = df_iso.Filter(\"All(Electron_pt>7) && All(abs(Electron_eta)<2.5)\", \"Good Electron kinematics\")\n",
    "    df_ip3d = df_kin.Define(\"Electron_ip3d\", \"sqrt(Electron_dxy*Electron_dxy + Electron_dz*Electron_dz)\")\n",
    "    df_sip3d = df_ip3d.Define(\"Electron_sip3d\",\n",
    "                              \"Electron_ip3d/sqrt(Electron_dxyErr*Electron_dxyErr + Electron_dzErr*Electron_dzErr)\")\n",
    "    df_pv = df_sip3d.Filter(\"All(Electron_sip3d<4) && All(abs(Electron_dxy)<0.5) && All(abs(Electron_dz)<1.0)\",\n",
    "                            \"Track close to primary vertex with small uncertainty\")\n",
    "    df_2p2n = df_pv.Filter(\"nElectron==4 && Sum(Electron_charge==1)==2 && Sum(Electron_charge==-1)==2\",\n",
    "                           \"Two positive and two negative electrons\")\n",
    "\n",
    "    return df_2p2n\n",
    "\n",
    "\n",
    "def plot(sig, bkg, data, x_label, filename):\n",
    "    \"\"\"\n",
    "    Plot invariant mass for signal and background processes from simulated\n",
    "    events overlay the measured data.\n",
    "    \"\"\"\n",
    "    # Canvas and general style options\n",
    "    ROOT.gStyle.SetTextFont(42)\n",
    "    d = ROOT.TCanvas(\"\", \"\", 800, 700)\n",
    "    d.SetLeftMargin(0.15)\n",
    "\n",
    "    # Get signal and background histograms and stack them to show Higgs signal\n",
    "    # on top of the background process\n",
    "    h_bkg = bkg.Clone()\n",
    "    h_cmb = sig.Clone()\n",
    "\n",
    "    h_cmb.Add(h_bkg)\n",
    "    h_cmb.SetTitle(\"\")\n",
    "    h_cmb.GetXaxis().SetTitle(x_label)\n",
    "    h_cmb.GetXaxis().SetTitleSize(0.04)\n",
    "    h_cmb.GetYaxis().SetTitle(\"N_{Events}\")\n",
    "    h_cmb.GetYaxis().SetTitleSize(0.04)\n",
    "    h_cmb.SetLineColor(\"kRed\")\n",
    "    h_cmb.SetLineWidth(2)\n",
    "    h_cmb.SetMaximum(18)\n",
    "    h_cmb.SetStats(False)\n",
    "\n",
    "    h_bkg.SetLineWidth(2)\n",
    "    h_bkg.SetFillStyle(1001)\n",
    "    h_bkg.SetLineColor(\"black\")\n",
    "    h_bkg.SetFillColor(\"kAzure-9\")\n",
    "\n",
    "    # Get histogram of data points\n",
    "    h_data = data.Clone()\n",
    "    h_data.SetLineWidth(1)\n",
    "    h_data.SetMarkerStyle(20)\n",
    "    h_data.SetMarkerSize(1.0)\n",
    "    h_data.SetMarkerColor(\"black\")\n",
    "    h_data.SetLineColor(\"black\")\n",
    "\n",
    "    # Draw histograms\n",
    "    h_cmb.Draw(\"HIST\")\n",
    "    h_bkg.Draw(\"HIST SAME\")\n",
    "    h_data.Draw(\"PE1 SAME\")\n",
    "\n",
    "    # Add legend\n",
    "    legend = ROOT.TLegend(0.62, 0.70, 0.82, 0.88)\n",
    "    legend.SetFillColor(0)\n",
    "    legend.SetBorderSize(0)\n",
    "    legend.SetTextSize(0.03)\n",
    "    legend.AddEntry(h_data, \"Data\", \"pe\")\n",
    "    legend.AddEntry(h_bkg, \"ZZ\", \"f\")\n",
    "    legend.AddEntry(h_cmb, \"m_{H} = 125 GeV\", \"f\")\n",
    "    legend.Draw()\n",
    "\n",
    "    # Add header\n",
    "    cms_label = ROOT.TLatex()\n",
    "    cms_label.SetTextSize(0.04)\n",
    "    cms_label.DrawLatexNDC(0.16, 0.92, \"#bf{CMS Open Data}\")\n",
    "    header = ROOT.TLatex()\n",
    "    header.SetTextSize(0.03)\n",
    "    header.DrawLatexNDC(0.63, 0.92, \"#sqrt{s} = 8 TeV, L_{int} = 11.6 fb^{-1}\")\n",
    "\n",
    "    # Save plot\n",
    "    d.SaveAs(filename)\n",
    "\n",
    "    # Make sure canvas and objects remains existing after the macro execution\n",
    "    ROOT.SetOwnership(d, False)\n",
    "    ROOT.SetOwnership(h_cmb, False)\n",
    "    ROOT.SetOwnership(h_data, False)\n",
    "    ROOT.SetOwnership(h_bkg, False)\n",
    "    ROOT.SetOwnership(legend, False)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e54d8d12",
   "metadata": {},
   "source": [
    "In fast mode, take samples from */cms_opendata_2012_nanoaod_skimmed/*, which has\n",
    "the preselections from the selection_* functions already applied."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "8b461de3",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:33.679500Z",
     "iopub.status.busy": "2026-05-19T20:10:33.679377Z",
     "iopub.status.idle": "2026-05-19T20:10:33.786186Z",
     "shell.execute_reply": "2026-05-19T20:10:33.785619Z"
    }
   },
   "outputs": [],
   "source": [
    "path = \"root://eospublic.cern.ch//eos/root-eos/cms_opendata_2012_nanoaod/\"\n",
    "run_fast = True # Run on skimmed data, set to False to run on full dataset\n",
    "if run_fast: path = \"root://eospublic.cern.ch//eos/root-eos/cms_opendata_2012_nanoaod_skimmed/\""
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a74eaf68",
   "metadata": {},
   "source": [
    "Create dataframes for signal, background and data samples"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "66a1a0c5",
   "metadata": {},
   "source": [
    "Signal: Higgs -> 4 leptons"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "800f9f3f",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:33.787686Z",
     "iopub.status.busy": "2026-05-19T20:10:33.787536Z",
     "iopub.status.idle": "2026-05-19T20:10:34.518084Z",
     "shell.execute_reply": "2026-05-19T20:10:34.517492Z"
    }
   },
   "outputs": [],
   "source": [
    "df_sig_4l = ROOT.RDataFrame(\"Events\", path + \"SMHiggsToZZTo4L.root\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "811111e4",
   "metadata": {},
   "source": [
    "Background: ZZ -> 4 leptons\n",
    "Note that additional background processes from the original paper\n",
    "with minor contribution were left out for this\n",
    "tutorial."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "531dfd73",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:34.520311Z",
     "iopub.status.busy": "2026-05-19T20:10:34.520185Z",
     "iopub.status.idle": "2026-05-19T20:10:34.812531Z",
     "shell.execute_reply": "2026-05-19T20:10:34.810694Z"
    }
   },
   "outputs": [],
   "source": [
    "df_bkg_4mu = ROOT.RDataFrame(\"Events\", path + \"ZZTo4mu.root\")\n",
    "df_bkg_4el = ROOT.RDataFrame(\"Events\", path + \"ZZTo4e.root\")\n",
    "df_bkg_2el2mu = ROOT.RDataFrame(\"Events\", path + \"ZZTo2e2mu.root\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e133e088",
   "metadata": {},
   "source": [
    "CMS data taken in 2012 (11.6 fb^-1 integrated luminosity)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "ab14e285",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:34.821181Z",
     "iopub.status.busy": "2026-05-19T20:10:34.821042Z",
     "iopub.status.idle": "2026-05-19T20:10:35.262946Z",
     "shell.execute_reply": "2026-05-19T20:10:35.242518Z"
    }
   },
   "outputs": [],
   "source": [
    "df_data_doublemu = ROOT.RDataFrame(\"Events\", (path + f for f in [\"Run2012B_DoubleMuParked.root\", \"Run2012C_DoubleMuParked.root\"]))\n",
    "df_data_doubleel = ROOT.RDataFrame(\"Events\", (path + f for f in [\"Run2012B_DoubleElectron.root\", \"Run2012C_DoubleElectron.root\"]))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "931bf4ee",
   "metadata": {},
   "source": [
    "Number of bins for all histograms"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "ab7e2270",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:35.271286Z",
     "iopub.status.busy": "2026-05-19T20:10:35.271103Z",
     "iopub.status.idle": "2026-05-19T20:10:35.425772Z",
     "shell.execute_reply": "2026-05-19T20:10:35.414723Z"
    }
   },
   "outputs": [],
   "source": [
    "nbins = 36"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8f7a2eca",
   "metadata": {},
   "source": [
    "Weights"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "7b9eee34",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:35.438818Z",
     "iopub.status.busy": "2026-05-19T20:10:35.438641Z",
     "iopub.status.idle": "2026-05-19T20:10:35.594714Z",
     "shell.execute_reply": "2026-05-19T20:10:35.578721Z"
    }
   },
   "outputs": [],
   "source": [
    "luminosity = 11580.0  # Integrated luminosity of the data samples\n",
    "\n",
    "xsec_ZZTo4mu = 0.077  # ZZ->4mu: Standard Model cross-section\n",
    "nevt_ZZTo4mu = 1499064.0  # ZZ->4mu: Number of simulated events\n",
    "\n",
    "xsec_ZZTo4el = 0.077  # ZZ->4el: Standard Model cross-section\n",
    "nevt_ZZTo4el = 1499093.0  # ZZ->4el: Number of simulated events\n",
    "\n",
    "xsec_ZZTo2el2mu = 0.18  # ZZ->2el2mu: Standard Model cross-section\n",
    "nevt_ZZTo2el2mu = 1497445.0  # ZZ->2el2mu: Number of simulated events\n",
    "\n",
    "xsec_SMHiggsToZZTo4L = 0.0065  # H->4l: Standard Model cross-section\n",
    "nevt_SMHiggsToZZTo4L = 299973.0  # H->4l: Number of simulated events\n",
    "scale_ZZTo4l = 1.386  # ZZ->4l: Scale factor for ZZ to four leptons\n",
    "\n",
    "weight_sig_4mu = luminosity * xsec_SMHiggsToZZTo4L / nevt_SMHiggsToZZTo4L\n",
    "weight_bkg_4mu = luminosity * xsec_ZZTo4mu * scale_ZZTo4l / nevt_ZZTo4mu\n",
    "\n",
    "weight_sig_4el = luminosity * xsec_SMHiggsToZZTo4L / nevt_SMHiggsToZZTo4L\n",
    "weight_bkg_4el = luminosity * xsec_ZZTo4el * scale_ZZTo4l / nevt_ZZTo4el\n",
    "\n",
    "weight_sig_2el2mu = luminosity * xsec_SMHiggsToZZTo4L / nevt_SMHiggsToZZTo4L\n",
    "weight_bkg_2el2mu = luminosity * xsec_ZZTo2el2mu * scale_ZZTo4l / nevt_ZZTo2el2mu"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d69ab9f6",
   "metadata": {},
   "source": [
    "Reconstruct Higgs to 4 muons"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "68ad8bbe",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:35.600199Z",
     "iopub.status.busy": "2026-05-19T20:10:35.600043Z",
     "iopub.status.idle": "2026-05-19T20:10:36.217065Z",
     "shell.execute_reply": "2026-05-19T20:10:36.216599Z"
    }
   },
   "outputs": [],
   "source": [
    "df_sig_4mu_reco = reco_higgs_to_4mu(df_sig_4l)\n",
    "\n",
    "df_h_sig_4mu = df_sig_4mu_reco.Define(\"weight\", \"{}\".format(weight_sig_4mu))\\\n",
    "                              .Histo1D((\"h_sig_4mu\", \"\", nbins, 70, 180), \"H_mass\", \"weight\")\n",
    "\n",
    "df_bkg_4mu_reco = reco_higgs_to_4mu(df_bkg_4mu)\n",
    "\n",
    "df_h_bkg_4mu = df_bkg_4mu_reco.Define(\"weight\", \"{}\".format(weight_bkg_4mu))\\\n",
    "                              .Histo1D((\"h_bkg_4mu\", \"\", nbins, 70, 180), \"H_mass\", \"weight\")\n",
    "\n",
    "df_data_4mu_reco = reco_higgs_to_4mu(df_data_doublemu)\n",
    "\n",
    "df_h_data_4mu = df_data_4mu_reco.Define(\"weight\", \"1.0\")\\\n",
    "                                .Histo1D((\"h_data_4mu\", \"\", nbins, 70, 180), \"H_mass\", \"weight\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f39c886f",
   "metadata": {},
   "source": [
    "Reconstruct Higgs to 4 electrons"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "64423799",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:36.224754Z",
     "iopub.status.busy": "2026-05-19T20:10:36.224584Z",
     "iopub.status.idle": "2026-05-19T20:10:36.349126Z",
     "shell.execute_reply": "2026-05-19T20:10:36.348699Z"
    }
   },
   "outputs": [],
   "source": [
    "df_sig_4el_reco = reco_higgs_to_4el(df_sig_4l)\n",
    "\n",
    "df_h_sig_4el = df_sig_4el_reco.Define(\"weight\", \"{}\".format(weight_sig_4el))\\\n",
    "                              .Histo1D((\"h_sig_4el\", \"\", nbins, 70, 180), \"H_mass\", \"weight\")\n",
    "\n",
    "df_bkg_4el_reco = reco_higgs_to_4el(df_bkg_4el)\n",
    "\n",
    "df_h_bkg_4el = df_bkg_4el_reco.Define(\"weight\", \"{}\".format(weight_bkg_4el))\\\n",
    "                              .Histo1D((\"h_bkg_4el\", \"\", nbins, 70, 180), \"H_mass\", \"weight\")\n",
    "\n",
    "df_data_4el_reco = reco_higgs_to_4el(df_data_doubleel)\n",
    "\n",
    "df_h_data_4el = df_data_4el_reco.Define(\"weight\", \"1.0\")\\\n",
    "                                .Histo1D((\"h_data_4el\", \"\", nbins, 70, 180), \"H_mass\", \"weight\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "de855406",
   "metadata": {},
   "source": [
    "Reconstruct Higgs to 2 electrons and 2 muons"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "2a356495",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:36.371144Z",
     "iopub.status.busy": "2026-05-19T20:10:36.370969Z",
     "iopub.status.idle": "2026-05-19T20:10:36.574090Z",
     "shell.execute_reply": "2026-05-19T20:10:36.573623Z"
    }
   },
   "outputs": [],
   "source": [
    "df_sig_2el2mu_reco = reco_higgs_to_2el2mu(df_sig_4l)\n",
    "\n",
    "df_h_sig_2el2mu = df_sig_2el2mu_reco.Define(\"weight\", \"{}\".format(weight_sig_2el2mu))\\\n",
    "                                    .Histo1D((\"h_sig_2el2mu\", \"\", nbins, 70, 180), \"H_mass\", \"weight\")\n",
    "\n",
    "df_bkg_2el2mu_reco = reco_higgs_to_2el2mu(df_bkg_2el2mu)\n",
    "\n",
    "df_h_bkg_2el2mu = df_bkg_2el2mu_reco.Define(\"weight\", \"{}\".format(weight_bkg_2el2mu))\\\n",
    "                                    .Histo1D((\"h_bkg_2el2mu\", \"\", nbins, 70, 180), \"H_mass\", \"weight\")\n",
    "\n",
    "df_data_2el2mu_reco = reco_higgs_to_2el2mu(df_data_doublemu)\n",
    "\n",
    "df_h_data_2el2mu = df_data_2el2mu_reco.Define(\"weight\", \"1.0\")\\\n",
    "                                      .Histo1D((\"h_data_2el2mu_doublemu\", \"\", nbins, 70, 180), \"H_mass\", \"weight\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d8c00243",
   "metadata": {},
   "source": [
    "RunGraphs allows to run the event loops of the separate RDataFrame graphs\n",
    "concurrently. This results in an improved usage of the available resources\n",
    "if each separate RDataFrame can not utilize all available resources, e.g.,\n",
    "because not enough data is available."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "35c9b191",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:36.588050Z",
     "iopub.status.busy": "2026-05-19T20:10:36.587908Z",
     "iopub.status.idle": "2026-05-19T20:10:41.099698Z",
     "shell.execute_reply": "2026-05-19T20:10:41.098512Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ROOT.RDF.RunGraphs([df_h_sig_4mu, df_h_bkg_4mu, df_h_data_4mu,\n",
    "                    df_h_sig_4el, df_h_bkg_4el, df_h_data_4el,\n",
    "                    df_h_sig_2el2mu, df_h_bkg_2el2mu, df_h_data_2el2mu])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d1836160",
   "metadata": {},
   "source": [
    "Get histograms (does not rerun the event loop)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "9e25a18c",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:41.119263Z",
     "iopub.status.busy": "2026-05-19T20:10:41.119098Z",
     "iopub.status.idle": "2026-05-19T20:10:41.266746Z",
     "shell.execute_reply": "2026-05-19T20:10:41.256003Z"
    }
   },
   "outputs": [],
   "source": [
    "signal_4mu = df_h_sig_4mu.GetValue()\n",
    "background_4mu = df_h_bkg_4mu.GetValue()\n",
    "data_4mu = df_h_data_4mu.GetValue()\n",
    "\n",
    "signal_4el = df_h_sig_4el.GetValue()\n",
    "background_4el = df_h_bkg_4el.GetValue()\n",
    "data_4el = df_h_data_4el.GetValue()\n",
    "\n",
    "signal_2el2mu = df_h_sig_2el2mu.GetValue()\n",
    "background_2el2mu = df_h_bkg_2el2mu.GetValue()\n",
    "data_2el2mu = df_h_data_2el2mu.GetValue()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4ddc7b97",
   "metadata": {},
   "source": [
    "Make plots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "de48d585",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:41.272426Z",
     "iopub.status.busy": "2026-05-19T20:10:41.272267Z",
     "iopub.status.idle": "2026-05-19T20:10:41.657731Z",
     "shell.execute_reply": "2026-05-19T20:10:41.657152Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Info in <TCanvas::Print>: pdf file higgs_4mu.pdf has been created\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Info in <TCanvas::Print>: pdf file higgs_4el.pdf has been created\n",
      "Info in <TCanvas::Print>: pdf file higgs_2el2mu.pdf has been created\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779221441639\" style=\"width: 800px; height: 700px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779221441639() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(28313,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779221441639', obj, '');\n",
       "});\n",
       "\n",
       "      }\n",
       "      const servers = ['/static/', 'https://root.cern/js/7.11.0/', 'https://jsroot.gsi.de/7.11.0/'],\n",
       "            path = 'build/jsroot';\n",
       "      if (typeof JSROOT !== 'undefined')\n",
       "         execCode(JSROOT);\n",
       "      else if (typeof requirejs !== 'undefined') {\n",
       "         servers.forEach((s,i) => { servers[i] = s + path; });\n",
       "         requirejs.config({ paths: { 'jsroot' : servers } })(['jsroot'],  execCode);\n",
       "      } else {\n",
       "         const config = document.getElementById('jupyter-config-data');\n",
       "         if (config)\n",
       "            servers[0] = (JSON.parse(config.innerHTML || '{}')?.baseUrl || '/') + 'static/';\n",
       "         else\n",
       "            servers.shift();\n",
       "         function loadJsroot() {\n",
       "            return !servers.length ? 0 : import(servers.shift() + path + '.js').catch(loadJsroot).then(() => execCode(JSROOT));\n",
       "         }\n",
       "         loadJsroot();\n",
       "      }\n",
       "   }\n",
       "   process_root_plot_1779221441639();\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779221441647\" style=\"width: 800px; height: 700px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779221441647() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(28327,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779221441647', obj, '');\n",
       "});\n",
       "\n",
       "      }\n",
       "      const servers = ['/static/', 'https://root.cern/js/7.11.0/', 'https://jsroot.gsi.de/7.11.0/'],\n",
       "            path = 'build/jsroot';\n",
       "      if (typeof JSROOT !== 'undefined')\n",
       "         execCode(JSROOT);\n",
       "      else if (typeof requirejs !== 'undefined') {\n",
       "         servers.forEach((s,i) => { servers[i] = s + path; });\n",
       "         requirejs.config({ paths: { 'jsroot' : servers } })(['jsroot'],  execCode);\n",
       "      } else {\n",
       "         const config = document.getElementById('jupyter-config-data');\n",
       "         if (config)\n",
       "            servers[0] = (JSON.parse(config.innerHTML || '{}')?.baseUrl || '/') + 'static/';\n",
       "         else\n",
       "            servers.shift();\n",
       "         function loadJsroot() {\n",
       "            return !servers.length ? 0 : import(servers.shift() + path + '.js').catch(loadJsroot).then(() => execCode(JSROOT));\n",
       "         }\n",
       "         loadJsroot();\n",
       "      }\n",
       "   }\n",
       "   process_root_plot_1779221441647();\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779221441650\" style=\"width: 800px; height: 700px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779221441650() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(28337,'WkwIKyUAsW4AeAHtnW2PW7e177/KQOe8OBdgBC4+c2+cF44d1znXjo3YTewWvYHs0di6npGmGjlxGuS7X/wWuSXN2E6d3qRIigYddy8+bC6Si//1QHLrh9k3u+8vl+vFxXI2zJ7cXqy/XVx9vXz+eL24vHq12c3M7OyP69Vf3yw/vzMbrJmdfbraXbWnh8//7/LFjvQZxR5e7labdSf+92p9Ohu8mZ3t3zT88L62PtSA98H5EMzs7P5qvby9Od9sZ4N08vHu+/Plgfx6dbp71ci7q/PzXhhmIafC1mr15dnuwWL7crWeDXYu0czOvly9fHWcRic3u93m4qicmZ092VxeT3h6toILZ2Znzw6Pt9ojNZ5e7RY7mqmVMteoW42i8t3t4mJ5k3HSbvR8X+56j/ZFp+TplVQ/Hhpe+elme7rcPl79rQ/fUeKDzemyTexTmQ0hz6v+Jy7mWhinZzIbPnFzF621VlJOvthMN91skBrmSf8rJToh+ZmbDc5eK66Dstvcen71aPV2ef6a9yU7j7baEpzzSSs+3W0+Jns2xHlw2WWXSio+ISvPrr082TDPdCLWGmIqrcD07p/Iha86L9of5yRJSayDay9HvP544PSYnA25UuGraxVSZrK/OlS5njAbPmkJ0+jsNk9fv3cetAN/N1fFuwQXQ7I5+1wTq/Hw8mev3zs9/eXkvm+up+zZ8ImdW+9DcRK8j8mmqLJwvvnuizu3mxw9Oyae/vFSM5CBZ0fPX+9T7+2fbj2/uvaiW8+vrr3r1vOrQ7Vbz68ONf/49oKVnXU6vtdnfXx7sXg7G6T09EawqF8td4vZ4El/9GrVn25dXS5f7L5c7Fab1pMv3lw8X27b85PVi9dvD4/ft8f7m5c98f7m5SHtby330eL00WK1BgzM7Oz2dnN19Wqx6i/ck482HVmPVylC0+jDAn2wOV2drZans+FscX61NLOzP2xXp2+vk98fyFvPr25vNtuj8p+drnaL58DXbvuGF9xdvV2eXuv39OpH29XFarf6dnn1DoTfX12hISbt0cnFdjsb/vwXM9tc7nj40czOPnu7fHE1G9Zvzs/N7OyLpm5eyDdrjwJ4strBiqqRL95cPFqcL3e7CfQZsS+Wb3fvpt75/PGj+7eezYbZf06PZnZ2Z/Pm+fny0zdnZ9OMfbncLVZrhqt39unV6m/LP15N+c+uk5r75XJxzgJBWslutOQ5SPj1an26+e7J5pJVdkw/O6Y79h4K3FuiaboMfDehxO1Xsw4Ftxe73TtjfGu3a1qZvj39dLn7brlcd61zjdJBvLvdXDzZXM4GmSM4T08XO0BdiWcToUDQCPnRzF4/2Hy7fHi5+OubvTi8/nJJp68nnt1bvXx1ny50Dauiudi9eDUN7OvHrzbfffbtcr17vFvs3lztJfD1rTe7DTKwL/lguX7z6WLbaCTk1gtkbF/j7Mvl4vTh+vz7qcbZ16vdq82b3bE4TiJ6b3HVBWxKOS715xuGxy9m3qBxPmjefL18rkt+tX75IRsHybh9vri66uuBcs2oOk64RExndnAxmv43ymCNNXZ0msqTH6zm2jFonotxjPs6dky9JOm5l+W5DKUaJ2JKGCvPJRgnaRQaDKb/jSKDVGekOCPZjeKGnIz+bxQ/iHWm/40SBnHZ9L9R4iDRm/43ShokF9P/RsmDs8H0v1HK4Fw1/W+UOrjgTP8bndXCUqlvRyfXSTdI9UaqGElldH5Aa0uB9KMLrd0UjUQ7ujhI8eQYiXF0cNWZDHZ0eZAYjQRnxNvRlUF81A6WNLo6SI7G2QQno7eDeGe06eRHL4P4DAdGkh29G8RbI7EYXux9a6eUVpehcq2d6EcfB5FstH6Io0+D2AAHyrLPg9hqtIJ3oy+DuKDj6mwdfT2MeoxjsINka7S7VcYgA1OsPPs4Bjc4J0bHB5KhKo1Jb8cQBh1iZs2FMcRBxxQ2pI4hDbymBlPTGHJrhoEKeQxl0BZF2RxDHSRko50QN0arTKiIjVEGCcmozI7R6Th0wg+1TM9hyGF6jkOU6TkNLk/PefDTY0Gw+2vqYE1AgOOY7GBNKu2ZpVOlPbuBTumyGhMrSHxtOSwipEOrR4iSG5FoQ1ojSVeS761o67pIZUw0r4TLY6Z9JWwYMwxASLFjhgMlYhrztIaZ3wwHmmPLmOEAosQxKwMxmiRjnlayz2Oemhc/5jo0Do0dix0agzzLELUbPLuh6DDwzBJu6GLHglTqMEC05Ut7diwskzQRLN3GlR0LC1eHAYJlq6Nt7Fg7cPkCIQ2RJEA08JIKfFWvOZISRGhEcBANxRAqO9YGY1XfnLVUFtKLPofMc9Vn540dxdpBREyICgpiRSU0OBPcKNY1UKhMr4xi/VCyEZUasoP2Q2IyHjIOzhXjs4lhFJsGidZkFmgdxQIZSctK4lUsT2e8N85BMiQmMaoyimJrZA25UQQYE+PFOCinowoYpToK2Mozfy6OArgymww875XYOG7yLKCrFVOrEWtHkTwAcPRHyiigK3KXqhEQvQ5SKg3LKM4OEsCsYCSB7+BYG7cC6QatZrMpdRTnB+e1HTsK0FoiasGwzAVsFW8UyhyFky51J6XxDLoeqQBnZajCkqwyOqYESGx/o7Ngkzf9b3TMidAf/RudjQ1vgfXRMSnFKwTY0dk8sDazmMyby+B8bWxJHp2tA7UA6zg6pgQpoPLoRIYsplUenTjF5V57dEwK7VF5dBKo2SqPTiI1W+XRMR8gumRqj05y43ZqtOw7p61W5XdqFnUHHDWmR6dTAretXaak9VWKH51OiXbW+TA6F/a91ZaZlN5bmHag+GFUXZ762yqXfYep7Kc1DLbZMPppGSNM6C1WctfijW6LWfOtGz3recpX+sgmULqtaspHGT0LuxdXsuwtCCXBtmZuRBmDPRhGdgy22QRUh3L7mlAHOwUqoE7QKGOwjEZDL/oXdDEr9mt/AosZGm0c/RgQHev2/QtiG02+dWPAWIJFNKjSjrZ694J4pWxQ/kX5oCi9EVVyVFZqgno7BlGob/0SoJ4qpKNoqGDH4NAzrUuuT0mzGceAOdS7hEoLLNreJe0y8tG71PJBEqddbvlYH71LDIErU5da8Tr1SUt7C0kDWtiLkm3WxuAnpadVvWq9Nt9j8Kp49xVV8+7rMRw6aWNEJLuM8JZYZT/VjT5MPRzFepj8lh9af1ofx4hItnaU5VgTLLdZG2PNE6Xv0r63Do6xatehrBuTZQpUK47JNiudOsnSZ520MVl6rJM2JtusdSwGpLCtMGUxAV9thXW6aJf7tI0JnUJ+m7YxKYSpBLYmkcImgdqlhGrRFdZeJ15fRxdhEM2iQtgLt/GYuiXH7kPqVjuoR822Onrn0CpIYxsOp4LArI0JkZz6Rz0Qq/cPKUlAVlthne6Kv09/Usxq/dOhVitdV1inm3prApJcnbpH21jprXdKtfXZS/qDE5V8GxQskoR1zhrT5zYc7VlFg8c8AWFje8wdCPuwjxmp6yxGGTNC10kqx31/NfMw/XQvd/NGWRhzN3BoSQu33rXMMmGgokMBA/u4RhmLbUigkzKWDoIKEsXu55yczk7DntKlsfM7lkkaFWkKsthlT9vYDzY2ZkPk1kQXQgpTEFXaYYWSioT9lQcgJKfDUetuQY9OgGzdWNCjTey1cNlT2sYeizByVQBpHqJrhzY6Y0GFTrjOawFJpK2BcQEjO0nlbgl3lro09lEYS5fGqaW2VqFgCZ+xN4Sx3bGrMYUw9r6xLAouYx8ilkXxbZCa3IzlAJBw7FVfwFMr21G7K+riJ/+gFT5gtjakLspUNRz7KCUoYvMefW9QxG6LbyxBPaUuJ2ECbPoZDuzAXTiw016zZ4eOhT07rfDEDi+KEzdK9BFqKnosuIt9XrQjcS9G+t4IRx2dS/Ma+4COJTaO+oCPJcKR5hIKicrRgYSjjo9FfciuD0pqCq1N21iaH9kmbSzqSHbgLM2RbNyOJTX13kRhLOlIydK+upOHt7bxmXqtHuW+anMpp7zcQyETQ7lrv4ml3AR7GpTcBLshdslNsKeO5mYM7Uch49lMHnbJTbCngcDRbJlIVGmC3dRfKW3apqKlzVpTGqXonDUtUYraQJ0dPE6VrTa5+JwdM3WMSlv6Uxtt6e/b0KXfm6hd92i1jtTTCHSg7u1340DVVOkg3YkGitNsdozez2fH6Ok1ewWkAt0xWl9UO0R34oDQjFs9gmgkuALSXRdbN9YO062V2nG696ROON2nunacboNZu80wUc1i6DNdO1D3zB5dU5mCKdwNBr79jRWwRI7b31idzmDTodWFIXrcavFUVTEPuMZ5rC4N0aoHHnD68xAqjroEXlqGUAyOZ0hjdXUIyURrJJSxejsE4NNIlLF6GUIwykwYq3dD8EbhKY/V+yE4g/udiCSEIVhDxC25sfo4+GpiJRY2Vp8GX0xqIcLq8+CzwUXOtFAGHw0OcKaFStgkJSM5jTXYwXuTspFcxxpk8A5vHt+4Bjd4dfmkxLEGP7hq8IVLHmsIgysaJKiENSJhqxyJFo6VSFoyORuptJCJEORqpNICzqopSLKMNdTBOVOaXVc1jmbU9ctjBRyrKZGY1FiBxmJKMk78WCPRA1OKcRLHGsMgyVSiV2WsUR1CAmFOxgouRlNdp1jyGp5wvBP7jpBLo9RtrqlRCbvK1NwpRMZU/HxCNcQMiEU4qWNNHkoIXCipzKjUKhlbru+5qZEtcFFTbiSdLGNNhW6JpZeQBGQNoQklM6FPQ6jUSR5rFiUJhylJyMcQEmqkjpCI6yRRYkP0ghB4BRmLEY01QBJdaPFCJXMjaZdcnHkjRDkYbZAREjbiWItVkkiBktJI2CCX2LUGPRrpGwkbYawE5Mil+5AEZI04ug+ZGgkbkLmRsOHHCkBSGDYgq5IeNvxYa+OK2JO4seJEFaKPnWxjRbxJZKygJNFp2IBsM+hhA7LNoIcNYnAqUOJhA1IlSqOrSqpISUC+61hx6YMRoliWWBpBO2gEvkATjAIwJpqoupFAOELz/SBEoJNxNlOeCCYR6YmOjS4TTVjGSKhExCmflY6wozRaBdgxzkbyNZwqEX6gxQ61q2IlRUndxiDXDQTTW6xErHgl4UVzg5Kw4smNAyEdOFEyQSYYIeJIAI944kQWJWFDc+tANI9RIcTorNbV6CCk0BBwVhlT52CS7Y/KkKmpq+FWqQwZtq7rNH3C2iUGCTrBtgbxOg2jau62bY4KL4SM4Bz8Umaa+CtG0jwOWGXbxkihfY/F0mnaxwlja0l3JaCJMLaYYoEfTyy20/DjcQ5bXJT4pPW6I6Bx0hbJzQCvEJ4tjIYvwDIbNyC4WOCd9qHhB4Cn/Yb3YoF42oemfUCe9tEAtB88yqLFMRmPEFAljYafEFE0Ap5n2g8JNcT5A43r2pBRUo3W9gsqrO1WMR6houAazXhEi/rT7bcEP1FQjhoWTbQfHYq00bTfbWLd42I+Yhgi9VHo9B+7OBspOA60H9OAjlRa28tDgh/ytb0yIDtK0/9YB7a4iPtqqDxZIoiNpr0kAzFr8gPtJd0wbDTtJT8wNuzQBdpLYWBrUWnaS3GgLaVpLyUNdCtN/1IeNGqPHaHtlYHNP2gNx6c6VHb/oGkvW3aVGs34ohYsDIN3NIhiwMHRBFpUm5khUkQkIQyokZZAm6gHFk2puk0oFgVBlJUEp60CLDRLgjbLtgDNkqDNsm/HGrW62SYWReHYWiSBmUVVILqaQLMoC91xpASyhbpAGNn5JM5vURhIIyWEZlEZiN8hgZg8u5aUYPxRGwiYJsAYiiN0PtgtsKgORExLwBjKA+tMExigKQanCXCqQbg+HgKnGg/p46FIr0qEMWXHAtZVjfQxVSxHkajkUQJOUSXAkibAKcqk4QxbjSRgEPS5JUE3gRQJihFgVreBWNqawK7LtBOkCbpDw77D9A62UtApuhFRDHjKbpBKMzR7K7r1QNeKAVB1Q4iBKJmNUtENId1AzwaAZUdIKvKWDQDLnpBUupUNAMu2kLCPA627RIRxYGiiW6RKaRjWbQi6hIkHjecCP0l3bNgaYteS8gAwe0NsCSsNf2wOqTAXNhmF3SE2WegPgMsGkVPZLqbAH7EUEJ/tXNonutdFHcDVLSIQvloD4LJLpHvO0LRPdA/Er2Iy40U8RReCGACXXSIHwkNr++wwItPOALhCfA+Eh2Z8CKroMvEGwBUUDFtb1Zu2keYGp6smGABXVMEg8MEAuIKC0UWE0Q8dB+eRf1wC6DSwh6k07aNgdEklA+AKCibQXmJjVsS3swvMKYArwQ5OF1g2AK6wJQ+CQ9M+e/K63ooBgAU/QpdbMQCw4EkE9Q5MpH18CV191QDAgjehBoq6mCL4ExpnsCYyHngUSjsDIAs+hdLeBNrHq1A6GgBZIj4qpkUyALJEoqRqgBkAWSLRWyyRagL8RPZsMRxFt1Ylwh+0NwC0sGWvdDAAtET4Iz8ZAFoi/EFnNrNFIvxBV+PhJ8Ef3oo14LUk+IN2BriWBH/QwXj4SfAHHQ1gLQn+oLPxjEdq44cMsUkpCf6scZjG8JPgD1oMyC0J/qC9ccoP/EGzbc5WK/xBJwNsCyEZpfGGoOGPfCxxaOa3GmQGEJfc5pezLgI/OfZ81iB06jQWCTT+IvWxuqCRP2g2dzlI9OmbM86S/aeexpvdPd8sdt7NzOxcT4/FaGbfzoY/VxdMdbh+yVQHthRTXTXVW1PZ4vXOVO9N9cFUH031yVQPRhVTfTU1WFODmBqcqcGbGoKpAeeRMyJgWzE1VFOjNTWKqdGZGr2pMZjKHnhMpkYwsZgaq6nJmprE1OQMJ1Zr4qBJNDUlUxNYWkxN1dRsTc1ianamZm9qDqZmXNFkas6mZnC4mlqsqUVMLc7U4k0twXCauYKTYKnidzW1WlPZg67O1OpN5YBLjaZWXNhsagX3dV+dOAxIbDUSYtmB0MioZS8GCLaYDRbwtRzYscCuBWstAGuxqy3QasFTq14xSGqBT4uVbAFOi51ggUiLJWwBRwsiWswDCxZaANCCehZj1oJ3FpCz2K4WeLN6cAkgs1gEFgiz4JbF/LQglkXkLNamRdgsqGQRM9sO71ADqbIEZiyYYyM1NCqHUWnR8Zbwi8WmtGh4izVpUe2WaItFp1siLRaPxKLRLcEViyq3mJIWHW5xECzK2xJCsdiQFtVtsdQtOttig1sOEFgsSItJbVHVFgPSoqMtpqPF9rQYjBYr0KpqV6MBtWwxliwK2WI3WlSxrdTAbLRoYovBaJlzohYYDfzDIQfmvJ1qYs4JRKDv+QePnzlXQ5Eog6iF2M5DMOdqHwpz3g4GMOd6XorQAFqVf/QgBW0w5/j9qEf+oQ3mXA3CdiKLOVdzUJhznHV0F/9QgznHCUcfEcigDeZcjT8cahQL/1CDOdcDW2rn4R6jFviHGsy5BgOFOdfzcXriRZhzPeCGGwtQ8w81mHM9YadeaDsZxpyr+aYn5NRuU6dQDbZ2hIQ5V3NNvTO109Tvklz+8uOPP5pf6zQnB3s/eJqz3a34icsw/cQmZ7S3awpOZ5pbysn+BTcudUAeXdy4eWfjcJ1FuEPy7n2WB4vt6+X26H5MSzh6ZU/YX/l4sny7u7V+yYFrDqBCtkw7t4yB5p+vXq5nREUaffR+su9uOMoe9ITx4u3q3YPht3a7W6RzdPt09e3qarVZX82GKLRIztEL7y+eL6c7O7Sn9FELSj88O7ta6l0acLYX2rPtle/Vi9f3l+uXXAXibsI0B1NV7QsHzW9W251PR833RabmOZj87HfTQ53Of6CHf/rd9HA/QT9zDj9dbI9uQn262E5CoUewuVzGMj1/9LitiTvbxXftzkWjH17uDvc7GtGveDSi3/J4eLm7087bt+twHIJnEekyeni565BAJx5e7u7q7bFe9O6q3wt45wQ9BTTxdLXjDtxEP9lszvUAPQntfsrtzXq3ebO96vcWbu06OzcQ89ZuxyJWkPoJLHA/CwySrhW6rzeP9K4dFDciGvXZ+vSz7XbTL5+BHUpqcZq6+2b9osMCmZBHKAbZp5Bc7rv0wvQfshdm3UMezff95cvl+vT4Ug1T0FKPEJYXHRKntqdrg7xigoV9Qcavi6KZnd3jLsTy6gaG99THl4sX3AXQtvdX+Y76sL/H19PgcV/uOjf7olPyVPRG01ruZr+PEg83iu6trhDIY35I4n2dnWTp9lRuariNzlR0Su0Fb3BDqQer9erizcWfltvN4aoHGdduVyrEt1svj7bLs+X2D/cPpVv60cC1hONuwulx6qGfLfXO8uzebIiWSdunfM21sWspT2fsAxwVedYTHi2Ohe/R4pps0fg+6dCyJr17q/TR4vRa1xm7R4vTG9dUW+J7Lqo+Wpwi7E8Pw9NTnl1LQTf2u0o0uHrxut9UerS4bNdBn3bQ2Cc8m7E9OTt7/GK7XK7vLl4o+sAJsHY0/JCsgyOxJel4PqZaR+uHIpCH1UPKJEBNrFqZ7QUoOkvzoBdpSFTMqNzfg1KIwTlt5NfTfSfy7kGI9mO3XV3eWb5YXSzOr/aXihSSu7Xj9ibDUe+0wI3uadpx/xASTTzq4J7eq6pmpGCAtOvL+1p7CNQ6rTt1X5r+TO+nOw18Np+v18vtl3SPkiw1fe3VbPgzF4lOTvhH3Ing9J+EkzLR6SScSIJylgKhFzlQmnSc7uz14vu8YntesSfBnoSToCW17V/pn78ALsvF6XKLttY7Uzpse+ruand3EprYhUZvYjGL+xyVJR21F4tzrczs/89mtSZxMgRuLy6PySeri705mUupUoIixucXi5dLXrQH+NuL9en58utXq6vXy+2Xi/XLft+6pX+6edvT2uy1VOXk6I7mV6vN+Wo9pfari63o7dX2xflNtO9ZXC6F6SMF+BST+7O3l0+PzZ4p8dlx4rP3lZwSr5Wk4IPF2zurl/pBAITw4Xb3anN7cbHcLjr6/IrummLK9JWCmyaO6rgPuWvgBgN0BFiQE/b03KPhu6EY33XCuDCvV465Is8C1SvxetmYW/BCi8d4QRuN7vrhFx+ne58/fkL/23cYfnKs7smdD41U1Puv3bV99c3V6uU3bnnuLt6o7QiU9RV4NJzJq3n0wQEl9+8O6M/3ar94sTwH1z1j/QGntHukH/qeRe/nW/WGJsSdDbOLb35wS/cfF29+PPmvPyy/+l/k/Ya9Wm6l6twcybfSR8rpi+cr/HGPYnx6uDH/9OiW/NNWhHvcZ3dX26vun9xfTE98CMRNuulieWd1dXm+OLp0Dlju4ZYxU0f+cAn8web0/uJ5p3/C0f64Wfv+5qx98c0PehP56sff1HztVfneLPgZ88U6btOlINNmi7R/+lx9IGTwcXP1t5tz9ZuaIQZU18t+hnp46SfiRCBCm4PfzhTdiHIchUCsGi2frXfbFfZi8l59uydXby6+mw2uzNmucC6nVHNW8SSHtT63oYqPvsRYi2WbYdaqvZ0N3vs8l+CqjXy5R4eRem8doUIC5nNfiZGHyHg9WLzFE+zasfuFs+GTHi75YrO9mJwOhL3HNtqHJc4eN36ub28l9r10ewslwO5WmfPdF5tjJbotZflJNDL31tdqk7PZB1eXnwQjc3GSki8p5WBDIM3Ns/PBSYo1JsmJtDCvzmbhYyoxZtE0O7dWnKuuppqrBM7IkOZdSGzOsH+RuZg6tzYXH6N1QVwqRLxJS9nnlEOJzvqSk6Y5cSnaGrKEwi5+gZcYJMRQfQgOXuI8i+SaagippFpamo/ZCV97iS57TUvzWIOne8EnW7W/dc6GRSlsN0Uvkbp17nIuMYecbbA6BHXuS5BqXYrFW6tVtbts+cSSSrYhSWxpQWIpEouXkm1P89bbIMlHOHStnK3eWldySDmL7+8LKUoo1frYBo8GgqvipKbEzV8G2UabfEo5lsIWYUvLtdqaKpNUxZS5t3Qj2Jy8Fx2owmSIcz4zqkXT6jzZ4KKNwaVk20CVeUy22CQ1R+ucDkprw4aagrMxV5+DKXOpNpRka2LuPINX5t7nUGyREnyquQ1oysUmlyW4GH0f+JhSsNa6kJ3LR23kGmyslSGcBq/GXHySKjHXPgS5uFJsDa5ktpMs680FH22w3rqQ9Fsr1z7ERdyM73K9G6P/+I+3tG+pHDz16dsqaht8ulrjaH+23T7kcy+sVeiH3y63Z+eb7whGEvPfbrEN/t6CBWBSscGnIjXVZLXfqViXfMxVKiuAWYm1lBh9CNGVXFldfIYoJJtSlshOMV+eYmHVkFNKXkhJwaYcQvRAF3tj81SCLWBD9JmjC3ObvLgQbSievXk/5wXB2epT0j3dOfuYRbJzJQbPXIWYaqqlJp8ze9127nVdhRooys33uSs1lZQAPyCEMiwK1nMulU04Ow81SqxVEuDEyojOW1eq1EjPeTESYWutKSuIGTsvIfgcc4kxBfZS5ykVYannZAvbnfNUvEV4bU3s7tl5drVIDClWVzyAk5wNKZdcks1FVxurj5e4FBK7vXYeQ7GJDtUgMdDtmCTU5CxIWoVOBi/Oi+fjYOy52nmQaEPwsdhU2Hekj8VFX1POoXCWxs7h37sozuca9DXR2Wq9L8FWekYZF6W6mJzUwg4/TTmJqRRJTpK+J1opCQzKUXeQaSvZ7HP2PjvOqdh5jDWUUqTWmFLkzWB8TtU5H3ND6Qo8i5RSHN0z2TNgMbpUQrYl/wp7kDhrJ49vPfgMO+j/z2PD+9n7a89ff4S/hp7+aG+tRIq/6wD/pvy1fyFr8l/ZQftNTdO7btnv0+j/t1/2gVDH79AvU504OVizwcW5uhLYDNinU073y4rPsVaMBc7EHtwyV5ObuxotzgzHFacsNxt8DrGUuePsmQuCN7d3yyZH7FfzzLy3EiW5hGs4eWYue/E5l2Kzei8y52imS6VG71Iz1N08SxYXMf5qEDWsw7yKx/vwFTdHDXA13p0rrtRYQonVNnfDuxBTcpJjDoXvSzXPLNRassQYerGUfarFofcTRyAp5sRFL16qzZnTWWWOWVUqjl2IWZuN81RDrllSkhSielJx7p2LpTj1bJrdn+Yx2pJxuqqE5mDWuQ04RnxDFSO4+RESkw82Bv3mavdfRKpITSFKis1hbb6Ky66mHHy2HBHUNAkpWJ9gPTaD2nIUMdjiS7Q17j2zEKvNggjF7pxyeKziP3rnXZ18ruh9FNypmAtmFe/DVqquSOIwX0u65tLgmVkXa3VSXWq+JJ6ZC9XlUIuvVt1pPDNXq7hasRp1RH+GZ1ZKrNl556sP+r4PeWY5eG8rwpHUg6vzmKK6vt7xvVhG/j3d0KSf4Zn5XDgLmeRfwjPz1uGTeItQMBYpRxeiuBy9L81JjTgSuFOlJG4w4JnZ4tXRKjHxTa85H6VNRDtSqpw6tnMc+1hTFUIhHIqcp+I8nxr2IcZS1DPjzKS4IKlIVM9MasEldIEv5+KZSZIg1eecMgs2RAmB2YxgKRPqapRcYsF/aEEERzwhlpR8dcEh4t5TnlBNrA0zAp6Gt3xDOBc6EHLAG0wcYk09xeF5luqyz44lEL0LuVoJOKp8NoNAjJOYxTnHWWQcvJCTVJdT8aHg10RAOvrsi7McgaWS9cSaSgq+Ok0JkfUimYiBthRAhxRiEs/p4Pc5OgGdkZOthdiLumIScvXBx1Aih1ZxmHKOTkAqzu1/rG8Wgq+5hhBqyfqa9/lmbagkFY4gq69b8KAt3q96dP+4b2ajLb7isf4Kvtmjz+TXcM1OF7tF30v75lQ/WPuTm2o/7aRNPtnRsYWf66LpRt/Nk6K/4p7ab8r4Z/z+8Yj/v320f9IB3n/7aLPh33tn/5St6I/eO6uKHdPG2eRb8csHe4KtsSQyD8EV7yqR1qmcbo2VUL2bSw7J1ajVfiEfTMPzv9PNgMvZkNoenhi+JucN3/7lTz+dZ0h1hv9vac7ol9o0tZVopZP/FWyCjwzTtrPEFH7fiROE4OjYzC+g4TmFJL7Mq+c/8ZjY3F/Q5Ln+agfbjTbq/qseUUpl7g4/20HYQM8rZVxTfuTDsR3KxZOn0n7VYZ600ES1n//oWaXVnyjaPj70BHx/vuacO319/Gpxuvnu6IjK7c2WA42L0xXfjafwXnSfb3nnIbL95NHiWz3dxYm+D11l0a1p8vtVFo2JXD+m2g4E7q+yHH8z/saR+Z/aK7tZVE+Ks7n+/YemXhXZB1kHHA58T+SRbXeD7V9IiGjop8P477UR2/fqdWdvuzybDS5zlEdNgtkwu7PYLRiF/VReLmfv3OD67Y4YMnN0Vu0f2/1wiPtN0/qdYeOHGPbD9qc/XRu0s9/WmP0TTvh91JhJPB6zi29+uPfjyX+fiIsnf1h+dXMA9z9Hoj9Bsv+n/TgJi/Xx8nKx5Rdf2g9DtTnrPxOlwdYvbm/O31ywkU5mI65V+sUPcdKHj9gOvL/YLd9S9n1qRpKvQGHfFKSYujqzYfYfz89+uP3g8cnDy+X6hJWqJ+U+DEzzdlTtgE0fcz1wf/6+HWtnRX00YLXCF6tdOwjUDiDQmYfb1cvV+nA+q/1SVSXS5q3/3c3D1V+3ux+uEN5y8mT5lTm5/80Pq/VOpVnm6eTs+f/54RP5u7NzU+MhpszWkZK9oTp0dvR3oX7F2XF9drB9Q84/shS5VbK65IfkVCL5YZnz9sMy6/Xyxe5wd0V/lqhNtP60y4//D/u2jUk=').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779221441650', obj, '');\n",
       "});\n",
       "\n",
       "      }\n",
       "      const servers = ['/static/', 'https://root.cern/js/7.11.0/', 'https://jsroot.gsi.de/7.11.0/'],\n",
       "            path = 'build/jsroot';\n",
       "      if (typeof JSROOT !== 'undefined')\n",
       "         execCode(JSROOT);\n",
       "      else if (typeof requirejs !== 'undefined') {\n",
       "         servers.forEach((s,i) => { servers[i] = s + path; });\n",
       "         requirejs.config({ paths: { 'jsroot' : servers } })(['jsroot'],  execCode);\n",
       "      } else {\n",
       "         const config = document.getElementById('jupyter-config-data');\n",
       "         if (config)\n",
       "            servers[0] = (JSON.parse(config.innerHTML || '{}')?.baseUrl || '/') + 'static/';\n",
       "         else\n",
       "            servers.shift();\n",
       "         function loadJsroot() {\n",
       "            return !servers.length ? 0 : import(servers.shift() + path + '.js').catch(loadJsroot).then(() => execCode(JSROOT));\n",
       "         }\n",
       "         loadJsroot();\n",
       "      }\n",
       "   }\n",
       "   process_root_plot_1779221441650();\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot(signal_4mu, background_4mu, data_4mu, \"m_{4#mu} (GeV)\", \"higgs_4mu.pdf\")\n",
    "plot(signal_4el, background_4el, data_4el, \"m_{4e} (GeV)\", \"higgs_4el.pdf\")\n",
    "plot(signal_2el2mu, background_2el2mu, data_2el2mu, \"m_{2e2#mu} (GeV)\", \"higgs_2el2mu.pdf\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c8a215b4",
   "metadata": {},
   "source": [
    "Combined plots\n",
    "If this was done before plotting the others, calling the `Add` function\n",
    "on the `signal_4mu` histogram would modify the underlying `TH1D` object.\n",
    "Thus, the histogram with the 4 muons reconstruction would be lost,\n",
    "instead resulting in the same plot as the aggregated histograms."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "176c51ef",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:41.673355Z",
     "iopub.status.busy": "2026-05-19T20:10:41.673202Z",
     "iopub.status.idle": "2026-05-19T20:10:41.777293Z",
     "shell.execute_reply": "2026-05-19T20:10:41.776634Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "h_sig_4l = signal_4mu\n",
    "h_sig_4l.Add(signal_4el)\n",
    "h_sig_4l.Add(signal_2el2mu)\n",
    "\n",
    "h_bkg_4l = background_4mu\n",
    "h_bkg_4l.Add(background_4el)\n",
    "h_bkg_4l.Add(background_2el2mu)\n",
    "\n",
    "h_data_4l = data_4mu\n",
    "h_data_4l.Add(data_4el)\n",
    "h_data_4l.Add(data_2el2mu)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c4077f24",
   "metadata": {},
   "source": [
    "Plot aggregated histograms"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "e755b9b6",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:41.782320Z",
     "iopub.status.busy": "2026-05-19T20:10:41.782172Z",
     "iopub.status.idle": "2026-05-19T20:10:41.955820Z",
     "shell.execute_reply": "2026-05-19T20:10:41.945151Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Info in <TCanvas::Print>: pdf file higgs_4l.pdf has been created\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779221441895\" style=\"width: 800px; height: 700px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779221441895() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(28284,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779221441895', obj, '');\n",
       "});\n",
       "\n",
       "      }\n",
       "      const servers = ['/static/', 'https://root.cern/js/7.11.0/', 'https://jsroot.gsi.de/7.11.0/'],\n",
       "            path = 'build/jsroot';\n",
       "      if (typeof JSROOT !== 'undefined')\n",
       "         execCode(JSROOT);\n",
       "      else if (typeof requirejs !== 'undefined') {\n",
       "         servers.forEach((s,i) => { servers[i] = s + path; });\n",
       "         requirejs.config({ paths: { 'jsroot' : servers } })(['jsroot'],  execCode);\n",
       "      } else {\n",
       "         const config = document.getElementById('jupyter-config-data');\n",
       "         if (config)\n",
       "            servers[0] = (JSON.parse(config.innerHTML || '{}')?.baseUrl || '/') + 'static/';\n",
       "         else\n",
       "            servers.shift();\n",
       "         function loadJsroot() {\n",
       "            return !servers.length ? 0 : import(servers.shift() + path + '.js').catch(loadJsroot).then(() => execCode(JSROOT));\n",
       "         }\n",
       "         loadJsroot();\n",
       "      }\n",
       "   }\n",
       "   process_root_plot_1779221441895();\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot(h_sig_4l, h_bkg_4l, h_data_4l, \"m_{4l} (GeV)\", \"higgs_4l.pdf\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "03ba3f28",
   "metadata": {},
   "source": [
    "Draw all canvases "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "ce36faf7",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:10:41.988653Z",
     "iopub.status.busy": "2026-05-19T20:10:41.988454Z",
     "iopub.status.idle": "2026-05-19T20:10:42.173835Z",
     "shell.execute_reply": "2026-05-19T20:10:42.173248Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779221442106\" style=\"width: 800px; height: 700px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779221442106() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(28313,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779221442106', obj, '');\n",
       "});\n",
       "\n",
       "      }\n",
       "      const servers = ['/static/', 'https://root.cern/js/7.11.0/', 'https://jsroot.gsi.de/7.11.0/'],\n",
       "            path = 'build/jsroot';\n",
       "      if (typeof JSROOT !== 'undefined')\n",
       "         execCode(JSROOT);\n",
       "      else if (typeof requirejs !== 'undefined') {\n",
       "         servers.forEach((s,i) => { servers[i] = s + path; });\n",
       "         requirejs.config({ paths: { 'jsroot' : servers } })(['jsroot'],  execCode);\n",
       "      } else {\n",
       "         const config = document.getElementById('jupyter-config-data');\n",
       "         if (config)\n",
       "            servers[0] = (JSON.parse(config.innerHTML || '{}')?.baseUrl || '/') + 'static/';\n",
       "         else\n",
       "            servers.shift();\n",
       "         function loadJsroot() {\n",
       "            return !servers.length ? 0 : import(servers.shift() + path + '.js').catch(loadJsroot).then(() => execCode(JSROOT));\n",
       "         }\n",
       "         loadJsroot();\n",
       "      }\n",
       "   }\n",
       "   process_root_plot_1779221442106();\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779221442129\" style=\"width: 800px; height: 700px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779221442129() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(28327,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779221442129', obj, '');\n",
       "});\n",
       "\n",
       "      }\n",
       "      const servers = ['/static/', 'https://root.cern/js/7.11.0/', 'https://jsroot.gsi.de/7.11.0/'],\n",
       "            path = 'build/jsroot';\n",
       "      if (typeof JSROOT !== 'undefined')\n",
       "         execCode(JSROOT);\n",
       "      else if (typeof requirejs !== 'undefined') {\n",
       "         servers.forEach((s,i) => { servers[i] = s + path; });\n",
       "         requirejs.config({ paths: { 'jsroot' : servers } })(['jsroot'],  execCode);\n",
       "      } else {\n",
       "         const config = document.getElementById('jupyter-config-data');\n",
       "         if (config)\n",
       "            servers[0] = (JSON.parse(config.innerHTML || '{}')?.baseUrl || '/') + 'static/';\n",
       "         else\n",
       "            servers.shift();\n",
       "         function loadJsroot() {\n",
       "            return !servers.length ? 0 : import(servers.shift() + path + '.js').catch(loadJsroot).then(() => execCode(JSROOT));\n",
       "         }\n",
       "         loadJsroot();\n",
       "      }\n",
       "   }\n",
       "   process_root_plot_1779221442129();\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779221442135\" style=\"width: 800px; height: 700px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779221442135() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(28337,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779221442135', obj, '');\n",
       "});\n",
       "\n",
       "      }\n",
       "      const servers = ['/static/', 'https://root.cern/js/7.11.0/', 'https://jsroot.gsi.de/7.11.0/'],\n",
       "            path = 'build/jsroot';\n",
       "      if (typeof JSROOT !== 'undefined')\n",
       "         execCode(JSROOT);\n",
       "      else if (typeof requirejs !== 'undefined') {\n",
       "         servers.forEach((s,i) => { servers[i] = s + path; });\n",
       "         requirejs.config({ paths: { 'jsroot' : servers } })(['jsroot'],  execCode);\n",
       "      } else {\n",
       "         const config = document.getElementById('jupyter-config-data');\n",
       "         if (config)\n",
       "            servers[0] = (JSON.parse(config.innerHTML || '{}')?.baseUrl || '/') + 'static/';\n",
       "         else\n",
       "            servers.shift();\n",
       "         function loadJsroot() {\n",
       "            return !servers.length ? 0 : import(servers.shift() + path + '.js').catch(loadJsroot).then(() => execCode(JSROOT));\n",
       "         }\n",
       "         loadJsroot();\n",
       "      }\n",
       "   }\n",
       "   process_root_plot_1779221442135();\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779221442137\" style=\"width: 800px; height: 700px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779221442137() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(28284,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779221442137', obj, '');\n",
       "});\n",
       "\n",
       "      }\n",
       "      const servers = ['/static/', 'https://root.cern/js/7.11.0/', 'https://jsroot.gsi.de/7.11.0/'],\n",
       "            path = 'build/jsroot';\n",
       "      if (typeof JSROOT !== 'undefined')\n",
       "         execCode(JSROOT);\n",
       "      else if (typeof requirejs !== 'undefined') {\n",
       "         servers.forEach((s,i) => { servers[i] = s + path; });\n",
       "         requirejs.config({ paths: { 'jsroot' : servers } })(['jsroot'],  execCode);\n",
       "      } else {\n",
       "         const config = document.getElementById('jupyter-config-data');\n",
       "         if (config)\n",
       "            servers[0] = (JSON.parse(config.innerHTML || '{}')?.baseUrl || '/') + 'static/';\n",
       "         else\n",
       "            servers.shift();\n",
       "         function loadJsroot() {\n",
       "            return !servers.length ? 0 : import(servers.shift() + path + '.js').catch(loadJsroot).then(() => execCode(JSROOT));\n",
       "         }\n",
       "         loadJsroot();\n",
       "      }\n",
       "   }\n",
       "   process_root_plot_1779221442137();\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from ROOT import gROOT \n",
    "gROOT.GetListOfCanvases().Draw()"
   ]
  }
 ],
 "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.12.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
