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()); } } }