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);
}
|