Newer
Older
btos_qed_MonteCarlo / example_BtoKllgamma.ipynb
@Davide Lancierini Davide Lancierini on 29 Jun 2019 135 KB First commit
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "WARNING: The TensorFlow contrib module will not be included in TensorFlow 2.0.\n",
      "For more information, please see:\n",
      "  * https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md\n",
      "  * https://github.com/tensorflow/addons\n",
      "If you depend on functionality not listed there, please file an issue.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "from math import pi\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "import tensorflow as tf\n",
    "import zfit\n",
    "import os\n",
    "\n",
    "os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"1\"\n",
    "\n",
    "from utils.kin_utils_edit import *\n",
    "from utils.BtoKllgamma_utils import *\n",
    "import pickle\n",
    "ztf = zfit.ztf\n",
    "ztyping = zfit.util.ztyping\n",
    "ztypes = zfit.settings.ztypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "#TASK='LOAD'\n",
    "TASK='SAMPLE'\n",
    "n_events=100000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "zfit.run.check_numerics = False\n",
    "zfit.settings.set_verbosity(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "mmu_mass = 105\n",
    "mB_mass=5280\n",
    "mKst_mass=892\n",
    "mgamma_mass = 0.1\n",
    "\n",
    "mBbar_mass=mB_mass-mgamma_mass\n",
    "\n",
    "#lower_q= 2*mmu_mass\n",
    "#upper_q=(mBbar_mass-mKst_mass)\n",
    "\n",
    "lower_q2= 4*mmu_mass*mmu_mass\n",
    "upper_q2=(mBbar_mass-mKst_mass)*(mBbar_mass-mKst_mass)\n",
    "\n",
    "\n",
    "upper_mBbar2 = mBbar_mass**2\n",
    "lower_mBbar2 = (2*mmu_mass+mKst_mass)*(2*mmu_mass+mKst_mass)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "class dGamma(zfit.pdf.ZPDF):\n",
    "    \n",
    "    _PARAMS = ['mB','mKst','ml','mgamma']\n",
    "    _N_OBS = 3\n",
    "    \n",
    "    \n",
    "    def _unnormalized_pdf(self, x):\n",
    "        \n",
    "\n",
    "        mB = self.params['mB']      \n",
    "        mKst = self.params['mKst']\n",
    "        ml = self.params['ml']\n",
    "        mgamma = self.params['mgamma']\n",
    "        \n",
    "        q2, mBbar2, cos_theta_l  = x.unstack_x()\n",
    "        \n",
    "        \n",
    "        \"\"\"\n",
    "        Kinematic functions\n",
    "        \n",
    "        \"\"\"\n",
    "        beta_l = dphi2_tf(ztf.sqrt(q2), ml, ml)\n",
    "        \n",
    "        phasespace_term=dphi2_tf(mB, ztf.sqrt(mBbar2), mgamma)*dphi2_tf(ztf.sqrt(mBbar2), mKst, ztf.sqrt(q2))*beta_l\n",
    "        \n",
    "        lambda_bar = lambda_function(ztf.sqrt(mBbar2),mKst_mass,ztf.sqrt(q2))\n",
    "        beta_K = ztf.sqrt(lambda_bar)/(mBbar2-q2+mKst_mass**2)\n",
    "        beta_q = -ztf.sqrt(lambda_bar)/(mBbar2+q2-mKst_mass**2)\n",
    "        \n",
    "        gamma_q = 1/(1-ztf.square(beta_q))\n",
    "        E_gamma = (mB_mass**2-mBbar2-mgamma_mass**2)/(2*ztf.sqrt(mBbar2))\n",
    "        \n",
    "        \"\"\"\n",
    "        Angular integrals\n",
    "        \n",
    "        \"\"\"\n",
    "        \n",
    "        \n",
    "        I12=2*pi*((1+ztf.square(beta_l))/beta_l)*ztf.log((1+beta_l)/(1-beta_l))\n",
    "        IBK=(2*pi/beta_K)*ztf.log((1+beta_K)/(1-beta_K))\n",
    "        \n",
    "        ZBplus =(gamma_q*(1+beta_q*beta_l*cos_theta_l)+ztf.sqrt(1-ztf.square(beta_l)))/(gamma_q*(1+beta_q*beta_l*cos_theta_l)-ztf.sqrt(1-ztf.square(beta_l)))\n",
    "        ZBminus =(gamma_q*(1-beta_q*beta_l*cos_theta_l)+ztf.sqrt(1-ztf.square(beta_l)))/(gamma_q*(1-beta_q*beta_l*cos_theta_l)-ztf.sqrt(1-ztf.square(beta_l)))        \n",
    "        \n",
    "        IBplus = 2*pi*((1+ZBplus)/(ztf.sqrt(ZBplus)))*ztf.log((ztf.sqrt(ZBplus)+1)/(ztf.sqrt(ZBplus)-1))\n",
    "        IBminus = 2*pi*((1+ZBminus)/(ztf.sqrt(ZBminus)))*ztf.log((ztf.sqrt(ZBminus)+1)/(ztf.sqrt(ZBminus)-1))\n",
    "        \n",
    "        ZKplus = (gamma_q*(1-beta_K*beta_q + beta_l*(beta_q-beta_K)*cos_theta_l)+ztf.sqrt((1-ztf.square(beta_l))*(1-ztf.square(beta_K))))/(gamma_q*(1-beta_K*beta_q + beta_l*(beta_q-beta_K)*cos_theta_l)-ztf.sqrt((1-ztf.square(beta_l))*(1-ztf.square(beta_K))))\n",
    "        ZKminus = (gamma_q*(1-beta_K*beta_q - beta_l*(beta_q-beta_K)*cos_theta_l)+ztf.sqrt((1-ztf.square(beta_l))*(1-ztf.square(beta_K))))/(gamma_q*(1-beta_K*beta_q - beta_l*(beta_q-beta_K)*cos_theta_l)-ztf.sqrt((1-ztf.square(beta_l))*(1-ztf.square(beta_K))))\n",
    "        \n",
    "        IKplus = 2*pi*((1+ZKplus)/(ztf.sqrt(ZKplus)))*ztf.log((ztf.sqrt(ZKplus)+1)/(ztf.sqrt(ZKplus)-1))\n",
    "        IKminus = 2*pi*((1+ZKminus)/(ztf.sqrt(ZKminus)))*ztf.log((ztf.sqrt(ZKminus)+1)/(ztf.sqrt(ZKminus)-1))\n",
    "        \n",
    "        pdf_charged = -(1/ztf.square(E_gamma))*(4*(4*pi) +IBK -IBplus +IBminus - IKplus + IKminus -2*I12 )*phasespace_term\n",
    "        #pdf_neutral = -(1/ztf.square(E_gamma))*(2*(4*pi) - 2*I12 )*phasespace_term\n",
    "        #pdf =(1/ztf.square(E_gamma))* (2*(4*pi) -2*I12 )*phasespace_term\n",
    "        \n",
    "        \n",
    "        return pdf_charged\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From /disk/lhcb_data/davide/miniconda3/envs/zfit_env/lib/python3.6/site-packages/tensorflow/python/ops/resource_variable_ops.py:435: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Colocations handled automatically by placer.\n"
     ]
    }
   ],
   "source": [
    "mB_par = zfit.Parameter('mB', mB_mass)\n",
    "mKst_par = zfit.Parameter('mKst', mKst_mass)\n",
    "mgamma_par = zfit.Parameter('mgamma', mgamma_mass)\n",
    "mlepton_par = zfit.Parameter('ml', mmu_mass)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From /disk/lhcb_data/davide/miniconda3/envs/zfit_env/lib/python3.6/site-packages/zfit/core/sample.py:163: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Use tf.cast instead.\n"
     ]
    }
   ],
   "source": [
    "lower = ((lower_q2, lower_mBbar2, -1. ,),)\n",
    "upper = ((upper_q2, upper_mBbar2,  1. ,),)\n",
    "\n",
    "obs = zfit.Space([\"q2\",\"mBbar2\",\"cos_theta_l\",], limits=(lower,upper))\n",
    "\n",
    "pdf = dGamma(obs=obs, ml = mlepton_par, mB = mB_par, mKst = mKst_par, mgamma= mgamma_par)\n",
    "\n",
    "sampler = pdf.create_sampler(n=n_events)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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dPgkbe/cbRviYebMmdufk6R3vetdOuKII/T8889vf+7NN9+UJD322GP9dvpefvllrVy5UhdddJEuuGDHxMQVK1boggsu2OF1b731lpYsWbJTRzCn7J0+YHdxbx4AAED1dXd36+6779aMGTN08MEH9zt92/183d3dmjNnjj70oQ9tj/z1tWXLFt1zzz06/fTT+x3iwd01evTo7Y/PP/983Xzzzbrkkkt07bXX6sMf/rDOPfdcHX/88ZKkP/zhD5Kk448/XieffPIOy5o9u6ckSe+I3jPPPKO99tpLEyZM2IW1kBadPiBCvQ5nqPpWkdcCAAAMNsuWLdOqVat0zDHH7DRt0aJF6urq2t7p2zbvscceO+DyXnzxRa1fv16HHnroTtO2bt2qxYsX64Mf/OD25/baay8988wzuu+++zRv3jzdfvvtuv7663XppZfqhhtuUFdXlySpo6Njp+XNnTtX7e3tOvPMd4Yif+qpp5oa5ZPyV+8EAAAAgAGtXz9wWY/rr79e0jtFXGKqZJr1jBo3fPjwnabde++9WrVqlc4666wdnh82bJjOPPNM3XzzzXrppZd0zDHH6JZbbpH0Tmdv3bp1O7xm2bJl+ulPf6oLL7xwh6heGcYUpNMHAAAAoDQOOOAAmZkefPDBHZ5/9NFH9f3vf1/SO4VS9t9/f7W1ten+++/faTmbNm2SJB144IEaOXKkHnnkkR2mv/LKK7r88st16KGH6q/+6q8kaadKnFJPZ9Hdtc8++0iSDj/8cLW3t+uBBx7YPk93d7c++9nPavTo0br66qt3eH0ZIn2kdwIAAAAojTFjxuicc87RnDlzdPbZZ+uUU07Rc889p1mzZqmjo0Pjxo3TuHHjJEnjx4/Xpz71Kd1yyy16//vfr7POOkttbW1auHChnn32WT388MMaOnSo/vmf/1lXX321zj//fJ144olavny5Zs6cqba2Nt1zzz3bi7v8/d//vX7729/qzDPP1MEHH6yNGzdqzpw5euKJJ3THHXdIksaNG6cLLrhAt912m/7mb/5GRx55pH70ox9p/vz5uueee7Tvvvvu8HmefvppOn0AAAAA0NvNN9+s4cOHa968eXrggQc0bdo0zZkzR5/97Gd3SpW86aabdNhhh+m2227TVVddpeHDh+vQQw/V5z73ue3z/Mu//IvMTN/97nd11113ae+999a5556r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XHPNNUmSk046aXANBwCAjhL6mDJ33313zj777LzxjW/MVVddlec9b2Qi+eSTT86SJUvy/Oc/P0cffXSS5P77788DDzyQ173udfnRj36U1lruvffefOpTn8ry5ctz9tlnC30AADAFXN7JlLngggvyxBNP5MMf/vCWwJckr3jFKzJ//vwce+yxGRoaSvJv3+f7whe+kEWLFuWAAw7I8ccfn+XLl+fiiy/OZz/72a32/ZOf/CS/9Vu/lblz5+bggw/ORz/60cEdGAAAzGBm+pgSw8PDufLKK3P66afnRS960Zjrt/0+X5J88pOfzFFHHZXHHnssX/ziF/P5z38+9957b6pqq+3PP//8PPXUU7n33ntz991355RTTsnRRx+d0047bfceGAAAzHBCH1PinnvuycMPP5xXvvKV261bu3ZtNm/evF3oGxoayllnnZWf+ZmfSZK8+c1vzve+97389V//dd73vvdlzpw5SbIlEN54442ZN29efvEXfzHvec97ctlllwl9AAAwCaFvEkcs+8p0N2FK3HXhG3fr/h977LFx1z13Kea2N3FZvHjxlsCXJFWVd77znfnDP/zDXH311TnzzDOTJN///vfz05/+NMcee+yWuscdd1yuuuqqqT4MAADoHN/pY0ocfvjhqapcd911W5Vff/31ufzyy5MkL3vZy5KMPIrhzjvv3Grm7zlvetObkiRf/vKXt5Rt3rw58+fP36reggUL8uijj07pMQAAQBeZ6WNKzJkzJ2eccUauuOKKvPWtb82pp56adevW5dJLL83cuXMzf/78LcFt9erVaa2NGfqOOOKIvPSlL80111yTZ555JnvvvXfmzJmTRx55ZKt6mzZtyty5cwdybAAAMJOZ6WPKfPKTn8xZZ52Vr3/963nve9+bb3/727niiiuy3377jXkTl+dm/rZ12mmnZdOmTfna176WJHnxi1+cqsratWu31Fm9evVWl3sCAABjq9badLdhly1ZsqStWrVqh7a57bbb8tKXvnTSer7Tt2f4nd/5nTz22GP5u7/7u9x99915/etfn89+9rO7dCOXfscAAACzy0QZYE/9u7qqbmytLRlrnZk+ZoSLLrooe++9dw466KC84Q1vyLJly9y5EwAA+uA7fcwICxYsyBe/+MXpbgYAAMw4fc30VdWpVbWuqtZX1bIx1ldVfay3fk1VnTDZtlX1f1fV93r1v1RVC0ate3+v/rqq+tVdPUgAAIDZatLQV1VDSS5KclqSY5K8raqO2abaaUkW917nJLm4j22vS3Jsa+1lSb6f5P29bY5JcmaSX0hyapK/6e0HAACAHdTPTN+JSda31u5orT2dZHmSpdvUWZrkc23E9UkWVNVBE23bWvun1tqzve2vT3LoqH0tb6091Vq7M8n63n4AAADYQf2EvkOS3DNqeUOvrJ86/WybJL+b5Jod+LxU1TlVtaqqVm3cuLGPwwAAAJh9+rmRS41Rtu1zHsarM+m2VfVnSZ5N8vkd+Ly01i5Ncmky8siGMbZhN6sa61e1Z+jCo0gAAGAq9BP6NiQ5bNTyoUnu67POPhNtW1VnJ3lTklPav/2V3s/nsQcQrAAAYM/XT+i7Icniqjoyyb0ZucnK27epsyLJ+VW1PMmrkmxqrd1fVRvH27aqTk3yviSvba09vs2+/r6qPpLk4IzcHObbO3uAzAwbN27M8PDwVmULFy7MPvvsM00tAgCAbpj0O329m62cn+TaJLcluaK1traqzq2qc3vVVia5IyM3XflUkj+YaNveNp9IMjfJdVW1uqou6W2zNskVSb6b5B+TnNda2zoNMGNccMEFqao88MADE9Z75StfmYMOOmir1ze/+c0BtRIAALqrr4ezt9ZWZiTYjS67ZNT7luS8frftlf/8BJ93QZIL+mkbe7Y1a9bkwAMPzIEHHjhhvc9//vN54okntip7+ctfvjubBgAAs0JfoQ921po1a/oKb69+9asH0BoAAJh9hL5J3HXhG6e7CTPWk08+mdtvvz1vfvObp7spAAAwa/XznD6Y1De+8Y2ccsop2W+//XLwwQfnwgsvzNq1azM8PLzVTN+73/3u7LvvvvnhD3+Ys846K/vvv38WLFiQ97znPXnmmWfy2GOP5U/+5E9y2GGHZe7cufm1X/u1PPjgg9N4ZAAAMLMJfeyyq666KieffHIeffTRfPCDH8x73/vefOxjH8sf/dEfJUmOO+64LXVXr16d+fPn57WvfW3mzZuXCy64ICeeeGI+/elP50Mf+lBe85rX5O67786f/umf5jd/8zdz9dVX5wMf+MB0HRoAAMx4Lu9kl9x99905++yz88Y3vjFXXXVVnve8kX9HOPnkk7NkyZI8//nPz9FHH50kefbZZ7fM/v3Lv/xLXvOa1yRJ3v72t2fBggX5wAc+kE984hM577yRewL9/u//fr71rW/lW9/61vQcHAAAdIDQxy654IIL8sQTT+TDH/7wlsCXJK94xSsyf/78LF68OENDQ0mS2267LU899VT+4A/+YEvgS5I5c+Zk7733zstf/vItge85c+fOzU9/+tPBHAwAAHSQyzvZacPDw7nyyitz+umn50UvetGY60d/n2/16tVJkt/4jd/Yqt6dd96Zp556arvyJFm3bt2WmcJk5OYwe+21V+bMmbPl9brXvS733nvvVB0WAAB0itDHTrvnnnvy8MMP55WvfOV269auXZvNmzdvF/qqKkuWLNmq7s0335wkOfHEE7cqv/POO7Np06Ycf/zxW8puueWW7L333tm0aVM2b96ce++9Nw899FD+6q/+aioPDQAAOkPoY6c99thj46776Ec/mmT7m7i86EUvyrx587aq+1zoG133ufpJtgp9N910U17ykpdsuWR0/vz5Ofroo/PMM8/swpEAAEB3CX3stMMPPzxVleuuu26r8uuvvz6XX355kuRlL3vZlvJbbrllqwD3nJtvvjlHHnlkFixYsFX5c6FvdBi86aabcuyxxyYZuXyud18LAAASAUlEQVT0n//5n/O1r30t55xzztQcFAAAdIwbubDT5syZkzPOOCNXXHFF3vrWt+bUU0/NunXrcumll2bu3LmZP39+5s+fn2TkUtCHHnpo3ND3S7/0S9uVr169OocffngWLly4Vd21a9fmH/7hH/Lkk08mST7zmc9sFS4BAIB/Y6aPXfLJT34yZ511Vr7+9a/nve99b7797W/niiuuyH777bfV9/luueWWJNku9D3wwAO5//77xwyDt9xyy1azfM8880xuvfXWXHPNNfnJT36Sxx9/PJ/+9Kfze7/3e3n44Yd30xECAMDMZqaPXbJgwYJ87nOf2678hz/84VbLb3rTm9Ja267egQceOGZ5ktx1111bLa9duzZPP/10TjjhhCTJ8573vJx88sl58skn85Of/GSrGUEAAGCEmT5mjJtuuikvfvGLt9wI5qGHHsqf/dmf5YQTTshRRx01za0DAIA9k9DHjHHzzTdn/fr1mTNnTubPn58TTjghz3/+87Ny5crpbhoAAOyxXN7JjPHxj388H//4x6e7GQAAMKOY6QMAAOgwoQ8AAKDDhD4AAIAOE/oAAAA6TOgDAADoMKEPAACg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\n",
      "text/plain": [
       "<Figure size 1080x1080 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "if TASK=='SAMPLE':\n",
    "    \n",
    "    for i in range(1):\n",
    "        sampler.resample()\n",
    "    sample = sampler.to_pandas()\n",
    "    \n",
    "    \n",
    "    q2vals = np.array([sample['q2'][i] for i in range(n_events)]).reshape(n_events,1)\n",
    "    mBbar2vals = np.array([sample['mBbar2'][i] for i in range(n_events)]).reshape(n_events,1)\n",
    "    cos_theta_vals = np.array([sample['cos_theta_l'][i] for i in range(n_events)]).reshape(n_events,1)\n",
    "    \n",
    "    plt.hist(q2vals[:,0],density=True,bins=100);\n",
    "    fig = plt.gcf()\n",
    "    fig.set_size_inches(15,5);\n",
    "    \n",
    "    plt.subplot(3,1,1)\n",
    "    #plt.hist2d(q2vals,mBbarvals,density=True,bins=100);\n",
    "    plt.hist2d(q2vals[:,0]/1e6,mBbar2vals[:,0],label=r'$\\frac{dR_{0}}{dcos_{\\theta l}}$',density=True,bins=100);\n",
    "    plt.xlabel(r'$q^{2} (GeV^{2})$');\n",
    "    plt.ylabel(r'$\\bar{m}_{B}$ (MeV)');\n",
    "    plt.subplot(3,1,2)\n",
    "    plt.hist(cos_theta_vals,label=r'$\\frac{dR_{0}}{dcos{\\theta_l}}$',density=True,bins=100);\n",
    "    plt.legend(fontsize='25');\n",
    "    fig = plt.gcf()\n",
    "    fig.set_size_inches(15,5)\n",
    "    plt.subplot(3,1,3)\n",
    "    plt.hist(mBbar2vals/1e3,label=r'$\\frac{dR_{0}}{d\\bar{m}_{B}}$',density=True,bins=100);\n",
    "    plt.legend(fontsize='25');\n",
    "    fig = plt.gcf()\n",
    "    fig.set_size_inches(15,15);\n",
    "       \n",
    "    pKst_Bbar, q_Bbar, p1_Bbar, p2_Bbar, p1, p2 = momenta_map(q2vals, cos_theta_vals, mB_mass, mBbar2vals, mKst_mass, mmu_mass, mgamma_mass, mode='numpy')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "if TASK=='LOAD':\n",
    "    \n",
    "    #with open('/home/hep/davide/MC_qedbtokst/new_MC_tuple_B+toK+mumu_100K_10eVCutOff.pickle','rb') as f:\n",
    "    #    MC_tuple= pickle.load(f)\n",
    "    with open('/home/hep/davide/MC_qedbtokst/new_MC_tuple_B0toK0mumu_500K_100eVCutOff.pickle','rb') as f:\n",
    "        MC_tuple= pickle.load(f)\n",
    "        \n",
    "    pB_Bbar = MC_tuple['pB_Bbar']\n",
    "    pKst_Bbar = MC_tuple['pKst_Bbar']    \n",
    "    k_Bbar = MC_tuple['k_Bbar']\n",
    "    q_Bbar = MC_tuple['q_Bbar']\n",
    "    p1_Bbar = MC_tuple['p1_Bbar']\n",
    "    p2_Bbar = MC_tuple['p2_Bbar']\n",
    "    p1 = MC_tuple['p1']\n",
    "    p2 = MC_tuple['p2']\n",
    "    \n",
    "    pBbar = p1_Bbar+p2_Bbar+pKst_Bbar\n",
    "    \n",
    "    q2vals = scalar_product_4_np((p1+p2),(p1+p2))\n",
    "    mBbarvals = np.sqrt(scalar_product_4_np(pBbar,pBbar))\n",
    "    \n",
    "    \n",
    "    plt.subplot(3,1,1)\n",
    "    plt.hist(q2vals/1e6,density=True, label=r'$\\frac{dR_{0}}{dq^{2}}$', bins=100);\n",
    "    plt.legend(fontsize='30');\n",
    "    plt.subplot(3,1,2)    \n",
    "    plt.hist(mBbarvals,density=True,label=r'$\\frac{dR_{0}}{d\\bar{m}_{B}}$',bins=100);\n",
    "    plt.legend(fontsize='30');\n",
    "    plt.subplot(3,1,3)        \n",
    "    plt.hist2d(q2vals/1e6,mBbarvals,label=r'$\\frac{dR_{0}}{dcos_{\\theta l}}$', range=((q2vals.min()/1e6,q2vals.max()/1e6),(5270,mBbarvals.max())),density=True,bins=100);\n",
    "    plt.xlabel(r'$q^{2} (GeV^{2})$');\n",
    "    plt.ylabel(r'$\\bar{m}_{B}$ (MeV)');\n",
    "    \n",
    "    fig = plt.gcf()\n",
    "    fig.set_size_inches(15,12);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "105.00000000000001"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(np.sqrt(scalar_product_4_np(p2_Bbar,p2_Bbar))).mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mass checks ok\n"
     ]
    }
   ],
   "source": [
    "Kst_mass_check = (np.sqrt(scalar_product_4_np(pKst_Bbar,pKst_Bbar))).mean()-mKst_mass<10**-10\n",
    "lepton_mass_check = (np.sqrt(scalar_product_4_np(p2_Bbar,p2_Bbar))).mean()-mmu_mass<10**-10\n",
    "#B_mass_check = (np.sqrt(scalar_product_4_np(pB_Bbar,pB_Bbar))).mean()-mB_mass<10**10                   \n",
    "#photon_mass_check = (scalar_product_4_np(k_Bbar,k_Bbar)).mean()-mgamma_mass<10**-10\n",
    "\n",
    "if Kst_mass_check and lepton_mass_check:\n",
    "    print('Mass checks ok')\n",
    "else:\n",
    "    print('Mass checks not good')\n",
    "    print('Kst mass', Kst_mass_check)\n",
    "    print('lepton mass', lepton_mass_check)\n",
    "    print('B mass', B_mass_check)\n",
    "    print('photon_mass_check', photon_mass_check)\n",
    "    \n",
    "#pB_Bbar_to_boost=pB_Bbar\n",
    "#pB = lorentz_boost_np(pB_Bbar_to_boost, -pB_Bbar[:,0:3]/pB_Bbar[:,3:4])\n",
    "\n",
    "#spatial_rest_check=pB[:,0].mean()<10**-10 and pB[:,1].mean()<10**-10 and pB[:,2].mean()<10**-10\n",
    "#Brest_mass_check=pB[:,3].mean()==mB_mass\n",
    "#\n",
    "#if spatial_rest_check and Brest_mass_check:\n",
    "#    print('B rest frame ok')\n",
    "#else:\n",
    "#    print('B rest frame not good')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Zd71rnftd7y/MNaf7du3AzB58uQB6+3atYsPf/jD7N69m7/5m7/pt97RRx+997wnnXTSAfWlUQx9koalPtTVb7oyWNhzkxZJktQIPaHvIx/5CG9605sadt7M7PfY7t27Offcc1m7di133HEHb37zm/ut+9prrwHsc3/goWbokyRJkg6Sqqx4aeX/qF27di1jxoxpyCYu8Nuvd/jVr37V5/FXX32Vj370o6xatYply5Yxf/78Ac/Xc55jjjmmIf0bCu/pk9QSDnSHT3cElSRJUAt9M2fO5LDDDmvI+X7/938fgK6urv2O7dmzh4997GPceeedLF26lD/90z8d9HxPPvkkRx55ZKl7BA+WUqEvIs6KiPUR0RURnX0cj4i4ujj+cEScOljbiJgSEasi4onieXJR/n9HxEN1j9ci4m2NuFhJrc8gJ0nS6PPVr36ViOD9738/O3fu5Otf/zpz5sxh8uTJHH744Zx00kl84xvfYM+ePfu0e+GFF/jlL3/JrFmzGtaXt7/97YwbN46f//zn+5S/9tprLFiwgDvuuINvf/vb/Pmf/3mp8/3sZz9j7ty5Tdu5E0os74yINuBa4APAJuD+iFiemY/VVZsHzCwec4HrgLmDtO0EVmfmkiIMdgKfz8xbgVuLz34zcGdmPtSYy5V0KByM4FbmHsCez23lJSiSJGl/Dz74IFDb9OStb30rv/zlL4kIjjrqKHbv3s369ev5whe+wLp167jlllv2tnvooYfITF555ZV9ynuMHTuWj370o/uURQTvfe97ueeee/rsy2GHHcYf//Efc9ddd5GZe+/F+9znPsett97KO9/5To4++uj9Pu9d73rXfrN5Tz/9NI8//jiXXnrpAf9MGqnMPX1zgK7M3AAQEbcB84H60DcfuDlrdzveFxGTImIa0DFA2/nA+4r2y4B7gM/3+uwLgB8c8FVJkiRJGjF6Qt8Pf/hDJkyYwNVXX83ChQsZP348GzZs4BOf+AR33303t956KxdffDHvec97gN9u4rJixQpWrNj/P51POeWUfULfzp07AZg2bdqA/bn44ov5u7/7O37yk5/w3ve+F6h9fx/Avffey7333rtfm5tuumm/0PeDH/yAww8/vNQy0IOpzPLO6cAzde83FWVl6gzU9tjM3AJQPPf1bYb/HkOfJEmSVFnPPfccTz/9NADjx4/n7rvv5lOf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\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(p1_Bbar[:,0], label=r'$p_{1}^{E, (2)}$', density=True,bins=500);\n",
    "plt.legend(fontsize='25');\n",
    "fig = plt.gcf()\n",
    "fig.set_size_inches(15,5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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ZGQu3ute97qtttlnn33yxje+Mdddd90Lc92eeOKJXHfddbntttty8cUX54ILLsghhxwy7vt8+tOfnnCdjjnmmHHn+03E+973vrzvfe/b6f37RcADgGkgVAJdtingLVq0KB/84AfH3W7LuXPXX399TjvttOy///4555xz8rGPfWxK6zkIBDwAmOU2hUeLsQD9cueddyZJTjrppOy+++7jbveDH/wgSfKSl7wkSfKud71r3NUy2TkCHgDMUnoFgZliUw/eUUcdtc3tbrnlliTJkUceOeV1GlQWWQFg1tm0kqQbhO84fwtgsq1fvz6rV69OkixevHjc7W688casXbs2VZW3vvWtL+x77rnn5qSTTsr++++fqtpsJUt2nIAHQGd0Nby4NQIwk33zm9/M888/nyR57LHHxt1u0+qY73znO3PggQcmSR5//PH88R//cVatWrXd3j8mRsADAAB22ugVNP/xH8e+BfZll12Wr371q9l9993zJ3/yJy+UH3DAAVmzZk0eeeSRrFixYsrrOgjMwQNg1utK71ZXfg9gsGwKeHvttVeuu+66/OEf/mE+/vGPZ8GCBXn00Udz0UUX5aKLLkqSXHrppXnFK17xwr5z5859oTePyaEHD4BOMZzxp/wtgOmwaQXNc889N0cccUQ++clP5sUvfnFe/OIX56UvfWkuvPDCVFUuvvjivPe97+1zbbtPwAOAjhDmgOn27LPP5p577kmSLF26NDfddFM+/OEP56CDDsqPf/zjHHjggXnPe96TVatW5SMf+UifazsYDNEEgFlImIPp4x6T4/uXf/mXbNiwIUNDQ3n1q1+dPfbYI5dcckkuueSSfldtYAl4AHTW6BA0aIFo0H5foD82Dc98+ctfnj322KPPtSER8ACYRYQWgJll0wIrr33ta/tcEzYxBw8AANgpmwLekUce2eeasImAB0An6e0DmFobNmzIXXfdlUQP3kxiiCYAM9rwspUWONhF/obAVJgzZ06eeeaZXT7OX/zFX+RHP/pRNmzYkGRk4ZZPfvKTSZJjjz02xx577C6/xyAR8ACY1fTUbc7fA5htLrzwwjz44IMvPL/zzjtfWLzlj/7ojwS8HSTgAQAAffPAAw/0uwqdYg4eAAyw4WUr9foBdIgePAAYAGOFOMEOoHv04AEAAHSEgAcAANARAh4AAEBHmIMHwIyxaU6Ye7ZN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\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(p1_Bbar[:,2], label=r'$p_{1}^{y, (2)}$',bins=500);\n",
    "plt.legend(fontsize='25');\n",
    "fig = plt.gcf()\n",
    "fig.set_size_inches(15,5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4MAAAEvCAYAAAD/1hRGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3de5hU1Z3o/e/vbcRLBAEBQ0ADJoyGaDSxBaInMzHmgpcEY6IxcYQ4niGa6MRnciNmdDwTcySaZ8bBcbxlNKDOGMecaM+rCS9h4nHmxAsoRkMcXzuKivIKitFGVAR/7x+12xRNd9futulL1ffzPPVU1drrt/babArqV2vttSMzkSRJkiQ1lv9roDsgSZIkSep/JoOSJEmS1IBMBiVJkiSpAZkMSpIkSVIDMhmUJEmSpAZkMihJkiRJDWjYQHdgRxs7dmxOnjx5oLshSZIkSQPivvvuey4zx3Usr/tkcPLkyaxYsWKguyFJkiRJAyIinuis3GmikiRJktSATAYlSZIkqQGZDEqSJElSAyqVDEbErIh4JCJaI2J+J9sjIhYW2x+MiA/Uio2IMRGxNCIeLZ5Hd2hzn4jYGBFfryo7JCIeKtpaGBHRu8OWJEmSpMZWMxmMiCbgMuAoYBrw+YiY1qHaUcDU4jEPuLxE7HxgWWZOBZYV76v9HfCzDmWXF+2372tW7UOUJEmSJHVUZmRwOtCamY9l5mbgRmB2hzqzgcVZcTcwKiIm1IidDSwqXi8CjmtvLCKOAx4DVlWVTQBGZuZdmZnA4uoYSZIkSVJ5ZZLBicBTVe/XFGVl6nQXu1dmrgUonscDRMTbgG8B/6OTfayp0Q9JkiRJUgllksHOrsvLknXKxHb0P4C/y8yNvehHpWLEvIhYEREr1q9fX2N3kiRJktR4ytx0fg2wd9X7ScAzJesM7yb22YiYkJlriymg64ryGcBnI+IiYBTwRkS8CvykiO+uHwBk5lXAVQDNzc21kk9JkiRJajhlRgaXA1MjYkpEDAdOAlo61GkB5hSris4EXiymfnYX2wLMLV7PBW4FyMwPZebkzJwMXAL8z8z8h6K9toiYWawiOqc9RpIkSZLUMzVHBjNzS0ScCSwBmoBrMnNVRJxebL8CuB04GmgFNgGndhdbNL0AuCkiTgOeBE4o0d8zgB8Bu1JZabTjaqOSJEmSpBKisjBn/Wpubs4VK1YMdDckSXVu8vzbAFi94JgB7omkwSIzaWtr46WXXmLTpk1s3bp1oLukIaipqYnddtuNkSNHMmLECHpzq/WIuC8zmzuWl7lmUJIkSVIPZCbr1q3j5ZdfZsyYMbz97W+nqampV1/k1bgyk61bt7Jx40aee+45XnnlFcaPH99nf49MBiVJkqQ+1tbWxssvv8w73/lOmpqaBro7GqIigmHDhjFq1ChGjBjBE088QVtbGyNHjuyT9sssICNJkiSpB1566SXGjBljIqg+09TUxJgxY3jppZf6rE2TQUmSBon26w4lDX2bNm1i9913H+huqM7svvvubNq0qc/aMxmUJDWkyfNv2+HJl8md1Li2bt3qqKD6XFNTU58uRGQyKElSJ2olciZ6kmpxsRj1tb7+O2UyKEmSJEkNyGRQkiRJkhqQyaAkSV3wukJJUj0zGZQkSZKkBmQyKEmSJEkNyGRQkiRJknrgV7/6FU1NTfzmN7/pVfw111zD6NGj2bBhQx/3rGdMBiVJkiSpB77+9a/zmc98hgMOOODNsvvvv5+//Mu/5KCDDmLkyJGMGzeOP/7jP+aWW27ZLn7OnDmMHj2a733ve/3Z7e2YDEqSGtpALeDSH4vTSJL63i9/+Uvuuusu/uIv/mKb8osuuohFixYxffp0LrroIr7zne/w2muv8elPf5rzzjtvm7rDhg3jS1/6Ev/4j//I73//+/7s/jZMBiVJeovKJHUmfpJUH6688komT57M4Ycfvk35WWedxdNPP83VV1/N6aefztlnn82vfvUrZs6cyYUXXrjdlNAvfOELvPbaa1x//fX92f1tmAxKklRSx4Sus9E9kz5JGlxOPvlkdtppJ1555ZXttl177bVEBL/4xS9KtfX666/zb//2b3ziE58gIrbZdvjhh7PLLrtsU9bU1MTxxx/Pli1beOSRR7bZtvfeezNt2jRuvvnmHh5R3zEZlCRJklS3Zs6cyZYtW1i5cuU25S+//DJ/9Vd/xTHHHMNHP/rRUm3dd999bNq0iUMPPbT0/p955hkAxo8fv922GTNmcM8997B58+bS7fUlk0FJkiRJdWvGjBkArFixYpvyiy66iHXr1nHxxReXbuvhhx8GYN999y1V/+mnn+baa69lxowZvOtd79pu+7777surr77KY489VroPfWnYgOxVkqRBpHpq5+oFx5SuK0ka/A4++GB23nnnbZLBp59+mh/84AfMmzeP97znPaXbWr9+PQCjR4+uWXfTpk18+tOfZvPmzVx99dWd1tlzzz3fbHf//fcv3Y++YjIoSZIkDZB6+YGp1g9pA2n48OG8//3vZ/ny5W+WnXPOOQwbNozzzz+/V21mZrfbN2/ezPHHH8/KlSu5+eabOfDAAzut98YbbwBsd/1hfzEZlCSpn9TLlz5JGmpmzpzJwoULaWtr49FHH+W6667jwgsvZNy4cT1qp73+Cy+80GWd119/nRNPPJGlS5eyaNEiZs+e3WXd9nbGjh3bo370Fa8ZlCQNeSZZkqTuzJgxgzfeeOPNG8Pvs88+nH322T1up31KaWtra6fbt27dyhe+8AVuvfVWrrjiCv70T/+02/Z+97vfseuuu5a+BrGvOTIoSdIOZKIqSQNv5syZAJx33nnceeed/Mu//As777xzj9s55JBD2G233bj33nuZN2/eNtveeOMN5s6dy80338wll1zCn//5n9ds75577mHGjBkMHz68x33pC44MSpJUpat7B/Ykqetp/a7akCRVfPe73yUiOOKII2hra+N73/se06dPZ/To0ey8887sv//+XHjhhWzdurXT+MmTJzN+/HjuvPNOZsyYwec+97lO60UEH/7wh7vsx0477cQnP/lJlixZst11g9/4xje44YYb+OAHP8iee+7J9ddfv82j44qhTz75JA8//DCf+cxnevaH0YdKjQxGxCzg74Em4IeZuaDD9ii2Hw1sAr6Ymfd3FxsRY4AfA5OB1cCJmflCREwHrmpvGjg/M39axNwBTADa7xj58cxc1+OjliRpiGpPEgfzYg2S1Nfuv/9+oLL65kEHHcTjjz9ORPC2t72NzZs388gjj3DOOeewatUqrr/++k7baG5u5vbbb+dv//ZvO12wpa2tDYAJEyZ025cvfelL/PjHP+bOO+/kT/7kT94sv++++wC46667uOuuu7aLu/baa7eZDto+OllrKumOVHNkMCKagMuAo4BpwOcjYlqHakcBU4vHPODyErHzgWWZORVYVrwH+A3QnJkHA7OAKyOiOmk9OTMPLh4mgpIkSVKda08Gf/KTn/Dcc8+xcOFCXnrpJdra2vjd737HEUccAcANN9zAf/zHf2wXv3HjRu69915OOOEEDjvssE73cccddxARnHPOOd325YgjjuCDH/wgl1566Xbxmdnl44tf/OKbdbds2cKVV17Jl7/8ZUaNGtWTP4o+VWaa6HSgNTMfy8zNwI1AxyVxZgOLs+JuYFRETKgROxtYVLxeBBwHkJmbMnNLUb4L0P26rZIkdaMvpmxKkgbOhg0bePLJJwHYfffd+eUvf8lZZ53F7rvvDlRu3P6v//qvjBgxAoCWlpbt2jj//PPZuHEj3//+97vcz9KlSznppJO6vA1EtYsvvpif/vSnPPTQQ705JK677jpeeOEFvvOd7/Qqvq+UmSY6EXiq6v0aYEaJOhNrxO6VmWsBMnNtRIxvrxQRM4BrgHcCp1QlhwDXRsRW4CfABVnrJh+SJA0hnSWuk+ff5rRQSQ2rfVQQKtcOHnLIIdvV2XPPPTnssMNYsmTJm9fmbdiwgSVLlrB8+XIuueQSLr74YqZMmdLlfhYuXFi6T4cffniX1yeWceqpp3Lqqaf2Or6vlEkGO7sDYscErKs6ZWK3r5B5D/DeiHgPsCgifpaZr1KZIvp0RIygkgyeAizersMR86hMV2WfffaptTtJkiRJg1R7Mjh69GhOP/30Lut1vNZv6dKlfOELX+Dtb3875513Hl/72td2aD+HojLJ4Bpg76r3k4BnStYZ3k3ssxExoRgVnABsd/1fZj4cES8DBwArMvPporwtIv6ZyjTU7ZLBzLyKYhGa5uZmRw4lSYOa01glqWsrV64E4Nhjj2WXXXbpst7zzz8PwF577QXA5z73uS5XDVVFmWsGlwNTI2JKRAwHTgI6TsRtAeZExUzgxWIKaHexLcDc4vVc4FaAou6w4vU7gf2A1RExLCLGFuU7AcdSWWxGkqQ3mVhJUn1pHxlsbm7utt4999wDwPvf//4d3qd6UTMZLK7XOxNYAjwM3JSZqyLi9IhoH6e9HXgMaAWuBr7cXWwRswD4WEQ8CnyseA/w34BfR8QDwE+BL2fmc8DOwJKIeBB4AHi62JckqYG4IIwkNY6NGzfS2toKwNixY7usd8cdd7Bu3ToigqOPPvrN8kcffZSI4Iwzztgu5pZbbmHEiBG8+93v5re//W3fd34IKHWfwcy8nUrCV112RdXrBL5SNrYofx44spPy64DrOil/Gdj+alFJkupUT290D95/UFJ9eeCBB3jjjTcAWL9+fZf12lcJ/exnP8vEiRO3iYdtRwszkwsuuIC//uu/5iMf+Qg33XQTY8aM2RHdH/TKTBOVJGlQeCsjgo4mStLQU72S6M9+9rNO61x11VX8/Oc/Z5ddduFv/uZvttnWfr1hezK4adMmTjzxRM477zzOPPNMfv7znzdsIggmg5KkOlSPU0nr8ZgkqZb2ZHDUqFEsWbKEc889l7a2NgDWrl3LN77xjTengF555ZXsv//+28SvXLmSpqYmDjzwQJ544gkOO+wwWlpa+OEPf8jChQsZNqzURMm6ZTIoSWo49ZBU1cMxSFIt7SN7559/PgcccAAXXHABe+yxB3vssQfveMc7+MEPfkBEcMkllzBnzpxO49/znvewfPlyDj30UNauXcu///u/c9ppp/X3oQxKJoOSpCGpN8mQo2uSNHS89tprby7sMnPmTO68807OPPNMJk2axKuvvsrEiRM55ZRTuP/++/nqV7+6XfzatWt59tlnef755znyyCOZNGkSK1as4PDDD+/vQxm0GntcVJIkSRpALvrUtQcffJAtW7bQ1NTE+973PnbddVcuvfRSLr300lLx7aOKGzdu5PXXX+eb3/wme++9d42oxuLIoCRJkqRBpz2Z22+//dh11117Hb948WLe9a53MW/ePFatWlUjqrGYDEqSJEkadNoXjzn44IN7Fd+eDB5xxBHccsstZCaf+tSn2LBhQ5/1cagzGZQkSZI06LQng9X3COyJlStXMmXKFPbYYw8OOOAAFi1axOOPP86JJ57Ili1b+rKrQ5bJoCSpbrlYjCQNTVu2bOGhhx4Cejcy+OKLL/L4449vk0gef/zxnHPOOSxbtoyvfe1rfdbXocwFZCRJdaGRE79GPnZJ9WnYsGG88sorvY5/4IEHyMztRhW/+93v8utf/5qFCxdy0EEH8Wd/9mdvtatDmiODkiRJkupK+/WCHUcVI4IbbriB/fbbjzPOOINf/epXA9G9QcORQUmSJEl15eyzz+bss8/udNvIkSP5r//6r37u0eBkMihJGrKcHilJUu85TVSSJEmSGpAjg5KkQal91G/1gmMcAeyCfy6SpLfCkUFJkiRJakAmg5IkSZLUgEwGJUmSJKkBec2gJEl1pPo6wtULjhnAnkjKTCJioLuhOpKZfdqeI4OSJNUpF5iRBk5TUxNbt24d6G6ozmzdupWmpqY+a89kUJIkSepju+22Gxs3bhzobqjObNy4kd12263P2jMZ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\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(pKst_Bbar[:,2],density=True, label=r'$p_{K}^{y, (2)}$',bins=500);\n",
    "plt.legend(fontsize='25');\n",
    "fig = plt.gcf()\n",
    "fig.set_size_inches(15,5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "p1_Bbar_to_boost=p1_Bbar\n",
    "p2_Bbar_to_boost=p2_Bbar"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "p1_q = lorentz_boost_np(p1_Bbar_to_boost, -q_Bbar/q_Bbar[:,0:1])\n",
    "p2_q = lorentz_boost_np(p2_Bbar_to_boost, -q_Bbar/q_Bbar[:,0:1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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kiRJKmAmfZIkSZJUwLJ6pk9qDSqnlsLW9Qxt2xUmLK055nC3BJEkSVLLZdInVdu6HkbNgGkVdY+1m+otHMp2HclDA2flOpwaruYpSZK0O5M+SXuteguHoQuvzXEkkiRJaorP9EmSJElSATPpkyRJkqQCZtInSZIktWKbNm2iW7duvPbaa1m3ueCCC/je9753AKNSc/KZPrV6rtK5u5mL/5LrECRJ0kFy6623Ul5eTt++fQG49957+cEPfsCqVasAOOGEE7jxxhs577zzatpMnjyZz372s1x11VV07NgxF2FrLzjSJ1Wv0lkxBYDKLsVU3nGUSaAkSSp4H3zwAQ8++CBXXXVVTVmvXr244447WLRoEQsWLODzn/88I0eO5E9/+lNNndLSUo455hh+8pOf5CJs7SWTPqm+iil1kkBJkqR89fOf/5x27dqxevXqmrLx48fTt29f3n777Sbbz549m0MOOYTTTz+9pqyiooLhw4fzqU99imOPPZZbbrmFI444gj/84Q912o4YMYLp06c3383ogHF6p9RKOYVTkqSW74ILLuCOO+7g5ptv5oc//CF33nkn06dP53e/+x3dunVrsv28efM4+eSTiYgGz3/00Uf8/Oc/Z8uWLZx22ml1zg0aNIibb76Zbdu2cdhhhzXL/ejAMOlTq1TzHB84jVOSJLVYEcGtt97KeeedR9++fbnllluYO3cuJSUlWbVfvXo13bt336186dKlDBkyhO3bt/Oxj32MJ554gtLS0jp1evTowc6dO1m3bl3N84DKTyZ9ap2qn+PTfnmqQw/KFp1J2a4jeWjgrFyHI0kqVHeVwuY1uY5izzoWw4SlOfv6c845h1NOOYUbb7yRJ598klNOOSXrttu2bWtwRPC4445j8eLFvPvuu/ziF7/gsssuo7Kykv79+9fUqR7d27Zt2/7fhA4okz5J++zZkhsBGLrw2hxHIkkqaJvXwLc25zqKPftWblevnDt3LkuWLCGllNWUztq6dOnCpk2bditv27Ytn/rUpwAYOHAg8+fP56677mLatGk1dTZu3AhA167Omsp3LuQiab9Vj/hduWBErkORJKlF+/3vf09EMG7cOKZPn84ZZ5xBx44dad++PYMGDeL555+vU3/JkiWcf/75TJkyhZEjRzJp0qS9+r6ysjJWrFjRZL1du3axY8eOOmXLli2jR48ee51o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\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(p1_Bbar[:,0],alpha=0.5, density=True,label=r'$p_{1}^{x, (2)}$', bins=200);\n",
    "plt.hist(p1[:,0],histtype=\"step\", density=True,label=r'$p_{1}^{x, (3)}$',bins=100);\n",
    "plt.hist(p1_q[:,0],alpha=0.3,label=r'$p_{1}^{x, (3)}$ xcheck', density=True,bins=100);\n",
    "plt.legend(fontsize='20');\n",
    "fig = plt.gcf()\n",
    "fig.set_size_inches(15,5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "z=np.array([[0.,0.,0.,1.] for i in range(p1_Bbar.shape[0])])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABIEAAAGbCAYAAABTQ4CbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3deZhdZZ0v+u9LSGKEMIYhCYSgh0ECHGgg2AdsOgYERARsBxrsg+hpLh68TZrb92G4RMRuIKjHRj1OHECw+yoPoQURaAMmoMQRw+zQXGzGMIhAmoAhhLDuHwk5ValVya7Urtp71/58nicPtd+19qp312LXJl9+7+8tVVUFAAAAgJFto1ZPAAAAAIChJwQCAAAA6AJCIAAAAIAuIAQCAAAA6AJCIAAAAIAusHGrvvGECROqqVOnturbAwAAAIw4ixYt+kNVVdvUHWtZCDR16tT88pe/bNW3BwAAABhxSimP9nfMcjAAAACALiAEAgAAAOgCQiAAAACALiAEAgAAAOgCQiAAAACALiAEAgAAAOgCQiAAAACALiAEAgAAAOgCG7d6AgAAANCtli9fnueffz5Lly7NypUrWz0d2syoUaMyfvz4bLXVVhk7duygrycEAgAAgBZYvnx5HnvssWy55ZaZOnVqRo8enVJKq6dFm6iqKitWrMiLL76Yxx57LFOmTBl0EGQ5GAAAALTA888/ny233DITJkzImDFjBED0UkrJmDFjMmHChGy55ZZ5/vnnB31NIRAAAAC0wNKlS7PZZpu1ehp0gM022yxLly4d9HWEQAAAANACK1euzOjRo1s9DTrA6NGjm9IzSggEAAAALWIJGI1o1r8nQiAAAACALiAEAgAAAOgCtohvtdsu6js24+zhnwcAAAAwoqkEAgAAAOgCQiAAAACALiAEAgAAANhAL7zwQrbbbrv87ne/a/g573//+/P5z39+CGdVTwgEAAAAsIEuvPDCvPvd785b3/rWJMlFF12UAw44IJtttlm22WabHH300XnggQd6Pee8887LP/zDP+Q//uM/hnWuGkMPFQ2fAQAAYET74x//mMsuuyzf+9731ozdfvvt+e///b/ngAMOSFVV+eQnP5lDDz00v/71r7PVVlslSfbaa6+85S1vyT//8z/ntNNOG7b5CoEAAAAANsDNN9+cjTbaKAcddNCasXnz5vU655/+6Z+y+eab58c//nGOPvroNePvfe978+1vf3tYQyDLwQAAAAA2wB133JH99tsvpZR+z1m6dGlef/31bLnllr3Gp0+fnl/84hdZtmzZUE9zDSEQAAAAwGrLli3Lpz/96ey+++5505velB133DHnnHNOVqxY0efcRx99NBMnTlzn9U4//fTss88++dM//dNe45MmTcqKFSvy5JNPNnX+62I5GAAAALShg+YsyOIlw1clMlCTtxiXH5/1zlZPo6meeuqpHHbYYXnwwQdz3HHH5ZhjjsmNN96Yiy66KM8991y+/vWv9zp/2bJl2W677fq93hlnnJGFCxdm4cKFGTVqVK9j48aNW3ON4SIEAgAAgDa0eMmyPDLnqFZPo19Tz7qp1VNoqldffTVHH310Hnnkkdx2221r+vzMnj0706ZNy2WXXZbzzz8/22+//ZrnTJgwIS+88ELt9f72b/82V199dW677ba85S1v6XP8+eefT5Jss802Q/Bq6lkOBgAAAHS9z33uc1m0aFEuvvjiXo2eN9100xx33HF5/fXXc8cdd/R6zr777ptf//rXfa51+umn51vf+lYWLFiQ3Xffvfb7PfDAA5k0adI6K4maTQgEAAAAtIXbb789H/rQh7LDDjtk7NixmThxYg4//PBcf/31a86pqipXXnllDjnkkGy99dYZN25c9t1331x11VX9XveOO+7I+973vrz1rW/Nm970pmy77baZPn16zjnnnCSrlmR99rOfzcSJE3PKKaf0ef7WW2+dJHn66ad7jR9++OH5zW9+k+eee27N2GmnnZZvfOMb+fa3v50tt9wyTz/9dJ5++um89NJLfeZ0xBFHDPyHNAhCIAAAAKDlZs2alRkzZmTBggU59NBDc8YZZ2TGjBlZtGhRfvKTnyRZFdYcccQROfnkk7NkyZKcdNJJOfnkk/P000/nIx/5SC688MI+173wwgvzZ3/2Z1m0aFFmzpyZM844I0cffXSWL1+e73//+0mS6667LkuWLMkJJ5yQ0aNH97nGK6+8kiQZM2ZMr/G99tor06dPz9VXX71m7Ctf+UqWLl2amTNnZuLEiWv+fO5zn+t1veuuuy5//dd/Pfgf3ADoCQQAAAC01DnnnJMvfOEL+Yu/+ItcddVV2WSTTdYce+mll9ZU2pxwwgm55ZZbcsEFF6yp4kmS888/P7vvvns+/elP5+Mf//ia7difeeaZfPKTn8zBBx+c+fPn9wlx/vCHPyRJbrppVX+jxYsX51Of+lSf+f3gBz9Ikuy44459jp133nk5/fTTc+qpp2bUqFGpqmq9r/fyyy/PgQcemLe//e3rPbeZhEAAAABAy9x99925+OKLs//+++db3/pWn6Bm0003zaabbpobb7wx119/fT7wgQ/0CoCSVc2V3/Oe9+Sb3/xm7rrrrsycOTNJ8tvf/jYrV67Mrrvu2ue6yarGzkmycOHCJOlV0VNnjz326DN2xBFH5LTTTssTTzyRnXbaqaHXPHr06HzpS19q6NxmEgINp9suavUMAAAAoK18/vOfz+uvv545c+bUBjVvuPTSS5MkZ555Zu3xN/r2rFy5cs3YtGnTsvnmm+eKK67Is88+mxNPPDHvete71lQKJcnLL7+cxx57LHvuuWfuv//+Ptd96aWXstVWW2W77bbL1KlTa7/33/zN36z3dfZU13doOOgJBAAAALTMvHnzsuWWW2bGjBnrPO+HP/xhNttss+y33361x5966qkkyZQpU9aMTZgwIQsXLsz73//+zJ8/P8cff3y22WabHHnkkbnrrruSrFoCliSTJk3qd34rVqzIUUcdNeDX1m6EQAAAAEBLvPLKK3n22Wez0047ZaON+o8oli5dmhdffLHfSpyVK1fmhz/8YbbddtvstttuvY7tueeemTt3bl544YXceuuted/73pfvf//7ede73pXly5fn1VdfTZKMHTu29trf+MY3kiQf/ehHe42feeaZOeywwxp9qW1BCAQAAAC0xBtNlH//+9+v87yxY8dmo402ygsvvFB7/Morr8xTTz2Vk08+OaWU2nPGjBmTQw89NNdcc00OPvjgPPfcc3nmmWey/fbbJ+m7/XuS/OxnP8vNN9+cI488MtOnT+917J577sk+++yz3tfYToRAI81tF9X/AQAAgDYzbty47LnnnnnyySdzzTXX9Dn+4IMPZuXKlRkzZkwOOOCAPP7442t26nrD/Pnzc/rpp2fq1Kk5++yz14zffffd+d3vftfnmg899FAeeOCBTJkyJTvssEMmTJiQt73tbVm0aFHuu+++Nec9+uijOf7447P55pvnK1/5Sp/r3Hvvvdl3330H8/KHncbQnUy4AwAAQIebM2dO3vve9+b444/PVVddlWnTpmXJkiW555578vjjj6/p9XPBBRfk8MMPz3ve85588IMfzKRJk3Lvvfdm3rx52WmnnXLrrbdm8803X3PdL37xi7nqqqsyffr0TJs2Ldtuu20efvjh3HDDDUmSK664Ys0StHPPPTcnnnhiZs6cmQ9/+MN5+eWXc80116SUkptuuqnPMrSnn346zzzzTMdVAgmBAAAAgJY56qijcvvtt2fOnDn56U9/mltuuSUTJkzIXnvtldNPP33NeTNnzsz8+fNz/vnn5zvf+U6SZOedd87s2bPzd3/3dxk/fnyv6x5zzDF57bXX8otf/CJz587NK6+8kkmTJuWEE07ImWeemV122WXNuSeccEJWrFiRz3zmM/nqV7+aCRMm5IMf/GDOO++8TJ48uc+c77777owbN65P/6F2JwQCAACANjR5i3GZetZNrZ5GvyZvMa5p13rHO96Rd7zjHes975BDDsmCBQsauuaxxx6bY489tuE5nHTSSTnppJMaOveee+7JXnvtlVGjRjV8/XYgBAIAAIA29OOz3tnqKdCPTmwKnTTYGLqUckQp5d9KKQ+VUs6qOb55KeV7pZR7Sym/KqWc3PypAgAAALTeiA2BSimjknw5yZFJ9kjyl6WUPdY67bQkv66q6j8n+fMk/6OUMqbJcwUAAABoqT/+8Y956KGHOm5nsKSxSqDpSR6qqurfq6p6NcnVSY5Z65wqyfhSSkmyaZLnk7zW1JkCAAAAtNi9996bJNl7771bPJOBa6Qn0OQkj/d4/ESSA9c6538muSHJk0nGJ/lQVVWvr32hUsopSU5JkilTpmzIfNuTrdoBAACgK9x7773ZZZdd8uY3v7nVUxmwRkKgUjNWrfX48CT3JHlnkrcmubWUckdVVS/2elJVXZrk0iTZf//9174GQ6kuqJpx9vDPAwAAADrYqaeemlNPPbXV09ggjYRATyTZscfjHbKq4qenk5PMqaqqSvJQKeXhJLsn+UVTZolqIwAAAGBQGukJdGeSXUopO69u9nx8Vi396umxJDOTpJSyXZLdkvx7MycKAAAAwIZbbyVQVVWvlVI+kWReklFJrqiq6lellFNXH/9akr9PcmUp5f6sWj52ZlVVfxjCeQMAAAAwAI0sB0tVVTcnuXmtsa/1+PrJJO9q7tQAAAAAaJZGloMBAAAA0OGEQAAAAABdQAgEAAAA0AWEQAAAAABdoKHG0Ayz2y5q9QwAAACAEUYlEAAAAEAXUAnEhqmrVppx9vDPAwAAAGiISiAAAACALiAEAgAAAOgCQiAAAACADfTCCy9ku+22y+9+97uGn/P+978/n//854dwVvX0BKJ79Lfrml5GAAAAbKALL7ww7373u/PWt741SfLlL385X//61/PII48kSaZNm5Zzzz03Rx111JrnnHfeeTnkkEPysY99LJtvvvmwzVUlEAAAAMAG+OMf/5jLLrssH/vYx9aM7bDDDrn44otz11135Ze//GXe+c535thjj81999235py99torb3nLW/LP//zPwzpflUDdrFU7fNlZDAAAgBHg5ptvzkYbbZSDDjpozdgxxxzT65wLLrggX/3qV/PTn/40e++995rx9773vfn2t7+d0047bdjmKwSifQmLAAAAaGN33HFH9ttvv5RSao+vXLkyc+fOzUsvvZT/8l/+S69j06dPzz/8wz9k2bJlGTdu3HBM13IwAAAAgDcsW7Ysn/70p7P77rvnTW96U3bcccecc845WbFiRZ9zH3300UycOLHP+P33359NN900Y8eOzamnnprrrrsue+21V69zJk2alBUrVuTJJ58csteyNpVA9Kb6BgAAoD30t7lNuxiBf1d86qmncthhh+XBBx/Mcccdl2OOOSY33nhjLrroojz33HP5+te/3uv8ZcuWZbvttutznd122y333HNPlixZkn/5l3/JSSedlNtvvz177rnnmnPeqP5ZtmzZ0L6oHoRAI8zlCx/O0uV908nxY0fnYwfv3IIZAQAAQPt79dVXc/TRR+eRRx7JbbfdtqbPz+zZszNt2rRcdtllOf/887P99tuvec6ECRPywgsv9LnWmDFj8p/+039Kkuy///65884784//+I+5/PLL15zz/PPPJ0m22WaboXxZvVgONsIsXb4is2bu2udPXTAEAAAArPK5z30uixYtysUXX9yr0fOmm26a4447Lq+//nruuOOOXs/Zd9998+tf/3q913799dezfPnyXmMPPPBAJk2aVFtJNFSEQAAAAEBbuP322/OhD30oO+ywQ8aOHZuJEyfm8MMPz/XXX7/mnKqqcuWVV+aQQw7J1ltvnXHjxmXffffNVVdd1e9177jjjrzvfe/LW9/61rzpTW/Ktttum+nTp+ecc85JsmpJ1mc/+9lMnDgxp5xySp/nb7311kmSp59+utf44Ycfnt/85jd57rnn1oydddZZueOOO/LII4/k/vvvz9lnn53bb789J554Yp85HXHEEQP/IQ2CEAgAAABouVmzZmXGjBlZsGBBDj300JxxxhmZMWNGFi1alJ/85CdJVoU1RxxxRE4++eQsWbIkJ510Uk4++eQ8/fTT+chHPpILL7ywz3UvvPDC/Nmf/VkWLVqUmTNn5owzzsjRRx+d5cuX5/vf/36S5LrrrsuSJUtywgknZPTo0X2u8corryRZtcyrp7322ivTp0/P1VdfvWbs6aefzoc//OHstttumTlzZu68887867/+a4488she17vuuuvy13/914P/wQ2AnkCsX7s3IwMAAKCjnXPOOfnCF76Qv/iLv8hVV12VTTbZZM2xl156aU2lzQknnJBbbrklF1xwwZoqniQ5//zzs/vuu+fTn/50Pv7xj2fLLbdMkjzzzDP55Cc/mYMPPjjz58/vE+L84Q9/SJLcdNNNSZLFixfnU5/6VJ/5/eAHP0iS7Ljjjn2OnXfeeTn99NNz6qmnZtSoUbnyyivX+3ovv/zyHHjggXn729++3nObSQgEAAAAtMzdd9+diy++OPvvv3++9a1v9QlqNt1002y66aa58cYbc/311+cDH/hArwAoWdVc+T3veU+++c1v5q677srMmTOTJL/97W+zcuXK7Lrrrn2um6xq7JwkCxcuTJJeFT119thjjz5jRxxxRE477bQ88cQT2WmnnRp6zaNHj86XvvSlhs5tJiEQAAAA0DKf//zn8/rrr2fOnDm1Qc0bLr300iTJmWeeWXv8jb49K1euXDM2bdq0bL755rniiivy7LPP5sQTT8y73vWuNZVCSfLyyy/nsccey5577pn777+/z3VfeumlbLXVVtluu+0yderU2u/9N3/zN+t9nT3V9R0aDkIghl3dNvZzf74gPz7rnS2aEQAAAK0yb968bLnllpkxY8Y6z/vhD3+YzTbbLPvtt1/t8aeeeipJMmXKlDVjEyZMyMKFC3P++efn5ptvzve+972MGjUqhx12WC644IL8yZ/8SRYvXpwkmTRpUr/zW7FiRY466qgNeXltRQjEsHtjG/ueLpm3rLnfRB8jAACAtvfKK6/k2WefzT777JONNup/76qlS5fmxRdfzN577117fOXKlfnhD3+YbbfdNrvttluvY3vuuWfmzp2bV199NT/60Y9y6aWXZu7cubnzzjuzePHivPrqq0mSsWPH1l77G9/4RpLkox/9aK/xM888M3fddVduvfXWhl9vq9kdDAAAAGiJqqqSJL///e/Xed7YsWOz0UYb5YUXXqg9fuWVV+app57KySefnFJK7TljxozJoYcemmuuuSYHH3xwnnvuuTzzzDPZfvvtk/Td/j1Jfvazn+Xmm2/OkUcemenTp/c6ds8992SfffZZ72tsJ0KgNnT5wodzyfwHe/25fOHDrZ4WAAAANNW4ceOy55575sknn8w111zT5/iDDz6YlStXZsyYMTnggAPy+OOPr9mp6w3z58/P6aefnqlTp+bss89eM3733Xfnd7/7XZ9rPvTQQ3nggQcyZcqU7LDDDpkwYULe9ra3ZdGiRbnvvvvWnPfoo4/m+OOPz+abb56vfOUrfa5z7733Zt999x3Myx92loO1odrlUvMfbNFsAAAAYOjMmTMn733ve3P88cfnqquuyrRp07JkyZLcc889efzxx9f0+rngggty+OGH5z3veU8++MEPZtKkSbn33nszb9687LTTTrn11luz+eabr7nuF7/4xVx11VWZPn16pk2blm233TYPP/xwbrjhhiTJFVdcsWYJ2rnnnpsTTzwxM2fOzIc//OG8/PLLueaaa1JKyU033dSnIfTTTz+dZ555puMqgYRAtIVZG1+b3Hbf+k8EAABgRDnqqKNy++23Z86cOfnpT3+aW265JRMmTMhee+2V008/fc15M2fOzPz583P++efnO9/5TpJk5513zuzZs/N3f/d3GT9+fK/rHnPMMXnttdfyi1/8InPnzs0rr7ySSZMm5YQTTsiZZ56ZXXbZZc25J5xwQlasWJHPfOYz+epXv5oJEybkgx/8YM4777xMnjy5z5zvvvvujBs3rk//oXYnBGqCut2uxo8dnY8dvHOLZjSC1TV8nnF23zEAAIBO10V/13nHO96Rd7zjHes975BDDsmCBQsauuaxxx6bY489tuE5nHTSSTnppJMaOveee+7JXnvtlVGjRjV8/XYgBGoCy7cAAACge3RiU+hEY2gAAACAAenUEEglEL0MammbpVoAAACMcH/84x/z0EMPddzOYIkQqKP1F9gM9vmNLG1rNCw6aM6CLF6yrNfY7E0anyMAAAC0k3vvvTdJsvfee7d4JgMnBOoQ48eO7hPG1AU2A1HXy2gw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\n",
      "text/plain": [
       "<Figure size 1440x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "cos_theta_l_np_Bbar=get_costheta_l_np(p1_Bbar,z)\n",
    "cos_theta_l_np_q=get_costheta_l_np(p1_q,z)\n",
    "plt.hist(cos_theta_l_np_Bbar,bins=200, histtype=\"step\", label=r'$cos\\theta_{l}^{(2)}$', density=True);\n",
    "plt.hist(cos_theta_l_np_q,bins=200, alpha=0.5,label=r'$cos\\theta_{l}^{(3)}$',density=True);\n",
    "plt.legend(fontsize='20');\n",
    "fig = plt.gcf()\n",
    "fig.set_size_inches(20,7)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "if TASK=='SAMPLE':\n",
    "    \n",
    "    MC_tuple = {}\n",
    "    \n",
    "    #MC_tuple['pB_Bbar']=pB_Bbar\n",
    "    MC_tuple['pKst_Bbar']=pKst_Bbar\n",
    "    #MC_tuple['k_Bbar']=k_Bbar\n",
    "    MC_tuple['q_Bbar']=q_Bbar\n",
    "    MC_tuple['p1_Bbar']=p1_Bbar\n",
    "    MC_tuple['p2_Bbar']=p2_Bbar\n",
    "    MC_tuple['p1']=p1\n",
    "    MC_tuple['p2']=p2\n",
    "    MC_tuple['cos_theta_l(2)']=cos_theta_l_np_Bbar\n",
    "    MC_tuple['cos_theta_l(3)']=cos_theta_l_np_q\n",
    "    MC_tuple['q2']=q2vals\n",
    "\n",
    "    with open('new_MC_tuple_B-toK-mumu_50K_100eVCutOff_trial.pickle','wb') as handle:\n",
    "        pickle.dump(MC_tuple, handle)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "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.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}