from astropy.io import ascii
import numpy as np
import matplotlib.pyplot as plt
data=ascii.read("muon_all_end.dat",header_start=1, fast_reader={'exponent_style': 'D'})
data=ascii.read("muon_all_end.dat")
print(data)
data.columns
data.index_column('s_start')
from matplotlib import pyplot as plt 
plt.scatter(data['x'], data['y'])
plt.xlabel('x')
plt.ylabel('y')
plt.savefig('muon.pdf', format='pdf')
print(data)
data.columns
plt.scatter(data['x'], data['px=Px/p0c'])
plt.scatter(data['y'], data['pz=dP/p0c=(P-P0)/p0c'])
plt.scatter(data['y'], data['pz=dP/p0c=(P-P0)/p0c'],s=1)     #reduce point size
plt.scatter(data['x'], data['px=Px/p0c'],s=1)
plt.scatter(data['x'], data['px=Px/p0c']*2,s=1)     #do something to second column
counts, bins = np.histogram(data['x'])
plt.stairs(counts, bins)
counts, bins = np.histogram(data['x'],bins=20)
plt.stairs(counts, bins)
data['pz']=((1+data['pz=dP/p0c=(P-P0)/p0c'])**2-(data['px=Px/p0c'])**2-(data['px=Py/p0c'])**2)**0.5  #add s olumn with the true pz
data['sdotp']=(data['px=Px/p0c']*data['sx']+data['px=Py/p0c']*data['sy']+data['pz']*data['sz'])/(1+data['pz=dP/p0c=(P-P0)/p0c'])    #add column with s.p
data['phi']=np.arccos(data['sdotp'])
H, xedges, yedges = np.histogram2d(data['x'], data['phi'], bins=(100,100))
H=H.T    #some kind of translation
plt.imshow(H, interpolation='nearest', origin='lower',aspect='auto',
        extent=[xedges[0], xedges[-1], yedges[0], yedges[-1]])

