Author: [log in to unmask] Date: Wed Dec 17 02:18:31 2014 New Revision: 1776 Log: Remove HPSCalorimeterHit and fix up usage of BaseCalorimeterHit throughout ECAL code. Make everything compatible with LCSim trunk. HPSJAVA-347 Added: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/CalorimeterHitUtilities.java Removed: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/HPSCalorimeterHit.java Modified: java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/lcsim/EventDisplayOutputDriver.java java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SimpleEcalReadoutDriver.java java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/TimeEvolutionEcalReadoutDriver.java java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/CTPEcalClusterer.java java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalClusterICBasic.java java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalConverterDriver.java java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalEdepToTriggerConverterDriver.java java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverter.java java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalReadoutToTriggerConverterDriver.java java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalTriggerFilterDriver.java java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/HPSEcalCluster.java java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClasInnerCalClusterDriver.java java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClusterDriver.java java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/example/EcalMonitoringTestDriver.java java/trunk/recon/src/test/java/org/hps/recon/particle/HpsReconParticleDriverTest.java java/trunk/tracking/src/main/java/org/hps/recon/tracking/SVTBadChannelFilterDriver.java java/trunk/users/src/main/java/org/hps/users/holly/HPSEcalClusterIC.java java/trunk/users/src/main/java/org/hps/users/mgraham/HPSTrackerHit.java java/trunk/util/src/main/java/org/hps/util/MergeBunches.java Modified: java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/lcsim/EventDisplayOutputDriver.java ============================================================================= --- java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/lcsim/EventDisplayOutputDriver.java (original) +++ java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/lcsim/EventDisplayOutputDriver.java Wed Dec 17 02:18:31 2014 @@ -106,7 +106,7 @@ // Process the clusters. for (HPSEcalCluster cluster : clusters) { // Get the seed hit for the cluster. - HPSCalorimeterHit seedHit = (HPSCalorimeterHit)cluster.getSeedHit(); + CalorimeterHit seedHit = (CalorimeterHit)cluster.getSeedHit(); int ix = seedHit.getIdentifierFieldValue("ix"); int iy = seedHit.getIdentifierFieldValue("iy"); double time = seedHit.getTime(); Modified: java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SimpleEcalReadoutDriver.java ============================================================================= --- java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SimpleEcalReadoutDriver.java (original) +++ java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SimpleEcalReadoutDriver.java Wed Dec 17 02:18:31 2014 @@ -4,29 +4,27 @@ import java.util.List; import java.util.Map; -import org.hps.recon.ecal.HPSCalorimeterHit; import org.lcsim.event.CalorimeterHit; +import org.lcsim.event.base.BaseCalorimeterHit; /** * Performs readout of ECal hits. No time evolution - this just integrates all * hits in a cycle. * * @author Sho Uemura <[log in to unmask]> - * @version $Id: SimpleEcalReadoutDriver.java,v 1.1 2013/02/25 22:39:26 meeg Exp - * $ */ -public class SimpleEcalReadoutDriver extends EcalReadoutDriver<HPSCalorimeterHit> { +public class SimpleEcalReadoutDriver extends EcalReadoutDriver<CalorimeterHit> { //buffer for deposited energy Map<Long, Double> eDepMap = null; public SimpleEcalReadoutDriver() { - hitClass = HPSCalorimeterHit.class; + hitClass = CalorimeterHit.class; } @Override - protected void readHits(List<HPSCalorimeterHit> hits) { + protected void readHits(List<CalorimeterHit> hits) { for (Long cellID : eDepMap.keySet()) { // int ix = dec.getValue("ix"); // int iy = dec.getValue("iy"); @@ -35,7 +33,8 @@ // if (iy == 1 && ix*side >= -10 && ix*side <= -2) // continue; if (eDepMap.get(cellID) > threshold) { - HPSCalorimeterHit h = new HPSCalorimeterHit(eDepMap.get(cellID), readoutTime(), cellID, hitType); + //HPSCalorimeterHit h = new HPSCalorimeterHit(eDepMap.get(cellID), readoutTime(), cellID, hitType); + CalorimeterHit h = new BaseCalorimeterHit(eDepMap.get(cellID), eDepMap.get(cellID), 0, readoutTime(), cellID, null, hitType, null); hits.add(h); } } Modified: java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/TimeEvolutionEcalReadoutDriver.java ============================================================================= --- java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/TimeEvolutionEcalReadoutDriver.java (original) +++ java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/TimeEvolutionEcalReadoutDriver.java Wed Dec 17 02:18:31 2014 @@ -4,6 +4,7 @@ import java.util.List; import java.util.Map; +import org.hps.recon.ecal.CalorimeterHitUtilities; import org.hps.recon.ecal.HPSCalorimeterHit; import org.lcsim.event.CalorimeterHit; @@ -14,7 +15,7 @@ * @author Sho Uemura <[log in to unmask]> * @version $Id: TimeEvolutionEcalReadoutDriver.java,v 1.1 2013/02/25 22:39:26 meeg Exp $ */ -public class TimeEvolutionEcalReadoutDriver extends EcalReadoutDriver<HPSCalorimeterHit> { +public class TimeEvolutionEcalReadoutDriver extends EcalReadoutDriver<CalorimeterHit> { //buffer for deposited energy Map<Long, RingBuffer> eDepMap = null; //length of ring buffer (in readout cycles) @@ -23,7 +24,7 @@ double t0 = 18.0; public TimeEvolutionEcalReadoutDriver() { - hitClass = HPSCalorimeterHit.class; + hitClass = CalorimeterHit.class; } public void setT0(double t0) { @@ -36,12 +37,11 @@ } @Override - protected void readHits(List<HPSCalorimeterHit> hits) { + protected void readHits(List<CalorimeterHit> hits) { for (Long cellID : eDepMap.keySet()) { RingBuffer eDepBuffer = eDepMap.get(cellID); - if (eDepBuffer.currentValue() > threshold) { - HPSCalorimeterHit h = new HPSCalorimeterHit(eDepBuffer.currentValue(), readoutTime(), cellID, hitType); - hits.add(h); + if (eDepBuffer.currentValue() > threshold) { + hits.add(CalorimeterHitUtilities.create(eDepBuffer.currentValue(), readoutTime(), cellID, hitType)); } eDepBuffer.step(); } Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/CTPEcalClusterer.java ============================================================================= --- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/CTPEcalClusterer.java (original) +++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/CTPEcalClusterer.java Wed Dec 17 02:18:31 2014 @@ -12,12 +12,13 @@ import org.lcsim.event.CalorimeterHit; import org.lcsim.event.EventHeader; +import org.lcsim.event.base.BaseCalorimeterHit; import org.lcsim.geometry.Detector; import org.lcsim.geometry.IDDecoder; +import org.lcsim.geometry.subdetector.HPSEcal3; import org.lcsim.geometry.subdetector.HPSEcal3.NeighborMap; -import org.lcsim.geometry.subdetector.HPSEcal3; +import org.lcsim.lcio.LCIOConstants; import org.lcsim.util.Driver; -import org.lcsim.lcio.LCIOConstants; /** * Creates clusters from CalorimeterHits in the HPSEcal detector. @@ -351,9 +352,8 @@ } // Generate a new cluster seed hit from the above results. - HPSCalorimeterHit seedHit = new HPSCalorimeterHit(0.0, clusterTime, possibleCluster, hits.get(0).getType()); - seedHit.setMetaData(hits.get(0).getMetaData()); - + CalorimeterHit seedHit = (BaseCalorimeterHit)CalorimeterHitUtilities.create(0.0, clusterTime, possibleCluster, hits.get(0).getMetaData()); + // Generate a new cluster from the seed hit. HPSEcalCluster cluster = new HPSEcalCluster(); cluster.setSeedHit(seedHit); Added: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/CalorimeterHitUtilities.java ============================================================================= --- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/CalorimeterHitUtilities.java (added) +++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/CalorimeterHitUtilities.java Wed Dec 17 02:18:31 2014 @@ -0,0 +1,34 @@ +package org.hps.recon.ecal; + +import org.lcsim.event.CalorimeterHit; +import org.lcsim.event.base.BaseCalorimeterHit; +import org.lcsim.event.EventHeader.LCMetaData; + +/** + * This is a simple set of utility methods for creating CalorimeterHit objects. + * @author Jeremy McCormick <[log in to unmask]> + */ +public final class CalorimeterHitUtilities { + + /** + * This class is purely static. + */ + private CalorimeterHitUtilities() { + } + + public static final CalorimeterHit create(double energy, double time, long id, int type) { + return create(energy, time, id, type, null); + } + + public static final CalorimeterHit create(double energy, double time, long id) { + return create(energy, time, id, 0, null); + } + + public static final CalorimeterHit create(double energy, double time, long id, LCMetaData meta) { + return create(energy, time, id, 0, meta); + } + + public static final CalorimeterHit create(double energy, double time, long id, int type, LCMetaData metaData) { + return new BaseCalorimeterHit(energy, energy, 0, time, id, null, type, metaData); + } +} Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalClusterICBasic.java ============================================================================= --- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalClusterICBasic.java (original) +++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalClusterICBasic.java Wed Dec 17 02:18:31 2014 @@ -151,7 +151,7 @@ } //sort the list, highest energy first - Collections.sort(sortedHitList, Collections.reverseOrder(new EnergyComparator())); + Collections.sort(sortedHitList, Collections.reverseOrder(new CalorimeterHit.CorrectedEnergyComparator())); //map from seed hit to cluster Map<CalorimeterHit, HPSEcalCluster> seedToCluster = new HashMap<CalorimeterHit, HPSEcalCluster>(); Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalConverterDriver.java ============================================================================= --- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalConverterDriver.java (original) +++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalConverterDriver.java Wed Dec 17 02:18:31 2014 @@ -6,9 +6,10 @@ import org.lcsim.event.CalorimeterHit; import org.lcsim.event.EventHeader; import org.lcsim.event.RawCalorimeterHit; +import org.lcsim.event.base.BaseCalorimeterHit; import org.lcsim.geometry.Detector; +import org.lcsim.lcio.LCIOConstants; import org.lcsim.util.Driver; -import org.lcsim.lcio.LCIOConstants; /** * @@ -86,8 +87,8 @@ } private CalorimeterHit HitDtoA(RawCalorimeterHit hit) { - HPSCalorimeterHit h = new HPSCalorimeterHit(DtoA(hit.getAmplitude(), hit.getCellID()), period * hit.getTimeStamp() + dt, hit.getCellID(), 0); - return h; + double energy = DtoA(hit.getAmplitude(), hit.getCellID()); + return CalorimeterHitUtilities.create(energy, period * hit.getTimeStamp() + dt, hit.getCellID()); } // private RawCalorimeterHit HitAtoD(CalorimeterHit hit) { Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalEdepToTriggerConverterDriver.java ============================================================================= --- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalEdepToTriggerConverterDriver.java (original) +++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalEdepToTriggerConverterDriver.java Wed Dec 17 02:18:31 2014 @@ -3,18 +3,17 @@ import java.util.ArrayList; import java.util.List; - -//import org.hps.conditions.deprecated.EcalConditions; - -import org.hps.conditions.database.TableConstants; import org.hps.conditions.ecal.EcalChannelConstants; import org.hps.conditions.ecal.EcalConditions; +import org.hps.util.RandomGaussian; import org.lcsim.conditions.ConditionsManager; -import org.hps.util.RandomGaussian; import org.lcsim.event.CalorimeterHit; import org.lcsim.event.EventHeader; +import org.lcsim.event.base.BaseCalorimeterHit; import org.lcsim.geometry.Detector; import org.lcsim.util.Driver; +//import org.hps.conditions.deprecated.EcalConditions; +import org.hps.conditions.database.TableConstants; /** @@ -160,9 +159,8 @@ // System.out.format("trigger: %f %f\n", amplitude, triggerIntegral); int truncatedIntegral = (int) Math.floor(triggerIntegral / truncateScale); - if (truncatedIntegral > 0) { - HPSCalorimeterHit h = new HPSCalorimeterHit(truncatedIntegral, hit.getTime(), hit.getCellID(), 0); - return h ; + if (truncatedIntegral > 0) { + return CalorimeterHitUtilities.create(truncatedIntegral, hit.getTime(), hit.getCellID()); } return null; } @@ -201,8 +199,7 @@ // System.out.format("dumb: %f, full: %f\n",hit.getRawEnergy() * 1000.0,readoutIntegral * HPSEcalConditions.physicalToGain(id)); // System.out.format("readout: %f %f\n", amplitude, integral); - HPSCalorimeterHit h = new HPSCalorimeterHit(integral, hit.getTime(), hit.getCellID(), 0); - return h; + return CalorimeterHitUtilities.create(integral, hit.getTime(), hit.getCellID()); } private double hitAmplitude(CalorimeterHit hit) { Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverter.java ============================================================================= --- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverter.java (original) +++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverter.java Wed Dec 17 02:18:31 2014 @@ -3,12 +3,12 @@ import org.hps.conditions.database.TableConstants; import org.hps.conditions.ecal.EcalChannelConstants; import org.hps.conditions.ecal.EcalConditions; -import org.hps.recon.ecal.HitExtraData.Mode7Data; import org.lcsim.conditions.ConditionsManager; import org.lcsim.event.CalorimeterHit; import org.lcsim.event.GenericObject; import org.lcsim.event.RawCalorimeterHit; import org.lcsim.event.RawTrackerHit; +import org.lcsim.event.base.BaseCalorimeterHit; import org.lcsim.event.base.BaseRawCalorimeterHit; import org.lcsim.geometry.Detector; @@ -57,8 +57,7 @@ double time = hit.getTime(); long id = hit.getCellID(); double rawEnergy = adcToEnergy(sumADC(hit), id); - HPSCalorimeterHit h1 = new HPSCalorimeterHit(rawEnergy, time, id, 0); - return h1; + return CalorimeterHitUtilities.create(rawEnergy, time, id); } public CalorimeterHit HitDtoA(RawCalorimeterHit hit, int window, double timeOffset) { @@ -71,8 +70,8 @@ EcalChannelConstants channelData = findChannel(id); double adcSum = hit.getAmplitude() - window * channelData.getCalibration().getPedestal(); double rawEnergy = adcToEnergy(adcSum, id); - HPSCalorimeterHit h2 = new HPSCalorimeterHit(rawEnergy, time + timeOffset, id, 0); - return h2; + return CalorimeterHitUtilities.create(rawEnergy, time + timeOffset, id); + //return h2; } public CalorimeterHit HitDtoA(RawCalorimeterHit hit, GenericObject mode7Data, int window, double timeOffset) { @@ -83,9 +82,10 @@ double adcSum = hit.getAmplitude() - window * channelData.getCalibration().getPedestal(); // double adcSum = hit.getAmplitude() - window * Mode7Data.getAmplLow(mode7Data); //A.C. is this the proper way to pedestal subtract in mode 7? - double rawEnergy = adcToEnergy(adcSum, id); - HPSCalorimeterHit h2 = new HPSCalorimeterHit(rawEnergy, time + timeOffset, id, 0); - return h2; + double rawEnergy = adcToEnergy(adcSum, id); + return CalorimeterHitUtilities.create(rawEnergy, time + timeOffset, id); + + //return h2; } public RawCalorimeterHit HitAtoD(CalorimeterHit hit, int window) { @@ -145,5 +145,5 @@ */ public EcalChannelConstants findChannel(long cellID) { return ecalConditions.getChannelConstants(ecalConditions.getChannelCollection().findGeometric(cellID)); - } + } } Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalReadoutToTriggerConverterDriver.java ============================================================================= --- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalReadoutToTriggerConverterDriver.java (original) +++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalReadoutToTriggerConverterDriver.java Wed Dec 17 02:18:31 2014 @@ -185,10 +185,7 @@ if (truncatedIntegral <= 0) { truncatedIntegral = 0; } - HPSCalorimeterHit h = new HPSCalorimeterHit(truncatedIntegral, hitTime, id, 0); -// CalorimeterHit h = new HPSRawCalorimeterHit(triggerIntegral + 0.0000001, hit.getPosition(), hitTime, id, 0); - //+0.0000001 is a horrible hack to ensure rawEnergy!=BaseCalorimeterHit.UNSET_CORRECTED_ENERGY - return h; + return CalorimeterHitUtilities.create(truncatedIntegral, hitTime, id); } private double pulseAmplitude(double time) { Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalTriggerFilterDriver.java ============================================================================= --- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalTriggerFilterDriver.java (original) +++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalTriggerFilterDriver.java Wed Dec 17 02:18:31 2014 @@ -90,7 +90,6 @@ for (CalorimeterHit hit : hits) { CalorimeterHit newHit = filterHit(hit); if (newHit != null) { - newHit.setMetaData(hit.getMetaData()); if (newHit.getIdentifierFieldValue("iy") > 0) { topHits.add(newHit); } else { @@ -136,9 +135,8 @@ // Creating the new channel from cell id, ix and iy, then reading its ID long newID = geomId.encode(); - //make new hit; set position to null so it gets recalculated - HPSCalorimeterHit h = new HPSCalorimeterHit(hit.getRawEnergy(), hit.getTime() + delay * 4, newID, hit.getType()); - return h; + //make new hit; set position to null so it gets recalculated + return CalorimeterHitUtilities.create(hit.getRawEnergy(), hit.getTime() + delay * 4, newID, hit.getType(), hit.getMetaData()); } /** Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/HPSEcalCluster.java ============================================================================= --- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/HPSEcalCluster.java (original) +++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/HPSEcalCluster.java Wed Dec 17 02:18:31 2014 @@ -63,9 +63,7 @@ if (hit == null) { throw new RuntimeException("HPSEcalCluster has no hits"); } - seedHit = new HPSCalorimeterHit(0.0, 0.0, cellID, hit.getType()); -// seedHit.setDetector(detector); - seedHit.setMetaData(hit.getMetaData()); + seedHit = CalorimeterHitUtilities.create(0.0, 0.0, cellID, hit.getType(), hit.getMetaData()); } return seedHit; } Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClasInnerCalClusterDriver.java ============================================================================= --- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClasInnerCalClusterDriver.java (original) +++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClasInnerCalClusterDriver.java Wed Dec 17 02:18:31 2014 @@ -87,7 +87,7 @@ } int flag = 1 << LCIOConstants.CLBIT_HITS; this.getLogger().finer("writing rejected hit list " + rejectedHitCollectionName + " with " + rejectedHitList.size() + " hits"); - event.put(rejectedHitCollectionName, rejectedHitList, CalorimeterHit.class, flag); + event.put(rejectedHitCollectionName, rejectedHitList, CalorimeterHit.class, flag, ecal.getReadout().getName()); // Flag the collection as a subset, because other collection's objects are being used. event.getMetaData(rejectedHitList).setSubset(true); // Are we writing this collection to the output LCIO file? Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClusterDriver.java ============================================================================= --- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClusterDriver.java (original) +++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClusterDriver.java Wed Dec 17 02:18:31 2014 @@ -3,6 +3,7 @@ import java.util.List; import java.util.logging.Logger; +import org.lcsim.detector.identifier.IIdentifierHelper; import org.lcsim.event.CalorimeterHit; import org.lcsim.event.Cluster; import org.lcsim.event.EventHeader; @@ -27,8 +28,9 @@ */ public class ClusterDriver extends Driver { - protected String ecalName = "Ecal"; + protected String ecalName = "Ecal"; protected HPSEcal3 ecal; + protected IIdentifierHelper helper; protected String outputClusterCollectionName = "EcalClusters"; protected String inputHitCollectionName = "EcalCalHits"; protected Clusterer clusterer; @@ -159,6 +161,7 @@ throw new RuntimeException("Ther subdetector " + ecalName + " does not have the right type."); } ecal = (HPSEcal3) subdetector; + helper = ecal.getDetectorElement().getIdentifierHelper(); } /** Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/example/EcalMonitoringTestDriver.java ============================================================================= --- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/example/EcalMonitoringTestDriver.java (original) +++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/example/EcalMonitoringTestDriver.java Wed Dec 17 02:18:31 2014 @@ -34,7 +34,7 @@ public void process(EventHeader event) { if (event.hasCollection(RawTrackerHit.class, "EcalReadoutHits")) { List<RawTrackerHit> hits = event.get(RawTrackerHit.class, "EcalReadoutHits"); - System.out.println("EcalReadoutHits has " + hits.size() + " hits"); + //System.out.println("EcalReadoutHits has " + hits.size() + " hits"); nHitsH1D.fill(hits.size()); for (RawTrackerHit hit : hits) { for (short adcValue : hit.getADCValues()) { Modified: java/trunk/recon/src/test/java/org/hps/recon/particle/HpsReconParticleDriverTest.java ============================================================================= --- java/trunk/recon/src/test/java/org/hps/recon/particle/HpsReconParticleDriverTest.java (original) +++ java/trunk/recon/src/test/java/org/hps/recon/particle/HpsReconParticleDriverTest.java Wed Dec 17 02:18:31 2014 @@ -71,11 +71,11 @@ // above. Since the properties of a cluster cannot be modified // directly via setter methods, first create a CalorimeterHit and // then use that to create a cluster. - Hep3Vector topHitPosition = new BasicHep3Vector(190.27, 69.729, 1422.8); - BaseCalorimeterHit topHit - = new BaseCalorimeterHit(.4600, .4600, 0, 0, 0, topHitPosition, 0); + //Hep3Vector topHitPosition = new BasicHep3Vector(190.27, 69.729, 1422.8); + //BaseCalorimeterHit topHit + // = new BaseCalorimeterHit(.4600, .4600, 0, 0, 0, topHitPosition, 0); - System.out.println("\n[ Calorimeter Hit ] Top: \n" + topHit.toString()); + //System.out.println("\n[ Calorimeter Hit ] Top: \n" + topHit.toString()); Cluster topCluster = new BaseCluster(); //((BaseCluster) topCluster).addHit(topHit); @@ -86,11 +86,11 @@ + topCluster.getPosition()[1] + ", " + topCluster.getPosition()[2] + " ]"); - Hep3Vector bottomHitPosition = new BasicHep3Vector(-148.46, -39.27, 1430.5); - BaseCalorimeterHit bottomHit - = new BaseCalorimeterHit(1.1420, 1.1420, 0, 0, 0, bottomHitPosition, 0); + //Hep3Vector bottomHitPosition = new BasicHep3Vector(-148.46, -39.27, 1430.5); + //BaseCalorimeterHit bottomHit + // = new BaseCalorimeterHit(1.1420, 1.1420, 0, 0, 0, bottomHitPosition, 0); - System.out.println("\n[ Calorimeter Hit ] Bottom:\n " + bottomHit.toString()); + //System.out.println("\n[ Calorimeter Hit ] Bottom:\n " + bottomHit.toString()); Cluster bottomCluster = new BaseCluster(); //((BaseCluster) bottomCluster).addHit(bottomHit); Modified: java/trunk/tracking/src/main/java/org/hps/recon/tracking/SVTBadChannelFilterDriver.java ============================================================================= --- java/trunk/tracking/src/main/java/org/hps/recon/tracking/SVTBadChannelFilterDriver.java (original) +++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/SVTBadChannelFilterDriver.java Wed Dec 17 02:18:31 2014 @@ -40,7 +40,7 @@ while (hitsIterator.hasNext()) { RawTrackerHit hit = hitsIterator.next(); - hit.setMetaData(meta); + //hit.setMetaData(meta); int strip = hit.getIdentifierFieldValue("strip"); HpsSiSensor sensor = (HpsSiSensor) hit.getDetectorElement(); Modified: java/trunk/users/src/main/java/org/hps/users/holly/HPSEcalClusterIC.java ============================================================================= --- java/trunk/users/src/main/java/org/hps/users/holly/HPSEcalClusterIC.java (original) +++ java/trunk/users/src/main/java/org/hps/users/holly/HPSEcalClusterIC.java Wed Dec 17 02:18:31 2014 @@ -7,8 +7,8 @@ import java.util.ArrayList; import java.util.List; +import org.hps.recon.ecal.CalorimeterHitUtilities; import org.hps.recon.ecal.ECalUtils; -import org.hps.recon.ecal.HPSCalorimeterHit; import org.lcsim.detector.IGeometryInfo; import org.lcsim.detector.solids.Trd; import org.lcsim.event.CalorimeterHit; @@ -49,8 +49,7 @@ if (hit == null) { throw new RuntimeException("HPSEcalCluster has no hits"); } - seedHit = new HPSCalorimeterHit(0.0, 0.0, cellID, hit.getType()); - seedHit.setMetaData(hit.getMetaData()); + seedHit = CalorimeterHitUtilities.create(0.0, 0.0, cellID, hit.getType(), hit.getMetaData()); } return seedHit; } Modified: java/trunk/users/src/main/java/org/hps/users/mgraham/HPSTrackerHit.java ============================================================================= --- java/trunk/users/src/main/java/org/hps/users/mgraham/HPSTrackerHit.java (original) +++ java/trunk/users/src/main/java/org/hps/users/mgraham/HPSTrackerHit.java Wed Dec 17 02:18:31 2014 @@ -20,7 +20,7 @@ int time, short[] adcValues, double t0, double Amp) { this.cellId = id; - this.compactId = new Identifier(id); + this.packedID = new Identifier(id); this.time = time; this.adcValues = adcValues; this.t0=t0; @@ -30,7 +30,7 @@ public HPSTrackerHit( RawTrackerHit rth, double t0, double Amp) { this.cellId = rth.getCellID(); - this.compactId = new Identifier(rth.getCellID()); + this.packedID = new Identifier(rth.getCellID()); this.time = rth.getTime(); this.adcValues = rth.getADCValues(); this.t0=t0; Modified: java/trunk/util/src/main/java/org/hps/util/MergeBunches.java ============================================================================= --- java/trunk/util/src/main/java/org/hps/util/MergeBunches.java (original) +++ java/trunk/util/src/main/java/org/hps/util/MergeBunches.java Wed Dec 17 02:18:31 2014 @@ -332,8 +332,7 @@ } // need to set time to 0 so it is recalculated from the timeList SimCalorimeterHit mergedHit = new BaseSimCalorimeterHit(oldHit.getCellID(), - rawEnergy, 0., mcpList, eneList, timeList, pdgList); - mergedHit.setMetaData(collection); + rawEnergy, 0., mcpList, eneList, timeList, pdgList, collection); // replace old hit with merged hit signalCaloHits.remove(oldHit); signalCaloHits.add(mergedHit); @@ -393,9 +392,7 @@ pdgs[i] = hit.getPDG(i); } - BaseSimCalorimeterHit copyHit = new BaseSimCalorimeterHit(id, rawEnergy, time, mcparts, energies, times, pdgs); - - copyHit.setMetaData(meta); + BaseSimCalorimeterHit copyHit = new BaseSimCalorimeterHit(id, rawEnergy, time, mcparts, energies, times, pdgs, meta); return copyHit; }