hps-java/src/main/java/org/lcsim/hps/recon/vertexing
diff -u -r1.3 -r1.4
--- StraightLineTrack.java 24 May 2012 14:33:59 -0000 1.3
+++ StraightLineTrack.java 12 Jun 2013 22:56:07 -0000 1.4
@@ -179,7 +179,15 @@
return yzAtX;
}
- public double calculateXAtZEquals0() {
+ public double calculateXAtZEquals0() {
return _x0-_z0/_dzdx;
}
+
+ public double[] calculateXYAtZ(double zVal) {
+ double[] xyAtZ = {-99999,-99999};
+ xyAtZ[0] = (zVal-_z0)/(_dzdx)+_x0;
+ xyAtZ[1] = this.calculateYZAtX(xyAtZ[0])[0];
+ return xyAtZ;
+ }
+
}
hps-java/src/main/java/org/lcsim/hps/recon/vertexing
diff -u -r1.3 -r1.4
--- TwoTrackVertexer.java 15 Apr 2013 07:09:11 -0000 1.3
+++ TwoTrackVertexer.java 12 Jun 2013 22:56:07 -0000 1.4
@@ -7,17 +7,21 @@
import hep.physics.matrix.SymmetricMatrix;
import hep.physics.vec.BasicHep3Vector;
import hep.physics.vec.Hep3Vector;
+import hep.physics.vec.SpacePoint;
import hep.physics.vec.VecOp;
import org.lcsim.event.Track;
import org.lcsim.event.Vertex;
import org.lcsim.event.base.BaseVertex;
import org.lcsim.fit.helicaltrack.HelicalTrackFit;
import org.lcsim.fit.helicaltrack.HelixUtils;
+import org.lcsim.hps.event.HPSTransformations;
import org.lcsim.hps.recon.tracking.HPSTrack;
import org.lcsim.hps.recon.tracking.SvtTrackExtrapolator;
import org.lcsim.recon.tracking.seedtracker.SeedCandidate;
import org.lcsim.recon.tracking.seedtracker.SeedTrack;
+import org.lcsim.spacegeom.SpaceVector;
import org.lcsim.util.swim.Helix;
+import org.lcsim.util.swim.Trajectory;
/**
*
@@ -26,8 +30,9 @@
public class TwoTrackVertexer extends TwoLineVertexer {
private SvtTrackExtrapolator trackExtraPolator = new SvtTrackExtrapolator();
private HelixConverter converter = new HelixConverter(0.);
- private Track trk1;
- private Track trk2;
+ private HPSTransformations detToTrk = new HPSTransformations();
+ private Track trk1=null;
+ private Track trk2=null;
public TwoTrackVertexer() {
}
@@ -37,10 +42,19 @@
this.trk2 = track2;
}
+ public boolean isValid() {
+ if(this.trk1==null || this.trk2==null) return false;
+ else return true;
+ }
+
public SvtTrackExtrapolator extrapolator() {
return trackExtraPolator;
}
+ public HelixConverter converter() {
+ return this.converter;
+ }
+
private Hep3Vector getPosition(Track trk, double zposition) {
trackExtraPolator.setTrack(trk);
return trackExtraPolator.extrapolateTrack(zposition);
@@ -48,6 +62,7 @@
@Override
public Hep3Vector getVertex() {
+ assert isValid();
Hep3Vector A1 = this.getPosition(trk1, 0);
Hep3Vector A2 = this.getPosition(trk1, SvtTrackExtrapolator.HARP_POSITION);
Hep3Vector B1 = this.getPosition(trk2, 0);
@@ -56,6 +71,7 @@
}
public Hep3Vector getVertexWithFringe() {
+ assert isValid();
SeedTrack s1 = (SeedTrack) trk1;
HelicalTrackFit htf1 = s1.getSeedCandidate().getHelix();
HPSTrack hpstrk1 = new HPSTrack(htf1);
@@ -133,10 +149,8 @@
/**
*
*/
- public Vertex fitVertex(Track track1, Track track2){
-
- // Set the tracks to be vertexed
- this.setTracks(track1, track2);
+ public Vertex fitVertex(){
+ assert isValid();
// Vertex the track and obtain the position
Hep3Vector vtxPosition = this.getVertexWithFringe();
hps-java/src/main/java/org/lcsim/hps/recon/vertexing
diff -u -r1.2 -r1.3
--- TwoLineVertexer.java 28 Feb 2013 00:00:33 -0000 1.2
+++ TwoLineVertexer.java 12 Jun 2013 22:56:07 -0000 1.3
@@ -42,7 +42,7 @@
if(_debug) System.out.printf("%s: A0=%s B0=%s ==> vtxPos=%s (tmp=%s)\n", this.getClass().getSimpleName(), A0.toString(), B0.toString(), vertexPos.toString(), tmp.toString());
return vertexPos;
}
-
+
@Override
public Hep3Vector getVertex() {
throw new UnsupportedOperationException("Not supported yet.");
hps-java/src/main/java/org/lcsim/hps/recon/particle
diff -u -r1.1 -r1.2
--- TestRunReconParticleDriver.java 15 Apr 2013 07:14:32 -0000 1.1
+++ TestRunReconParticleDriver.java 12 Jun 2013 22:56:07 -0000 1.2
@@ -15,7 +15,7 @@
/**
*
* @author Omar Moreno <[log in to unmask]>
- * @version $Id: TestRunReconParticleDriver.java,v 1.1 2013/04/15 07:14:32 omoreno Exp $
+ * @version $Id: TestRunReconParticleDriver.java,v 1.2 2013/06/12 22:56:07 phansson Exp $
*/
public class TestRunReconParticleDriver extends ReconParticleDriver {
@@ -38,8 +38,8 @@
// Get the tracks associated with the electrons and positrons
Track electronTrack = electron.getTracks().get(0);
Track positronTrack = positron.getTracks().get(0);
-
- Vertex vertex = vtxFitter.fitVertex(electronTrack, positronTrack);
+ vtxFitter.setTracks(electronTrack, positronTrack);
+ Vertex vertex = vtxFitter.fitVertex();
ReconstructedParticle candidate = new BaseReconstructedParticle();
((BaseReconstructedParticle) candidate).setStartVertex(vertex);