lcsim/src/org/lcsim/contrib/uiowa
diff -u -r1.2 -r1.3
--- FlushReconstructedParticlesDriver.java 16 Jan 2008 19:30:01 -0000 1.2
+++ FlushReconstructedParticlesDriver.java 8 Mar 2008 20:49:23 -0000 1.3
@@ -37,6 +37,13 @@
}
public void process(EventHeader event) {
+ // Grab raw hitmaps
+ Map<Long, CalorimeterHit> hitMap = new HashMap<Long, CalorimeterHit>();
+ for (CalorimeterHit hit : event.get(CalorimeterHit.class, "EcalBarrHits")) { hitMap.put(hit.getCellID(), hit); }
+ for (CalorimeterHit hit : event.get(CalorimeterHit.class, "HcalBarrHits")) { hitMap.put(hit.getCellID(), hit); }
+ for (CalorimeterHit hit : event.get(CalorimeterHit.class, "EcalEndcapHits")) { hitMap.put(hit.getCellID(), hit); }
+ for (CalorimeterHit hit : event.get(CalorimeterHit.class, "HcalEndcapHits")) { hitMap.put(hit.getCellID(), hit); }
+
List<ReconstructedParticle> inputList = event.get(ReconstructedParticle.class, m_inputParticleListName);
Vector<ReconstructedParticle> outputList = new Vector<ReconstructedParticle>();
Vector<Cluster> outputClusterList = new Vector<Cluster>();
@@ -55,7 +62,10 @@
// Create the output cluster and particle
BasicCluster outputCluster = new BasicCluster();
for (CalorimeterHit hit : hits) {
- outputCluster.addHit(hit);
+ long id = hit.getCellID();
+ CalorimeterHit safeHit = hitMap.get(id);
+ outputCluster.addHit(safeHit);
+ //outputCluster.addHit(hit);
}
BaseReconstructedParticle outputPart = new BaseReconstructedParticle();
if (outputCluster.getCalorimeterHits().size() > 0) {