Newer
Older
HCAL_project / create_true_images.ipynb
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import os\n",
    "import pickle\n",
    "import sys"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "width_X=8404.0\n",
    "width_Y=6828.0\n",
    "#number of events\n",
    "batch_size=20000\n",
    "X_pixels=64\n",
    "Y_pixels=52"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "with open('/disk/lhcb_data/davide/HCAL_project_full_event/csv/MCtracker_info.pickle', 'rb') as f:\n",
    "    tracks=pickle.load(f)\n",
    "    \n",
    "n_batches=len(tracks['xProjections'])\n",
    "\n",
    "tracks['pi1_xProjection'][0][0] in tracks['xProjections'][0][0][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "for j in range(n_batches):\n",
    "    for i in range(batch_size):\n",
    "        tracks['xProjections'][j][i][0]/=(width_X/2)\n",
    "        tracks['xProjections'][j][i][0]*=32\n",
    "        tracks['xProjections'][j][i][0]+=32\n",
    "\n",
    "        \n",
    "for j in range(n_batches):\n",
    "    for i in range(batch_size):\n",
    "        tracks['yProjections'][j][i][0]/=(width_Y/2)\n",
    "        tracks['yProjections'][j][i][0]*=26\n",
    "        tracks['yProjections'][j][i][0]+=26\n",
    "\n",
    "for j in range(n_batches):\n",
    "    for i in range(batch_size):\n",
    "        tracks['pi1_xProjection'][j][i]/=(width_X/2)\n",
    "        tracks['pi1_xProjection'][j][i]*=32\n",
    "        tracks['pi1_xProjection'][j][i]+=32\n",
    "\n",
    "        \n",
    "for j in range(n_batches):\n",
    "    for i in range(batch_size):\n",
    "        tracks['pi1_yProjection'][j][i]/=(width_Y/2)\n",
    "        tracks['pi1_yProjection'][j][i]*=26\n",
    "        tracks['pi1_yProjection'][j][i]+=26       \n",
    "        \n",
    "for j in range(n_batches):\n",
    "    for i in range(batch_size):\n",
    "        tracks['pi2_xProjection'][j][i]/=(width_X/2)\n",
    "        tracks['pi2_xProjection'][j][i]*=32\n",
    "        tracks['pi2_xProjection'][j][i]+=32\n",
    "\n",
    "        \n",
    "for j in range(n_batches):\n",
    "    for i in range(batch_size):\n",
    "        tracks['pi2_yProjection'][j][i]/=(width_Y/2)\n",
    "        tracks['pi2_yProjection'][j][i]*=26\n",
    "        tracks['pi2_yProjection'][j][i]+=26\n",
    "\n",
    "for j in range(n_batches):\n",
    "    for i in range(batch_size):\n",
    "        tracks['K_xProjection'][j][i]/=(width_X/2)\n",
    "        tracks['K_xProjection'][j][i]*=32\n",
    "        tracks['K_xProjection'][j][i]+=32\n",
    "\n",
    "        \n",
    "for j in range(n_batches):\n",
    "    for i in range(batch_size):\n",
    "        tracks['K_yProjection'][j][i]/=(width_Y/2)\n",
    "        tracks['K_yProjection'][j][i]*=26\n",
    "        tracks['K_yProjection'][j][i]+=26        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([ 26.366026  ,  32.283485  ,  43.76675   ,  40.5049    ,\n",
       "        26.017092  ,  25.059456  ,  11.166256  ,  32.01572   ,\n",
       "        46.174244  ,  37.074677  ,  29.652033  ,  42.82162   ,\n",
       "        -4.8200912 ,   5.0072193 ,  17.069355  ,  23.731718  ,\n",
       "        44.455063  ,  55.73885   ,  30.468227  ,  56.224937  ,\n",
       "        26.463978  ,  12.707497  ,  41.476982  ,  32.009785  ,\n",
       "        11.1635895 ,  29.462578  ,  43.270424  ,  40.199158  ,\n",
       "        37.376354  ,  31.979446  ,  -5.9480743 ,  33.48986   ,\n",
       "        -0.35655975,  11.592337  ,  46.973446  ,  40.964615  ,\n",
       "        24.896637  ,  40.067432  ,  -4.4417343 ,  10.579229  ,\n",
       "       -16.302044  ,  30.109873  ,  36.19085   ,  10.674828  ,\n",
       "        34.354465  ,  51.943687  ,  37.02441   ,  68.699234  ,\n",
       "         4.2089787 ,  29.306755  ,  31.927109  ,  17.94367   ,\n",
       "        46.051395  ,  40.864464  ,   9.20113   ,  30.551847  ,\n",
       "        59.26765   ,  21.558033  ,  36.4137    ,  43.763763  ,\n",
       "        31.440235  ,  29.761326  ,  39.14627   ,  21.2994    ,\n",
       "        13.478554  ,  31.528143  ,  62.70546   ,  18.237343  ,\n",
       "        35.2656    ,  12.071615  ,  20.394001  ,  28.785568  ,\n",
       "        35.621407  ,  54.64473   ,   8.858938  ,  72.147156  ,\n",
       "        47.763863  ,  25.496136  ,  26.082474  ,  26.931595  ,\n",
       "        27.804598  ,  38.213768  ,  63.684364  , -12.207516  ,\n",
       "        -1.8446388 ,  44.428505  ,  -7.9377556 ,  50.85122   ,\n",
       "        45.11862   ,  35.516087  ,  62.596184  ,   9.868935  ],\n",
       "      dtype=float32),)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tracks['xProjections'][0][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "#for j in range(n_batches):\n",
    "#    for i in range(batch_size):\n",
    "#        tracks[\"xProjections\"][j][i][0]/=(width_X/2)\n",
    "#        tracks[\"yProjections\"][j][i][0]/=(width_Y/2)\n",
    "#        \n",
    "#        tracks[\"xProjections\"][j][i][0]*=32\n",
    "#        tracks[\"yProjections\"][j][i][0]*=26\n",
    "#       \n",
    "#        tracks[\"xProjections\"][j][i][0]+=32\n",
    "#        tracks[\"yProjections\"][j][i][0]+=26\n",
    "#        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "pics_dict_flip = {}\n",
    "pics_dict = {}\n",
    "for n in range(n_batches):\n",
    "    \n",
    "    pic = np.zeros(shape=(Y_pixels,X_pixels,1),dtype=np.float32)\n",
    "    batch_size = tracks['pi1_region'][0].shape[0]\n",
    "    pics_dict[n]={}\n",
    "    pics_dict_flip[n]={}\n",
    "    pics_dict[n]['pic']=np.array([pic for i in range(0,batch_size)])\n",
    "    pics_dict_flip[n]['pic']=np.array([pic for i in range(0,batch_size)])\n",
    "    \n",
    "    pics_dict[n]['L0HadronDec_TIS']=np.empty(shape=(batch_size,),dtype='bool')\n",
    "    pics_dict[n]['L0HadronDec_TOS']=np.empty(shape=(batch_size,),dtype='bool')\n",
    "    \n",
    "    for event in range(batch_size):\n",
    "        #if event not in pos_rejected[n]:\n",
    "            pics_dict[n]['L0HadronDec_TIS'][event]=tracks['L0HadronDec_TIS'][n][event]\n",
    "            pics_dict[n]['L0HadronDec_TOS'][event]=tracks['L0HadronDec_TOS'][n][event]\n",
    "            \n",
    "            for ntrack in range(tracks['yProjections'][n][event][0].shape[0]):\n",
    "            \n",
    "                y=int(np.floor(tracks['yProjections'][n][event][0][ntrack]))\n",
    "                x=int(np.floor(tracks['xProjections'][n][event][0][ntrack]))\n",
    "            \n",
    "                if 0<x<X_pixels:\n",
    "                    if 0<y<Y_pixels:\n",
    "    \n",
    "                        pics_dict_flip[n]['pic'][event][y,x]+=tracks['realETs'][n][event][0][ntrack]\n",
    "            \n",
    "            pics_dict[n]['pic'][event]=np.flip(pics_dict_flip[n]['pic'][event], axis=0)\n",
    "\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "#pics_dict_filtered={}\n",
    "#for n in range(n_batches):\n",
    "#    \n",
    "#    pics_dict_filtered[n]={}\n",
    "#    \n",
    "#for n in range(n_batches):\n",
    "#    \n",
    "#    pics_dict_filtered[n]['pic']=np.delete(pics_dict[n]['pic'],pos_rejected[n],axis=0)\n",
    "#    pics_dict_filtered[n]['L0HadronDec_TIS']=np.delete(pics_dict[n]['L0HadronDec_TIS'],pos_rejected[n],axis=0)\n",
    "#    pics_dict_filtered[n]['L0HadronDec_TOS']=np.delete(pics_dict[n]['L0HadronDec_TOS'],pos_rejected[n],axis=0)\n",
    "#"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x7f294be28208>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "i=2\n",
    "plt.imshow(pics_dict[0]['pic'][i].reshape(52,64));\n",
    "plt.colorbar()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "for i in range(n_batches):\n",
    "    with open('/disk/lhcb_data/davide/HCAL_project_full_event/true/sample'+str(i)+'.pickle', 'wb') as handle:\n",
    "        pickle.dump(pics_dict[i], handle, protocol=pickle.HIGHEST_PROTOCOL)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.hist(pics_dict[0]['pic'].sum(axis=(1,2))/1000, range=(0,300),bins=70);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "#def make_pics_dict(X_grid, Y_grid, tracks, n_batches=n_batches):\n",
    "#    X_pixels=64\n",
    "#    Y_pixels=np.int(np.ceil((X_pixels*width_Y)/width_X))\n",
    "#    pic = np.zeros(shape=(Y_pixels,X_pixels,1),dtype=np.float32)\n",
    "#    pics_dict = {}\n",
    "#        \n",
    "#    for n in range(1):\n",
    "#        \n",
    "#        batch_size = tracks['regions'][0].shape[0]\n",
    "#        pics_dict[n]=np.array([pic for i in range(0,batch_size)])\n",
    "#        \n",
    "#        for k in range(batch_size):\n",
    "#            event=k\n",
    "#            if tracks['regions'][n][event][0]>=0: #and particle_1[n][\"region\"][event]>=0 and particle_2[n][\"region\"][event]>=0:\n",
    "#                #event = n*batch_size+k\n",
    "#                \n",
    "#                #print(event)\n",
    "#                for i in range(X_grid.shape[0]-1):\n",
    "#                    for j in range(Y_grid.shape[1]-1):\n",
    "#                        for ntrack in range(tracks['xProjections'][n][event][0].shape[0]):\n",
    "#                        \n",
    "#                            xtrack = tracks['xProjections'][n][event][0][ntrack]*X_pixels/2\n",
    "#                            ytrack = tracks['yProjections'][n][event][0][ntrack]*Y_pixels/2                            \n",
    "#                            \n",
    "#                            if X_grid[i,j] < xtrack < X_grid[i,j+1]:\n",
    "#                                if Y_grid[i,j] < ytrack < Y_grid[i+1,j]:\n",
    "#\n",
    "#                                    \n",
    "#                                    x_primed=int(Y_pixels/2-Y_grid[i,j])\n",
    "#                                    y_primed=int(X_pixels/2+X_grid[i,j])\n",
    "#\n",
    "#                                    #pics_dict[n][k][x_primed,y_primed,0]=1\n",
    "#        \n",
    "#                                    pics_dict[n][k][x_primed-1,y_primed-1,0]=tracks[\"realETs\"][n][event][0][ntrack]\n",
    "#                                    #total_pic[x_primed-1,y_primed-1,0]=1\n",
    "#                                    #total_pic[x_primed-1,y_primed-1,0]=true_events['true_ET'][event]\n",
    "#    \n",
    "#                            \n",
    "#        print('Converted '+str(n+1)+'/'+str(n_batches)+' batches of ' +str(batch_size)+' images')\n",
    "#    \n",
    "#  #  \n",
    "#  #  if N % batch_size != 0:\n",
    "#  #      \n",
    "#  #      print('Converting last batch of '+str(N%batch_size)+' images') \n",
    "#  #  \n",
    "#  #      for k in range(batch_size*n_batches,N):\n",
    "#  #          #if true_events['region'][k]>=0:\n",
    "#  #  \n",
    "#  #              for i in range(X_grid.shape[0]):\n",
    "#  #                  for j in range(Y_grid.shape[1]):\n",
    "#  #                      if X_grid[i,j-1] < X_norm[n_batches][k]*X_pixels/2 < X_grid[i,j]:\n",
    "#  #                          if Y_grid[i-1,j] < Y_norm[n_batches][k]*Y_pixels/2 < Y_grid[i,j]:\n",
    "#  #                              \n",
    "#  #                              x_primed=int(Y_pixels/2-Y_grid[i,j])\n",
    "#  #                              y_primed=int(X_pixels/2+X_grid[i,j])\n",
    "#  #                              \n",
    "#  #                              pics_dict[n_batches][k-(N-1)][x_primed,y_primed,0]=true_events['true_ET'][event]\n",
    "#  #                              #total_pic[x_primed,y_primed,0]=true_events['true_ET'][event]\n",
    "#    return pics_dict\n",
    "#\n",
    "#\n",
    "#\n",
    "#"
   ]
  },
  {
   "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.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}