Commit in lcsim/src/org/lcsim/recon on MAIN
pfa/structural/SetUpDTreeForReclustering.java+14-21.13 -> 1.14
cluster/mipfinder/MIPClusterDriver.java+5-51.4 -> 1.5
cluster/util/CoreReclusterer.java+10-101.1 -> 1.2
cluster/muonfinder/SimpleMipQualityDecision.java+2-21.4 -> 1.5
+31-19
4 modified files
Try to fix differences running on sid02

lcsim/src/org/lcsim/recon/pfa/structural
SetUpDTreeForReclustering.java 1.13 -> 1.14
diff -u -r1.13 -r1.14
--- SetUpDTreeForReclustering.java	4 Feb 2010 17:45:32 -0000	1.13
+++ SetUpDTreeForReclustering.java	19 Mar 2010 20:03:18 -0000	1.14
@@ -8,6 +8,7 @@
 import org.lcsim.event.EventHeader;
 import org.lcsim.event.Cluster;
 import org.lcsim.recon.cluster.directedtree.DirectedTreeDriver;
+import org.lcsim.recon.cluster.nn.NearestNeighborClusterDriver;
 import org.lcsim.recon.cluster.mipfinder.ShowerPointFinderDriver;
 import org.lcsim.recon.cluster.muonfinder.MuonFinderWrapper;
 import org.lcsim.recon.cluster.util.HitNearBarrelEndcapBoundaryDecision;
@@ -198,12 +199,24 @@
 		mstDriver.registerMetrics(new org.lcsim.recon.cluster.mst.MinimumHitToHitDistance());
 		add(mstDriver);
 	    } else {
+                if(outputClusterListName.contains("Muon"))
+                {
+                    // Don't know how this ever worked for muons!
+                    // Fake it with nn
+                    FakeDTDriver treeDriver = new FakeDTDriver(5,5,2,0,0.);
+                    treeDriver.setInputHitMap(filteredInputHitMapName);
+                    treeDriver.setOutputClusterList(outputClusterListName);
+                    add(treeDriver);
+                }
+                else
+                {
 		// Run DTree
 		DirectedTreeDriver treeDriver = new DirectedTreeDriver();
 		treeDriver.setInputHitMap(filteredInputHitMapName);
 		treeDriver.setOutputClusterList(outputClusterListName);
 		treeDriver.setOutputHitMap(outputHitMapName);
 		add(treeDriver);
+                }
 	    }
 	    add(new TransientFlagDriver(outputClusterListName));
 	}
@@ -226,8 +239,7 @@
           ){
             mergeDTreeClustersHCAL.addInputList(clusterListName);
 	    }
