Commit in hps-java/src/main/java/org/lcsim/hps on MAIN
event/BeamlineConstants.java+12added 1.1
recon/tracking/SvtTrackExtrapolator.java+16-261.9 -> 1.10
              /TrackUtils.java+8-81.26 -> 1.27
recon/tracking/gbl/GBLOutput.java+2-21.13 -> 1.14
recon/vertexing/TwoTrackVertexer.java+10-81.4 -> 1.5
users/phansson/TwoTrackAnlysis.java+7-51.21 -> 1.22
+55-49
1 added + 5 modified, total 6 files
Adding separate beamline constants, extending trackutils for extrapolations

hps-java/src/main/java/org/lcsim/hps/event
BeamlineConstants.java added at 1.1
diff -N BeamlineConstants.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ BeamlineConstants.java	11 Oct 2013 23:14:28 -0000	1.1
@@ -0,0 +1,12 @@
+package org.lcsim.hps.event;
+
+public final class BeamlineConstants {
+	
+	private BeamlineConstants() {}
+	
+	public static final double ECAL_FACE   = 1524;  // mm
+	public static final double DIPOLE_EDGE = 457.2 + 457.2; // 452.2 + 462.2; //914; // mm
+	public static final double DIPOLE_EDGELOW = 0.; //452.2 - 462.2; // mm
+	public static final double HARP_POSITION = -674.062; // mm
+
+}

hps-java/src/main/java/org/lcsim/hps/recon/tracking
SvtTrackExtrapolator.java 1.9 -> 1.10
diff -u -r1.9 -r1.10
--- SvtTrackExtrapolator.java	11 Oct 2013 22:18:52 -0000	1.9
+++ SvtTrackExtrapolator.java	11 Oct 2013 23:14:28 -0000	1.10
@@ -5,18 +5,10 @@
 import hep.physics.vec.Hep3Vector;
 
 import org.lcsim.event.Track;
-import org.lcsim.fit.helicaltrack.HelicalTrackFit;
+import org.lcsim.hps.event.BeamlineConstants;
 
