Print

Print


Commit in lcsim/src/org/lcsim/contrib/seedtracker on MAIN
FindSeeds.java+5-51.6 -> 1.7
SeedTracker.java+3-31.13 -> 1.14
ConfirmerExtender.java+28-231.3 -> 1.4
ConfirmSeeds.java-1161.6 removed
ExtendSeeds.java-541.6 removed
+36-201
2 removed + 3 modified, total 5 files
CD - Refactor confirming / extending... get rid of useless classes.

lcsim/src/org/lcsim/contrib/seedtracker
FindSeeds.java 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- FindSeeds.java	22 Jun 2008 23:19:34 -0000	1.6
+++ FindSeeds.java	2 Jul 2008 18:00:38 -0000	1.7
@@ -21,7 +21,7 @@
 public class FindSeeds {
     private HitManager _hitmanager;
     private HelixFitter _helixfitter;
-    private ConfirmSeeds _confirmseeds;
+    private ConfirmerExtender _confirmer;  
     private List<SeedCandidate> _confirmedseeds;
     private ISeedTrackerDiagnostics diag = null; 
     
@@ -29,7 +29,7 @@
     public FindSeeds(HitManager hitmanager, HelixFitter helixfitter) {
         _hitmanager = hitmanager;
         _helixfitter = helixfitter;
-        _confirmseeds = new ConfirmSeeds(hitmanager, helixfitter);
+        _confirmer = new ConfirmerExtender(hitmanager, helixfitter); 
     }
     
     public void setDiagnostic(ISeedTrackerDiagnostics d) {
@@ -38,7 +38,7 @@
         
     public boolean FindConfirmedSeeds(SeedStrategy strategy, double bfield) {
         
-        if(diag!=null) _confirmseeds.setDiagnostics(diag);
+        if(diag!=null) _confirmer.setDiagnostics(diag);
         //  Get the SeedLayers for this strategy
         List<SeedLayer> seedlayerlist = strategy.getLayers(SeedLayer.SeedType.Seed);
         if (seedlayerlist.size() != 3) return false;
@@ -89,10 +89,10 @@
                     seed.setHelix(_helixfitter.getHelix());
                     nfit++;
                     
-                    success = _confirmseeds.Confirm(seed, strategy);
+                    success = _confirmer.Confirm(seed, true, strategy); 
                     if (!success) continue;
+                    _confirmedseeds.addAll(_confirmer.getResult()); 
                     
-                    _confirmedseeds.addAll(_confirmseeds.getConfirmedSeeds());
                     nconfirm++;
                 }
             }

lcsim/src/org/lcsim/contrib/seedtracker
SeedTracker.java 1.13 -> 1.14
diff -u -r1.13 -r1.14
--- SeedTracker.java	24 Jun 2008 22:02:35 -0000	1.13
+++ SeedTracker.java	2 Jul 2008 18:00:38 -0000	1.14
@@ -72,7 +72,7 @@
         if(diag!=null) finder.setDiagnostic(diag);
         
         //  Instantiate the Seed Extender
-        ExtendSeeds extender = new ExtendSeeds(hitmanager, helixfitter);
+        ConfirmerExtender extender = new ConfirmerExtender(hitmanager, helixfitter);          
         if(diag!=null) extender.setDiagnostics(diag);
         //  Instantiate the Seed Merger
         MergeSeedLists mergeseedlists = new MergeSeedLists();
@@ -95,9 +95,9 @@
             List<SeedCandidate> confirmed = finder.getConfirmedSeeds();
             
             //  Extend the confirmed seeds
-            success = extender.Extend(confirmed, strategy);
+            success = extender.Extend(confirmed, true, strategy); 
             if (!success) continue;
-            List<SeedCandidate> extended = extender.getExtendedSeeds();
+            List<SeedCandidate> extended = extender.getResult(); 
             
             //  Merge the extended seeds into the list of found track seeds, eliminating duplicates
             mergeseedlists.Merge(trackseeds, extended, strategy);

lcsim/src/org/lcsim/contrib/seedtracker
ConfirmerExtender.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- ConfirmerExtender.java	6 May 2008 23:52:00 -0000	1.3
+++ ConfirmerExtender.java	2 Jul 2008 18:00:38 -0000	1.4
@@ -25,14 +25,9 @@
         EXTEND;
     }
     
-    private boolean optimize;
-    private Task task;
-    private List<SeedCandidate> l; 
     private HitManager hmanager; 
     private HelixFitter fitter; 
-    private SeedStrategy strategy; 
     private List<SeedCandidate> result; 
-    private boolean taskDone; 
     private ISeedTrackerDiagnostics diag = null; 
     /**
      * Constructs the Confirmer/Extender class.. 
@@ -43,26 +38,22 @@
      * @param hitmanager pass the hit manager
      * @param strategy pass the strategy
      */
