import os,sys
import hippo
from numarray import *

app=hippo.HDApp()
canvas=app.canvas()

from hippo import NTupleController
ntc=NTupleController.instance()			#Instantiate an object
						
HistDataPath='/nfs/slac/g/ki/ki08/lsst/lsstgeant4/hist.dat'
HistDataNTup=ntc.createNTuple ( HistDataPath )  #Create an NTuple
HistDataArray=ntc.createDataArray(HistDataPath) #Create an Array
NumColumns=HistDataArray.columns
NumRows=HistDataArray.rows

PDGCode=HistDataArray[12]			#Find Actual Hits
Hits=where(PDGCode !=0)

x0=HistDataArray[0][Hits]
y0=HistDataArray[1][Hits]
z0=HistDataArray[2][Hits]
x1=HistDataArray[3][Hits]
y1=HistDataArray[4][Hits]
z1=HistDataArray[5][Hits]
E=HistDataArray[6][Hits]
P=HistDataArray[7][Hits]
M=HistDataArray[8][Hits]
Eid=HistDataArray[9][Hits]
Tid=HistDataArray[10][Hits]
Pid=HistDataArray[11][Hits]
PDGCode=HistDataArray[12][Hits]

Protons=where(PDGCode == 2212)	#PDG Code for Protons is 2212
Electrons=where(PDGCode == 11)  #PDG Code for electrons is 11
Positrons=where(PDGCode == -11) #PDG Code for postitrons is -11

ProtonsNTuple=ntc.createNTuple()
ProtonsNTuple.addColumn('x0Protons',x0[Protons])
ProtonsNTuple.addColumn('y0Protons',y0[Protons])

ElectronsNTuple=ntc.createNTuple()
ElectronsNTuple.addColumn('x0Electrons',x0[Electrons])
ElectronsNTuple.addColumn('y0Electrons',y0[Electrons])

canvas.setPlotMatrix(2,3)
from hippo import Display
from hippo import ColorValue
print "The available color values are ..."
print ColorValue.values
print ""

hist2 = Display ( "Scatter Plot", ProtonsNTuple, ("x0Protons", "y0Protons") )
canvas.addDisplay(hist2)
reps=hist2.getDataReps ()
hist2.addDataRep ('Scatter Plot', ElectronsNTuple, ('x0Electrons','y0Electrons'))
reps=hist2.getDataReps ()
reps[0].set(ColorValue.red)
reps[1].set(ColorValue.green)
