Author: [log in to unmask] Date: Wed Jan 21 19:57:52 2015 New Revision: 1966 Log: remove lowest energy double hit in crystal Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterer.java Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterer.java ============================================================================= --- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterer.java (original) +++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterer.java Wed Jan 21 19:57:52 2015 @@ -121,7 +121,9 @@ // designated threshold. 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) || (useTimeCut && (hitList.get(index).getTime() < minTime || hitList.get(index).getTime() > (minTime + timeWindow)))) { + if ((hitList.get(index).getCorrectedEnergy() < hitEnergyThreshold) + || (useTimeCut && (hitList.get(index).getTime() < minTime + || hitList.get(index).getTime() > (minTime + timeWindow)))) { rejectedHitList.add(hitList.get(index)); hitList.remove(index); } @@ -143,12 +145,15 @@ HashMap<Long, CalorimeterHit> hitMap = new HashMap<Long, CalorimeterHit>(); //boolean multihit = false; - for (int ii = hitList.size() - 1; ii >= 0; ii--) { + //for (int ii = hitList.size() - 1; ii >= 0; ii--) { + for (int ii = 0; ii <= hitList.size() - 1; ii++){ CalorimeterHit hit = hitList.get(ii); if (hitMap.containsKey(hit.getCellID())) { // throw new RuntimeException("Multiple CalorimeterHits found in same crystal."); //multihit = true; + rejectedHitList.add(hit); hitList.remove(ii); + ii--; } else { hitMap.put(hit.getCellID(), hit); }