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);
|