{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "25b02eb2",
   "metadata": {},
   "source": [
    "# hist015_TH1_read_and_draw\n",
    "A Simple histogram drawing 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:12 PM.</small></i>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "12c94f01",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:12:14.056697Z",
     "iopub.status.busy": "2026-05-19T20:12:14.056557Z",
     "iopub.status.idle": "2026-05-19T20:12:15.117462Z",
     "shell.execute_reply": "2026-05-19T20:12:15.116772Z"
    }
   },
   "outputs": [],
   "source": [
    "import ROOT\n",
    "from ROOT import TCanvas, TPad, TFile, TPaveLabel, TPaveText\n",
    "from ROOT import gROOT\n",
    "\n",
    "c1 = TCanvas( 'c1', 'Histogram Drawing Options', 200, 10, 700, 900 )\n",
    "\n",
    "pad1 = TPad( 'pad1', 'The pad with the function',  0.03, 0.62, 0.50, 0.92, 21 )\n",
    "pad2 = TPad( 'pad2', 'The pad with the histogram', 0.51, 0.62, 0.98, 0.92, 21 )\n",
    "pad3 = TPad( 'pad3', 'The pad with the histogram', 0.03, 0.02, 0.97, 0.57, 21 )\n",
    "pad1.Draw()\n",
    "pad2.Draw()\n",
    "pad3.Draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ebf9968a",
   "metadata": {},
   "source": [
    "We connect the ROOT file generated in the hsimple.py tutorial"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "b1457f09",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:12:15.128271Z",
     "iopub.status.busy": "2026-05-19T20:12:15.128119Z",
     "iopub.status.idle": "2026-05-19T20:12:15.278126Z",
     "shell.execute_reply": "2026-05-19T20:12:15.277697Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TFile**\t\tpy-hsimple.root\tDemo ROOT file with histograms\n",
      " TFile*\t\tpy-hsimple.root\tDemo ROOT file with histograms\n",
      "  KEY: TH1F\thpx;1\tThis is the px distribution\n",
      "  KEY: TH2F\thpxpy;1\tpy vs px\n",
      "  KEY: TProfile\thprof;1\tProfile of pz versus px\n",
      "  KEY: TNtuple\tntuple;1\tDemo ntuple\n"
     ]
    }
   ],
   "source": [
    "example = TFile(\"py-hsimple.root\")\n",
    "example.ls()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f16590e1",
   "metadata": {},
   "source": [
    "Draw a global picture title"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "8e616111",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:12:15.281427Z",
     "iopub.status.busy": "2026-05-19T20:12:15.281293Z",
     "iopub.status.idle": "2026-05-19T20:12:15.396845Z",
     "shell.execute_reply": "2026-05-19T20:12:15.396025Z"
    }
   },
   "outputs": [],
   "source": [
    "title = TPaveLabel( 0.1, 0.94, 0.9, 0.98,\n",
    "                    'Drawing options for one dimensional histograms' )\n",
    "title.SetFillColor( 16 )\n",
    "title.SetTextFont( 52 )\n",
    "title.Draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4a8ecdf4",
   "metadata": {},
   "source": [
    "Draw histogram hpx in first pad with the default option."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "40fa3110",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:12:15.398863Z",
     "iopub.status.busy": "2026-05-19T20:12:15.398733Z",
     "iopub.status.idle": "2026-05-19T20:12:15.531788Z",
     "shell.execute_reply": "2026-05-19T20:12:15.531023Z"
    }
   },
   "outputs": [],
   "source": [
    "pad1.cd()\n",
    "pad1.GetFrame().SetFillColor( 18 )\n",
    "hpx = gROOT.FindObject( 'hpx' )\n",
    "hpx.SetFillColor( 45 )\n",
    "hpx.DrawCopy()\n",
    "label1 = TPaveLabel( -3.5, 700, -1, 800, 'Default option' )\n",
    "label1.SetFillColor( 42 )\n",
    "label1.Draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2adb576e",
   "metadata": {},
   "source": [
    "Draw hpx as a lego. Clicking on the lego area will show\n",
    "a \"transparent cube\" to guide you rotating the lego in real time."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "8809b6d2",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:12:15.533580Z",
     "iopub.status.busy": "2026-05-19T20:12:15.533443Z",
     "iopub.status.idle": "2026-05-19T20:12:15.644513Z",
     "shell.execute_reply": "2026-05-19T20:12:15.643782Z"
    }
   },
   "outputs": [],
   "source": [
    "pad2.cd()\n",
    "hpx.DrawCopy( 'lego1' )\n",
    "label2 = TPaveLabel( -0.72, 0.74, -0.22, 0.88, 'option Lego1' )\n",
    "label2.SetFillColor( 42 )\n",
    "label2.Draw()\n",
    "label2a = TPaveLabel( -0.93, -1.08, 0.25, -0.92, 'Click on lego to rotate' )\n",
    "label2a.SetFillColor( 42 )\n",
    "label2a.Draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f3980de0",
   "metadata": {},
   "source": [
    "Draw hpx with its errors and a marker."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "a010d974",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:12:15.646694Z",
     "iopub.status.busy": "2026-05-19T20:12:15.646542Z",
     "iopub.status.idle": "2026-05-19T20:12:15.760744Z",
     "shell.execute_reply": "2026-05-19T20:12:15.759962Z"
    }
   },
   "outputs": [],
   "source": [
    "pad3.cd()\n",
    "pad3.SetGridx()\n",
    "pad3.SetGridy()\n",
    "pad3.GetFrame().SetFillColor( 18 )\n",
    "hpx.SetMarkerStyle( 21 )\n",
    "hpx.Draw( 'e1p' )\n",
    "label3 = TPaveLabel( 2, 600, 3.5, 650, 'option e1p' )\n",
    "label3.SetFillColor( 42 )\n",
    "label3.Draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c3391499",
   "metadata": {},
   "source": [
    "The following illustrates how to add comments using a PaveText.\n",
    "Attributes of text/lines/boxes added to a PaveText can be modified.\n",
    "The AddText function returns a pointer to the added object."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "067807ce",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:12:15.762427Z",
     "iopub.status.busy": "2026-05-19T20:12:15.762301Z",
     "iopub.status.idle": "2026-05-19T20:12:15.981467Z",
     "shell.execute_reply": "2026-05-19T20:12:15.980975Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779221535971\" style=\"width: 700px; height: 900px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779221535971() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(38824,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779221535971', 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_1779221535971();\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pave = TPaveText( -3.78, 500, -1.2, 750 )\n",
    "pave.SetFillColor( 42 )\n",
    "t1 = pave.AddText( 'You can move' )\n",
    "t1.SetTextColor( 4 )\n",
    "t1.SetTextSize( 0.05 )\n",
    "pave.AddText( 'Title and Stats pads' )\n",
    "pave.AddText( 'X and Y axis' )\n",
    "pave.AddText( 'You can modify bin contents' )\n",
    "pave.Draw()\n",
    "c1.Update()\n",
    "\n",
    "if (example.IsOpen()):\n",
    "    example.Close()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7637477b",
   "metadata": {},
   "source": [
    "Draw all canvases "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "24fea8a2",
   "metadata": {
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2026-05-19T20:12:15.983985Z",
     "iopub.status.busy": "2026-05-19T20:12:15.983845Z",
     "iopub.status.idle": "2026-05-19T20:12:16.104293Z",
     "shell.execute_reply": "2026-05-19T20:12:16.103721Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "<div id=\"root_plot_1779221536102\" style=\"width: 700px; height: 900px; position: relative\">\n",
       "</div>\n",
       "\n",
       "</div>\n",
       "<script>\n",
       "   function process_root_plot_1779221536102() {\n",
       "      function execCode(Core) {\n",
       "         Core.settings.HandleKeys = false;\n",
       "         \n",
       "Core.unzipJSON(38824,'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').then(json => {\n",
       "   const obj = Core.parse(json);\n",
       "   Core.draw('root_plot_1779221536102', 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_1779221536102();\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
}
