{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Graph fit example within pyROOT" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Welcome to JupyROOT 6.20/08\n" ] } ], "source": [ "import numpy as np\n", "import ROOT\n", "from ROOT import TF1, TVirtualFitter, TGraphErrors, TCanvas, TMinuit, TFitResult, gROOT, TGraph" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Define the data" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "numDat = 10 \n", "x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], dtype='d')\n", "dx = np.array([0.1,0.1,0.5,0.1,0.5,0.1,0.5,0.1,0.5,0.1], dtype='d')\n", "y = np.array([1.1 ,2.3 ,2.7 ,3.2 ,3.1 ,2.4 ,1.7 ,1.5 ,1.5 ,1.7 ], dtype='d')\n", "dy = np.array([0.15,0.22,0.29,0.39,0.31,0.21,0.13,0.15,0.19,0.13], dtype='d')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Define fit function" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def myNFunc(x, p):\n", " return p[0] + x[0]*p[1] + p[2]*x[0]**2 + p[3]*x[0]**3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create ROOT function and set start parameters" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "func = TF1('func',myNFunc, 0.5 ,10.5, 4)\n", "func.SetParameters(-1.3, 2.6 , -0.24 , 0.005)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create Graph with error bars" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "Graph = TGraphErrors(numDat, x, y, dx, dy)\n", "Graph.SetTitle( 'Fit Graph' )\n", "Graph.SetMarkerColor( 4 )\n", "Graph.SetMarkerStyle( 21 )\n", "Graph.SetMaximum(4.)\n", "Graph.SetMinimum(-1.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Start fitter and return fit result for later processing" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " FCN=2.15982 FROM MINOS STATUS=SUCCESSFUL 90 CALLS 2039 TOTAL\n", " EDM=4.56889e-09 STRATEGY= 1 ERROR MATRIX ACCURATE \n", " EXT PARAMETER STEP FIRST \n", " NO. NAME VALUE ERROR SIZE DERIVATIVE \n", " 1 p0 -1.03327e+00 4.63548e-01 -1.99485e-03 1.64067e-03\n", " 2 p1 2.54886e+00 3.59144e-01 2.70551e-03 -5.29683e-02\n", " 3 p2 -4.84278e-01 7.01863e-02 -2.72411e-04 -7.70245e-01\n", " 4 p3 2.56882e-02 3.97082e-03 3.97082e-03 -1.30073e+00\n" ] } ], "source": [ "result = Graph.Fit(func, \"M E S\",\"\",0.5,10.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Confidence plot" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "values = result.GetConfidenceIntervals(0.66, False)\n", "interval = TGraphErrors(Graph.GetN())\n", "for i in range(Graph.GetN()):\n", " interval.SetPoint(i, Graph.GetX()[i], func.Eval(Graph.GetX()[i] ))\n", " interval.SetPointError(i, 0, values[i] )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Canvas for plotting" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "c = TCanvas( 'c', 'A Simple Fit',700, 500)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Draw canvas and graph and 1 sigma confidence" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Graph.Draw(\"AP\")\n", "interval.SetFillColor(21)\n", "interval.Draw(\"3\")\n", "c.Draw()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create graph for confidence interval\n", "\n", "Compute the confidence intervals at the x points of the created graph" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "GraphConf = TGraphErrors(Graph.GetN())\n", "GraphConf.SetTitle(\"Fit Polynomial with .95 confidence;x;f(x)\")\n", "for i in range(Graph.GetN()):\n", " GraphConf.SetPoint(i, Graph.GetX()[i],0 )" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ " \n", "TVirtualFitter.GetFitter().GetConfidenceIntervals(GraphConf,0.95)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now the \"GraphConf\" graph contains function values as its y-coordinates\n", "and confidence intervals as the errors on these coordinates" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "myC = TCanvas(\"myC\", \"Confidence Intervall\",800, 800);" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "GraphConf.SetLineColor(4)\n", "GraphConf.Draw(\"AP\")" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "Graph.SetLineColor(2)\n", "Graph.SetMarkerStyle(21)\n", "Graph.Draw(\"P SAME\")\n", "func.SetLineColor(4)\n", "func.Draw(\"SAME\")" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "myC.Draw()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.8.16" } }, "nbformat": 4, "nbformat_minor": 4 }