Commit in hps-java/src/main/java/org/lcsim/hps on MAIN | |||
recon/ecal/HPSEcalCluster.java | +2 | -2 | 1.8 -> 1.9 |
/HPSEcalFADCReadoutDriver.java | +10 | -5 | 1.17 -> 1.18 |
/HPSEcalRawConverter.java | +7 | -7 | 1.11 -> 1.12 |
/HPSEcalConverterAtoDDriver.java | +2 | -25 | 1.2 -> 1.3 |
/HPSEcalWindowDiscriminatorReadoutDriver.java | +13 | -11 | 1.2 -> 1.3 |
/HPSEcalTimeEvolutionReadoutDriver.java | +6 | -8 | 1.10 -> 1.11 |
/HPSEcalConverter.java | +40 | -57 | 1.4 -> 1.5 |
/HPSEcalSimpleReadoutDriver.java | +3 | -6 | 1.8 -> 1.9 |
/HPSRawCalorimeterHit.java | +2 | -2 | 1.6 -> 1.7 |
/HPSEcalRawConverterDriver.java | +4 | -4 | 1.13 -> 1.14 |
/HPSEcalReadoutDriver.java | +3 | -18 | 1.19 -> 1.20 |
/HPSEcalTriggerFilterDriver.java | +1 | -1 | 1.1 -> 1.2 |
/HPSEcalEdepToTriggerConverterDriver.java | +2 | -2 | 1.2 -> 1.3 |
/HPSEcalDiscriminatorReadoutDriver.java | +5 | -8 | 1.4 -> 1.5 |
/HPSEcalConverterDriver.java | +2 | -25 | 1.3 -> 1.4 |
/HPSEcalCTPClusterer.java | +6 | -2 | 1.6 -> 1.7 |
monitoring/ecal/EcalWindowPlots.java | +5 | -14 | 1.5 -> 1.6 |
/EcalPedestalPlots.java | +1 | -1 | 1.9 -> 1.10 |
+114 | -198 |
use RawCalorimeterHit instead of BaseRawCalorimeterHit when possible
diff -u -r1.8 -r1.9 --- HPSEcalCluster.java 23 Aug 2012 18:48:18 -0000 1.8 +++ HPSEcalCluster.java 27 Aug 2012 21:53:47 -0000 1.9 @@ -13,7 +13,7 @@
* Cluster with position defined by seed hit (for 1-bit trigger) * * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSEcalCluster.java,v 1.8 2012/08/23 18:48:18 meeg Exp $
+ * @version $Id: HPSEcalCluster.java,v 1.9 2012/08/27 21:53:47 meeg Exp $
*/ public class HPSEcalCluster extends BasicCluster {
@@ -42,7 +42,7 @@
if (hit == null) { throw new RuntimeException("HPSEcalCluster has no hits"); }
- seedHit = new HPSRawCalorimeterHit(0.0, null, 0.0, cellID, hit.getType());
+ seedHit = new HPSRawCalorimeterHit(0.0, 0.0, cellID, hit.getType());
seedHit.setMetaData(hit.getMetaData()); } return seedHit;
diff -u -r1.17 -r1.18 --- HPSEcalFADCReadoutDriver.java 21 Aug 2012 01:06:51 -0000 1.17 +++ HPSEcalFADCReadoutDriver.java 27 Aug 2012 21:53:47 -0000 1.18 @@ -15,6 +15,7 @@
import org.lcsim.event.base.BaseRawCalorimeterHit; import org.lcsim.event.base.BaseRawTrackerHit; import org.lcsim.geometry.Detector;
+import org.lcsim.geometry.Subdetector;
import org.lcsim.geometry.subdetector.HPSEcal3; import org.lcsim.hps.evio.EventConstants; import org.lcsim.hps.util.ClockSingleton;
@@ -26,10 +27,12 @@
* Simulates time evolution of preamp output pulse. * * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSEcalFADCReadoutDriver.java,v 1.17 2012/08/21 01:06:51 meeg Exp $
+ * @version $Id: HPSEcalFADCReadoutDriver.java,v 1.18 2012/08/27 21:53:47 meeg Exp $
*/ public class HPSEcalFADCReadoutDriver extends HPSEcalReadoutDriver<RawCalorimeterHit> {
+ String ecalName = "Ecal"; + Subdetector ecal;
//buffer for deposited energy private Map<Long, RingBuffer> eDepMap = null; //ADC pipeline for readout
@@ -82,9 +85,10 @@
// converter = new HPSEcalConverter(null); }
-// public void setGain(double gain) { -// this.gain = gain; -// }
+ public void setEcalName(String ecalName) { + this.ecalName = ecalName; + } +
public void setReadoutThreshold(int readoutThreshold) { this.readoutThreshold = readoutThreshold; }
@@ -323,7 +327,8 @@
@Override public void detectorChanged(Detector detector) {
- super.detectorChanged(detector);
+ // Get the Subdetector. + ecal = detector.getSubdetector(ecalName);
resetFADCBuffers(); }
diff -u -r1.11 -r1.12 --- HPSEcalRawConverter.java 9 Aug 2012 00:51:15 -0000 1.11 +++ HPSEcalRawConverter.java 27 Aug 2012 21:53:47 -0000 1.12 @@ -1,8 +1,8 @@
package org.lcsim.hps.recon.ecal; import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.RawCalorimeterHit;
import org.lcsim.event.RawTrackerHit;
-import org.lcsim.event.base.BaseRawCalorimeterHit;
/** *
@@ -50,13 +50,13 @@
} else { rawEnergy = HPSEcalConditions.physicalToGain(id) * sumADC(hit); }
- double[] pos = hit.getDetectorElement().getGeometry().getPosition().v(); - CalorimeterHit h = new HPSRawCalorimeterHit(rawEnergy + 0.0000001, pos, time, id, 0);
+// double[] pos = hit.getDetectorElement().getGeometry().getPosition().v(); + CalorimeterHit h = new HPSRawCalorimeterHit(rawEnergy + 0.0000001, time, id, 0);
//+0.0000001 is a horrible hack to ensure rawEnergy!=BaseCalorimeterHit.UNSET_CORRECTED_ENERGY return h; }
- public CalorimeterHit HitDtoA(BaseRawCalorimeterHit hit, int window) {
+ public CalorimeterHit HitDtoA(RawCalorimeterHit hit, int window) {
if (hit.getTimeStamp() % 64 != 0) { System.out.println("unexpected timestamp " + hit.getTimeStamp()); }
@@ -68,19 +68,19 @@
} else { rawEnergy = HPSEcalConditions.physicalToGain(id) * (hit.getAmplitude() - window * HPSEcalConditions.physicalToPedestal(id)); }
- CalorimeterHit h = new HPSRawCalorimeterHit(rawEnergy + 0.0000001, hit.getPosition(), time, id, 0);
+ CalorimeterHit h = new HPSRawCalorimeterHit(rawEnergy + 0.0000001, time, id, 0);
//+0.0000001 is a horrible hack to ensure rawEnergy!=BaseCalorimeterHit.UNSET_CORRECTED_ENERGY return h; }
- public static CalorimeterHit HitDtoA(BaseRawCalorimeterHit hit, int window, double g) {
+ public static CalorimeterHit HitDtoA(RawCalorimeterHit hit, int window, double g) {
if (hit.getTimeStamp() % 64 != 0) { System.out.println("unexpected timestamp " + hit.getTimeStamp()); } double time = hit.getTimeStamp() / 16.0; long id = hit.getCellID(); double rawEnergy = g * (hit.getAmplitude() - window * HPSEcalConditions.physicalToPedestal(id));
- CalorimeterHit h = new HPSRawCalorimeterHit(rawEnergy + 0.0000001, hit.getPosition(), time, id, 0);
+ CalorimeterHit h = new HPSRawCalorimeterHit(rawEnergy + 0.0000001, time, id, 0);
//+0.0000001 is a horrible hack to ensure rawEnergy!=BaseCalorimeterHit.UNSET_CORRECTED_ENERGY return h; }
diff -u -r1.2 -r1.3 --- HPSEcalConverterAtoDDriver.java 21 Mar 2012 01:00:04 -0000 1.2 +++ HPSEcalConverterAtoDDriver.java 27 Aug 2012 21:53:47 -0000 1.3 @@ -1,7 +1,3 @@
-/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */
package org.lcsim.hps.recon.ecal; import java.util.ArrayList;
@@ -9,22 +5,18 @@
import org.lcsim.event.CalorimeterHit; import org.lcsim.event.EventHeader; import org.lcsim.event.RawCalorimeterHit;
-import org.lcsim.geometry.Detector; -import org.lcsim.geometry.Subdetector;
import org.lcsim.util.Driver; import org.lcsim.util.lcio.LCIOConstants; /** * * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSEcalConverterAtoDDriver.java,v 1.2 2012/03/21 01:00:04 jeremy Exp $
+ * @version $Id: HPSEcalConverterAtoDDriver.java,v 1.3 2012/08/27 21:53:47 meeg Exp $
*/ public class HPSEcalConverterAtoDDriver extends Driver { HPSEcalConverter converter = null;
- Subdetector ecal;
String rawCollectionName = "EcalDigitizedHits";
- String ecalName;
String ecalReadoutName = "EcalHits"; String ecalCollectionName; int flags;
@@ -33,7 +25,7 @@
flags = 0; flags += 1 << LCIOConstants.CHBIT_LONG; //store position flags += 1 << LCIOConstants.RCHBIT_ID1; //store cell ID
- converter = new HPSEcalConverter(null);
+ converter = new HPSEcalConverter();
} public void setPedestal(double pedestal) {
@@ -48,10 +40,6 @@
this.ecalCollectionName = ecalCollectionName; }
- public void setEcalName(String ecalName) { - this.ecalName = ecalName; - } -
public void setRawCollectionName(String rawCollectionName) { this.rawCollectionName = rawCollectionName; }
@@ -61,17 +49,6 @@
if (ecalCollectionName == null) { throw new RuntimeException("The parameter ecalCollectionName was not set!"); }
- - if (ecalName == null) { - throw new RuntimeException("The parameter ecalName was not set!"); - } - } - - @Override - public void detectorChanged(Detector detector) { - // Get the Subdetector. - ecal = (Subdetector) detector.getSubdetector(ecalName); - converter.setIDDecoder(ecal.getIDDecoder());
} @Override
diff -u -r1.2 -r1.3 --- HPSEcalWindowDiscriminatorReadoutDriver.java 4 Nov 2011 00:51:19 -0000 1.2 +++ HPSEcalWindowDiscriminatorReadoutDriver.java 27 Aug 2012 21:53:47 -0000 1.3 @@ -5,7 +5,6 @@
import java.util.Map; import org.lcsim.event.CalorimeterHit;
-import org.lcsim.geometry.IDDecoder;
import org.lcsim.hps.util.ClockSingleton; import org.lcsim.hps.util.RingBuffer;
@@ -16,10 +15,11 @@
* * * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSEcalWindowDiscriminatorReadoutDriver.java,v 1.2 2011/11/04 00:51:19 meeg Exp $
+ * @version $Id: HPSEcalWindowDiscriminatorReadoutDriver.java,v 1.3 2012/08/27 21:53:47 meeg Exp $
*/ public class HPSEcalWindowDiscriminatorReadoutDriver extends HPSEcalDiscriminatorReadoutDriver { //last time we saw a rising edge
+
Map<Long, Double> lowTimeMap = null; //last time we saw a rising edge Map<Long, Double> highTimeMap = null;
@@ -32,24 +32,23 @@
this.highThreshold = highThreshold; }
+ @Override
protected void readHits(List<HPSRawCalorimeterHit> hits) {
- IDDecoder dec = ecal.getIDDecoder();
for (Long cellID : lowTimeMap.keySet()) { //if there's an output pulse, make a hit if (ClockSingleton.getTime() - lowTimeMap.get(cellID) < outputWidth) {
- if (highTimeMap.containsKey(cellID) && ClockSingleton.getTime() - highTimeMap.get(cellID) < outputWidth)
+ if (highTimeMap.containsKey(cellID) && ClockSingleton.getTime() - highTimeMap.get(cellID) < outputWidth) {
continue;
- dec.setID(cellID); - hits.add(new HPSRawCalorimeterHit(outputEnergy, dec.getPosition(), readoutTime(), cellID, hitType));
+ } + hits.add(new HPSRawCalorimeterHit(outputEnergy, readoutTime(), cellID, hitType));
} } }
+ @Override
protected void putHits(List<CalorimeterHit> hits) { //fill the readout buffers for (CalorimeterHit hit : hits) {
- IDDecoder dec = ecal.getIDDecoder(); - dec.setID(hit.getCellID());
// int ix = dec.getValue("ix"); // int iy = dec.getValue("iy"); // //temporary hack to disable crystals and flip X coordinate
@@ -72,19 +71,22 @@
RingBuffer eDepBuffer = eDepMap.get(cellID); //if there's a rising edge between now and the next time step, note the time if ((eDepBuffer.currentValue() < threshold)
- && (eDepBuffer.getValue(1) > threshold))
+ && (eDepBuffer.getValue(1) > threshold)) {
lowTimeMap.put(cellID, ClockSingleton.getTime());
+ }
if ((eDepBuffer.currentValue() < highThreshold)
- && (eDepBuffer.getValue(1) > highThreshold))
+ && (eDepBuffer.getValue(1) > highThreshold)) {
highTimeMap.put(cellID, ClockSingleton.getTime());
+ }
eDepBuffer.step(); } }
+ @Override
protected void initReadout() { //initialize buffers eDepMap = new HashMap<Long, RingBuffer>(); lowTimeMap = new HashMap<Long, Double>(); highTimeMap = new HashMap<Long, Double>(); }
-}
\ No newline at end of file
+}
diff -u -r1.10 -r1.11 --- HPSEcalTimeEvolutionReadoutDriver.java 4 Nov 2011 00:51:19 -0000 1.10 +++ HPSEcalTimeEvolutionReadoutDriver.java 27 Aug 2012 21:53:47 -0000 1.11 @@ -5,7 +5,6 @@
import java.util.Map; import org.lcsim.event.CalorimeterHit;
-import org.lcsim.geometry.IDDecoder;
import org.lcsim.hps.util.ClockSingleton; import org.lcsim.hps.util.RingBuffer;
@@ -14,7 +13,7 @@
* Simulates time evolution of preamp output pulse. * * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSEcalTimeEvolutionReadoutDriver.java,v 1.10 2011/11/04 00:51:19 meeg Exp $
+ * @version $Id: HPSEcalTimeEvolutionReadoutDriver.java,v 1.11 2012/08/27 21:53:47 meeg Exp $
*/ public class HPSEcalTimeEvolutionReadoutDriver extends HPSEcalReadoutDriver<HPSRawCalorimeterHit> {
@@ -38,27 +37,25 @@
eDepMap = new HashMap<Long, RingBuffer>(); }
+ @Override
protected void readHits(List<HPSRawCalorimeterHit> hits) {
- IDDecoder dec = ecal.getIDDecoder();
for (Long cellID : eDepMap.keySet()) { RingBuffer eDepBuffer = eDepMap.get(cellID); if (eDepBuffer.currentValue() > threshold) {
- dec.setID(cellID);
// int ix = dec.getValue("ix"); // int iy = dec.getValue("iy"); // if (iy == 1 && ix == -2) // System.out.printf("Time %f, output signal %f\n", ClockSingleton.getTime(), eDepBuffer.currentValue());
- hits.add(new HPSRawCalorimeterHit(eDepBuffer.currentValue(), dec.getPosition(), readoutTime(), cellID, hitType));
+ hits.add(new HPSRawCalorimeterHit(eDepBuffer.currentValue(), readoutTime(), cellID, hitType));
} eDepBuffer.step(); } }
+ @Override
protected void putHits(List<CalorimeterHit> hits) { //fill the readout buffers for (CalorimeterHit hit : hits) {
- IDDecoder dec = ecal.getIDDecoder(); - dec.setID(hit.getCellID());
// int ix = dec.getValue("ix"); // int iy = dec.getValue("iy"); // if (iy == 1 && ix == -2)
@@ -75,6 +72,7 @@
} }
+ @Override
protected void initReadout() { //initialize buffers eDepMap = new HashMap<Long, RingBuffer>();
@@ -92,4 +90,4 @@
return 0.0; } }
-}
\ No newline at end of file
+}
diff -u -r1.4 -r1.5 --- HPSEcalConverter.java 5 Apr 2012 19:05:23 -0000 1.4 +++ HPSEcalConverter.java 27 Aug 2012 21:53:47 -0000 1.5 @@ -1,69 +1,52 @@
-/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */
package org.lcsim.hps.recon.ecal; import org.lcsim.event.CalorimeterHit; import org.lcsim.event.RawCalorimeterHit;
-import org.lcsim.geometry.IDDecoder;
/** * * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSEcalConverter.java,v 1.4 2012/04/05 19:05:23 meeg Exp $
+ * @version $Id: HPSEcalConverter.java,v 1.5 2012/08/27 21:53:47 meeg Exp $
*/ public class HPSEcalConverter {
- double scale = 0.01; - double pedestal = 0.0; - double period = 4.0; - double dt = 0.0; - IDDecoder dec; - - public HPSEcalConverter(IDDecoder dec) { - this.dec = dec; - } - - public double getPedestal() { - return pedestal; - } - - public void setPedestal(double pedestal) { - this.pedestal = pedestal; - } - - public double getScale() { - return scale; - } - - public void setScale(double scale) { - this.scale = scale; - } - - public IDDecoder getIDDecoder() { - return dec; - } - - public void setIDDecoder(IDDecoder dec) { - this.dec = dec; - } - - public int AtoD(double amplitude, long cellID) { - return (int) Math.floor((amplitude + pedestal) / scale); - } - - public double DtoA(int amplitude, long cellID) { - return scale * (amplitude + 0.5) + pedestal; - } - - public CalorimeterHit HitDtoA(RawCalorimeterHit hit) { - dec.setID(hit.getCellID()); - return new HPSRawCalorimeterHit(DtoA(hit.getAmplitude(), hit.getCellID()), dec.getPosition(), period * hit.getTimeStamp() + dt, hit.getCellID(), 0); - } - - public RawCalorimeterHit HitAtoD(CalorimeterHit hit) { - dec.setID(hit.getCellID()); - return new HPSFADCCalorimeterHit(hit.getCellID(), AtoD(hit.getRawEnergy(), hit.getCellID()), (int) Math.round(hit.getTime() / period), 0); - }
+ double scale = 0.01; + double pedestal = 0.0; + double period = 4.0; + double dt = 0.0; + + public HPSEcalConverter() { + } + + public double getPedestal() { + return pedestal; + } + + public void setPedestal(double pedestal) { + this.pedestal = pedestal; + } + + public double getScale() { + return scale; + } + + public void setScale(double scale) { + this.scale = scale; + } + + public int AtoD(double amplitude, long cellID) { + return (int) Math.floor((amplitude + pedestal) / scale); + } + + public double DtoA(int amplitude, long cellID) { + return scale * (amplitude + 0.5) + pedestal; + } + + public CalorimeterHit HitDtoA(RawCalorimeterHit hit) { + return new HPSRawCalorimeterHit(DtoA(hit.getAmplitude(), hit.getCellID()), period * hit.getTimeStamp() + dt, hit.getCellID(), 0); + } + + public RawCalorimeterHit HitAtoD(CalorimeterHit hit) { + return new HPSFADCCalorimeterHit(hit.getCellID(), AtoD(hit.getRawEnergy(), hit.getCellID()), (int) Math.round(hit.getTime() / period), 0); + }
}
diff -u -r1.8 -r1.9 --- HPSEcalSimpleReadoutDriver.java 4 Nov 2011 00:51:19 -0000 1.8 +++ HPSEcalSimpleReadoutDriver.java 27 Aug 2012 21:53:47 -0000 1.9 @@ -5,14 +5,13 @@
import java.util.Map; import org.lcsim.event.CalorimeterHit;
-import org.lcsim.geometry.IDDecoder;
/** * 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: HPSEcalSimpleReadoutDriver.java,v 1.8 2011/11/04 00:51:19 meeg Exp $
+ * @version $Id: HPSEcalSimpleReadoutDriver.java,v 1.9 2012/08/27 21:53:47 meeg Exp $
*/ public class HPSEcalSimpleReadoutDriver extends HPSEcalReadoutDriver<HPSRawCalorimeterHit> { //buffer for deposited energy
@@ -23,9 +22,7 @@
} protected void readHits(List<HPSRawCalorimeterHit> hits) {
- IDDecoder dec = ecal.getIDDecoder();
for (Long cellID : eDepMap.keySet()) {
- dec.setID(cellID);
// int ix = dec.getValue("ix"); // int iy = dec.getValue("iy"); // //temporary hack to disable crystals and flip X coordinate
@@ -33,7 +30,7 @@
// if (iy == 1 && ix*side >= -10 && ix*side <= -2) // continue; if (eDepMap.get(cellID) > threshold)
- hits.add(new HPSRawCalorimeterHit(eDepMap.get(cellID), dec.getPosition(), readoutTime(), cellID, hitType));
+ hits.add(new HPSRawCalorimeterHit(eDepMap.get(cellID), readoutTime(), cellID, hitType));
} //reset hit integration eDepMap = new HashMap<Long, Double>();
@@ -55,4 +52,4 @@
//initialize buffers eDepMap = new HashMap<Long, Double>(); }
-}
\ No newline at end of file
+}
diff -u -r1.6 -r1.7 --- HPSRawCalorimeterHit.java 7 Aug 2012 23:10:08 -0000 1.6 +++ HPSRawCalorimeterHit.java 27 Aug 2012 21:53:47 -0000 1.7 @@ -11,7 +11,7 @@
* for use in ECalReadout * * @author Sho Uemura
- * @version $Id: HPSRawCalorimeterHit.java,v 1.6 2012/08/07 23:10:08 meeg Exp $
+ * @version $Id: HPSRawCalorimeterHit.java,v 1.7 2012/08/27 21:53:47 meeg Exp $
*/ public class HPSRawCalorimeterHit extends BaseCalorimeterHit {
@@ -24,7 +24,7 @@
* @param id Cell ID * @param type Type */
- public HPSRawCalorimeterHit(double energy, double[] position, double time, long id, int type) {
+ public HPSRawCalorimeterHit(double energy, double time, long id, int type) {
this.rawEnergy = energy; // if (position != null) { // this.positionVec = new BasicHep3Vector(position);
diff -u -r1.13 -r1.14 --- HPSEcalRawConverterDriver.java 21 Aug 2012 17:41:04 -0000 1.13 +++ HPSEcalRawConverterDriver.java 27 Aug 2012 21:53:47 -0000 1.14 @@ -4,8 +4,8 @@
import java.util.List; import org.lcsim.event.CalorimeterHit; import org.lcsim.event.EventHeader;
+import org.lcsim.event.RawCalorimeterHit;
import org.lcsim.event.RawTrackerHit;
-import org.lcsim.event.base.BaseRawCalorimeterHit;
import org.lcsim.geometry.Detector; import org.lcsim.util.Driver;
@@ -96,10 +96,10 @@
} } }
- if (event.hasCollection(BaseRawCalorimeterHit.class, rawCollectionName)) { - List<BaseRawCalorimeterHit> hits = event.get(BaseRawCalorimeterHit.class, rawCollectionName);
+ if (event.hasCollection(RawCalorimeterHit.class, rawCollectionName)) { + List<RawCalorimeterHit> hits = event.get(RawCalorimeterHit.class, rawCollectionName);
- for (BaseRawCalorimeterHit hit : hits) {
+ for (RawCalorimeterHit hit : hits) {
CalorimeterHit newHit = converter.HitDtoA(hit, integralWindow); if (newHit.getRawEnergy() > threshold) { if(applyBadCrystalMap && isBadCrystal(newHit)) continue;
diff -u -r1.19 -r1.20 --- HPSEcalReadoutDriver.java 3 Aug 2012 00:05:26 -0000 1.19 +++ HPSEcalReadoutDriver.java 27 Aug 2012 21:53:47 -0000 1.20 @@ -5,8 +5,6 @@
import org.lcsim.event.CalorimeterHit; import org.lcsim.event.EventHeader;
-import org.lcsim.geometry.Detector; -import org.lcsim.geometry.Subdetector;
import org.lcsim.hps.util.ClockSingleton; import org.lcsim.util.Driver; import org.lcsim.util.lcio.LCIOConstants;
@@ -15,13 +13,11 @@
* Performs readout of ECal hits. * * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSEcalReadoutDriver.java,v 1.19 2012/08/03 00:05:26 meeg Exp $
+ * @version $Id: HPSEcalReadoutDriver.java,v 1.20 2012/08/27 21:53:47 meeg Exp $
*/ public abstract class HPSEcalReadoutDriver<T> extends Driver {
- Subdetector ecal;
String ecalCollectionName;
- String ecalName;
String ecalRawCollectionName = "EcalRawHits"; String ecalReadoutName = "EcalHits"; Class hitClass;
@@ -59,10 +55,6 @@
this.ecalCollectionName = ecalCollectionName; }
- public void setEcalName(String ecalName) { - this.ecalName = ecalName; - } -
public void setReadoutCycle(int readoutCycle) { this.readoutCycle = readoutCycle; if (readoutCycle > 0) {
@@ -83,25 +75,18 @@
this.threshold = threshold; }
+ @Override
public void startOfData() { if (ecalCollectionName == null) { throw new RuntimeException("The parameter ecalCollectionName was not set!"); }
- if (ecalName == null) { - throw new RuntimeException("The parameter ecalName was not set!"); - } -
readoutCounter = 0; initReadout(); }
- public void detectorChanged(Detector detector) { - // Get the Subdetector. - ecal = detector.getSubdetector(ecalName); - } -
+ @Override
public void process(EventHeader event) { //System.out.println(this.getClass().getCanonicalName() + " - process"); // Get the list of ECal hits.
diff -u -r1.1 -r1.2 --- HPSEcalTriggerFilterDriver.java 6 Aug 2012 23:14:18 -0000 1.1 +++ HPSEcalTriggerFilterDriver.java 27 Aug 2012 21:53:47 -0000 1.2 @@ -77,6 +77,6 @@
} long newID = HPSEcalConditions.makePhysicalID(ix, iy); //make new hit; set position to null so it gets recalculated
- return new HPSRawCalorimeterHit(hit.getRawEnergy(), null, hit.getTime(), newID, hit.getType());
+ return new HPSRawCalorimeterHit(hit.getRawEnergy(), hit.getTime(), newID, hit.getType());
} }
diff -u -r1.2 -r1.3 --- HPSEcalEdepToTriggerConverterDriver.java 21 Aug 2012 01:06:51 -0000 1.2 +++ HPSEcalEdepToTriggerConverterDriver.java 27 Aug 2012 21:53:47 -0000 1.3 @@ -127,7 +127,7 @@
int truncatedIntegral = (int) Math.floor(triggerIntegral / truncateScale) * truncateScale; if (truncatedIntegral > 0) {
- return new HPSRawCalorimeterHit(truncatedIntegral, hit.getPosition(), hit.getTime(), id, 0);
+ return new HPSRawCalorimeterHit(truncatedIntegral, hit.getTime(), id, 0);
} return null; }
@@ -160,7 +160,7 @@
//// double integral = readoutIntegral * HPSEcalConditions.physicalToGain(id); // System.out.format("dumb: %f, full: %f\n",hit.getRawEnergy() * 1000.0,readoutIntegral * HPSEcalConditions.physicalToGain(id));
- CalorimeterHit h = new HPSRawCalorimeterHit(integral, hit.getPosition(), hit.getTime(), id, 0);
+ CalorimeterHit h = new HPSRawCalorimeterHit(integral, hit.getTime(), id, 0);
return h; }
diff -u -r1.4 -r1.5 --- HPSEcalDiscriminatorReadoutDriver.java 4 Nov 2011 00:51:19 -0000 1.4 +++ HPSEcalDiscriminatorReadoutDriver.java 27 Aug 2012 21:53:47 -0000 1.5 @@ -5,7 +5,6 @@
import java.util.Map; import org.lcsim.event.CalorimeterHit;
-import org.lcsim.geometry.IDDecoder;
import org.lcsim.hps.util.ClockSingleton; import org.lcsim.hps.util.RingBuffer;
@@ -14,7 +13,7 @@
* Simulates time evolution of preamp output pulse and leading-edge discriminator. * * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSEcalDiscriminatorReadoutDriver.java,v 1.4 2011/11/04 00:51:19 meeg Exp $
+ * @version $Id: HPSEcalDiscriminatorReadoutDriver.java,v 1.5 2012/08/27 21:53:47 meeg Exp $
*/ public class HPSEcalDiscriminatorReadoutDriver extends HPSEcalReadoutDriver<HPSRawCalorimeterHit> {
@@ -54,21 +53,18 @@
} protected void readHits(List<HPSRawCalorimeterHit> hits) {
- IDDecoder dec = ecal.getIDDecoder();
for (Long cellID : edgeTimeMap.keySet()) { //if there's an output pulse, make a hit if (ClockSingleton.getTime() - edgeTimeMap.get(cellID) < outputWidth) {
- dec.setID(cellID); - hits.add(new HPSRawCalorimeterHit(outputEnergy, dec.getPosition(), readoutTime(), cellID, hitType));
+ hits.add(new HPSRawCalorimeterHit(outputEnergy, readoutTime(), cellID, hitType));
} } }
+ @Override
protected void putHits(List<CalorimeterHit> hits) { //fill the readout buffers for (CalorimeterHit hit : hits) {
- IDDecoder dec = ecal.getIDDecoder(); - dec.setID(hit.getCellID());
// int ix = dec.getValue("ix"); // int iy = dec.getValue("iy"); // //temporary hack to disable crystals and flip X coordinate
@@ -97,6 +93,7 @@
} }
+ @Override
protected void initReadout() { //initialize buffers eDepMap = new HashMap<Long, RingBuffer>();
@@ -118,4 +115,4 @@
return 0.0; } }
-}
\ No newline at end of file
+}
diff -u -r1.3 -r1.4 --- HPSEcalConverterDriver.java 2 Aug 2012 20:32:15 -0000 1.3 +++ HPSEcalConverterDriver.java 27 Aug 2012 21:53:47 -0000 1.4 @@ -1,29 +1,21 @@
-/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */
package org.lcsim.hps.recon.ecal; import java.util.ArrayList; import java.util.List; import org.lcsim.event.CalorimeterHit; import org.lcsim.event.EventHeader;
-import org.lcsim.geometry.Detector; -import org.lcsim.geometry.Subdetector;
import org.lcsim.util.Driver; import org.lcsim.util.lcio.LCIOConstants; /** * * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSEcalConverterDriver.java,v 1.3 2012/08/02 20:32:15 meeg Exp $
+ * @version $Id: HPSEcalConverterDriver.java,v 1.4 2012/08/27 21:53:47 meeg Exp $
*/ public class HPSEcalConverterDriver extends Driver { HPSEcalConverter converter = null;
- Subdetector ecal;
String rawCollectionName;
- String ecalName;
String ecalReadoutName = "EcalHits"; String ecalCollectionName = "EcalCorrectedHits"; int flags;
@@ -32,7 +24,7 @@
flags = 0; flags += 1 << LCIOConstants.CHBIT_LONG; //store position flags += 1 << LCIOConstants.RCHBIT_ID1; //store cell ID
- converter = new HPSEcalConverter(null);
+ converter = new HPSEcalConverter();
} public void setPedestal(double pedestal) {
@@ -47,10 +39,6 @@
this.ecalCollectionName = ecalCollectionName; }
- public void setEcalName(String ecalName) { - this.ecalName = ecalName; - } -
public void setRawCollectionName(String rawCollectionName) { this.rawCollectionName = rawCollectionName; }
@@ -60,17 +48,6 @@
if (ecalCollectionName == null) { throw new RuntimeException("The parameter ecalCollectionName was not set!"); }
- - if (ecalName == null) { - throw new RuntimeException("The parameter ecalName was not set!"); - } - } - - @Override - public void detectorChanged(Detector detector) { - // Get the Subdetector. - ecal = (Subdetector) detector.getSubdetector(ecalName); - converter.setIDDecoder(ecal.getIDDecoder());
} @Override
diff -u -r1.6 -r1.7 --- HPSEcalCTPClusterer.java 2 Aug 2012 20:32:15 -0000 1.6 +++ HPSEcalCTPClusterer.java 27 Aug 2012 21:53:47 -0000 1.7 @@ -29,7 +29,7 @@
* @author Jeremy McCormick <[log in to unmask]> * @author Tim Nelson <[log in to unmask]> * @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSEcalCTPClusterer.java,v 1.6 2012/08/02 20:32:15 meeg Exp $
+ * @version $Id: HPSEcalCTPClusterer.java,v 1.7 2012/08/27 21:53:47 meeg Exp $
*/ public class HPSEcalCTPClusterer extends Driver {
@@ -69,6 +69,7 @@
this.ecalName = ecalName; }
+ @Override
public void startOfData() { if (ecalCollectionName == null) { throw new RuntimeException("The parameter ecalCollectionName was not set!");
@@ -79,6 +80,7 @@
} }
+ @Override
public void detectorChanged(Detector detector) { // Get the Subdetector. ecal = (HPSEcal3) detector.getSubdetector(ecalName);
@@ -118,6 +120,7 @@
//System.out.println(neighborMap.toString()); }
+ @Override
public void process(EventHeader event) { //System.out.println(this.getClass().getCanonicalName() + " - process");
@@ -277,7 +280,7 @@
} } }
- CalorimeterHit seedHit = new HPSRawCalorimeterHit(0.0, null, clusterTime, possibleCluster, hits.get(0).getType());
+ CalorimeterHit seedHit = new HPSRawCalorimeterHit(0.0, clusterTime, possibleCluster, hits.get(0).getType());
seedHit.setMetaData(hits.get(0).getMetaData()); HPSEcalCluster cluster = new HPSEcalCluster(seedHit); for (CalorimeterHit clusterHit : hits) {
@@ -291,6 +294,7 @@
static class TimeComparator implements Comparator<CalorimeterHit> {
+ @Override
public int compare(CalorimeterHit o1, CalorimeterHit o2) { if (o1.getTime() == o2.getTime()) { return 0;
diff -u -r1.5 -r1.6 --- EcalWindowPlots.java 12 May 2012 23:09:05 -0000 1.5 +++ EcalWindowPlots.java 27 Aug 2012 21:53:47 -0000 1.6 @@ -13,7 +13,6 @@
import org.lcsim.event.EventHeader; import org.lcsim.event.RawTrackerHit; import org.lcsim.geometry.Detector;
-import org.lcsim.geometry.compact.Subdetector;
import org.lcsim.hps.monitoring.AIDAFrame; import org.lcsim.hps.recon.ecal.HPSEcalConditions; import org.lcsim.util.Driver;
@@ -21,14 +20,13 @@
public class EcalWindowPlots extends Driver implements ActionListener {
- private String subdetectorName; - private String inputCollection;
+ private String inputCollection = "EcalReadoutHits";
private IPlotter plotter; private AIDAFrame plotterFrame; private AIDA aida; private Detector detector; private IHistogram1D windowPlot;
- private int window = 10;
+ private int window = 100;
private JLabel crateLabel, slotLabel, channelLabel; private JComboBox crateCombo; private JComboBox slotCombo;
@@ -62,10 +60,6 @@
} }
- public void setSubdetectorName(String subdetectorName) { - this.subdetectorName = subdetectorName; - } -
public void setInputCollection(String inputCollection) { this.inputCollection = inputCollection; }
@@ -74,20 +68,15 @@
this.window = window; }
+ @Override
public void detectorChanged(Detector detector) { this.detector = detector;
- if (subdetectorName == null) { - throw new RuntimeException("The subdetectorName parameter was not set."); - } -
if (inputCollection == null) { throw new RuntimeException("The inputCollection parameter was not set."); }
- Subdetector subdetector = detector.getSubdetector(subdetectorName); -
setupPlots(); }
@@ -129,12 +118,14 @@
plotterFrame.pack(); }
+ @Override
public void endOfData() { if (plotterFrame != null) { plotterFrame.dispose(); } }
+ @Override
public void process(EventHeader event) { if (event.hasCollection(RawTrackerHit.class, inputCollection)) { List<RawTrackerHit> hits = event.get(RawTrackerHit.class, inputCollection);
diff -u -r1.9 -r1.10 --- EcalPedestalPlots.java 17 May 2012 18:24:11 -0000 1.9 +++ EcalPedestalPlots.java 27 Aug 2012 21:53:47 -0000 1.10 @@ -24,7 +24,7 @@
public class EcalPedestalPlots extends Driver implements Resettable, ActionListener, Redrawable {
- private String inputCollection;
+ private String inputCollection = "EcalReadoutHits";
private IPlotter plotter; private IPlotter plotter2; private AIDA aida = AIDA.defaultInstance();
Use REPLY-ALL to reply to list
To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1