Print

Print


Commit in hps-java/src/main on MAIN
java/org/lcsim/hps/monitoring/svt/SVTPulseFitPlots.java+204added 1.1
                                 /SVTSimpleEventDisplay.java+5-111.7 -> 1.8
                                 /SVTHitReconstructionPlots.java+38-991.16 -> 1.17
                                 /SVTMonitoringPlots.java+128-1541.5 -> 1.6
resources/org/lcsim/hps/steering/TestRunMonitoring.lcsim+7-31.19 -> 1.20
+382-267
1 added + 4 modified, total 5 files
pull some plots out of SVTHitReconstructionPlots

hps-java/src/main/java/org/lcsim/hps/monitoring/svt
SVTPulseFitPlots.java added at 1.1
diff -N SVTPulseFitPlots.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ SVTPulseFitPlots.java	24 May 2012 19:48:40 -0000	1.1
@@ -0,0 +1,204 @@
+package org.lcsim.hps.monitoring.svt;
+
+import hep.aida.*;
+import java.io.IOException;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.lcsim.detector.identifier.IIdentifier;
+import org.lcsim.detector.identifier.IIdentifierHelper;
+import org.lcsim.detector.tracker.silicon.SiSensor;
+import org.lcsim.event.EventHeader;
+import org.lcsim.geometry.Detector;
+import org.lcsim.hps.monitoring.AIDAFrame;
+import org.lcsim.hps.monitoring.Resettable;
+import org.lcsim.hps.recon.tracking.HPSFittedRawTrackerHit;
+import org.lcsim.hps.recon.tracking.HPSSVTCalibrationConstants;
+import org.lcsim.hps.recon.tracking.HPSSVTConstants;
+import org.lcsim.hps.recon.tracking.SvtUtils;
+import org.lcsim.util.Driver;
+import org.lcsim.util.aida.AIDA;
+
+/**
+ *
+ * @author mgraham
+ * @version $Id: SVTHitReconstructionPlots.java,v 1.14 2012/05/18 07:41:49 meeg
+ * Exp $
+ */
+public class SVTPulseFitPlots extends Driver implements Resettable {
+
+    private AIDAFrame plotterFrame;
+    private AIDA aida = AIDA.defaultInstance();
+    private String fittedTrackerHitCollectionName = "SVTFittedRawTrackerHits";
+    private String trackerName = "Tracker";
+    private int eventCount;
+    IPlotter plotter;
+    IPlotter plotter2;
+    IPlotter plotter3;
+    IPlotter plotter4;
+    IPlotter plotter5;
+    private String outputPlots = null;
+    private IHistogram1D[][] t0 = new IHistogram1D[2][10];
+    private IHistogram1D[][] amp = new IHistogram1D[2][10];
+    private IHistogram1D[][] chisq = new IHistogram1D[2][10];
+    private IHistogram2D[][] t0a = new IHistogram2D[2][10];
+    private IHistogram2D[][] shape = new IHistogram2D[2][10];
+//    private IHistogram2D shape;
+
+    @Override
+    protected void detectorChanged(Detector detector) {
+        plotterFrame = new AIDAFrame();
+        plotterFrame.setTitle("HPS SVT Pulse Fit Plots");
+
+        aida.tree().cd("/");
+
+        IAnalysisFactory fac = aida.analysisFactory();
+        plotter = fac.createPlotterFactory().create("HPS SVT Timing Plots");
+        plotter.setTitle("Timing");
+        plotterFrame.addPlotter(plotter);
+        IPlotterStyle style = plotter.style();
+        style.dataStyle().fillStyle().setColor("yellow");
+        style.dataStyle().errorBarStyle().setVisible(false);
+        plotter.createRegions(4, 5);
+
+        plotter2 = fac.createPlotterFactory().create("HPS SVT Amplitude Plots");
+        plotter2.setTitle("Amplitude");
+        plotterFrame.addPlotter(plotter2);
+        IPlotterStyle style2 = plotter2.style();
+        style2.dataStyle().fillStyle().setColor("yellow");
+        style2.dataStyle().errorBarStyle().setVisible(false);
+        plotter2.createRegions(4, 5);
+
+        plotter3 = fac.createPlotterFactory().create("HPS SVT Chisq Plots");
+        plotter3.setTitle("Chisq");
+        plotterFrame.addPlotter(plotter3);
+        plotter3.style().dataStyle().fillStyle().setColor("yellow");
+        plotter3.style().dataStyle().errorBarStyle().setVisible(false);
+        plotter3.createRegions(4, 5);
+
+        plotter4 = fac.createPlotterFactory().create("A vs. T0");
+        plotter4.setTitle("A vs. T0");
+        plotterFrame.addPlotter(plotter4);
+        plotter4.style().dataStyle().errorBarStyle().setVisible(false);
+        plotter4.style().statisticsBoxStyle().setVisible(false);
+        plotter4.style().setParameter("hist2DStyle", "colorMap");
+        plotter4.style().dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
+        plotter4.style().zAxisStyle().setParameter("scale", "log");
+        plotter4.style().zAxisStyle().setVisible(false);
+        plotter4.createRegions(4, 5);
+
+        plotter5 = fac.createPlotterFactory().create("Pulse Shape");
+        plotter5.setTitle("Pulse shape");
+        plotterFrame.addPlotter(plotter5);
+        plotter5.style().dataStyle().errorBarStyle().setVisible(false);
+        plotter5.style().statisticsBoxStyle().setVisible(false);
+        plotter5.style().setParameter("hist2DStyle", "colorMap");
+        plotter5.style().dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
+        plotter5.style().zAxisStyle().setParameter("scale", "log");
+        plotter5.style().zAxisStyle().setVisible(false);
+        plotter5.createRegions(4, 5);
+//        plotter5.createRegion();
+
+        for (int module = 0; module < 2; module++) {
+            for (int layer = 0; layer < 10; layer++) {
+                SiSensor sensor = SvtUtils.getInstance().getSensor(module, layer);
+                int region = computePlotterRegion(layer + 1, module);
+                t0[module][layer] = aida.histogram1D(sensor.getName() + "_timing", 50, -100, 100.0);
+                plotter.region(region).plot(t0[module][layer]);
+                amp[module][layer] = aida.histogram1D(sensor.getName() + "_amplitude", 50, 0, 2000.0);
+                plotter2.region(region).plot(amp[module][layer]);
+                chisq[module][layer] = aida.histogram1D(sensor.getName() + "_chisq", 100, 0, 10.0);
+                plotter3.region(region).plot(chisq[module][layer]);
+                t0a[module][layer] = aida.histogram2D(sensor.getName() + " A vs. T0", 100, -100, 100, 100, 0, 2000);
+                plotter4.region(region).plot(t0a[module][layer]);
+                shape[module][layer] = aida.histogram2D(sensor.getName() + " Shape", 200, -1, 3, 200, -0.5, 2);
+                plotter5.region(region).plot(shape[module][layer]);
+
+            }
+        }
+//        shape = aida.histogram2D("Shape", 200, -1, 3, 200, -0.5, 2);
+//        plotter5.region(0).plot(shape);
+
+        plotterFrame.pack();
+        plotterFrame.setVisible(true);
+    }
+
+    public SVTPulseFitPlots() {
+    }
+
+    public void setOutputPlots(String output) {
+        this.outputPlots = output;
+    }
+
+    public void setFittedTrackerHitCollectionName(String fittedTrackerHitCollectionName) {
+        this.fittedTrackerHitCollectionName = fittedTrackerHitCollectionName;
+    }
+
+    @Override
+    public void process(EventHeader event) {
+        ++eventCount;
+        List<HPSFittedRawTrackerHit> fittedrawHits = event.get(HPSFittedRawTrackerHit.class, fittedTrackerHitCollectionName);
+        for (HPSFittedRawTrackerHit fit : fittedrawHits) {
+            SiSensor sensor = (SiSensor) fit.getRawTrackerHit().getDetectorElement();
+            int strip = fit.getRawTrackerHit().getIdentifierFieldValue("strip");
+            int layer = fit.getRawTrackerHit().getIdentifierFieldValue("layer"); // 1-10; axial layers are odd layers; stereo layers are even
+            int module = fit.getRawTrackerHit().getIdentifierFieldValue("module"); // 0-1; module number is top or bottom
+//            int layer = hrth.getRawTrackerHit().getLayerNumber();
+            double fittedAmp = fit.getAmp();
+            double fittedT0 = fit.getT0();
+            String sensorName = sensor.getName();
+            aida.histogram1D(sensorName + "_timing").fill(fittedT0);
+            aida.histogram1D(sensorName + "_amplitude").fill(fittedAmp);
+            aida.histogram1D(sensorName + "_chisq").fill(fit.getShapeFitParameters().getChiSq());
+
+            double pedestal = HPSSVTCalibrationConstants.getPedestal((SiSensor) fit.getRawTrackerHit().getDetectorElement(), strip);
+            double tp = HPSSVTCalibrationConstants.getTShaping((SiSensor) fit.getRawTrackerHit().getDetectorElement(), strip);
+
+            t0a[module][layer - 1].fill(fit.getT0(), fit.getAmp());
+            if (fit.getAmp() > 500) {
+                for (int i = 0; i < fit.getRawTrackerHit().getADCValues().length; i++) {
+                    shape[module][layer - 1].fill((i * HPSSVTConstants.SAMPLE_INTERVAL - fit.getT0()) / tp, (fit.getRawTrackerHit().getADCValues()[i] - pedestal) / fit.getAmp());
+//                    shape.fill((i * HPSSVTConstants.SAMPLE_INTERVAL - hrth.getT0()) / tp, (hrth.getRawTrackerHit().getADCValues()[i] - pedestal) / hrth.getAmp());
+                }
+            }
+        }
+    }
+
+    @Override
+    public void endOfData() {
+        if (outputPlots != null) {
+            try {
+                aida.saveAs(outputPlots);
+            } catch (IOException ex) {
+                Logger.getLogger(TrackingReconstructionPlots.class.getName()).log(Level.SEVERE, null, ex);
+            }
+        }
+        plotterFrame.dispose();
+    }
+
+    @Override
+    public void reset() {
+        for (int module = 0; module < 2; module++) {
+            for (int layer = 0; layer < 10; layer++) {
+                t0[module][layer].reset();
+                amp[module][layer].reset();
+                chisq[module][layer].reset();
+                t0a[module][layer].reset();
+                shape[module][layer].reset();
+            }
+        }
+    }
+
+    private int computePlotterRegion(int layer, int module) {
+        int iy = (layer - 1) / 2;
+        int ix = 0;
+        if (module > 0) {
+            ix += 2;
+        }
+        if (layer % 2 == 0) {
+            ix += 1;
+        }
+        int region = ix * 5 + iy;
+        return region;
+    }
+}

