Commit in lcsim/src/org/lcsim/contrib/seedtracker on MAIN
SeedTrackerDiagnostics.java+29-181.3 -> 1.4
CD - fixed accidental modification of event

lcsim/src/org/lcsim/contrib/seedtracker
SeedTrackerDiagnostics.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- SeedTrackerDiagnostics.java	21 Apr 2008 09:07:21 -0000	1.3
+++ SeedTrackerDiagnostics.java	22 Apr 2008 22:57:06 -0000	1.4
@@ -28,7 +28,7 @@
     private EventHeader ev; 
     private HitManager hm;   
     private double purity_cutoff = 0.0; 
-    
+    private String prefix = ""; 
     
     public SeedTrackerDiagnostics(EventHeader event, double b_field, HitManager hm){
         this.ev = event;
@@ -42,7 +42,7 @@
      * @param strategy
      */
     public void performDiagnostics(List<SeedCandidate> seedlist, SeedStrategy strategy){
-       
+        
         Map<SeedCandidate,SeedValidator> vmap = generateValidators(seedlist);
         makePurityPlots(vmap);        
         Set<MCParticle> likelyMCs = generateLikelyMCSet(vmap);
@@ -58,6 +58,14 @@
         purity_cutoff = new_purity_cutoff; 
     }
     
+    /**
+     * Sets the prefix to be appended to the beginning of each plot (for example, a strategy name
+     * @param str the new prefix
+     */
+    public void setPrefix(String str){
+        this.prefix = str; 
+    }
+    
     private Map<SeedCandidate,SeedValidator> generateValidators(List<SeedCandidate> seedlist) {
         
         Map<SeedCandidate,SeedValidator> ret = new HashMap<SeedCandidate,SeedValidator>(); 
@@ -89,21 +97,21 @@
             SeedValidator v = vmap.get(s);
    
             if (v.getVerdict().isGoodValue()) {
-                aida.cloud1D("Good seeds chisq").fill(s.getHelix().chisqtot());
-                aida.cloud1D("Good seeds numhits").fill(s.getHits().size());
-                aida.cloud1D("Good seeds pt").fill(s.getHelix().pT(5.0));
+                aida.cloud1D(prefix+"Good seeds chisq").fill(s.getHelix().chisqtot());
+                aida.cloud1D(prefix+"Good seeds numhits").fill(s.getHits().size());
+                aida.cloud1D(prefix+"Good seeds pt").fill(s.getHelix().pT(5.0));
             } else {
-                aida.cloud1D("Bad seeds chisq").fill(s.getHelix().chisqtot());
-                aida.cloud1D("Bad seeds numhits").fill(s.getHits().size());
-                aida.cloud1D("Bad seeds pt").fill(s.getHelix().pT(5.0));
+                aida.cloud1D(prefix+"Bad seeds chisq").fill(s.getHelix().chisqtot());
+                aida.cloud1D(prefix+"Bad seeds numhits").fill(s.getHits().size());
+                aida.cloud1D(prefix+"Bad seeds pt").fill(s.getHelix().pT(5.0));
             }
             
-            aida.cloud1D("purity").fill(v.getPurity());
-            aida.cloud2D("purity vs. numHits").fill(v.getPurity(), s.getHits().size());
-            aida.cloud2D("purity vs. pt").fill(v.getPurity(), s.getHelix().pT(5.0));
-            aida.cloud2D("purity vs. cth").fill(v.getPurity(), s.getHelix().cth());
-            aida.cloud2D("purity vs. chisq").fill(v.getPurity(), s.getHelix().chisqtot());
-            aida.cloud2D("purity cs. dca").fill(v.getPurity(), s.getHelix().dca());
+            aida.cloud1D(prefix+"purity").fill(v.getPurity());
+            aida.cloud2D(prefix+"purity vs. numHits").fill(v.getPurity(), s.getHits().size());
+            aida.cloud2D(prefix+"purity vs. pt").fill(v.getPurity(), s.getHelix().pT(5.0));
+            aida.cloud2D(prefix+"purity vs. cth").fill(v.getPurity(), s.getHelix().cth());
+            aida.cloud2D(prefix+"purity vs. chisq").fill(v.getPurity(), s.getHelix().chisqtot());
+            aida.cloud2D(prefix+"purity cs. dca").fill(v.getPurity(), s.getHelix().dca());
         }
     }
     
@@ -112,7 +120,8 @@
         FindableTracks findable = new FindableTracks(strat, hm);
         findable.setBField(b_field);
         
-        List<MCParticle> MCs = ev.getMCParticles();
+        List<MCParticle> MCs = new ArrayList<MCParticle>(); 
+        MCs.addAll(ev.getMCParticles());
         
         Iterator iter = MCs.iterator();
 
@@ -124,7 +133,7 @@
             }
 
             int numFindable = MCs.size(); 
-            aida.cloud1D("Number findable").fill(numFindable);
+            aida.cloud1D(prefix+"Number findable").fill(numFindable);
 
             
             // remove all the MC's we've found... this gives us findable - found
@@ -132,12 +141,14 @@
 
             int numFound = numFindable - MCs.size(); // findable - (findable - found) = found 
             
-            aida.cloud1D("Num found (purity cutoff="+purity_cutoff+") ").fill(numFound);
+            aida.cloud1D(prefix+"Num found (purity cutoff="+purity_cutoff+") ").fill(numFound);
             
             if(numFindable > 0){
                 double eff = (double) numFound / (double) numFindable;
-                aida.cloud1D("Efficiency").fill(eff);
+                aida.cloud1D(prefix+"Efficiency").fill(eff);
             }
         
     }
+    
 }
+    
\ No newline at end of file
CVSspam 0.2.8