hps-java/src/main/java/org/lcsim/hps/users/meeg
diff -u -r1.1 -r1.2
--- SimpleTrackerDigiDriver.java 29 Aug 2012 21:01:36 -0000 1.1
+++ SimpleTrackerDigiDriver.java 31 Aug 2012 01:27:14 -0000 1.2
@@ -32,7 +32,7 @@
* algorithm like Seed Tracker.
*
* @author jeremym
- * @version $Id: SimpleTrackerDigiDriver.java,v 1.1 2012/08/29 21:01:36 meeg Exp $
+ * @version $Id: SimpleTrackerDigiDriver.java,v 1.2 2012/08/31 01:27:14 meeg Exp $
*/
public class SimpleTrackerDigiDriver extends Driver {
// Debug switch for development.
@@ -47,7 +47,7 @@
// Name of StripHit1D output collection.
private String stripHitOutputCollectionName = "StripClusterer_SiTrackerHitStrip1D";
// Readout parameters.
- private boolean dropBadChannels = true;
+ private boolean dropBadChannels = false;
private double readoutNoiseIntercept = 270.0;
private double readoutNoiseSlope = 36.0;
private int readoutNBits = 10;
hps-java/src/main/java/org/lcsim/hps/users/mgraham
diff -u -r1.5 -r1.6
--- DataTrackerHitDriver.java 30 Jul 2012 22:27:09 -0000 1.5
+++ DataTrackerHitDriver.java 31 Aug 2012 01:27:14 -0000 1.6
@@ -1,4 +1,3 @@
-
package org.lcsim.hps.users.mgraham;
import java.util.ArrayList;
@@ -19,29 +18,24 @@
*
* @author mgraham
*/
-public class DataTrackerHitDriver extends Driver{
- // Debug switch for development.
- private boolean debug = false;
+public class DataTrackerHitDriver extends Driver {
+ // Debug switch for development.
+ private boolean debug = false;
// Collection name.
// private String readoutCollectionName = "TrackerHits";
-
// Subdetector name.
private String subdetectorName = "Tracker";
-
// Name of RawTrackerHit output collection.
// private String rawTrackerHitOutputCollectionName = "RawTrackerHitMaker_RawTrackerHits";
-
// Name of StripHit1D output collection.
private String stripHitOutputCollectionName = "StripClusterer_SiTrackerHitStrip1D";
-
// Clustering parameters.
private double clusterSeedThreshold = 4.0;
private double clusterNeighborThreshold = 3.0;
private double clusterThreshold = 4.0;
private int clusterMaxSize = 10;
private int clusterCentralStripAveragingThreshold = 4;
-
// Clustering errors by number of TrackerHits.
private static final double clusterErrorMultiplier = 1.0;
private double oneClusterErr = clusterErrorMultiplier / Math.sqrt(12.);
@@ -49,27 +43,25 @@
private double threeClusterErr = clusterErrorMultiplier / 3.0;
private double fourClusterErr = clusterErrorMultiplier / 2.0;
private double fiveClusterErr = clusterErrorMultiplier / 1.0;
-
// Various data lists required by digitization.
private List<String> processPaths = new ArrayList<String>();
private List<IDetectorElement> processDEs = new ArrayList<IDetectorElement>();
private Set<SiSensor> processSensors = new HashSet<SiSensor>();
private Set<SiTrackerModule> processModules = new HashSet<SiTrackerModule>();
-
// Digi class objects.
// private SiDigitizer stripDigitizer;
// private HPSFittedRawTrackerHitMaker hitMaker;
private HPSStripMaker stripClusterer;
- // private DumbShaperFit shaperFit;
+ // private DumbShaperFit shaperFit;
+ int[][] counts = new int[2][10];
public void setDebug(boolean debug) {
- this.debug = true;
+ this.debug = debug;
}
// public void setReadoutCollectionName(String readoutCollectionName) {
// this.readoutCollectionName = readoutCollectionName;
// }
-
public void setSubdetectorName(String subdetectorName) {
this.subdetectorName = subdetectorName;
}
@@ -78,7 +70,6 @@
this.stripHitOutputCollectionName = stripHitOutputCollectionName;
}
-
public void setClusterSeedThreshold(double clusterSeedThreshold) {
this.clusterSeedThreshold = clusterSeedThreshold;
}
@@ -128,6 +119,7 @@
/**
* Do initialization once we get a Detector.
*/
+ @Override
public void detectorChanged(Detector detector) {
// Call sub-Driver's detectorChanged methods.
@@ -141,7 +133,7 @@
processDEs.add(deDetector.findDetectorElement(path));
}
- if (processDEs.size() == 0) {
+ if (processDEs.isEmpty()) {
processDEs.add(deDetector);
}
@@ -153,8 +145,8 @@
//if (debug)
// System.out.println("added " + processModules.size() + " modules");
}
-
-
+
+
// Create Strip clustering algorithm.
HPSNearestNeighborRMS stripClusteringAlgo = new HPSNearestNeighborRMS();
stripClusteringAlgo.setSeedThreshold(clusterSeedThreshold);
@@ -163,8 +155,8 @@
// hitMaker=new HPSFittedRawTrackerHitMaker(shaperFit);
// Create the clusterers and set hit-making parameters.
- stripClusterer = new HPSStripMaker( stripClusteringAlgo);
-
+ stripClusterer = new HPSStripMaker(stripClusteringAlgo);
+
stripClusterer.setMaxClusterSize(clusterMaxSize);
stripClusterer.setCentralStripAveragingThreshold(clusterCentralStripAveragingThreshold);
@@ -182,6 +174,7 @@
/**
* Perform the digitization.
*/
+ @Override
public void process(EventHeader event) {
// Call sub-Driver processing.
// super.process(event);
@@ -189,14 +182,14 @@
// Make new lists for output.
// List<HPSFittedRawTrackerHit> rawHits = new ArrayList<HPSFittedRawTrackerHit>();
List<SiTrackerHit> stripHits1D = new ArrayList<SiTrackerHit>();
-
+
// // Make HPS hits.
// for (SiSensor sensor : processSensors) {
// rawHits.addAll(hitMaker.makeHits(sensor));
// }
// Make strip hits.
- for (SiSensor sensor : processSensors) {
+ for (SiSensor sensor : processSensors) {
stripHits1D.addAll(stripClusterer.makeHits(sensor));
}
@@ -212,5 +205,23 @@
int flag = LCIOUtil.bitSet(0, 31, true); // Turn on 64-bit cell ID.
// event.put(this.rawTrackerHitOutputCollectionName, rawHits, RawTrackerHit.class, flag, toString());
event.put(this.stripHitOutputCollectionName, stripHits1D, SiTrackerHitStrip1D.class, 0, toString());
+ if (debug) {
+ for (int mod = 0; mod < 2; mod++) {
+ for (int layer = 0; layer < 10; layer++) {
+ counts[mod][layer] += SvtUtils.getInstance().getSensor(mod, layer).getReadout().getHits(SiTrackerHit.class).size();
+ }
+ }
+ }
+ }
+
+ @Override
+ public void endOfData() {
+ if (debug) {
+ for (int mod = 0; mod < 2; mod++) {
+ for (int layer = 0; layer < 10; layer++) {
+ System.out.format("mod %d, layer %d, count %d\n", mod, layer, counts[mod][layer]);
+ }
+ }
+ }
}
}