Print

Print


Author: [log in to unmask]
Date: Mon Jan  5 20:35:57 2015
New Revision: 1879

Log:
Minor updates to Clusterer classes.

Modified:
    java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/LegacyClusterer.java
    java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterDriver.java
    java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/SimpleReconClusterer.java

Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/LegacyClusterer.java
 =============================================================================
--- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/LegacyClusterer.java	(original)
+++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/LegacyClusterer.java	Mon Jan  5 20:35:57 2015
@@ -6,10 +6,10 @@
 import java.util.Set;
 
 import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
 import org.lcsim.event.CalorimeterHit;
 import org.lcsim.event.Cluster;
 import org.lcsim.event.EventHeader;
+import org.lcsim.event.base.BaseCluster;
 
 /**
  * <p>
@@ -80,8 +80,7 @@
             // Did we find a seed?
             if (isSeed) {
                 // Make a cluster from the hit list.
-                HPSEcalCluster cluster = new HPSEcalCluster();
-                cluster.setSeedHit(hit);
+                BaseCluster cluster = new BaseCluster();
                 cluster.addHit(hit);
                 for (CalorimeterHit clusHit : neighborHits) {
                     cluster.addHit(clusHit);

Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterDriver.java
 =============================================================================
--- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterDriver.java	(original)
+++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterDriver.java	Mon Jan  5 20:35:57 2015
@@ -23,29 +23,24 @@
     // Flag to persist the rejected hits to the LCIO file (off by default).
     boolean writeRejectedHitCollection = false;
     
-    // Reference to the concrete Clusterer object for convenience.
-    ReconClusterer reconClusterer;
+    ReconClusterer reconClusterer = null;
+        
+    public ReconClusterDriver() {
+        clusterer = ClustererFactory.create("ReconClusterer");
+    }
         
     /**
      * Perform job initialization.  
      */
     public void startOfData() {
-        if (clusterer == null) {
-            // Setup the Clusterer if it wasn't already initialized by a Driver argument.
-            this.setClustererName("ReconClusterer");
-        } else {
-            // Does the Clusterer have the right type if there was a custom inialization parameter?
-            if (!(clusterer instanceof ReconClusterer)) {
-                // The Clusterer does not appear to have the right type for this Driver!
-                throw new IllegalArgumentException("The Clusterer type " + this.clusterer.getClass().getCanonicalName() + " does not have the right type.");
-            }   
-        }
+        // Does the Clusterer have the right type?
+        if (!(clusterer instanceof ReconClusterer)) {
+            // The Clusterer does not appear to have the right type for this Driver!
+            throw new IllegalArgumentException("The Clusterer type " + this.clusterer.getClass().getCanonicalName() + " does not have the right type.");
+        }           
         
         // Perform standard start of data initialization from super-class.
         super.startOfData();
-        
-        // Set a reference to the specific type of Clusterer.
-        reconClusterer = getClusterer();
     }
     
     /**
@@ -83,7 +78,7 @@
      * Write the list of rejected hits to the event, according to current Driver parameter settings.
      */
     void writeRejectedHitList(EventHeader event) {
-        List<CalorimeterHit> rejectedHitList = reconClusterer.getRejectedHitList();
+        List<CalorimeterHit> rejectedHitList = getReconClusterer().getRejectedHitList();
         if (rejectedHitList == null) {
             throw new RuntimeException("The rejectedHitList is null.");
         }
@@ -99,4 +94,8 @@
             event.getMetaData(rejectedHitList).setTransient(true);
         }   
     }             
+    
+    ReconClusterer getReconClusterer() {
+        return (ReconClusterer) this.clusterer;
+    }
 }

Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/SimpleReconClusterer.java
 =============================================================================
--- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/SimpleReconClusterer.java	(original)
+++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/SimpleReconClusterer.java	Mon Jan  5 20:35:57 2015
@@ -10,6 +10,7 @@
 import org.lcsim.event.CalorimeterHit;
 import org.lcsim.event.Cluster;
 import org.lcsim.event.EventHeader;
+import org.lcsim.event.base.BaseCluster;
 
 /**
  * <p>
@@ -71,7 +72,7 @@
         Collections.sort(sortedHitList, Collections.reverseOrder(new CalorimeterHit.CorrectedEnergyComparator()));
 
         // map from seed hit to cluster
-        Map<CalorimeterHit, HPSEcalCluster> seedToCluster = new HashMap<CalorimeterHit, HPSEcalCluster>();
+        Map<CalorimeterHit, BaseCluster> seedToCluster = new HashMap<CalorimeterHit, BaseCluster>();
 
         // Quick Map to access hits from cell IDs
         Map<Long, CalorimeterHit> idToHit = new HashMap<Long, CalorimeterHit>();
@@ -107,7 +108,7 @@
             }
             if (biggestSeed == null) { // if no neighbors had more energy than this hit, this hit is a seed
                 hitToSeed.put(hit, hit);
-                HPSEcalCluster cluster = new HPSEcalCluster(hit.getCellID());
+                BaseCluster cluster = new HPSEcalCluster(); // FIXME: Replace with BaseCluster.
                 clusters.add(cluster);
                 seedToCluster.put(hit, cluster);
             } else {
@@ -118,7 +119,7 @@
         // add all hits to clusters
         for (CalorimeterHit hit : sortedHitList) {
             CalorimeterHit seed = hitToSeed.get(hit);
-            HPSEcalCluster cluster = seedToCluster.get(seed);
+            BaseCluster cluster = seedToCluster.get(seed);
             cluster.addHit(hit);
         }