{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "65069e9c",
   "metadata": {},
   "source": [
    "# rf204a_extendedLikelihood\n",
    "Extended maximum likelihood fit in multiple ranges.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "**Author:**  Harshal Shende, Stephan Hageboeck (C++ version)  \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:29 PM.</small></i>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "17d9b837",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:46.438810Z",
     "iopub.status.busy": "2026-05-19T20:29:46.438694Z",
     "iopub.status.idle": "2026-05-19T20:29:47.401688Z",
     "shell.execute_reply": "2026-05-19T20:29:47.401076Z"
    }
   },
   "outputs": [],
   "source": [
    "import ROOT"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b29d9fb5",
   "metadata": {},
   "source": [
    "Setup component pdfs\n",
    "---------------------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f931ceff",
   "metadata": {},
   "source": [
    "Declare observable x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "08618575",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:47.403588Z",
     "iopub.status.busy": "2026-05-19T20:29:47.403456Z",
     "iopub.status.idle": "2026-05-19T20:29:47.566040Z",
     "shell.execute_reply": "2026-05-19T20:29:47.565484Z"
    }
   },
   "outputs": [],
   "source": [
    "x = ROOT.RooRealVar(\"x\", \"x\", 0, 11)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3f33f19a",
   "metadata": {},
   "source": [
    "Create two Gaussian PDFs g1(x,mean1,sigma) anf g2(x,mean2,sigma) and their parameters"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "5ea9fa48",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:47.571347Z",
     "iopub.status.busy": "2026-05-19T20:29:47.571216Z",
     "iopub.status.idle": "2026-05-19T20:29:47.698694Z",
     "shell.execute_reply": "2026-05-19T20:29:47.698103Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[#0] WARNING:InputArguments -- The parameter 'sigma1' with range [-inf, inf] of the RooGaussian 'sig1' exceeds the safe range of (0, inf). Advise to limit its range.\n",
      "[#0] WARNING:InputArguments -- The parameter 'sigma2' with range [-inf, inf] of the RooGaussian 'sig2' exceeds the safe range of (0, inf). Advise to limit its range.\n"
     ]
    }
   ],
   "source": [
    "mean = ROOT.RooRealVar(\"mean\", \"mean of gaussians\", 5)\n",
    "sigma1 = ROOT.RooRealVar(\"sigma1\", \"width of gaussians\", 0.5)\n",
    "sigma2 = ROOT.RooRealVar(\"sigma2\", \"width of gaussians\", 1)\n",
    "\n",
    "sig1 = ROOT.RooGaussian(\"sig1\", \"Signal component 1\", x, mean, sigma1)\n",
    "sig2 = ROOT.RooGaussian(\"sig2\", \"Signal component 2\", x, mean, sigma2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d62b060d",
   "metadata": {},
   "source": [
    "Build Chebychev polynomial pdf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "038850a7",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:47.700189Z",
     "iopub.status.busy": "2026-05-19T20:29:47.700067Z",
     "iopub.status.idle": "2026-05-19T20:29:47.879837Z",
     "shell.execute_reply": "2026-05-19T20:29:47.879241Z"
    }
   },
   "outputs": [],
   "source": [
    "a0 = ROOT.RooRealVar(\"a0\", \"a0\", 0.5, 0.0, 1.0)\n",
    "a1 = ROOT.RooRealVar(\"a1\", \"a1\", 0.2, 0.0, 1.0)\n",
    "bkg = ROOT.RooChebychev(\"bkg\", \"Background\", x, [a0, a1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0ec58b1c",
   "metadata": {},
   "source": [
    "Sum the signal components into a composite signal pdf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "c0902e74",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:47.883336Z",
     "iopub.status.busy": "2026-05-19T20:29:47.883207Z",
     "iopub.status.idle": "2026-05-19T20:29:48.000075Z",
     "shell.execute_reply": "2026-05-19T20:29:47.999451Z"
    }
   },
   "outputs": [],
   "source": [
    "sig1frac = ROOT.RooRealVar(\"sig1frac\", \"fraction of component 1 in signal\", 0.8, 0.0, 1.0)\n",
    "sig = ROOT.RooAddPdf(\"sig\", \"Signal\", [sig1, sig2], sig1frac)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3944fece",
   "metadata": {},
   "source": [
    "Extend the pdfs\n",
    "-----------------------------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a5a4ab3d",
   "metadata": {},
   "source": [
    "Define signal range in which events counts are to be defined"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "d77948ca",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:48.001849Z",
     "iopub.status.busy": "2026-05-19T20:29:48.001724Z",
     "iopub.status.idle": "2026-05-19T20:29:48.110714Z",
     "shell.execute_reply": "2026-05-19T20:29:48.110153Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[#1] INFO:Eval -- RooRealVar::setRange(x) new range named 'signalRange' created with bounds [4,6]\n"
     ]
    }
   ],
   "source": [
    "x.setRange(\"signalRange\", 4, 6)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b8c1835a",
   "metadata": {},
   "source": [
    "Associated nsig/nbkg as expected number of events with sig/bkg _in_the_range_ \"signalRange\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "95ecee11",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:48.112394Z",
     "iopub.status.busy": "2026-05-19T20:29:48.112271Z",
     "iopub.status.idle": "2026-05-19T20:29:48.215897Z",
     "shell.execute_reply": "2026-05-19T20:29:48.215292Z"
    }
   },
   "outputs": [],
   "source": [
    "nsig = ROOT.RooRealVar(\"nsig\", \"number of signal events in signalRange\", 500, 0.0, 10000)\n",
    "nbkg = ROOT.RooRealVar(\"nbkg\", \"number of background events in signalRange\", 500, 0, 10000)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9b9add41",
   "metadata": {},
   "source": [
    "Use AddPdf to extend the model. Giving as many coefficients as pdfs switches on extension."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "7299665c",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:48.217900Z",
     "iopub.status.busy": "2026-05-19T20:29:48.217775Z",
     "iopub.status.idle": "2026-05-19T20:29:48.321423Z",
     "shell.execute_reply": "2026-05-19T20:29:48.320787Z"
    }
   },
   "outputs": [],
   "source": [
    "model = ROOT.RooAddPdf(\"model\", \"(g1+g2)+a\", [bkg, sig], [nbkg, nsig])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a77a5bbd",
   "metadata": {},
   "source": [
    "Sample data, fit model\n",
    "-------------------------------------------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4d947dcd",
   "metadata": {},
   "source": [
    "Generate 1000 events from model so that nsig,nbkg come out to numbers <<500 in fit"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "5b2582ab",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:48.323073Z",
     "iopub.status.busy": "2026-05-19T20:29:48.322950Z",
     "iopub.status.idle": "2026-05-19T20:29:48.496040Z",
     "shell.execute_reply": "2026-05-19T20:29:48.495386Z"
    }
   },
   "outputs": [],
   "source": [
    "data = model.generate(x, 1000)\n",
    "\n",
    "canv = ROOT.TCanvas(\"Canvas\", \"Canvas\", 1500, 600)\n",
    "canv.Divide(3, 1)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f2dbfc2c",
   "metadata": {},
   "source": [
    "Fit full range\n",
    " -------------------------------------------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b6c4262f",
   "metadata": {},
   "source": [
    "Perform unbinned ML fit to data, full range"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b5b083f9",
   "metadata": {},
   "source": [
    "IMPORTANT:\n",
    "The model needs to be copied when fitting with different ranges because\n",
    "the interpretation of the coefficients is tied to the fit range\n",
    "that's used in the first fit"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "391f6449",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:48.497697Z",
     "iopub.status.busy": "2026-05-19T20:29:48.497539Z",
     "iopub.status.idle": "2026-05-19T20:29:48.799689Z",
     "shell.execute_reply": "2026-05-19T20:29:48.799266Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[#1] INFO:Minimization -- p.d.f. provides expected number of events, including extended term in likelihood.\n",
      "[#1] INFO:Fitting -- RooAbsPdf::fitTo(model) fixing normalization set for coefficient determination to observables in data\n",
      "[#1] INFO:Fitting -- using generic CPU library compiled with no vectorizations\n",
      "[#1] INFO:Fitting -- Creation of NLL object took 850.584 μs\n",
      "[#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_model_modelData) Summation contains a RooNLLVar, using its error level\n",
      "[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "  RooFitResult: minimized FCN value: -3872.49, estimated distance to minimum: 4.30406e-05\n",
      "                covariance matrix quality: Full, accurate covariance matrix\n",
      "                Status : MINIMIZE=0 HESSE=0 \n",
      "\n",
      "    Floating Parameter    FinalValue +/-  Error   \n",
      "  --------------------  --------------------------\n",
      "                    a0    4.2647e-01 +/-  7.59e-02\n",
      "                    a1    1.7594e-01 +/-  1.10e-01\n",
      "                  nbkg    5.1101e+02 +/-  3.60e+01\n",
      "                  nsig    4.8899e+02 +/-  3.57e+01\n",
      "              sig1frac    8.6392e-01 +/-  1.08e-01\n",
      "\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n"
     ]
    }
   ],
   "source": [
    "canv.cd(1)\n",
    "\n",
    "model1 = ROOT.RooAddPdf(model)\n",
    "r = model1.fitTo(data, Save=True, PrintLevel=-1)\n",
    "r.Print()\n",
    "\n",
    "frame = x.frame(Title=\"Full range fitted\")\n",
    "data.plotOn(frame)\n",
    "model1.plotOn(frame, VisualizeError=r)\n",
    "model1.plotOn(frame)\n",
    "model1.paramOn(frame)\n",
    "frame.Draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7bff965b",
   "metadata": {},
   "source": [
    "Fit in two regions\n",
    "-------------------------------------------"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "85a43d8f",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:48.806175Z",
     "iopub.status.busy": "2026-05-19T20:29:48.806045Z",
     "iopub.status.idle": "2026-05-19T20:29:48.949548Z",
     "shell.execute_reply": "2026-05-19T20:29:48.949018Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[#1] INFO:Eval -- RooRealVar::setRange(x) new range named 'left' created with bounds [0,4]\n",
      "[#1] INFO:Eval -- RooRealVar::setRange(x) new range named 'right' created with bounds [6,10]\n",
      "[#1] INFO:Minimization -- p.d.f. provides expected number of events, including extended term in likelihood.\n",
      "[#1] INFO:Eval -- RooRealVar::setRange(x) new range named 'fit_nll_model_modelData_left' created with bounds [0,4]\n",
      "[#1] INFO:Eval -- RooRealVar::setRange(x) new range named 'fit_nll_model_modelData_right' created with bounds [6,10]\n",
      "[#1] INFO:Fitting -- RooAbsPdf::fitTo(model) fixing normalization set for coefficient determination to observables in data\n",
      "[#1] INFO:Fitting -- Creation of NLL object took 7.0071 ms\n",
      "[#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_model_modelData) Summation contains a RooNLLVar, using its error level\n",
      "[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "  RooFitResult: minimized FCN value: -1134.15, estimated distance to minimum: 3.61209e-05\n",
      "                covariance matrix quality: Full, accurate covariance matrix\n",
      "                Status : MINIMIZE=0 HESSE=0 \n",
      "\n",
      "    Floating Parameter    FinalValue +/-  Error   \n",
      "  --------------------  --------------------------\n",
      "                    a0    3.2415e-01 +/-  1.09e-01\n",
      "                    a1    3.0373e-02 +/-  2.12e-01\n",
      "                  nbkg    5.0182e+02 +/-  3.94e+01\n",
      "                  nsig    4.1091e+02 +/-  2.63e+02\n",
      "              sig1frac    8.5838e-01 +/-  2.74e-01\n",
      "\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f was fitted in a subrange and no explicit Range() and NormRange() was specified. Plotting / normalising in fit range. To override, do one of the following\n",
      "\t- Clear the automatic fit range attribute: <pdf>.removeStringAttribute(\"fitrange\");\n",
      "\t- Explicitly specify the plotting range: Range(\"<rangeName>\").\n",
      "\t- Explicitly specify where to compute the normalisation: NormRange(\"<rangeName>\").\n",
      "\tThe default (full) range can be denoted with Range(\"\") / NormRange(\"\").\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_left'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_left'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_left'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:Plotting -- RooAbsReal::plotOn(model): the 1-sigma error band for the parameter \"a1\" is invalid because the variations (-0.139452, 0.200199) are outside the defined range [0, 1]!\n",
      "                         The variations will be clipped inside the range. This might or might not be acceptable in your usecase.\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_left'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_left'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_left'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_left'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_left'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_left'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:Plotting -- RooAbsReal::plotOn(model): the 1-sigma error band for the parameter \"sig1frac\" is invalid because the variations (0.543771, 1.173) are outside the defined range [0, 1]!\n",
      "                         The variations will be clipped inside the range. This might or might not be acceptable in your usecase.\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_left'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_left'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_right'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_right'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_right'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:Plotting -- RooAbsReal::plotOn(model): the 1-sigma error band for the parameter \"a1\" is invalid because the variations (-0.139452, 0.200199) are outside the defined range [0, 1]!\n",
      "                         The variations will be clipped inside the range. This might or might not be acceptable in your usecase.\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_right'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_right'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_right'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_right'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_right'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_right'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:Plotting -- RooAbsReal::plotOn(model): the 1-sigma error band for the parameter \"sig1frac\" is invalid because the variations (0.543771, 1.173) are outside the defined range [0, 1]!\n",
      "                         The variations will be clipped inside the range. This might or might not be acceptable in your usecase.\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_right'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_right'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsPdf::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f was fitted in a subrange and no explicit Range() and NormRange() was specified. Plotting / normalising in fit range. To override, do one of the following\n",
      "\t- Clear the automatic fit range attribute: <pdf>.removeStringAttribute(\"fitrange\");\n",
      "\t- Explicitly specify the plotting range: Range(\"<rangeName>\").\n",
      "\t- Explicitly specify where to compute the normalisation: NormRange(\"<rangeName>\").\n",
      "\tThe default (full) range can be denoted with Range(\"\") / NormRange(\"\").\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData_left,fit_nll_model_modelData_right'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument NormRange is duplicated\n"
     ]
    }
   ],
   "source": [
    "canv.cd(2)\n",
    "x.setRange(\"left\", 0.0, 4.0)\n",
    "x.setRange(\"right\", 6.0, 10.0)\n",
    "\n",
    "model2 = ROOT.RooAddPdf(model)\n",
    "r2 = model2.fitTo(data, Range=\"left,right\", Save=True, PrintLevel=-1)\n",
    "r2.Print()\n",
    "\n",
    "frame2 = x.frame(Title=\"Fit in left/right sideband\")\n",
    "data.plotOn(frame2)\n",
    "model2.plotOn(frame2, VisualizeError=r2)\n",
    "model2.plotOn(frame2)\n",
    "model2.paramOn(frame2)\n",
    "frame2.Draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2e5659f4",
   "metadata": {},
   "source": [
    "Fit in one region\n",
    "-------------------------------------------\n",
    "Note how restricting the region to only the left tail increases\n",
    "the fit uncertainty"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "7af5c999",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:48.964410Z",
     "iopub.status.busy": "2026-05-19T20:29:48.964274Z",
     "iopub.status.idle": "2026-05-19T20:29:49.322806Z",
     "shell.execute_reply": "2026-05-19T20:29:49.322220Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[#1] INFO:Eval -- RooRealVar::setRange(x) new range named 'leftToMiddle' created with bounds [0,5]\n",
      "[#1] INFO:Minimization -- p.d.f. provides expected number of events, including extended term in likelihood.\n",
      "[#1] INFO:Eval -- RooRealVar::setRange(x) new range named 'fit_nll_model_modelData' created with bounds [0,5]\n",
      "[#1] INFO:Fitting -- RooAbsPdf::fitTo(model) fixing normalization set for coefficient determination to observables in data\n",
      "[#1] INFO:Fitting -- Creation of NLL object took 578.403 μs\n",
      "[#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_model_modelData) Summation contains a RooNLLVar, using its error level\n",
      "[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n",
      "\n",
      "  RooFitResult: minimized FCN value: -1620.17, estimated distance to minimum: 0.000658484\n",
      "                covariance matrix quality: Full, accurate covariance matrix\n",
      "                Status : MINIMIZE=0 HESSE=0 \n",
      "\n",
      "    Floating Parameter    FinalValue +/-  Error   \n",
      "  --------------------  --------------------------\n",
      "                    a0    7.0685e-01 +/-  7.00e-01\n",
      "                    a1    2.2397e-01 +/-  6.03e-01\n",
      "                  nbkg    7.1175e+02 +/-  1.22e+03\n",
      "                  nsig    4.4359e+02 +/-  1.28e+02\n",
      "              sig1frac    9.7243e-01 +/-  8.92e-01\n",
      "\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f was fitted in a subrange and no explicit Range() and NormRange() was specified. Plotting / normalising in fit range. To override, do one of the following\n",
      "\t- Clear the automatic fit range attribute: <pdf>.removeStringAttribute(\"fitrange\");\n",
      "\t- Explicitly specify the plotting range: Range(\"<rangeName>\").\n",
      "\t- Explicitly specify where to compute the normalisation: NormRange(\"<rangeName>\").\n",
      "\tThe default (full) range can be denoted with Range(\"\") / NormRange(\"\").\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:Plotting -- RooAbsReal::plotOn(model): the 1-sigma error band for the parameter \"a0\" is invalid because the variations (-0.737674, 2.15138) are outside the defined range [0, 1]!\n",
      "                         The variations will be clipped inside the range. This might or might not be acceptable in your usecase.\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:Plotting -- RooAbsReal::plotOn(model): the 1-sigma error band for the parameter \"a1\" is invalid because the variations (-0.297021, 0.744954) are outside the defined range [0, 1]!\n",
      "                         The variations will be clipped inside the range. This might or might not be acceptable in your usecase.\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:Plotting -- RooAbsReal::plotOn(model): the 1-sigma error band for the parameter \"nbkg\" is invalid because the variations (-560.539, 1984.04) are outside the defined range [0, 10000]!\n",
      "                         The variations will be clipped inside the range. This might or might not be acceptable in your usecase.\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#0] WARNING:Plotting -- RooAbsReal::plotOn(model): the 1-sigma error band for the parameter \"sig1frac\" is invalid because the variations (0.659923, 1.28494) are outside the defined range [0, 1]!\n",
      "                         The variations will be clipped inside the range. This might or might not be acceptable in your usecase.\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData'\n",
      "[#0] WARNING:InputArguments -- RooAbsReal::plotOn(model) WARNING: argument CurveNameSuffix is duplicated\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f was fitted in a subrange and no explicit Range() and NormRange() was specified. Plotting / normalising in fit range. To override, do one of the following\n",
      "\t- Clear the automatic fit range attribute: <pdf>.removeStringAttribute(\"fitrange\");\n",
      "\t- Explicitly specify the plotting range: Range(\"<rangeName>\").\n",
      "\t- Explicitly specify where to compute the normalisation: NormRange(\"<rangeName>\").\n",
      "\tThe default (full) range can be denoted with Range(\"\") / NormRange(\"\").\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) only plotting range 'fit_nll_model_modelData'\n",
      "[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) p.d.f. curve is normalized using explicit choice of ranges 'fit_nll_model_modelData'\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Info in <TCanvas::Print>: png file rf204a_extendedLikelihood.png has been created\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779222589312\" style=\"width: 1500px; height: 600px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779222589312() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(91384,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779222589312', 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_1779222589312();\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "canv.cd(3)\n",
    "x.setRange(\"leftToMiddle\", 0.0, 5.0)\n",
    "\n",
    "model3 = ROOT.RooAddPdf(model)\n",
    "r3 = model3.fitTo(data, Range=\"leftToMiddle\", Save=True, PrintLevel=-1)\n",
    "r3.Print()\n",
    "\n",
    "frame3 = x.frame(Title=\"Fit from left to middle\")\n",
    "data.plotOn(frame3)\n",
    "model3.plotOn(frame3, VisualizeError=r3)\n",
    "model3.plotOn(frame3)\n",
    "model3.paramOn(frame3)\n",
    "frame3.Draw()\n",
    "\n",
    "canv.Draw()\n",
    "\n",
    "canv.SaveAs(\"rf204a_extendedLikelihood.png\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2b6ef7cc",
   "metadata": {},
   "source": [
    "Draw all canvases "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "d4b44b75",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:49.324408Z",
     "iopub.status.busy": "2026-05-19T20:29:49.324279Z",
     "iopub.status.idle": "2026-05-19T20:29:49.443028Z",
     "shell.execute_reply": "2026-05-19T20:29:49.442527Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779222589441\" style=\"width: 1500px; height: 600px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779222589441() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(91384,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779222589441', 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_1779222589441();\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
}
