Author: [log in to unmask]
Date: Sun May 10 21:18:21 2015
New Revision: 2937
Log:
pull more stuff into SvtPlotUtils, instantiate plotters in the right place
Modified:
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/PedestalPlots.java
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SamplesPlots.java
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtPlotUtils.java
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/PedestalPlots.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/PedestalPlots.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/PedestalPlots.java Sun May 10 21:18:21 2015
@@ -10,7 +10,6 @@
import hep.aida.IHistogramFactory;
import hep.aida.IPlotter;
import hep.aida.IPlotterFactory;
-import hep.aida.IPlotterStyle;
import hep.aida.ITree;
import hep.aida.jfree.plotter.Plotter;
import hep.aida.jfree.plotter.PlotterRegion;
@@ -46,9 +45,6 @@
// Plotting
private static ITree tree = null;
- private IAnalysisFactory analysisFactory = AIDA.defaultInstance().analysisFactory();
- private IPlotterFactory plotterFactory = analysisFactory.createPlotterFactory("SVT Pedestals");
- private IHistogramFactory histogramFactory = null;
// Histogram maps
private static Map<String, IPlotter> plotters = new HashMap<String, IPlotter>();
@@ -82,6 +78,9 @@
@Override
protected void detectorChanged(Detector detector) {
+ IAnalysisFactory analysisFactory = AIDA.defaultInstance().analysisFactory();
+ IPlotterFactory plotterFactory = analysisFactory.createPlotterFactory("SVT Pedestals");
+ IHistogramFactory histogramFactory = null;
aida.tree().cd("/");
@@ -99,7 +98,7 @@
//===> for (SiSensor sensor : SvtUtils.getInstance().getSensors()) {
for (HpsSiSensor sensor : sensors) {
hists.put(sensor, aida.histogram2D(sensor.getName() + " sample 1 vs. ch", 640, -0.5, 639.5, 100, -500.0, 500.0));
- plotters.get("Pedestal vs. channel").region(SvtPlotUtils.computePlotterRegion(sensor)).plot(hists.get(sensor), this.createStyle(sensor, "Channel", "Sample 1"));
+ plotters.get("Pedestal vs. channel").region(SvtPlotUtils.computePlotterRegion(sensor)).plot(hists.get(sensor), SvtPlotUtils.createStyle(plotterFactory, sensor, "Channel", "Sample 1"));
if (plotTimeSeries) {
counts.put(sensor, new int[640]);
@@ -125,32 +124,16 @@
}
}
- IPlotterStyle createStyle(HpsSiSensor sensor, String xAxisTitle, String yAxisTitle) {
- IPlotterStyle style = SvtPlotUtils.createStyle(plotterFactory, xAxisTitle, yAxisTitle);
-
- if (sensor.isTopLayer()) {
- style.dataStyle().fillStyle().setColor("31, 137, 229, 1");
- style.dataStyle().outlineStyle().setColor("31, 137, 229, 1");
- } else {
- style.dataStyle().fillStyle().setColor("93, 228, 47, 1");
- style.dataStyle().outlineStyle().setColor("93, 228, 47, 1");
- }
-
- return style;
- }
-
@Override
public void process(EventHeader event) {
if (event.hasCollection(RawTrackerHit.class, rawTrackerHitCollectionName)) {
// Get RawTrackerHit collection from event.
List<RawTrackerHit> rawTrackerHits = event.get(RawTrackerHit.class, rawTrackerHitCollectionName);
eventCount++;
-
for (RawTrackerHit hit : rawTrackerHits) {
HpsSiSensor sensor = (HpsSiSensor) hit.getDetectorElement();
int strip = hit.getIdentifierFieldValue("strip");
double pedestal = sensor.getPedestal(strip, 0);
- //===> double pedestal = HPSSVTCalibrationConstants.getPedestal(sensor, strip);
hists.get(sensor).fill(strip, hit.getADCValues()[0] - pedestal);
if (plotTimeSeries) {
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SamplesPlots.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SamplesPlots.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SamplesPlots.java Sun May 10 21:18:21 2015
@@ -11,150 +11,151 @@
import hep.aida.IPlotterFactory;
import hep.aida.IPlotterStyle;
-import org.lcsim.util.Driver;
+import org.lcsim.util.Driver;
import org.lcsim.geometry.Detector;
import org.lcsim.detector.tracker.silicon.HpsSiSensor;
import org.lcsim.event.EventHeader;
import org.lcsim.event.RawTrackerHit;
-
+import org.lcsim.util.aida.AIDA;
/**
- * Monitoring driver that plots the raw hit samples for each of the hits
- * on a sensor.
- *
- * @author Omar Moreno <[log in to unmask]>
+ * Monitoring driver that plots the raw hit samples for each of the hits on a
+ * sensor.
+ *
+ * @author Omar Moreno <[log in to unmask]>
*/
public class SamplesPlots extends Driver {
// TODO: Add documentation
-
static {
hep.aida.jfree.AnalysisFactory.register();
- }
+ }
- static IHistogramFactory histogramFactory = IAnalysisFactory.create().createHistogramFactory(null);
- IPlotterFactory plotterFactory = IAnalysisFactory.create().createPlotterFactory();
+ protected Map<String, IPlotter> plotters = new HashMap<String, IPlotter>();
+ protected Map<HpsSiSensor, IHistogram2D> samplesPlots = new HashMap<HpsSiSensor, IHistogram2D>();
+ private List<HpsSiSensor> sensors;
- protected Map<String, IPlotter> plotters = new HashMap<String, IPlotter>();
- protected Map<HpsSiSensor, IHistogram2D> samplesPlots = new HashMap<HpsSiSensor, IHistogram2D>();
- private List<HpsSiSensor> sensors;
-
private static final String SUBDETECTOR_NAME = "Tracker";
private String rawTrackerHitCollectionName = "SVTRawTrackerHits";
-
+
private int computePlotterRegion(HpsSiSensor sensor) {
- if (sensor.getLayerNumber() < 7) {
- if (sensor.isTopLayer()) {
- return 2*(sensor.getLayerNumber() - 1);
- } else {
- return 2*(sensor.getLayerNumber() - 1) + 1;
- }
- } else {
-
- if (sensor.isTopLayer()) {
- if (sensor.getSide() == HpsSiSensor.POSITRON_SIDE) {
- return 4*(sensor.getLayerNumber() - 7);
- } else {
- return 4*(sensor.getLayerNumber() - 7) + 1;
- }
- } else if (sensor.isBottomLayer()) {
- if (sensor.getSide() == HpsSiSensor.POSITRON_SIDE) {
- return 4*(sensor.getLayerNumber() - 7) + 2;
- } else {
- return 4*(sensor.getLayerNumber() - 7) + 3;
- }
- }
- }
-
- return -1;
+ if (sensor.getLayerNumber() < 7) {
+ if (sensor.isTopLayer()) {
+ return 2 * (sensor.getLayerNumber() - 1);
+ } else {
+ return 2 * (sensor.getLayerNumber() - 1) + 1;
+ }
+ } else {
+
+ if (sensor.isTopLayer()) {
+ if (sensor.getSide() == HpsSiSensor.POSITRON_SIDE) {
+ return 4 * (sensor.getLayerNumber() - 7);
+ } else {
+ return 4 * (sensor.getLayerNumber() - 7) + 1;
+ }
+ } else if (sensor.isBottomLayer()) {
+ if (sensor.getSide() == HpsSiSensor.POSITRON_SIDE) {
+ return 4 * (sensor.getLayerNumber() - 7) + 2;
+ } else {
+ return 4 * (sensor.getLayerNumber() - 7) + 3;
+ }
+ }
+ }
+
+ return -1;
}
-
+
protected void detectorChanged(Detector detector) {
-
- sensors
- = detector.getSubdetector(SUBDETECTOR_NAME).getDetectorElement().findDescendants(HpsSiSensor.class);
-
+ IAnalysisFactory analysisFactory = AIDA.defaultInstance().analysisFactory();
+ IPlotterFactory plotterFactory = analysisFactory.createPlotterFactory("SVT Raw Samples");
+ IHistogramFactory histogramFactory = AIDA.defaultInstance().histogramFactory();
+
+ sensors
+ = detector.getSubdetector(SUBDETECTOR_NAME).getDetectorElement().findDescendants(HpsSiSensor.class);
+
if (sensors.size() == 0) {
throw new RuntimeException("No sensors were found in this detector.");
}
-
+
plotters.put("L1-L3 Raw hit samples", plotterFactory.create("L1-L3 Raw hit samples"));
plotters.get("L1-L3 Raw hit samples").createRegions(6, 2);
-
+
plotters.put("L4-L6 Raw hit samples", plotterFactory.create("L4-L6 Raw hit samples"));
plotters.get("L4-L6 Raw hit samples").createRegions(6, 4);
- for (HpsSiSensor sensor : sensors) {
-
- samplesPlots.put(sensor,
- histogramFactory.createHistogram2D(sensor.getName() + " - Samples", 6, 0, 6, 1000, 1000, 7000));
-
+ for (HpsSiSensor sensor : sensors) {
+
+ samplesPlots.put(sensor,
+ histogramFactory.createHistogram2D(sensor.getName() + " - Samples", 6, 0, 6, 1000, -200.0, 3000));
+
if (sensor.getLayerNumber() < 7) {
plotters.get("L1-L3 Raw hit samples").region(this.computePlotterRegion(sensor))
- .plot(samplesPlots.get(sensor), this.createStyle("Sample Number", "Amplitude [ADC Counts]"));
- } else {
+ .plot(samplesPlots.get(sensor), this.createStyle(plotterFactory, "Sample Number", "Amplitude [ADC Counts]"));
+ } else {
plotters.get("L4-L6 Raw hit samples").region(this.computePlotterRegion(sensor))
- .plot(samplesPlots.get(sensor), this.createStyle("Sample Number", "Amplitude [ADC Counts]"));
+ .plot(samplesPlots.get(sensor), this.createStyle(plotterFactory, "Sample Number", "Amplitude [ADC Counts]"));
}
}
-
- for (IPlotter plotter : plotters.values()) {
- plotter.show();
- }
+
+ for (IPlotter plotter : plotters.values()) {
+ plotter.show();
+ }
}
public void process(EventHeader event) {
-
- if (!event.hasCollection(RawTrackerHit.class, rawTrackerHitCollectionName))
- return;
-
+
+ if (!event.hasCollection(RawTrackerHit.class, rawTrackerHitCollectionName)) {
+ return;
+ }
+
// Get RawTrackerHit collection from event.
List<RawTrackerHit> rawHits = event.get(RawTrackerHit.class, rawTrackerHitCollectionName);
-
- for (RawTrackerHit rawHit : rawHits) {
-
- HpsSiSensor sensor = (HpsSiSensor) rawHit.getDetectorElement();
- short[] adcValues = rawHit.getADCValues();
-
- for (int sampleN = 0; sampleN < 6; sampleN++) {
- samplesPlots.get(sensor).fill(sampleN, adcValues[sampleN]);
- }
- }
+
+ for (RawTrackerHit rawHit : rawHits) {
+
+ HpsSiSensor sensor = (HpsSiSensor) rawHit.getDetectorElement();
+ short[] adcValues = rawHit.getADCValues();
+ int strip = rawHit.getIdentifierFieldValue("strip");
+ double pedestal = sensor.getPedestal(strip, 0);
+ for (int sampleN = 0; sampleN < 6; sampleN++) {
+ samplesPlots.get(sensor).fill(sampleN, adcValues[sampleN] - pedestal);
+ }
+ }
}
-
- IPlotterStyle createStyle(String xAxisTitle, String yAxisTitle) {
-
+
+ IPlotterStyle createStyle(IPlotterFactory plotterFactory, String xAxisTitle, String yAxisTitle) {
+
// Create a default style
- IPlotterStyle style = this.plotterFactory.createPlotterStyle();
-
+ IPlotterStyle style = plotterFactory.createPlotterStyle();
+
// Set the style of the X axis
style.xAxisStyle().setLabel(xAxisTitle);
style.xAxisStyle().labelStyle().setFontSize(14);
style.xAxisStyle().setVisible(true);
-
+
// Set the style of the Y axis
style.yAxisStyle().setLabel(yAxisTitle);
style.yAxisStyle().labelStyle().setFontSize(14);
style.yAxisStyle().setVisible(true);
-
+
// Set the z axis to log scale
style.zAxisStyle().setScaling("log");
-
+
// Turn off the histogram grid
style.gridStyle().setVisible(false);
-
+
// Set the style of the data
style.dataStyle().lineStyle().setVisible(false);
style.dataStyle().outlineStyle().setVisible(false);
style.dataStyle().outlineStyle().setThickness(3);
style.dataStyle().fillStyle().setVisible(false);
style.dataStyle().errorBarStyle().setVisible(false);
-
+
// Turn off the legend
style.legendBoxStyle().setVisible(true);
-
+
return style;
}
-
+
}
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtPlotUtils.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtPlotUtils.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtPlotUtils.java Sun May 10 21:18:21 2015
@@ -3,6 +3,7 @@
import hep.aida.IPlotterFactory;
import hep.aida.IPlotterStyle;
import org.lcsim.detector.tracker.silicon.HpsSiSensor;
+import org.lcsim.event.RawTrackerHit;
/**
*
@@ -41,6 +42,7 @@
/**
* Create a plotter style.
*
+ * @param plotterFactory
* @param xAxisTitle : Title of the x axis
* @param yAxisTitle : Title of the y axis
* @return plotter style
@@ -79,4 +81,18 @@
return style;
}
+
+ public static IPlotterStyle createStyle(IPlotterFactory plotterFactory, HpsSiSensor sensor, String xAxisTitle, String yAxisTitle) {
+ IPlotterStyle style = createStyle(plotterFactory, xAxisTitle, yAxisTitle);
+
+ if (sensor.isTopLayer()) {
+ style.dataStyle().fillStyle().setColor("31, 137, 229, 1");
+ style.dataStyle().outlineStyle().setColor("31, 137, 229, 1");
+ } else {
+ style.dataStyle().fillStyle().setColor("93, 228, 47, 1");
+ style.dataStyle().outlineStyle().setColor("93, 228, 47, 1");
+ }
+
+ return style;
+ }
}
|