{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "543f7dc0",
   "metadata": {},
   "source": [
    "# gr005_apply\n",
    "TGraph::Apply applies a function `f` to all the data TGraph points, `f` may be a 1-D function TF1 or 2-d function TF2.\n",
    "The Y values of the graph are replaced by the ROOT.values computed using the function.\n",
    "\n",
    "\n",
    "The Apply() method can be used as well for TGraphErrors and TGraphAsymmErrors.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "**Author:** Miro Helbich, Jamie Gooding  \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:37 PM.</small></i>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "a9971cc7",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:37:47.978426Z",
     "iopub.status.busy": "2026-05-19T20:37:47.978298Z",
     "iopub.status.idle": "2026-05-19T20:37:49.324130Z",
     "shell.execute_reply": "2026-05-19T20:37:49.323641Z"
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import ROOT\n",
    "\n",
    "npoints = 3\n",
    "xaxis = np.array([1.0, 2.0, 3.0])\n",
    "yaxis = np.array([10.0, 20.0, 30.0])\n",
    "\n",
    "gr1 = ROOT.TGraph(npoints, xaxis, yaxis)\n",
    "ff = ROOT.TF2(\"ff\", \"-1./y\")  # Defining the function `f`\n",
    "\n",
    "c1 = ROOT.TCanvas(\"c1\", \"c1\", 0, 0, 700, 500)\n",
    "c1.Divide(2, 1)\n",
    "\n",
    "c1.cd(1)\n",
    "gr1.DrawClone(\"A*\")  # Using DrawClone to create a copy of the graph in the canvas.\n",
    "c1.cd(2)\n",
    "gr1.Apply(ff)  # Applies the function `f` to all the data TGraph points\n",
    "gr1.Draw(\"A*\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f407414d",
   "metadata": {},
   "source": [
    "Without DrawClone, the modifications to gr1 via Apply(ff) are reflected in the original graph\n",
    "displayed in c1 (the two drawn graphs are not independent)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8b2c2773",
   "metadata": {},
   "source": [
    "Draw all canvases "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "cfa0b631",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:37:49.345479Z",
     "iopub.status.busy": "2026-05-19T20:37:49.345273Z",
     "iopub.status.idle": "2026-05-19T20:37:49.544768Z",
     "shell.execute_reply": "2026-05-19T20:37:49.544427Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779223069526\" style=\"width: 700px; height: 500px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779223069526() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(27864,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779223069526', 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_1779223069526();\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
}
