Print

Print


Author: [log in to unmask]
Date: Mon Aug 31 14:48:56 2015
New Revision: 3474

Log:
Add a constructor that takes in a Track.  The original constructor worked off of HelicalTrackFit objects. 

Modified:
    java/trunk/recon/src/main/java/org/hps/recon/vertexing/BilliorTrack.java

Modified: java/trunk/recon/src/main/java/org/hps/recon/vertexing/BilliorTrack.java
 =============================================================================
--- java/trunk/recon/src/main/java/org/hps/recon/vertexing/BilliorTrack.java	(original)
+++ java/trunk/recon/src/main/java/org/hps/recon/vertexing/BilliorTrack.java	Mon Aug 31 14:48:56 2015
@@ -14,6 +14,8 @@
 import hep.physics.matrix.SymmetricMatrix;
 import java.util.Map;
 import org.lcsim.constants.Constants;
+import org.lcsim.event.Track;
+import org.lcsim.event.TrackState;
 import org.lcsim.fit.helicaltrack.HelicalTrackFit;
 import org.lcsim.fit.helicaltrack.HelicalTrackHit;
 import org.lcsim.fit.helicaltrack.MultipleScatter;
@@ -84,7 +86,20 @@
         _msmap = helix.ScatterMap();
     }
 
-    public double[] convertParsToBillior(double[] helixpars) {
+      public BilliorTrack(Track track) {
+         TrackState ts=track.getTrackStates().get(0);
+        double[] helixparameters = ts.getParameters();
+        _parameters = convertParsToBillior(helixparameters);
+        SymmetricMatrix helixcovmatrix = new SymmetricMatrix(3,ts.getCovMatrix(),true);
+        _covmatrix = convertCovarianceToBillior(helixcovmatrix, helixparameters);
+        _chisq[0]= track.getChi2();
+        _nhchisq = 0.;
+        _ndf[0] = track.getNDF();
+//        _smap = helix.PathMap();
+//        _msmap = helix.ScatterMap();
+    }
+    
+    private double[] convertParsToBillior(double[] helixpars) {
         double[] billior = {0, 0, 0, 0, 0};
         billior[0] = -helixpars[0];
         billior[1] = helixpars[3];
@@ -95,7 +110,7 @@
 
     }
 
-    public Matrix convertCovarianceToBillior(SymmetricMatrix helixcov, double[] helixpars) {
+    private Matrix convertCovarianceToBillior(SymmetricMatrix helixcov, double[] helixpars) {
         BasicMatrix deriv = new BasicMatrix(5, 5);
 
         deriv.setElement(epsIndex, HelicalTrackFit.dcaIndex, -1);