Author: [log in to unmask]
Date: Sat Apr 25 00:46:16 2015
New Revision: 2818
Log:
When plotting the occupancy as a function of position from the beam, don't take the absolute value of the position. Fix the labels of the position plots.
Modified:
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SensorOccupancyPlotsDriver.java
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SensorOccupancyPlotsDriver.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SensorOccupancyPlotsDriver.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SensorOccupancyPlotsDriver.java Sat Apr 25 00:46:16 2015
@@ -29,8 +29,8 @@
import org.lcsim.util.Driver;
/**
- * This Driver makes plots of sensor occupancies across a run. It is intended to
- * be used with the monitoring system.
+ * This Driver makes plots of SVT sensor occupancies across a run.
+ *
*
* @author Omar Moreno <[log in to unmask]>
*/
@@ -40,7 +40,7 @@
static {
hep.aida.jfree.AnalysisFactory.register();
}
-
+
ITree tree;
IHistogramFactory histogramFactory;
IPlotterFactory plotterFactory = IAnalysisFactory.create().createPlotterFactory();
@@ -128,7 +128,6 @@
// strip position
for(ChargeCarrier carrier : ChargeCarrier.values()){
for(HpsSiSensor sensor : sensors){
- //System.out.println("HpsSiSensor: " + sensor.toString());
if(sensor.hasElectrodesOnSide(carrier)){
stripPositions.put(sensor, new HashMap<Integer, Hep3Vector>());
SiStrips strips = (SiStrips) sensor.getReadoutElectrodes(carrier);
@@ -138,9 +137,6 @@
Hep3Vector localStripPosition = strips.getCellPosition(physicalChannel);
Hep3Vector stripPosition = parentToLocal.transformed(localStripPosition);
Hep3Vector globalStripPosition = localToGlobal.transformed(stripPosition);
- //System.out.println("Channel: " + physicalChannel + " localStripPosition: " + localStripPosition.toString());
- //System.out.println("Channel: " + physicalChannel + " stripPosition: " + stripPosition.toString());
- //System.out.println("Channel: " + physicalChannel + " globalStripPosition: " + globalStripPosition.toString());
stripPositions.get(sensor).put(physicalChannel, globalStripPosition);
}
}
@@ -161,14 +157,20 @@
for (HpsSiSensor sensor : sensors) {
occupancyPlots.put(sensor, histogramFactory.createHistogram1D(sensor.getName() + " - Occupancy", 640, 0, 640));
plotters.get("Occupancy").region(this.computePlotterRegion(sensor))
- .plot(occupancyPlots.get(sensor), this.createOccupancyPlotStyle(sensor));
+ .plot(occupancyPlots.get(sensor), this.createOccupancyPlotStyle("Physical Channel", sensor));
if (enablePositionPlots) {
- occupancyVPositionPlots.put(sensor, histogramFactory.createHistogram1D(sensor.getName() + " - Occupancy vs Position", 1000, 0, 60));
+ if (sensor.isTopLayer()) {
+ occupancyVPositionPlots.put(sensor,
+ histogramFactory.createHistogram1D(sensor.getName() + " - Occupancy vs Position", 1000, 0, 60));
+ } else {
+ occupancyVPositionPlots.put(sensor,
+ histogramFactory.createHistogram1D(sensor.getName() + " - Occupancy vs Position", 1000, -60, 0));
+ }
+
plotters.get("Occupancy vs Position").region(this.computePlotterRegion(sensor))
- .plot(occupancyVPositionPlots.get(sensor), this.createOccupancyPlotStyle(sensor));
- }
-
+ .plot(occupancyVPositionPlots.get(sensor), this.createOccupancyPlotStyle("Distance from Beam [mm]", sensor));
+ }
occupancyMap.put(sensor, new int[640]);
}
@@ -183,16 +185,16 @@
public void process(EventHeader event) {
+ // Get the run number from the event and store it. This will be used
+ // when writing the plots out to a ROOT file
if (runNumber == -1) runNumber = event.getRunNumber();
-
- if (!event.hasCollection(RawTrackerHit.class, rawTrackerHitCollectionName))
- return;
-
- eventCount++;
-
+
+ // If the event doesn't have a collection of RawTrackerHit's, skip it.
+ if (!event.hasCollection(RawTrackerHit.class, rawTrackerHitCollectionName)) return;
// Get RawTrackerHit collection from event.
List<RawTrackerHit> rawHits = event.get(RawTrackerHit.class, rawTrackerHitCollectionName);
+ eventCount++;
// Increment strip hit count.
for (RawTrackerHit rawHit : rawHits) {
@@ -230,7 +232,6 @@
if (enablePositionPlots) {
double stripPosition = this.getStripPosition(sensor, channel).y();
- stripPosition = Math.abs(stripPosition);
occupancyVPositionPlots.get(sensor).fill(stripPosition, stripOccupancy);
}
}
@@ -258,12 +259,12 @@
return stripPositions.get(sensor).get(physicalChannel);
}
- IPlotterStyle createOccupancyPlotStyle(HpsSiSensor sensor) {
+ IPlotterStyle createOccupancyPlotStyle(String xAxisTitle, HpsSiSensor sensor) {
// Create a default style
IPlotterStyle style = this.plotterFactory.createPlotterStyle();
// Set the style of the X axis
- style.xAxisStyle().setLabel("Channel");
+ style.xAxisStyle().setLabel(xAxisTitle);
style.xAxisStyle().labelStyle().setFontSize(14);
style.xAxisStyle().setVisible(true);
|