hps-java/src/main/java/org/lcsim/hps/monitoring/svt
SVTSimpleEventDisplay.java 1.7 -> 1.8
diff -u -r1.7 -r1.8
--- SVTSimpleEventDisplay.java	24 May 2012 17:08:18 -0000	1.7
+++ SVTSimpleEventDisplay.java	24 May 2012 19:48:40 -0000	1.8
@@ -12,22 +12,16 @@
 import org.lcsim.geometry.Detector;
 import org.lcsim.hps.monitoring.AIDAFrame;
 import org.lcsim.hps.monitoring.Resettable;
-import org.lcsim.hps.recon.tracking.HPSSVTDAQMaps;
 import org.lcsim.hps.recon.tracking.SvtUtils;
 import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHit;
 import org.lcsim.util.Driver;
 import org.lcsim.util.aida.AIDA;
 
 /**
- * This Driver makes plots of sensor occupancies across a run. It is intended to
- * be used with the monitoring system. It will currently only run on a test run
- * detector, as the number of sensors, and hence plotter regions, is hardcoded
- * to 20.
- *
- * @author Jeremy McCormick <[log in to unmask]>
- * @version $Id: SensorOccupancyPlotsDriver.java,v 1.12 2012/04/13 00:06:55
- * jeremy Exp $
- *
+ * Plots hit counts for all SVT channels at each stage of reconstruction; 
+ * can be set to reset after each event for use as an event display
+ * 
+ * @version $Id: SVTSimpleEventDisplay.java,v 1.8 2012/05/24 19:48:40 meeg Exp $
  */
 public class SVTSimpleEventDisplay extends Driver implements Resettable {
 
@@ -79,7 +73,7 @@
 
     protected void detectorChanged(Detector detector) {
         plotterFrame = new AIDAFrame();
-        plotterFrame.setTitle("HPS SVT Event Display");
+        plotterFrame.setTitle("HPS SVT Hit Counts");
 
         // Setup the plotter.
         IAnalysisFactory fac = aida.analysisFactory();

hps-java/src/main/java/org/lcsim/hps/monitoring/svt
SVTHitReconstructionPlots.java 1.16 -> 1.17
diff -u -r1.16 -r1.17
--- SVTHitReconstructionPlots.java	24 May 2012 17:08:18 -0000	1.16
+++ SVTHitReconstructionPlots.java	24 May 2012 19:48:40 -0000	1.17
@@ -9,9 +9,7 @@
 import java.util.logging.Logger;
 import org.lcsim.detector.identifier.IIdentifier;
 import org.lcsim.detector.identifier.IIdentifierHelper;
-import org.lcsim.detector.tracker.silicon.ChargeCarrier;
 import org.lcsim.detector.tracker.silicon.SiSensor;
-import org.lcsim.detector.tracker.silicon.SiSensorElectrodes;
 import org.lcsim.detector.tracker.silicon.SiTrackerIdentifierHelper;
 import org.lcsim.event.EventHeader;
 import org.lcsim.event.RawTrackerHit;
@@ -19,7 +17,6 @@
 import org.lcsim.hps.monitoring.AIDAFrame;
 import org.lcsim.hps.monitoring.Resettable;
 import org.lcsim.hps.recon.tracking.HPSFittedRawTrackerHit;
-import org.lcsim.hps.recon.tracking.HPSSVTDAQMaps;
 import org.lcsim.hps.recon.tracking.SvtUtils;
 import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHitStrip1D;
 import org.lcsim.util.Driver;
@@ -35,21 +32,17 @@
 
     private AIDAFrame plotterFrame;
     private AIDA aida = AIDA.defaultInstance();
-    private String rawTrackerHitCollectionName = "SVTRawTrackerHits";
     private String fittedTrackerHitCollectionName = "SVTFittedRawTrackerHits";
     private String trackerHitCollectionName = "StripClusterer_SiTrackerHitStrip1D";
     private String trackerName = "Tracker";
     private int eventCount;
     private List<SiSensor> sensors;
-    IPlotter plotter;
+    IPlotter plotter1;
     IPlotter plotter2;
     IPlotter plotter3;
     IPlotter plotter4;
-    IPlotter plotter44;
     IPlotter plotter5;
     IPlotter plotter6;
-    IPlotter plotter7;
-    IPlotter plotter8;
     private Map<String, Integer> sensorRegionMap;
     private String outputPlots = null;
 
@@ -70,87 +63,62 @@
         }
 
         IAnalysisFactory fac = aida.analysisFactory();
-        plotter = fac.createPlotterFactory().create("HPS SVT Timing Plots");
-        plotter.setTitle("Timing");
-        plotterFrame.addPlotter(plotter);
-        IPlotterStyle style = plotter.style();
-        style.dataStyle().fillStyle().setColor("yellow");
-        style.dataStyle().errorBarStyle().setVisible(false);
-        plotter.createRegions(5, 4);
 
-        plotter2 = fac.createPlotterFactory().create("HPS SVT Amplitude Plots");
-        plotter2.setTitle("Amplitude");
-        plotterFrame.addPlotter(plotter2);
-        IPlotterStyle style2 = plotter2.style();
-        style2.dataStyle().fillStyle().setColor("yellow");
-        style2.dataStyle().errorBarStyle().setVisible(false);
-        plotter2.createRegions(5, 4);
-
-        plotter3 = fac.createPlotterFactory().create("HPS SVT Chisq Plots");
-        plotter3.setTitle("Chisq");
-        plotterFrame.addPlotter(plotter3);
-        plotter3.style().dataStyle().fillStyle().setColor("yellow");
-        plotter3.style().dataStyle().errorBarStyle().setVisible(false);
-        plotter3.createRegions(5, 4);
-
-        plotter4 = fac.createPlotterFactory().create("HPS SVT Raw Hit Plots");
-        plotter4.setTitle("Raw Hits");
-        plotterFrame.addPlotter(plotter4);
-        IPlotterStyle style3 = plotter4.style();
+        plotter1 = fac.createPlotterFactory().create("HPS SVT Raw Hit Plots");
+        plotter1.setTitle("Raw Hits");
+        plotterFrame.addPlotter(plotter1);
+        IPlotterStyle style3 = plotter1.style();
         style3.dataStyle().fillStyle().setColor("yellow");
         style3.dataStyle().errorBarStyle().setVisible(false);
-        plotter4.createRegions(5, 4);
+        plotter1.createRegions(5, 4);
 
-        plotter5 = fac.createPlotterFactory().create("HPS SVT Reco Hit Plots");
-        plotter5.setTitle("Reco Hits");
-        plotterFrame.addPlotter(plotter5);
-        IPlotterStyle style4 = plotter5.style();
+        plotter3 = fac.createPlotterFactory().create("HPS SVT Reco Hit Plots");
+        plotter3.setTitle("Reco Hits");
+        plotterFrame.addPlotter(plotter3);
+        IPlotterStyle style4 = plotter3.style();
         style4.dataStyle().fillStyle().setColor("yellow");
         style4.dataStyle().errorBarStyle().setVisible(false);
-        plotter5.createRegions(5, 4);
+        plotter3.createRegions(5, 4);
 
 
-        plotter44 = fac.createPlotterFactory().create("HPS SVT Cluster Hit Plots");
-        plotter44.setTitle("Clusters");
-        plotterFrame.addPlotter(plotter44);
-        IPlotterStyle style44 = plotter44.style();
+        plotter2 = fac.createPlotterFactory().create("HPS SVT Cluster Hit Plots");
+        plotter2.setTitle("Clusters");
+        plotterFrame.addPlotter(plotter2);
+        IPlotterStyle style44 = plotter2.style();
         style44.dataStyle().fillStyle().setColor("yellow");
         style44.dataStyle().errorBarStyle().setVisible(false);
-        plotter44.createRegions(5, 4);
+        plotter2.createRegions(5, 4);
 
-        plotter6 = fac.createPlotterFactory().create("HPS SVT Cluster Size Plots");
-        plotter6.setTitle("Cluster Size");
-        plotterFrame.addPlotter(plotter6);
-        IPlotterStyle style6 = plotter6.style();
+        plotter4 = fac.createPlotterFactory().create("HPS SVT Cluster Size Plots");
+        plotter4.setTitle("Cluster Size");
+        plotterFrame.addPlotter(plotter4);
+        IPlotterStyle style6 = plotter4.style();
         style6.dataStyle().fillStyle().setColor("green");
         style6.dataStyle().errorBarStyle().setVisible(false);
-        plotter6.createRegions(5, 4);
+        plotter4.createRegions(5, 4);
 
 
-        plotter7 = fac.createPlotterFactory().create("HPS SVT Cluster Amp Plots");
-        plotter7.setTitle("Cluster Amplitude");
-        plotterFrame.addPlotter(plotter7);
-        IPlotterStyle style7 = plotter7.style();
+        plotter5 = fac.createPlotterFactory().create("HPS SVT Cluster Amp Plots");
+        plotter5.setTitle("Cluster Amplitude");
+        plotterFrame.addPlotter(plotter5);
+        IPlotterStyle style7 = plotter5.style();
         style7.dataStyle().fillStyle().setColor("green");
         style7.dataStyle().errorBarStyle().setVisible(false);
-        plotter7.createRegions(5, 4);
+        plotter5.createRegions(5, 4);
 
-        plotter8 = fac.createPlotterFactory().create("HPS SVT Cluster Position Vs Channel");
-        plotter8.setTitle("Cluster Position (y)");
-        plotterFrame.addPlotter(plotter8);
-        IPlotterStyle style8 = plotter8.style();
+        plotter6 = fac.createPlotterFactory().create("HPS SVT Cluster Position Vs Channel");
+        plotter6.setTitle("Cluster Position (y)");
+        plotterFrame.addPlotter(plotter6);
+        IPlotterStyle style8 = plotter6.style();
         style8.dataStyle().fillStyle().setColor("green");
         style8.dataStyle().errorBarStyle().setVisible(false);
         style8.statisticsBoxStyle().setVisible(false);
-        plotter8.style().setParameter("hist2DStyle", "colorMap");
+        plotter6.style().setParameter("hist2DStyle", "colorMap");
         style8.dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
         style8.zAxisStyle().setParameter("scale", "log");
-        plotter8.createRegions(5, 4);
+        plotter6.createRegions(5, 4);
 
         for (SiSensor sensor : sensors) {
-            IHistogram1D timingPlot = aida.histogram1D(sensor.getName() + "_timing", 50, -100, 100.0);
-            IHistogram1D amplitudePlot = aida.histogram1D(sensor.getName() + "_amplitude", 50, 0, 2000.0);
-            IHistogram1D chisqPlot = aida.histogram1D(sensor.getName() + "_chisq", 100, 0, 10.0);
             IHistogram1D nrawPlot = aida.histogram1D(sensor.getName() + "_raw_hits", 10, 0, 9.0);
             IHistogram1D nrecoPlot = aida.histogram1D(sensor.getName() + "_reco_hits", 10, 0, 9.0);
             IHistogram1D nclustPlot = aida.histogram1D(sensor.getName() + "_cluster_hits", 10, 0, 9.0);
@@ -158,15 +126,12 @@
             IHistogram1D clusterAmpPlot = aida.histogram1D(sensor.getName() + "_cluster_amp", 50, 0, 2000.0);
             IHistogram2D clposVsStrip = aida.histogram2D(sensor.getName() + "_cluster_vs_strip", 128, 0, 639, 100, -50, 50);
             int region = sensorRegionMap.get(sensor.getName());
-            plotter.region(region).plot(timingPlot);
-            plotter2.region(region).plot(amplitudePlot);
-            plotter3.region(region).plot(chisqPlot);
-            plotter4.region(region).plot(nrawPlot);
-            plotter5.region(region).plot(nrecoPlot);
-            plotter44.region(region).plot(nclustPlot);
-            plotter6.region(region).plot(clusterSizePlot);
-            plotter7.region(region).plot(clusterAmpPlot);
-            plotter8.region(region).plot(clposVsStrip);
+            plotter1.region(region).plot(nrawPlot);
+            plotter3.region(region).plot(nrecoPlot);
+            plotter2.region(region).plot(nclustPlot);
+            plotter4.region(region).plot(clusterSizePlot);
+            plotter5.region(region).plot(clusterAmpPlot);
+            plotter6.region(region).plot(clposVsStrip);
 
         }
         IProfile1D hitsPerLayerTop = aida.profile1D("Number of Fitted Hits per layer in Top Half", 10, 1, 11);
@@ -182,10 +147,6 @@
         this.outputPlots = output;
     }
 
