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