Commit in hps-java/src/main/java/org/lcsim/hps/monitoring/svt on MAIN
TrackTimePlots.java+51-51.2 -> 1.3
SVTHitReconstructionPlots.java+41-221.18 -> 1.19
+92-27
2 modified files
various changes to SVT timing plots

hps-java/src/main/java/org/lcsim/hps/monitoring/svt
TrackTimePlots.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- TrackTimePlots.java	11 Jun 2012 22:57:02 -0000	1.2
+++ TrackTimePlots.java	22 Jun 2012 00:24:44 -0000	1.3
@@ -1,9 +1,11 @@
 package org.lcsim.hps.monitoring.svt;
 
 import hep.aida.*;
+import hep.aida.ref.plotter.PlotterRegion;
 import java.util.List;
 import org.lcsim.detector.identifier.IIdentifier;
 import org.lcsim.detector.identifier.IIdentifierHelper;
+import org.lcsim.detector.tracker.silicon.DopedSilicon;
 import org.lcsim.detector.tracker.silicon.SiSensor;
 import org.lcsim.event.EventHeader;
 import org.lcsim.event.Track;
@@ -31,7 +33,7 @@
     private AIDA aida = AIDA.defaultInstance();
     private String hitCollection = "StripClusterer_SiTrackerHitStrip1D";
     private String trackCollection = "MatchedTracks";
-    IPlotter plotter, plotter2, plotter3, plotter4, plotter5,plotter6;
+    IPlotter plotter, plotter2, plotter3, plotter4, plotter5, plotter6, plotter7;
     private IHistogram1D[][] t0 = new IHistogram1D[2][10];
     private IHistogram1D[][] trackHitT0 = new IHistogram1D[2][10];
     private IHistogram1D[][] trackHitDt = new IHistogram1D[2][10];
@@ -39,6 +41,8 @@
     private IHistogram1D[] trackT0 = new IHistogram1D[2];
     private IHistogram2D[] trackTrigTime = new IHistogram2D[2];
     private IHistogram2D[][] trackHitDtChan = new IHistogram2D[2][10];
+    private IHistogram1D[] trackTimeRange = new IHistogram1D[2];
+    private IHistogram2D[] trackTimeMinMax = new IHistogram2D[2];
 
     @Override
     protected void detectorChanged(Detector detector) {
@@ -87,6 +91,7 @@
         plotter5.setTitle("Track Time vs. dt");
         plotterFrame.addPlotter(plotter5);
         style = plotter5.style();
+        style.statisticsBoxStyle().setVisible(false);
         style.setParameter("hist2DStyle", "colorMap");
         style.dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
         style.zAxisStyle().setParameter("scale", "log");
@@ -96,34 +101,65 @@
         plotter6.setTitle("Track dt vs. Channel");
         plotterFrame.addPlotter(plotter6);
         style = plotter6.style();
+        style.statisticsBoxStyle().setVisible(false);
         style.setParameter("hist2DStyle", "colorMap");
         style.dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
         style.zAxisStyle().setParameter("scale", "log");
         plotter6.createRegions(4, 5);
 
+        plotter7 = fac.create("HPS SVT Track Hit Time Range");
+        plotter7.setTitle("Track Hit Time Range");
+        plotterFrame.addPlotter(plotter7);
+        style = plotter7.style();
+        style.dataStyle().fillStyle().setColor("yellow");
+        style.dataStyle().errorBarStyle().setVisible(false);
+        plotter7.createRegions(2, 2);
+
         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", 75, -50, 100.0);
                 plotter.region(region).plot(t0[module][layer]);
-                trackHitT0[module][layer] = aida.histogram1D(sensor.getName() + "_trackHit_timing", 75, -50, 100.0);
+                ((PlotterRegion) plotter.region(region)).getPlot().getXAxis().setLabel("Hit time [ns]");
+                trackHitT0[module][layer] = aida.histogram1D(sensor.getName() + "_trackHit_timing", 75, -50, 4000.0);
                 plotter3.region(region).plot(trackHitT0[module][layer]);
+                ((PlotterRegion) plotter3.region(region)).getPlot().getXAxis().setLabel("Hit time [ns]");
                 trackHitDt[module][layer] = aida.histogram1D(sensor.getName() + "_trackHit_dt", 50, -20, 20.0);
                 plotter4.region(region).plot(trackHitDt[module][layer]);
+                ((PlotterRegion) plotter4.region(region)).getPlot().getXAxis().setLabel("Hit time residual [ns]");
                 trackHit2D[module][layer] = aida.histogram2D(sensor.getName() + "_trackHit_dt_2D", 75, -50, 100.0, 50, -20, 20.0);
                 plotter5.region(region).plot(trackHit2D[module][layer]);
+                ((PlotterRegion) plotter5.region(region)).getPlot().getXAxis().setLabel("Track time [ns]");
+                ((PlotterRegion) plotter5.region(region)).getPlot().getYAxis().setLabel("Hit time [ns]");
                 trackHitDtChan[module][layer] = aida.histogram2D(sensor.getName() + "_trackHit_dt_chan", 200, -20, 20, 50, -20, 20.0);
                 plotter6.region(region).plot(trackHitDtChan[module][layer]);
+                ((PlotterRegion) plotter6.region(region)).getPlot().getXAxis().setLabel("Hit position [mm]");
+                ((PlotterRegion) plotter6.region(region)).getPlot().getYAxis().setLabel("Hit time residual [ns]");
             }
