{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/hep/davide/miniconda3/envs/root_env/lib/ROOT.py:301: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility\n", " return _orig_ihook( name, *args, **kwds )\n" ] } ], "source": [ "import ROOT as r\n", "import root_numpy as rn\n", "import pickle\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import array as array\n", "from xgboost import XGBClassifier\n", "from tools.data_processing import *\n", "from tools.select_and_fit_funct import select_and_fit, plot_MC_vs_data\n", "import os" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# PATHs" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "l_index=0\n", "mother_index_fit=2\n", "l_flv=['e','mu']\n", "mother_ID=[\"Ds\",\"Dplus\",\"both\"]\n", "test=4\n", "\n", "\n", "BDT_PATH=l_flv[l_index]+'/BDTs/test_'+str(test)\n", "FIT_PATH=l_flv[l_index]+'/fits'\n", "with open(BDT_PATH+'/variables_used.pickle', 'rb') as f: \n", " branches_needed_0 = pickle.load(f)\n", " \n", "branches_needed=['cos_thetal']+branches_needed_0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Data loading, applying mass cuts, preprocessing" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(34845, 2035, 1295)\n" ] }, { "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": [ "#MC_Dplus_sig_dict, MC_Ds_sig_dict, _ = load_datasets(l_index)\n", "\n", "with open('/disk/lhcb_data/davide/Rphipi/data_for_BDT_selection/'+l_flv[l_index]+l_flv[l_index]+'/'+'data_for_BDT_selection_'+l_flv[l_index]+l_flv[l_index]+'.pickle', 'rb') as f:\n", " data_dict=pickle.load(f)\n", "with open('/disk/lhcb_data/davide/Rphipi/MC/for_fit/'+l_flv[l_index]+l_flv[l_index]+'/MC_'+mother_ID[1]+'_'+l_flv[l_index]+l_flv[l_index]+'.pickle', 'rb') as f:\n", " MC_Dplus_tuple_dict=pickle.load(f)\n", "with open('/disk/lhcb_data/davide/Rphipi/MC/for_fit/'+l_flv[l_index]+l_flv[l_index]+'/MC_'+mother_ID[0]+'_'+l_flv[l_index]+l_flv[l_index]+'.pickle', 'rb') as f:\n", " MC_Ds_tuple_dict=pickle.load(f)\n", " \n", " \n", "\"\"\"\n", "Normalising the chi2s in data and MC\n", "\n", "\"\"\"\n", "\n", "MC_Dplus_tuple_dict, MC_Ds_tuple_dict, data_dict = norm_chi2(MC_Dplus_tuple_dict, MC_Ds_tuple_dict, data_dict)\n", "\n", "\n", "\"\"\"\n", "Applying mass cuts on data, \n", "retrieving mass distributions for sig MC and data\n", "\n", "\"\"\"\n", "\n", "if l_index==1:\n", " if mother_index_fit==0:\n", " #fitting only the Ds\n", " lower_cut=1930\n", " upper_cut=2010\n", " if mother_index_fit==1:\n", " #fitting only the Dplus\n", " lower_cut=1810\n", " upper_cut=1930\n", " if mother_index_fit==2:\n", " lower_cut=1810\n", " upper_cut=2040\n", "\n", "if l_index==0:\n", " if mother_index_fit==0:\n", " #fitting only the Ds\n", " lower_cut=1900\n", " upper_cut=2040\n", " if mother_index_fit==1:\n", " #fitting only the Dplus\n", " lower_cut=1780\n", " upper_cut=1930\n", " if mother_index_fit==2:\n", " lower_cut=1750\n", " upper_cut=2100\n", " \n", " \n", "data_mass, mc_Dplus_mass, mc_Ds_mass, data_dict = mass_cut_for_fit(lower_cut, upper_cut, mother_index_fit=mother_index_fit, l_index=l_index,\n", " branches_needed=branches_needed, \n", " data_dict=data_dict, MC_Dplus_dict=MC_Dplus_tuple_dict, MC_Ds_dict=MC_Ds_tuple_dict)\n", "\n", "\n", "\"\"\"\n", "Preprocessing\n", "\n", "\"\"\"\n", "\n", "\n", "\n", "data_to_select, mc_Dplus_to_select, mc_Ds_to_select = preprocess_for_XGBoost(MC_Dplus_tuple_dict, MC_Ds_tuple_dict, data_dict, branches_needed, mother_index_fit=mother_index_fit)\n", " \n", " \n", "plt.hist(np.concatenate((mc_Dplus_mass, mc_Ds_mass)),bins=70,density=True,alpha=0.7);\n", "plt.hist(data_mass,bins=70,density=True,alpha=0.4);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Just RooFit it!" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BDT cut at 0.1 fit\n", "BDT selection..\n", "(340, 476)\n", "BDT Signal selection efficiency: 0.245045045045\n", "chi2 1.10479563477\n", "Saving fit results...\n" ] } ], "source": [ "#Just fit it!\n", "\n", "#if __name__=='__main__':\n", "\n", " # parser = argparse.ArgumentParser(description='Fit at different BDT cuts')\n", " # parser.add_argument('-x_cut', metavar='BDT cut', type =float, help='BDT cut')\n", " # args = parser.parse_args()\n", " \n", "x_cut_values = np.linspace(0.10,0.90,num=10)\n", "fit_results={}\n", "splots={}\n", "#Just fit it!\n", "for i, x_cut in enumerate(x_cut_values[0:1]):\n", " \n", " if not os.path.exists(FIT_PATH+'/'+mother_ID[mother_index_fit]+'/{0}/'.format(i)):\n", " os.mkdir(FIT_PATH+'/'+mother_ID[mother_index_fit]+'/{0}/'.format(i))\n", " \n", " fit_results[i], splots[i] = select_and_fit(BDT_PATH, mother_index_fit, l_index, lower_cut, upper_cut,\n", " data_mass, mc_Dplus_mass, mc_Ds_mass, data_to_select, mc_Dplus_to_select, mc_Ds_to_select,\n", " data_dict, MC_Dplus_tuple_dict, MC_Ds_tuple_dict, branches_needed,\n", " x_cut, i, test)\n", "\n", " with open(FIT_PATH+'/'+mother_ID[mother_index_fit]+'/fit_results_{0}.txt'.format(i), 'w') as f:\n", " print('Saving fit results...')\n", " for key, value in fit_results[i].items():\n", " f.write('%s:%s\\n' % (key, value))\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "sw_idx=0\n", "with open('/disk/lhcb_data/davide/Rphipi/BDT_selected_data/'+l_flv[l_index]+l_flv[l_index]+'/BDT_sel_data_'+l_flv[l_index]+l_flv[l_index]+'_geom_var.pickle', 'rb') as f:\n", " data_cut=pickle.load(f)\n", "with open('/disk/lhcb_data/davide/Rphipi/MC/for_fit/'+l_flv[l_index]+l_flv[l_index]+'/MC_'+mother_ID[1]+'_'+l_flv[l_index]+l_flv[l_index]+'_geom_var.pickle', 'rb') as f:\n", " MC_Dplus_cut=pickle.load(f)\n", "with open('/disk/lhcb_data/davide/Rphipi/MC/for_fit/'+l_flv[l_index]+l_flv[l_index]+'/MC_'+mother_ID[0]+'_'+l_flv[l_index]+l_flv[l_index]+'_geom_var.pickle', 'rb') as f:\n", " MC_Ds_cut=pickle.load(f)\n", "\n", "key=data_cut.keys()[0]\n", "nentries=data_cut[key].shape[0]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "data_weights={}\n", "if mother_ID[mother_index_fit]=='Dplus':\n", " data_weights[0]=np.array([splots[sw_idx].GetSWeight(i, \"nDplus_sw\") for i in range(nentries)])\n", "\n", "if mother_ID[mother_index_fit]=='Ds':\n", " data_weights[1]=np.array([splots[sw_idx].GetSWeight(i, \"nDs_sw\") for i in range(nentries)])\n", "\n", "if mother_ID[mother_index_fit]=='both':\n", " data_weights[0]=np.array([splots[sw_idx].GetSWeight(i, \"nDs_sw\") for i in range(nentries)])\n", " data_weights[1]=np.array([splots[sw_idx].GetSWeight(i, \"nDplus_sw\") for i in range(nentries)])\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saved: e/fits/both/0/Ds_sweighted_cos_thetal_0.png\n", "Saved: e/fits/both/0/Ds_sweighted_Ds_ENDVERTEX_CHI2_0.png\n", "Saved: e/fits/both/0/Ds_sweighted_Ds_IPCHI2_OWNPV_0.png\n", "Saved: e/fits/both/0/Ds_sweighted_Ds_OWNPV_CHI2_0.png\n", "Saved: e/fits/both/0/Ds_sweighted_Ds_DIRA_OWNPV_0.png\n", "Saved: e/fits/both/0/Ds_sweighted_Ds_PT_0.png\n", "Saved: e/fits/both/0/Ds_sweighted_Ds_FD_OWNPV_0.png\n", "Saved: e/fits/both/0/Ds_sweighted_Ds_FDCHI2_OWNPV_0.png\n", "Saved: e/fits/both/0/Ds_sweighted_pi_PT_0.png\n", "Saved: e/fits/both/0/Ds_sweighted_e_plus_PT_0.png\n", "Saved: e/fits/both/0/Ds_sweighted_e_minus_PT_0.png\n" ] } ], "source": [ "for variable in branches_needed:\n", "\n", " plot_MC_vs_data(data_cut, data_weights, MC_Ds_cut, \n", " variable, \n", " sw_idx=sw_idx, l_index=l_index, mother_index_fit=mother_index_fit)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#plt.hist(data_cut[\"cos_thetal\"], weights=data_weights_Ds, density=True,\n", "# histtype='step', hatch='/', fill='True', linewidth='2', \n", "# alpha=0.65, bins=70, label='Weighted data Cos(theta_l)');\n", "#\n", "#plt.hist(MC_Ds_cut[\"cos_thetal\"],density=True, \n", "# histtype='step', hatch='\\\\', fill='True', linewidth='2', \n", "# alpha=0.45, bins=70, label='MC Ds Cos(theta_l)');\n", "#plt.legend(fontsize=12)\n", "#fig=plt.gcf()\n", "#fig.set_size_inches(10,6)" ] } ], "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 }