{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "95b72c64",
   "metadata": {},
   "source": [
    "# formula1\n",
    "TF1 example.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "**Author:** Wim Lavrijsen  \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": "8d09b593",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:37:04.452955Z",
     "iopub.status.busy": "2026-05-19T20:37:04.452838Z",
     "iopub.status.idle": "2026-05-19T20:37:05.614526Z",
     "shell.execute_reply": "2026-05-19T20:37:05.613508Z"
    }
   },
   "outputs": [],
   "source": [
    "from ROOT import TCanvas, TFormula, TF1\n",
    "from ROOT import gROOT, gObjectTable\n",
    "\n",
    "c1 = TCanvas( 'c1', 'Example with Formula', 200, 10, 700, 500 )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3dc827c1",
   "metadata": {},
   "source": [
    "We create a formula object and compute the value of this formula\n",
    "for two different values of the x variable."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "932fca00",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:37:05.616073Z",
     "iopub.status.busy": "2026-05-19T20:37:05.615935Z",
     "iopub.status.idle": "2026-05-19T20:37:05.741266Z",
     "shell.execute_reply": "2026-05-19T20:37:05.740282Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6.708203932499369"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "form1 = TFormula( 'form1', 'sqrt(abs(x))' )\n",
    "form1.Eval( 2 )\n",
    "form1.Eval( -45 )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "78e202b8",
   "metadata": {},
   "source": [
    "Create a one dimensional function and draw it"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "58332919",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:37:05.742731Z",
     "iopub.status.busy": "2026-05-19T20:37:05.742576Z",
     "iopub.status.idle": "2026-05-19T20:37:05.994175Z",
     "shell.execute_reply": "2026-05-19T20:37:05.993390Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779223025982\" style=\"width: 700px; height: 500px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779223025982() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(24391,'WkwICSYAR18AeAHdnO2SXLeRpm9FUTE/ZiIwvZn4xjm/KEoceZcSGaJskeN1KIrsarJWza52dVGiPKF733gSOFXVlOiVN+yNmXW4qUp8HCSAxJuJTAD/sfru8NPt5mb9drOaVt88XN/8sL77dvPy2c369u7N7rByq6vf32z//G7zu89Wk7jV1afbw13/9eTl/9q8OpC+otiT28N2dzOI/7G9uVxNwa2ujl+a/uPX2vpYAyFEH2J0q6vH25vNw931br+adJDPDj9db07kt9vLw5tOPtpeX4/CMAu5FBax6purw5fr/evtzWqSC1K+3r5+80HSp7vDYff2frFvdrf3E55fbWHCu9XVi9PPB/0nH35+d1gfaKU1ytyjHnSKyo/267ebD/km7YOOH8vd79Cx6JK8fJLq5yPDJz/d7S83+2fbv4zRO0v8cne56fP6XFfTv+qFT8L/WtDgfaYHpMuFBtWWgm+q0mfouV9Ner8CM/+C5AutUlKpNZQWEwPx/LB78PLu6fb95vr71ZTbRaaZqLHGGlIv8BtyV1NKF7m01poWCRKsyXvfjj5eWIGiNefMyLw4HL/9V3JX07+G1C5Krs0XH4NG6v7+3scRr9+fvnZO0isG7A/3KsTCbP/hVOV+wmr6156wDM5h9/z7X58IG53/czaiJ1paaqVIqD5lltPp8y++/9X5GV8n91dne8m3bBFfSktZa9MSS6GF59e7H7/67GEXphfnxPPf31qGzcTZ72+PqV8cfz14eXfvQw9e3t371oOXd6dqD17enWr+/v1bW91M0E+nn+/frt+vJh3J9vtCYkvZpxRzjR7ev3mzOaxXU6DU0zfb8evB3e3m1eHr9WG767366t3bl5t9//3N9tX3708/f+o/H+9ej8THu9entL/03Kfry6fr7Q3o4FZXD/e7u7s36+344JF8uhtIe75sEaJOn1bsl7vL7dV2c7martbXdxu3uvq3/fby/Wo67N8t1E9H6sHLu4e73f6s9OeX28P6JWg2Kjzavt9c3uv18uGn++3b7WH7w+buF4D+eHuHvlh0ySDX+/1q+uOf3Gp3e+DHz2519fn7zau71XTz7vrara6+6srnlaILvtke4GP1+fv129vrzSc/bg9vPnm02799d70m/6t3b5+urzeHw6ITGMCvNu8Pv0z97HfPnj5+8GI1rf5p+elWV5/t3r28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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779223025982', 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_1779223025982();\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fun1 = TF1( 'fun1', 'abs(sin(x)/x)', 0, 10 )\n",
    "c1.SetGridx()\n",
    "c1.SetGridy()\n",
    "fun1.Draw()\n",
    "c1.Update()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5dd30697",
   "metadata": {},
   "source": [
    "Before leaving this demo, we print the list of objects known to ROOT"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "1787477f",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:37:05.995575Z",
     "iopub.status.busy": "2026-05-19T20:37:05.995444Z",
     "iopub.status.idle": "2026-05-19T20:37:06.108398Z",
     "shell.execute_reply": "2026-05-19T20:37:06.107639Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Object statistics\n",
      "class                         cnt    on heap     size    total size    heap size\n",
      "================================================================================\n",
      "TList                         129        129      104         13416        13416\n",
      "TObjectTable                    1          1       32            32           32\n",
      "TROOT                           1          0      712           712            0\n",
      "TPluginManager                  1          1       40            40           40\n",
      "THashTable                      2          2       72           144          144\n",
      "TClassTable                     1          1       16            16           16\n",
      "THashList                       1          1      112           112          112\n",
      "TEnv                            1          1       56            56           56\n",
      "TEnvRec                       142        142       96         13632        13632\n",
      "TUnixSystem                     1          1      672           672          672\n",
      "TOrdCollection                  4          4       72           288          288\n",
      "--------------------------------------------------------------------------------\n",
      "Total:                        284        283     1984         29120        28408\n",
      "================================================================================\n",
      "\n"
     ]
    }
   ],
   "source": [
    "if ( gObjectTable ):\n",
    "    gObjectTable.Print()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f8eb2702",
   "metadata": {},
   "source": [
    "Draw all canvases "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "1383eef6",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:37:06.109766Z",
     "iopub.status.busy": "2026-05-19T20:37:06.109632Z",
     "iopub.status.idle": "2026-05-19T20:37:06.221013Z",
     "shell.execute_reply": "2026-05-19T20:37:06.220268Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779223026218\" style=\"width: 700px; height: 500px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779223026218() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(24391,'WkwIByYAR18AeAHdnO2SXLeRpm9FUTE/ZiIwvZn4xjm/KEoceZcSGaJskeN1KIrsarJWza52dVGiPKF733gSOFXVlOiVN+yNmXW4qUp8HCSAxJuJTAD/sfru8NPt5mb9drOaVt88XN/8sL77dvPy2c369u7N7rByq6vf32z//G7zu89Wk7jV1afbw13/9eTl/9q8OpC+otiT28N2dzOI/7G9uVxNwa2ujl+a/uPX2vpYAyFEH2J0q6vH25vNw931br+adJDPDj9db07kt9vLw5tOPtpeX4/CMAu5FBax6purw5fr/evtzWqSC1K+3r5+80HSp7vDYff2frFvdrf3E55fbWHCu9XVi9PPB/0nH35+d1gfaKU1ytyjHnSKyo/267ebD/km7YOOH8vd79Cx6JK8fJLq5yPDJz/d7S83+2fbv4zRO0v8cne56fP6XFfTv+qFT8L/WtDgfaYHpMuFBtWWgm+q0mfouV9Ner8CM/+C5AutUlKpNZQWEwPx/LB78PLu6fb95vr71ZTbRaaZqLHGGlIv8BtyV1NKF7m01poWCRKsyXvfjj5eWIGiNefMyLw4HL/9V3JX07+G1C5Krs0XH4NG6v7+3scRr9+fvnZO0isG7A/3KsTCbP/hVOV+wmr6156wDM5h9/z7X58IG53/czaiJ1paaqVIqD5lltPp8y++/9X5GV8n91dne8m3bBFfSktZa9MSS6GF59e7H7/67GEXphfnxPPf31qGzcTZ72+PqV8cfz14eXfvQw9e3t371oOXd6dqD17enWr+/v1bW91M0E+nn+/frt+vJh3J9vtCYkvZpxRzjR7ev3mzOaxXU6DU0zfb8evB3e3m1eHr9WG767366t3bl5t9//3N9tX3708/f+o/H+9ej8THu9entL/03Kfry6fr7Q3o4FZXD/e7u7s36+344JF8uhtIe75sEaJOn1bsl7vL7dV2c7martbXdxu3uvq3/fby/Wo67N8t1E9H6sHLu4e73f6s9OeX28P6JWg2Kjzavt9c3uv18uGn++3b7WH7w+buF4D+eHuHvlh0ySDX+/1q+uOf3Gp3e+DHz2519fn7zau71XTz7vrara6+6srnlaILvtke4GP1+fv129vrzSc/bg9vPnm02799d70m/6t3b5+urzeHw6ITGMCvNu8Pv0z97HfPnj5+8GI1rf5p+elWV5/t3r28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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779223026218', 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_1779223026218();\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%jsroot on\n",
    "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
}
