{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "f50d76d8",
   "metadata": {},
   "source": [
    "# rf111_derivatives\n",
    "Basic functionality: numerical 1st, and 3rd order derivatives w.r.t. observables and parameters\n",
    "\n",
    "```\n",
    "pdf = gauss(x,m,s)\n",
    "```\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:29 PM.</small></i>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "bb787282",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:29.107491Z",
     "iopub.status.busy": "2026-05-19T20:29:29.107359Z",
     "iopub.status.idle": "2026-05-19T20:29:30.065799Z",
     "shell.execute_reply": "2026-05-19T20:29:30.065186Z"
    }
   },
   "outputs": [],
   "source": [
    "import ROOT"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a7860c2c",
   "metadata": {},
   "source": [
    "Set up model\n",
    "---------------------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "63c81df8",
   "metadata": {},
   "source": [
    "Declare variables x,mean, with associated name, title, value and allowed\n",
    "range"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "f6839361",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:30.067859Z",
     "iopub.status.busy": "2026-05-19T20:29:30.067717Z",
     "iopub.status.idle": "2026-05-19T20:29:30.231850Z",
     "shell.execute_reply": "2026-05-19T20:29:30.231285Z"
    }
   },
   "outputs": [],
   "source": [
    "x = ROOT.RooRealVar(\"x\", \"x\", -10, 10)\n",
    "mean = ROOT.RooRealVar(\"mean\", \"mean of gaussian\", 1, -10, 10)\n",
    "sigma = ROOT.RooRealVar(\"sigma\", \"width of gaussian\", 1, 0.1, 10)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6825d68d",
   "metadata": {},
   "source": [
    "Build gaussian pdf in terms of x, and sigma"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "f734c69b",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:30.233980Z",
     "iopub.status.busy": "2026-05-19T20:29:30.233854Z",
     "iopub.status.idle": "2026-05-19T20:29:30.356172Z",
     "shell.execute_reply": "2026-05-19T20:29:30.355441Z"
    }
   },
   "outputs": [],
   "source": [
    "gauss = ROOT.RooGaussian(\"gauss\", \"gaussian PDF\", x, mean, sigma)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e50dbf38",
   "metadata": {},
   "source": [
    "Create and plot derivatives w.r.t. x\n",
    "----------------------------------------------------------------------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b8c726c0",
   "metadata": {},
   "source": [
    "Derivative of normalized gauss(x) w.r.t. observable x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "9babd67e",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:30.357928Z",
     "iopub.status.busy": "2026-05-19T20:29:30.357802Z",
     "iopub.status.idle": "2026-05-19T20:29:30.470048Z",
     "shell.execute_reply": "2026-05-19T20:29:30.469321Z"
    }
   },
   "outputs": [],
   "source": [
    "dgdx = gauss.derivative(x, 1)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f7f0fd09",
   "metadata": {},
   "source": [
    "Second and third derivative of normalized gauss(x) w.r.t. observable x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "dc39d32b",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:30.471860Z",
     "iopub.status.busy": "2026-05-19T20:29:30.471734Z",
     "iopub.status.idle": "2026-05-19T20:29:30.575139Z",
     "shell.execute_reply": "2026-05-19T20:29:30.574615Z"
    }
   },
   "outputs": [],
   "source": [
    "d2gdx2 = gauss.derivative(x, 2)\n",
    "d3gdx3 = gauss.derivative(x, 3)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fa7511f8",
   "metadata": {},
   "source": [
    "Construct plot frame in 'x'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "41a7bbfe",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:30.577201Z",
     "iopub.status.busy": "2026-05-19T20:29:30.577080Z",
     "iopub.status.idle": "2026-05-19T20:29:30.712453Z",
     "shell.execute_reply": "2026-05-19T20:29:30.711471Z"
    }
   },
   "outputs": [],
   "source": [
    "xframe = x.frame(Title=\"d(Gauss)/dx\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3f46fdea",
   "metadata": {},
   "source": [
    "Plot gauss in frame (i.e. in x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "f4a62774",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:30.714103Z",
     "iopub.status.busy": "2026-05-19T20:29:30.713983Z",
     "iopub.status.idle": "2026-05-19T20:29:30.860102Z",
     "shell.execute_reply": "2026-05-19T20:29:30.859500Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<cppyy.gbl.RooPlot object at 0x5592b1e92520>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gauss.plotOn(xframe)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2cb6dd8a",
   "metadata": {},
   "source": [
    "Plot derivatives in same frame"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "32b47e6d",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:30.861985Z",
     "iopub.status.busy": "2026-05-19T20:29:30.861858Z",
     "iopub.status.idle": "2026-05-19T20:29:31.003162Z",
     "shell.execute_reply": "2026-05-19T20:29:31.002559Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<cppyy.gbl.RooPlot object at 0x5592b1e92520>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dgdx.plotOn(xframe, LineColor=\"m\")\n",
    "d2gdx2.plotOn(xframe, LineColor=\"r\")\n",
    "d3gdx3.plotOn(xframe, LineColor=\"kOrange\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "44af7489",
   "metadata": {},
   "source": [
    "Create and plot derivatives w.r.t. sigma\n",
    "------------------------------------------------------------------------------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3a094207",
   "metadata": {},
   "source": [
    "Derivative of normalized gauss(x) w.r.t. parameter sigma"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "d0aa0e03",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:31.005093Z",
     "iopub.status.busy": "2026-05-19T20:29:31.004954Z",
     "iopub.status.idle": "2026-05-19T20:29:31.108338Z",
     "shell.execute_reply": "2026-05-19T20:29:31.107795Z"
    }
   },
   "outputs": [],
   "source": [
    "dgds = gauss.derivative(sigma, 1)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d9c0b62d",
   "metadata": {},
   "source": [
    "Second and third derivative of normalized gauss(x) w.r.t. parameter sigma"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "efdebaba",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:31.110824Z",
     "iopub.status.busy": "2026-05-19T20:29:31.110696Z",
     "iopub.status.idle": "2026-05-19T20:29:31.214263Z",
     "shell.execute_reply": "2026-05-19T20:29:31.213621Z"
    }
   },
   "outputs": [],
   "source": [
    "d2gds2 = gauss.derivative(sigma, 2)\n",
    "d3gds3 = gauss.derivative(sigma, 3)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d74c0ac1",
   "metadata": {},
   "source": [
    "Construct plot frame in 'sigma'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "4cd59d6b",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:31.216235Z",
     "iopub.status.busy": "2026-05-19T20:29:31.216103Z",
     "iopub.status.idle": "2026-05-19T20:29:31.326335Z",
     "shell.execute_reply": "2026-05-19T20:29:31.325747Z"
    }
   },
   "outputs": [],
   "source": [
    "sframe = sigma.frame(Title=\"d(Gauss)/d(sigma)\", Range=(0.0, 2.0))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8c71db5b",
   "metadata": {},
   "source": [
    "Plot gauss in frame (i.e. in x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "93eb4bf5",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:31.328444Z",
     "iopub.status.busy": "2026-05-19T20:29:31.328314Z",
     "iopub.status.idle": "2026-05-19T20:29:31.435678Z",
     "shell.execute_reply": "2026-05-19T20:29:31.435048Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[#1] INFO:NumericIntegration -- RooRealIntegral::init(gauss_Int[sigma]) using numeric integrator RooIntegrator1D to calculate Int(sigma)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<cppyy.gbl.RooPlot object at 0x5592b201cd40>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gauss.plotOn(sframe)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "87a6738e",
   "metadata": {},
   "source": [
    "Plot derivatives in same frame"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "290cc262",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:31.437665Z",
     "iopub.status.busy": "2026-05-19T20:29:31.437514Z",
     "iopub.status.idle": "2026-05-19T20:29:31.542725Z",
     "shell.execute_reply": "2026-05-19T20:29:31.542115Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<cppyy.gbl.RooPlot object at 0x5592b201cd40>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dgds.plotOn(sframe, LineColor=\"m\")\n",
    "d2gds2.plotOn(sframe, LineColor=\"r\")\n",
    "d3gds3.plotOn(sframe, LineColor=\"kOrange\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "10600868",
   "metadata": {},
   "source": [
    "Draw all frames on a canvas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "7f00cf03",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:31.544525Z",
     "iopub.status.busy": "2026-05-19T20:29:31.544397Z",
     "iopub.status.idle": "2026-05-19T20:29:31.750241Z",
     "shell.execute_reply": "2026-05-19T20:29:31.749701Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Info in <TCanvas::Print>: png file rf111_derivatives.png has been created\n"
     ]
    }
   ],
   "source": [
    "c = ROOT.TCanvas(\"rf111_derivatives\", \"rf111_derivatives\", 800, 400)\n",
    "c.Divide(2)\n",
    "c.cd(1)\n",
    "ROOT.gPad.SetLeftMargin(0.15)\n",
    "xframe.GetYaxis().SetTitleOffset(1.6)\n",
    "xframe.Draw()\n",
    "c.cd(2)\n",
    "ROOT.gPad.SetLeftMargin(0.15)\n",
    "sframe.GetYaxis().SetTitleOffset(1.6)\n",
    "sframe.Draw()\n",
    "\n",
    "c.SaveAs(\"rf111_derivatives.png\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "486b8b5f",
   "metadata": {},
   "source": [
    "Draw all canvases "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "ecfc0bc5",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:29:31.752561Z",
     "iopub.status.busy": "2026-05-19T20:29:31.752435Z",
     "iopub.status.idle": "2026-05-19T20:29:31.934476Z",
     "shell.execute_reply": "2026-05-19T20:29:31.933810Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779222571924\" style=\"width: 800px; height: 400px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779222571924() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(59765,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779222571924', 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_1779222571924();\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
}
