Print

Print


Author: mgraham
Date: Thu Oct 30 10:32:22 2014
New Revision: 1345

Log:
A few changes to StraightTrack*

Modified:
    java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTrackFinder.java
    java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTrackFitter.java
    java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTrackReconDriver.java
    java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTracker.java

Modified: java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTrackFinder.java
 =============================================================================
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTrackFinder.java	(original)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTrackFinder.java	Thu Oct 30 10:32:22 2014
@@ -20,9 +20,11 @@
 import org.lcsim.recon.tracking.seedtracker.diagnostic.ISeedTrackerDiagnostics;
 
 /**
- *
- * @author Richard Partridge
- * @version 1.0
+ * Find straight tracks in 0-bfield
+ * 
+ * copied/modified from org.lcsim.recon.tracking.SeedTrackFinder
+ * @author Mathew Graham
+
  */
 public class StraightTrackFinder {
 
@@ -33,7 +35,7 @@
     private ISeedTrackerDiagnostics _diag = null;
     private Set<MCParticle> _seededmcp;
     private Set<MCParticle> _confirmedmcp;
-    TrackCheck _trackCheck; // set by SeedTracker
+    private TrackCheck _trackCheck; // set by SeedTracker
     private boolean _debug = false;
    
 
@@ -248,5 +250,8 @@
         System.out.println("Setting " + this.getClass().getSimpleName() + " debug to " + debug);
         _debug = debug;
     }
+    public void setTrackCheck (TrackCheck checker){
+        _trackCheck=checker;
+    }
 
 }

Modified: java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTrackFitter.java
 =============================================================================
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTrackFitter.java	(original)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTrackFitter.java	Thu Oct 30 10:32:22 2014
@@ -11,15 +11,11 @@
 import org.hps.recon.tracking.MaterialManager;
 import org.hps.recon.tracking.MultipleScattering;
 import org.hps.recon.tracking.nobfield.StraightTrack2DFitter.FitStatus;
-import org.lcsim.fit.circle.CircleFit;
 import org.lcsim.fit.helicaltrack.HelicalTrackCross;
 import org.lcsim.fit.helicaltrack.HelicalTrackFit;
 import org.lcsim.fit.helicaltrack.HelicalTrackHit;
 import org.lcsim.fit.helicaltrack.MultipleScatter;
 import org.lcsim.fit.line.SlopeInterceptLineFit;
-import org.lcsim.fit.line.SlopeInterceptLineFitter;
-import org.lcsim.fit.zsegment.ZSegmentFit;
-import org.lcsim.recon.tracking.seedtracker.ConstrainHelix;
 import org.lcsim.recon.tracking.seedtracker.SeedCandidate;
 import org.lcsim.recon.tracking.seedtracker.SeedStrategy;
 import org.lcsim.recon.tracking.seedtracker.TrackCheck;
