In [1]:
%pylab inline


Populating the interactive namespace from numpy and matplotlib

In [2]:
import sys
sys.path.insert(0, "../")

In [3]:
import root_numpy
import pandas
from utils import shrink_floats
import numpy

In [4]:
from rep.utils import train_test_split_group

In [5]:
for folder in ['Bu_JPsiK', 'Bd_JPsiKstar', 'Bd_JPsiKs']:
    for f in ['Tracks', 'Vertices', 'Vertices_Mike']:
        pd = pandas.read_csv('MC/csv/WG/{}/2012/{}.csv'.format(folder, f), sep='\t')
        shrink_floats(pd)
#         event_id = pd.run.apply(str) + '_' + pd.event.apply(int).apply(str)
#         group_column = numpy.unique(event_id, return_inverse=True)[1]
#         pd1, pd2 = train_test_split_group(group_column, pd, random_state=42)
#         pd = pandas.concat([pd1, pd2])
        root_numpy.array2root(pd.to_records(index=False), 'MC/csv/WG/{}/2012/{}.root'.format(folder, f),  
                              mode='recreate')

In [ ]:
for folder in ['Bu_JPsiK', 'Bd_JPsiKstar', 'Bd_JPsiKs']:
    for f in ['Tracks', 'Vertices', 'Vertices_Mike']:
        pd = pandas.read_csv('data/csv/WG/{}/2012/{}.csv'.format(folder, f), sep='\t')
        shrink_floats(pd)
#         event_id = pd.run.apply(str) + '_' + pd.event.apply(int).apply(str)
#         group_column = numpy.unique(event_id, return_inverse=True)[1]
#         pd1, pd2 = train_test_split_group(group_column, pd, random_state=42)
#         pd = pandas.concat([pd1, pd2])
        root_numpy.array2root(pd.to_records(index=False), 'data/csv/WG/{}/2012/{}.root'.format(folder, f),  
                              mode='recreate')

In [6]:
import root_numpy

In [18]:
data = root_numpy.root2array('data/csv/WG/Bu_JPsiK/2012/Tracks.root', branches=['signB', 'signTrack', 'run', 'event'])

In [20]:
data = pandas.DataFrame(data)

In [21]:
event_id = data['run'].apply(str) + '_' + data['event'].apply(int).apply(str)

In [22]:
data['id'] = event_id

In [29]:
w = []
z = []
for _, gr in data.groupby('id'):
    w.append(set(gr['signB']))
    z.append(set(gr['id']))

In [ ]:
for i, j in zip(w, z):
    if len(i) != 1:
        print i, z

In [15]:
x = data['signB']
y = data['signTrack']

In [16]:
set(x)


Out[16]:
{-1, 1}

In [17]:
set(y)


Out[17]:
{-1.0, 1.0}

In [ ]: