From 6e6ead6b47c9ccf61334029d5553d83289a94507 Mon Sep 17 00:00:00 2001
From: Frank Sauerburger <f.sauerburger@cern.ch>
Date: Wed, 26 Jun 2019 22:17:07 +0200
Subject: [PATCH] Implement histtype treatment

---
 histogram.ipynb | 25 ++++++++++++++----------
 nnfwtbn/plot.py | 51 +++++++++++++++++++++++++++++++------------------
 2 files changed, 47 insertions(+), 29 deletions(-)

diff --git a/histogram.ipynb b/histogram.ipynb
index 2537a3a..bc459f8 100644
--- a/histogram.ipynb
+++ b/histogram.ipynb
@@ -11,19 +11,19 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [],
    "source": [
     "import pandas as pd\n",
     "import seaborn as sns\n",
-    "df = pd.read_hdf(\"test.h5\")\n",
-    "#df = pd.read_hdf(\"demo/mva.h5\")"
+    "#df = pd.read_hdf(\"test.h5\")\n",
+    "df = pd.read_hdf(\"demo/mva.h5\")"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -32,7 +32,11 @@
     "p_zll = Process(r\"$Z\\rightarrow\\ell\\ell$\", range=(-599, -500))\n",
     "p_fake = Process(r\"Fake\", range=(-199, -100))\n",
     "\n",
-    "p_sig = Process(r\"Signal\", range=(1, 1000))"
+    "p_sig = Process(r\"Signal\", range=(1, 1000))\n",
+    "\n",
+    "p_data = Process(r\"Data\", range=(0, 0))\n",
+    "p_asimov = Process(r\"Asimov\", selection=(\n",
+    "        p_top.selection | p_ztt.selection | p_zll.selection | p_fake.selection | p_sig.selection ))"
    ]
   },
   {
@@ -59,14 +63,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": 19,
    "metadata": {},
    "outputs": [
     {
      "data": {
-      "image/png": "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s68vJiaGxMREvv32W6f7TkhIYNGiRWRlZfHmm28ydOhQDh8+TGhoKFOnTmXq1Kls376d7t27k5CQQI8ePTz5pys/kpSU5HSoaGPM6RJV7OqSAPjF+u9mu3Xb3HhdVSDU7vkaoI99meI09Xz22We25o8qVarIqVOn8pXJysqSwMBAWzn79n8RkYEDB9q2DRgwwOl+1qxZ41azzfHjx6Vfv34ubxS/++67tjLt27cXEZHDhw+7rD8wMNB2M9VdHTp0kOuuu07+93//17ZuwoQJct1118nIkSNt606fPi3h4eEyb948ycrKkgULFkh4eLjtRrL9jdxcueuuXLkiffv2lZEjRxZ4AzNvU88dd9xh27Z//34BJCsry+lryXNzt6B6RSw3tevXry8vvviiZGZmysqVKyUkJER27twpIiJDhw6VESNGyIULF2Tnzp0SExOTr6nHfl/nzp2T66+/XpKTk23t9evWrZOUlBS5cuWKfPDBB/LHH3+IiOV9vf7660VEZPHixbJnzx65evWqHDp0SGrVqiXfffed079BqZLAW009dnYYY0YCAcaYxsaYN6xJ3JWawGpjzFZgHbBURL5x43UFyszM5J///Kdtefz48dSoUSNfuYoVK1KvXj3bct7mHvumnoKaeez77xekZs2abNu2ja+++gqwnJkX1HWrcePGtufbt29HRIiMjOTjjz/mvvvuo23btkRHR1OpUiWqVKlCXFwc48ePZ9u2bW79WMpeYmIip06dcvj9QJcuXTh16pRDN87IyEiWLFnC1KlTiYyM5JVXXmHJkiVERbm+iqxUqRKfffYZJ0+e5K677ir1rp55Y1m8eDFff/01UVFRjB8/nuTkZJo2bQrAm2++SXp6OrVq1WL06NGMGDGCypUrF1hfaGgoy5cvZ8GCBURHR1OrVi0mTpzIlStXAJg7dy716tUjLCyM6dOn236At2fPHnr27ElISAgdOnRg/Pjx3Hzzzd4/AEoVkcuJWIwxVYBJQC/AAMuAZ8UDY/joRCzKFyZOnMiJEyd4//33fR2KKkPOnDlja5Y7ceIEAQEBthPLdevWUalSJV+G56CkE7G4bOMXkYtYEv+k4u5EKV9KTU0lMzOTli1bsn79embNmsW7777r67CUC9/uLFkzdl63xBV+JRsZGWm7/zdlyhRCQkLyDZ9yrSiwqccY09kYM8ZueaEx5jvro3vphKdUyZ0/f57BgwdTtWpVhg0bxiOPPMJtt93m67BUOfLKK6/QokULWrRowRtvvAHA3r17ad68OcOHDycuLo6hQ4c67aFXFhV2xv8vLIOz5boBGIflRu2TwHfeC0spz0lISGDv3r2+DkOVU2vXrmXevHmsX7+e7Oxs2rVrR7du3QgODiYlJYVZs2bRvn17xowZwzvvvMPf//53X4fsUmE3d8NEJMVueY+IbBSRVUCoJ3aeOx5/UlKS/TjTSilVZqxevZq//OUvBAcHExoaysCBA21DvNevX5/27dsDMGrUKFsXbG9YvHixffdOr43HH2G/ICKD7RZrlmSnuTw1Hr9SSvlC3t+5uDNse3F5cjz+ws74U40xf8670hjTH9hVkp0qpVR50aVLFz7//HMuXbpERkYGixYtokuXLgDs37+f9evXA5Yh1e27UJdlhZ3x/wNYaowZgmW8HYA/AR2xDNymlFLXvHbt2jFixAjbDHh/+9vfaNmyJXv37iUuLo5///vfbNmyhZYtWzr9lW1ZVGg/fmNMZeAOoLl11Q5gvif68IP241dFl56ezi233EJKSgq//PILLVq08HVIyk/t3buXIUOG5JuqsTR4tR+/iFwB3BsNTalSUKVKFZYuXerwC26lVNG4NQNXefH8889jjHH7oUrPrl27aN26NaGhofznP/+hXr16/Pe//y1yPYGBgU6H6VCqtDVq1MgnZ/uecM0k/uzsbH799deizhdQLG+++Sbx8fFUrlyZcePG5ds+atQoateuTVhYGE2aNMn3K9GQkBDbo0KFCgQHB9uW7Sded6ZPnz48/fTT+dYvWrSIWrVquTV1oKv4ABYsWEBcXBxVq1alYcOGtu5rebk6FrleeeUVbr75Zs6fP8+DDz7oMkallPe4Myyz1+T24wfHrkrF8c033+QbntlboqOjeeqpp1i2bJnTX+o98cQTzJo1i8qVK5Oamkq3bt1o06aNbUz/jIwMW9l69erx7rvv0rNnT7f2PXbsWCZNmsS//vUvh6uWuXPncscddzgMP10QV/F9++23TJw4kY8++oh27dpx/PjxYh+LXAcPHmT48OFu/Y0nTpxwWnbBggUOY/or5U8WL15s/3unEvXjL+xsuI/d83BgFrANmA/ULMmQoLmPks65a+/OO++U8+fPO6zbt2+f9OvXTyIjIyU0NFR69uzp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\n",
+      "image/png": "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zp07ufbaaz3uz56IcPHixVJtU14//PADZ86c4csvv2T+/PnMnDnTKU9Rgewrvt6fqrwmTpzI66+/ztVXX012drbT9aFu3bosWbKEu+66i9WrVzNt2jTy8/Np06YNrVu3Ztq0aQGK3EvuqhzA9cCrwBHgQ2AEUKO8VZnyvsrbDPXUU0/Zmm/69OljS2/evLkt/dNPP3W5bc+ePW15hg8f7jLPihUrHJqqPFUz8/PzpVWrVrb877zzjtN+GjVq5LTdiRMnJDU11eFY9q+mTZvK8ePHSzz2hQsXpHr16vL999+LiMhbb70lY8eOlWuvvdYhrXHjxrZtvv32W+nQoYNER0dLhw4d5Ntvv7WtS0tLk4ceeki6dOki1apVkx07djg0Qx06dEhSUlLk6aefdhlPQkKCfP755yJiqdLffPPNMmrUKImMjJRWrVrJ2rVr3X4WQHbs2GFbHjJkiNx11122/T755JOSkpIiVapUkfz8fMnKypK0tDSJiYmRVq1ayeLFix3Obf/+/SUqKko6dOggU6dOla5duzoc64UXXpAmTZpIYmKiiFiaEXv16iU1a9aUZs2ayVtvvWXL/9FHH0nLli0lMjJSGjRoYGs2PH78uPz+97+XmJgYqVmzpnTr1k0KCwvdfkalygofNEOVVFh8BdwO1CzvQXz5Kk9hcfToUYmOjhZAQkNDZfPmzbZ1N910k+1C6+5iFhcX5zHPv/71L1ueyMhIuXjxYokx/ec//7Hl79atmy391KlTDhf/U6dOOW2bn58vH3zwgYwZM0aSkpKcCoz777/f4zlJT0+Xf/7znyIictddd8ns2bPloYceckgbN26ciIicPHlSYmNjZe7cuZKfny/z58+X2NhYOXHihIhYCov4+HjZvHmz5OfnS15enq2w2L17tzRt2lReeeUVt7EULyyqVq0qH330kRQUFMiDDz4ov/vd79xua19YbNmyRerWrSuzZs2y7ffqq6+Wffv2SW5uruTl5Unjxo3lsccekwsXLsiXX34pkZGRtoJ96NChMnToUDl79qxs2bJFGjVq5FRY9OrVS06ePCm5ubly5swZadSokbz66quSn58v69evl7i4ONmyZYuIiNSrV0+++eYbEbH8XdetWyciIg8++KDceeedkpeXJ3l5efLNN994/L4oVRZ+LSwcMkE3YJz1fR0gqbwHLuurPIXF7bff7vaXuP1r1KhRTtvu27fPIU/RRa240aNHu7z4u3Lq1CmpVauWVzF9/fXXHj/fhg0bJDEx0bZN//79PW4zffp0GTx4sIiItGnTRrZv3y6ffPKJQ9prr70mIiJz586V1NRUh+07deokc+bMERFLYTFt2jSH9WlpafKnP/1JEhISZP78+SXGUryw6Nmzp23dli1bpFq1am63BSQqKkpiY2MlOTlZpk6davuVnpCQILNnz7bl/eabb6Ru3boOv+KHDRsm06dPl4KCAgkLC3OoEbqqWXz55Ze25YULFzr9rSdMmCAZGRkiIhIfHy8vv/yy5OTkOOSZNm2aDBw40KFGpJQ/+KKw8OaexXQsvaH+Yk0KB970tF2w+eGHH3j11Ve9yuvqHkHxm0/t2rVzue26dets7z3d3HbVVdabmD7++GPOnXN+arVt27Y0atTItnzllVd63O+1117LypUrOXXqFMePH6dp06Z06dKFVatWcerUKTZv3my7X3Ho0CESEhIctk9ISODgwYO25fj4eKdjzJs3j4YNGzJkyBDPH9ROvXr1bO8jIiI4f/58ifcI1q9fz88//8yuXbt49NFHCQn57ettH9ehQ4eIj493WF/0OY4fP05BQYFDflefyT5t7969rF69mtjYWNtr3rx5HDlyBIB3332Xjz/+mISEBNLS0vjuu+8A+POf/0yTJk3o3bs3ycnJPPnkk6U5PUpVKG+G+7gRaAesBxCRQ8aY8k38HQB/+tOfbDdcR4wY4dTj59SpU9x7772ApU90QUGB7aY3OPaEio+PJy4uzukYubm5ZGdn25azsrJ48MEHnfLdeeed5OXl8d///hew9Kx68cUXiYyMdMj33nvv8f777wOOPaLGjRtHQUEBQ4YMoXv37jRo0IBffvmF+fPns3LlSts+x48f7/G8dO7cmZycHGbOnEnXrl0By/MlDRo0YObMmTRo0ICkpCQAGjRowN69ex2237dvH3379rUtG2OcjpGRkcGnn37KiBEjWLhwIaGh5Z7hsdTs42rQoAH79+/n4sWLtgJj3759NGvWjDp16hAWFsaBAwdo1qwZgMsHM+33Fx8fT1paGp9//rnLY6emprJ48WLy8/N54YUXuOWWW9i/fz9RUVE8++yzPPvss2zevJkePXqQmppKz549ffnRlfINT1UPYI313/XWf2sAm8pbpSnrqyzNUO+9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\n",
       "text/plain": [
-       "<matplotlib.figure.Figure at 0x7f855ba95630>"
+       "<matplotlib.figure.Figure at 0x7fc1553c4e10>"
       ]
      },
      "metadata": {},
@@ -74,8 +78,9 @@
     }
    ],
    "source": [
-    "hist(df, v_mmc, 40, [p_fake, p_top, p_zll, p_ztt], [p_sig], range=(0, 200), selection=c_vbf,\n",
-    "     weight=\"weight\", color=[sns.color_palette(\"Blues\"), sns.color_palette()[1:]])\n",
+    "hist(df, v_mmc, 20, [p_fake, p_top, p_zll, p_ztt, p_sig], [p_asimov], range=(0, 200), selection=c_vbf,\n",
+    "     weight=\"weight\", color=[sns.color_palette(\"Blues\")[:4] + sns.color_palette()[1:], ['black']],\n",
+    "     histtype=[['stepfilled']*4 + ['step'], 'points'])\n",
     "None"
    ]
   },
diff --git a/nnfwtbn/plot.py b/nnfwtbn/plot.py
index 9167e6c..31e2f11 100644
--- a/nnfwtbn/plot.py
+++ b/nnfwtbn/plot.py
@@ -33,19 +33,6 @@ class HistogramFactory:
         The method returns the return value of hist.
         """
 
-
-def _type_to_histtype(type):
-    """
-    Returns the matplotlib histogram type for a given process plotting type.
-
-    >>> _type_to_histtype("fill")
-    'stepfilled'
-    >>> _type_to_histtype("line")
-    'step'
-    """
-    type_map = {"fill": "stepfilled", "line": "step"} 
-    return type_map[type]
-
 def hist(dataframe, variable, bins, *stacks, selection=None,
          range=None, blind=None, axes=None, figure=None,
          weight=None, **kwds):
@@ -155,12 +142,38 @@ def hist(dataframe, variable, bins, *stacks, selection=None,
                 stack_props = props[i_stack]
                 process_kwds[kwd] = stack_props[i_process % len(stack_props)]
 
-            n, _, _ = axes.hist(variable(dataframe[sel(dataframe)]),
-                                bins=bins, range=range,
-                                bottom=bottom,
-                                label=process.label,
-                                weights=weight(dataframe[sel(dataframe)]),
-                                **process_kwds)
+            if "histtype" in process_kwds:
+                if process_kwds["histtype"] == "points":
+                    del process_kwds['histtype']
+
+                    defaults = {
+                        'markersize': 4,
+                        'fmt': 'o'
+                    }
+
+                    defaults.update(process_kwds)
+                    process_kwds = defaults
+
+                    n, _ = np.histogram(
+                        variable(dataframe[sel(dataframe)]),
+                        bins=bins, range=range,
+                        weights=weight(dataframe[sel(dataframe)]))
+
+                    bin_centers = (bins[1:] + bins[:-1]) / 2
+                    bin_widths = bins[1:] - bins[:-1]
+
+                    axes.errorbar(bin_centers, bottom + n, np.sqrt(n), bin_widths / 2,
+                        label=process.label,
+                        **process_kwds)
+
+                else:
+                    n, _, _ = axes.hist(
+                        variable(dataframe[sel(dataframe)]),
+                        bins=bins, range=range,
+                        bottom=bottom,
+                        label=process.label,
+                        weights=weight(dataframe[sel(dataframe)]),
+                        **process_kwds)
             bottom += n 
 
     axes.set_xlim((bins.min(), bins.max()))
-- 
GitLab