@@ -27,8 +23,10 @@
 
 /**
  *
- * @author Richard Partridge
- * @version 1.0
+ * @author Mathew Graham <[log in to unmask]>
+ * run the track fitter for tracking in 0 b-field
+ * Modified from HelixTrackFitter
+ *
  */
 public class StraightTrackFitter {
 
@@ -37,10 +35,8 @@
     private HelicalTrackFit _helix;//still use HelicalTrackFit...
     private MaterialManager _materialmanager;
     //private ConstrainHelix _constrain;
-    private double _bfield = 0.;
-    private CircleFit _circlefit;
+    private double _bfield = 0.;   
     private SlopeInterceptLineFit _linefit;
-    private ZSegmentFit _zsegmentfit;
     private FitStatus _status;
     private ISeedTrackerDiagnostics _diag = null;
     TrackCheck _trackCheck; // set by SeedTracker
@@ -51,10 +47,7 @@
      */
     public StraightTrackFitter(MaterialManager materialmanager) {
         _materialmanager = materialmanager;
-
         _scattering = new MultipleScattering(_materialmanager);
-
-        //   _constrain = new ConstrainHelix();
     }
 
     //   public boolean FitCandidate(SeedCandidate seed, SeedStrategy strategy) {
@@ -69,11 +62,8 @@
         if (_bfield != 0.)
             throw new RuntimeException("B Field should be zero for the straight track fitter");
 
-        //  Set the tolerance in the fitter
-        //  _fitter.setTolerance(Math.sqrt(strategy.getMaxChisq()));
         //  Retrieve list of hits to be fit
         List<HelicalTrackHit> hitlist = seed.getHits();
-
         if (_debug) {
             System.out.println(this.getClass().getSimpleName() + ": hitlist size " + hitlist.size() + ":");
             double z_prev = -99999999.9;
@@ -195,18 +185,10 @@
         return _status;
     }
 
-    public CircleFit getCircleFit() {
-        return _circlefit;
-    }
-
     public SlopeInterceptLineFit getLineFit() {
         return _linefit;
     }
-
-    public ZSegmentFit getZSegmentFit() {
-        return _zsegmentfit;
-    }
-
+  
     public void setBField(double bfield) {
         _bfield = bfield;
         _scattering.setBField(_bfield);
@@ -222,9 +204,9 @@
     private void SaveFit() {
 
         //  Default to no fit results when circle fit fails
-        _circlefit = null;
+       
         _linefit = null;
-        _zsegmentfit = null;
+       
 
         //  If we have a circle fit, try to save the line fit / zsegment fit results
         if (_status == FitStatus.InconsistentSeed)
@@ -234,7 +216,6 @@
         if (_status == FitStatus.SZLineFitFailed)
             return;
         //     _linefit = _fitter.getLineFit();
-//        _zsegmentfit = _fitter.getZSegmentFit();
 
         return;
     }

Modified: java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTrackReconDriver.java
 =============================================================================
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTrackReconDriver.java	(original)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTrackReconDriver.java	Thu Oct 30 10:32:22 2014
@@ -3,7 +3,6 @@
 import hep.physics.vec.BasicHep3Vector;
 import java.util.List;
 import org.hps.recon.tracking.CoordinateTransformations;
-import org.hps.recon.tracking.nobfield.StraightTracker;
 import org.lcsim.event.EventHeader;
 import org.lcsim.event.Track;
 import org.lcsim.event.base.BaseTrack;
@@ -15,11 +14,10 @@
 import org.lcsim.util.Driver;
 
 /**
- * This class runs the Track Reconstruction for the HPS Test Proposal detector.
- * The tracker digitization must be run in front of it. It is intended to work
- * with the {@link TrackerDigiDriver} digitization Driver.
+ * This class runs the Track Reconstruction 0 B-Field  events.
+ * The tracker digitization must be run in front of it. It is intended to work 
  *
- * @author Matt Graham
+ * @author Matt Graham <[log in to unmask]>
  */
 public final class StraightTrackReconDriver extends Driver {
 
@@ -34,7 +32,7 @@
     // Default B-field value.
     private double bfield = 0.5;
     // Tracking strategies resource path.
-    private String strategyResource = "HPS-Full.xml";
+    private String strategyResource = "HPS-Full-StraightTracks.xml";
     // Output track collection.
     private String trackCollectionName = "StraightTracks";
     // HelicalTrackHit input collection.

Modified: java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTracker.java
 =============================================================================
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTracker.java	(original)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/nobfield/StraightTracker.java	Thu Oct 30 10:32:22 2014
@@ -28,14 +28,15 @@
 import org.lcsim.util.aida.AIDA;
 
 /**
- * Tracking algorithm based on forming track seeds from all 3-hit combinations,
- * confirming this tentantive helix by requiring additional hits, and extending
+ * Tracking algorithm based on forming straight track seeds from all 3-hit combinations,
+ * confirming this tentantive track by requiring additional hits, and extending
  * the track to additional layers. The operation of the algorithm is controlled
  * by a list of SeedStrategy that define the tracker layers to be used and the
  * cuts on the tracking algorithm.
  *
- * @author Richard Partridge
- * @version 1.0
+ * @author Mathew Graham <mgraham.slac.stanford.edu>
+ * Copied/Modified from org.lcsim.recon.tracking.SeedTracker
+ * 
  */
 public class StraightTracker extends Driver {
 
@@ -306,8 +307,8 @@
      * is performed.
      */
     public void setTrackCheck(TrackCheck trackCheck) {
-        _finder._trackCheck = trackCheck;
-        _maketracks._trackCheck = trackCheck;
+        _finder.setTrackCheck(trackCheck);
+        _maketracks.setTrackCheck(trackCheck);
     }
 
     /**