-    public ConfirmerExtender(List<SeedCandidate> workinglist, Task task, boolean optimize, HelixFitter helixfitter, HitManager hitmanager, SeedStrategy strategy){
-        this.task = task;
-        this.optimize = optimize; 
-        this.l = workinglist;
+    public ConfirmerExtender(HitManager hitmanager, HelixFitter helixfitter){
+        
+
+        
         this.hmanager = hitmanager;
         this.fitter = helixfitter;
-        this.strategy = strategy;
         this.result = new ArrayList<SeedCandidate>();
-        this.taskDone = false; 
+
     }
     
     /**
-     * Retrieves the result of the confirmation or extension. This step does the computation if it has not been done already. 
+     * Retrieves the result of the confirmation or extension. 
      * @return result The list of confirmed/extended seeds.. 
      */
     public List<SeedCandidate> getResult(){
-        if(!taskDone) {
-            doTask();
-            taskDone = true; 
-        }
+
         return result; 
     }
     
@@ -70,7 +61,18 @@
         diag = d;
     }
     
-    private void doTask(){
+    
+    public boolean Confirm(SeedCandidate seed, boolean optimize, SeedStrategy strategy){
+        List<SeedCandidate> l = new ArrayList<SeedCandidate>();
+        l.add(seed); 
+        return doTask(l, Task.CONFIRM, optimize, strategy); 
+    }
+    
+    public boolean Extend(List<SeedCandidate> l, boolean optimize, SeedStrategy strategy){
+        return doTask(l, Task.EXTEND, optimize, strategy); 
+    }
+    
+    private boolean doTask(List<SeedCandidate> l, Task task, boolean optimize, SeedStrategy strategy){
         
         List<SeedLayer> lyrs; 
         
@@ -125,12 +127,14 @@
                         
                         
                         
-                        if (!success && optimize) {
-                            if (fitter.getFitStatus() != FitStatus.CircleFitFailed) {
-                                double circlechisq = fitter.getCircleFit().chisq();
-                                //if (debugOut) System.out.println("Circlechissq: "+circlechisq);
-                                if(diag!=null) diag.fireConfirmerExtenderFitNoSuccess(task, seedin, hit, fitter, optimize);
-                                if (circlechisq > oldcirclechisq + strategy.getMaxChisq()) break;
+                        if (!success ) {
+                            
+                            if(diag!=null) diag.fireConfirmerExtenderFitNoSuccess(task, seedin, hit, fitter, optimize);
+                            if (optimize){
+                                if (fitter.getFitStatus() != FitStatus.CircleFitFailed) {
+                                    double circlechisq = fitter.getCircleFit().chisq();
+                                    if (circlechisq > oldcirclechisq + strategy.getMaxChisq()) break;
+                                }
                             }
                             continue; 
                         }
@@ -166,5 +170,6 @@
                 }
             }
         }
+        return result.size() > 0; 
     }
 }

