3 modified files
lcsim/src/org/lcsim/contrib/JanStrube/tracking
diff -u -r1.1 -r1.2
--- SwimmerTest.py 18 Jul 2006 13:20:41 -0000 1.1
+++ SwimmerTest.py 19 Jul 2006 04:01:58 -0000 1.2
@@ -1,10 +1,11 @@
from TrackingCalculator import *
-point = ThreeVector(1, 0, 1)
-momentum = ThreeVector(3, 2, 1)
-t1 = ArbTrack(momentum=momentum, position=point, charge=-1)
+point = ThreeVector(1, .5, 1)
+momentum = ThreeVector(2, 2, 1)
+t1 = Track(momentum=momentum, position=point, charge=-1)
print t1
+
par = t1.parameters
m = Measurement()
m.d0 = par.d0
@@ -14,6 +15,6 @@
m.omega = par.omega
m.z0 = par.z0
-print ArbTrack(parameters=m)
+print Track(parameters=m)
lcsim/src/org/lcsim/contrib/JanStrube/tracking
diff -u -r1.1 -r1.2
--- TrackingCalculator.py 18 Jul 2006 13:20:41 -0000 1.1
+++ TrackingCalculator.py 19 Jul 2006 04:01:58 -0000 1.2
@@ -15,6 +15,10 @@
self.y = y
self.z = z
+ def __str__(self):
+ return 'x: %f\ny: %f\nz: %f\n' % (self.x, self.y, self.z)
+
+
class Measurement:
def __init__(self):
self.d0 = 0
@@ -61,8 +65,7 @@
def calc5VecFromSpaceMomentum(self):
par = self.parameters
par.phi0 = atan2(self.momentum.y, self.momentum.x)
- par.d0 = -(self.origin.x - self.refPoint.x)*sin(par.phi0) \
- + (self.origin.y-self.refPoint.y)*cos(par.phi0)
+ par.d0 = sqrt(self.origin.x**2 + self.origin.y**2)#- (self.origin.x - self.refPoint.x)*sin(par.phi0) + (self.origin.y-self.refPoint.y)*cos(par.phi0)
par.z0 = self.origin.z - self.refPoint.z
par.pt = sqrt(self.momentum.x*self.momentum.x +
self.momentum.y*self.momentum.y)
@@ -133,4 +136,4 @@
y = par.pt*sin(phi)
z = par.pt*par.tanLambda
return ThreeVector(x, y, z)
-
\ No newline at end of file
+
lcsim/test/org/lcsim/contrib/JanStrube/tracking
diff -u -r1.2 -r1.3
--- HelixSwimmerTrackConsistencyTest.java 18 Jul 2006 13:20:43 -0000 1.2
+++ HelixSwimmerTrackConsistencyTest.java 19 Jul 2006 04:01:59 -0000 1.3
@@ -1,5 +1,5 @@
/**
- * @version $Id: HelixSwimmerTrackConsistencyTest.java,v 1.2 2006/07/18 13:20:43 jstrube Exp $
+ * @version $Id: HelixSwimmerTrackConsistencyTest.java,v 1.3 2006/07/19 04:01:59 jstrube Exp $
*/
package org.lcsim.contrib.JanStrube.tracking;
@@ -8,6 +8,7 @@
import org.lcsim.contrib.JanStrube.tracking.HelixSwimmer;
import org.lcsim.contrib.JanStrube.tracking.NewFastMCTrackFactory;
import org.lcsim.contrib.JanStrube.tracking.Track;
+import org.lcsim.recon.vertexing.zvtop4.VectorArithmetic;
import org.lcsim.spacegeom.CartesianPoint;
import org.lcsim.spacegeom.SpacePoint;
@@ -82,6 +83,13 @@
SpacePoint p1 = new CartesianPoint(7, 7, 7);
assertEquals(swimmerRaw.getTrackLengthToPoint(p1), swimmerTrack.getTrackLengthToPoint(p1)+alpha, 1e-3);
+ // d0 is the distance between P0 and Pref in the x-y plane
+ double d0 = t.getParameter(Track.ParameterName.d0);
+ SpacePoint origin = swimmerTrack.getPointAtDistance(0);
+ double dist = VectorArithmetic.subtract(origin, t.getReferencePoint()).rxy();
+ assertEquals(d0, dist, 5e-4);
+
+
double phi = atan2(momentum.y(), momentum.x());
double phi_0 = t.getParameter(Track.ParameterName.phi0);
double omega = t.getParameter(Track.ParameterName.omega);
@@ -92,6 +100,7 @@
double tanLambda = t.getParameter(Track.ParameterName.tanLambda);
double cosLambda = 1 / sqrt(1+tanLambda*tanLambda);
+
System.out.println(swimmerRaw.getPointAtDistance(alpha/cosLambda));
System.out.println(swimmerTrack.getPointAtDistance(-alpha));
System.out.printf("Pt: %f\n", t.getPt());
CVSspam 0.2.8