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>