lcsim/src/org/lcsim/contrib/seedtracker
ConfirmSeeds.java removed after 1.6
diff -N ConfirmSeeds.java
--- ConfirmSeeds.java	6 May 2008 23:52:00 -0000	1.6
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,116 +0,0 @@
-/*
- * ConfirmSeeds.java
- *
- * Created on January 22, 2008, 9:42 AM
- *
- */
-
-package org.lcsim.contrib.seedtracker;
-
-import org.lcsim.contrib.seedtracker.diagnostic.ISeedTrackerDiagnostics;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.lcsim.fit.helicaltrack.HelicalTrackFitter.FitStatus;
-import org.lcsim.fit.helicaltrack.HelicalTrackHit;
-import org.lcsim.util.aida.AIDA;
-
-/**
- *
- * @author Richard Partridge
- * @version 1.0
- */
-public class ConfirmSeeds {
-    private HitManager _hitmanager;
-    private HelixFitter _helixfitter;
-    private List<SeedCandidate> _confirmedseeds;
-    private ISeedTrackerDiagnostics diag = null;
-    /** Creates a new instance of ConfirmSeeds */
-    public ConfirmSeeds(HitManager hitmanager, HelixFitter helixfitter) {
-        _hitmanager = hitmanager;
-        _helixfitter = helixfitter;
-    }
-    
-    public boolean Confirm(SeedCandidate seed, SeedStrategy strategy) {
-        List<SeedCandidate> seedl = new ArrayList<SeedCandidate>();
-        seedl.add(seed);
-        
-        ConfirmerExtender ce = new ConfirmerExtender(seedl, ConfirmerExtender.Task.CONFIRM, true, 
-                                                    _helixfitter, _hitmanager, strategy);
-        if(diag!=null) ce.setDiagnostics(diag);
-        _confirmedseeds = ce.getResult(); 
-        return _confirmedseeds.size()>0;
-    }
-    
-    public List<SeedCandidate> getConfirmedSeeds() {
-        return _confirmedseeds;
-    }
-    
-    public void setDiagnostics(ISeedTrackerDiagnostics d){
-        diag = d;
-    }
-    
-//    private List<SeedCandidate> FindConfirmedSeeds(SeedStrategy strategy, SeedCandidate seed) {
-//        List<SeedCandidate> confirmedseeds = new ArrayList<SeedCandidate>();
-    //  For now, confirm our original seed
-//        confirmedseeds.add(seed);
-//        private List<List<TrackerHit>> FindConfirms(SeedStrategy strategy, List<BarrelEndcapFlag> beflaglist, SeedCandidate seed) {
-//            // Create a list of possible confirmation hits for each confirmation layer
-//            List<List<TrackerHit>> confirmbylayer = new ArrayList();
-//            // Loop over the various layers
-//            for (SeedLayer layer : strategy.getLayers(SeedType.Confirm)) {
-//                // Get the list of potential confirmation hits for this layer
-//                // Todo - select only hits near tracks
-//                List<TrackerHit> confirmhits = _HM.getTrackerHits(layer, beflaglist);
-//                // If we have some confirmation hits in this layer, add the list of hits for this layer
-//                if (confirmhits.size()>0) confirmbylayer.add(confirmhits);
-//            }
-    // Initialize a list of track candidates that include confirmation hits
-//            List<List<TrackerHit>> candlist = new ArrayList();
-    // check that there are sufficient layers with confirmation hits
-//            if (confirmbylayer.size() >= strategy.getMinConfirm()) {
-    // Start with our seed hits as a candidate
-//                candlist.add(seed.getTrackerHits());
-    // Loop over all the confirming layers
-//                for (List<TrackerHit> confirmhits : confirmbylayer) {
-    // Create a list of new candidates that have hits added from this layer
-//                    List<List<TrackerHit>> newcandlist = new ArrayList();
-    // Loop over all existing candidates
-//                    for (List<TrackerHit> oldcand : candlist) {
-    // Loop over all the hits in this confirming layer
-//                        for (TrackerHit hit : confirmhits) {
-    // Create a new track candidate that adds this hit
-//                            List<TrackerHit> newcand = new ArrayList();
-//                            boolean status = newcand.addAll(oldcand);
-//                            newcand.add(hit);
-//                            newcandlist.add(newcand);
-//                        }
-//                    }
-//                    boolean status = candlist.addAll(newcandlist);
-//                }
-//            }
-    // Remove candidates that have too few confirmation hits
-//        ListIterator<List<BaseTrackerHitMC>> itr = candlist.listIterator();
-//        while (itr.hasNext()) {
-//            List<BaseTrackerHitMC> hitlist = itr.next();
-//            if (hitlist.size() < strategy.getMinConfirm()+3) candlist.remove(hitlist);
-//        }
-//
-//            return candlist;
-//        }
-//                    int maxhits = 3 + strategy.getLayers(SeedType.Confirm).size();
-//                    int minhits = 3 + strategy.getMinConfirm();
-    // First try to find one or more tracks using all the confirm hits
-    // If this fails, work our way down to the minimum number
-//                    for (int nhit = maxhits; nhit >= minhits; nhit--) {
-//                        boolean foundtrack = false;
-//                        for (List<TrackerHit> candidate : confirmlist) {
-//                            if (candidate.size() == nhit) {
-//                                if (!isDuplicate(candidate, tracklist)) {
-//                                    boolean status2 = FindHelix(strategy, candidate);
-//        return confirmedseeds;
-//    }
-    
-    
-}
\ No newline at end of file

lcsim/src/org/lcsim/contrib/seedtracker
ExtendSeeds.java removed after 1.6
diff -N ExtendSeeds.java
--- ExtendSeeds.java	6 May 2008 23:52:00 -0000	1.6
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,54 +0,0 @@
-/*
- * ExtendSeeds.java
- *
- * Created on January 22, 2008, 9:45 AM
- *
- */
-
-package org.lcsim.contrib.seedtracker;
-
-import org.lcsim.contrib.seedtracker.diagnostic.ISeedTrackerDiagnostics;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-import org.lcsim.fit.helicaltrack.HelicalTrackHit;
-import org.lcsim.fit.helicaltrack.HelicalTrackFit;
-import org.lcsim.fit.helicaltrack.HelicalTrackFitter.FitStatus;
-
-
-/**
- *
- * @author Richard Partridge
- * @version 1.0
- */
-public class ExtendSeeds {
-    private HitManager _hitmanager;
-    private HelixFitter _helixfitter;
-    private List<SeedCandidate> _extendedseeds;
-    private ISeedTrackerDiagnostics diag = null; 
-    /** Creates a new instance of ConfirmSeeds */
-    public ExtendSeeds(HitManager hitmanager, HelixFitter helixfitter) {
-        _hitmanager = hitmanager;
-        _helixfitter = helixfitter;
-    }
-    
-    public boolean Extend(List<SeedCandidate> confirmed, SeedStrategy strategy) {
-        
-        ConfirmerExtender ce = new ConfirmerExtender(confirmed, ConfirmerExtender.Task.EXTEND, true, 
-                                                    _helixfitter, _hitmanager, strategy);
-        if(diag!=null) ce.setDiagnostics(diag);
-        
-        _extendedseeds = ce.getResult(); 
-        return _extendedseeds.size()>0;
-    }
-    
-    public List<SeedCandidate> getExtendedSeeds() {
-        return _extendedseeds;
-    }
-    
-    public void setDiagnostics(ISeedTrackerDiagnostics d){
-        diag = d;
-    }
-}
\ No newline at end of file
CVSspam 0.2.8