from java.awt import Color
from jhplot import *
from java.util import Random
from hephysics.particle import *
from math import *
P=400
# define initial Lorentz particle
Top=LParticle("Top quark",170)
Top.setV3( 0,0,P )
print Top.toString()
# define Lorentz particles
W = LParticle("W",80)
b = LParticle("b",5)
q1 = LParticle("q1",0.004)
q2 = LParticle("q2",0.004)
r = Random()
PI=3.1415926
PI2=2*PI
deg= 180 / PI
h1 = H1D("maxAngle",100, 0,180)
for i in range(10000):
if (i%1000==0): print "event=",i
Top.twoBodyDecay(W, b,1);
theta = acos(2.0*r.nextDouble()-1.0 )
phi = PI2 *r.nextDouble()
Top.setThetaPhiP(theta,phi,P)
W.boost( Top )
b.boost( Top )
# W decay
W.twoBodyDecay(q1,q2,1)
# the boost
q1.boost( W )
q2.boost( W )
# print q1.toString()
p=P0D("max angle")
p.add(W.angle(q1)*deg)
p.add(W.angle(q2)*deg)
pmax=p.getMax()
h1.fill(pmax)
c1 = HPlot("Canvas",600,400,1, 1)
c1.setGTitle("Max angle t to W b to b q #bar{q}")
c1.visible(1)
c1.setRange(0,180,0,1000)
c1.setNameX("angle_{max} [deg]")
c1.setNameY("Events")
h1.setFill(1)
h1.setFillColor(Color.blue)
c1.draw(h1)
# export to EPS figure
# c1.export("angle"+".eps")