Print

Print


Commit in lcsim/src/org/lcsim/contrib/SODTracker on MAIN
History+31.3 -> 1.4
SODTrack.java+24-71.3 -> 1.4
SODTrackFinderDriver.java+11.3 -> 1.4
+28-7
3 modified files
added chi2 of helix track parameter fit to SODTrack

lcsim/src/org/lcsim/contrib/SODTracker
History 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- History	8 Aug 2006 22:56:08 -0000	1.3
+++ History	13 Dec 2006 22:47:32 -0000	1.4
@@ -3,6 +3,9 @@
 ## Please summarize changes to the SODTracker code here.
 ## Most recent first please.
 
+13 December 2006 Fred Blanc
+   Replace use of SymmetricMatrix with double[][] in SODTrack
+
 08 August 2006 Fred Blanc V01-01-01
 Test the sub-detector name using the method:
     decoder.getSubdetector().getName()

lcsim/src/org/lcsim/contrib/SODTracker
SODTrack.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- SODTrack.java	23 Oct 2006 19:42:37 -0000	1.3
+++ SODTrack.java	13 Dec 2006 22:47:32 -0000	1.4
@@ -4,7 +4,6 @@
 
 */
 
-import hep.physics.matrix.SymmetricMatrix;
 import org.lcsim.event.Track;
 import org.lcsim.event.SimTrackerHit;
 import org.lcsim.event.TrackerHit;
@@ -25,8 +24,22 @@
     double d0 = 0., phi0 = 0., omega = 0., z0 = 0., s = 0.;
     double[] parameters = new double[] {0.,0.,0.,0.,0.};
 
+    double chi2 = 0.;
+
     SODTrack(int ch, double pX, double pY, double pZ, double dzero, double phizero, double omeg, double zzero, double spar)
     {
+
+	//System.out.print("SOD params (SOD units): ");
+	//System.out.print("; ch = "); System.out.print(ch);
+	//System.out.print("; pX = "); System.out.print(pX);
+	//System.out.print("; pY = "); System.out.print(pY);
+	//System.out.print("; pZ = "); System.out.println(pZ);
+	//System.out.print("; d0 = "); System.out.print(dzero);
+	//System.out.print("; phi0 = "); System.out.print(phizero);
+	//System.out.print("; omega = "); System.out.print(omeg);
+	//System.out.print("; z0 = "); System.out.print(zzero);
+	//System.out.print("; s = "); System.out.println(spar);
+
 	charge = ch;
 	px = pX;
 	py = pY;
@@ -40,6 +53,8 @@
 	z0 = 10.*zzero;
 	s = spar;
         parameters = new double[] {d0, phi0, omega,z0,s};
+
+	chi2 = 0.;
     }
 
     private MCParticle mcParticle;
@@ -68,19 +83,21 @@
     public double getTrackParameter(int i) { return parameters[i]; }
     public double[] getTrackParameters() { return parameters; }
 
-    private SymmetricMatrix ematrix;
+    private double[][] ematrix;
     public void add_ematrix(double[][] emat)
     {
-      ematrix = new SymmetricMatrix(5);
+      ematrix = new double[5][5];
       double[] conv = new double[] {10.,1.,-0.1,10.,1.};
       for(int i=0; i<5; i++) {
-        for(int j=0; j<=i; j++) {
-          ematrix.setElement(i,j,conv[i]*conv[j]*emat[i][j]);
+        for(int j=0; j<5; j++) {
+          ematrix[i][j] = conv[i]*conv[j]*emat[i][j];
         }
       }
     }
-    public SymmetricMatrix getErrorMatrix() { return ematrix; }
-    public double getChi2() { return 1.; }
+    public double getErrorMatrixElement(int i, int j) { return ematrix[i][j]; }
+    public double[][] getErrorMatrix() { return ematrix; }
+    public void setChiSqr(double c) { chi2 = c; }
+    public double getChi2() { return chi2; }
     public int getNDF() { return 1; }
 
     public double getdEdx() { return 0.; }

lcsim/src/org/lcsim/contrib/SODTracker
SODTrackFinderDriver.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- SODTrackFinderDriver.java	8 Aug 2006 22:56:08 -0000	1.3
+++ SODTrackFinderDriver.java	13 Dec 2006 22:47:32 -0000	1.4
@@ -145,6 +145,7 @@
 					    test_helix.Omega(), test_helix.Z0(),
 					    test_helix.Tanl());
 		trk.add_ematrix(test_helix.get_ematrix());
+		trk.setChiSqr(test_helix.Chisq());
 		java.util.LinkedList hitlist = out_helix.hitlist();
 		for ( ListIterator hitItr = hitlist.listIterator() ; hitItr.hasNext();){
 		    SODHit hit = (SODHit)hitItr.next();
CVSspam 0.2.8