Newer
Older
HCAL_project / calo_images_piplus.ipynb
@Davide Lancierini Davide Lancierini on 8 Feb 2019 26 KB Extended to full event conversion
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/hep/davide/miniconda3/envs/root_env/lib/python2.7/site-packages/root_numpy/_tree.py:5: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility\n",
      "  from . import _librootnumpy\n"
     ]
    }
   ],
   "source": [
    "import root_numpy as rn\n",
    "import ROOT as r\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "file_name='B2Dmunu_full'\n",
    "file_path='/disk/lhcb_data/davide/HCAL_project_full_event/'+file_name+'.root'\n",
    "tree_name='Bd2Dmu/DecayTree'\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "f = r.TFile(file_path)\n",
    "t = f.Get(tree_name)\n",
    "j=t.GetEntries()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "#b=r.TBrowser()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "batch_size=20000\n",
    "#n_batches=2\n",
    "N = j\n",
    "n_batches= N//batch_size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "particle = 'pi1'\n",
    "variable = 'ET'\n",
    "\n",
    "cal_zone = 'inner'\n",
    "\n",
    "cellsET_inner_dict={}\n",
    "\n",
    "for j in range(n_batches):\n",
    "    cellsET_inner_dict[j]=rn.root2array(\n",
    "        filenames=file_path, \n",
    "        treename=tree_name,\n",
    "        branches=particle+'_L0Calo_HCAL_Cells'+variable+'_'+cal_zone,#\"B0_L0HadronDecision_TOS\",\"B0_L0HadronDecision_TIS\"],\n",
    "        start=j*batch_size,\n",
    "        stop=(j+1)*batch_size,\n",
    "    )\n",
    "    \n",
    "    cellsET_inner_dict[j]=np.array([cellsET_inner_dict[j][i] for i in range(batch_size)])\n",
    "    np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j), cellsET_inner_dict[j])\n",
    "\n",
    "if N % batch_size != 0:\n",
    "    \n",
    "    cellsET_inner_dict[j+1]=rn.root2array(\n",
    "        filenames=file_path,\n",
    "        treename=tree_name,\n",
    "        branches=particle+'_L0Calo_HCAL_Cells'+variable+'_'+cal_zone,# \"B0_L0HadronDecision_TOS\",\"B0_L0HadronDecision_TIS\"],\n",
    "        start=n_batches*batch_size,\n",
    "        stop=N,\n",
    "    ) \n",
    "    cellsET_inner_dict[j+1]=np.array([cellsET_inner_dict[j+1][i] for i in range((N % batch_size))])\n",
    "    np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j+1), cellsET_inner_dict[j+1])\n",
    "    \n",
    "particle = 'pi1'\n",
    "variable = 'ET'\n",
    "\n",
    "cal_zone='outer'\n",
    "\n",
    "cellsET_outer_dict ={}\n",
    "\n",
    "for j in range(n_batches):\n",
    "    cellsET_outer_dict[j]=rn.root2array(\n",
    "        filenames=file_path, \n",
    "        treename=tree_name,\n",
    "        branches=particle+'_L0Calo_HCAL_Cells'+variable+'_'+cal_zone,# \"B0_L0HadronDecision_TOS\",\"B0_L0HadronDecision_TIS\"],\n",
    "        start=j*batch_size,\n",
    "        stop=(j+1)*batch_size,\n",
    "    )\n",
    "    cellsET_outer_dict[j]=np.array([cellsET_outer_dict[j][i] for i in range(batch_size)])\n",
    "    np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j),  cellsET_outer_dict[j])\n",
    "\n",
    "if N % batch_size != 0:\n",
    "    \n",
    "    cellsET_outer_dict[j+1]=rn.root2array(\n",
    "        filenames=file_path,\n",
    "        treename=tree_name,\n",
    "        branches=particle+'_L0Calo_HCAL_Cells'+variable+'_'+cal_zone,# \"B0_L0HadronDecision_TOS\",\"B0_L0HadronDecision_TIS\"],\n",
    "        start=n_batches*batch_size,\n",
    "        stop=N,\n",
    "    ) \n",
    "    cellsET_outer_dict[j+1]=np.array([cellsET_outer_dict[j+1][i] for i in range((N % batch_size))])\n",
    "    np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j+1),  cellsET_outer_dict[j+1]) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "invalid syntax (<ipython-input-7-7befa847dcbe>, line 6)",
     "output_type": "error",
     "traceback": [
      "\u001b[0;36m  File \u001b[0;32m\"<ipython-input-7-7befa847dcbe>\"\u001b[0;36m, line \u001b[0;32m6\u001b[0m\n\u001b[0;31m    if cellsET_inner_dict[j][i][1]: and not cellsET_inner_dict[j][i][2]:\u001b[0m\n\u001b[0m                                      ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n"
     ]
    }
   ],
   "source": [
    "cellsET_inner_dict_TOS={}\n",
    "\n",
    "for j in range(n_batches):\n",
    "    cellsET_inner_dict_TOS[j]=[]\n",
    "    for i in range(100):\n",
    "        if cellsET_inner_dict[j][i][1]: and not cellsET_inner_dict[j][i][2]:\n",
    "            cellsET_inner_dict_TOS[j].append(cellsET_inner_dict[j][i][0])\n",
    "    cellsET_inner_dict_TOS[j]=np.array(cellsET_inner_dict_TOS[j])\n",
    "    \n",
    "cellsET_inner_dict_TIS={}\n",
    "\n",
    "for j in range(n_batches):\n",
    "    cellsET_inner_dict_TIS[j]=[]\n",
    "    for i in range(100):\n",
    "        if cellsET_inner_dict[j][i][2]:\n",
    "            cellsET_inner_dict_TIS[j].append(cellsET_inner_dict[j][i][0])\n",
    "    cellsET_inner_dict_TIS[j]=np.array(cellsET_inner_dict_TIS[j])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(17, 32, 32)"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cellsET_inner_dict_TOS[0].shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "cellsET_outer_dict_TOS={}\n",
    "\n",
    "for j in range(n_batches):\n",
    "    cellsET_outer_dict_TOS[j]=[]\n",
    "    for i in range(100):\n",
    "        if cellsET_outer_dict[j][i][1] and not cellsET_inner_dict[j][i][2]:\n",
    "            cellsET_outer_dict_TOS[j].append(cellsET_outer_dict[j][i][0])\n",
    "    cellsET_outer_dict_TOS[j]=np.array(cellsET_outer_dict_TOS[j])\n",
    "    \n",
    "cellsET_outer_dict_TIS={}\n",
    "\n",
    "for j in range(n_batches):\n",
    "    cellsET_outer_dict_TIS[j]=[]\n",
    "    for i in range(100):\n",
    "        if cellsET_outer_dict[j][i][2]:\n",
    "            cellsET_outer_dict_TIS[j].append(cellsET_outer_dict[j][i][0])\n",
    "    cellsET_outer_dict_TIS[j]=np.array(cellsET_outer_dict_TIS[j])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x7fcc1894d710>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "batch=10\n",
    "n=4\n",
    "plt.imshow(cellsET_inner_dict[batch][n],cmap='gray')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x7fcc18901d90>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "batch=10\n",
    "n=4\n",
    "plt.imshow(cellsET_outer_dict[batch][n],cmap='gray')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "for j in range(n_batches):\n",
    "\n",
    "    np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j), cellsET_inner_dict[j])\n",
    "    #np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j+1), cellsET_inner_dict[j+1])\n",
    "\n",
    "    np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j),  cellsET_outer_dict[j])\n",
    "    #np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j+1),  cellsET_outer_dict[j+1]) \n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [],
   "source": [
    "#particle = 'piplus'\n",
    "#cal_zone = 'inner'\n",
    "#variable = 'X'\n",
    "#\n",
    "#cellsX_inner_dict={}\n",
    "#\n",
    "#for j in range(n_batches):\n",
    "#    cellsX_inner_dict[j]=rn.root2array(\n",
    "#        filenames=file_path, \n",
    "#        treename=tree_name,\n",
    "#        branches=particle+'_L0Calo_HCAL_Cells'+variable+'_'+cal_zone,\n",
    "#        start=j*batch_size,\n",
    "#        stop=(j+1)*batch_size,\n",
    "#    )\n",
    "#    \n",
    "#    cellsX_inner_dict[j]=np.array([cellsX_inner_dict[j][i] for i in range(batch_size)])\n",
    "#    np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j), cellsX_inner_dict[j])\n",
    "#\n",
    "#if N % batch_size != 0:\n",
    "#    \n",
    "#    cellsX_inner_dict[j+1]=rn.root2array(\n",
    "#        filenames=file_path,\n",
    "#        treename=tree_name,\n",
    "#        branches=particle+'_L0Calo_HCAL_Cells'+variable+'_'+cal_zone,\n",
    "#        start=n_batches*batch_size,\n",
    "#        stop=N,\n",
    "#    ) \n",
    "#    cellsX_inner_dict[j+1]=np.array([cellsX_inner_dict[j+1][i] for i in range((N % batch_size))])\n",
    "#    np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j+1), cellsX_inner_dict[j+1])\n",
    "#    \n",
    "#variable = 'Y'\n",
    "#\n",
    "#cellsY_inner_dict ={}\n",
    "#\n",
    "#for j in range(n_batches):\n",
    "#    cellsY_inner_dict[j]=rn.root2array(\n",
    "#        filenames=file_path, \n",
    "#        treename=tree_name,\n",
    "#        branches=particle+'_L0Calo_HCAL_Cells'+variable+'_'+cal_zone,\n",
    "#        start=j*batch_size,\n",
    "#        stop=(j+1)*batch_size,\n",
    "#    )\n",
    "#    cellsY_inner_dict[j]=np.array([cellsY_inner_dict[j][i] for i in range(batch_size)])\n",
    "#    np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j), cellsY_inner_dict[j])\n",
    "#\n",
    "#if N % batch_size != 0:\n",
    "#    \n",
    "#    cellsY_inner_dict[j+1]=rn.root2array(\n",
    "#        filenames=file_path,\n",
    "#        treename=tree_name,\n",
    "#        branches=particle+'_L0Calo_HCAL_Cells'+variable+'_'+cal_zone,\n",
    "#        start=n_batches*batch_size,\n",
    "#        stop=N,\n",
    "#    ) \n",
    "#    cellsY_inner_dict[j+1]=np.array([cellsY_inner_dict[j+1][i] for i in range((N % batch_size))])\n",
    "#    np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j+1), cellsY_inner_dict[j+1])\n",
    "\n",
    "#particle = 'piplus'\n",
    "#cal_zone = 'outer'\n",
    "#variable = 'X'\n",
    "#\n",
    "#cellsX_outer_dict={}\n",
    "#\n",
    "#for j in range(n_batches):\n",
    "#    cellsX_outer_dict[j]=rn.root2array(\n",
    "#        filenames=file_path, \n",
    "#        treename=tree_name,\n",
    "#        branches=particle+'_L0Calo_HCAL_Cells'+variable+'_'+cal_zone,\n",
    "#        start=j*batch_size,\n",
    "#        stop=(j+1)*batch_size,\n",
    "#    )\n",
    "#    \n",
    "#    cellsX_outer_dict[j]=np.array([cellsX_outer_dict[j][i] for i in range(batch_size)])\n",
    "#    np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j), cellsX_outer_dict[j])\n",
    "#\n",
    "#if N % batch_size != 0:\n",
    "#    \n",
    "#    cellsX_outer_dict[j+1]=rn.root2array(\n",
    "#        filenames=file_path,\n",
    "#        treename=tree_name,\n",
    "#        branches=particle+'_L0Calo_HCAL_Cells'+variable+'_'+cal_zone,\n",
    "#        start=n_batches*batch_size,\n",
    "#        stop=N,\n",
    "#    ) \n",
    "#    cellsX_outer_dict[j+1]=np.array([cellsX_outer_dict[j+1][i] for i in range((N % batch_size))])\n",
    "#    np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j+1), cellsX_outer_dict[j+1])\n",
    "#    \n",
    "#variable = 'Y'\n",
    "#\n",
    "#cellsY_outer_dict ={}\n",
    "#\n",
    "#for j in range(n_batches):\n",
    "#    cellsY_outer_dict[j]=rn.root2array(\n",
    "#        filenames=file_path, \n",
    "#        treename=tree_name,\n",
    "#        branches=particle+'_L0Calo_HCAL_Cells'+variable+'_'+cal_zone,\n",
    "#        start=j*batch_size,\n",
    "#        stop=(j+1)*batch_size,\n",
    "#    )\n",
    "#    cellsY_outer_dict[j]=np.array([cellsY_outer_dict[j][i] for i in range(batch_size)])\n",
    "#    np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j), cellsY_outer_dict[j])\n",
    "#\n",
    "#if N % batch_size != 0:\n",
    "#    \n",
    "#    cellsY_outer_dict[j+1]=rn.root2array(\n",
    "#        filenames=file_path,\n",
    "#        treename=tree_name,\n",
    "#        branches=particle+'_L0Calo_HCAL_Cells'+variable+'_'+cal_zone,\n",
    "#        start=n_batches*batch_size,\n",
    "#        stop=N,\n",
    "#    ) \n",
    "#    cellsY_outer_dict[j+1]=np.array([cellsY_outer_dict[j+1][i] for i in range((N % batch_size))])\n",
    "#    np.save('/disk/lhcb_data/davide/HCAL_project_full_event/npy/'+file_name+'/'+variable+'_'+cal_zone+'/batch_'+str(j+1), cellsY_outer_dict[j+1]) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.15"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}