-    public void setRawTrackerHitCollectionName(String rawTrackerHitCollectionName) {
-        this.rawTrackerHitCollectionName = rawTrackerHitCollectionName;
-    }
-
     public void setFittedTrackerHitCollectionName(String fittedTrackerHitCollectionName) {
         this.fittedTrackerHitCollectionName = fittedTrackerHitCollectionName;
     }
@@ -195,18 +156,6 @@
     }
 
     public void process(EventHeader event) {
-        if (!event.hasCollection(RawTrackerHit.class, rawTrackerHitCollectionName)) {
-            System.out.println(rawTrackerHitCollectionName + " does not exist; skipping event");
-            int ns = sensors.size();
-            for (int i = 0; i < ns; i++) {
-                aida.histogram1D(sensors.get(i).getName() + "_raw_hits").fill(0);
-                aida.histogram1D(sensors.get(i).getName() + "_reco_hits").fill(0);
-                aida.histogram1D(sensors.get(i).getName() + "_cluster_hits").fill(0);
-            }
-
-            return;
-        }
-
         if (!event.hasCollection(HPSFittedRawTrackerHit.class, fittedTrackerHitCollectionName)) {
             System.out.println(fittedTrackerHitCollectionName + " does not exist; skipping event");
             int ns = sensors.size();
@@ -219,7 +168,6 @@
         }
 
         ++eventCount;
-        List<RawTrackerHit> rawHits = event.get(RawTrackerHit.class, rawTrackerHitCollectionName);
         List<HPSFittedRawTrackerHit> fittedrawHits = event.get(HPSFittedRawTrackerHit.class, fittedTrackerHitCollectionName);
         List<SiTrackerHitStrip1D> stripHits = event.get(SiTrackerHitStrip1D.class, trackerHitCollectionName);
         int[] layersTop = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
@@ -231,12 +179,6 @@
                 layersBot[layer - 1]++;
             else
                 layersTop[layer - 1]++;
-            double fittedAmp = hrth.getAmp();
-            double fittedT0 = hrth.getT0();
-            String sensorName = sensor.getName();
-            aida.histogram1D(sensorName + "_timing").fill(fittedT0);
-            aida.histogram1D(sensorName + "_amplitude").fill(fittedAmp);
-            aida.histogram1D(sensorName + "_chisq").fill(hrth.getShapeFitParameters().getChiSq());
         }
 
         for (int i = 0; i < 10; i++) {
@@ -305,9 +247,6 @@
     @Override
     public void reset() {
         for (SiSensor sensor : sensors) {
-            aida.histogram1D(sensor.getName() + "_timing").reset();
-            aida.histogram1D(sensor.getName() + "_amplitude").reset();
-            aida.histogram1D(sensor.getName() + "_chisq").reset();
             aida.histogram1D(sensor.getName() + "_raw_hits").reset();
             aida.histogram1D(sensor.getName() + "_reco_hits").reset();
             aida.histogram1D(sensor.getName() + "_cluster_size").reset();

hps-java/src/main/java/org/lcsim/hps/monitoring/svt
SVTMonitoringPlots.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- SVTMonitoringPlots.java	24 May 2012 17:08:18 -0000	1.5
+++ SVTMonitoringPlots.java	24 May 2012 19:48:40 -0000	1.6
@@ -11,7 +11,6 @@
 import org.lcsim.hps.monitoring.AIDAFrame;
 import org.lcsim.hps.recon.tracking.HPSFittedRawTrackerHit;
 import org.lcsim.hps.recon.tracking.HPSSVTCalibrationConstants;
-import org.lcsim.hps.recon.tracking.HPSSVTDAQMaps;
 import org.lcsim.hps.recon.tracking.SvtUtils;
 import org.lcsim.util.Driver;
 import org.lcsim.util.aida.AIDA;
@@ -29,163 +28,138 @@
  */
 public class SVTMonitoringPlots extends Driver {
 
-	private String inputCollection = "SVTRawTrackerHits";
-	private String fitCollection = "SVTFittedRawTrackerHits";
-	private AIDA aida = AIDA.defaultInstance();
-	private AIDAFrame plotterFrame;
-	private IPlotter plotter, plotter2, plotter3, plotter4;
+    private String inputCollection = "SVTRawTrackerHits";
+    private String fitCollection = "SVTFittedRawTrackerHits";
+    private AIDA aida = AIDA.defaultInstance();
+    private AIDAFrame plotterFrame;
+    private IPlotter plotter, plotter2, plotter3;
 //    private IHistogram1D[][] plots = new IHistogram1D[2][10];
-	private IProfile1D[][] pedestalShifts = new IProfile1D[2][10];
+    private IProfile1D[][] pedestalShifts = new IProfile1D[2][10];
 //    private IHistogram2D[][] pedestalShifts = new IHistogram2D[2][10];
-	private IHistogram2D[][] t0s = new IHistogram2D[2][10];
-	private IHistogram2D[][] amps = new IHistogram2D[2][10];
-	private IHistogram2D[][] t0a = new IHistogram2D[2][10];
-
-	public SVTMonitoringPlots() {
-	}
-
-	public void setInputCollection(String inputCollection) {
-		this.inputCollection = inputCollection;
-	}
-
-	private int computePlotterRegion(int layer, int module) {
-		// Compute the sensor's x and y grid coordinates and then translate to region number.
-		int iy = (layer - 1) / 2;
-		int ix = 0;
-		if (module > 0) {
-			ix += 2;
-		}
-		if (layer % 2 == 0) {
-			ix += 1;
-		}
-		int region = ix * 5 + iy;
-		//System.out.println(sensor.getName() + "; lyr=" + layer + "; mod=" + module + " -> xy[" + ix + "][" + iy + "] -> reg="+region);
-		return region;
-	}
-
-	protected void detectorChanged(Detector detector) {
-		plotterFrame = new AIDAFrame();
-		plotterFrame.setTitle("HPS SVT Monitoring");
-
-		// Setup the plotter.
-		IAnalysisFactory fac = aida.analysisFactory();
-
-		plotter = fac.createPlotterFactory().create("Pedestal Shifts");
-		plotter.setTitle("Pedestal Shifts");
-		plotterFrame.addPlotter(plotter);
-		plotter.style().dataStyle().errorBarStyle().setVisible(false);
-		plotter.style().statisticsBoxStyle().setVisible(false);
-//        plotter.style().setParameter("hist2DStyle", "colorMap");
-//        plotter.style().dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
-//        plotter.style().zAxisStyle().setParameter("scale", "log");
-		plotter.style().dataStyle().fillStyle().setColor("red");
-		plotter.style().dataStyle().markerStyle().setShape("dot");
-		plotter.style().dataStyle().markerStyle().setSize(1);
-		plotter.createRegions(4, 5);
-
-		plotter2 = fac.createPlotterFactory().create("Fitted T0");
-		plotter2.setTitle("Fitted T0");
-		plotterFrame.addPlotter(plotter2);
-		plotter2.style().dataStyle().errorBarStyle().setVisible(false);
-		plotter2.style().statisticsBoxStyle().setVisible(false);
-		plotter2.style().setParameter("hist2DStyle", "colorMap");
-		plotter2.style().dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
-		plotter2.style().zAxisStyle().setParameter("scale", "log");
-		plotter2.style().zAxisStyle().setVisible(false);
-//        plotter2.style().dataStyle().markerStyle().setShape("dot");
-//        plotter2.style().dataStyle().markerStyle().setSize(1);
-		plotter2.createRegions(4, 5);
-
-		plotter3 = fac.createPlotterFactory().create("Fitted Amplitude");
-		plotter3.setTitle("Fitted Amplitude");
-		plotterFrame.addPlotter(plotter3);
-		plotter3.style().dataStyle().errorBarStyle().setVisible(false);
-		plotter3.style().statisticsBoxStyle().setVisible(false);
-		plotter3.style().setParameter("hist2DStyle", "colorMap");
-		plotter3.style().dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
-		plotter3.style().zAxisStyle().setParameter("scale", "log");
-		plotter3.style().zAxisStyle().setVisible(false);
-//        plotter3.style().dataStyle().markerStyle().setShape("dot");
-//        plotter3.style().dataStyle().markerStyle().setSize(1);
-		plotter3.createRegions(4, 5);
-
-		plotter4 = fac.createPlotterFactory().create("A vs. T0");
-		plotter4.setTitle("A vs. T0");
-		plotterFrame.addPlotter(plotter4);
-		plotter4.style().dataStyle().errorBarStyle().setVisible(false);
-		plotter4.style().statisticsBoxStyle().setVisible(false);
-		plotter4.style().setParameter("hist2DStyle", "colorMap");
-		plotter4.style().dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
-		plotter4.style().zAxisStyle().setParameter("scale", "log");
-		plotter4.style().zAxisStyle().setVisible(false);
-		plotter4.createRegions(4, 5);
-
-		// Setup the occupancy plots.
-		aida.tree().cd("/");
-		for (int module = 0; module < 2; module++) {
-			for (int layer = 0; layer < 10; layer++) {
-				int region = computePlotterRegion(layer + 1, module);
-				pedestalShifts[module][layer] = aida.profile1D(SvtUtils.getInstance().getSensor(module, layer).getName() + " Pedestal Shifts", 640, -0.5, 639.5);
+    private IHistogram2D[][] t0s = new IHistogram2D[2][10];
+    private IHistogram2D[][] amps = new IHistogram2D[2][10];
+
+    public SVTMonitoringPlots() {
+    }
+
+    public void setInputCollection(String inputCollection) {
+        this.inputCollection = inputCollection;
+    }
+
+    private int computePlotterRegion(int layer, int module) {
+        // Compute the sensor's x and y grid coordinates and then translate to region number.
+        int iy = (layer - 1) / 2;
+        int ix = 0;
+        if (module > 0) {
+            ix += 2;
+        }
+        if (layer % 2 == 0) {
+            ix += 1;
+        }
+        int region = ix * 5 + iy;
+        //System.out.println(sensor.getName() + "; lyr=" + layer + "; mod=" + module + " -> xy[" + ix + "][" + iy + "] -> reg="+region);
+        return region;
+    }
+
+    protected void detectorChanged(Detector detector) {
+        plotterFrame = new AIDAFrame();
+        plotterFrame.setTitle("HPS SVT Monitoring");
+
+        // Setup the plotter.
+        IAnalysisFactory fac = aida.analysisFactory();
+
+        plotter = fac.createPlotterFactory().create("Pedestal Shifts");
+        plotter.setTitle("Pedestal Shifts");
+        plotterFrame.addPlotter(plotter);
+        plotter.style().dataStyle().errorBarStyle().setVisible(false);
+        plotter.style().statisticsBoxStyle().setVisible(false);
+        plotter.style().dataStyle().fillStyle().setColor("red");
+        plotter.style().dataStyle().markerStyle().setShape("dot");
+        plotter.style().dataStyle().markerStyle().setSize(1);
+        plotter.createRegions(4, 5);
+
+        plotter2 = fac.createPlotterFactory().create("Fitted T0");
+        plotter2.setTitle("Fitted T0");
+        plotterFrame.addPlotter(plotter2);
+        plotter2.style().dataStyle().errorBarStyle().setVisible(false);
+        plotter2.style().statisticsBoxStyle().setVisible(false);
+        plotter2.style().setParameter("hist2DStyle", "colorMap");
+        plotter2.style().dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
+        plotter2.style().zAxisStyle().setParameter("scale", "log");
+        plotter2.style().zAxisStyle().setVisible(false);
+        plotter2.createRegions(4, 5);
+
+        plotter3 = fac.createPlotterFactory().create("Fitted Amplitude");
+        plotter3.setTitle("Fitted Amplitude");
+        plotterFrame.addPlotter(plotter3);
+        plotter3.style().dataStyle().errorBarStyle().setVisible(false);
+        plotter3.style().statisticsBoxStyle().setVisible(false);
+        plotter3.style().setParameter("hist2DStyle", "colorMap");
+        plotter3.style().dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
+        plotter3.style().zAxisStyle().setParameter("scale", "log");
+        plotter3.style().zAxisStyle().setVisible(false);
+        plotter3.createRegions(4, 5);
+
+        // Setup the occupancy plots.
+        aida.tree().cd("/");
+        for (int module = 0; module < 2; module++) {
+            for (int layer = 0; layer < 10; layer++) {
+                int region = computePlotterRegion(layer + 1, module);
+                SiSensor sensor = SvtUtils.getInstance().getSensor(module, layer);
+                pedestalShifts[module][layer] = aida.profile1D(sensor.getName() + " Pedestal Shifts", 640, -0.5, 639.5);
 //                pedestalShifts[module][layer] = aida.histogram2D(HPSSVTDAQMaps.sensorArray[module][layer].getName() + " Pedestal Shifts", 640, -0.5, 639.5, 100, -500, 500);
-				plotter.region(region).plot(pedestalShifts[module][layer]);
-				t0s[module][layer] = aida.histogram2D(SvtUtils.getInstance().getSensor(module, layer).getName() + " Fitted T0", 640, -0.5, 639.5, 100, -24, 72);
-				plotter2.region(region).plot(t0s[module][layer]);
-				amps[module][layer] = aida.histogram2D(SvtUtils.getInstance().getSensor(module, layer).getName() + " Fitted Amplitude", 640, -0.5, 639.5, 100, 0, 2000);
-				plotter3.region(region).plot(amps[module][layer]);
-				t0a[module][layer] = aida.histogram2D(SvtUtils.getInstance().getSensor(module, layer).getName() + " A vs. T0", 100, -100, 100, 100, 0, 2000);
-				plotter4.region(region).plot(t0a[module][layer]);
-//                plotter3.region(region).style().zAxisStyle().setParameter("labelVertical", "false");
-//                                for (String str : plotter3.region(region).style().zAxisStyle().availableParameterOptions("labelVertical"))
-//                                    System.out.println(str);
-
-			}
-		}
-		plotterFrame.pack();
-		plotterFrame.setVisible(true);
-	}
-
-	public void process(EventHeader event) {
-		if (event.hasCollection(RawTrackerHit.class, inputCollection)) {
-
-			// Get RawTrackerHit collection from event.
-			List<RawTrackerHit> rawTrackerHits = event.get(RawTrackerHit.class, inputCollection);
-
-			// Clear histograms.
-			for (int module = 0; module < 2; module++) {
-				for (int layer = 1; layer < 11; layer++) {
+                plotter.region(region).plot(pedestalShifts[module][layer]);
+                t0s[module][layer] = aida.histogram2D(sensor.getName() + " Fitted T0", 640, -0.5, 639.5, 100, -24, 72);
+                plotter2.region(region).plot(t0s[module][layer]);
+                amps[module][layer] = aida.histogram2D(sensor.getName() + " Fitted Amplitude", 640, -0.5, 639.5, 100, 0, 2000);
+                plotter3.region(region).plot(amps[module][layer]);
+            }
+        }
+        plotterFrame.pack();
+        plotterFrame.setVisible(true);
+    }
+
+    public void process(EventHeader event) {
+        if (event.hasCollection(RawTrackerHit.class, inputCollection)) {
+
+            // Get RawTrackerHit collection from event.
+            List<RawTrackerHit> rawTrackerHits = event.get(RawTrackerHit.class, inputCollection);
+
+            // Clear histograms.
+            for (int module = 0; module < 2; module++) {
+                for (int layer = 1; layer < 11; layer++) {
 //                    plotter.region(computePlotterRegion(layer, module)).setYLimits(pedestalShifts[module][layer - 1].minBinHeight()-100, pedestalShifts[module][layer - 1].maxBinHeight()+100);
 //                    pedestalShifts[module][layer - 1].reset();
-				}
-			}
+                }
+            }
 
-			// Increment strip hit count.
-			for (RawTrackerHit hit : rawTrackerHits) {
-				int layer = hit.getIdentifierFieldValue("layer"); // 1-10; axial layers are odd layers; stereo layers are even
-				int module = hit.getIdentifierFieldValue("module"); // 0-1; module number is top or bottom
-				double pedestal = HPSSVTCalibrationConstants.getPedestal((SiSensor) hit.getDetectorElement(), hit.getIdentifierFieldValue("strip"));
-				pedestalShifts[module][layer - 1].fill(hit.getIdentifierFieldValue("strip"), hit.getADCValues()[0] - pedestal);
-			}
-		}
-
-		if (event.hasCollection(HPSFittedRawTrackerHit.class, fitCollection)) {
-			List<HPSFittedRawTrackerHit> fits = event.get(HPSFittedRawTrackerHit.class, fitCollection);
-			for (HPSFittedRawTrackerHit fit : fits) {
-				int layer = fit.getRawTrackerHit().getIdentifierFieldValue("layer"); // 1-10; axial layers are odd layers; stereo layers are even
-				int module = fit.getRawTrackerHit().getIdentifierFieldValue("module"); // 0-1; module number is top or bottom
-				int strip = fit.getRawTrackerHit().getIdentifierFieldValue("strip");
-				if (fit.getShapeFitParameters().getChiSq() < 5) {
-//                    if (fit.getAmp() > 200) {
-					t0s[module][layer - 1].fill(strip, fit.getT0());
-//                    }
-					amps[module][layer - 1].fill(strip, fit.getAmp());
-					t0a[module][layer - 1].fill(fit.getT0(), fit.getAmp());
-				}
-			}
-		}
-
-	}
-
-	public void endOfData() {
-		plotterFrame.dispose();
-	}
+            // Increment strip hit count.
+            for (RawTrackerHit hit : rawTrackerHits) {
+                int layer = hit.getIdentifierFieldValue("layer"); // 1-10; axial layers are odd layers; stereo layers are even
+                int module = hit.getIdentifierFieldValue("module"); // 0-1; module number is top or bottom
+                double pedestal = HPSSVTCalibrationConstants.getPedestal((SiSensor) hit.getDetectorElement(), hit.getIdentifierFieldValue("strip"));
+                pedestalShifts[module][layer - 1].fill(hit.getIdentifierFieldValue("strip"), hit.getADCValues()[0] - pedestal);
+            }
+        }
+
+        if (event.hasCollection(HPSFittedRawTrackerHit.class, fitCollection)) {
+            List<HPSFittedRawTrackerHit> fits = event.get(HPSFittedRawTrackerHit.class, fitCollection);
+            for (HPSFittedRawTrackerHit fit : fits) {
+                int layer = fit.getRawTrackerHit().getIdentifierFieldValue("layer"); // 1-10; axial layers are odd layers; stereo layers are even
+                int module = fit.getRawTrackerHit().getIdentifierFieldValue("module"); // 0-1; module number is top or bottom
+                int strip = fit.getRawTrackerHit().getIdentifierFieldValue("strip");
+                if (fit.getShapeFitParameters().getChiSq() < 5) {
+                    double noise = HPSSVTCalibrationConstants.getNoise((SiSensor) fit.getRawTrackerHit().getDetectorElement(), strip);
+                    if (fit.getAmp() > 4 * noise) {
+                        t0s[module][layer - 1].fill(strip, fit.getT0());
+                    }
+                    amps[module][layer - 1].fill(strip, fit.getAmp());
+                }
+            }
+        }
+    }
+
+    public void endOfData() {
+        plotterFrame.dispose();
+    }
 }
\ No newline at end of file

hps-java/src/main/resources/org/lcsim/hps/steering
TestRunMonitoring.lcsim 1.19 -> 1.20
diff -u -r1.19 -r1.20
--- TestRunMonitoring.lcsim	23 May 2012 18:22:16 -0000	1.19
+++ TestRunMonitoring.lcsim	24 May 2012 19:48:40 -0000	1.20
@@ -18,11 +18,12 @@
 <!--        <driver name="EcalDaqPlots"/>-->
         <driver name="EcalMonitoringPlots"/>
 <!--        <driver name="EcalEventMonitor"/>-->
-        <driver name="SVTOccupancyPlots"/>
+<!--        <driver name="SVTOccupancyPlots"/>-->
         <driver name="SVTSimpleEventDisplay"/>
 <!--        <driver name="SVTPulsePlots"/>-->
         <driver name="SVTMonitoringPlots"/>
-        <driver name="SVTHitRecoPlots"/>
+        <driver name="SVTPulseFitPlots"/>
+<!--        <driver name="SVTHitRecoPlots"/>-->
         <driver name="CleanupDriver"/>
 
     </execute>    
@@ -77,9 +78,12 @@
         </driver>    
         <driver name="SVTMonitoringPlots" type="org.lcsim.hps.monitoring.svt.SVTMonitoringPlots">
         </driver>
+        <driver name="SVTPulseFitPlots"
+                type="org.lcsim.hps.monitoring.svt.SVTPulseFitPlots">
+            <fittedTrackerHitCollectionName>SVTFittedRawTrackerHits</fittedTrackerHitCollectionName>   
+        </driver>
         <driver name="SVTHitRecoPlots"
                 type="org.lcsim.hps.monitoring.svt.SVTHitReconstructionPlots">
-            <rawTrackerHitCollectionName>SVTRawTrackerHits</rawTrackerHitCollectionName>   
             <fittedTrackerHitCollectionName>SVTFittedRawTrackerHits</fittedTrackerHitCollectionName>   
         </driver>
         <driver name="RawTrackerHitMaker" type="org.lcsim.hps.recon.tracking.SVTDataToRawTrackerHitDriver"/>
CVSspam 0.2.12


Use REPLY-ALL to reply to list

To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1