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); } /**