Print

Print


Author: [log in to unmask]
Date: Mon Feb 15 11:13:17 2016
New Revision: 4225

Log:
don't dump root files everywhere

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/SvtClusterPlots.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	Mon Feb 15 11:13:17 2016
@@ -52,7 +52,6 @@
     //static {
     //    hep.aida.jfree.AnalysisFactory.register();
     //}
-
     // Plotting
     private static ITree tree = null;
     private IAnalysisFactory analysisFactory = AIDA.defaultInstance().analysisFactory();
@@ -76,8 +75,6 @@
     private String triggerBankCollectionName = "TriggerBank";
     private String stripClusterCollectionName = "StripClusterer_SiTrackerHitStrip1D";
 
-    String rootFile = null;
-
     private int maxSamplePosition = -1;
     private int timeWindowWeight = 1;
     private int eventCount = 0;
@@ -109,7 +106,9 @@
     private boolean enableClusterTimeCuts = true;
     private double clusterTimeCutMax = 4.0;
     private double clusterTimeCutMin = -4.0;
-    
+
+    private boolean saveRootPlots = true;
+
     public SensorOccupancyPlotsDriver() {
         maxSampleStatus = new SystemStatusImpl(Subsystem.SVT, "Checks that SVT is timed in (max sample plot)", true);
         maxSampleStatus.setStatus(StatusCode.UNKNOWN, "Status is unknown.");
@@ -195,6 +194,10 @@
 
     public void setMaxPeakOccupancy(double maxPeakOccupancy) {
         this.maxPeakOccupancy = maxPeakOccupancy;
+    }
+
+    public void setSaveRootPlots(boolean saveRootPlots) {
+        this.saveRootPlots = saveRootPlots;
     }
 
     /**
@@ -405,7 +408,7 @@
                 plotters.get("Occupancy vs Position").region(SvtPlotUtils.computePlotterRegion(sensor))
                         .plot(positionPlots.get(sensor.getName()), this.createOccupancyPlotStyle("Distance from Beam [mm]", sensor, false));
                 plotters.get("Cluster occupancy vs Position").region(SvtPlotUtils.computePlotterRegion(sensor))
-                .plot(clusterPositionPlots.get(sensor.getName()), this.createOccupancyPlotStyle("Distance from Beam [mm]", sensor, false));
+                        .plot(clusterPositionPlots.get(sensor.getName()), this.createOccupancyPlotStyle("Distance from Beam [mm]", sensor, false));
             }
             occupancyMap.put(sensor.getName(), new int[640]);
 
@@ -521,22 +524,22 @@
                 maxSamplePositionPlots.get(((HpsSiSensor) rawHit.getDetectorElement()).getName()).fill(maxSamplePositionFound);
             }
         }
-        
+
         // Fill the strip cluster counts if available
-        if(event.hasCollection(SiTrackerHitStrip1D.class, stripClusterCollectionName)) {
+        if (event.hasCollection(SiTrackerHitStrip1D.class, stripClusterCollectionName)) {
             List<SiTrackerHitStrip1D> stripHits1D = event.get(SiTrackerHitStrip1D.class, stripClusterCollectionName);
-            for(SiTrackerHitStrip1D h : stripHits1D) {
+            for (SiTrackerHitStrip1D h : stripHits1D) {
                 SiTrackerHitStrip1D global = h.getTransformedHit(TrackerHitType.CoordinateSystem.GLOBAL);
                 Hep3Vector pos_global = global.getPositionAsVector();
-                if(enableClusterTimeCuts) {
-                    if( h.getTime() < clusterTimeCutMax && h.getTime() > clusterTimeCutMin) 
+                if (enableClusterTimeCuts) {
+                    if (h.getTime() < clusterTimeCutMax && h.getTime() > clusterTimeCutMin) {
                         clusterPositionPlotCounts.get(((HpsSiSensor) h.getRawHits().get(0).getDetectorElement()).getName()).fill(pos_global.y());
-                } else
+                    }
+                } else {
                     clusterPositionPlotCounts.get(((HpsSiSensor) h.getRawHits().get(0).getDetectorElement()).getName()).fill(pos_global.y());
-            }
-        }
-        
-        
+                }
+            }
+        }
 
         if (enableMaxSamplePlots && eventCount > maxSampleMonitorStart && eventCount % maxSampleMonitorPeriod == 0) {
             checkMaxSample();
@@ -564,17 +567,17 @@
                         positionPlots.get(sensor.getName()).fill(stripPosition, stripOccupancy);
                     }
                 }
-                if(enablePositionPlots) {
+                if (enablePositionPlots) {
                     clusterPositionPlots.get(sensor.getName()).reset();
                     IHistogram1D h = clusterPositionPlotCounts.get(sensor.getName());
-                    for(int bin=0; bin<h.axis().bins(); ++bin) {
+                    for (int bin = 0; bin < h.axis().bins(); ++bin) {
                         int y = h.binEntries(bin);
                         double stripClusterOccupancy = (double) y / (double) eventCount;
                         double x = h.axis().binCenter(bin);
-                        clusterPositionPlots.get(sensor.getName()).fill(x,stripClusterOccupancy);
+                        clusterPositionPlots.get(sensor.getName()).fill(x, stripClusterOccupancy);
                     }
                 }
-                
+
             }
         }
 
@@ -705,14 +708,16 @@
     @Override
     public void endOfData() {
 
-        rootFile = "run" + runNumber + "_occupancy.root";
-        RootFileStore store = new RootFileStore(rootFile);
-        try {
-            store.open();
-            store.add(tree);
-            store.close();
-        } catch (IOException e) {
-            e.printStackTrace();
+        if (saveRootPlots) {
+            String rootFile = "run" + runNumber + "_occupancy.root";
+            RootFileStore store = new RootFileStore(rootFile);
+            try {
+                store.open();
+                store.add(tree);
+                store.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
         }
 
         System.out.println("%===============================================================================%");

Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtClusterPlots.java
 =============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtClusterPlots.java	(original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtClusterPlots.java	Mon Feb 15 11:13:17 2016
@@ -75,10 +75,16 @@
 
     private int runNumber = -1;
 
+    private boolean saveRootPlots = true;
+
     private boolean dropSmallHitEvents = true;
 
     public void setDropSmallHitEvents(boolean dropSmallHitEvents) {
         this.dropSmallHitEvents = dropSmallHitEvents;
+    }
+
+    public void setSaveRootPlots(boolean saveRootPlots) {
+        this.saveRootPlots = saveRootPlots;
     }
 
     private int computePlotterRegion(HpsSiSensor sensor) {
@@ -343,16 +349,16 @@
     }
 
     public void endOfData() {
-
-        String rootFile = "run" + runNumber + "_cluster_analysis.root";
-        RootFileStore store = new RootFileStore(rootFile);
-        try {
-            store.open();
-            store.add(tree);
-            store.close();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-
+        if (saveRootPlots) {
+            String rootFile = "run" + runNumber + "_cluster_analysis.root";
+            RootFileStore store = new RootFileStore(rootFile);
+            try {
+                store.open();
+                store.add(tree);
+                store.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+    }
 }

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	Mon Feb 15 11:13:17 2016
@@ -22,6 +22,7 @@
             <maxSamplePosition>3</maxSamplePosition>
             <timeWindowWeight>3</timeWindowWeight>
             <resetPeriod>50000</resetPeriod>
+            <saveRootPlots>false</saveRootPlots>
        </driver>
         <driver name="SvtHitPlots" type="org.hps.monitoring.drivers.svt.SvtHitPlots">
             <doPerChannelsSampleplots>true</doPerChannelsSampleplots>
@@ -44,7 +45,9 @@
             <neighborDeltaT>8.0</neighborDeltaT>
             <debug>false</debug>
         </driver>
-        <driver name="ClusterPlots" type="org.hps.monitoring.drivers.svt.SvtClusterPlots" />
+        <driver name="ClusterPlots" type="org.hps.monitoring.drivers.svt.SvtClusterPlots">
+            <saveRootPlots>false</saveRootPlots>
+        </driver>
         <driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver" />
     </drivers>
 </lcsim>