Commit in java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt on MAIN
PedestalPlots.java+8-31162 -> 1163
SVTEventInfo.java+4-21162 -> 1163
SVTHitReconstructionPlots.java+22-71162 -> 1163
SVTMonitoringPlots.java+22-51162 -> 1163
SVTPulseFitPlots.java+27-31162 -> 1163
SVTSimpleEventDisplay.java+30-61162 -> 1163
TrackTimePlots.java+65-111162 -> 1163
TrackingReconstructionPlots.java+7-51162 -> 1163
+185-42
8 modified files
Remove the use of SvtUtils from all SVT monitoring plots.

java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt
PedestalPlots.java 1162 -> 1163
--- java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/PedestalPlots.java	2014-10-09 19:33:52 UTC (rev 1162)
+++ java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/PedestalPlots.java	2014-10-09 23:32:41 UTC (rev 1163)
@@ -18,7 +18,7 @@
 
 
 //===> import org.hps.conditions.deprecated.HPSSVTCalibrationConstants;
-import org.hps.conditions.deprecated.SvtUtils;
+//===> import org.hps.conditions.deprecated.SvtUtils;
 import org.lcsim.detector.tracker.silicon.HpsSiSensor;
 import org.lcsim.detector.tracker.silicon.SiSensor;
 import org.lcsim.event.EventHeader;
@@ -42,7 +42,9 @@
     private String rawTrackerHitCollectionName = "SVTRawTrackerHits";
     private String fitFile = null;
     private boolean plotTimeSeries = false;
-
+    private static final String subdetectorName = "Tracker";
+    
+    
     public void setFitFile(String fitFile) {
         this.fitFile = fitFile;
     }
@@ -62,7 +64,10 @@
         sumsqs = new HashMap<SiSensor, double[]>();
         plots = new HashMap<SiSensor, IDataPointSet[]>();
 
