java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal
--- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalClusterIC.java 2014-06-04 21:01:15 UTC (rev 668)
+++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalClusterIC.java 2014-06-04 21:44:06 UTC (rev 669)
@@ -18,7 +18,6 @@
import org.lcsim.geometry.subdetector.HPSEcal3.NeighborMap;
import org.lcsim.lcio.LCIOConstants;
import org.lcsim.util.Driver;
-import org.hps.recon.ecal.HPSEcalClusterIC;
/**
@@ -189,7 +188,11 @@
public void createClusters(EventHeader event) throws IOException {
// Create a list to store the event hits in.
- List<CalorimeterHit> hitList = event.get(CalorimeterHit.class, ecalCollectionName);
+ List<CalorimeterHit> hitList = new ArrayList<CalorimeterHit>();
+ List<CalorimeterHit> baseList = event.get(CalorimeterHit.class, ecalCollectionName);
+ for(CalorimeterHit r : baseList) {
+ hitList.add(r);
+ }
// Create a list to store the newly created clusters in.
ArrayList<HPSEcalClusterIC> clusterList = new ArrayList<HPSEcalClusterIC>();
@@ -206,7 +209,7 @@
for(int index = hitList.size() - 1; index >= 0; index--) {
// If the hit is below threshold or outside of time window, kill it.
if((hitList.get(index).getCorrectedEnergy() < hitEnergyThreshold)||
- (timeCut && (hitList.get(index).getTime() < minTime || hitList.get(index).getTime() > minTime + timeWindow))) {
+ (timeCut && (hitList.get(index).getTime() < minTime || hitList.get(index).getTime() > (minTime + timeWindow)))) {
rejectedHitList.add(hitList.get(index));
hitList.remove(index);
}
@@ -464,7 +467,7 @@
eventNum++;
// Write the event header.
- // writeHits.append(String.format("Event\t%d%n", eventNum));
+// writeHits.append(String.format("Event\t%d%n", eventNum));
// Write the calorimeter hits that passed the energy cut.
for (CalorimeterHit n : hitList) {
@@ -519,10 +522,17 @@
cluster.addSharedHit(entry4.getKey());
}
}
+ for(CalorimeterHit q : rejectedHitList)
+ {// This does not output in correct event display format, just for de-bugging
+// writeHits.append("Rejected"+q.getIdentifierFieldValue("ix")+"\t"+q.getIdentifierFieldValue("iy")+"\n");
+ }
+
+
cluster.setEnergy(energy);
clusterList.add(cluster);
}// End checking thresholds and write out.
}
+
} //End cluster loop
// Write the event termination header.
@@ -532,6 +542,8 @@
int flag = 1 << LCIOConstants.CLBIT_HITS;
event.put(clusterCollectionName, clusterList, HPSEcalClusterIC.class, flag);
event.put(rejectedHitName, rejectedHitList, CalorimeterHit.class, flag);
+
+
}
public void endOfData() {