-            trackT0[module] = aida.histogram1D((module == 0 ? "Top" : "Bottom") + "Track Time", 75, -50, 100.0);
+            trackT0[module] = aida.histogram1D((module == 0 ? "Top" : "Bottom") + " Track Time", 75, -50, 100.0);
             plotter2.region(module).plot(trackT0[module]);
-            trackTrigTime[module] = aida.histogram2D((module == 0 ? "Top" : "Bottom") + "Track Time vs. Trig Time", 75, -50, 100.0, 33, -1, 32);
+            ((PlotterRegion) plotter2.region(module)).getPlot().getXAxis().setLabel("Track time [ns]");
+            trackTrigTime[module] = aida.histogram2D((module == 0 ? "Top" : "Bottom") + " Track Time vs. Trig Time", 75, -50, 100.0, 33, -1, 32);
             plotter2.region(module + 2).plot(trackTrigTime[module]);
+            ((PlotterRegion) plotter2.region(module+2)).getPlot().getXAxis().setLabel("Track time [ns]");
+            ((PlotterRegion) plotter2.region(module+2)).getPlot().getYAxis().setLabel("Trigger time [clocks]");
             style = plotter2.region(module + 2).style();
             style.setParameter("hist2DStyle", "colorMap");
             style.dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
             style.zAxisStyle().setParameter("scale", "log");
+
+            trackTimeRange[module] = aida.histogram1D((module == 0 ? "Top" : "Bottom") + " Track Hit Time Range", 75, 0, 30.0);
+            plotter7.region(module).plot(trackTimeRange[module]);
+            ((PlotterRegion) plotter7.region(module)).getPlot().getXAxis().setLabel("Track time range [ns]");
+            trackTimeMinMax[module] = aida.histogram2D((module == 0 ? "Top" : "Bottom") + " First and Last Track Hit Times", 75, -50, 100.0, 75, -50, 100.0);
+            plotter7.region(module + 2).plot(trackTimeMinMax[module]);
+            ((PlotterRegion) plotter7.region(module+2)).getPlot().getXAxis().setLabel("First track hit time [ns]");
+            ((PlotterRegion) plotter7.region(module+2)).getPlot().getYAxis().setLabel("Last track hit time [ns]");
+            style = plotter7.region(module + 2).style();
+            style.setParameter("hist2DStyle", "colorMap");
+            style.dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
+            style.zAxisStyle().setParameter("scale", "log");
         }
 //        shape = aida.histogram2D("Shape", 200, -1, 3, 200, -0.5, 2);
 //        plotter5.region(0).plot(shape);
@@ -203,16 +239,26 @@
             } else {
                 trackModule = 1;
             }
