Print

Print


Commit in lcsim on MAIN
src/org/lcsim/recon/tracking/seedtracker/strategybuilder/AbstractStrategyBuilder.java+43added 1.1
                                                        /RunStrategyBuilder.java+4-181.1 -> 1.2
                                                        /StrategyBuilder.java+1-11.1 -> 1.2
                                                        /IStrategyBuilder.java+41.1 -> 1.2
resources/org/lcsim/recon/tracking/seedtracker/strategybuilder/weights/default_weights_sid02.xml+95added 1.1
+147-19
2 added + 3 modified, total 5 files
CD - add default layer weights for sid02 + better support for Jeremy's xml driver stuff

lcsim/src/org/lcsim/recon/tracking/seedtracker/strategybuilder
AbstractStrategyBuilder.java added at 1.1
diff -N AbstractStrategyBuilder.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ AbstractStrategyBuilder.java	26 Sep 2008 23:36:07 -0000	1.1
@@ -0,0 +1,43 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.lcsim.recon.tracking.seedtracker.strategybuilder;
+
+import java.io.File;
+import org.lcsim.recon.tracking.seedtracker.StrategyXMLUtils;
+import org.lcsim.util.Driver;
+
+/**
+ * This class contains implementations for some convenience methods in IStrategyBuilder
+ * @author cozzy
+ */
+public abstract class AbstractStrategyBuilder extends Driver implements IStrategyBuilder{
+    
+    public void setStartingStrategyList(String startingStrategies) {
+        setStartingStrategyList(StrategyXMLUtils.getStrategyListFromFile(new File(startingStrategies)));
+    }
+    
+    public void setStrategyPrototype(String strategiesFile, int strategyNumber) {   
+        setStrategyPrototype(StrategyXMLUtils.getStrategyListFromFile(new File(strategiesFile)).get(strategyNumber)); 
+    }
+
+    public void setLayerWeight(String layerWeightsFile){
+        setLayerWeight(LayerWeight.getLayerWeightFromFile(new File(layerWeightsFile)));
+    }
+    
+    public void setParticleFilter(String filterClassName) {
+          try {
+                setParticleFilter((IParticleFilter) Class.forName(filterClassName).newInstance());
+            } catch (ClassNotFoundException cfne) {
+                System.out.println("WARNING: Class "+filterClassName+ " not found :'("); 
+            } catch (InstantiationException ie){
+                System.out.println("WARNING: Class "+filterClassName+ " could not be instantiated. Does the constructor take arguments?");
+            } catch (IllegalAccessException iae){
+                System.out.println("WARNING: IllegalAccessException? WTF does that mean?"); 
+            } catch (ClassCastException cce){
+                System.out.println("WARNING: Unable to cast "+filterClassName+ " as a IParticleFilter."); 
+            }
+    }
+}

lcsim/src/org/lcsim/recon/tracking/seedtracker/strategybuilder
RunStrategyBuilder.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- RunStrategyBuilder.java	27 Aug 2008 17:55:49 -0000	1.1
+++ RunStrategyBuilder.java	26 Sep 2008 23:36:07 -0000	1.2
@@ -115,32 +115,18 @@
         builder.setSymmetrize(symmetrize);
         
         if (startingStrategies.length() > 0)
-            builder.setStartingStrategyList(StrategyXMLUtils.getStrategyListFromFile(new File(startingStrategies)));
+            builder.setStartingStrategyList(startingStrategies);
         
         if (prototypeFile.length() > 0)
-            builder.setStrategyPrototype(StrategyXMLUtils.getStrategyListFromFile(new File(prototypeFile)).get(prototypeN));
+            builder.setStrategyPrototype(prototypeFile,prototypeN);
         
         if (lwfn.length() > 0)
-            builder.setLayerWeight(LayerWeight.getLayerWeightFromFile(new File(lwfn)));
+            builder.setLayerWeight(lwfn);
         
         
         // if a non-default MCParticle Filter is set, then try to load it and assign it. 
         if (filterClassName.length() > 0){
-            try {
-                builder.setParticleFilter((IParticleFilter) Class.forName(filterClassName).newInstance());
-            } catch (ClassNotFoundException cfne) {
-                System.out.println("Class "+filterClassName+ " not found :'( Exiting."); 
-                System.exit(123); 
-            } catch (InstantiationException ie){
-                System.out.println("Class "+filterClassName+ " could not be instantiated. Does the constructor take arguments? Exiting.");
-                System.exit(234); 
-            } catch (IllegalAccessException iae){
-                System.out.println("IllegalAccessException? WTF does that mean? Exiting."); 
-                System.exit(345); 
-            } catch (ClassCastException cce){
-                System.out.println("Unable to cast "+filterClassName+ " as a IParticleFilter. Exiting"); 
-                System.exit(456); 
-            }
+            builder.setParticleFilter(filterClassName);
         }
         
         // check data file existence