-public class SvtTrackExtrapolator {
+public class SvtTrackExtrapolator extends TrackUtils {
 
-	boolean isTrackSet = false;
-	private TrackUtils trackUtils = new TrackUtils();
-	
-	public static final double ECAL_FACE   = 1524;  // mm
-	public static final double DIPOLE_EDGE = 457.2 + 457.2; // 452.2 + 462.2; //914; // mm
-	public static final double DIPOLE_EDGELOW = 0.; //452.2 - 462.2; // mm
-	public static final double HARP_POSITION = -674.062; // mm
-	
 	/**
 	 * 
 	 */
@@ -34,7 +26,7 @@
 	 * 
 	 */
 	public void setTrack(Track track){
-		trackUtils.setTrack(track);
+		setTrack(track);
         isTrackSet = true;
 	}
         
@@ -42,7 +34,7 @@
 	 * 
 	 */
 	public void setTrack(double[] pars){
-		trackUtils.setTrack(pars);
+		setTrack(pars);
         isTrackSet = true;
 	}
 	
@@ -51,11 +43,11 @@
 	 * 
 	 */
 	public Hep3Vector getTrackPositionAtEcal(){
-		return this.extrapolateTrack(ECAL_FACE);
+		return this.extrapolateTrack(BeamlineConstants.ECAL_FACE);
 	}
 	
 	public Hep3Vector getTrackPositionAtHarp(){
-		return this.extrapolateTrack(HARP_POSITION);
+		return this.extrapolateTrack(BeamlineConstants.HARP_POSITION);
 	}
 	
 	
@@ -68,27 +60,25 @@
 		
 		Hep3Vector trackPosition = null;
 		double dz = 0;
-		if(z >= DIPOLE_EDGE){
-			trackPosition = trackUtils.extrapolateHelixToXPlane(DIPOLE_EDGE);
-			dz = z - DIPOLE_EDGE;
-		} else if(z <= DIPOLE_EDGELOW){
-			trackPosition  = trackUtils.extrapolateHelixToXPlane(DIPOLE_EDGELOW);
+		if(z >= BeamlineConstants.DIPOLE_EDGE){
+			trackPosition = extrapolateHelixToXPlane(BeamlineConstants.DIPOLE_EDGE);
+			dz = z - BeamlineConstants.DIPOLE_EDGE;
+		} else if(z <= BeamlineConstants.DIPOLE_EDGELOW){
+			trackPosition  = extrapolateHelixToXPlane(BeamlineConstants.DIPOLE_EDGELOW);
 			dz = z - trackPosition.x();
 		} else {
-			Hep3Vector detVecTracking = trackUtils.extrapolateHelixToXPlane(z);
+			Hep3Vector detVecTracking = extrapolateHelixToXPlane(z);
 			//System.out.printf("detVec %s\n", detVecTracking.toString());
 			return new BasicHep3Vector(detVecTracking.y(),detVecTracking.z(),detVecTracking.x());
 		}
 		
 		// Get the track azimuthal angle
-		double phi = trackUtils.getPhi(trackPosition);
+		double phi = getPhi(trackPosition);
 
 		// Find the distance to the point of interest
-		double sinTheta = trackUtils.getSinTheta();
-		double cosTheta = trackUtils.getCosTheta();
-		double r = dz/(sinTheta*Math.cos(phi));
-		double dx = r*sinTheta*Math.sin(phi);
-		double dy = r*cosTheta;
+		double r = dz/(getSinTheta()*Math.cos(phi));
+		double dx = r*getSinTheta()*Math.sin(phi);
+		double dy = r*getCosTheta();
 		
 		// Find the track position at the point of interest
 		double x = trackPosition.y() + dx;

hps-java/src/main/java/org/lcsim/hps/recon/tracking
TrackUtils.java 1.26 -> 1.27
diff -u -r1.26 -r1.27
--- TrackUtils.java	11 Oct 2013 02:28:20 -0000	1.26
+++ TrackUtils.java	11 Oct 2013 23:14:28 -0000	1.27
@@ -24,6 +24,7 @@
 import org.lcsim.event.Track;
 import org.lcsim.event.TrackerHit;
 import org.lcsim.fit.helicaltrack.*;
+import org.lcsim.hps.event.BeamlineConstants;
 import org.lcsim.hps.event.HPSTransformations;
 import org.lcsim.hps.users.phansson.WTrack;
 import org.lcsim.recon.tracking.seedtracker.SeedCandidate;
@@ -32,15 +33,15 @@
 /**
  * 
  * @author Omar Moreno <[log in to unmask]>
- * @version $Id: TrackUtils.java,v 1.26 2013/10/11 02:28:20 phansson Exp $
+ * @version $Id: TrackUtils.java,v 1.27 2013/10/11 23:14:28 phansson Exp $
  * TODO: Switch to JLab coordinates
  */
 
 public class TrackUtils {
 
-        private boolean _debug = false;
-	private boolean isTrackSet = false;
-	private double[] trackParameters;
+    protected boolean _debug = false;
+	protected boolean isTrackSet = false;
+	protected double[] trackParameters;
         
         
 	/**
@@ -55,7 +56,7 @@
 	 */
 	public void setDebug(boolean debug){		
 		this._debug = debug;
-        }
+    }
         
         /**
 	 * 
@@ -63,7 +64,7 @@
 	public void setTrack(double[] pars){
 		trackParameters = new double[9];
 		this.setTrackParameters(pars);
-                isTrackSet = true;
+        isTrackSet = true;
 	}
 	
 	/**
@@ -767,7 +768,7 @@
         Hep3Vector org = hpstrans.transformVectorToTracking(mcp.getOrigin());
         Hep3Vector p = hpstrans.transformVectorToTracking(mcp.getMomentum());
         // Move to x=0 if needed
-        double targetX = SvtTrackExtrapolator.DIPOLE_EDGELOW;
+        double targetX = BeamlineConstants.DIPOLE_EDGELOW;
         if(org.x() < targetX) { 
         	double dydx = p.y()/p.x();
         	double dzdx = p.z()/p.x();
@@ -776,7 +777,6 @@
         	double z = delta_x * dzdx + org.z();
         	double x = org.x() + delta_x;
         	if( Math.abs(x-targetX) > 1e-8) throw new RuntimeException("Error: origin is not zero!");
-        	Hep3Vector old = org;
         	org = new BasicHep3Vector(x,y,z);
         	//System.out.printf("org %s p %s -> org %s\n", old.toString(),p.toString(),org.toString());
         } 

hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl
GBLOutput.java 1.13 -> 1.14
diff -u -r1.13 -r1.14
--- GBLOutput.java	11 Oct 2013 22:18:52 -0000	1.13
+++ GBLOutput.java	11 Oct 2013 23:14:28 -0000	1.14
@@ -128,7 +128,7 @@
             System.exit(1);
             return;
         } else {
-        	System.out.printf("%s: truth particle (pdgif %d ) found in event!\n",this.getClass().getSimpleName(),mcp.getPDGID());
+        	if(_debug>0) System.out.printf("%s: truth particle (pdgif %d ) found in event!\n",this.getClass().getSimpleName(),mcp.getPDGID());
         }
         
         if(AprimeEvent ) {
@@ -407,7 +407,7 @@
     
 
     MCParticle getMatchedTruthParticle(Track track) {
-        boolean debug = true;
+        boolean debug = false;
         
         Map<MCParticle,Integer> particlesOnTrack = new HashMap<MCParticle,Integer>();
         

hps-java/src/main/java/org/lcsim/hps/recon/vertexing
TwoTrackVertexer.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- TwoTrackVertexer.java	12 Jun 2013 22:56:07 -0000	1.4
+++ TwoTrackVertexer.java	11 Oct 2013 23:14:28 -0000	1.5
@@ -9,11 +9,13 @@
 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.BeamlineConstants;
 import org.lcsim.hps.event.HPSTransformations;
 import org.lcsim.hps.recon.tracking.HPSTrack;
 import org.lcsim.hps.recon.tracking.SvtTrackExtrapolator;
@@ -64,9 +66,9 @@
     public Hep3Vector getVertex() {
         assert isValid();
         Hep3Vector A1 = this.getPosition(trk1, 0);
-        Hep3Vector A2 = this.getPosition(trk1, SvtTrackExtrapolator.HARP_POSITION);
+        Hep3Vector A2 = this.getPosition(trk1, BeamlineConstants.HARP_POSITION);
         Hep3Vector B1 = this.getPosition(trk2, 0);
-        Hep3Vector B2 = this.getPosition(trk2, SvtTrackExtrapolator.HARP_POSITION);
+        Hep3Vector B2 = this.getPosition(trk2, BeamlineConstants.HARP_POSITION);
         return getVertexPosition(VecOp.mult(_detToTrk.getMatrix(), A1), VecOp.mult(_detToTrk.getMatrix(), A2), VecOp.mult(_detToTrk.getMatrix(), B1), VecOp.mult(_detToTrk.getMatrix(), B2));
     }
 
@@ -80,8 +82,8 @@
         HPSTrack hpstrk2 = new HPSTrack(htf2);
         boolean debug = false;
         
-        Hep3Vector posAtConv1 = hpstrk1.getPositionAtZMap(100.0, SvtTrackExtrapolator.HARP_POSITION, 5.0)[0];
-        Hep3Vector posAtConv2 = hpstrk2.getPositionAtZMap(100.0, SvtTrackExtrapolator.HARP_POSITION, 5.0)[0];
+        Hep3Vector posAtConv1 = hpstrk1.getPositionAtZMap(100.0, BeamlineConstants.HARP_POSITION, 5.0)[0];
+        Hep3Vector posAtConv2 = hpstrk2.getPositionAtZMap(100.0, BeamlineConstants.HARP_POSITION, 5.0)[0];
 
         StraightLineTrack slt1_conv = converter.Convert((Helix)hpstrk1.getTrajectory());
         StraightLineTrack slt2_conv = converter.Convert((Helix)hpstrk2.getTrajectory());
@@ -89,11 +91,11 @@
         Hep3Vector A1 = new BasicHep3Vector(slt1_conv.x0(),slt1_conv.y0(),slt1_conv.z0());
         Hep3Vector B1 = new BasicHep3Vector(slt2_conv.x0(),slt2_conv.y0(),slt2_conv.z0());
 
-        double YZAtConv1[] = slt1_conv.getYZAtX(SvtTrackExtrapolator.HARP_POSITION);
-        double YZAtConv2[] = slt2_conv.getYZAtX(SvtTrackExtrapolator.HARP_POSITION);
+        double YZAtConv1[] = slt1_conv.getYZAtX(BeamlineConstants.HARP_POSITION);
+        double YZAtConv2[] = slt2_conv.getYZAtX(BeamlineConstants.HARP_POSITION);
         
-        Hep3Vector A2 = new BasicHep3Vector(SvtTrackExtrapolator.HARP_POSITION,YZAtConv1[0],YZAtConv1[1]);
-        Hep3Vector B2 = new BasicHep3Vector(SvtTrackExtrapolator.HARP_POSITION,YZAtConv2[0],YZAtConv2[1]);
+        Hep3Vector A2 = new BasicHep3Vector(BeamlineConstants.HARP_POSITION,YZAtConv1[0],YZAtConv1[1]);
+        Hep3Vector B2 = new BasicHep3Vector(BeamlineConstants.HARP_POSITION,YZAtConv2[0],YZAtConv2[1]);
         
 
 

hps-java/src/main/java/org/lcsim/hps/users/phansson
TwoTrackAnlysis.java 1.21 -> 1.22
diff -u -r1.21 -r1.22
--- TwoTrackAnlysis.java	11 Oct 2013 22:18:52 -0000	1.21
+++ TwoTrackAnlysis.java	11 Oct 2013 23:14:28 -0000	1.22
@@ -7,6 +7,7 @@
 import hep.physics.vec.BasicHep3Vector;
 import hep.physics.vec.Hep3Vector;
 import hep.physics.vec.SpacePoint;
+
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
@@ -14,6 +15,7 @@
 import java.util.*;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+
 import org.lcsim.detector.IDetectorElement;
 import org.lcsim.detector.tracker.silicon.DopedSilicon;
 import org.lcsim.detector.tracker.silicon.SiSensor;
@@ -22,6 +24,7 @@
 import org.lcsim.fit.helicaltrack.*;
 import org.lcsim.geometry.Detector;
 import org.lcsim.hps.analysis.ecal.HPSMCParticlePlotsDriver;
+import org.lcsim.hps.event.BeamlineConstants;
 import org.lcsim.hps.evio.TriggerData;
 import org.lcsim.hps.recon.ecal.HPSEcalCluster;
 import org.lcsim.hps.recon.tracking.*;
@@ -57,8 +60,7 @@
     private String triggerDecisionCollectionName = "TriggerBank";
     private String MCParticleCollectionName = "MCParticle";
     private String _stripClusterCollectionName = "StripClusterer_SiTrackerHitStrip1D";
-    private String _fittedRawTrackerHitCollectionName = "SVTFittedRawTrackerHits";
-    private double targetPosition = SvtTrackExtrapolator.HARP_POSITION;
+    private double targetPosition = BeamlineConstants.HARP_POSITION;
     private boolean _debug;
     private HitIdentifier _ID = new HitIdentifier();
     private TwoTrackVertexer vertexer = new TwoTrackVertexer();
@@ -546,11 +548,11 @@
                 
                 //Track at converter
                 this.vertexer.extrapolator().setTrack(trk1);
-                Hep3Vector posAtConverter = this.vertexer.extrapolator().extrapolateTrack(SvtTrackExtrapolator.HARP_POSITION);
+                Hep3Vector posAtConverter = this.vertexer.extrapolator().extrapolateTrack(BeamlineConstants.HARP_POSITION);
                 if(posAtConverter!=null)  printWriter.format("%5.5f %5.5f ", posAtConverter.x(),posAtConverter.y()); //note rotation from JLab->tracking
                 else printWriter.format("%5.5f %5.5f ", -9999999.9,-9999999.9);
                 HPSTrack hpstrk1 = new HPSTrack(helix1);
-                Hep3Vector posAtConverterFringe1 = hpstrk1.getPositionAtZMap(100., SvtTrackExtrapolator.HARP_POSITION, 5.0)[0];
+                Hep3Vector posAtConverterFringe1 = hpstrk1.getPositionAtZMap(100., BeamlineConstants.HARP_POSITION, 5.0)[0];
                 if (posAtConverterFringe1!=null) printWriter.format("%5.5f %5.5f %5.5f ", posAtConverterFringe1.z(),posAtConverterFringe1.x(),posAtConverterFringe1.y()); //note rotation from JLab->tracking
                 else printWriter.format("%5.5f %5.5f %5.5f ", -9999999.9,-9999999.9,-9999999.9);
                 
@@ -561,7 +563,7 @@
                 Hep3Vector posAtNomTargetFringe1 = hpstrk1.getPositionAtZMap(100., 0.0, 5.0)[0];
                 if (posAtNomTargetFringe1!=null) printWriter.format("%5.5f %5.5f %5.5f ", posAtNomTargetFringe1.z(),posAtNomTargetFringe1.x(),posAtNomTargetFringe1.y()); //note rotation from JLab->tracking
                 else printWriter.format("%5.5f %5.5f %5.5f ", -9999999.9,-9999999.9,-9999999.9);
-                Hep3Vector posAtECal = this.vertexer.extrapolator().extrapolateTrack(SvtTrackExtrapolator.ECAL_FACE);        
+                Hep3Vector posAtECal = this.vertexer.extrapolator().extrapolateTrack(BeamlineConstants.ECAL_FACE);        
                 if(posAtECal!=null && !Double.isNaN(posAtECal.x()) && !Double.isNaN(posAtECal.y())) {
                         printWriter.format("%5.5f %5.5f ",posAtECal.x(),posAtECal.y()); //note rotation from JLab->tracking
                 } 
CVSspam 0.2.12


Use REPLY-ALL to reply to list

To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1