Author: [log in to unmask]
Date: Sun May 10 22:45:06 2015
New Revision: 2938
Log:
add option to reset occupancy plots periodically; turn off some plots
Modified:
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SensorOccupancyPlotsDriver.java
java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/SvtOnlineMonitoring.lcsim
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 Sun May 10 22:45:06 2015
@@ -70,6 +70,7 @@
private int eventCount = 0;
private int eventRefreshRate = 1;
private int runNumber = -1;
+ private int resetPeriod = -1;
private boolean enablePositionPlots = false;
private boolean enableMaxSamplePlots = false;
@@ -89,6 +90,10 @@
public void setEventRefreshRate(int eventRefreshRate) {
this.eventRefreshRate = eventRefreshRate;
+ }
+
+ public void setResetPeriod(int resetPeriod) {
+ this.resetPeriod = resetPeriod;
}
public void setEnablePositionPlots(boolean enablePositionPlots) {
@@ -386,6 +391,13 @@
List<RawTrackerHit> rawHits = event.get(RawTrackerHit.class, rawTrackerHitCollectionName);
eventCount++;
+
+ if (resetPeriod > 0 && eventCount > resetPeriod) { //reset occupancy numbers after resetPeriod events
+ eventCount = 1;
+ for (HpsSiSensor sensor : sensors) {
+ occupancyMap.put(sensor.getName(), new int[640]);
+ }
+ }
// Increment strip hit count.
for (RawTrackerHit rawHit : rawHits) {
@@ -455,33 +467,33 @@
// 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()) {
+ for (HpsSiSensor sensor : sensors) {
+ if (sensor.isTopLayer() && sensor.isAxial()) {
if (sensor.getSide() == sensor.ELECTRON_SIDE) {
- System.out.println("% Top Layer " + this.getLayerNumber(sensor) + " Hit Counts: " + occupancyMap.get(sensor.getName())[1]);
+ System.out.println("% Top Layer " + this.getLayerNumber(sensor) + " Hit Counts: " + occupancyMap.get(sensor.getName())[1]);
topActiveEdgeStripOccupancy[this.getLayerNumber(sensor) - 1] += occupancyMap.get(sensor.getName())[1];
} else {
- System.out.println("% Top Layer " + this.getLayerNumber(sensor) + " Hit Counts: " + occupancyMap.get(sensor.getName())[638]);
+ System.out.println("% Top Layer " + this.getLayerNumber(sensor) + " Hit Counts: " + occupancyMap.get(sensor.getName())[638]);
topActiveEdgeStripOccupancy[this.getLayerNumber(sensor) - 1] += occupancyMap.get(sensor.getName())[638];
}
} else if (sensor.isBottomLayer() && sensor.isAxial()) {
if (sensor.getSide() == sensor.ELECTRON_SIDE) {
- System.out.println("% Bottom Layer " + this.getLayerNumber(sensor) + " Hit Counts: " + occupancyMap.get(sensor.getName())[1]);
+ System.out.println("% Bottom Layer " + this.getLayerNumber(sensor) + " Hit Counts: " + occupancyMap.get(sensor.getName())[1]);
bottomActiveEdgeStripOccupancy[this.getLayerNumber(sensor) - 1] += occupancyMap.get(sensor.getName())[1];
} else {
- System.out.println("% Bottom Layer " + this.getLayerNumber(sensor) + " Hit Counts: " + occupancyMap.get(sensor.getName())[638]);
+ System.out.println("% Bottom Layer " + this.getLayerNumber(sensor) + " Hit Counts: " + occupancyMap.get(sensor.getName())[638]);
bottomActiveEdgeStripOccupancy[this.getLayerNumber(sensor) - 1] += occupancyMap.get(sensor.getName())[638];
}
}
}
for (int layerN = 0; layerN < 6; layerN++) {
- double topStripOccupancy = (double) topActiveEdgeStripOccupancy[layerN] / (double) eventCount;
- topStripOccupancy /= this.timeWindowWeight;
- System.out.println("% Top Layer " + (layerN+1) + ": Occupancy in " + (24/this.timeWindowWeight) + " ns window: " + topStripOccupancy);
- double botStripOccupancy = (double) bottomActiveEdgeStripOccupancy[layerN] / (double) eventCount;
- botStripOccupancy /= this.timeWindowWeight;
- System.out.println("% Bottom Layer " + (layerN+1) + ": Occupancy in " + (24/this.timeWindowWeight) + " ns window: " + botStripOccupancy);
+ double topStripOccupancy = (double) topActiveEdgeStripOccupancy[layerN] / (double) eventCount;
+ topStripOccupancy /= this.timeWindowWeight;
+ System.out.println("% Top Layer " + (layerN + 1) + ": Occupancy in " + (24 / this.timeWindowWeight) + " ns window: " + topStripOccupancy);
+ double botStripOccupancy = (double) bottomActiveEdgeStripOccupancy[layerN] / (double) eventCount;
+ botStripOccupancy /= this.timeWindowWeight;
+ System.out.println("% Bottom Layer " + (layerN + 1) + ": Occupancy in " + (24 / this.timeWindowWeight) + " ns window: " + botStripOccupancy);
}
System.out.println("%===============================================================================%");
System.out.println("%===============================================================================%");
Modified: java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/SvtOnlineMonitoring.lcsim
=============================================================================
--- java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/SvtOnlineMonitoring.lcsim (original)
+++ java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/SvtOnlineMonitoring.lcsim Sun May 10 22:45:06 2015
@@ -6,8 +6,8 @@
<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
<execute>
<driver name="SvtHitPlots" />
- <driver name="SamplesPlots" />
- <driver name="PedestalPlots" />
+ <!--<driver name="SamplesPlots" />
+ <driver name="PedestalPlots" />-->
<driver name="SensorOccupancy" />
<driver name="RawTrackerHitFitterDriver" />
<driver name="TrackerHitDriver" />
@@ -21,6 +21,7 @@
<enableMaxSamplePlots>true</enableMaxSamplePlots>
<maxSamplePosition>4</maxSamplePosition>
<timeWindowWeight>3</timeWindowWeight>
+ <resetPeriod>50000</resetPeriod>
</driver>
<driver name="SvtHitPlots" type="org.hps.monitoring.drivers.svt.SvtHitPlots" />
<driver name="SamplesPlots" type="org.hps.monitoring.drivers.svt.SamplesPlots" />
@@ -37,6 +38,7 @@
<debug>false</debug>
</driver>
<driver name="TrackerHitDriver" type="org.hps.recon.tracking.DataTrackerHitDriver">
+ <neighborDeltaT>8.0</neighborDeltaT>
<debug>false</debug>
</driver>
<driver name="ClusterPlots" type="org.hps.monitoring.drivers.svt.SvtClusterPlots" />
|