lcsim/src/org/lcsim/recon/tracking/seedtracker/strategybuilder
StrategyBuilder.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- StrategyBuilder.java	27 Aug 2008 17:55:49 -0000	1.1
+++ StrategyBuilder.java	26 Sep 2008 23:36:07 -0000	1.2
@@ -42,7 +42,7 @@
  * 
  * @author cozzy
  */
-public class StrategyBuilder extends Driver implements IStrategyBuilder {
+public class StrategyBuilder extends AbstractStrategyBuilder implements IStrategyBuilder {
     
     public static final String defaultOutputFile = System.getProperties().getProperty("java.io.tmpdir")+
             System.getProperties().getProperty("file.separator")+

lcsim/src/org/lcsim/recon/tracking/seedtracker/strategybuilder
IStrategyBuilder.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- IStrategyBuilder.java	27 Aug 2008 17:55:49 -0000	1.1
+++ IStrategyBuilder.java	26 Sep 2008 23:36:07 -0000	1.2
@@ -54,6 +54,7 @@
      * @param lw
      */
     public void setLayerWeight(LayerWeight lw); 
+    public void setLayerWeight(String layerWeightsFile); 
     
     /**
      * Set the prototype for the generated strategies. The values for cutoffs
@@ -62,6 +63,7 @@
      * @param strategy
      */
     public void setStrategyPrototype(SeedStrategy strategy); 
+    public void setStrategyPrototype(String strategiesFile, int strategyNumber); 
     
     /**
      * Set a starting strategy list. New strategies will only be generated for 
@@ -69,6 +71,7 @@
      * @param startList
      */
     public void setStartingStrategyList(List<SeedStrategy> startList); 
+    public void setStartingStrategyList(String startingStrategiesFile); 
     
     /**
      * Enables extra output if verbose is true. 
@@ -98,4 +101,5 @@
      * @param filter
      */
     public void setParticleFilter(IParticleFilter filter);
+    public void setParticleFilter(String filterClassName); 
 }

lcsim/resources/org/lcsim/recon/tracking/seedtracker/strategybuilder/weights
default_weights_sid02.xml added at 1.1
diff -N default_weights_sid02.xml
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ default_weights_sid02.xml	26 Sep 2008 23:36:07 -0000	1.1
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LayerWeight xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" 
+xs:noNamespaceSchemaLocation="http://lcsim.org/recon/tracking/seedtracker/strategybuilder/layerweights.xsd">
+   
+     
+<!-- 
+    By Cosmin Deaconu
+    
+    These weights were found to work satisfactorily with ngle
+    muon events. They should certainly not be condered optimal... 
+    
+    Unfortunately, coming up with good weights seems to be a little bit of
+    black magic... 
+    
+    Score is calculated with the following formula:
+    
+    N*w*(c+m*a^e)
+    
+    N = Number of new tracks that could theoretically be found
+    w = Average weight of subset layers
+    a = Adjacence, the number of times in the training event that the 
+        subset layers are adjacent (i.e., they are hit consecutively by an
+        MCParticle). 
+    c = AdjacenceConstant
+    m = AdjacenceMultiplier
+    e = AdjacenceExponent
+    
+        
+    -->
+    
+
+
+      <!--Default used for any not already defined-->
+      <DefaultReadoutEfficiency>0.99</DefaultReadoutEfficiency>
+      <DefaultWeight>1.0</DefaultWeight>
+     
+      <TargetDetector 
+divide_by_two_in_tracker_endcap="true">sid02</TargetDetector>
+      
+      <!-- Adjacence modifiers (see above for formula)-->
+      <AdjacenceConstant>2</AdjacenceConstant>
+      <AdjacenceMultiplier>1</AdjacenceMultiplier>
+      <AdjacenceExponent>0.1</AdjacenceExponent>
+  
+  <Layers>
+       
+      <!--Barrel-->
+
+        <Layer layer_number="4" detector_name="TrackerBarrel" be_flag="BARREL">3.0</Layer>
+        <Layer layer_number="3" detector_name="TrackerBarrel" be_flag="BARREL">2.08</Layer>
+        <Layer layer_number="2" detector_name="TrackerBarrel" be_flag="BARREL">2.07</Layer>
+        <Layer layer_number="1" detector_name="TrackerBarrel" be_flag="BARREL">2.06</Layer>
+        <Layer layer_number="0" detector_name="TrackerBarrel" be_flag="BARREL">2</Layer>
+        <Layer layer_number="4" detector_name="VertexBarrel" be_flag="BARREL">0.504</Layer>
+        <Layer layer_number="3" detector_name="VertexBarrel" be_flag="BARREL">0.503</Layer>
+        <Layer layer_number="2" detector_name="VertexBarrel" be_flag="BARREL">0.502</Layer>
+        <Layer layer_number="1" detector_name="VertexBarrel" be_flag="BARREL">0.501</Layer>
+        <Layer layer_number="0" detector_name="VertexBarrel" be_flag="BARREL">0.500</Layer>
+
+
+      <!--North Endcap-->
+
+        <Layer layer_number="3" detector_name="TrackerEndcap" be_flag="ENDCAP_NORTH">1.011</Layer>
+        <Layer layer_number="2" detector_name="TrackerEndcap" be_flag="ENDCAP_NORTH">1.010</Layer>
+        <Layer layer_number="1" detector_name="TrackerEndcap" be_flag="ENDCAP_NORTH">1.009</Layer>
+        <Layer layer_number="0" detector_name="TrackerEndcap" be_flag="ENDCAP_NORTH">1.008</Layer>
+
+        <Layer layer_number="2" detector_name="TrackerForward" be_flag="ENDCAP_NORTH">1.007</Layer>
+        <Layer layer_number="1" detector_name="TrackerForward" be_flag="ENDCAP_NORTH">1.006</Layer>
+        <Layer layer_number="0" detector_name="TrackerForward" be_flag="ENDCAP_NORTH">1.005</Layer>
+
+        <Layer layer_number="3" detector_name="VertexEndcap" be_flag="ENDCAP_NORTH">0.504</Layer>
+        <Layer layer_number="2" detector_name="VertexEndcap" be_flag="ENDCAP_NORTH">0.503</Layer>
+        <Layer layer_number="1" detector_name="VertexEndcap" be_flag="ENDCAP_NORTH">0.502</Layer>
+        <Layer layer_number="0" detector_name="VertexEndcap" be_flag="ENDCAP_NORTH">0.501</Layer>
+
+        <!--South Endcap-->
+
+        <Layer layer_number="3" detector_name="TrackerEndcap" be_flag="ENDCAP_SOUTH">1.011</Layer>
+        <Layer layer_number="2" detector_name="TrackerEndcap" be_flag="ENDCAP_SOUTH">1.010</Layer>
+        <Layer layer_number="1" detector_name="TrackerEndcap" be_flag="ENDCAP_SOUTH">1.009</Layer>
+        <Layer layer_number="0" detector_name="TrackerEndcap" be_flag="ENDCAP_SOUTH">1.008</Layer>
+
+        <Layer layer_number="2" detector_name="TrackerForward" be_flag="ENDCAP_SOUTH">1.007</Layer>
+        <Layer layer_number="1" detector_name="TrackerForward" be_flag="ENDCAP_SOUTH">1.006</Layer>
+        <Layer layer_number="0" detector_name="TrackerForward" be_flag="ENDCAP_SOUTH">1.005</Layer>
+
+        <Layer layer_number="3" detector_name="VertexEndcap" be_flag="ENDCAP_SOUTH">0.504</Layer>
+        <Layer layer_number="2" detector_name="VertexEndcap" be_flag="ENDCAP_SOUTH">0.503</Layer>
+        <Layer layer_number="1" detector_name="VertexEndcap" be_flag="ENDCAP_SOUTH">0.502</Layer>
+        <Layer layer_number="0" detector_name="VertexEndcap" be_flag="ENDCAP_SOUTH">0.501</Layer>
+
+    </Layers>
+</LayerWeight>
+
CVSspam 0.2.8