Print

Print


Author: [log in to unmask]
Date: Fri Apr 17 11:45:08 2015
New Revision: 2737

Log:
Add setter to TrackDataDriver and change the spacepoint where the B-field is checked (from origin at z=50cm) in TrackerReconDriver.

Modified:
    java/trunk/tracking/src/main/java/org/hps/recon/tracking/TrackDataDriver.java
    java/trunk/tracking/src/main/java/org/hps/recon/tracking/TrackerReconDriver.java

Modified: java/trunk/tracking/src/main/java/org/hps/recon/tracking/TrackDataDriver.java
 =============================================================================
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/TrackDataDriver.java	(original)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/TrackDataDriver.java	Fri Apr 17 11:45:08 2015
@@ -40,6 +40,10 @@
     String trackResidualsRelationsColName = "TrackResidualsRelations";
 
     public TrackDataDriver() {
+    }
+    
+    public void setTrackCollectionName(String name){
+        this.trackCollectionName=name;
     }
 
     protected void detectorChanged(Detector detector) {

Modified: java/trunk/tracking/src/main/java/org/hps/recon/tracking/TrackerReconDriver.java
 =============================================================================
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/TrackerReconDriver.java	(original)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/TrackerReconDriver.java	Fri Apr 17 11:45:08 2015
@@ -1,6 +1,7 @@
 package org.hps.recon.tracking;
 
 import hep.physics.vec.BasicHep3Vector;
+import hep.physics.vec.Hep3Vector;
 
 import java.util.List;
 
@@ -103,6 +104,7 @@
 
     /**
      * Set time cut.
+     *
      * @param rmsTimeCut
      */
     public void setRmsTimeCut(double rmsTimeCut) {
@@ -119,10 +121,12 @@
 
         // Get B-field Y with no sign. Seed Tracker doesn't like signed B-field components.
         // FIXME Is this always right?
-        this.bfield = Math.abs((detector.getFieldMap().getField(new BasicHep3Vector(0, 0, 0)).y()));
-        if (debug) {
-            System.out.printf("%s: Set B-field to %.3f\n", this.getClass().getSimpleName(), this.bfield);
-        }
+//        this.bfield = Math.abs((detector.getFieldMap().getField(new BasicHep3Vector(0, 0, 0)).y()));
+        double zvalInTracker=500.0;//50cm...about the middle
+        Hep3Vector fieldInTracker=detector.getFieldMap().getField(new BasicHep3Vector(0, 0, zvalInTracker));
+        System.out.println("fieldInTracker at "+zvalInTracker+": Bx = "+fieldInTracker.x()+"; By = "+fieldInTracker.y()+"; Bz = "+fieldInTracker.z());      
+        this.bfield = Math.abs(fieldInTracker.y());
+        System.out.printf("%s: Set B-field to %.6f\n", this.getClass().getSimpleName(), this.bfield);
 
         initialize();
 
@@ -137,9 +141,8 @@
         //
         // 1) Driver to run Seed Tracker.
         //
-        if (!strategyResource.startsWith("/")) {
+        if (!strategyResource.startsWith("/"))
             strategyResource = "/org/hps/recon/tracking/strategies/" + strategyResource;
-        }
         List<SeedStrategy> sFinallist = StrategyXMLUtils.getStrategyListFromInputStream(this.getClass().getResourceAsStream(strategyResource));
         SeedTracker stFinal = new SeedTracker(sFinallist, this._useHPSMaterialManager, this.includeMS);
         stFinal.setApplySectorBinning(_applySectorBinning);
@@ -150,16 +153,14 @@
         stFinal.setInputCollectionName(stInputCollectionName);
         stFinal.setTrkCollectionName(trackCollectionName);
         stFinal.setBField(bfield);
-        if (debug) {
+        if (debug)
             stFinal.setDiagnostics(new SeedTrackerDiagnostics());
-        }
         // stFinal.setSectorParams(false); //this doesn't actually seem to do anything
         stFinal.setSectorParams(1, 10000);
         add(stFinal);
 
-        if (rmsTimeCut > 0) {
+        if (rmsTimeCut > 0)
             stFinal.setTrackCheck(new HitTimeTrackCheck(rmsTimeCut));
-        }
     }
 
     /**
@@ -173,11 +174,10 @@
 
         // Debug printouts.
         if (debug) {
-            if (event.hasCollection(HelicalTrackHit.class, stInputCollectionName)) {
+            if (event.hasCollection(HelicalTrackHit.class, stInputCollectionName))
                 System.out.println(this.getClass().getSimpleName() + ": The HelicalTrackHit collection " + stInputCollectionName + " has " + event.get(HelicalTrackHit.class, stInputCollectionName).size() + " hits.");
-            } else {
+            else
                 System.out.println(this.getClass().getSimpleName() + ": No HelicalTrackHit collection for this event");
-            }
             // Check for Tracks.
             List<Track> tracks = event.get(Track.class, trackCollectionName);
             System.out.println(this.getClass().getSimpleName() + ": The Track collection " + trackCollectionName + " has " + tracks.size() + " tracks.");
@@ -207,9 +207,8 @@
      * @param tracks The list of <code>Track</code> objects.
      */
     private void setTrackType(List<Track> tracks) {
-        for (Track track : tracks) {
+        for (Track track : tracks)
             ((BaseTrack) track).setTrackType(BaseTrack.TrackType.Y_FIELD.ordinal());
-        }
     }
 
     @Override