Print

Print


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" />