Print

Print


Commit in lcsim/src/org/lcsim/contrib/seedtracker/digiexample on MAIN
BetterPlanarStrategy.java+264added 1.1
DigiSeedTrackerDriver.java+59added 1.1
+323
2 added files
CD - updated seedtracker driver for planar geometry

lcsim/src/org/lcsim/contrib/seedtracker/digiexample
BetterPlanarStrategy.java added at 1.1
diff -N BetterPlanarStrategy.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ BetterPlanarStrategy.java	8 Jul 2008 19:45:19 -0000	1.1
@@ -0,0 +1,264 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.lcsim.contrib.seedtracker.digiexample;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.lcsim.contrib.seedtracker.SeedLayer;
+import org.lcsim.contrib.seedtracker.SeedLayer.SeedType;
+import org.lcsim.contrib.seedtracker.SeedStrategy;
+import org.lcsim.geometry.subdetector.BarrelEndcapFlag;
+
+/**
+ *
+ * @author cozzy
+ */
+public class BetterPlanarStrategy {
+    private List<SeedStrategy> _strategylist = new ArrayList<SeedStrategy>();
+    
+    private static final String VERTEX_BARREL_NAME = "SiVertexBarrel"; 
+    private static final String TRACKER_BARREL_NAME = "SiTrackerBarrel"; 
+    private static final String TRACKER_FORWARD_NAME = "SiTrackerForward";
+    private static final String TRACKER_ENDCAP_NAME = "SiTrackerEndcap"; 
+    private static final String VERTEX_ENDCAP_NAME = "SiVertexEndcap"; 
+    
+    public BetterPlanarStrategy() {
+        BarrelEndcapFlag barrel = BarrelEndcapFlag.BARREL;
+        BarrelEndcapFlag nend = BarrelEndcapFlag.ENDCAP_NORTH;
+        BarrelEndcapFlag send = BarrelEndcapFlag.ENDCAP_SOUTH;
+        
+        List<BarrelEndcapFlag> beflags = new ArrayList<BarrelEndcapFlag>();
+        beflags.add(nend);
+        beflags.add(send);
+        
+        //  Create an outside-in strategy for the barrel
+        List<SeedLayer> lyrlist = new ArrayList<SeedLayer>();
+        lyrlist.add(new SeedLayer(VERTEX_BARREL_NAME,0,barrel,SeedType.Extend));
+        lyrlist.add(new SeedLayer(VERTEX_BARREL_NAME,1,barrel,SeedType.Extend));
+        lyrlist.add(new SeedLayer(VERTEX_BARREL_NAME,2,barrel,SeedType.Extend));
+        lyrlist.add(new SeedLayer(VERTEX_BARREL_NAME,3,barrel,SeedType.Extend));
+        lyrlist.add(new SeedLayer(VERTEX_BARREL_NAME,4,barrel,SeedType.Extend));
+        lyrlist.add(new SeedLayer(VERTEX_ENDCAP_NAME,0,nend,SeedType.Extend));
+        lyrlist.add(new SeedLayer(VERTEX_ENDCAP_NAME,1,nend,SeedType.Extend));
+        lyrlist.add(new SeedLayer(TRACKER_FORWARD_NAME,0,nend,SeedType.Extend));
+        lyrlist.add(new SeedLayer(VERTEX_ENDCAP_NAME,0,send,SeedType.Extend));
+        lyrlist.add(new SeedLayer(VERTEX_ENDCAP_NAME,1,send,SeedType.Extend));
+        lyrlist.add(new SeedLayer(TRACKER_FORWARD_NAME,0,send,SeedType.Extend));
+        lyrlist.add(new SeedLayer(TRACKER_BARREL_NAME,0,barrel,SeedType.Extend));
+        lyrlist.add(new SeedLayer(TRACKER_BARREL_NAME,1,barrel,SeedType.Confirm));
+        lyrlist.add(new SeedLayer(TRACKER_BARREL_NAME,2,barrel,SeedType.Seed));
+        lyrlist.add(new SeedLayer(TRACKER_BARREL_NAME,3,barrel,SeedType.Seed));
+        lyrlist.add(new SeedLayer(TRACKER_BARREL_NAME,4,barrel,SeedType.Seed));
+        SeedStrategy outsideinbarrel = new SeedStrategy("OutsideInBarrel",lyrlist);
+        _strategylist.add(outsideinbarrel);
+        
+        for (BarrelEndcapFlag endcap : beflags) {
+            
+            
+            //  Create an outside-in strategy for the disks
+            List<SeedLayer> lyrlist2 = new ArrayList<SeedLayer>();
+            lyrlist2.add(new SeedLayer(VERTEX_BARREL_NAME,0,barrel,SeedType.Extend));
+            lyrlist2.add(new SeedLayer(VERTEX_BARREL_NAME,1,barrel,SeedType.Extend));
+            lyrlist2.add(new SeedLayer(VERTEX_BARREL_NAME,2,barrel,SeedType.Extend));
+            lyrlist2.add(new SeedLayer(VERTEX_ENDCAP_NAME,0,endcap,SeedType.Extend));
+            lyrlist2.add(new SeedLayer(VERTEX_ENDCAP_NAME,1,endcap,SeedType.Extend));
+            lyrlist2.add(new SeedLayer(VERTEX_ENDCAP_NAME,2,endcap,SeedType.Extend));
+            lyrlist2.add(new SeedLayer(VERTEX_ENDCAP_NAME,3,endcap,SeedType.Extend));
+            lyrlist2.add(new SeedLayer(TRACKER_FORWARD_NAME,0,endcap,SeedType.Extend));
+            lyrlist2.add(new SeedLayer(TRACKER_FORWARD_NAME,1,endcap,SeedType.Extend));
+            lyrlist2.add(new SeedLayer(TRACKER_BARREL_NAME,0,barrel,SeedType.Extend));
+            lyrlist2.add(new SeedLayer(TRACKER_BARREL_NAME,1,barrel,SeedType.Confirm));
+            lyrlist2.add(new SeedLayer(TRACKER_ENDCAP_NAME,0,endcap,SeedType.Confirm));
+            lyrlist2.add(new SeedLayer(TRACKER_ENDCAP_NAME,1,endcap,SeedType.Seed));
+            lyrlist2.add(new SeedLayer(TRACKER_ENDCAP_NAME,2,endcap,SeedType.Seed));
+            lyrlist2.add(new SeedLayer(TRACKER_ENDCAP_NAME,3,endcap,SeedType.Seed));
+            SeedStrategy outsideinendcap = new SeedStrategy("OutsideInEndcap",lyrlist2);
+            _strategylist.add(outsideinendcap);
+            
+            //  Create an outside-in strategy for the disks
+            List<SeedLayer> lyrlist3 = new ArrayList<SeedLayer>();
+            lyrlist3.add(new SeedLayer(VERTEX_BARREL_NAME,0,barrel,SeedType.Extend));
+            lyrlist3.add(new SeedLayer(VERTEX_BARREL_NAME,1,barrel,SeedType.Extend));
+            lyrlist3.add(new SeedLayer(VERTEX_BARREL_NAME,2,barrel,SeedType.Extend));
+            lyrlist3.add(new SeedLayer(VERTEX_BARREL_NAME,3,barrel,SeedType.Extend));
+            lyrlist3.add(new SeedLayer(VERTEX_ENDCAP_NAME,0,endcap,SeedType.Extend));
+            lyrlist3.add(new SeedLayer(VERTEX_ENDCAP_NAME,1,endcap,SeedType.Extend));
+            lyrlist3.add(new SeedLayer(TRACKER_FORWARD_NAME,0,endcap,SeedType.Extend));
+            lyrlist3.add(new SeedLayer(TRACKER_BARREL_NAME,0,barrel,SeedType.Extend));
+            lyrlist3.add(new SeedLayer(TRACKER_BARREL_NAME,1,barrel,SeedType.Confirm));
+            lyrlist3.add(new SeedLayer(TRACKER_BARREL_NAME,2,barrel,SeedType.Seed));
+            lyrlist3.add(new SeedLayer(TRACKER_BARREL_NAME,3,barrel,SeedType.Seed));
+            lyrlist3.add(new SeedLayer(TRACKER_ENDCAP_NAME,3,endcap,SeedType.Seed));
+            SeedStrategy outsideinendcap3 = new SeedStrategy("OutsideInEndcap3",lyrlist3);
+            _strategylist.add(outsideinendcap3);
+            
+            //  Create an outside-in strategy for the disks
+            List<SeedLayer> lyrlist4 = new ArrayList<SeedLayer>();
+            lyrlist4.add(new SeedLayer(VERTEX_BARREL_NAME,0,barrel,SeedType.Extend));
+            lyrlist4.add(new SeedLayer(VERTEX_BARREL_NAME,1,barrel,SeedType.Extend));
+            lyrlist4.add(new SeedLayer(VERTEX_BARREL_NAME,2,barrel,SeedType.Extend));
+            lyrlist4.add(new SeedLayer(VERTEX_BARREL_NAME,3,barrel,SeedType.Extend));
+            lyrlist4.add(new SeedLayer(VERTEX_ENDCAP_NAME,0,endcap,SeedType.Extend));
+            lyrlist4.add(new SeedLayer(VERTEX_ENDCAP_NAME,1,endcap,SeedType.Extend));
+            lyrlist4.add(new SeedLayer(VERTEX_ENDCAP_NAME,2,endcap,SeedType.Extend));
+            lyrlist4.add(new SeedLayer(TRACKER_FORWARD_NAME,0,endcap,SeedType.Extend));
+            lyrlist4.add(new SeedLayer(TRACKER_BARREL_NAME,0,barrel,SeedType.Extend));
+            lyrlist4.add(new SeedLayer(TRACKER_BARREL_NAME,1,barrel,SeedType.Confirm));
+            lyrlist4.add(new SeedLayer(TRACKER_BARREL_NAME,2,barrel,SeedType.Seed));
+            lyrlist4.add(new SeedLayer(TRACKER_ENDCAP_NAME,2,endcap,SeedType.Seed));
+            lyrlist4.add(new SeedLayer(TRACKER_ENDCAP_NAME,3,endcap,SeedType.Seed));
+            SeedStrategy outsideinendcap4 = new SeedStrategy("OutsideInEndcap4",lyrlist4);
+            _strategylist.add(outsideinendcap4);
+            
+            //  Create an outside-in strategy for the disks
+            List<SeedLayer> lyrlist5 = new ArrayList<SeedLayer>();
+            lyrlist5.add(new SeedLayer(VERTEX_BARREL_NAME,0,barrel,SeedType.Extend));
+            lyrlist5.add(new SeedLayer(VERTEX_BARREL_NAME,1,barrel,SeedType.Extend));
+            lyrlist5.add(new SeedLayer(VERTEX_BARREL_NAME,2,barrel,SeedType.Extend));
+            lyrlist5.add(new SeedLayer(VERTEX_ENDCAP_NAME,0,endcap,SeedType.Extend));
+            lyrlist5.add(new SeedLayer(VERTEX_ENDCAP_NAME,1,endcap,SeedType.Extend));
+            lyrlist5.add(new SeedLayer(VERTEX_ENDCAP_NAME,2,endcap,SeedType.Extend));
+            lyrlist5.add(new SeedLayer(TRACKER_FORWARD_NAME,0,endcap,SeedType.Extend));
+            lyrlist5.add(new SeedLayer(TRACKER_BARREL_NAME,0,barrel,SeedType.Extend));
+            lyrlist5.add(new SeedLayer(TRACKER_BARREL_NAME,1,barrel,SeedType.Confirm));
+            lyrlist5.add(new SeedLayer(TRACKER_ENDCAP_NAME,1,endcap,SeedType.Seed));
+            lyrlist5.add(new SeedLayer(TRACKER_ENDCAP_NAME,2,endcap,SeedType.Seed));
+            lyrlist5.add(new SeedLayer(TRACKER_ENDCAP_NAME,3,endcap,SeedType.Seed));
+            SeedStrategy outsideinendcap5 = new SeedStrategy("OutsideInEndcap5",lyrlist5);
+            _strategylist.add(outsideinendcap5);
+            
+            //  Create an outside-in strategy for the disks
+            List<SeedLayer> lyrlist6 = new ArrayList<SeedLayer>();
+            lyrlist6.add(new SeedLayer(VERTEX_BARREL_NAME,0,barrel,SeedType.Extend));
+            lyrlist6.add(new SeedLayer(VERTEX_BARREL_NAME,1,barrel,SeedType.Extend));
+            lyrlist6.add(new SeedLayer(VERTEX_ENDCAP_NAME,0,endcap,SeedType.Extend));
+            lyrlist6.add(new SeedLayer(VERTEX_ENDCAP_NAME,1,endcap,SeedType.Extend));
+            lyrlist6.add(new SeedLayer(VERTEX_ENDCAP_NAME,2,endcap,SeedType.Extend));
+            lyrlist6.add(new SeedLayer(VERTEX_ENDCAP_NAME,3,endcap,SeedType.Extend));
+            lyrlist6.add(new SeedLayer(TRACKER_FORWARD_NAME,0,endcap,SeedType.Extend));
+            lyrlist6.add(new SeedLayer(TRACKER_FORWARD_NAME,1,endcap,SeedType.Confirm));
+            lyrlist6.add(new SeedLayer(TRACKER_FORWARD_NAME,2,endcap,SeedType.Confirm));
+            lyrlist6.add(new SeedLayer(TRACKER_ENDCAP_NAME,1,endcap,SeedType.Seed));
+            lyrlist6.add(new SeedLayer(TRACKER_ENDCAP_NAME,2,endcap,SeedType.Seed));
+            lyrlist6.add(new SeedLayer(TRACKER_ENDCAP_NAME,3,endcap,SeedType.Seed));
+            SeedStrategy outsideinendcap6 = new SeedStrategy("OutsideInEndcap6",lyrlist6);
+            _strategylist.add(outsideinendcap6);
+            
+            //  Create an outside-in strategy for the disks
+            List<SeedLayer> lyrlist7 = new ArrayList<SeedLayer>();
+            lyrlist7.add(new SeedLayer(VERTEX_BARREL_NAME,0,barrel,SeedType.Extend));
+            lyrlist7.add(new SeedLayer(VERTEX_BARREL_NAME,1,barrel,SeedType.Extend));
+            lyrlist7.add(new SeedLayer(VERTEX_ENDCAP_NAME,0,endcap,SeedType.Extend));
+            lyrlist7.add(new SeedLayer(VERTEX_ENDCAP_NAME,1,endcap,SeedType.Extend));
+            lyrlist7.add(new SeedLayer(VERTEX_ENDCAP_NAME,2,endcap,SeedType.Extend));
+            lyrlist7.add(new SeedLayer(VERTEX_ENDCAP_NAME,3,endcap,SeedType.Extend));
+            lyrlist7.add(new SeedLayer(TRACKER_FORWARD_NAME,0,endcap,SeedType.Extend));
+            lyrlist7.add(new SeedLayer(TRACKER_FORWARD_NAME,1,endcap,SeedType.Confirm));
+            lyrlist7.add(new SeedLayer(TRACKER_FORWARD_NAME,2,endcap,SeedType.Seed));
+            lyrlist7.add(new SeedLayer(TRACKER_ENDCAP_NAME,2,endcap,SeedType.Seed));
+            lyrlist7.add(new SeedLayer(TRACKER_ENDCAP_NAME,3,endcap,SeedType.Seed));
+            SeedStrategy outsideinendcap7 = new SeedStrategy("OutsideInEndcap7",lyrlist7);
+            _strategylist.add(outsideinendcap7);
+            
+            //  Create an inside out for the forward region
+            List<SeedLayer> lyrlist8 = new ArrayList<SeedLayer>();
+            lyrlist8.add(new SeedLayer(VERTEX_BARREL_NAME,0,barrel,SeedType.Extend));
+            lyrlist8.add(new SeedLayer(VERTEX_BARREL_NAME,1,barrel,SeedType.Extend));
+            lyrlist8.add(new SeedLayer(VERTEX_ENDCAP_NAME,0,endcap,SeedType.Seed));
+            lyrlist8.add(new SeedLayer(VERTEX_ENDCAP_NAME,1,endcap,SeedType.Seed));
+            lyrlist8.add(new SeedLayer(VERTEX_ENDCAP_NAME,2,endcap,SeedType.Seed));
+            lyrlist8.add(new SeedLayer(VERTEX_ENDCAP_NAME,3,endcap,SeedType.Confirm));
+            lyrlist8.add(new SeedLayer(TRACKER_FORWARD_NAME,0,endcap,SeedType.Extend));
+            lyrlist8.add(new SeedLayer(TRACKER_FORWARD_NAME,1,endcap,SeedType.Extend));
+            lyrlist8.add(new SeedLayer(TRACKER_FORWARD_NAME,2,endcap,SeedType.Extend));
+            lyrlist8.add(new SeedLayer(TRACKER_ENDCAP_NAME,2,endcap,SeedType.Extend));
+            lyrlist8.add(new SeedLayer(TRACKER_ENDCAP_NAME,3,endcap,SeedType.Extend));
+            SeedStrategy outsideinendcap8 = new SeedStrategy("InsideOutEndcap1",lyrlist8);
+            _strategylist.add(outsideinendcap8);
+            
+            //  Create an inside out for the forward region
+            List<SeedLayer> lyrlist9 = new ArrayList<SeedLayer>();
+            lyrlist9.add(new SeedLayer(VERTEX_BARREL_NAME,0,barrel,SeedType.Extend));
+            lyrlist9.add(new SeedLayer(VERTEX_BARREL_NAME,1,barrel,SeedType.Extend));
+            lyrlist9.add(new SeedLayer(VERTEX_ENDCAP_NAME,0,endcap,SeedType.Seed));
+            lyrlist9.add(new SeedLayer(VERTEX_ENDCAP_NAME,1,endcap,SeedType.Seed));
+            lyrlist9.add(new SeedLayer(VERTEX_ENDCAP_NAME,2,endcap,SeedType.Seed));
+            lyrlist9.add(new SeedLayer(VERTEX_ENDCAP_NAME,3,endcap,SeedType.Extend));
+            lyrlist9.add(new SeedLayer(TRACKER_FORWARD_NAME,0,endcap,SeedType.Confirm));
+            lyrlist9.add(new SeedLayer(TRACKER_FORWARD_NAME,1,endcap,SeedType.Extend));
+            lyrlist9.add(new SeedLayer(TRACKER_FORWARD_NAME,2,endcap,SeedType.Extend));
+            lyrlist9.add(new SeedLayer(TRACKER_ENDCAP_NAME,2,endcap,SeedType.Extend));
+            lyrlist9.add(new SeedLayer(TRACKER_ENDCAP_NAME,3,endcap,SeedType.Extend));
+            SeedStrategy outsideinendcap9 = new SeedStrategy("InsideOutEndcap2",lyrlist9);
+            _strategylist.add(outsideinendcap9);
+            
+            //  Create an inside out for the forward region
+            List<SeedLayer> lyrlist10 = new ArrayList<SeedLayer>();
+            lyrlist10.add(new SeedLayer(VERTEX_BARREL_NAME,0,barrel,SeedType.Seed));
+            lyrlist10.add(new SeedLayer(VERTEX_BARREL_NAME,1,barrel,SeedType.Seed));
+            lyrlist10.add(new SeedLayer(VERTEX_BARREL_NAME,2,barrel,SeedType.Extend));
+            lyrlist10.add(new SeedLayer(VERTEX_BARREL_NAME,3,barrel,SeedType.Extend));
+            lyrlist10.add(new SeedLayer(VERTEX_BARREL_NAME,4,barrel,SeedType.Extend));
+            lyrlist10.add(new SeedLayer(TRACKER_BARREL_NAME,0,barrel,SeedType.Seed));
+            lyrlist10.add(new SeedLayer(TRACKER_BARREL_NAME,1,barrel,SeedType.Confirm));
+            lyrlist10.add(new SeedLayer(TRACKER_BARREL_NAME,2,barrel,SeedType.Extend));
+            lyrlist10.add(new SeedLayer(TRACKER_BARREL_NAME,3,barrel,SeedType.Extend));
+            lyrlist10.add(new SeedLayer(TRACKER_BARREL_NAME,4,barrel,SeedType.Extend));
+            lyrlist10.add(new SeedLayer(VERTEX_ENDCAP_NAME,0,endcap,SeedType.Extend));
+            lyrlist10.add(new SeedLayer(VERTEX_ENDCAP_NAME,1,endcap,SeedType.Extend));
+            lyrlist10.add(new SeedLayer(VERTEX_ENDCAP_NAME,2,endcap,SeedType.Extend));
+            lyrlist10.add(new SeedLayer(VERTEX_ENDCAP_NAME,3,endcap,SeedType.Extend));
+            lyrlist10.add(new SeedLayer(TRACKER_FORWARD_NAME,0,endcap,SeedType.Extend));
+            lyrlist10.add(new SeedLayer(TRACKER_FORWARD_NAME,1,endcap,SeedType.Extend));
+            lyrlist10.add(new SeedLayer(TRACKER_FORWARD_NAME,2,endcap,SeedType.Extend));
+            lyrlist10.add(new SeedLayer(TRACKER_ENDCAP_NAME,2,endcap,SeedType.Extend));
+            lyrlist10.add(new SeedLayer(TRACKER_ENDCAP_NAME,3,endcap,SeedType.Extend));
+            SeedStrategy outsideinendcap10 = new SeedStrategy("InsideOutEndcap3",lyrlist10);
+            _strategylist.add(outsideinendcap10);
+            
+            //  Create an inside out for the forward region
+            List<SeedLayer> lyrlist11 = new ArrayList<SeedLayer>();
+            lyrlist11.add(new SeedLayer(VERTEX_BARREL_NAME,0,barrel,SeedType.Extend));
+            lyrlist11.add(new SeedLayer(VERTEX_BARREL_NAME,1,barrel,SeedType.Extend));
+            lyrlist11.add(new SeedLayer(VERTEX_BARREL_NAME,2,barrel,SeedType.Extend));
+            lyrlist11.add(new SeedLayer(VERTEX_BARREL_NAME,3,barrel,SeedType.Extend));
+            lyrlist11.add(new SeedLayer(VERTEX_BARREL_NAME,4,barrel,SeedType.Extend));
+            lyrlist11.add(new SeedLayer(TRACKER_BARREL_NAME,0,barrel,SeedType.Extend));
+            lyrlist11.add(new SeedLayer(TRACKER_BARREL_NAME,1,barrel,SeedType.Extend));
+            lyrlist11.add(new SeedLayer(TRACKER_BARREL_NAME,2,barrel,SeedType.Extend));
+            lyrlist11.add(new SeedLayer(TRACKER_BARREL_NAME,3,barrel,SeedType.Extend));
+            lyrlist11.add(new SeedLayer(TRACKER_BARREL_NAME,4,barrel,SeedType.Extend));
+            lyrlist11.add(new SeedLayer(VERTEX_ENDCAP_NAME,0,endcap,SeedType.Extend));
+            lyrlist11.add(new SeedLayer(VERTEX_ENDCAP_NAME,1,endcap,SeedType.Seed));
+            lyrlist11.add(new SeedLayer(VERTEX_ENDCAP_NAME,2,endcap,SeedType.Seed));
+            lyrlist11.add(new SeedLayer(VERTEX_ENDCAP_NAME,3,endcap,SeedType.Seed));
+            lyrlist11.add(new SeedLayer(TRACKER_FORWARD_NAME,0,endcap,SeedType.Confirm));
+            lyrlist11.add(new SeedLayer(TRACKER_FORWARD_NAME,1,endcap,SeedType.Extend));
+            lyrlist11.add(new SeedLayer(TRACKER_FORWARD_NAME,2,endcap,SeedType.Extend));
+            lyrlist11.add(new SeedLayer(TRACKER_ENDCAP_NAME,2,endcap,SeedType.Extend));
+            lyrlist11.add(new SeedLayer(TRACKER_ENDCAP_NAME,3,endcap,SeedType.Extend));
+            SeedStrategy outsideinendcap11 = new SeedStrategy("InsideOutEndcap4",lyrlist11);
+            _strategylist.add(outsideinendcap11);
+            
+        }
+        
+        for (SeedStrategy strategy : _strategylist) {
+            //  Set parameters for this strategy
+            strategy.putMinPT(1.0);        //  Set minimum pT at 1 GeV
+            strategy.putMaxDCA(10.0);       //  Set maximum d0 at 1 mm
+            strategy.putMaxZ0(10.0);        //  Set maximum z0 at 1 mm
+            strategy.putMinConfirm(1);     //  Require at least 1 confirm hit
+            strategy.putMinHits(7);        //  Require at least 7 total hits
+            strategy.putMaxChisq(50.);     //  Set maximum chi^2 at 50
+            strategy.putBadHitChisq(15.);  //  Set chi^2 change that gives preference to excluding the hit
+        }
+    }
+    
+    public List<SeedStrategy> getStrategies() {
+        return _strategylist;
+    }
+
+}

lcsim/src/org/lcsim/contrib/seedtracker/digiexample
DigiSeedTrackerDriver.java added at 1.1
diff -N DigiSeedTrackerDriver.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ DigiSeedTrackerDriver.java	8 Jul 2008 19:45:19 -0000	1.1
@@ -0,0 +1,59 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.lcsim.contrib.seedtracker.digiexample;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.lcsim.contrib.SiStripSim.TrackerHitDriver_User;
+import org.lcsim.contrib.seedtracker.SeedTracker;
+import org.lcsim.contrib.tracking.TrackerHitCheater;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.SimTrackerHit;
+import org.lcsim.event.TrackerHit;
+import org.lcsim.event.TrackerHit;
+import org.lcsim.fit.helicaltrack.HelicalTrackHitDriver;
+import org.lcsim.fit.helicaltrack.HelicalTrackHitDriver.HitType;
+import org.lcsim.util.Driver;
+
+/* SeedTracker driver using digitized hits. Because pixel hits are not yet available, 
+ * smeared hits are used in the vertex detector. 
+ *
+ * @author cozzy
+ */
+public class DigiSeedTrackerDriver extends Driver{
+
+    public DigiSeedTrackerDriver() {
+        TrackerHitDriver_User driver = new TrackerHitDriver_User();         
+        add(driver);
+        HelicalTrackHitDriver hitdriver = new HelicalTrackHitDriver();
+        hitdriver.addCollection(((TrackerHitDriver_User)driver).getStripHits1DName(),HitType.Digitized);
+        hitdriver.addCollection("CheatedVertexBarrelHits",HitType.Smeared); 
+        add(hitdriver);
+        SeedTracker st = new SeedTracker(new BetterPlanarStrategy().getStrategies());
+//        st.setDiagnostics(new SeedTrackerDiagnostics());
+        add(st);
+//        add(new AnalysisDriver());
+    }
+    
+    @Override
+    /**
+     * Process the current event
+     * @param event EventHeader for this event
+     */
+    public void process(EventHeader event)
+    {
+        List<SimTrackerHit> simhits = new ArrayList<SimTrackerHit>(); 
+        simhits.addAll(event.getSimTrackerHits("SiVertexBarrel_RO")); 
+        simhits.addAll(event.getSimTrackerHits("SiVertexEndcap_RO")); 
+        TrackerHitCheater cheater = new TrackerHitCheater();
+        List<TrackerHit> smearedhits = cheater.makeTrackerHits(simhits);
+        event.put("CheatedVertexBarrelHits", smearedhits, TrackerHit.class, 0);
+        super.process(event);
+        return;     
+    }    
+
+    
+}
CVSspam 0.2.8