Newer
Older
HCAL_project / create_true_images.ipynb
@Davide Lancierini Davide Lancierini on 8 Feb 2019 20 KB Extended to full event conversion
{
 "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": [
    "with open('/disk/lhcb_data/davide/HCAL_project_full_event/csv/MCtracker_info.pickle', 'rb') as f:\n",
    "    tracks=pickle.load(f)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "width_X=8404.0\n",
    "width_Y=6828.0\n",
    "#number of events\n",
    "batch_size=20000\n",
    "n_batches=11\n",
    "\n",
    "X_pixels=64\n",
    "Y_pixels=52"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "11"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(tracks['xProjections'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "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": 6,
   "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['regions'][0].shape[0]\n",
    "    \n",
    "    pics_dict[n]=np.array([pic for i in range(0,batch_size)])\n",
    "    pics_dict_flip[n]=np.array([pic for i in range(0,batch_size)])\n",
    "    \n",
    "    \n",
    "    for event in range(batch_size):\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][event][y,x]=tracks['realETs'][n][event][0][ntrack]\n",
    "            \n",
    "        pics_dict[n][event]=np.flip(pics_dict_flip[n][event], axis=0)\n",
    "\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x7f7d97368b90>"
      ]
     },
     "execution_count": 7,
     "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": [
    "plt.imshow(pics_dict[0][11].reshape(52,64))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "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": 9,
   "metadata": {},
   "outputs": [
    {
     "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": [
    "plt.hist(pics_dict[0].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 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
}