Print

Print


Author: [log in to unmask]
Date: Tue Feb 24 20:01:25 2015
New Revision: 2199

Log:
Monitoring driver that will be used when 'timing in' the SVT.  For now, this driver is not compatible with the test run geometries. Work in progress.

Modified:
    java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/TrackTimePlots.java
    java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/SensorOccupancyPlots.lcsim
    java/trunk/tracking/src/test/java/org/hps/recon/tracking/SvtSensorSetupTest.java

Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/TrackTimePlots.java
 =============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/TrackTimePlots.java	(original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/TrackTimePlots.java	Tue Feb 24 20:01:25 2015
@@ -33,15 +33,15 @@
     private String hitCollection = "StripClusterer_SiTrackerHitStrip1D";
     private String trackCollection = "MatchedTracks";
     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];
-    private IHistogram2D[][] trackHit2D = new IHistogram2D[2][10];
-    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];
+    private IHistogram1D[][] t0 = new IHistogram1D[4][12];
+    private IHistogram1D[][] trackHitT0 = new IHistogram1D[4][12];
+    private IHistogram1D[][] trackHitDt = new IHistogram1D[4][12];
+    private IHistogram2D[][] trackHit2D = new IHistogram2D[4][12];
+    private IHistogram1D[] trackT0 = new IHistogram1D[4];
+    private IHistogram2D[] trackTrigTime = new IHistogram2D[4];
+    private IHistogram2D[][] trackHitDtChan = new IHistogram2D[4][12];
+    private IHistogram1D[] trackTimeRange = new IHistogram1D[4];
+    private IHistogram2D[] trackTimeMinMax = new IHistogram2D[4];
 
     private static final String subdetectorName = "Tracker";
 
@@ -64,7 +64,7 @@
         style = plotter.style();
         style.dataStyle().fillStyle().setColor("yellow");
         style.dataStyle().errorBarStyle().setVisible(false);
-        plotter.createRegions(4, 5);
+        plotter.createRegions(8, 5);
 
         plotter2 = fac.create("HPS SVT Track Time");
         plotter2.setTitle("Track Time");
@@ -80,7 +80,7 @@
         style = plotter3.style();
         style.dataStyle().fillStyle().setColor("yellow");
         style.dataStyle().errorBarStyle().setVisible(false);
-        plotter3.createRegions(4, 5);
+        plotter3.createRegions(8, 5);
 
         plotter4 = fac.create("HPS SVT Timing Plots");
         plotter4.setTitle("Track Hit dt");
@@ -88,7 +88,7 @@
         style = plotter4.style();
         style.dataStyle().fillStyle().setColor("yellow");
         style.dataStyle().errorBarStyle().setVisible(false);
-        plotter4.createRegions(4, 5);
+        plotter4.createRegions(8, 5);
 
         plotter5 = fac.create("HPS SVT Timing Plots");
         plotter5.setTitle("Track Time vs. dt");
@@ -98,7 +98,7 @@
         style.setParameter("hist2DStyle", "colorMap");
         style.dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
         style.zAxisStyle().setParameter("scale", "log");
-        plotter5.createRegions(4, 5);
+        plotter5.createRegions(8, 5);
 
         plotter6 = fac.create("HPS SVT Timing Plots");
         plotter6.setTitle("Track dt vs. Channel");
@@ -108,7 +108,7 @@
         style.setParameter("hist2DStyle", "colorMap");
         style.dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
         style.zAxisStyle().setParameter("scale", "log");
-        plotter6.createRegions(4, 5);
+        plotter6.createRegions(8, 5);
 
         plotter7 = fac.create("HPS SVT Track Hit Time Range");
         plotter7.setTitle("Track Hit Time Range");
@@ -125,32 +125,32 @@
 
             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]");
+            //((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]");
+            //((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]");
+            //((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]");
+            //((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]");
+            //((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]");
+            //((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]");
+            //((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");
@@ -158,11 +158,11 @@
 
             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]");