+            double minTime = Double.POSITIVE_INFINITY;
+            double maxTime = Double.NEGATIVE_INFINITY;
             int hitCount = 0;
             double trackTime = 0;
             for (TrackerHit hitCross : track.getTrackerHits()) {
                 for (HelicalTrackStrip hit : ((HelicalTrackCross) hitCross).getStrips()) {
                     int layer = hit.layer();
-                    trackHitT0[trackModule][layer - 1].fill(hit.time());
+                    trackHitT0[trackModule][layer - 1].fill(hit.dEdx() / DopedSilicon.ENERGY_EHPAIR);
                     trackTime += hit.time();
                     hitCount++;
+                    if (hit.time() > maxTime) {
+                        maxTime = hit.time();
+                    }
+                    if (hit.time() < minTime) {
+                        minTime = hit.time();
+                    }
                 }
             }
+            trackTimeMinMax[trackModule].fill(minTime, maxTime);
+            trackTimeRange[trackModule].fill(maxTime - minTime);
             trackTime /= hitCount;
             trackT0[trackModule].fill(trackTime);
             if (trackModule == 0) {

hps-java/src/main/java/org/lcsim/hps/monitoring/svt
SVTHitReconstructionPlots.java 1.18 -> 1.19
diff -u -r1.18 -r1.19
--- SVTHitReconstructionPlots.java	11 Jun 2012 22:52:43 -0000	1.18
+++ SVTHitReconstructionPlots.java	22 Jun 2012 00:24:44 -0000	1.19
@@ -1,6 +1,7 @@
 package org.lcsim.hps.monitoring.svt;
 
 import hep.aida.*;
+import hep.aida.ref.plotter.PlotterRegion;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
@@ -44,6 +45,12 @@
     IPlotter plotter4;
     IPlotter plotter5;
     IPlotter plotter6;
+    IHistogram1D nrawPlot[][] = new IHistogram1D[2][10];
+    IHistogram1D nrecoPlot[][] = new IHistogram1D[2][10];
+    IHistogram1D nclustPlot[][] = new IHistogram1D[2][10];
+    IHistogram1D clusterSizePlot[][] = new IHistogram1D[2][10];
+    IHistogram1D clusterAmpPlot[][] = new IHistogram1D[2][10];
+    IHistogram2D clposVsStrip[][] = new IHistogram2D[2][10];
     private Map<String, Integer> sensorRegionMap;
     private String outputPlots = null;
 
@@ -106,6 +113,7 @@
         style7.dataStyle().fillStyle().setColor("green");
         style7.dataStyle().errorBarStyle().setVisible(false);
         plotter5.createRegions(5, 4);
+//        plotter5.createRegion();
 
         plotter6 = fac.createPlotterFactory().create("HPS SVT Cluster Position Vs Channel");
         plotter6.setTitle("Cluster Position (y)");
@@ -119,22 +127,30 @@
         style8.zAxisStyle().setParameter("scale", "log");
         plotter6.createRegions(5, 4);
 
-        for (SiSensor sensor : sensors) {
-            IHistogram1D nrawPlot = aida.histogram1D(sensor.getName() + "_raw_hits", 10, -0.5, 9.5);
-            IHistogram1D nrecoPlot = aida.histogram1D(sensor.getName() + "_reco_hits", 10, -0.5, 9.5);
-            IHistogram1D nclustPlot = aida.histogram1D(sensor.getName() + "_cluster_hits", 10, -0.5, 9.5);
-            IHistogram1D clusterSizePlot = aida.histogram1D(sensor.getName() + "_cluster_size", 9, 0.5, 9.5);
-            IHistogram1D clusterAmpPlot = aida.histogram1D(sensor.getName() + "_cluster_amp", 50, 0, 3000.0);
-            IHistogram2D clposVsStrip = aida.histogram2D(sensor.getName() + "_cluster_vs_strip", 128, 0, 640, 100, -50, 50);
-            int region = sensorRegionMap.get(sensor.getName());
-            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);
-
+        for (int module = 0; module < 2; module++) {
+            for (int layer = 0; layer < 10; layer++) {
+                SiSensor sensor = SvtUtils.getInstance().getSensor(module, layer);
+                int region = computePlotterRegion(sensor);
+
+                nrawPlot[module][layer] = aida.histogram1D(sensor.getName() + "_raw_hits", 10, -0.5, 9.5);
+                nrecoPlot[module][layer] = aida.histogram1D(sensor.getName() + "_reco_hits", 10, -0.5, 9.5);
+                nclustPlot[module][layer] = aida.histogram1D(sensor.getName() + "_cluster_hits", 10, -0.5, 9.5);
+                clusterSizePlot[module][layer] = aida.histogram1D(sensor.getName() + "_cluster_size", 9, 0.5, 9.5);
+                clusterAmpPlot[module][layer] = aida.histogram1D(sensor.getName() + "_cluster_amp", 50, 0, 4000.0);
+                clposVsStrip[module][layer] = aida.histogram2D(sensor.getName() + "_cluster_vs_strip", 128, 0, 640, 100, -50, 50);
+                plotter1.region(region).plot(nrawPlot[module][layer]);
+                plotter3.region(region).plot(nrecoPlot[module][layer]);
+                plotter2.region(region).plot(nclustPlot[module][layer]);
+                plotter4.region(region).plot(clusterSizePlot[module][layer]);
+                plotter5.region(region).plot(clusterAmpPlot[module][layer]);
+                ((PlotterRegion) plotter5.region(region)).getPlot().getXAxis().setLabel("Cluster amplitude [ADC counts]");
+                plotter6.region(region).plot(clposVsStrip[module][layer]);
+            }
         }
+
+//        plotter5.region(0).plot(aida.histogram1D("Tracker_TestRunModule_layer6_module0_sensor0" + "_cluster_amp"));
+//        ((PlotterRegion) plotter5.region(0)).getPlot().getXAxis().setLabel("Cluster amplitude [ADC counts]");
+
         IProfile1D hitsPerLayerTop = aida.profile1D("Number of Fitted Hits per layer in Top Half", 10, 1, 11);
         IProfile1D hitsPerLayerBot = aida.profile1D("Number of Fitted Hits per layer in Bottom Half", 10, 1, 11);
         plotterFrame.pack();
@@ -176,10 +192,11 @@
         for (HPSFittedRawTrackerHit hrth : fittedrawHits) {
             SiSensor sensor = (SiSensor) hrth.getRawTrackerHit().getDetectorElement();
             int layer = hrth.getRawTrackerHit().getLayerNumber();
-            if (!SvtUtils.getInstance().isTopLayer(sensor))
+            if (!SvtUtils.getInstance().isTopLayer(sensor)) {
                 layersBot[layer - 1]++;
-            else
+            } else {
                 layersTop[layer - 1]++;
+            }
         }
 
         for (int i = 0; i < 10; i++) {
@@ -189,14 +206,15 @@
         Map<SiSensor, Integer> clustMap = new HashMap<SiSensor, Integer>();
         for (SiTrackerHitStrip1D cluster : stripHits) {
             SiSensor sensor = cluster.getSensor();
-            if (clustMap.containsKey(sensor))
+            if (clustMap.containsKey(sensor)) {
                 clustMap.put(sensor, clustMap.get(sensor) + 1);
-            else
+            } else {
                 clustMap.put(sensor, 1);
+            }
             String sensorName = sensor.getName();
             int clusterSize = cluster.getRawHits().size();
             aida.histogram1D(sensorName + "_cluster_size").fill(clusterSize);
-            double cluAmp = cluster.getdEdx()/DopedSilicon.ENERGY_EHPAIR;
+            double cluAmp = cluster.getdEdx() / DopedSilicon.ENERGY_EHPAIR;
             aida.histogram1D(sensorName + "_cluster_amp").fill(cluAmp);
             double clpos = cluster.getPositionAsVector().y();
             RawTrackerHit raw = (RawTrackerHit) cluster.getRawHits().get(0);
@@ -213,10 +231,11 @@
             int nreco = sensor.getReadout().getHits(HPSFittedRawTrackerHit.class).size();
             aida.histogram1D(sensorName + "_raw_hits").fill(nraw);
             aida.histogram1D(sensorName + "_reco_hits").fill(nreco);
-            if (clustMap.containsKey(sensor))
+            if (clustMap.containsKey(sensor)) {
                 aida.histogram1D(sensorName + "_cluster_hits").fill(clustMap.get(sensor));
-            else
+            } else {
                 aida.histogram1D(sensorName + "_cluster_hits").fill(0);
+            }
         }
     }
 
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