-        for (SiSensor sensor : SvtUtils.getInstance().getSensors()) {
+        List<SiSensor> sensors = detector.getSubdetector(subdetectorName).getDetectorElement().findDescendants(SiSensor.class);
+        
+        //===> for (SiSensor sensor : SvtUtils.getInstance().getSensors()) {
+        for (SiSensor sensor : sensors) {
             hists.put(sensor, aida.histogram2D(sensor.getName() + " sample 1 vs. ch", 640, -0.5, 639.5, 500, -500.0, 3000.0));
             if (plotTimeSeries) {
                 counts.put(sensor, new int[640]);

java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt
SVTEventInfo.java 1162 -> 1163
--- java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SVTEventInfo.java	2014-10-09 19:33:52 UTC (rev 1162)
+++ java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SVTEventInfo.java	2014-10-09 23:32:41 UTC (rev 1163)
@@ -12,11 +12,12 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import org.hps.conditions.deprecated.SvtUtils;
+//===> import org.hps.conditions.deprecated.SvtUtils;
 import org.hps.util.Resettable;
 import org.lcsim.detector.identifier.IIdentifier;
 import org.lcsim.detector.tracker.silicon.ChargeCarrier;
 import org.lcsim.detector.tracker.silicon.SiSensor;
+import org.lcsim.detector.tracker.silicon.HpsSiSensor;
 import org.lcsim.detector.tracker.silicon.SiSensorElectrodes;
 import org.lcsim.detector.tracker.silicon.SiTrackerIdentifierHelper;
 import org.lcsim.event.EventHeader;
@@ -171,7 +172,8 @@
 
         ChargeCarrier carrier = ChargeCarrier.getCarrier(_sid_helper.getSideValue(id));
         SiSensorElectrodes electrodes = ((SiSensor) hit.getDetectorElement()).getReadoutElectrodes(carrier);
-        if(!SvtUtils.getInstance().isTopLayer(sensor))
+        //===> if(!SvtUtils.getInstance().isTopLayer(sensor))
+        if(!((HpsSiSensor) sensor).isTopLayer())
             return false;
         return true;
     }

java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt
SVTHitReconstructionPlots.java 1162 -> 1163
--- java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SVTHitReconstructionPlots.java	2014-10-09 19:33:52 UTC (rev 1162)
+++ java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SVTHitReconstructionPlots.java	2014-10-09 23:32:41 UTC (rev 1163)
@@ -15,13 +15,14 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import org.hps.conditions.deprecated.SvtUtils;
+//===> import org.hps.conditions.deprecated.SvtUtils;
 import org.hps.recon.tracking.FittedRawTrackerHit;
 import org.hps.util.Resettable;
 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.detector.tracker.silicon.HpsSiSensor;
 import org.lcsim.detector.tracker.silicon.SiTrackerIdentifierHelper;
 import org.lcsim.event.EventHeader;
 import org.lcsim.event.RawTrackerHit;
@@ -33,8 +34,6 @@
 /**
  *
  * @author mgraham
- * @version $Id: SVTHitReconstructionPlots.java,v 1.14 2012/05/18 07:41:49 meeg
- * Exp $
  */
 public class SVTHitReconstructionPlots extends Driver implements Resettable {
 
@@ -51,12 +50,12 @@
     IPlotter plotter4;
     IPlotter plotter5;
     IPlotter plotter6;
-    IHistogram1D nrawPlot[][] = new IHistogram1D[2][10];
+    /*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];
+    IHistogram2D clposVsStrip[][] = new IHistogram2D[2][10];*/
     private Map<String, Integer> sensorRegionMap;
     private String outputPlots = null;
 
@@ -133,6 +132,21 @@
         style8.zAxisStyle().setParameter("scale", "log");
         plotter6.createRegions(5, 4);
 
+       
+       // TODO: Check if this block of code is equivalent to the block commented out below
+       for(SiSensor sensor : sensors){
+    	   
+                int region = computePlotterRegion(sensor);
+                plotter1.region(region).plot(aida.histogram1D(sensor.getName() + "_raw_hits", 10, -0.5, 9.5));
+                plotter3.region(region).plot(aida.histogram1D(sensor.getName() + "_reco_hits", 10, -0.5, 9.5));
+                plotter2.region(region).plot(aida.histogram1D(sensor.getName() + "_cluster_hits", 10, -0.5, 9.5));
+                plotter4.region(region).plot(aida.histogram1D(sensor.getName() + "_cluster_size", 9, 0.5, 9.5));
+                plotter5.region(region).plot(aida.histogram1D(sensor.getName() + "_cluster_amp", 50, 0, 4000.0));
+                ((PlotterRegion) plotter5.region(region)).getPlot().getXAxis().setLabel("Cluster amplitude [ADC counts]");
+                plotter6.region(region).plot(aida.histogram2D(sensor.getName() + "_cluster_vs_strip", 128, 0, 640, 100, -50, 50));
+       }
+        
+        /* ===> 
         for (int module = 0; module < 2; module++) {
             for (int layer = 0; layer < 10; layer++) {
                 SiSensor sensor = SvtUtils.getInstance().getSensor(module, layer);
@@ -152,7 +166,7 @@
                 ((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]");
@@ -198,7 +212,8 @@
         for (FittedRawTrackerHit hrth : fittedrawHits) {
             SiSensor sensor = (SiSensor) hrth.getRawTrackerHit().getDetectorElement();
             int layer = hrth.getRawTrackerHit().getLayerNumber();
-            if (!SvtUtils.getInstance().isTopLayer(sensor)) {
+            //===> if (!SvtUtils.getInstance().isTopLayer(sensor)) {
+            if (!((HpsSiSensor) sensor).isTopLayer()) {
                 layersBot[layer - 1]++;
             } else {
                 layersTop[layer - 1]++;

java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt
SVTMonitoringPlots.java 1162 -> 1163
--- java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SVTMonitoringPlots.java	2014-10-09 19:33:52 UTC (rev 1162)
+++ java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SVTMonitoringPlots.java	2014-10-09 23:32:41 UTC (rev 1163)
@@ -10,10 +10,9 @@
 import org.apache.commons.math3.special.Gamma;
 
 //===> import org.hps.conditions.deprecated.HPSSVTCalibrationConstants;
-import org.hps.conditions.deprecated.SvtUtils;
+//===> import org.hps.conditions.deprecated.SvtUtils;
 import org.hps.recon.tracking.FittedRawTrackerHit;
 import org.lcsim.detector.tracker.silicon.HpsSiSensor;
-import org.lcsim.detector.tracker.silicon.SiSensor;
 import org.lcsim.event.EventHeader;
 import org.lcsim.event.RawTrackerHit;
 import org.lcsim.geometry.Detector;
@@ -42,6 +41,9 @@
     private IHistogram2D[][] t0s = new IHistogram2D[2][10];
     private IHistogram2D[][] amps = new IHistogram2D[2][10];
 
+    private static final String subdetectorName = "Tracker";
+    
+    
     public SVTMonitoringPlots() {
     }
 
@@ -68,6 +70,8 @@
         //plotterFrame = new AIDAFrame();
         //plotterFrame.setTitle("HPS SVT Monitoring");
 
+        List<HpsSiSensor> sensors = detector.getSubdetector(subdetectorName).getDetectorElement().findDescendants(HpsSiSensor.class);
+
         // Setup the plotter.
         IAnalysisFactory fac = aida.analysisFactory();
 
@@ -102,9 +106,22 @@
         plotter3.style().zAxisStyle().setParameter("scale", "log");
         plotter3.style().zAxisStyle().setVisible(false);
         plotter3.createRegions(4, 5);
+        
+        aida.tree().cd("/");
+        // Setup the occupancy plots.
+        for(HpsSiSensor sensor : sensors){
+        	int module = sensor.getModuleNumber();
+        	int layer = sensor.getLayerNumber(); 
+            int region = computePlotterRegion(layer + 1, module);
+            pedestalShifts[module][layer] = aida.profile1D(sensor.getName() + " Pedestal Shifts", 640, -0.5, 639.5);
+            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]);
+        }
 
-        // 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);
@@ -117,7 +134,7 @@
                 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);
     }

java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt
SVTPulseFitPlots.java 1162 -> 1163
--- java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SVTPulseFitPlots.java	2014-10-09 19:33:52 UTC (rev 1162)
+++ java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SVTPulseFitPlots.java	2014-10-09 23:32:41 UTC (rev 1163)
@@ -14,11 +14,11 @@
 
 //===> import org.hps.conditions.deprecated.HPSSVTCalibrationConstants;
 import org.hps.conditions.deprecated.HPSSVTConstants;
-import org.hps.conditions.deprecated.SvtUtils;
+//===> import org.hps.conditions.deprecated.SvtUtils;
 import org.hps.recon.tracking.FittedRawTrackerHit;
 import org.hps.util.Resettable;
+
 import org.lcsim.detector.tracker.silicon.HpsSiSensor;
-import org.lcsim.detector.tracker.silicon.SiSensor;
 import org.lcsim.event.EventHeader;
 import org.lcsim.geometry.Detector;
 import org.lcsim.util.Driver;
@@ -47,8 +47,12 @@
     private IHistogram2D[][] shape = new IHistogram2D[2][10];
 //    private IHistogram2D shape;
 
+    private static final String subdetectorName = "Tracker";
+    
     protected void detectorChanged(Detector detector) {
 
+        List<HpsSiSensor> sensors = detector.getSubdetector(subdetectorName).getDetectorElement().findDescendants(HpsSiSensor.class);
+
         aida.tree().cd("/");
 
         IAnalysisFactory fac = aida.analysisFactory();
@@ -92,6 +96,26 @@
         plotter5.style().zAxisStyle().setVisible(false);
         plotter5.createRegions(4, 5);
 
+        
+        // Setup the occupancy plots.
+        for(HpsSiSensor sensor : sensors){
+        	int module = sensor.getModuleNumber();
+        	int layer = sensor.getLayerNumber(); 
+            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]);
+            chiprob[module][layer] = aida.histogram1D(sensor.getName() + "_chiprob", 100, 0, 1.0);
+            plotter3.region(region).plot(chiprob[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]);
+        }
+        
+
+        /* ==> 
         for (int module = 0; module < 2; module++) {
             for (int layer = 0; layer < 10; layer++) {
                 SiSensor sensor = SvtUtils.getInstance().getSensor(module, layer);
@@ -108,7 +132,7 @@
                 plotter5.region(region).plot(shape[module][layer]);
 
             }
-        }
+        } ===> */
     }
 
     public SVTPulseFitPlots() {

java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt
SVTSimpleEventDisplay.java 1162 -> 1163
--- java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SVTSimpleEventDisplay.java	2014-10-09 19:33:52 UTC (rev 1162)
+++ java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SVTSimpleEventDisplay.java	2014-10-09 23:32:41 UTC (rev 1163)
@@ -5,10 +5,15 @@
 import hep.aida.IPlotterFactory;
 //import hep.aida.jfree.plot.style.DefaultHistogram1DStyle;
 
+
+
 import java.util.List;
 
-import org.hps.conditions.deprecated.SvtUtils;
+
+
+//===> import org.hps.conditions.deprecated.SvtUtils;
 import org.hps.util.Resettable;
+import org.lcsim.detector.tracker.silicon.HpsSiSensor;
 import org.lcsim.event.EventHeader;
 import org.lcsim.event.RawTrackerHit;
 import org.lcsim.fit.helicaltrack.HelicalTrackHit;
@@ -22,7 +27,6 @@
  * This class can be configured to reset after each event for use as an
  * event display by calling {@link #setSingleEvent(boolean)}.
  * 
- * @version $Id: SVTSimpleEventDisplay.java,v 1.13 2013/11/06 19:19:55 jeremy Exp $
  */
 public class SVTSimpleEventDisplay extends Driver implements Resettable {
 
@@ -53,6 +57,11 @@
      */
     private boolean singleEvent = true;
 
+    /*
+     * Subdetector Name 
+     */
+    private static final String subdetectorName = "Tracker";
+
     /**
      * Class constructor.
      */
@@ -117,12 +126,14 @@
      * Configure this Driver for a new Detector, e.g. setup the plots and show them.
      */
     protected void detectorChanged(Detector detector) {
+        List<HpsSiSensor> sensors = detector.getSubdetector(subdetectorName).getDetectorElement().findDescendants(HpsSiSensor.class);
+
         createPlotterFactory();
         setupRawTrackerHitPlots();
         setupTrackerHitPlots();
         setupHelicalTrackHitPlots();
         setupHitCountPlots();
-        setupOccupancyPlots();
+        setupOccupancyPlots(sensors);
         showPlots();
     }
 
@@ -180,9 +191,22 @@
         plotter4.show();
     }
 
-    private void setupOccupancyPlots() {
+    private void setupOccupancyPlots(List<HpsSiSensor> sensors) {
         aida.tree().cd("/");
-        for (int module = 0; module < 2; module++) {
+        
+        for(HpsSiSensor sensor : sensors){
+        	int module = sensor.getModuleNumber();
+        	int layer = sensor.getLayerNumber(); 
+            int region = computePlotterRegion(layer + 1, module);
+            rth[module][layer] = aida.histogram1D(sensor.getName() + " RawTrackerHits", 640, -0.5, 639.5);
+            plotter.region(region).plot(rth[module][layer]);
+            th[module][layer] = aida.histogram1D(sensor.getName() + " TrackerHits", 640, -0.5, 639.5);
+            plotter2.region(region).plot(th[module][layer]);
+            hth[module][layer] = aida.histogram1D(sensor.getName() + " HelicalTrackHits", 640, -0.5, 639.5);
+            plotter3.region(region).plot(hth[module][layer]);
+        }
+  
+        /* ===> for (int module = 0; module < 2; module++) {
             for (int layer = 0; layer < 10; layer++) {
                 int region = computePlotterRegion(layer + 1, module);
                 rth[module][layer] = aida.histogram1D(SvtUtils.getInstance().getSensor(module, layer).getName() + " RawTrackerHits", 640, -0.5, 639.5);
@@ -192,7 +216,7 @@
                 hth[module][layer] = aida.histogram1D(SvtUtils.getInstance().getSensor(module, layer).getName() + " HelicalTrackHits", 640, -0.5, 639.5);
                 plotter3.region(region).plot(hth[module][layer]);
             }
-        }
+        } ===> */
     }
 
     /**

java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt
TrackTimePlots.java 1162 -> 1163
--- java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/TrackTimePlots.java	2014-10-09 19:33:52 UTC (rev 1162)
+++ java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/TrackTimePlots.java	2014-10-09 23:32:41 UTC (rev 1163)
@@ -9,13 +9,11 @@
 
 import java.util.List;
 
-import org.hps.conditions.deprecated.SvtUtils;
+//===> import org.hps.conditions.deprecated.SvtUtils;
 import org.hps.readout.ecal.TriggerData;
 import org.hps.util.Resettable;
-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.detector.tracker.silicon.HpsSiSensor;
 import org.lcsim.event.EventHeader;
 import org.lcsim.event.Track;
 import org.lcsim.event.TrackerHit;
@@ -29,8 +27,6 @@
 /**
  *
  * @author meeg
- * @version $Id: SVTHitReconstructionPlots.java,v 1.14 2012/05/18 07:41:49 meeg
- * Exp $
  */
 public class TrackTimePlots extends Driver implements Resettable {
 
@@ -49,6 +45,8 @@
     private IHistogram1D[] trackTimeRange = new IHistogram1D[2];
     private IHistogram2D[] trackTimeMinMax = new IHistogram2D[2];
 
+    private static final String subdetectorName = "Tracker";
+
     @Override
     protected void detectorChanged(Detector detector) {
     	//plotterFrame = new AIDAFrame();
@@ -56,6 +54,8 @@
 
         aida.tree().cd("/");
 
+        List<HpsSiSensor> sensors = detector.getSubdetector(subdetectorName).getDetectorElement().findDescendants(HpsSiSensor.class);
+
         IPlotterFactory fac = aida.analysisFactory().createPlotterFactory();
 
         IPlotterStyle style;
@@ -120,7 +120,59 @@
         style.dataStyle().errorBarStyle().setVisible(false);
         plotter7.createRegions(2, 2);
 
+        
+        for(HpsSiSensor sensor : sensors){
+        	int module = sensor.getModuleNumber();
+        	int layer = sensor.getLayerNumber(); 
+            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]);
+            ((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]");
+        }
+        	
         for (int module = 0; module < 2; module++) {
+        
+            trackT0[module] = aida.histogram1D((module == 0 ? "Top" : "Bottom") + " Track Time", 75, -50, 100.0);
+            plotter2.region(module).plot(trackT0[module]);
+            ((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");
+        }
+        	
+       /* ===> 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);
@@ -165,7 +217,7 @@
             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);
 
@@ -225,12 +277,14 @@
             }
         }
 
-        IIdentifierHelper helper = SvtUtils.getInstance().getHelper();
+        //===> IIdentifierHelper helper = SvtUtils.getInstance().getHelper();
         List<SiTrackerHitStrip1D> hits = event.get(SiTrackerHitStrip1D.class, hitCollection);
         for (SiTrackerHitStrip1D hit : hits) {
-            IIdentifier id = hit.getSensor().getIdentifier();
-            int layer = helper.getValue(id, "layer");
-            int module = helper.getValue(id, "module");
+            //===> IIdentifier id = hit.getSensor().getIdentifier();
+            //===> int layer = helper.getValue(id, "layer");
+             int layer = ((HpsSiSensor) hit.getSensor()).getLayerNumber(); 
+             int module = ((HpsSiSensor) hit.getSensor()).getModuleNumber(); 
+            //===> int module = helper.getValue(id, "module");
 //            System.out.format("%d, %d, %d\n",hit.getCellID(),layer,module);
             t0[module][layer - 1].fill(hit.getTime());
         }

java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt
TrackingReconstructionPlots.java 1162 -> 1163
--- java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/TrackingReconstructionPlots.java	2014-10-09 19:33:52 UTC (rev 1162)
+++ java/branches/hps-java_HPSJAVA-88/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/TrackingReconstructionPlots.java	2014-10-09 23:32:41 UTC (rev 1163)
@@ -17,7 +17,7 @@
 import org.hps.conditions.deprecated.BeamlineConstants;
 //===> import org.hps.conditions.deprecated.HPSSVTCalibrationConstants;
 //===> import org.hps.conditions.deprecated.HPSSVTCalibrationConstants.ChannelConstants;
-import org.hps.conditions.deprecated.SvtUtils;
+//===> import org.hps.conditions.deprecated.SvtUtils;
 import org.hps.recon.ecal.HPSEcalCluster;
 import org.hps.recon.tracking.DumbShaperFit;
 import org.hps.recon.tracking.HelixConverter;
@@ -27,6 +27,7 @@
 import org.hps.recon.tracking.TrackUtils;
 import org.hps.util.Resettable;
 import org.lcsim.detector.tracker.silicon.SiSensor;
+import org.lcsim.detector.tracker.silicon.HpsSiSensor;
 import org.lcsim.event.EventHeader;
 import org.lcsim.event.LCIOParameters.ParameterName;
 import org.lcsim.event.RawTrackerHit;
@@ -615,8 +616,9 @@
 //            htc.resetTrackDirection();
             double x = htc.getPosition()[0];
             double y = htc.getPosition()[1];
-            SiSensor sensor = ((SiSensor) ((RawTrackerHit) htc.getRawHits().get(0)).getDetectorElement());
-            if (SvtUtils.getInstance().isTopLayer(sensor)) {
+            HpsSiSensor sensor = ((HpsSiSensor) ((RawTrackerHit) htc.getRawHits().get(0)).getDetectorElement());
+            //===> if (SvtUtils.getInstance().isTopLayer(sensor)) {
+            if (sensor.isTopLayer()) {
                 layersTop[htc.Layer() - 1]++;
                 Hep3Vector sensorPos = ((SiSensor) ((RawTrackerHit) htc.getRawHits().get(0)).getDetectorElement()).getGeometry().getPosition();
                 if (htc.Layer() == 1) {
@@ -791,10 +793,10 @@
                     aida.histogram1D(modNum + "Residual Y(mm) Bottom").fill(htcross.getCorrectedPosition().z() - zTr);//these hits should be rotated track hits already
 
                 }
-                SiSensor sensor = ((SiSensor) ((RawTrackerHit) htc.getRawHits().get(0)).getDetectorElement());
+                HpsSiSensor sensor = ((HpsSiSensor) ((RawTrackerHit) htc.getRawHits().get(0)).getDetectorElement());
                 double x = htcross.getCorrectedPosition().y();
                 double y = htcross.getCorrectedPosition().z();
-                if (SvtUtils.getInstance().isTopLayer(sensor)) {
+                if (sensor.isTopLayer()) {
                     layersTop[htc.Layer() - 1]++;
                     Hep3Vector sensorPos = ((SiSensor) ((RawTrackerHit) htc.getRawHits().get(0)).getDetectorElement()).getGeometry().getPosition();
                     if (htc.Layer() == 1) {
SVNspam 0.1