Commit in hps-java/src/main/java/org/lcsim/hps/recon/tracking on MAIN
TestProposalTrackRecon.java+70added 1.1
TestProposalTrackReconSteeringDriver.java+65added 1.1
+135
2 added files
add simplified versions of Matt Graham's tracking drivers for test proposal

hps-java/src/main/java/org/lcsim/hps/recon/tracking
TestProposalTrackRecon.java added at 1.1
diff -N TestProposalTrackRecon.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ TestProposalTrackRecon.java	27 May 2011 20:43:54 -0000	1.1
@@ -0,0 +1,70 @@
+package org.lcsim.hps.recon.tracking;
+
+import java.util.List;
+
+import org.lcsim.HPSBase.HPSHelicalTrackHitDriver;
+import org.lcsim.HPSBase.HPSTrackerHitDriver;
+import org.lcsim.event.EventHeader;
+import org.lcsim.recon.tracking.seedtracker.SeedStrategy;
+import org.lcsim.recon.tracking.seedtracker.SeedTracker;
+import org.lcsim.recon.tracking.seedtracker.StrategyXMLUtils;
+import org.lcsim.util.Driver;
+
+/**
+ * Driver to perform hit digitization and track reconstruction for the HPS Test Proposal detector.
+ * Based on simplification of MultiTrackReco from Matt Graham.
+ *
+ * @author Jeremy McCormick <[log in to unmask]>
+ */
+public class TestProposalTrackRecon extends Driver 
+{
+    public TestProposalTrackRecon(
+            double bField, 
+            String strategyResource, 
+            List<int[]> stereoPairs, 
+            List<Integer> passLayers
+            ) 
+    {
+        // Make digi hits.
+        HPSTrackerHitDriver thd = new HPSTrackerHitDriver();
+        add(thd);
+
+        // Make axial hits.
+        HPSHelicalTrackHitDriver hitdriver = new HPSHelicalTrackHitDriver();
+        hitdriver.addCollection(((HPSTrackerHitDriver) thd).getStripHits1DName());
+        hitdriver.OutputCollection("AxialTrackHits");
+        hitdriver.HitRelationName("AxialTrackHitRelations");
+        hitdriver.MCRelationName("AxialTrackMCRelations");
+        add(hitdriver);
+
+        // Make helical hits which seedtracker expects.
+        HPSHelicalTrackHitDriver hthdriver = new HPSHelicalTrackHitDriver();
+        hthdriver.addCollection(((HPSTrackerHitDriver) thd).getStripHits1DName());
+        hthdriver.OutputCollection("HelicalTrackHits");
+        hthdriver.HitRelationName("HelicalTrackHitRelations");
+        hthdriver.MCRelationName("HelicalTrackMCRelations");
+        for (int[] pair : stereoPairs)
+        {
+            hthdriver.setStereoPair("Tracker", pair[0], pair[1]);
+        }   
+        hthdriver.setMaxSeperation(10.01);
+        hthdriver.setTolerance(0.01);
+        add(hthdriver);
+
+        // Setup seedtracker.
+        List<SeedStrategy> sFinallist = StrategyXMLUtils.getStrategyListFromInputStream(
+                this.getClass().getResourceAsStream(strategyResource));
+        SeedTracker stFinal = new SeedTracker(sFinallist);
+        stFinal.setInputCollectionName("HelicalTrackHits");
+        stFinal.setTrkCollectionName("MatchedTracks");
+        stFinal.setBField(bField);
+        stFinal.setSectorParams(false);
+        stFinal.setTimingPlots(true);
+        add(stFinal);
+    }
+    
+    public void process(EventHeader event)
+    {
+        super.process(event);
+    }
+}
\ No newline at end of file

hps-java/src/main/java/org/lcsim/hps/recon/tracking
TestProposalTrackReconSteeringDriver.java added at 1.1
diff -N TestProposalTrackReconSteeringDriver.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ TestProposalTrackReconSteeringDriver.java	27 May 2011 20:43:54 -0000	1.1
@@ -0,0 +1,65 @@
+package org.lcsim.hps.recon.tracking;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.lcsim.HPSBase.MakeSensorsDriver;
+import org.lcsim.event.EventHeader;
+import org.lcsim.util.Driver;
+
+/**
+ * Driver for track reconstruction and analysis of HPS Test Propsal detector.
+ * Based on simplification of HeavyPhotonLLDriver from Matt Graham.
+ *
+ * @author Jeremy McCormick <[log in to unmask]>
+ */
+public final class TestProposalTrackReconSteeringDriver extends Driver 
+{    
+    // Tracking params.
+    List<int[]> pairs = new ArrayList();
+    List<Integer> passLayers = new ArrayList();
+    
+    // FIXME: This should come from Detector.
+    double bfield = 0.5;
+
+    // Strategy file for tracking.
+    String strategyResource = "/HPS-Test-1pt3.xml";
+
+    public TestProposalTrackReconSteeringDriver() 
+    {
+        int[] p1 = {1, 2};
+        int[] p2 = {3, 4};
+        int[] p3 = {5, 6};
+        int[] p4 = {7, 8};
+        int[] p5 = {9, 10};
+
+        pairs.add(p1);
+        pairs.add(p2);
+        pairs.add(p3);
+        pairs.add(p4);
+        pairs.add(p5);
+        
+        
+        // Add Driver to setup sensors.
+        add(new MakeSensorsDriver());
+        
+        System.out.println(this.getClass().getCanonicalName() + " ...");
+        System.out.println("  bfield="+bfield);
+        System.out.println("  strategyResource="+strategyResource);
+        System.out.println("  npairs="+pairs.size());
+        System.out.println("  npassLayers="+passLayers.size());
+        
+        // Add track recon Driver.
+        TestProposalTrackRecon trd = new TestProposalTrackRecon(
+                bfield,
+                strategyResource,
+                pairs, 
+                passLayers);
+        add(trd);
+    }
+    
+    public void process(EventHeader event)
+    {
+        super.process(event);
+    }
+}
\ No newline at end of file
CVSspam 0.2.8