2 removed + 3 modified, total 5 files
lcsim/src/org/lcsim/contrib/seedtracker
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
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
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
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
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