In [1]:
import sys
sys.path.append('/home/jbourbeau/cr-composition')
sys.path
Out[1]:
In [2]:
import numpy as np
import pandas as pd
from pandas.tools.plotting import radviz
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
import seaborn.apionly as sns
from collections import defaultdict
from sklearn.metrics import accuracy_score
from sklearn.model_selection import validation_curve, GridSearchCV, cross_val_score, ParameterGrid
from sklearn.neighbors import KNeighborsClassifier
import composition as comp
# Plotting-related
sns.set_palette('muted')
sns.set_color_codes()
color_dict = defaultdict()
for i, composition in enumerate(['light', 'heavy', 'total']):
color_dict[composition] = sns.color_palette('muted').as_hex()[i]
%matplotlib inline
In [3]:
sns.set_palette('muted')
sns.set_color_codes()
In [4]:
df_sim = comp.load_dataframe(datatype='sim', config='IC79')
feature_list, feature_labels = comp.get_training_features()
print('training features = {}'.format(feature_list))
X_train, X_test, y_train, y_test, le = comp.get_train_test_sets(df_sim, feature_list)
print('number training events = ' + str(y_train.shape[0]))
In [4]:
df['lap_likelihood'][df['MC_comp'] == 'He'].values[:100]
Out[4]:
In [8]:
fig, ax = plt.subplots()
comp_list = ['light', 'heavy']
for composition in comp_list:
llhratio = df_sim['eloss_'][df_sim['MC_comp_class'] == composition]
# print(np.isnan(llhratio.values))
# print(np.argwhere(np.isnan(llhratio.values)))
ax.hist(llhratio.values, bins=np.linspace(0, 25, 25), log=True, label=composition, alpha=0.75)
ax.set_xlabel('dE/dX (X=1500 m)')
ax.set_ylabel('Counts')
plt.legend(title='MC composition class')
plt.show()
In [ ]:
fig, ax = plt.subplots()
comp_list = ['P', 'He', 'Fe']
for composition in comp_list:
energy = df['lap_log_energy'][df['MC_comp'] == composition]
ax.hist(energy, bins=np.linspace(6.2, 8, 100), log=True, label=composition, alpha=0.75)
plt.legend()
plt.show()
In [ ]:
fig, ax = plt.subplots()
comp_list = ['P', 'He', 'Fe']
for composition in comp_list:
charge = df['InIce_log_charge_1_30'][df['MC_comp'] == composition]
ax.hist(charge, bins=np.linspace(0, 6, 100), log=True, label=composition, alpha=0.75)
plt.legend()
plt.show()
In [ ]:
df, cut_dict = comp.load_sim(return_cut_dict=True)
selection_mask = np.array([True] * len(df))
standard_cut_keys = ['lap_reco_success', 'lap_zenith', 'num_hits_45_60', 'IT_signal',
'StationDensity', 'max_qfrac_45_60', 'lap_containment', 'energy_range_lap']
for key in standard_cut_keys:
selection_mask *= cut_dict[key]
df = df[selection_mask]
fig, ax = plt.subplots()
comp_list = ['P', 'He', 'Fe']
for composition in comp_list:
charge = df['InIce_log_charge_45_60'][df['MC_comp'] == composition]
ax.hist(charge, bins=np.linspace(0, 6, 100), log=True, label=composition, alpha=0.75)
plt.legend()
plt.show()
In [ ]:
fig, ax = plt.subplots()
comp_list = ['P', 'He', 'Fe']
for composition in comp_list:
nchannels = df['log_NChannels_1_30'][df['MC_comp'] == composition]
ax.hist(nchannels, bins=np.linspace(0, 3, 100), log=True, label=composition, alpha=0.75)
plt.legend()
plt.show()
In [ ]:
fig, ax = plt.subplots()
comp_list = ['P', 'He', 'Fe']
for composition in comp_list:
s125 = df['log_s125'][df['MC_comp'] == composition]
ax.hist(s125, bins=np.linspace(0, 3, 100), log=True, label=composition, alpha=0.75)
plt.legend()
plt.show()
In [ ]: