|
| 1 | +{ |
| 2 | + "cells": [ |
| 3 | + { |
| 4 | + "cell_type": "code", |
| 5 | + "execution_count": 13, |
| 6 | + "metadata": {}, |
| 7 | + "outputs": [], |
| 8 | + "source": [ |
| 9 | + "import numpy as np\n", |
| 10 | + "from scipy.interpolate import PchipInterpolator\n", |
| 11 | + "import matplotlib.pyplot as plt\n", |
| 12 | + "from lib.histo_utilities import create_TH1D\n", |
| 13 | + "import ROOT as rt" |
| 14 | + ] |
| 15 | + }, |
| 16 | + { |
| 17 | + "cell_type": "code", |
| 18 | + "execution_count": 21, |
| 19 | + "metadata": {}, |
| 20 | + "outputs": [], |
| 21 | + "source": [ |
| 22 | + "def quantile(a, p, weight=None, f=None):\n", |
| 23 | + " q = np.percentile(a, 100*p).astype(np.float64)\n", |
| 24 | + "\n", |
| 25 | + " if weight == None:\n", |
| 26 | + " weight = np.full_like(a, 1.0/a.shape[0], np.float64)\n", |
| 27 | + "\n", |
| 28 | + " if not f==None:\n", |
| 29 | + " f_q = f(q)\n", |
| 30 | + " else:\n", |
| 31 | + " h = create_TH1D(a, binning=[None, np.percentile(a, 2), np.percentile(a, 98)], weights=weight)\n", |
| 32 | + " f_q = h.GetBinContent(h.FindBin(q))\n", |
| 33 | + " \n", |
| 34 | + " c = rt.TCanvas('c', 'c', 800,600)\n", |
| 35 | + " h.Draw()\n", |
| 36 | + " c.Draw()\n", |
| 37 | + " \n", |
| 38 | + "# F = np.cumsum(weight, dtype=np.float64)\n", |
| 39 | + "# a_s = np.sort(a).astype(np.float64)\n", |
| 40 | + "# i = 0\n", |
| 41 | + "# while(i<a_s.shape[0]-1):\n", |
| 42 | + "# if a_s[i] == a_s[i+1]:\n", |
| 43 | + "# a_s = np.delete(a_s, i)\n", |
| 44 | + "# F = np.delete(F, i)\n", |
| 45 | + "# else:\n", |
| 46 | + "# i += 1\n", |
| 47 | + "# spl = PchipInterpolator(a_s, F)\n", |
| 48 | + "# f = spl.derivative()\n", |
| 49 | + "# f_q = f(q)\n", |
| 50 | + "\n", |
| 51 | + "# plt.plot(a_s, F)\n", |
| 52 | + "# a_dense = np.arange(a_s[0], a_s[-1], 0.3*(a_s[1]-a_s[0]))\n", |
| 53 | + "# plt.plot(a_dense, spl(a_dense))\n", |
| 54 | + "# plt.plot(a_dense[1:-1], f(a_dense[1:-1]))\n", |
| 55 | + "\n", |
| 56 | + " sigma_q = p*(1-p)/(a.shape[0]*f_q**2)\n", |
| 57 | + " print q, sigma_q\n", |
| 58 | + " return q, sigma_q, c, h" |
| 59 | + ] |
| 60 | + }, |
| 61 | + { |
| 62 | + "cell_type": "code", |
| 63 | + "execution_count": 23, |
| 64 | + "metadata": {}, |
| 65 | + "outputs": [ |
| 66 | + { |
| 67 | + "name": "stdout", |
| 68 | + "output_type": "stream", |
| 69 | + "text": [ |
| 70 | + "5.525635126353564 0.0160856758844\n" |
| 71 | + ] |
| 72 | + }, |
| 73 | + { |
| 74 | + "name": "stderr", |
| 75 | + "output_type": "stream", |
| 76 | + "text": [ |
| 77 | + "Warning in <TROOT::Append>: Replacing existing TH1: h (Potential memory leak).\n", |
| 78 | + "Warning in <TCanvas::Constructor>: Deleting canvas with same name: c\n" |
| 79 | + ] |
| 80 | + }, |
| 81 | + { |
| 82 | + "data": { |
| 83 | + "image/png": "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\n", |
| 84 | + "text/plain": [ |
| 85 | + "<IPython.core.display.Image object>" |
| 86 | + ] |
| 87 | + }, |
| 88 | + "metadata": {}, |
| 89 | + "output_type": "display_data" |
| 90 | + } |
| 91 | + ], |
| 92 | + "source": [ |
| 93 | + "a = np.random.chisquare(df=4, size=(3000))\n", |
| 94 | + "out = quantile(a, 0.75)" |
| 95 | + ] |
| 96 | + }, |
| 97 | + { |
| 98 | + "cell_type": "code", |
| 99 | + "execution_count": null, |
| 100 | + "metadata": {}, |
| 101 | + "outputs": [], |
| 102 | + "source": [] |
| 103 | + } |
| 104 | + ], |
| 105 | + "metadata": { |
| 106 | + "kernelspec": { |
| 107 | + "display_name": "Python 2", |
| 108 | + "language": "python", |
| 109 | + "name": "python2" |
| 110 | + }, |
| 111 | + "language_info": { |
| 112 | + "codemirror_mode": { |
| 113 | + "name": "ipython", |
| 114 | + "version": 2 |
| 115 | + }, |
| 116 | + "file_extension": ".py", |
| 117 | + "mimetype": "text/x-python", |
| 118 | + "name": "python", |
| 119 | + "nbconvert_exporter": "python", |
| 120 | + "pygments_lexer": "ipython2", |
| 121 | + "version": "2.7.14" |
| 122 | + } |
| 123 | + }, |
| 124 | + "nbformat": 4, |
| 125 | + "nbformat_minor": 2 |
| 126 | +} |
0 commit comments