Author: [log in to unmask]
Date: Mon Feb 15 09:31:03 2016
New Revision: 4224
Log: (empty)
Modified:
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtClusterPlots.java
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtClusterPlots.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtClusterPlots.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtClusterPlots.java Mon Feb 15 09:31:03 2016
@@ -56,11 +56,15 @@
private static Map<String, IHistogram1D> singleHitClusterChargePlots = new HashMap<String, IHistogram1D>();
private static Map<String, IHistogram1D> clusterTimePlots = new HashMap<String, IHistogram1D>();
private static Map<String, IHistogram2D> hitTimeTrigTimePlots = new HashMap<String, IHistogram2D>();
- private static IHistogram1D[] hitTimeTrigTimePlots1D = new IHistogram1D[6];
+ private static IHistogram1D[][] hitTimeTrigTimePlots1D = new IHistogram1D[6][2];
+ private static IHistogram2D[][] hitTimeTrigTimePlots2D = new IHistogram2D[6][2];
+
+ private static final int TOP = 0;
+ private static final int BOTTOM = 1;
private List<HpsSiSensor> sensors;
- private Map<RawTrackerHit, FittedRawTrackerHit> fittedRawTrackerHitMap
- = new HashMap<RawTrackerHit, FittedRawTrackerHit>();
+// private Map<RawTrackerHit, FittedRawTrackerHit> fittedRawTrackerHitMap
+// = new HashMap<RawTrackerHit, FittedRawTrackerHit>();
// Detector name
private static final String SUBDETECTOR_NAME = "Tracker";
@@ -85,20 +89,17 @@
} else {
return 6 * (sensor.getLayerNumber() - 1) + 1;
}
- } else {
-
- if (sensor.isTopLayer()) {
- if (sensor.getSide() == HpsSiSensor.POSITRON_SIDE) {
- return 6 * (sensor.getLayerNumber() - 7) + 2;
- } else {
- return 6 * (sensor.getLayerNumber() - 7) + 3;
- }
- } else if (sensor.isBottomLayer()) {
- if (sensor.getSide() == HpsSiSensor.POSITRON_SIDE) {
- return 6 * (sensor.getLayerNumber() - 7) + 4;
- } else {
- return 6 * (sensor.getLayerNumber() - 7) + 5;
- }
+ } else if (sensor.isTopLayer()) {
+ if (sensor.getSide() == HpsSiSensor.POSITRON_SIDE) {
+ return 6 * (sensor.getLayerNumber() - 7) + 2;
+ } else {
+ return 6 * (sensor.getLayerNumber() - 7) + 3;
+ }
+ } else if (sensor.isBottomLayer()) {
+ if (sensor.getSide() == HpsSiSensor.POSITRON_SIDE) {
+ return 6 * (sensor.getLayerNumber() - 7) + 4;
+ } else {
+ return 6 * (sensor.getLayerNumber() - 7) + 5;
}
}
return -1;
@@ -159,8 +160,7 @@
private void resetPlots() {
// Clear the fitted raw hit map of old values
- fittedRawTrackerHitMap.clear();
-
+// fittedRawTrackerHitMap.clear();
// Since all plots are mapped to the name of a sensor, loop
// through the sensors, get the corresponding plots and clear them.
for (HpsSiSensor sensor : sensors) {
@@ -172,34 +172,40 @@
for (IHistogram2D histogram : hitTimeTrigTimePlots.values()) {
histogram.reset();
}
- }
-
- /**
- * Method that creates a map between a fitted raw hit and it's corresponding
- * raw fit
- *
- * @param fittedHits : List of fitted hits to map
- */
- private void mapFittedRawHits(List<FittedRawTrackerHit> fittedHits) {
-
- // Clear the fitted raw hit map of old values
- fittedRawTrackerHitMap.clear();
-
- // Loop through all fitted hits and map them to their corresponding raw hits
- for (FittedRawTrackerHit fittedHit : fittedHits) {
- fittedRawTrackerHitMap.put(fittedHit.getRawTrackerHit(), fittedHit);
- }
- }
-
- /**
- *
- * @param rawHit
- * @return
- */
- private FittedRawTrackerHit getFittedHit(RawTrackerHit rawHit) {
- return fittedRawTrackerHitMap.get(rawHit);
- }
-
+
+ for (int i = 0; i < 6; i++) {
+ for (int j = 0; j < 2; j++) {
+ hitTimeTrigTimePlots1D[i][j].reset();
+ hitTimeTrigTimePlots2D[i][j].reset();
+ }
+ }
+ }
+
+// /**
+// * Method that creates a map between a fitted raw hit and it's corresponding
+// * raw fit
+// *
+// * @param fittedHits : List of fitted hits to map
+// */
+// private void mapFittedRawHits(List<FittedRawTrackerHit> fittedHits) {
+//
+// // Clear the fitted raw hit map of old values
+// fittedRawTrackerHitMap.clear();
+//
+// // Loop through all fitted hits and map them to their corresponding raw hits
+// for (FittedRawTrackerHit fittedHit : fittedHits) {
+// fittedRawTrackerHitMap.put(fittedHit.getRawTrackerHit(), fittedHit);
+// }
+// }
+//
+// /**
+// *
+// * @param rawHit
+// * @return
+// */
+// private FittedRawTrackerHit getFittedHit(RawTrackerHit rawHit) {
+// return fittedRawTrackerHitMap.get(rawHit);
+// }
protected void detectorChanged(Detector detector) {
// Get the HpsSiSensor objects from the geometry
@@ -237,7 +243,7 @@
.plot(singleHitClusterChargePlots.get(sensor.getName()), this.createStyle(null, "Cluster Amplitude [ADC Counts]", ""));
clusterTimePlots.put(sensor.getName(),
- histogramFactory.createHistogram1D(sensor.getName() + " - Cluster Time", 100, -50, 50));
+ histogramFactory.createHistogram1D(sensor.getName() + " - Cluster Time", 100, -75, 50));
plotters.get("Cluster Time").region(this.computePlotterRegion(sensor))
.plot(clusterTimePlots.get(sensor.getName()), this.createStyle(null, "Cluster Time [ns]", ""));
}
@@ -246,18 +252,25 @@
plotters.get("SVT-trigger timing top-bottom").createRegions(1, 2);
hitTimeTrigTimePlots.put("Top",
- histogramFactory.createHistogram2D("Top Cluster Time vs. Trigger Phase", 100, -50, 50, 6, 0, 24));
+ histogramFactory.createHistogram2D("Top Cluster Time vs. Trigger Phase", 100, -75, 50, 6, 0, 24));
plotters.get("SVT-trigger timing top-bottom").region(0).plot(hitTimeTrigTimePlots.get("Top"), this.createStyle(null, "Cluster Time [ns]", "Trigger Phase[ns]"));
hitTimeTrigTimePlots.put("Bottom",
- histogramFactory.createHistogram2D("Bottom Cluster Time vs. Trigger Phase", 100, -50, 50, 6, 0, 24));
+ histogramFactory.createHistogram2D("Bottom Cluster Time vs. Trigger Phase", 100, -75, 50, 6, 0, 24));
plotters.get("SVT-trigger timing top-bottom").region(1).plot(hitTimeTrigTimePlots.get("Bottom"), this.createStyle(null, "Cluster Time [ns]", "Trigger Phase[ns]"));
plotters.put("SVT-trigger timing by phase", plotterFactory.create("SVT-trigger timing by phase"));
- plotters.get("SVT-trigger timing by phase").createRegions(1, 6);
+ plotters.get("SVT-trigger timing by phase").createRegions(2, 6);
+
+ plotters.put("SVT-trigger timing and amplitude by phase", plotterFactory.create("SVT-trigger timing and amplitude by phase"));
+ plotters.get("SVT-trigger timing and amplitude by phase").createRegions(2, 6);
for (int i = 0; i < 6; i++) {
- hitTimeTrigTimePlots1D[i] = histogramFactory.createHistogram1D("Cluster Time for Phase " + i, 100, -50, 50);
- plotters.get("SVT-trigger timing by phase").region(i).plot(hitTimeTrigTimePlots1D[i], this.createStyle(null, "Cluster Time [ns]", ""));
+ for (int j = 0; j < 2; j++) {
+ hitTimeTrigTimePlots1D[i][j] = histogramFactory.createHistogram1D(String.format("Cluster Time for Phase %d, %s", i, j == TOP ? "Top" : "Bottom"), 100, -75, 50);
+ plotters.get("SVT-trigger timing by phase").region(i + 6 * j).plot(hitTimeTrigTimePlots1D[i][j], this.createStyle(null, "Cluster Time [ns]", ""));
+ hitTimeTrigTimePlots2D[i][j] = histogramFactory.createHistogram2D(String.format("Cluster Amplitude vs. Time for Phase %d, %s", i, j == TOP ? "Top" : "Bottom"), 100, -75, 50, 100, 0, 5000.0);
+ plotters.get("SVT-trigger timing and amplitude by phase").region(i + 6 * j).plot(hitTimeTrigTimePlots2D[i][j], this.createStyle(null, "Cluster Time [ns]", "Cluster Amplitude [ADC Counts]"));
+ }
}
for (IPlotter plotter : plotters.values()) {
@@ -278,17 +291,15 @@
runNumber = event.getRunNumber();
}
- // If the event doesn't contain fitted raw hits, skip it
- if (!event.hasCollection(FittedRawTrackerHit.class, fittedHitsCollectionName)) {
- return;
- }
-
- // Get the list of fitted hits from the event
- List<FittedRawTrackerHit> fittedHits = event.get(FittedRawTrackerHit.class, fittedHitsCollectionName);
-
- // Map the fitted hits to their corresponding raw hits
- this.mapFittedRawHits(fittedHits);
-
+// // If the event doesn't contain fitted raw hits, skip it
+// if (!event.hasCollection(FittedRawTrackerHit.class, fittedHitsCollectionName)) {
+// return;
+// }
+// Get the list of fitted hits from the event
+// List<FittedRawTrackerHit> fittedHits = event.get(FittedRawTrackerHit.class, fittedHitsCollectionName);
+//
+// // Map the fitted hits to their corresponding raw hits
+// this.mapFittedRawHits(fittedHits);
// If the event doesn't contain any clusters, skip it
if (!event.hasCollection(SiTrackerHitStrip1D.class, clusterCollectionName)) {
return;
@@ -319,10 +330,13 @@
}
clusterTimePlots.get(sensor.getName()).fill(cluster.getTime());
- hitTimeTrigTimePlots1D[(int) ((event.getTimeStamp() / 4) % 6)].fill(cluster.getTime());
if (sensor.isTopLayer()) {
+ hitTimeTrigTimePlots1D[(int) ((event.getTimeStamp() / 4) % 6)][TOP].fill(cluster.getTime());
+ hitTimeTrigTimePlots2D[(int) ((event.getTimeStamp() / 4) % 6)][TOP].fill(cluster.getTime(), cluster.getdEdx() / DopedSilicon.ENERGY_EHPAIR);
hitTimeTrigTimePlots.get("Top").fill(cluster.getTime(), event.getTimeStamp() % 24);
} else {
+ hitTimeTrigTimePlots1D[(int) ((event.getTimeStamp() / 4) % 6)][BOTTOM].fill(cluster.getTime());
+ hitTimeTrigTimePlots2D[(int) ((event.getTimeStamp() / 4) % 6)][BOTTOM].fill(cluster.getTime(), cluster.getdEdx() / DopedSilicon.ENERGY_EHPAIR);
hitTimeTrigTimePlots.get("Bottom").fill(cluster.getTime(), event.getTimeStamp() % 24);
}
}
|