Commit in hps-java/src/main/java/org/lcsim/hps/recon/tracking on MAIN | |||
SVTBadChannelFilterDriver.java | +8 | -21 | 1.1 -> 1.2 |
HPSStripMaker.java | +11 | -13 | 1.4 -> 1.5 |
SimpleSvtReadout.java | +2 | -2 | 1.3 -> 1.4 |
+21 | -36 |
tweaks to SVT classes
diff -u -r1.1 -r1.2 --- SVTBadChannelFilterDriver.java 24 Aug 2012 01:02:26 -0000 1.1 +++ SVTBadChannelFilterDriver.java 29 Aug 2012 21:02:46 -0000 1.2 @@ -1,8 +1,10 @@
package org.lcsim.hps.recon.tracking; import java.util.Iterator;
+import java.util.List;
import org.lcsim.detector.tracker.silicon.SiSensor; import org.lcsim.event.EventHeader;
+import org.lcsim.event.EventHeader.LCMetaData;
import org.lcsim.event.RawTrackerHit; import org.lcsim.event.SimTrackerHit; import org.lcsim.util.Driver;
@@ -10,22 +12,25 @@
/** * * @author Sho Uemura <[log in to unmask]>
- * @version $Id: SVTBadChannelFilterDriver.java,v 1.1 2012/08/24 01:02:26 meeg Exp $
+ * @version $Id: SVTBadChannelFilterDriver.java,v 1.2 2012/08/29 21:02:46 meeg Exp $
*/ public class SVTBadChannelFilterDriver extends Driver { private String rawTrackerHitCollection = "SVTRawTrackerHits";
- private String simTrackerHitCollection = "TrackerHits";
@Override public void process(EventHeader event) { if (event.hasCollection(RawTrackerHit.class, rawTrackerHitCollection)) {
- Iterator<RawTrackerHit> i = event.get(RawTrackerHit.class, rawTrackerHitCollection).iterator();
+ List<RawTrackerHit> hits = event.get(RawTrackerHit.class, rawTrackerHitCollection); + LCMetaData meta = event.getMetaData(hits); + Iterator<RawTrackerHit> i = hits.iterator();
while (i.hasNext()) { RawTrackerHit hit = i.next();
+ hit.setMetaData(meta);
int strip = hit.getIdentifierFieldValue("strip"); SiSensor sensor = (SiSensor) hit.getDetectorElement();
+// System.out.format("module %d, layer %d, strip %d\n", hit.getIdentifierFieldValue("module"), hit.getIdentifierFieldValue("layer"), hit.getIdentifierFieldValue("strip"));
if (HPSSVTCalibrationConstants.isBadChannel(sensor, strip)) { i.remove(); }
@@ -35,23 +40,5 @@
} } }
- - if (event.hasCollection(SimTrackerHit.class, simTrackerHitCollection)) { - Iterator<SimTrackerHit> i = event.get(SimTrackerHit.class, simTrackerHitCollection).iterator(); - while (i.hasNext()) { - SimTrackerHit hit = i.next(); - int strip = hit.getIdentifierFieldValue("strip"); - SiSensor sensor = (SiSensor) hit.getDetectorElement(); - - if (HPSSVTCalibrationConstants.isBadChannel(sensor, strip)) { - i.remove(); - } - -// sensor.getReadout().getHits(SimTrackerHit.class).remove(hit); - if (!sensor.getReadout().getHits(SimTrackerHit.class).isEmpty()) { - throw new RuntimeException(this.getClass().getSimpleName() + " must be run before any SVT readout drivers."); - } - } - }
} }
diff -u -r1.4 -r1.5 --- HPSStripMaker.java 25 Apr 2012 18:01:32 -0000 1.4 +++ HPSStripMaker.java 29 Aug 2012 21:02:46 -0000 1.5 @@ -42,15 +42,14 @@
double _fourClusterErr = 1 / 2; double _fiveClusterErr = 1;
- public HPSStripMaker(HPSClusteringAlgorithm algo){ - _clustering=algo;
+ public HPSStripMaker(HPSClusteringAlgorithm algo) { + _clustering = algo;
}
-
+
public String getName() { return _NAME; }
- -
+
// Make hits for all sensors within a DetectorElement public List<SiTrackerHit> makeHits(IDetectorElement detector) { System.out.println("makeHits(IDetectorElement): " + detector.getName());
@@ -82,7 +81,7 @@
// Get hits for this sensor IReadout ro = sensor.getReadout(); List<HPSFittedRawTrackerHit> hps_hits = ro.getHits(HPSFittedRawTrackerHit.class);
-
+
Map<SiSensorElectrodes, List<HPSFittedRawTrackerHit>> electrode_hits = new HashMap<SiSensorElectrodes, List<HPSFittedRawTrackerHit>>(); for (HPSFittedRawTrackerHit hps_hit : hps_hits) {
@@ -113,9 +112,9 @@
return hits; }
- public List<SiTrackerHit> makeHits(SiSensor sensor, SiSensorElectrodes electrodes,List<HPSFittedRawTrackerHit> hps_hits) {
+ public List<SiTrackerHit> makeHits(SiSensor sensor, SiSensorElectrodes electrodes, List<HPSFittedRawTrackerHit> hps_hits) {
+
-
// Call the clustering algorithm to make clusters List<List<HPSFittedRawTrackerHit>> cluster_list = _clustering.findClusters(hps_hits);
@@ -132,6 +131,7 @@
// Add to readout and to list of hits // ((SiSensor) electrodes.getDetectorElement()).getReadout().addHit(hit); hits.add(hit);
+ sensor.getReadout().addHit(hit);
} }
@@ -158,7 +158,6 @@
_fiveClusterErr = err; }
-
public void setCentralStripAveragingThreshold(int max_noaverage_nstrips) { _max_noaverage_nstrips = max_noaverage_nstrips; }
@@ -166,8 +165,8 @@
public void setMaxClusterSize(int max_cluster_nstrips) { _max_cluster_nstrips = max_cluster_nstrips; }
- - private SiTrackerHitStrip1D makeTrackerHit(List<HPSFittedRawTrackerHit> cluster, SiSensorElectrodes electrodes) {
+ + private SiTrackerHitStrip1D makeTrackerHit(List<HPSFittedRawTrackerHit> cluster, SiSensorElectrodes electrodes) {
Hep3Vector position = getPosition(cluster, electrodes); SymmetricMatrix covariance = getCovariance(cluster, electrodes); double time = getTime(cluster);
@@ -175,7 +174,7 @@
TrackerHitType type = new TrackerHitType(TrackerHitType.CoordinateSystem.GLOBAL, TrackerHitType.MeasurementType.STRIP_1D); List<RawTrackerHit> rth_cluster = new ArrayList<RawTrackerHit>(); for (HPSFittedRawTrackerHit bth : cluster) {
- rth_cluster.add( bth.getRawTrackerHit());
+ rth_cluster.add(bth.getRawTrackerHit());
} SiTrackerHitStrip1D hit = new SiTrackerHitStrip1D(position, covariance, energy, time, rth_cluster, type); return hit;
@@ -314,5 +313,4 @@
} return total_charge * DopedSilicon.ENERGY_EHPAIR; }
-
}
diff -u -r1.3 -r1.4 --- SimpleSvtReadout.java 21 Aug 2012 01:06:51 -0000 1.3 +++ SimpleSvtReadout.java 29 Aug 2012 21:02:46 -0000 1.4 @@ -27,7 +27,7 @@
/** * * @author Omar Moreno <[log in to unmask]>
- * @version $Id: SimpleSvtReadout.java,v 1.3 2012/08/21 01:06:51 meeg Exp $
+ * @version $Id: SimpleSvtReadout.java,v 1.4 2012/08/29 21:02:46 meeg Exp $
*/ public class SimpleSvtReadout extends Driver {
@@ -121,7 +121,7 @@
double inputStageGain = 1.5; double amplitude = (charge / Apv25Constants.MIP) * resistorValue * inputStageGain * Math.pow(2, 14) / 2000; for (int i = 0; i < 20; i++) {
- pipelines[channel].addToCell(i, amplitude * pulseAmplitude((i + 1) * readoutPeriod + readoutTime() - ClockSingleton.getTime(), 50.0));
+ pipelines[channel].addToCell(i, amplitude * pulseAmplitude((i + 1) * readoutPeriod + readoutTime() - ClockSingleton.getTime(), HPSSVTCalibrationConstants.getTShaping(sensor, channel)));
} } }
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