Author: [log in to unmask]
Date: Thu Apr 30 13:56:40 2015
New Revision: 2867
Log:
Print out the active edge occupancies at the end of the run.
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 Thu Apr 30 13:56:40 2015
@@ -274,6 +274,10 @@
occupancyMap.put(sensor.getName(), new int[640]);
}
}
+
+ private int getLayerNumber(HpsSiSensor sensor) {
+ return (int) Math.ceil(((double) sensor.getLayerNumber())/2);
+ }
protected void detectorChanged(Detector detector) {
@@ -457,5 +461,36 @@
} catch (IOException e) {
e.printStackTrace();
}
+
+ // Calculate the occupancies at the sensor edge
+ int[] topActiveEdgeStripOccupancy = new int[6];
+ int[] bottomActiveEdgeStripOccupancy = new int[6];
+ for (HpsSiSensor sensor : sensors) {
+ if (sensor.isTopLayer() && sensor.isAxial()) {
+ if (sensor.getSide() == sensor.ELECTRON_SIDE) {
+ topActiveEdgeStripOccupancy[this.getLayerNumber(sensor) - 1] += occupancyMap.get(sensor.getName())[1];
+ } else {
+ topActiveEdgeStripOccupancy[this.getLayerNumber(sensor) - 1] += occupancyMap.get(sensor.getName())[637];
+ }
+ } else if (sensor.isBottomLayer() && sensor.isAxial()) {
+ if (sensor.getSide() == sensor.ELECTRON_SIDE) {
+ bottomActiveEdgeStripOccupancy[this.getLayerNumber(sensor) - 1] += occupancyMap.get(sensor.getName())[1];
+ } else {
+ bottomActiveEdgeStripOccupancy[this.getLayerNumber(sensor) - 1] += occupancyMap.get(sensor.getName())[637];
+ }
+ }
+ }
+
+ System.out.println("%===============================================================================%");
+ System.out.println("%======================== Active Edge Sensor Occupancies =======================%");
+ System.out.println("%===============================================================================%");
+ for (int layerN = 0; layerN < 6; layerN++) {
+ System.out.println("% Top Layer " + (layerN+1) + ": Occupancy: " + topActiveEdgeStripOccupancy[layerN] + " / " + eventCount + " = "
+ + ((double) topActiveEdgeStripOccupancy[layerN] / (double) eventCount));
+ System.out.println("% Bottom Layer " + (layerN+1) + ": Occupancy: " + bottomActiveEdgeStripOccupancy[layerN] + " / " + eventCount + " = "
+ + ((double) bottomActiveEdgeStripOccupancy[layerN] / (double) eventCount));
+ }
+ System.out.println("%===============================================================================%");
+ System.out.println("%===============================================================================%");
}
}
|