3 modified files
hps-java/src/main/java/org/lcsim/hps/recon/tracking
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.");
- }
- }
- }
}
}
hps-java/src/main/java/org/lcsim/hps/recon/tracking
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;
}
-
}
hps-java/src/main/java/org/lcsim/hps/recon/tracking
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)));
}
}
}
CVSspam 0.2.12