+            //((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]");
+            //((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");

Modified: java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/SensorOccupancyPlots.lcsim
 =============================================================================
--- java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/SensorOccupancyPlots.lcsim	(original)
+++ java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/SensorOccupancyPlots.lcsim	Tue Feb 24 20:01:25 2015
@@ -1,4 +1,4 @@
-<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
+i<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
     <execute>
         <driver name="EventMarkerDriver" />
         <driver name="SVTOccupancyPlots" />
@@ -11,4 +11,4 @@
             <eventRefreshRate>1</eventRefreshRate>
         </driver>
     </drivers>
-</lcsim>
+</lcsim>

Modified: java/trunk/tracking/src/test/java/org/hps/recon/tracking/SvtSensorSetupTest.java
 =============================================================================
--- java/trunk/tracking/src/test/java/org/hps/recon/tracking/SvtSensorSetupTest.java	(original)
+++ java/trunk/tracking/src/test/java/org/hps/recon/tracking/SvtSensorSetupTest.java	Tue Feb 24 20:01:25 2015
@@ -5,6 +5,7 @@
 import org.lcsim.conditions.ConditionsManager;
 import org.lcsim.conditions.ConditionsManager.ConditionsNotFoundException;
 import org.lcsim.detector.tracker.silicon.ChargeCarrier;
+import org.lcsim.detector.tracker.silicon.HpsSiSensor;
 import org.lcsim.detector.tracker.silicon.SiSensor;
 import org.lcsim.util.loop.LCSimConditionsManagerImplementation;
 import org.lcsim.geometry.Detector;
@@ -24,6 +25,7 @@
 	//-----------------//
 	public static final String DETECTOR_NAME = "HPS-Proposal2014-v7-2pt2"; 
 	public static final String SVT_SUBDETECTOR_NAME = "Tracker";
+	public static final int TOTAL_NUMBER_OF_SENSORS = 36; 
 	public static final int NUMBER_OF_READOUT_STRIPS = 639;
 	public static final int NUMBER_OF_SENSE_STRIPS = 1277;
 	
@@ -43,26 +45,29 @@
 	
 	public void testSvtSensorSetup(){
 
-		SvtSensorSetup setup = new SvtSensorSetup(); 
-		setup.setDebug(true);
+		//SvtSensorSetup setup = new SvtSensorSetup(); 
+		//setup.setDebug(true);
 		
 		assertTrue("Detectors are mismatched!", DETECTOR_NAME.equals(detector.getName()));
 		System.out.println(this.getClass().getSimpleName() + ": Getting sensors from " + detector.getDetectorName());
 	 
 		// Get the collection of all SiSensors from the SVT 
-		List<SiSensor> sensors 
+		List<HpsSiSensor> sensors 
         	= detector.getSubdetector(SVT_SUBDETECTOR_NAME).
-        			getDetectorElement().findDescendants(SiSensor.class);
+        			getDetectorElement().findDescendants(HpsSiSensor.class);
 		System.out.println(this.getClass().getSimpleName() + ": Number of sensors: " + sensors.size());
+		assertTrue("Wrong number of sensors found.", sensors.size() == TOTAL_NUMBER_OF_SENSORS);
 		
-		for(SiSensor sensor : sensors){
-			setup.setupSensor(sensor);
-			
+		for(HpsSiSensor sensor : sensors){
+			//setup.setupSensor(sensor);
+		
 			assertTrue("Wrong number of readout electrodes found.",
 					sensor.getReadoutElectrodes(ChargeCarrier.HOLE).getNCells() == NUMBER_OF_READOUT_STRIPS);	
 			assertTrue("Wrong number of sense electrodes found.",
 					sensor.getSenseElectrodes(ChargeCarrier.HOLE).getNCells() == NUMBER_OF_SENSE_STRIPS);
 			
+			//System.out.println("[ " + this.getClass().getSimpleName() + " ]: " + sensor.toString()); 
+			System.out.println(sensor.toString()); 
 		}
 	}
 }