java/branches/hps-java_HPSJAVA-88/tracking/src/main/java/org/hps/readout/svt
--- java/branches/hps-java_HPSJAVA-88/tracking/src/main/java/org/hps/readout/svt/SimpleSvtReadout.java 2014-09-18 23:25:07 UTC (rev 1053)
+++ java/branches/hps-java_HPSJAVA-88/tracking/src/main/java/org/hps/readout/svt/SimpleSvtReadout.java 2014-09-18 23:34:45 UTC (rev 1054)
@@ -38,7 +38,12 @@
* @author Sho Uemura <[log in to unmask]>
*/
public class SimpleSvtReadout extends TriggerableDriver {
-
+
+ //-----------------//
+ //--- Constants ---//
+ //-----------------//
+ private static final String SVT_SUBDETECTOR_NAME = "Tracker";
+
private SimTrackerHitReadoutDriver readoutDriver = new SimTrackerHitReadoutDriver();
private SiSensorSim siSimulation = new CDFSiSensorSim();
private Map<SiSensor, PriorityQueue<StripHit>[]> hitMap = new HashMap<SiSensor, PriorityQueue<StripHit>[]>();
@@ -109,7 +114,10 @@
public void detectorChanged(Detector detector) {
super.detectorChanged(detector);
- sensors = detector.getSubdetector("Tracker").getDetectorElement().findAncestors(SiSensor.class);
+ // Get the collection of all SiSensors from the SVT
+ sensors
+ = detector.getSubdetector(SVT_SUBDETECTOR_NAME).
+ getDetectorElement().findDescendants(SiSensor.class);
String[] readouts = { readout };
readoutDriver.setCollections(readouts);
@@ -149,7 +157,7 @@
for (int i = 0; i < hitQueues.length; i++) {
if (hitQueues[i] != null) {
while (!hitQueues[i].isEmpty() && hitQueues[i].peek().time < ClockSingleton.getTime() - (readoutLatency + pileupCutoff)) {
- // System.out.format("Time %f: Dump stale hit with time %f\n",ClockSingleton.getTime(),hitQueues[i].peek().time);
+ System.out.format("Time %f: Dump stale hit with time %f\n",ClockSingleton.getTime(),hitQueues[i].peek().time);
hitQueues[i].poll();
}
if (hitQueues[i].isEmpty()) {
@@ -189,9 +197,9 @@
long channel_id = sensor.makeChannelID(channel);
RawTrackerHit hit = new BaseRawTrackerHit(0, channel_id, samples, new ArrayList<SimTrackerHit>(stripHit.simHits), sensor);
- // System.out.println("Making RTH");
+ System.out.println("Making RTH");
if (readoutCuts(hit)) {
- // System.out.println("RTH passed cuts");
+ System.out.println("RTH passed cuts");
hits.add(hit);
}
}
@@ -199,7 +207,7 @@
int flags = 1 << LCIOConstants.TRAWBIT_ID1;
// flags += 1 << LCIOConstants.RTHBIT_HITS;
event.put(outputCollection, hits, RawTrackerHit.class, flags, readout);
- // System.out.println("Made " + hits.size() + " RawTrackerHits");
+ System.out.println("Made " + hits.size() + " RawTrackerHits");
}
}
@@ -275,15 +283,15 @@
private boolean readoutCuts(RawTrackerHit hit) {
if (enableThresholdCut && !samplesAboveThreshold(hit)) {
- // System.out.println("Failed threshold cut");
+ System.out.println("Failed threshold cut");
return false;
}
if (enablePileupCut && !pileupCut(hit)) {
- // System.out.println("Failed pileup cut");
+ System.out.println("Failed pileup cut");
return false;
}
if (dropBadChannels && !badChannelCut(hit)) {
- // System.out.println("Failed bad channel cut");
+ System.out.println("Failed bad channel cut");
return false;
}
return true;
@@ -310,7 +318,7 @@
for (int sampleN = 0; sampleN < samples.length; sampleN++) {
pedestal = sensor.getPedestal(channel, sampleN);
noise = sensor.getNoise(channel, sampleN);
- // System.out.format("%d, %d\n", samples[i] - pedestal, noise * 3.0);
+ //System.out.format("%d, %d\n", samples[sampleN] - pedestal, noise * 3.0);
if (samples[sampleN] - pedestal > noise * noiseThreshold) {
count++;
}
@@ -323,7 +331,7 @@
if (noPileup) {
return;
}
- // System.out.println("Got trigger");
+ System.out.println("Got trigger");
// Create a list to hold the analog data
List<RawTrackerHit> hits = new ArrayList<RawTrackerHit>();
@@ -358,12 +366,12 @@
totalContrib += signalAtTime;
signal[sampleN] += signalAtTime;
meanNoise += ((HpsSiSensor) sensor).getNoise(channel, sampleN);
- // System.out.format("new value of signal[%d] = %f\n", i, signal[i]);
+ System.out.format("new value of signal[%d] = %f\n", sampleN, signal[sampleN]);
}
meanNoise /= 6;
// Compare to the mean noise of the six samples instead
if(totalContrib > 4.0*meanNoise){
- // System.out.format("adding %d simHits\n", hit.simHits.size());
+ System.out.format("adding %d simHits\n", hit.simHits.size());
simHits.addAll(hit.simHits);
}
}
@@ -377,7 +385,7 @@
RawTrackerHit hit = new BaseRawTrackerHit(0, channel_id, samples, simHits, sensor);
if (readoutCuts(hit)) {
hits.add(hit);
- // System.out.format("simHits: %d\n", simHits.size());
+ System.out.format("simHits: %d\n", simHits.size());
for (SimTrackerHit simHit : hit.getSimTrackerHits()) {
LCRelation hitRelation = new BaseLCRelation(hit, simHit);
trueHitRelations.add(hitRelation);