Commit in lcsim on MAIN
src/org/lcsim/contrib/seedtracker/strategybuilder/IParticleFilter.java+3-11.2 -> 1.3
                                                 /StrategyBuilder.java+4-21.5 -> 1.6
                                                 /LayerWeight.java+19-111.4 -> 1.5
resources/org/lcsim/contrib/seedtracker/strategybuilder/strategies/autogen_100GeV_singleMuon_sid01_planar_tracker.xml+54-941.2 -> 1.3
resources/org/lcsim/contrib/seedtracker/strategybuilder/layerweights.xsd+36added 1.1
                                                       /strategies.xsd+54added 1.1
src/org/lcsim/contrib/seedtracker/StrategyXMLUtils.java+15-31.4 -> 1.5
resources/org/lcsim/contrib/seedtracker/strategybuilder/weights/default_weights.xml+32-301.2 -> 1.3
+217-141
2 added + 6 modified, total 8 files
CD - XML schemas!

lcsim/src/org/lcsim/contrib/seedtracker/strategybuilder
IParticleFilter.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- IParticleFilter.java	17 Jul 2008 19:52:01 -0000	1.2
+++ IParticleFilter.java	30 Jul 2008 18:43:37 -0000	1.3
@@ -22,7 +22,9 @@
 public interface IParticleFilter {
     
     /**
-     * Returns true if the MCParticle passes the filter, false otherwise
+     * Returns true if the MCParticle passes the filter, false otherwise. Called
+     * for every MCParticle by StrategyBuilder. 
+     * 
      * @param p The test MCParticle
      * @return
      */

lcsim/src/org/lcsim/contrib/seedtracker/strategybuilder
StrategyBuilder.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- StrategyBuilder.java	21 Jul 2008 21:21:12 -0000	1.5
+++ StrategyBuilder.java	30 Jul 2008 18:43:37 -0000	1.6
@@ -138,8 +138,10 @@
                 String detname = ID.getName(de);
                 int lyr = ID.getLayer(de);
                 BarrelEndcapFlag be = ID.getBarrelEndcapFlag(de); 
-                if (divideByTwoFlag && be.isEndcap() && detname.indexOf("Tracker")>0){
-                 lyr/=2;  // sid01 doubles up on layer numbering in the endcap. 
+                //kludgy divide by two thing
+                if (divideByTwoFlag && be.isEndcap() && 
+                        (detname.indexOf("Tracker") > 0 || detname.indexOf("Tkr") > 0) ) {
+                    lyr/=2;  // sid01 doubles up on layer numbering in the endcap. 
                 }
 
                 DumbLayer dl = new DumbLayer(detname, lyr, be); 

lcsim/src/org/lcsim/contrib/seedtracker/strategybuilder
LayerWeight.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- LayerWeight.java	21 Jul 2008 21:21:12 -0000	1.4
+++ LayerWeight.java	30 Jul 2008 18:43:37 -0000	1.5
@@ -12,13 +12,16 @@
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
+import org.jdom.Attribute;
 import org.jdom.Document;
 import org.jdom.Element;
 import org.jdom.JDOMException;
+import org.jdom.Namespace;
 import org.jdom.input.SAXBuilder;
 import org.jdom.output.Format;
 import org.jdom.output.XMLOutputter;
 import org.lcsim.geometry.subdetector.BarrelEndcapFlag;
+import org.lcsim.util.xml.ClasspathEntityResolver;
 
 /**
  *LayerWeights are used by SubsetScorer and to disambiguate between Seed and 
@@ -30,14 +33,11 @@
     
         private double default_weight = 1.0;
         private double adjacence_constant = 1.0;
-
         private double adjacence_exponent = 1.0;
-
-    
-        private double adjacence_multiplier = 2.0; 
-        
+        private double adjacence_multiplier = 2.0;
         private Map<DumbLayer, Double> weights; 
         String targetDetector = "None Specified"; 
+        
         public LayerWeight(){
             weights = new HashMap<DumbLayer,Double>(); 
         } 
@@ -109,7 +109,7 @@
             this.adjacence_exponent = adjacence_exponent;
         }
         
-        
+                
         /**
          * Returns the prefix of the default resource path to where the 
          * layer weight XML files are stored.
@@ -143,6 +143,9 @@
             
             Document doc; 
             SAXBuilder builder = new SAXBuilder();
+            builder.setValidation(true); 
+            builder.setFeature("http://apache.org/xml/features/validation/schema", true);
+            builder.setEntityResolver(new ClasspathEntityResolver());
             try {
                 doc = builder.build(in);
             } catch (JDOMException jdom) {
@@ -168,6 +171,9 @@
             
             Document doc; 
             SAXBuilder builder = new SAXBuilder();
+            builder.setValidation(true); 
+            builder.setFeature("http://apache.org/xml/features/validation/schema", true);
+            builder.setEntityResolver(new ClasspathEntityResolver());
             try {
                 doc = builder.build(file);
             } catch (JDOMException jdom) {
@@ -188,10 +194,10 @@
             try {
                 
                 lw.setDefaultWeight(Double.valueOf(root.getChildText("DefaultWeight")).doubleValue());
-                lw.setAdjacenceMultiplier(Double.valueOf(root.getChildText("AdjacenceMultiplier")).doubleValue());
-                lw.setAdjacenceConstant(Double.valueOf(root.getChildText("AdjacenceConstant")).doubleValue());
-                lw.setAdjacenceExponent(Double.valueOf(root.getChildText("AdjacenceExponent")).doubleValue());
-                lw.setTargetDetector(root.getChildText("TargetDetector"));
+                try {lw.setAdjacenceMultiplier(Double.valueOf(root.getChildText("AdjacenceMultiplier")).doubleValue());} catch(NullPointerException npe){}
+                try {lw.setAdjacenceConstant(Double.valueOf(root.getChildText("AdjacenceConstant")).doubleValue());} catch(NullPointerException npe){}
+                try {lw.setAdjacenceExponent(Double.valueOf(root.getChildText("AdjacenceExponent")).doubleValue());} catch(NullPointerException npe){}
+                try {lw.setTargetDetector(root.getChildText("TargetDetector"));} catch(NullPointerException npe){}
                 for (Object o : root.getChildren("Layer")){
                     
                     Element e = (Element) o; 
@@ -218,7 +224,9 @@
         public boolean writeToFile(File file){
             Element root = new Element("LayerWeight"); 
             Document doc = new Document(root); 
-            
+            Namespace xs = Namespace.getNamespace("xs", "http://www.w3.org/2001/XMLSchema-instance");
+            root.addNamespaceDeclaration(xs);
+            root.setAttribute(new Attribute("noNamespaceSchemaLocation","http://lcsim.org/contrib/seedtracker/strategybuilder/strategies.xsd",xs));
             root.addContent(new Element("DefaultWeight").addContent(String.valueOf(default_weight))); 
             root.addContent(new Element("TargetDetector").addContent(String.valueOf(targetDetector))); 
             root.addContent(new Element("AdjacenceConstant").addContent(String.valueOf(adjacence_constant))); 

lcsim/resources/org/lcsim/contrib/seedtracker/strategybuilder/strategies
autogen_100GeV_singleMuon_sid01_planar_tracker.xml 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- autogen_100GeV_singleMuon_sid01_planar_tracker.xml	21 Jul 2008 21:21:11 -0000	1.2
+++ autogen_100GeV_singleMuon_sid01_planar_tracker.xml	30 Jul 2008 18:43:37 -0000	1.3
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<StrategyList>
-  <!--Strategy list Autogenerated by Strategy Builder on Mon Jul 21 12:40:45 GMT-08:00 2008.-->
+<StrategyList xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://lcsim.org/contrib/seedtracker/strategybuilder/strategies.xsd">
+  <!--Strategy list Autogenerated by Strategy Builder on Mon Jul 28 16:28:00 GMT-08:00 2008.-->
   <TargetDetector>sid01_planar_tracker</TargetDetector>
   <Strategy name="AUTOGEN0">
     <!--Cutoffs-->
@@ -16,9 +16,13 @@
     <Layer type="Seed" layer_number="2" detector_name="SiTrackerForward" be_flag="ENDCAP_NORTH" />
     <Layer type="Seed" layer_number="4" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
     <Layer type="Confirm" layer_number="3" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
+    <Layer type="Extend" layer_number="2" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
     <Layer type="Extend" layer_number="3" detector_name="SiTrackerForward" be_flag="ENDCAP_NORTH" />
     <Layer type="Extend" layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
+    <Layer type="Extend" layer_number="1" detector_name="SiVertexBarrel" be_flag="BARREL" />
+    <Layer type="Extend" layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
     <Layer type="Extend" layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
+    <Layer type="Extend" layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
   </Strategy>
   <Strategy name="AUTOGEN1">
     <!--Cutoffs-->
@@ -30,25 +34,19 @@
     <MaxChisq>100.0</MaxChisq>
     <BadHitChisq>15.0</BadHitChisq>
     <!--Layers-->
-    <Layer type="Seed" layer_number="4" detector_name="SiTrackerBarrel" be_flag="BARREL" />
-    <Layer type="Seed" layer_number="3" detector_name="SiTrackerBarrel" be_flag="BARREL" />
     <Layer type="Seed" layer_number="2" detector_name="SiTrackerBarrel" be_flag="BARREL" />
-    <Layer type="Confirm" layer_number="1" detector_name="SiTrackerBarrel" be_flag="BARREL" />
-    <Layer type="Extend" layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_NORTH" />
-    <Layer type="Extend" layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
-    <Layer type="Extend" layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Extend" layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Extend" layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
-    <Layer type="Extend" layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
+    <Layer type="Seed" layer_number="1" detector_name="SiTrackerBarrel" be_flag="BARREL" />
+    <Layer type="Seed" layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_NORTH" />
+    <Layer type="Confirm" layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
+    <Layer type="Extend" layer_number="2" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
     <Layer type="Extend" layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
     <Layer type="Extend" layer_number="2" detector_name="SiVertexBarrel" be_flag="BARREL" />
     <Layer type="Extend" layer_number="3" detector_name="SiVertexBarrel" be_flag="BARREL" />
+    <Layer type="Extend" layer_number="3" detector_name="SiTrackerBarrel" be_flag="BARREL" />
     <Layer type="Extend" layer_number="1" detector_name="SiVertexBarrel" be_flag="BARREL" />
-    <Layer type="Extend" layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Extend" layer_number="4" detector_name="SiVertexBarrel" be_flag="BARREL" />
-    <Layer type="Extend" layer_number="5" detector_name="SiVertexBarrel" be_flag="BARREL" />
-    <Layer type="Extend" layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Extend" layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Extend" layer_number="3" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
+    <Layer type="Extend" layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
+    <Layer type="Extend" layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
   </Strategy>
   <Strategy name="AUTOGEN2">
     <!--Cutoffs-->
@@ -60,44 +58,25 @@
     <MaxChisq>100.0</MaxChisq>
     <BadHitChisq>15.0</BadHitChisq>
     <!--Layers-->
-    <Layer type="Seed" layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_NORTH" />
-    <Layer type="Seed" layer_number="4" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
-    <Layer type="Seed" layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
-    <Layer type="Confirm" layer_number="3" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
-    <Layer type="Extend" layer_number="2" detector_name="SiTrackerForward" be_flag="ENDCAP_NORTH" />
-    <Layer type="Extend" layer_number="2" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
-    <Layer type="Extend" layer_number="3" detector_name="SiTrackerForward" be_flag="ENDCAP_NORTH" />
-    <Layer type="Extend" layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
-    <Layer type="Extend" layer_number="1" detector_name="SiVertexBarrel" be_flag="BARREL" />
+    <Layer type="Seed" layer_number="4" detector_name="SiTrackerBarrel" be_flag="BARREL" />
+    <Layer type="Seed" layer_number="3" detector_name="SiTrackerBarrel" be_flag="BARREL" />
+    <Layer type="Seed" layer_number="2" detector_name="SiTrackerBarrel" be_flag="BARREL" />
+    <Layer type="Confirm" layer_number="1" detector_name="SiTrackerBarrel" be_flag="BARREL" />
+    <Layer type="Extend" layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_NORTH" />
+    <Layer type="Extend" layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
+    <Layer type="Extend" layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
     <Layer type="Extend" layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
     <Layer type="Extend" layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
-  </Strategy>
-  <Strategy name="AUTOGEN3">
-    <!--Cutoffs-->
-    <MinPT>1.0</MinPT>
-    <MinHits>7</MinHits>
-    <MinConfirm>1</MinConfirm>
-    <MaxDCA>10.0</MaxDCA>
-    <MaxZ0>10.0</MaxZ0>
-    <MaxChisq>100.0</MaxChisq>
-    <BadHitChisq>15.0</BadHitChisq>
-    <!--Layers-->
-    <Layer type="Seed" layer_number="1" detector_name="SiVertexBarrel" be_flag="BARREL" />
-    <Layer type="Seed" layer_number="2" detector_name="SiVertexBarrel" be_flag="BARREL" />
-    <Layer type="Seed" layer_number="3" detector_name="SiVertexBarrel" be_flag="BARREL" />
-    <Layer type="Confirm" layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Extend" layer_number="1" detector_name="SiTrackerBarrel" be_flag="BARREL" />
-    <Layer type="Extend" layer_number="3" detector_name="SiTrackerBarrel" be_flag="BARREL" />
-    <Layer type="Extend" layer_number="2" detector_name="SiTrackerBarrel" be_flag="BARREL" />
+    <Layer type="Extend" layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Extend" layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
+    <Layer type="Extend" layer_number="2" detector_name="SiVertexBarrel" be_flag="BARREL" />
+    <Layer type="Extend" layer_number="3" detector_name="SiVertexBarrel" be_flag="BARREL" />
+    <Layer type="Extend" layer_number="1" detector_name="SiVertexBarrel" be_flag="BARREL" />
     <Layer type="Extend" layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Extend" layer_number="4" detector_name="SiVertexBarrel" be_flag="BARREL" />
     <Layer type="Extend" layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Extend" layer_number="2" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
     <Layer type="Extend" layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Extend" layer_number="3" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Extend" layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
   </Strategy>
-  <Strategy name="AUTOGEN4">
+  <Strategy name="AUTOGEN3">
     <!--Cutoffs-->
     <MinPT>1.0</MinPT>
     <MinHits>7</MinHits>
@@ -111,11 +90,15 @@
     <Layer type="Seed" layer_number="2" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH" />
     <Layer type="Seed" layer_number="4" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
     <Layer type="Confirm" layer_number="3" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Extend" layer_number="1" detector_name="SiVertexBarrel" be_flag="BARREL" />
     <Layer type="Extend" layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Extend" layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Extend" layer_number="2" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
     <Layer type="Extend" layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
     <Layer type="Extend" layer_number="3" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Extend" layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
   </Strategy>
-  <Strategy name="AUTOGEN5">
+  <Strategy name="AUTOGEN4">
     <!--Cutoffs-->
     <MinPT>1.0</MinPT>
     <MinHits>7</MinHits>
@@ -135,7 +118,6 @@
     <Layer type="Extend" layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
     <Layer type="Extend" layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
     <Layer type="Extend" layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
-    <Layer type="Extend" layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
     <Layer type="Extend" layer_number="2" detector_name="SiVertexBarrel" be_flag="BARREL" />
     <Layer type="Extend" layer_number="1" detector_name="SiTrackerBarrel" be_flag="BARREL" />
     <Layer type="Extend" layer_number="3" detector_name="SiVertexBarrel" be_flag="BARREL" />
@@ -145,7 +127,7 @@
     <Layer type="Extend" layer_number="5" detector_name="SiVertexBarrel" be_flag="BARREL" />
     <Layer type="Extend" layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH" />
   </Strategy>
-  <Strategy name="AUTOGEN6">
+  <Strategy name="AUTOGEN5">
     <!--Cutoffs-->
     <MinPT>1.0</MinPT>
     <MinHits>7</MinHits>
@@ -171,7 +153,7 @@
     <Layer type="Extend" layer_number="3" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
     <Layer type="Extend" layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
   </Strategy>
-  <Strategy name="AUTOGEN7">
+  <Strategy name="AUTOGEN6">
     <!--Cutoffs-->
     <MinPT>1.0</MinPT>
     <MinHits>7</MinHits>
@@ -181,23 +163,21 @@
     <MaxChisq>100.0</MaxChisq>
     <BadHitChisq>15.0</BadHitChisq>
     <!--Layers-->
-    <Layer type="Seed" layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Seed" layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Seed" layer_number="2" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Confirm" layer_number="1" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Seed" layer_number="2" detector_name="SiTrackerBarrel" be_flag="BARREL" />
+    <Layer type="Seed" layer_number="1" detector_name="SiTrackerBarrel" be_flag="BARREL" />
+    <Layer type="Seed" layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Confirm" layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
     <Layer type="Extend" layer_number="2" detector_name="SiVertexBarrel" be_flag="BARREL" />
-    <Layer type="Extend" layer_number="1" detector_name="SiTrackerBarrel" be_flag="BARREL" />
     <Layer type="Extend" layer_number="3" detector_name="SiVertexBarrel" be_flag="BARREL" />
+    <Layer type="Extend" layer_number="3" detector_name="SiTrackerBarrel" be_flag="BARREL" />
     <Layer type="Extend" layer_number="1" detector_name="SiVertexBarrel" be_flag="BARREL" />
-    <Layer type="Extend" layer_number="2" detector_name="SiTrackerBarrel" be_flag="BARREL" />
-    <Layer type="Extend" layer_number="4" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Extend" layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
     <Layer type="Extend" layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Extend" layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Extend" layer_number="2" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Extend" layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
     <Layer type="Extend" layer_number="3" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Extend" layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Extend" layer_number="2" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH" />
   </Strategy>
-  <Strategy name="AUTOGEN8">
+  <Strategy name="AUTOGEN7">
     <!--Cutoffs-->
     <MinPT>1.0</MinPT>
     <MinHits>7</MinHits>
@@ -207,40 +187,20 @@
     <MaxChisq>100.0</MaxChisq>
     <BadHitChisq>15.0</BadHitChisq>
     <!--Layers-->
-    <Layer type="Seed" layer_number="1" detector_name="SiVertexBarrel" be_flag="BARREL" />
-    <Layer type="Seed" layer_number="2" detector_name="SiVertexBarrel" be_flag="BARREL" />
-    <Layer type="Seed" layer_number="3" detector_name="SiVertexBarrel" be_flag="BARREL" />
-    <Layer type="Confirm" layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
-    <Layer type="Extend" layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_NORTH" />
-    <Layer type="Extend" layer_number="2" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
-    <Layer type="Extend" layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
+    <Layer type="Seed" layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Seed" layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Seed" layer_number="2" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Confirm" layer_number="1" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Extend" layer_number="2" detector_name="SiVertexBarrel" be_flag="BARREL" />
     <Layer type="Extend" layer_number="1" detector_name="SiTrackerBarrel" be_flag="BARREL" />
-    <Layer type="Extend" layer_number="3" detector_name="SiTrackerBarrel" be_flag="BARREL" />
-    <Layer type="Extend" layer_number="2" detector_name="SiTrackerBarrel" be_flag="BARREL" />
-    <Layer type="Extend" layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
-    <Layer type="Extend" layer_number="3" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH" />
-    <Layer type="Extend" layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH" />
-  </Strategy>
-  <Strategy name="AUTOGEN9">
-    <!--Cutoffs-->
-    <MinPT>1.0</MinPT>
-    <MinHits>7</MinHits>
-    <MinConfirm>1</MinConfirm>
-    <MaxDCA>10.0</MaxDCA>
-    <MaxZ0>10.0</MaxZ0>
-    <MaxChisq>100.0</MaxChisq>
-    <BadHitChisq>15.0</BadHitChisq>
-    <!--Layers-->
-    <Layer type="Seed" layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Seed" layer_number="4" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Seed" layer_number="3" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Confirm" layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Extend" layer_number="3" detector_name="SiVertexBarrel" be_flag="BARREL" />
     <Layer type="Extend" layer_number="1" detector_name="SiVertexBarrel" be_flag="BARREL" />
-    <Layer type="Extend" layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Extend" layer_number="2" detector_name="SiTrackerBarrel" be_flag="BARREL" />
+    <Layer type="Extend" layer_number="4" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
     <Layer type="Extend" layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Extend" layer_number="2" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Extend" layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH" />
-    <Layer type="Extend" layer_number="3" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Extend" layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Extend" layer_number="3" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
+    <Layer type="Extend" layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH" />
     <Layer type="Extend" layer_number="2" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH" />
   </Strategy>
 </StrategyList>

lcsim/resources/org/lcsim/contrib/seedtracker/strategybuilder
layerweights.xsd added at 1.1
diff -N layerweights.xsd
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ layerweights.xsd	30 Jul 2008 18:43:37 -0000	1.1
@@ -0,0 +1,36 @@
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+<xsd:element name="LayerWeight" type ="LayerWeightsType"/>
+
+
+<xsd:complexType name="LayerWeightsType">
+	<xsd:sequence>
+                <xsd:element name="DefaultWeight" type="xsd:double"/>
+		<xsd:element name="TargetDetector" type="xsd:string" minOccurs="0"/>		
+		<xsd:element name="AdjacenceConstant" type="xsd:double" minOccurs="0"/>		
+		<xsd:element name="AdjacenceMultiplier" type="xsd:double" minOccurs="0"/>		
+		<xsd:element name="AdjacenceExponent" type="xsd:double" minOccurs="0"/>		
+		<xsd:element name="Layer" type="LayerType" maxOccurs="unbounded"/>
+	</xsd:sequence>
+</xsd:complexType>
+
+<xsd:complexType name="LayerType">
+	<xsd:simpleContent>
+		<xsd:extension base="xsd:double">
+			<xsd:attribute name="layer_number" type="xsd:int"/>
+			<xsd:attribute name="detector_name" type="xsd:string"/>
+			<xsd:attribute name="be_flag" type = "BEFlag"/>
+		</xsd:extension>
+	</xsd:simpleContent>
+</xsd:complexType>
+
+<xsd:simpleType name="BEFlag">
+	<xsd:restriction base="xsd:string">
+			<xsd:enumeration value="BARREL"/>
+			<xsd:enumeration value="ENDCAP_NORTH"/>
+			<xsd:enumeration value="ENDCAP_SOUTH"/>
+	</xsd:restriction>
+</xsd:simpleType>
+
+
+</xsd:schema>

lcsim/resources/org/lcsim/contrib/seedtracker/strategybuilder
strategies.xsd added at 1.1
diff -N strategies.xsd
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ strategies.xsd	30 Jul 2008 18:43:37 -0000	1.1
@@ -0,0 +1,54 @@
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+	<xsd:element name="StrategyList" type ="StrategyListType"/>
+
+	<xsd:complexType name="StrategyListType"> 
+		<xsd:sequence>
+			<xsd:element name="TargetDetector" type="xsd:string" minOccurs="0"/>
+			<xsd:element name="Strategy" type="StrategyType" maxOccurs="unbounded"/>
+		</xsd:sequence>
+
+	</xsd:complexType>
+
+	<xsd:complexType name = "StrategyType">
+		<xsd:sequence>
+			<xsd:element name="MinPT" type="xsd:double"/>
+			<xsd:element name="MinHits" type="xsd:int"/>
+			<xsd:element name="MinConfirm" type="xsd:int"/>
+			<xsd:element name="MaxDCA" type="xsd:double"/>
+			<xsd:element name="MaxZ0" type="xsd:double"/>
+			<xsd:element name="MaxChisq" type="xsd:double"/>
+			<xsd:element name="BadHitChisq" type="xsd:double"/>
+			<xsd:element name="Layer" type="LayerType" maxOccurs="unbounded"/>
+		</xsd:sequence>
+                <xsd:attribute name="name" type="xsd:string"/>	
+	</xsd:complexType>
+
+
+	<xsd:complexType name="LayerType">
+		<xsd:attribute name="type" type="LayerCategory"/> 
+		<xsd:attribute name="layer_number" type="xsd:int"/>
+		<xsd:attribute name="detector_name" type="xsd:string"/>
+		<xsd:attribute name="be_flag" type="BEFlag"/>
+	</xsd:complexType>
+
+	<xsd:simpleType name="LayerCategory">
+		<xsd:restriction base="xsd:string">
+			<xsd:enumeration value="Extend"/>
+			<xsd:enumeration value="Confirm"/>
+			<xsd:enumeration value="Seed"/>
+		</xsd:restriction>
+	</xsd:simpleType>
+
+	<xsd:simpleType name="BEFlag">
+		<xsd:restriction base="xsd:string">
+				<xsd:enumeration value="BARREL"/>
+				<xsd:enumeration value="ENDCAP_NORTH"/>
+				<xsd:enumeration value="ENDCAP_SOUTH"/>
+		</xsd:restriction>
+	</xsd:simpleType>
+
+
+</xsd:schema>
+
+

lcsim/src/org/lcsim/contrib/seedtracker
StrategyXMLUtils.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- StrategyXMLUtils.java	17 Jul 2008 21:11:36 -0000	1.4
+++ StrategyXMLUtils.java	30 Jul 2008 18:43:37 -0000	1.5
@@ -11,15 +11,18 @@
 import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
+import org.jdom.Attribute;
 import org.jdom.Comment;
 import org.jdom.Document;
 import org.jdom.Element;
 import org.jdom.JDOMException;
+import org.jdom.Namespace;
 import org.jdom.input.SAXBuilder;
 import org.jdom.output.Format;
 import org.jdom.output.XMLOutputter;
 import org.lcsim.contrib.seedtracker.SeedLayer.SeedType;
 import org.lcsim.geometry.subdetector.BarrelEndcapFlag;
+import org.lcsim.util.xml.ClasspathEntityResolver;
 
 /**
  *
@@ -66,11 +69,14 @@
         
         Document doc; 
         SAXBuilder builder = new SAXBuilder();
+        builder.setValidation(true); 
+        builder.setFeature("http://apache.org/xml/features/validation/schema", true);
+        builder.setEntityResolver(new ClasspathEntityResolver());
         try {
             doc = builder.build(file);
         } catch (JDOMException jdom) {
             jdom.printStackTrace();
-            throw new RuntimeException("JDOM exception occurred"); 
+            throw new RuntimeException("JDOM exception occurred. "+jdom.getMessage()); 
         } catch (IOException io ) {
             io.printStackTrace();
             throw new RuntimeException("IO Exception occurred"); 
@@ -93,8 +99,12 @@
         
         Document doc; 
         SAXBuilder builder = new SAXBuilder(); 
+        builder.setValidation(true); 
+        builder.setFeature("http://apache.org/xml/features/validation/schema", true);
+        builder.setEntityResolver(new ClasspathEntityResolver());
         try {
-            doc = builder.build(stream); 
+            doc = builder.build(stream);
+            
         } catch (JDOMException jdom) {
             jdom.printStackTrace();
             throw new RuntimeException("JDOM exception occurred"); 
@@ -167,7 +177,9 @@
         
         Element listElement = new Element("StrategyList");
         Document doc = new Document(listElement); 
-        
+        Namespace xs = Namespace.getNamespace("xs", "http://www.w3.org/2001/XMLSchema-instance");
+        listElement.addNamespaceDeclaration(xs);
+        listElement.setAttribute(new Attribute("noNamespaceSchemaLocation","http://lcsim.org/contrib/seedtracker/strategybuilder/strategies.xsd",xs));
         if (meta!=null){
             if (meta.comment!=null){
                 listElement.addContent(new Comment(meta.comment)); 

lcsim/resources/org/lcsim/contrib/seedtracker/strategybuilder/weights
default_weights.xml 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- default_weights.xml	21 Jul 2008 21:21:12 -0000	1.2
+++ default_weights.xml	30 Jul 2008 18:43:37 -0000	1.3
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<LayerWeight>
+<LayerWeight xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" 
+xs:noNamespaceSchemaLocation="http://lcsim.org/contrib/seedtracker/strategybuilder/layerweights.xsd">
    
      
 <!-- 
@@ -27,23 +28,24 @@
         
     -->
     
-  <TargetDetector>sid01_planar_tracker</TargetDetector>
+
   
   <!--Default used for any not already defined-->
   <DefaultWeight>1.0</DefaultWeight>
-
+  <TargetDetector>sid01_planar_tracker</TargetDetector>
   <!-- Adjacence modifiers (see above for formula)-->
   <AdjacenceConstant>2</AdjacenceConstant>
   <AdjacenceMultiplier>1</AdjacenceMultiplier>
   <AdjacenceExponent>0.1</AdjacenceExponent>
 
+
   <!--Barrel-->
 
-    <Layer layer_number="5" detector_name="SiTrackerBarrel" be_flag="BARREL">2.00</Layer>
-    <Layer layer_number="4" detector_name="SiTrackerBarrel" be_flag="BARREL">1.08</Layer>
-    <Layer layer_number="3" detector_name="SiTrackerBarrel" be_flag="BARREL">1.07</Layer>
-    <Layer layer_number="2" detector_name="SiTrackerBarrel" be_flag="BARREL">1.06</Layer>
-    <Layer layer_number="1" detector_name="SiTrackerBarrel" be_flag="BARREL">1</Layer>
+    <Layer layer_number="5" detector_name="SiTrackerBarrel" be_flag="BARREL">3.00</Layer>
+    <Layer layer_number="4" detector_name="SiTrackerBarrel" be_flag="BARREL">2.08</Layer>
+    <Layer layer_number="3" detector_name="SiTrackerBarrel" be_flag="BARREL">2.07</Layer>
+    <Layer layer_number="2" detector_name="SiTrackerBarrel" be_flag="BARREL">2.06</Layer>
+    <Layer layer_number="1" detector_name="SiTrackerBarrel" be_flag="BARREL">2</Layer>
     <Layer layer_number="5" detector_name="SiVertexBarrel" be_flag="BARREL">1</Layer>
     <Layer layer_number="4" detector_name="SiVertexBarrel" be_flag="BARREL">1.01</Layer>
     <Layer layer_number="3" detector_name="SiVertexBarrel" be_flag="BARREL">1.02</Layer>
@@ -53,35 +55,35 @@
     
   <!--North Endcap-->
 
-    <Layer layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH">1.09</Layer>
-    <Layer layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH">1.08</Layer>
-    <Layer layer_number="2" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH">1.07</Layer>
+    <Layer layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH">1.59</Layer>
+    <Layer layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH">1.58</Layer>
+    <Layer layer_number="2" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH">1.57</Layer>
     <Layer layer_number="1" detector_name="SiTrackerEndcap" be_flag="ENDCAP_NORTH">1.06</Layer>
 
-    <Layer layer_number="3" detector_name="SiTrackerForward" be_flag="ENDCAP_NORTH">1.0</Layer>
-    <Layer layer_number="2" detector_name="SiTrackerForward" be_flag="ENDCAP_NORTH">1.01</Layer>
-    <Layer layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_NORTH">1.02</Layer>
-
-    <Layer layer_number="4" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH">0.5</Layer>
-    <Layer layer_number="3" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH">0.5</Layer>
-    <Layer layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH">0.5</Layer>
-    <Layer layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH">0.5</Layer>
+    <Layer layer_number="3" detector_name="SiTrackerForward" be_flag="ENDCAP_NORTH">1.02</Layer>
+    <Layer layer_number="2" detector_name="SiTrackerForward" be_flag="ENDCAP_NORTH">1.41</Layer>
+    <Layer layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_NORTH">1.5</Layer>
+
+    <Layer layer_number="4" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH">0.0053</Layer>
+    <Layer layer_number="3" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH">0.0052</Layer>
+    <Layer layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH">0.0051</Layer>
+    <Layer layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_NORTH">0.005</Layer>
   
   <!--South Endcap-->
 
-    <Layer layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH">1.09</Layer>
-    <Layer layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH">1.08</Layer>
-    <Layer layer_number="2" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH">1.07</Layer>
+    <Layer layer_number="4" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH">1.59</Layer>
+    <Layer layer_number="3" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH">1.58</Layer>
+    <Layer layer_number="2" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH">1.57</Layer>
     <Layer layer_number="1" detector_name="SiTrackerEndcap" be_flag="ENDCAP_SOUTH">1.06</Layer>
 
-    <Layer layer_number="3" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH">1.0</Layer>
-    <Layer layer_number="2" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH">1.01</Layer>
-    <Layer layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH">1.02</Layer>
-
-    <Layer layer_number="4" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH">0.5</Layer>
-    <Layer layer_number="3" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH">0.5</Layer>
-    <Layer layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH">0.5</Layer>
-    <Layer layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH">0.5</Layer>
+    <Layer layer_number="3" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH">1.02</Layer>
+    <Layer layer_number="2" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH">1.41</Layer>
+    <Layer layer_number="1" detector_name="SiTrackerForward" be_flag="ENDCAP_SOUTH">1.5</Layer>
+
+    <Layer layer_number="4" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH">0.0053</Layer>
+    <Layer layer_number="3" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH">0.0052</Layer>
+    <Layer layer_number="2" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH">0.0051</Layer>
+    <Layer layer_number="1" detector_name="SiVertexEndcap" be_flag="ENDCAP_SOUTH">0.005</Layer>
 
 </LayerWeight>
 
CVSspam 0.2.8