{ "cells": [ { "cell_type": "markdown", "id": "18ce8a1e", "metadata": {}, "source": [ "# How-to use a RooFit PDF\n", "\n", "This demonstrates the use of the wrapper function `convert_rf_pdf`, which converts a fitted RooAbsPdf into a callable that our package can use.\n", "\n", "To run this example, you need to install ROOT. The easiest way is to use conda (or better mamba). You can install it like this:\n", "\n", "`mamba install -c conda-forge root`" ] }, { "cell_type": "markdown", "id": "22b258cd", "metadata": {}, "source": [ "We make a dummy RooFit model." ] }, { "cell_type": "code", "execution_count": 1, "id": "a3af5ae3", "metadata": {}, "outputs": [], "source": [ "import ROOT as R\n", "import ROOT.RooFit as RF\n", "\n", "# observable\n", "mass = R.RooRealVar(\"m\", \"m\", 5000, 5800)\n", "\n", "# gaussian\n", "mean = R.RooRealVar(\"mu\", \"mu\", 5350, 5300, 5400)\n", "sigma = R.RooRealVar(\"sg\", \"sg\", 25, 1e-3, 100)\n", "spdf = R.RooGaussian(\"sig\", \"sig\", mass, mean, sigma)\n", "\n", "# exponential\n", "slope = R.RooRealVar(\"lb\", \"lb\", -0.002, -0.01, 0)\n", "bpdf = R.RooExponential(\"bkg\", \"bkg\", mass, slope)\n", "\n", "# total\n", "sy = R.RooRealVar(\"sy\", \"sy\", 1000, 0, 10000)\n", "by = R.RooRealVar(\"by\", \"by\", 2000, 0, 10000)\n", "pdf = R.RooAddPdf(\"pdf\", \"pdf\", (spdf, bpdf), (sy, by))" ] }, { "cell_type": "markdown", "id": "b4741cad", "metadata": {}, "source": [ "We plot the dummy model using RooFit commands." ] }, { "cell_type": "code", "execution_count": 2, "id": "13ca026c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[#1] INFO:Plotting -- RooAbsPdf::plotOn(pdf) directly selected PDF components: (bkg)\n", "[#1] INFO:Plotting -- RooAbsPdf::plotOn(pdf) indirectly selected PDF components: ()\n", "[#1] INFO:Plotting -- RooAbsPdf::plotOn(pdf) directly selected PDF components: (sig)\n", "[#1] INFO:Plotting -- RooAbsPdf::plotOn(pdf) indirectly selected PDF components: ()\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAb4AAAEQCAIAAABA+YYgAAAABmJLR0QAAAAAAAD5Q7t/AAAUN0lEQVR4nO3dPZLbuNqGYeDUF82Oxq4pUvEk400cr8BT5YjodHZgb6InObHAwJPMihzxC141GgIpiqAk8AV1X+VyNSmJQlPqR/gTaIdhMACAHP/ZugAAUB+iEwCyEZ0AkI3oBIBs/7d1AaBa27bGGO/9+CbnXLJ/8m4zkiO0beuckx9yDzXmvU+OLz9779u2ld9r5rFyN/N2BoAE0Yk5fd+bt7iZvIOEnfxgrV0xYUOO4L1/eXmRTXnSSeNAvORwOByPx+SJQigvic74ByBBgx0XOeeapmmaZiY+2jfjGug448Z7wsOdc13XjZ8oOY73vu/7JXe7VFRzXpUOj5IjhHvG9wcmDMAFxpjj8Sh1t/GtXdc1TRM247sZY5qm6brOGNN1XbhVgjjcres6uVXIrfLwS8eRh8ePkuPIznAE2RMXLy7n+ODNm/DU4W7AJKIT05IoHEdJHDryMSz3iR8YfpaQCg9MAi4cITzdpeMcj8dxIMbJHopxtVoQ7hACd8mjAEFfJ6aF9qxsTvYwNk0T30Hu472XTDRRl2Lf93FzOBwqPkLSOp48zlXSvZDV0KZVjhWITkx7eXkJydV1nYzhjIXccc4dDofcZ6E/EZVimAgTQpUzMNfmHoUEbNs25GyoUSb10yVxOXmc+QKb8+ot8DjUOjFBxtbjPZJ9V2fqSGO56zprreyRbkrvvbVWdsYxOmPyOG3b9n2fDOgfj8dQ4Q01ZeCh1kzEA4AnR4MdALIRnQCQjegEgGxEJwBkIzoBIBvRCQDZiE4AyEZ0AkA2ohMAshGdAJCN6ASAbEQnAOSTFY9lBe/kugUlbX0aAFRjq5iKnRadkxVnkwtmFb4W4ECAArgmrEO4rbNF53KvTHDPcoxOB0kKYGzdNavv7lTrlFVsk+tfFy6fhtMBAEuchokkOpumCRc+TBYJBwAE6Qg719gCgKvOrk3knLPWUt8EgHkTHa6bDBYp6foFoJySrDhrsMtlC6XuyRVZAeCSs/yOr9FaONqZnARgCSW1zovXYS/f46nhdOAu4s9BXlXs0ll0tm0b1/6kx7Pwd4pQOx3f9QAeS0XV16iphON2Ep3D8P4DcEdKsuLWlZMm66Te++S78DOb2JNxlZNKKHbppui01sqgfLxTvpjknJMx+vGm7GHu/Y5JnUBBzQB4lFPV10UWPtI5J+sthUw8HfGtOi0/XNpM0lNJJRw3ShrptNlxd0qy4lTrlBB8eXlpI/OPDI3u5J7J0Px4pF4Go8Ztdjsr55cCgMd6X69TuiCXt6NXt7glNMez7jV8kuAWlz7grKXiib1J+zpDLW9Jy11CMAncZOW6ZBO7F6ckiYm9Spf/CFW/q+kZ+jpNNBbkve+6TnYej0djzHhTVhjpuu7+vw0AFKHoi5g02Gs3OSjESBHuS0lWnDXYZeEPGcahVog7YpwPO6Mivw3Lf9QvvIDj142KJ+5ISa3z4vIf5Wk4HbgRryGexK1fxASAJ5TWOuMvmLPaMQBMShedW/I9ImAFJsZjT9JaJzVNrDA/gB4WoAN2Y67WSYwiC5VKPI80OjcqhjGj+UkMuANQ62yEPY7O8lXO4VzhZweA5dJvE4W1PFjnDQAuOWuwh5lJ8ZfZAQCJiRF2qXWyWBwWon2CJ3TWYJeapjTb6W1EFt4veCrvVwqS7bidXnKkSMlX+rHCktU9ZhYHAbIoyYr3axNtWgxjRtcm2ro4uCcFb3Xgnt77OuXalqGmucnkpMLPCADrnEVn3/cMrON29vN7o2H4xiciduis1yDriph3LoeO/guskF57/fP5t8LeopMFj3EXSrIiHWEPl2nT0PuJelHZxL6l0RnmJ21SGtQuqXJO7gF2IF0lXkLTe8+UeKwmVU4qntix9IuYoalevjeBlZOeAQseYx8mLuu21ULxZGWNlkzAtZ/t8G1gwWPsSbpyknn7QhHDRFhOPvXG3Zq02bFX6TCRpOfy3JycBxpfG+7SJhNI94q4xDNIV4nPGiay1nZddzgc4rZ2OEL89aSwKaEc/w8A1Uknl4bVjq/OT5IcDPcM9w8TVuWHZPPSSqBKprkiVzzRXRrsSa0ztOKHbwOz4nE7JVlxarD/783Pnz9//fXXnz9/fv369evXrzOPDAmYVB6bppnZ7Ps+DtyYnbXid4MGtN+xS6fo/P333ydv/u233y49cl1zexgG6eh8eXkZ3zRjxXOhpOVT3/kcxA6893VKev7777+yueQLRdK0T775nnSSJpvx4kyo3TgE5+uYzE/Cbqy/rFu4cxKgXddJk/x4PI435W4yvvSY3wil0STAEzrrcI3HcApf2U1J1y+yXB0jOt2NkSLcj5Ks4LJueLjh28AiINgZLusGANnSKfEbfsmH5T/qRaUSzyaNznjtj8JD4WRl7ZjCieeRRudGxQCAmrxHp8xU32rFOTwVVu1E7U7DRGHNpMPhsGVxUI91k9tJTOzDWXQ655qmYTk4LEcU4jml1yaitY5cDK/jCb33dUqDve/7UOssXP1kclLVlgyvy5U2ChQGeLRTdMo0+E1LQlbuGV8ows681zppqgPAQmlfJwDgKqIT22DhTlSN6MQatwQffdrYAaIT6xGCeFqKopPruD0DxtmxD4qik+u47RszOrEniqITAGpBdOImNMDxnIhO3AGNcTwbohMAsqVXxNwQy38AqIWi6CQrn4T9bI3htUbdaLCjHLpEsRtEJwBkuzU6J1f5lCvEXdq89ChU58aZSXxlDPW6KTqttd77ZHhHVk2WKx2NN8XhcCA965VE3opmON3aqJ1dPTjjnJMrD4eIPB3Rno4pPySb5m1NZXn4ezns+pKgMInOYTjVOrOiMzwkHATIoiQr1tc6Q7UxWV6+aZqZTal+Tq5Ib2etLicA3N366Fx3QQ4J3HHvpxkt/8FqIADUuqmvM+RgHKN938f3STbbtvXex9fdxBPim++o3fop8aGv00RjQd77rutk5/F4NMYkm6FLlKvIPScujYl9UNHhatR0/WKJW4aJTKhyfh8Mw0TIpyQrmBIPANmITuQJkx3u0u5m6gQqpSg6mY1UkdBgWv21dAVNLmA9Vk4CgGyKap0AUAuiEwCyEZ3YBrM7UTWiE6Wx4DF2QNEwEdcmAlALRdFJVlaE5jaeHA12ZLh9keOrxwSqQHQi272aBzQzUC+iEwCyEZ0AkI3oBIBsikbYmZwEoBaKopOsBFALGuwAkI3oxFKPm4DJ1E5Uh+hEnjt2q9jPlk4aVIroxAZYAQS1IzoBIJuiEXYmJ9WCtT8ARdFJVtaFRjeeGQ12AMhGdAJAtluj03s/uTPeP78JANW5qa/TWtt13eFwiLspnXPGGO9927bOuWSzbdu2bSU6CVDYz9YY+kxRH7t6cCbkoISj/G+MsfZ0TPkh2QxhGvYnj4JaMgNiGE4j7LcPE51G6r8PhmWPsZiSrFjfYA91xrZt4/1N08xsOue899ba4/GYHNDOWl1OALi79Q32JDGzHng8HpNmvmFykm58eAGxm4aJQpdlHKN938f3STblnqtjF9sKrfW7I5pRl/W1ztDXad6a4fJ/13WyU5rkyaZ5y82u624rObZ0x/nww0Buoj4qOlyNmq5fXHL3MSJj3g8VDg5cpSQrmBIPANkUfYed5T8A1EJRdJKVz4lZ8agRDXZc96BhHNZeQr2ITiz16FYB4+yoCNGJ7dFVg+oQncjA+vCAIDqRjT5KQNEIO5OTANRCUXSSlQBqQYMdVzDwDYwRnVjkoU2CMPpETKMWRCe2FEac6K1BXYhOAMhGdGIpJnUCgaIRdiYnVYFJnYBRFZ1kJYBa0GDHHIa8gUlEJ64r2R4grFEFohNa0GGDihCdAJCN6ASAbIpG2JmcBKAWimqdw7mti4OimG+PuiiKTjwn5tijRrdGp/d+cme8f34TajFPCLjkpui01nrvkz5K55z33jnnnBtvtm0r0dm27S1PjWKk74QGNRCzq3sVnXNt27ZtGyLydER7Oqb8kGxKdMZ3Sx4FPeQzMY7OBzWuw8HDpzDvBVyiJCvW1zpDozupPzZNM7Mpj/LeJ/uNMXbW6nKiIgr+IoBF1k9OWt3ilrrquLtTwycJACxxU19nqELGMdr3fXyfZFMa+KF1D7XKV/TpTkVFbuo1CIkpIz9hREgiVTpDk8246U1fp2ZxR6d5cF+nGXV38l7AJUqyQkUhjJrTgYDohE5KsoIp8biufFOacUEoR3RiqTJf+1FQnwCuY/kPTKDSB8xTFJ1kpTa8IMAlNNihCPOTUAuiEyqMO1LpNIBmKhrs8kcS/6nQVNzQ5pk1DNuXAZinIjrHiNHNJTM6AcRURKfUMk4r9Iz+TolRDViQGIipiE4xnpxEjALQSVF0jicnxTuI0ScU2iKANtWMsA/D+78xa8/+YbXNz97py+wkJnSrJjpjcYxeTVKssEly0Z2KiihqsK9Gux5AYXuIztjyGDUk6cjEGWNmEjBlb9EZS5KRJF1ofB5oSgMJRdH56JWTSNIaMcgOnRRFZ+GVk+ab9uOdu/8D1jakxtcxoZmi6NzQ1QrpeOdek3SvvxdwX0TnhCdMUs31O9rsUKjKeZ2FXZ1GavYyJ19JQoVhfSXlAcaIzmxJki75dpPyMNVTPIbyUQtFDfZ6r020jwa+wiIFtNmhjaLorCgr541/j6sToSYftTkN8+EZZ4dOiqJzx1ZUS8ePepCrwUQjGhgjOjewpFo6ufPuYRqeQmGdN0GbHarcZ5jIez+5M96fbF561HNaMohvpkafbmnMas7NuK9AYfGAO0SntdZ7nwzyOOe8984559x4U/aEn5EYD+Jn5em85G7agon+AVTB3jg445xr27Zt2xCRp+Pa05Hlh2TTR5L7Y7nbx0/mEjlMriyeZafVjqPnVRv0KE9JVtxa6wzZ17ZtvL9pmplNSdvkUHbWjeXcpYnKqVl0ogZjB2OXvP2U1AEV/KUAZ24dJhon4GoaPkmqN3kSL33wTO7X/SowWAQl7tDXKRVP730co33fx/dJNlHUuq7TeHMLyazS9+vC0wKBArdGp4z/tG0b/2+M6bpOWuXH43G8ie3N5qn97/mdJ4f2H5Zhl3oJSE/ooaLD1ajp+oU4G6hZEVQ3v5TjkaLTfsaLnp6SrGBKPK65tMDJjEu33vyOD9/LpNMT22LlJKwy2d6/GmaZDf/JL9HHzXZa7tiKolpnvSsn4d3MgqYzRrcO4/7W8yeJx7F4p6A8RdFJVirxkAWT5sf0Z1y4dTDGmiG5C+8gFEODHdPKTYZf1/Z/m9gf76loeWnUTlGtE5hwbZBK0jPUQC/c6/ohgSxEJyo0Cr+zbWsnkzS6PevYwAQa7FBtTcfrMFzqA1gSi5dmAdAPgBjRiTMaLqohHtTZOpOqC+ubZCuMqgY7k5P0ULJgUnlLZqZeteQ+vLtrp6jWOZzbujjQQk9F2FyrtC5/216tulKBVU5RdGJzqkLK1Fn5vVe2ChJWLUUNdihRY2BVZHmP6nLL70xz7l6odaIC2qrDBVytva6ow5rF1Vgqs1cRnTjRGU9UgectTNh1lc2snH22qFXUYGeEXQOiaq9WdLPmWpeelf6hK6p1MsKOGTorxTu2vD67ulYr8uu2KsJBUXRiQ5qDiYpwFXKjtvbakaIGOzZHSKGktT2wVkPFk1onVFc5Y7WUE8+A6MSJ5ipnKBvpCSWIzmdHGAErKIpOe26TApR/0rFNipFUORWeig0rnhrOhoYyGDXF0EBRdDI5qby6qpw026GHouhEYSGANPdyJkhPKEF0PqkaczNBemJD20Tn33//vfzOl7pXZrpd1t20ogzVFcN+tvLPGGO+r8nNzU/FqczfjXn7dTYpxvyjNJSh6mLo71TdYEq8tfbLly+fPn2iQ7OYnVXQhm+D/X72ebBhYfCcSkfnn3/++fr6+scff8jPf/31V7hp5g/g0k0rHvKcN8Xeuwu/15048otM/tYaTruGMlR9k/ZPxKGsDx8+vL6+DsPw+vr65csXxtMB5CqcWpNK1zo/fvx46VwULgkArFZ0mMh7b4z5559/5P8PHz7InuQOlzbvVQax8EkfUQYlxUjKkJSnTBnGxRg/1ybFyH2BHlGGq09a+FTEex5dDCWnYkbR6DwcDr/88suPHz8+fvz448ePT58+ee/DUJq1dmbzjmVI3gSHwyHcWqYMSTHkKcL/xYqRlME5V/7lMKNXxBjjnHPObVuMZHOTN2fbtpu/IiHCwouyyZtz/kkfdypm2GIt5fACyKZzrm3btm3DnpnNsPO+ZZAjv7y8yEmYL9K9yjAuRnje8F4pfyrC80phvPebnArzFuLhh02KkfVefdArkhx8q1MRyLti21NR+M05r1yt03v/8vLStq18OMQfrVc3H1QGY4xzrmmacGuBMoyLIW+I8MMmp6J9I+/LrU6FMUYqv+HWTYqR9V59UBlkj7woxcowWQwTtQM2ORVSv2nbVv4vdirmlYtO59wwDN774/EYwiKY33xQGZJby5RhshjyRxI+0gsUY/JU+Lf20VanIsR33/fj5y1WjKz36oPKED7DwhujQBnGxZCd4S2xyalwznVd571vmqbkm3Ne0egMf5myJ/lDnd98UBkSBcowLoZ/62cMz1L+VIQP8/DDJqcirtpsW4ys9+ojyhCOXPJdMS7G+CnKn4pw8Ev7H3Qq5hXt65Q/jL7v5UmT98T85oPKYKKwKFOGcTGkPSI3dV0XVzGKnQrv/eFwaJpm4avzoGKE/XGUly9G7nv1EWUwxlhrNbwiSbX3ed6c88pFJwDsBisnAUA2ohMAshGdAJCN67ADUMq/Medz8jculjGGWicAzZLojL82vS2iE4BeyaSo8N2/zRGdAJCN6ASAbEyJB4Bs1DoBIBvRCQDZiE4AyEZ0AkA2ohMAshGdAJCN6ASAbEQnAGT7f7ETa2PmDDoKAAAAAElFTkSuQmCC", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "c = R.TCanvas('c','c',450,300)\n", "pl = mass.frame(RF.Bins(800))\n", "pdf.plotOn(\n", " pl,\n", " RF.Normalization(1, R.RooAbsReal.NumEvent),\n", " RF.Precision(-1),\n", " RF.Components(\"bkg\"),\n", " RF.LineColor(R.kRed),\n", " RF.LineStyle(2),\n", " RF.LineWidth(2)\n", ")\n", "pdf.plotOn(\n", " pl,\n", " RF.Normalization(1, R.RooAbsReal.NumEvent),\n", " RF.Precision(-1),\n", " RF.Components(\"sig\"),\n", " RF.LineColor(R.kGreen + 3),\n", " RF.LineWidth(2)\n", ")\n", "pdf.plotOn(pl, RF.Normalization(1, R.RooAbsReal.NumEvent), RF.Precision(-1), RF.LineWidth(2))\n", "pl.Draw()\n", "c.Draw()" ] }, { "cell_type": "markdown", "id": "2ef6a560", "metadata": {}, "source": [ "Now convert the RooFit PDF object into a simple Python callable." ] }, { "cell_type": "code", "execution_count": 3, "id": "cade52b9", "metadata": {}, "outputs": [], "source": [ "from sweights.util import convert_rf_pdf\n", "\n", "spdf_py = convert_rf_pdf(spdf, mass)\n", "bpdf_py = convert_rf_pdf(bpdf, mass)\n", "pdf_py = convert_rf_pdf(pdf, mass)" ] }, { "cell_type": "markdown", "id": "46200a4d", "metadata": {}, "source": [ "You can now use these pdfs in the `SWeight` and `Cow` objects. We just draw them with matplotlib here, to show that the pdfs work." ] }, { "cell_type": "code", "execution_count": 4, "id": "ff9516a7", "metadata": {}, "outputs": [ { "data": { "image/png": "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w8NJS0vjoosu4q9//SsHDhzg5Zdf7rHu1rmeygyF/0a3b9/OkSNHiIiIwM/PzzVseM0117i6vodbG8/2/2B6ejqA6/xwbl9CQgIA06dPdyszbdo01/DGcPsZA91/h3/961+pq6vj5ptvdjs+nL/DI0eO8NRTT/GHP/yBSy+9lNmzZ7Nu3ToWLFjA008/7aq7t79DhZounD59miNHjpCQkMD8+fPx9/dn27ZtrvMHDx4kPz+fjIwMADIyMvjoo4/cvsytW7cSFhbm+p84IyPD7RpWGesag619G3sjIyODyspKdu/e7Tq2fft2nE6n64dvRkYGb7/9Ns3Nza4yW7duZcqUKURGRvZvA86iY/uqq6u5/PLLCQgI4JVXXunUezHcvsOzfX+GuQiAxsZGYPi1D9zbeN9997Fv3z727t3regD88pe/5I9//CMw/Np4tu/QaqN1fji3LyUlhcTERA4ePOhW5rPPPmPChAnA8PsZA91/h7///e/5yle+wtixY92OD+fv0Jrf5ePjHht8fX1xOp3AEPkO+2W68TD3gx/8wHjzzTeNvLw847333jMyMzONmJgYo7i42DAMc0n3+PHjje3btxu7du0yMjIyjIyMDNf7rWV6l19+ubF3715jy5YtxtixY7tcpnfPPfcYn376qfH0008P6nLZs7WxsLDQyM3NNX77298agPH2228bubm5RllZmesaV1xxhTF37lwjJyfHePfdd420tDS3pXqVlZVGXFyccdNNNxn79+83XnjhBSM4OHhQllv21L6qqiojPT3dmDlzpnH48GG35YodlzwP1e+wp/YdOXLE+OlPf2rs2rXLOH78uPHee+8ZX/7yl42oqCijqKhoWLTvbG3sCt0s6R6qbeypfYcPHzYeeughY9euXUZeXp7xt7/9zZg4caJx0UUXjYj2GYZ524iwsDBj06ZNxqFDh4w1a9YYdrvdtULPMIb2z5jetNEwDOPQoUOGzWYzXn/99U7vH87fYVNTkzF58mTj85//vJGTk2McPnzY+PnPf27YbDbjH//4h+sa3v4OFWoMc7lcQkKCERAQYCQlJRnLli1z+x+tvr7e+M///E8jMjLSCA4ONr72ta8ZhYWFbtc4duyYceWVVxpBQUFGTEyM8YMf/MC1XNjyxhtvGHPmzDECAgKMiRMnGn/84x8Ho3mGYZy9jevWrTOATo/2dSwrKzOWL19uhIaGGmFhYcaKFStc91+wfPjhh8bixYuNwMBAIykpyfjZz37m9fZZy9S7euTl5bmuMZS/w57aV1BQYFx55ZVGbGys4e/vb4wbN8644YYbjAMHDrhdYyi3zzDO/t9oRx1DjWEM7Tb21L78/HzjoosuMqKioozAwEBj8uTJxj333ON2n5rh3D7L+vXrjXHjxhnBwcFGRkaG8c4777idH8o/Ywyjd21cvXq1kZycbLS2tnZ5jeH8HX722WfG1VdfbcTGxhrBwcHGrFmzOi3x9vZ3aDMMwzj3/h4RERER79KcGhERERkRFGpERERkRFCoERERkRFBoUZERERGBIUaERERGREUakRERGREUKgRERGREUGhRkREREYEhRoREREZERRqREREZERQqBEREZERQaFGRERERoT/H536Cpph6pOOAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "# we normalize the yields to match the way RooFit plots the pdf.\n", "fs = sy.getVal() / (sy.getVal() + by.getVal())\n", "fb = by.getVal() / (sy.getVal() + by.getVal())\n", "\n", "x = np.linspace(mass.getMin(), mass.getMax(), 400)\n", "plt.plot(x, fs * spdf_py(x), \"g-\")\n", "plt.plot(x, fb * bpdf_py(x), \"r--\")\n", "plt.plot(x, pdf_py(x), \"b-\");" ] }, { "cell_type": "markdown", "id": "27b71e03", "metadata": {}, "source": [ "We get the same result." ] }, { "cell_type": "markdown", "id": "5717e760", "metadata": {}, "source": [ "If more speed is required, for example, because the pdfs are evaluated on huge datasets, one can use an approximate conversion of the exact PDF into a spline interpolator with the keyword `npoints`. It is up to the user to choose a sufficient number of points to obtain a good the approximation. The sharper the features of the pdf, the more points should be used." ] }, { "cell_type": "code", "execution_count": 5, "id": "ecd14c2f", "metadata": {}, "outputs": [ { "data": { "image/png": "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gRdeeAHwTIh1++2389BDD5GWlkZqaipz5swhISHBOw+N1WrlxhtvZN68eSQlJZGcnMxjjz0GeGbWFEIETsGB73nCsIgSTTg67W0nrU+MCGGqLptojZ3cQztJGDw+AFEKIXoCv5Oaiy++mMLCQubOnUteXh7p6emsXLnSe6NvTk4OWu2PJ4DGjx/Pm2++yezZs7nvvvtIS0tj+fLlDBkyxNvmnnvuobKykuuvv56ysjImTJjAypUrMZlM3jaPPfYYQUFBXHnllVRXV5ORkcFnn31GeHj46YxfCHGaHMd2AVBs7EVEI+u1Wg15Qb2IdtkpPbJDkhohRLvRKHWifn0353A4sNls2O12ub9GiDb06XMzycp/me+jf8WwP/2r0TZrn7yE8Y6P2dTnRkZO/1uHxFVTU8PBgwdJTU31+QVJCNH5NPfz6s/3d5d4+kkI0XkZHIcA0ET2bbJNXVgfALSlBzoiJCFEDyVJjRDitITXeKZLCIk/o8k2+hhPFenQikMdEVKXduaZZ3L77bcHOozTptFoWL58eaDDOMmVV17Jww8/3OH77S7HtTUWLVrEr371qw7ZlyQ1QohWK6+pI9GdC0BUyqAm29kSBwAQXXcMesYV71Z77733ePDBB1vc/tChQ2g0GrZs2dJ+QXWA+++/n/T09Hbdx9atW1mxYgW33npru+6nMZ3xuL733nucd955REZGNrmvmpoa/vSnPxEZGUlISAgXXnjhSVOw5OTkMHXqVCwWCzExMdx9993U19d71//hD39g06ZNfP311+02lgaS1AghWu1Ibi4RmgoAQps5U5OQeiLhUYrqcnmsuzkRERGEhoYGZN91dXUB2W9bcjqdTa77+9//zu9//3tCQkI6MCKPQB7XplRWVjJhwgT+9rem73O74447+M9//sOyZcv48ssvyc3N5be//a13vcvlYurUqTidTtauXctrr73Gq6++yty5c71tDAYDl112GQsWLGjX8QD+F7TsqqSgpRBt779bDqkrZj2sFjw255RtM+a9p5Lv/VDtyXN0QGRdt/bTpEmT1G233eb9d3JysvrrX/+qZsyYoUJCQlRSUpJ6/vnnvesBn9ekSZO861588UU1YMAAZTQaVf/+/dXChQu96w4ePKgAtWTJEjVx4kRlNBrV4sWL1eLFi5XNZlPvv/++6tevnzIajeq8885TOTk5PnH+4x//UH369FF6vV6dccYZ6vXXX/dZD/jUCbznnntUWlqaMpvNKjU1Vc2ePVs5nZ7ip4sXLz5pHIsXL1ZKKXX48GF1wQUXqODgYBUaGqp+//vfq7y8PG+/8+bNU8OHD1cvvviiSklJURqNptH3tb6+XtlsNvXhhx/6LD/V+9vwPr311lsqMzNTGY1GNXjwYPXFF1/49PPFF1+oMWPGKIPBoOLi4tS9996r6urqvOvb6rh+/vnnasyYMcpisSibzabGjx+vDh061OiYW6phjP9bg7GsrEzp9Xq1bNky77KdO3cqQK1bt04ppdSKFSuUVqv1OSbPPfecslqtqra21rvsyy+/VAaDQVVVVTUaQ0AKWnZlktQI0fZe/Gq/Sr73Q3XTGxtP2XbK01+p5Hs/VJ/tyu+AyJr5kKytaPrl9KdtVcva+qmxL7+IiAi1cOFCtXfvXjV//nyl1WrVrl27lFJKrV+/XgHq008/VcePH1fFxcVKKaX+9a9/qfj4ePXuu++qAwcOqHfffVdFRESoV199VSn14xdZSkqKt01ubq5avHix0uv1avTo0Wrt2rVqw4YNauzYsWr8+PHemN577z2l1+vVwoUL1e7du9UTTzyhdDqd+uyzz7xt/jepefDBB9WaNWvUwYMH1QcffKBiY2PV3/72N6WUUlVVVerOO+9UgwcPVsePH1fHjx9XVVVVyuVyqfT0dDVhwgS1YcMG9e2336pRo0b5JG7z5s1TwcHBasqUKWrTpk1q69atjb6vmzZtUoDPl29L3t+G96lXr17qnXfeUTt27FDXXnutCg0NVUVFRUoppY4ePaosFou66aab1M6dO9X777+voqKi1Lx589r0uNbV1SmbzabuuusutW/fPrVjxw716quvqsOHDyullPrqq69UcHBws69//etfJ703TSU1q1evVoAqLS31Wd67d2/15JNPKqWUmjNnzkkV4A8cOKAAtWnTJu+yyspKpdVq1eeff97o8WmrpMbveWqEEKLB0dJqAHqFm0/ZNjHMzM7jDu82AfNwQtPr0s6Dy39ST+6xflBX1Xjb5Akw46Mf//30UKgqPrnd/adf8+oXv/gFN910EwD33nsvTz31FJ9//jn9+/cnOjoagMjISJ9yNfPmzeOJJ57wXipITU1lx44dPP/881x11VXedrfffrvP5QTwXIZ69tlnycjIAOC1115j4MCBrF+/nrFjx/L4449z9dVXe2OaOXMm3377LY8//jhnnXVWo2OYPXu29+8pKSncddddLFmyhHvuuQez2UxISAhBQUE+Y1i1ahXbtm3j4MGD3qLEr7/+OoMHD+a7775jzJgxgOeS0+uvv+59Lxpz+PBhdDodMTExfr2/DW6++WYuvPBCAJ577jlWrlzJyy+/zD333MM//vEPkpKSePbZZ9FoNAwYMIDc3Fzuvfde5s6d6zN3W0v329hxLSkpwW6388tf/pK+fT1PGw4cONDb3+jRo095D87/Fo9uTl5eHgaDgbCwsJP6+GlR6sYKUjesa2CxWLDZbBw+fLjF+28NSWqEEK0Wc/S/TNMWkmZu+sukwXms4zL9O7BjIoxr+Q2TAoYNG+b9u0ajIS4ujoKCgibbV1ZWsn//fq655hquu+467/L6+npsNt/6XKNHjz5p+6CgIG/CADBgwADCwsLYuXMnY8eOZefOnVx//fU+2/zsZz/jmWeeaTKmpUuXsmDBAvbv309FRQX19fWnnHNk586dJCUleRMa8NQAbIilIcbk5ORmExqA6upqjEYjGo3mpHUteX9/WgooKCiI0aNHs3PnTm+cmZmZPn3/7Gc/o6KigqNHj9K7d+9GY/L3uEZERHD11VczefJkzj33XLKysrjooou89RHNZjP9+vVr7m0IKLPZTFVVE78ktBFJaoQQrXZ28VvcZNjDtvpBwNhm2yYF2cnUbWFTaViHxNak+3KbXqfR+f777n3NtP2f375v39b6mE5Br9f77lqjwe12N9m+osJz8/aLL77oPdvSQKfzHWNw8Mn1utraunXruPzyy3nggQeYPHkyNpuNJUuW8MQTT7RJ/y0ZQ1RUFFVVVTidTgwGg886f9/fttKa/S5evJhbb72VlStXsnTpUmbPns2qVasYN24cX3/9Neeff36z2z///PNcfvnlLYovLi4Op9NJWVmZz9ma/y1KvX79ep/tGp6O+t9C1yUlJadMPk+XJDVCiFZRShFffww0YEto+smnBsbI3rAXgquPd0B0zTD48SXeXm3bUMMXtMvl8i6LjY0lISGBAwcOtPgL7Kfq6+vZsGEDY8d6EtXdu3dTVlbmvdQxcOBA1qxZ43MZa82aNQwa1Phj/WvXriU5OZn/+7//8y7738sQBoPBZwwN+zly5AhHjhzxnq3ZsWMHZWVlTe6rKQ2Pi+/YsaNVj45/++23TJw4EfC8Pxs3buTmm2/2xvnuu++ilPKerVmzZg2hoaH06tXL731B48e1wYgRIxgxYgSzZs0iMzOTN998k3HjxrX55adRo0ah1+tZvXq199Lb7t27ycnJ8Z65yszM5K9//SsFBQXeS3urVq3CarX6HKP9+/dTU1PDiBEjWrz/1pCkRgjRKuUlBdg0lQDENDNHTYPQ2BQAIuqbPr0u/BcTE4PZbGblypX06tULk8mEzWbjgQce4NZbb8VmszFlyhRqa2vZsGEDpaWlzJw5s9k+9Xo9t9xyCwsWLCAoKIibb76ZcePGeZOcu+++m4suuogRI0aQlZXFf/7zH9577z0+/fTTRvtLS0sjJyeHJUuWMGbMGD766CPef/99nzYpKSkcPHiQLVu20KtXL0JDQ8nKymLo0KFcfvnlPP3009TX13PTTTcxadKkRi+bNSc6OpqRI0fyzTfftCqpWbhwIWlpaQwcOJCnnnqK0tJS/vCHPwBw00038fTTT3PLLbdw8803s3v3bubNm8fMmTObvJ/mVBo7riUlJbzwwgtccMEFJCQksHv3bvbu3cv06dMB/y8/lZSUkJOTQ26u5+zl7t27Ac8Zlri4OGw2G9dccw0zZ84kIiICq9XKLbfcQmZmJuPGjQPgvPPOY9CgQVx55ZU8+uij5OXlMXv2bP70pz9hNBq9+/r666/p06eP916g9iLz1AghWqUwx3M/QT4RmCynnn8jKtHzYRZNKTXV7XtdvScJCgpiwYIFPP/88yQkJPDrX/8agGuvvZaXXnqJxYsXM3ToUCZNmsSrr75KamrqKfu0WCzce++9XHbZZfzsZz8jJCSEpUuXetdPmzaNZ555hscff5zBgwfz/PPPs3jxYs4888xG+7vgggu44447uPnmm0lPT2ft2rXMmTPHp82FF17IlClTOOuss4iOjuatt95Co9Hw73//m/DwcCZOnEhWVhZ9+vTxicUf1157LW+88Uartn3kkUd45JFHGD58ON988w0ffPABUVFRACQmJrJixQrWr1/P8OHDufHGG7nmmmt8bo72V2PH1WKxsGvXLi688ELOOOMMrr/+ev70pz9xww03tGofH3zwASNGjGDq1KkAXHLJJYwYMYJFixZ52zz11FP88pe/5MILL2TixInExcXx3nvvedfrdDo+/PBDdDodmZmZ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ZcsWtXLlShUdHd3oY3p333232rlzp1q4cGGHPi57qjEeP35cbd68Wb344osKUF999ZXavHmzKi4u9vYxZcoUNWLECJWdna2++eYblZaW5vOoXllZmYqNjVVXXnml2r59u1qyZImyWCwd8rhlc+Oz2+0qIyNDDR06VO3bt8/nccX/feS5sx7D5sa3f/9+9fDDD6sNGzaow4cPqzVr1qhf/epXKiIiQuXn53eJ8Z1qjI2hiUe6O+sYmxvfvn371F/+8he1YcMGdfDgQfXvf/9b9enTR02cOLFbjE8pz7QRVqtVLVu2TO3du1fNnj1bmUwm7xN6SnXuz5iWjFEppfbu3as0Go36+OOPT9q+Kx9Dp9Op+vXrp37+85+r7OxstW/fPvX4448rjUajPvroI28fgT6GktQoz+Ny8fHxymAwqMTERHXxxRf7/KBVV1erm266SYWHhyuLxaJ+85vfqOPHj/v0cejQIXX++ecrs9msoqKi1J133ul9XLjB559/rtLT05XBYFB9+vRRixcv7ojhKaVOPcZ58+Yp4KTXT2MsLi5Wl156qQoJCVFWq1XNmDHDO/9Cg61bt6oJEyYoo9GoEhMT1SOPPBLw8TU8pt7Y6+DBg94+OvMxbG58x44dU+eff76KiYlRer1e9erVS1122WVq165dPn105vEpder/o//rf5MapTr3GJsbX05Ojpo4caKKiIhQRqNR9evXT919990+89R05fE1mD9/vurVq5eyWCwqMzNTff311z7rO/NnjFItG+OsWbNUUlKScrlcjfbRlY/hnj171G9/+1sVExOjLBaLGjZs2EmPeAf6GGqUUur0z/cIIYQQQgSW3FMjhBBCiG5BkhohhBBCdAuS1AghhBCiW5CkRgghhBDdgiQ1QgghhOgWJKkRQgghRLcgSY0QQgghugVJaoQQQgjRLUhSI4QQQohuQZIaIYQQQnQLktQIIYQQoluQpEYIIYQQ3cL/A5EvgytZ1VvEAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pdf_py_spline_100 = convert_rf_pdf(pdf, mass, npoints=100)\n", "pdf_py_spline_1000 = convert_rf_pdf(pdf, mass, npoints=1000)\n", "\n", "plt.plot(x, pdf_py(x), label=\"exact\")\n", "plt.plot(x, pdf_py_spline_100(x), ls=\"--\", label=\"interpolator (npoints=100)\")\n", "plt.legend();" ] }, { "cell_type": "markdown", "id": "f61c3ec3", "metadata": {}, "source": [ "Increasing the number of points by one order of magnitude makes the interpolator more accurate by two orders of magnitude in this case." ] }, { "cell_type": "code", "execution_count": 6, "id": "91ba6cd0", "metadata": {}, "outputs": [ { "data": { "image/png": "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lvfddx8OHDigaOxOnjyJXbt2Ge0NSEtLw80332zVFxaiKrZom6qUlZXh448/xqOPPtrkhxKxDWIbZKmW1gZZck4A+O2333Djxg0MHDiwQdfQkrBnqxFkZmZi48aNyMzMlLpZn3nmGSQnJ2Pjxo147bXXLD5ndHQ0kpKS0K1bN2RlZWHRokUYPHgwjh49WutJuDPo06cPNBoNli1bhoKCAmi1Wtx5550ICgrCunXr8Mgjj6Bv376YMGECAgMDkZmZiW+++Qa333473n77bbM+IywsDMuWLcPZs2dx0003YevWrUhPT8d7770HV1dXAMD06dPx7rvvYsqUKUhLS0NERAT+/e9/46effsLq1avrvLd33303Nm3aBF9fX0RGRiI1NRU7d+5E69atzb7WhIQELFq0CCNGjMA999yDkydP4p133sGtt96Khx9+uMH3d9CgQWjdujV27txpcu6BOWx9Dy3Rr18/7Ny5E6tWrUJYWBg6duyIbt26oV27drjvvvvQu3dveHt7Y+fOnThw4IDiaW9Dx8ufO3cOmzZtAgCpYXrllVcAVD6BfOSRRwBUDq9ZsmQJnnzySdx///2Ii4vDjz/+iI8//hivvvoqAgICpHPOmjUL77//PkaPHo1nnnkGrq6uWLVqFYKDgzF//nzF55eXl+P777/HrFmzLK47UU22aJvktm/fjvz8fEyZMqURamtbbIPYBlmqpbVBlpwTqEwu4+npibvuusvi62xx7J3+sDkAILZt2yb9/PXXXwsAwsvLS/FycXERDzzwgBCicrVu1JMC9LnnnjP5mdeuXRM+Pj7igw8+sPXlmVTXgpI1DRkyRAwZMkSx7f333xedOnUSGo2mVlra3bt3i7i4OOHr6yvc3d1F586dxZQpU8TBgwelMlULShpjbDHEDh06iLfffrtW2ZycHDF16lTRpk0b4ebmJnr27Ck2btxYqxxqpIy9du2adJy3t7eIi4sTJ06cEB06dKiVHraua3377bdF9+7dhaurqwgODhYzZ840uaCkJebOnSu6dOmi2FaVdvezzz5TbM/IyBAAFNdtj3tYlQ738uXLinLG/t86ceKEuOOOO4SHh4fAnwtKlpaWir///e+id+/eolWrVsLLy0v07t1bvPPOO+bfqDpU3S9jr5r/PwshxHvvvSe6desm3NzcROfOncUbb7whDAZDrXLnz58X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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 2, figsize=(10, 4))\n", "ax[0].set_title(\"interpolator (npoints=100)\")\n", "ax[0].plot(x, pdf_py(x) - pdf_py_spline_100(x))\n", "ax[0].set_ylabel(\"interpolator - exact\")\n", "ax[1].set_title(\"interpolator (npoints=1000)\")\n", "ax[1].plot(x, pdf_py(x) - pdf_py_spline_1000(x));" ] }, { "cell_type": "markdown", "id": "2079a28f", "metadata": {}, "source": [ "The interpolator is about a factor of 10 faster to evaluate. The evaluation time increases with the number of points, but only logarithmically." ] }, { "cell_type": "code", "execution_count": 7, "id": "2ef45dc3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "120 μs ± 11.4 μs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\n" ] } ], "source": [ "%timeit pdf_py(x)" ] }, { "cell_type": "code", "execution_count": 8, "id": "f18df087", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "10.1 μs ± 1.04 μs per loop (mean ± std. dev. of 7 runs, 100,000 loops each)\n" ] } ], "source": [ "%timeit pdf_py_spline_100(x)" ] }, { "cell_type": "code", "execution_count": 9, "id": "e4df9bae", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "13.5 μs ± 633 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)\n" ] } ], "source": [ "%timeit pdf_py_spline_1000(x)" ] } ], "metadata": { "kernelspec": { "display_name": "root", "language": "python", "name": "root" }, "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.4" } }, "nbformat": 4, "nbformat_minor": 5 }