{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "2fa63014",
   "metadata": {},
   "source": [
    "# rf705_linearmorph\n",
    "'SPECIAL PDFS' RooFit tutorial macro #705\n",
    "\n",
    "Linear interpolation between p.d.f shapes using the 'Alex Read' algorithm\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "**Author:**  Clemens Lange, Wouter Verkerke (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:34 PM.</small></i>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "eab0e5d8",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:39.729475Z",
     "iopub.status.busy": "2026-05-19T20:34:39.729353Z",
     "iopub.status.idle": "2026-05-19T20:34:40.722264Z",
     "shell.execute_reply": "2026-05-19T20:34:40.721816Z"
    }
   },
   "outputs": [],
   "source": [
    "import ROOT"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3cca4178",
   "metadata": {},
   "source": [
    "Create end point pdf shapes\n",
    "------------------------------------------------------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b4809fab",
   "metadata": {},
   "source": [
    "Observable"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "61ddf47d",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:40.724061Z",
     "iopub.status.busy": "2026-05-19T20:34:40.723935Z",
     "iopub.status.idle": "2026-05-19T20:34:40.890316Z",
     "shell.execute_reply": "2026-05-19T20:34:40.889833Z"
    }
   },
   "outputs": [],
   "source": [
    "x = ROOT.RooRealVar(\"x\", \"x\", -20, 20)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1b81bda4",
   "metadata": {},
   "source": [
    "Lower end point shape: a Gaussian"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "49a660f2",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:40.891961Z",
     "iopub.status.busy": "2026-05-19T20:34:40.891840Z",
     "iopub.status.idle": "2026-05-19T20:34:41.022219Z",
     "shell.execute_reply": "2026-05-19T20:34:41.021826Z"
    }
   },
   "outputs": [],
   "source": [
    "g1mean = ROOT.RooRealVar(\"g1mean\", \"g1mean\", -10)\n",
    "g1 = ROOT.RooGaussian(\"g1\", \"g1\", x, g1mean, 2.0)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b4ab3578",
   "metadata": {},
   "source": [
    "Upper end point shape: a Polynomial"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "136e3a3d",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:41.024107Z",
     "iopub.status.busy": "2026-05-19T20:34:41.023916Z",
     "iopub.status.idle": "2026-05-19T20:34:41.200776Z",
     "shell.execute_reply": "2026-05-19T20:34:41.200051Z"
    }
   },
   "outputs": [],
   "source": [
    "g2 = ROOT.RooPolynomial(\"g2\", \"g2\", x, [-0.03, -0.001])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c85dbeb4",
   "metadata": {},
   "source": [
    "Create interpolating pdf\n",
    "-----------------------------------------------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "28d4e925",
   "metadata": {},
   "source": [
    "Create interpolation variable"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "c780aa7a",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:41.202343Z",
     "iopub.status.busy": "2026-05-19T20:34:41.202221Z",
     "iopub.status.idle": "2026-05-19T20:34:41.305515Z",
     "shell.execute_reply": "2026-05-19T20:34:41.305050Z"
    }
   },
   "outputs": [],
   "source": [
    "alpha = ROOT.RooRealVar(\"alpha\", \"alpha\", 0, 1.0)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "94c2b2c4",
   "metadata": {},
   "source": [
    "Specify sampling density on observable and interpolation variable"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "a423ed56",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:41.307194Z",
     "iopub.status.busy": "2026-05-19T20:34:41.307073Z",
     "iopub.status.idle": "2026-05-19T20:34:41.415655Z",
     "shell.execute_reply": "2026-05-19T20:34:41.414990Z"
    }
   },
   "outputs": [],
   "source": [
    "x.setBins(1000, \"cache\")\n",
    "alpha.setBins(50, \"cache\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e95a1a6d",
   "metadata": {},
   "source": [
    "Construct interpolating pdf in (x,a) represent g1(x) at a=a_min\n",
    "and g2(x) at a=a_max"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "bb78b777",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:41.417698Z",
     "iopub.status.busy": "2026-05-19T20:34:41.417553Z",
     "iopub.status.idle": "2026-05-19T20:34:41.530919Z",
     "shell.execute_reply": "2026-05-19T20:34:41.530445Z"
    }
   },
   "outputs": [],
   "source": [
    "lmorph = ROOT.RooIntegralMorph(\"lmorph\", \"lmorph\", g1, g2, x, alpha)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "48ad90cc",
   "metadata": {},
   "source": [
    "Plot interpolating pdf aat various alphas   a l p h a\n",
    "-----------------------------------------------------------------------------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9f4fb3fa",
   "metadata": {},
   "source": [
    "Show end points as blue curves"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "94a9b390",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:41.532485Z",
     "iopub.status.busy": "2026-05-19T20:34:41.532367Z",
     "iopub.status.idle": "2026-05-19T20:34:41.686877Z",
     "shell.execute_reply": "2026-05-19T20:34:41.686400Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<cppyy.gbl.RooPlot object at 0x56139690e500>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "frame1 = x.frame()\n",
    "g1.plotOn(frame1)\n",
    "g2.plotOn(frame1)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6931e6b3",
   "metadata": {},
   "source": [
    "Show interpolated shapes in red"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "39450760",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:41.688454Z",
     "iopub.status.busy": "2026-05-19T20:34:41.688332Z",
     "iopub.status.idle": "2026-05-19T20:34:41.858787Z",
     "shell.execute_reply": "2026-05-19T20:34:41.858356Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[#1] INFO:Caching -- RooAbsCachedPdf::getCache(lmorph) creating new cache 0x561396d95620 with pdf g1_MORPH_g2_CACHE_Obs[x]_NORM_x for nset (x) with code 0\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[#1] INFO:Caching -- RooAbsCachedPdf::getCache(lmorph) creating new cache 0x561396a89f40 with pdf g1_MORPH_g2_CACHE_Obs[x]_NORM_x for nset (x) with code 0\n",
      "[#1] INFO:Caching -- RooAbsCachedPdf::getCache(lmorph) creating new cache 0x561396a89f40 with pdf g1_MORPH_g2_CACHE_Obs[x]_NORM_x for nset (x) with code 0\n",
      "[#1] INFO:Caching -- RooAbsCachedPdf::getCache(lmorph) creating new cache 0x561396a962d0 with pdf g1_MORPH_g2_CACHE_Obs[x]_NORM_x for nset (x) with code 0\n",
      "[#1] INFO:Caching -- RooAbsCachedPdf::getCache(lmorph) creating new cache 0x561396a89f40 with pdf g1_MORPH_g2_CACHE_Obs[x]_NORM_x for nset (x) with code 0\n",
      "[#1] INFO:Caching -- RooAbsCachedPdf::getCache(lmorph) creating new cache 0x561396a89f40 with pdf g1_MORPH_g2_CACHE_Obs[x]_NORM_x for nset (x) with code 0\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<cppyy.gbl.RooPlot object at 0x56139690e500>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[#1] INFO:Caching -- RooAbsCachedPdf::getCache(lmorph) creating new cache 0x561396a89f40 with pdf g1_MORPH_g2_CACHE_Obs[x]_NORM_x for nset (x) with code 0\n",
      "[#1] INFO:Caching -- RooAbsCachedPdf::getCache(lmorph) creating new cache 0x561396a89f40 with pdf g1_MORPH_g2_CACHE_Obs[x]_NORM_x for nset (x) with code 0\n"
     ]
    }
   ],
   "source": [
    "alpha.setVal(0.125)\n",
    "lmorph.plotOn(frame1, LineColor=\"r\")\n",
    "alpha.setVal(0.25)\n",
    "lmorph.plotOn(frame1, LineColor=\"r\")\n",
    "alpha.setVal(0.375)\n",
    "lmorph.plotOn(frame1, LineColor=\"r\")\n",
    "alpha.setVal(0.50)\n",
    "lmorph.plotOn(frame1, LineColor=\"r\")\n",
    "alpha.setVal(0.625)\n",
    "lmorph.plotOn(frame1, LineColor=\"r\")\n",
    "alpha.setVal(0.75)\n",
    "lmorph.plotOn(frame1, LineColor=\"r\")\n",
    "alpha.setVal(0.875)\n",
    "lmorph.plotOn(frame1, LineColor=\"r\")\n",
    "alpha.setVal(0.95)\n",
    "lmorph.plotOn(frame1, LineColor=\"r\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fe647d70",
   "metadata": {},
   "source": [
    "Show 2D distribution of pdf(x,alpha)\n",
    "-----------------------------------------------------------------------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2c6549fc",
   "metadata": {},
   "source": [
    "Create 2D histogram"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "5e098c03",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:41.860126Z",
     "iopub.status.busy": "2026-05-19T20:34:41.860002Z",
     "iopub.status.idle": "2026-05-19T20:34:42.193663Z",
     "shell.execute_reply": "2026-05-19T20:34:42.193164Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[#1] INFO:Caching -- RooAbsCachedPdf::getCache(lmorph) creating new cache 0x561396a8b0d0 with pdf g1_MORPH_g2_CACHE_Obs[x]_NORM_x_alpha for nset (x,alpha) with code 0\n"
     ]
    }
   ],
   "source": [
    "hh = lmorph.createHistogram(\"hh\", x, Binning=40, YVar=dict(var=alpha, Binning=40))\n",
    "hh.SetLineColor(\"kBlue\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "345e513e",
   "metadata": {},
   "source": [
    "Fit pdf to dataset with alpha=0.8\n",
    "-----------------------------------------------------------------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7592b0f0",
   "metadata": {},
   "source": [
    "Generate a toy dataset alpha = 0.8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "935228a8",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:42.195244Z",
     "iopub.status.busy": "2026-05-19T20:34:42.195119Z",
     "iopub.status.idle": "2026-05-19T20:34:42.336547Z",
     "shell.execute_reply": "2026-05-19T20:34:42.336072Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[#1] INFO:Caching -- RooAbsCachedPdf::getCache(lmorph) creating new cache 0x561397039ab0 with pdf g1_MORPH_g2_CACHE_Obs[x]_NORM_x for nset (x) with code 0\n",
      "[#1] INFO:Caching -- RooAbsCachedPdf::getCache(lmorph) creating new cache 0x561396e48300 with pdf g1_MORPH_g2_CACHE_Obs[x]_NORM_x for nset (x) with code 0\n"
     ]
    }
   ],
   "source": [
    "alpha.setVal(0.8)\n",
    "data = lmorph.generate({x}, 1000)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "86f26672",
   "metadata": {},
   "source": [
    "Fit pdf to toy data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "5f91eaae",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:42.338184Z",
     "iopub.status.busy": "2026-05-19T20:34:42.338058Z",
     "iopub.status.idle": "2026-05-19T20:34:42.768169Z",
     "shell.execute_reply": "2026-05-19T20:34:42.767766Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[#0] PROGRESS:Eval -- RooIntegralMorph::fillCacheObject(lmorph) filling multi-dimensional cache..................................................\n",
      "\n",
      "[#1] INFO:Caching -- RooAbsCachedPdf::getCache(lmorph) creating new cache 0x56139707a120 with pdf g1_MORPH_g2_CACHE_Obs[alpha,x]_NORM_x for nset (x) with code 0\n",
      "[#1] INFO:Fitting -- RooAbsPdf::fitTo(lmorph_over_lmorph_Int[x]) 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 226.786 ms\n",
      "[#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_lmorph_over_lmorph_Int[x]_lmorphData) Summation contains a RooNLLVar, using its error level\n",
      "[#0] WARNING:Minimization -- RooAbsMinimizerFcn::synchronize: WARNING: no initial error estimate available for alpha: using 0.1\n",
      "[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n",
      "\n",
      "prevFCN = 9770.913047  alpha=0.807, \n",
      "prevFCN = 9770.181345  alpha=0.7929, \n",
      "prevFCN = 9772.015076  alpha=0.8008, \n",
      "prevFCN = 9770.800603  alpha=0.7992, \n",
      "prevFCN = 9770.785966  alpha=0.8001, \n",
      "prevFCN = 9770.896896  alpha=0.7999, \n",
      "prevFCN = 9770.682007  \n",
      "prevFCN = 9770.682007  alpha=0.7994, \n",
      "prevFCN = 9770.748743  alpha=0.7997, \n",
      "prevFCN = 9770.712263  alpha=0.8004, \n",
      "prevFCN = 9770.849353  alpha=0.8002, \n",
      "prevFCN = 9770.888877  alpha=0.8, \n",
      "prevFCN = 9770.908995  alpha=0.8, \n",
      "prevFCN = 9770.671799  alpha=0.8, \n",
      "prevFCN = 9770.909805  alpha=0.8, \n",
      "prevFCN = 9770.667124  alpha=0.8, \n",
      "prevFCN = 9770.910615  alpha=0.8, \n",
      "prevFCN = 9770.91254  alpha=0.8, \n",
      "prevFCN = 9770.912239  alpha=0.8, \n",
      "prevFCN = 9770.669355  alpha=0.8, \n",
      "prevFCN = 9770.666818  alpha=0.8, \n",
      "prevFCN = 9770.66743  alpha=0.8, \n",
      "prevFCN = 9770.91141  alpha=0.8, \n",
      "prevFCN = 9770.670187  alpha=0.8, \n",
      "prevFCN = 9770.668617  alpha=0.8, \n",
      "prevFCN = 9770.667852  alpha=0.8, \n",
      "prevFCN = 9770.667479  alpha=0.8, \n",
      "prevFCN = 9770.667297  alpha=0.8, \n",
      "prevFCN = 9770.667208  alpha=0.8, \n",
      "prevFCN = 9770.667165  alpha=0.8, \n",
      "prevFCN = 9770.667144  alpha=0.8, \n",
      "prevFCN = 9770.667134  alpha=0.8, \n",
      "prevFCN = 9770.667129  alpha=0.8, \n",
      "prevFCN = 9770.667126  alpha=0.8, \n",
      "prevFCN = 9770.667124  alpha=0.8, \n",
      "prevFCN = 9770.91141  alpha=0.8, \n",
      "prevFCN = 9770.670187  alpha=0.8, \n",
      "prevFCN = 9770.666827  alpha=0.8, \n",
      "prevFCN = 9770.667421  alpha=0.8, \n",
      "prevFCN = 9770.667064  alpha=0.8, \n",
      "prevFCN = 9770.667183  alpha=0.8, \n",
      "prevFCN = 9770.667124  alpha=0.8, \n",
      "prevFCN = 9770.667064  alpha=0.8, \n",
      "prevFCN = 9770.667183  alpha=0.8, \n",
      "prevFCN = 9770.66653  alpha=0.8, \n",
      "prevFCN = 9770.667718  alpha=0.8, \n",
      "prevFCN = 9770.667005  alpha=0.8, \n",
      "prevFCN = 9770.667243  alpha=0.8, "
     ]
    },
    {
     "data": {
      "text/plain": [
       "<cppyy.gbl.RooFitResult object at 0x(nil)>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lmorph.setCacheAlpha(True)\n",
    "lmorph.fitTo(data, Verbose=True, PrintLevel=-1)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "089ce05e",
   "metadata": {},
   "source": [
    "Plot fitted pdf and data overlaid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "2d310492",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:42.770027Z",
     "iopub.status.busy": "2026-05-19T20:34:42.769904Z",
     "iopub.status.idle": "2026-05-19T20:34:43.153277Z",
     "shell.execute_reply": "2026-05-19T20:34:43.152730Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[#0] PROGRESS:Eval -- RooIntegralMorph::fillCacheObject(lmorph) filling multi-dimensional cache..................................................\n",
      "\n",
      "[#1] INFO:Caching -- RooAbsCachedPdf::getCache(lmorph) creating new cache 0x5613973e61d0 with pdf g1_MORPH_g2_CACHE_Obs[alpha,x]_NORM_x for nset (x) with code 0\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<cppyy.gbl.RooPlot object at 0x561397662b40>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "frame2 = x.frame(Bins=100)\n",
    "data.plotOn(frame2)\n",
    "lmorph.plotOn(frame2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a03c8b18",
   "metadata": {},
   "source": [
    "Scan -log(L) vs alpha\n",
    "-----------------------------------------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4636e9ac",
   "metadata": {},
   "source": [
    "Show scan -log(L) of dataset w.r.t alpha"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "b4c78e8c",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:43.155145Z",
     "iopub.status.busy": "2026-05-19T20:34:43.155017Z",
     "iopub.status.idle": "2026-05-19T20:34:43.263993Z",
     "shell.execute_reply": "2026-05-19T20:34:43.263469Z"
    }
   },
   "outputs": [],
   "source": [
    "frame3 = alpha.frame(Bins=100, Range=(0.1, 0.9))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "289a22d4",
   "metadata": {},
   "source": [
    "Make 2D pdf of histogram"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "4661a9c8",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:43.265973Z",
     "iopub.status.busy": "2026-05-19T20:34:43.265845Z",
     "iopub.status.idle": "2026-05-19T20:34:43.861391Z",
     "shell.execute_reply": "2026-05-19T20:34:43.858837Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[#0] PROGRESS:Eval -- RooIntegralMorph::fillCacheObject(lmorph) filling multi-dimensional cache..................................................\n",
      "\n",
      "[#1] INFO:Caching -- RooAbsCachedPdf::getCache(lmorph) creating new cache 0x5613973e61d0 with pdf g1_MORPH_g2_CACHE_Obs[alpha,x]_NORM_x for nset (x) with code 0\n",
      "[#1] INFO:Fitting -- RooAbsPdf::fitTo(lmorph_over_lmorph_Int[x]) fixing normalization set for coefficient determination to observables in data\n",
      "[#1] INFO:Fitting -- Creation of NLL object took 229.515 ms\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Info in <TCanvas::Print>: png file rf705_linearmorph.png has been created\n"
     ]
    }
   ],
   "source": [
    "nll = lmorph.createNLL(data)\n",
    "nll.plotOn(frame3, ShiftToZero=True)\n",
    "\n",
    "lmorph.setCacheAlpha(False)\n",
    "\n",
    "c = ROOT.TCanvas(\"rf705_linearmorph\", \"rf705_linearmorph\", 800, 800)\n",
    "c.Divide(2, 2)\n",
    "c.cd(1)\n",
    "ROOT.gPad.SetLeftMargin(0.15)\n",
    "frame1.GetYaxis().SetTitleOffset(1.6)\n",
    "frame1.Draw()\n",
    "c.cd(2)\n",
    "ROOT.gPad.SetLeftMargin(0.20)\n",
    "hh.GetZaxis().SetTitleOffset(2.5)\n",
    "hh.Draw(\"surf\")\n",
    "c.cd(3)\n",
    "ROOT.gPad.SetLeftMargin(0.15)\n",
    "frame3.GetYaxis().SetTitleOffset(1.4)\n",
    "frame3.Draw()\n",
    "c.cd(4)\n",
    "ROOT.gPad.SetLeftMargin(0.15)\n",
    "frame2.GetYaxis().SetTitleOffset(1.4)\n",
    "frame2.Draw()\n",
    "\n",
    "c.SaveAs(\"rf705_linearmorph.png\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "66bf1af6",
   "metadata": {},
   "source": [
    "Draw all canvases "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "3eede28a",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:34:43.863078Z",
     "iopub.status.busy": "2026-05-19T20:34:43.862949Z",
     "iopub.status.idle": "2026-05-19T20:34:44.052584Z",
     "shell.execute_reply": "2026-05-19T20:34:44.052163Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779222884043\" style=\"width: 800px; height: 800px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779222884043() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(103218,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779222884043', 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_1779222884043();\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
}
