Print

Print


Commit in lcsim/src/org/lcsim/contrib/uiowa/MuonFinder on MAIN
SimpleMipQualityDecision.java+18-71.2 -> 1.3
bug fixed

lcsim/src/org/lcsim/contrib/uiowa/MuonFinder
SimpleMipQualityDecision.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- SimpleMipQualityDecision.java	3 Oct 2008 19:06:36 -0000	1.2
+++ SimpleMipQualityDecision.java	4 Oct 2008 01:03:18 -0000	1.3
@@ -31,7 +31,7 @@
 	Set<Integer> layersSeen = new HashSet<Integer>();
         Set<Integer> isolayer = new HashSet<Integer>();
         CalorimeterHit outhit = null;
-        Map<Integer, CalorimeterHit> exam = new HashMap<Integer, CalorimeterHit>();
+        Map<Integer, Set<CalorimeterHit>> exam = new HashMap<Integer, Set<CalorimeterHit>>();
         int max = 0;
 	for (CalorimeterHit hit : mip.getCalorimeterHits()) {
 	    int layer = getLayer(hit);
@@ -39,18 +39,29 @@
             if (!layersSeen.contains(layerInt)) {
                 layersSeen.add(layerInt);
                 isolayer.add(layerInt);
-                exam.put(layerInt,hit);
+                Set<CalorimeterHit> hits = exam.get(layerInt);
+                if(hits == null){
+                    hits = new HashSet<CalorimeterHit>();
+                    exam.put(layerInt,hits);
+                }
+                hits.add(hit);
             } else {
-                exam.put(layerInt,hit);
-                if(exam.values().size() > 2){ isolayer.remove(layerInt); }
+                Set<CalorimeterHit> hits = exam.get(layerInt);
+                if(hits == null){
+                    hits = new HashSet<CalorimeterHit>();
+                    exam.put(layerInt,hits);
+                }
+                hits.add(hit);
+
+                if(exam.get(layerInt).size() > 2){  isolayer.remove(layerInt); }
             }
             if(layer > max){
                 max = layer;
             }
 	}
- 
-        if( max < 5) { count = 3;}
-        else count = 0;
+       
+        System.out.println("isolated layer= " + isolayer.size());
+        int count = 3;
 
         boolean pass = (isolayer.size() >= count);
         return pass;
CVSspam 0.2.8