lcsim/src/org/lcsim/contrib/seedtracker
diff -u -r1.4 -r1.5
--- SeedLayer.java 11 Jul 2008 21:40:10 -0000 1.4
+++ SeedLayer.java 4 Aug 2008 21:09:43 -0000 1.5
@@ -92,4 +92,9 @@
return (this._beflag.equals(lyr._beflag) && this._detname.equals(lyr.getDetName())
&& this._layer == lyr.getLayer() && this._type.equals(lyr.getType()));
}
+
+ @Override
+ public int hashCode(){
+ return (_detname + _beflag.toString() + _layer + _type.toString()).hashCode();
+ }
}
lcsim/src/org/lcsim/contrib/seedtracker/strategybuilder
diff -N StrategyCombiner.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ StrategyCombiner.java 4 Aug 2008 21:09:43 -0000 1.1
@@ -0,0 +1,50 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.lcsim.contrib.seedtracker.strategybuilder;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+import org.lcsim.contrib.seedtracker.SeedStrategy;
+import org.lcsim.contrib.seedtracker.StrategyXMLUtils;
+
+/**
+ *
+ * @author cozzy
+ */
+public class StrategyCombiner {
+
+ public static void main(String[] args){
+
+ if (args.length < 3){
+ printUsage();
+ System.exit(1);
+ }
+
+ String filename = args[0];
+
+ List<SeedStrategy> lst = new ArrayList<SeedStrategy>();
+
+ for (int i = 1; i < args.length; i++) {
+ List<SeedStrategy> portion = StrategyXMLUtils.getStrategyListFromFile(new File(args[i]));
+ for (SeedStrategy s : portion){
+ if (!lst.contains(s)) lst.add(s);
+ }
+ }
+
+ StrategyXMLUtils.writeStrategyListToFile(lst, new File(filename));
+ }
+
+
+
+
+ private static void printUsage(){
+ System.out.println("Usage:");
+ System.out.println("StrategyCombiner OUTPUT_FILE STRATEGY1 STRATEGY2 [STRATEGY3... ]");
+ System.out.println("\t\tWhere the different strategies are XML files");
+ }
+
+}
lcsim/src/org/lcsim/contrib/seedtracker/strategybuilder
diff -u -r1.6 -r1.7
--- StrategyBuilder.java 30 Jul 2008 18:43:37 -0000 1.6
+++ StrategyBuilder.java 4 Aug 2008 21:09:43 -0000 1.7
@@ -46,24 +46,27 @@
private static final String defaultOutputFile = System.getProperties().getProperty("java.io.tmpdir")+
System.getProperties().getProperty("file.separator")+
"BuiltStrategies.xml";
+
+ //default values for stuff
private boolean verbose = false;
private int min_layers = 7;
private int confirm_layers = 1;
private int seed_layers = 3;
private String outputFile = defaultOutputFile;
+ private boolean divideByTwoFlag = false;
+ private int minUnweightedScore = 0;
+
private List<SeedStrategy> startingStrategies = new ArrayList<SeedStrategy>();
Set<Set<DumbLayer>> startingSet = new HashSet<Set<DumbLayer>>(); //this will be generated from startingStrategies
private SeedStrategy prototype = new SeedStrategy("null", new ArrayList<SeedLayer>());
private LayerWeight weighter = new DefaultLayerWeight();
private HitIdentifier ID = new HitIdentifier();
- private boolean divideByTwoFlag = false;
- private int minUnweightedScore = 3;
//this stores the list of all sets of layers
private List<Set<DumbLayer>> setlist = new ArrayList<Set<DumbLayer>>();
private String detectorName;
private IParticleFilter filter;
private List<Set<DumbLayer>> adjacentlist = new ArrayList<Set<DumbLayer>>();
-
+
@Override
protected void startOfData(){
//Use default filter if none is specified
@@ -82,7 +85,11 @@
super.process(event);
- if (verbose) System.out.println("Processing event "+event.getEventNumber());
+ if (verbose) {
+ if (event.getEventNumber() % 100 == 0)
+ System.out.println("Processed "+event.getEventNumber()+" events.");
+ }
+
filter.setEvent(event);
@@ -167,7 +174,7 @@
}
}
-
+
//Ensure layer set has minimum number of layers
if (set.size() >= min_layers)
setlist.add(set);
@@ -253,7 +260,7 @@
if (this_set.containsAll(max)) { //If this set contains all the layers in max, it should be findable!
-
+
//add extension layers to extendmap
Set<DumbLayer> nw = new HashSet<DumbLayer>();
for (DumbLayer dumb : this_set){
@@ -297,9 +304,7 @@
else return 0;
}
});
-
-
- String name = "AUTOGEN" + counter++;
+
int confirmed = 0;
List<SeedLayer> lyrlst = new ArrayList<SeedLayer>();
@@ -321,6 +326,9 @@
lyrlst.add(new SeedLayer(lyr.detectorName, lyr.layer, lyr.be, type));
}
Collections.reverse(lyrlst); // reverse so seed layers on top
+
+ String name = "AUTOGEN" + counter++ +"_"+lyrlst.hashCode();
+
//copy over cutoff info from prototype
SeedStrategy stgy = new SeedStrategy(name,lyrlst);
stgy.putBadHitChisq(prototype.getBadHitChisq());