-        else if( (inputName.compareTo(ci.getDigiCollectionName(CalorimeterType.MUON_BARREL))==0)||
-	        (inputName.compareTo(ci.getDigiCollectionName(CalorimeterType.MUON_ENDCAP))==0)
+        else if( (inputName.contains("Muon"))
           ){
             mergeDTreeClustersMCAL.addInputList(clusterListName);
 	    }

lcsim/src/org/lcsim/recon/cluster/mipfinder
MIPClusterDriver.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- MIPClusterDriver.java	4 Feb 2010 17:45:33 -0000	1.4
+++ MIPClusterDriver.java	19 Mar 2010 20:03:18 -0000	1.5
@@ -77,7 +77,7 @@
     Object from <tt> event</tt>.  
 
  @author [log in to unmask]
- @version $Id: MIPClusterDriver.java,v 1.4 2010/02/04 17:45:33 cassell Exp $
+ @version $Id: MIPClusterDriver.java,v 1.5 2010/03/19 20:03:18 cassell Exp $
 
    Modification Log:
    -- 01/08/2005 Version 1.0 available in CVS
@@ -151,14 +151,14 @@
 	List<CalorimeterHit> hits = null;
 
 	if ( calType == "EMCal" ) {
-	    List<CalorimeterHit>  barrelHits = event.get(CalorimeterHit.class, ci.getCollectionName(CalorimeterType.EM_BARREL));
-	    List<CalorimeterHit>  endcapHits = event.get(CalorimeterHit.class, ci.getCollectionName(CalorimeterType.EM_ENDCAP));
+	    List<CalorimeterHit>  barrelHits = event.get(CalorimeterHit.class, ci.getDigiCollectionName(CalorimeterType.EM_BARREL));
+	    List<CalorimeterHit>  endcapHits = event.get(CalorimeterHit.class, ci.getDigiCollectionName(CalorimeterType.EM_ENDCAP));
 	    hits = new Vector<CalorimeterHit>();
 	    hits.addAll(barrelHits);
 	    hits.addAll(endcapHits);
 	} else if ( calType == "HCal" ) {
-	    List<CalorimeterHit>  barrelHits = event.get(CalorimeterHit.class, ci.getCollectionName(CalorimeterType.HAD_BARREL));
-	    List<CalorimeterHit>  endcapHits = event.get(CalorimeterHit.class, ci.getCollectionName(CalorimeterType.HAD_ENDCAP));
+	    List<CalorimeterHit>  barrelHits = event.get(CalorimeterHit.class, ci.getDigiCollectionName(CalorimeterType.HAD_BARREL));
+	    List<CalorimeterHit>  endcapHits = event.get(CalorimeterHit.class, ci.getDigiCollectionName(CalorimeterType.HAD_ENDCAP));
 	    hits = new Vector<CalorimeterHit>();
 	    hits.addAll(barrelHits);
 	    hits.addAll(endcapHits);

lcsim/src/org/lcsim/recon/cluster/util
CoreReclusterer.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- CoreReclusterer.java	8 Nov 2007 23:16:00 -0000	1.1
+++ CoreReclusterer.java	19 Mar 2010 20:03:18 -0000	1.2
@@ -10,10 +10,9 @@
 package org.lcsim.recon.cluster.util;
 import java.util.List;
 import java.util.ArrayList;
+import java.util.Collections;
 import org.lcsim.event.Cluster;
 import org.lcsim.event.CalorimeterHit;
-import org.lcsim.recon.cluster.util.Clusterer;
-import org.lcsim.recon.cluster.util.BasicCluster;
 import org.lcsim.recon.cluster.nn.NearestNeighborClusterer;
 import hep.physics.vec.Hep3Vector;
 import hep.physics.vec.BasicHep3Vector;
@@ -31,6 +30,7 @@
     double mipE = .000124;
     double thrstepsize = 1.;
     Clusterer clusterer;
+    double acc = -1.e-8;
     /** Creates a new instance of CoreReclusterer */
     public CoreReclusterer()
     {
@@ -71,8 +71,6 @@
         active.add(c);
         int i = 0;
         int nactive = active.size();
-        int fls = -1;
-        int lls = -1;
         while(nactive > 0)
         {
             double hitth = i*thrstepsize*mipE;
@@ -86,9 +84,11 @@
                     if(h.getRawEnergy() > hitth)hl.add(h);
                 }
                 List<Cluster> split = clusterer.createClusters(hl);
-                for(int j=0;j<split.size();j++)
+                List<Cluster> temp = new ArrayList<Cluster>();
+                temp.addAll(split);
+                for(int j=0;j<temp.size();j++)
                 {
-                    if(split.get(j).getEnergy() < minEcore)split.remove(j);
+                    if(temp.get(j).getEnergy() < minEcore)split.remove(temp.get(j));
                 }
                 if(split.size() == 0)
                 {
@@ -105,10 +105,9 @@
                 }
                 else
                 {
-                    if(fls < 0)fls = i;
-                    else lls = i;
                     remove.add(cc);
                     out.remove(cc);
+                    Collections.sort(split, new ClusterESort());
 //
 //  Now build the new clusters from the cores
 //
@@ -136,10 +135,11 @@
                             double[] hpos = h.getPosition();
                             double mindis = 9999.;
                             int minc = 0;
+                            boolean dbg2 = false;
                             for(int j=0;j<split.size();j++)
                             {
-                                double dissq = getMinDist(hpos,newcl[j]);
-                                if(dissq < mindis)
+                                double dissq = getMinDist(hpos,split.get(j));
+                                if( (dissq - mindis)<acc)
                                 {
                                     mindis = dissq;
                                     minc = j;

lcsim/src/org/lcsim/recon/cluster/muonfinder
SimpleMipQualityDecision.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- SimpleMipQualityDecision.java	8 Mar 2010 19:36:39 -0000	1.4
+++ SimpleMipQualityDecision.java	19 Mar 2010 20:03:18 -0000	1.5
@@ -12,13 +12,13 @@
  * modified from the code written by Mat.
  *
  * @author [log in to unmask]
- * @version $Id: SimpleMipQualityDecision.java,v 1.4 2010/03/08 19:36:39 cassell Exp $
+ * @version $Id: SimpleMipQualityDecision.java,v 1.5 2010/03/19 20:03:18 cassell Exp $
  */
  
 
 public class SimpleMipQualityDecision implements DecisionMakerSingle<Cluster>
 {
-    boolean removeUpperHit = false;
+    boolean removeUpperHit = true;
     public SimpleMipQualityDecision() {
 	// No user-settable options for now
     }
CVSspam 0.2.8