Author: [log in to unmask]
Date: Wed Jun 10 17:32:39 2015
New Revision: 3130
Log:
add option for SVT readout sim to use timing conditions
Modified:
java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/SvtMonitoring.java
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtClusterPlots.java
java/trunk/tracking/src/main/java/org/hps/readout/svt/SimpleSvtReadout.java
Modified: java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/SvtMonitoring.java
=============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/SvtMonitoring.java (original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/SvtMonitoring.java Wed Jun 10 17:32:39 2015
@@ -96,11 +96,11 @@
IHistogram2D t0ChanPlot = createSensorPlot2D(plotDir + triggerType + "/"+"t0ChanBigHit_", sensor, 640, -0.5, 639.5, 200, -100., 100.);
IHistogram2D ampChanPlot = createSensorPlot2D(plotDir + triggerType + "/"+"ampChanHit_", sensor, 640, -0.5, 639.5, 50, 0, 4000);
IHistogram2D chiprobChanPlot = createSensorPlot2D(plotDir + triggerType + "/"+"chiprobChanBigHit_", sensor, 640, -0.5, 639.5, 50, 0, 1.0);
- IHistogram2D t0TrigTimeHitPlot = createSensorPlot2D(plotDir + triggerType + "/"+"t0BigHitTrigTime_", sensor, 400, -100., 100., 6, -2, 22);
+ IHistogram2D t0TrigTimeHitPlot = createSensorPlot2D(plotDir + triggerType + "/"+"t0BigHitTrigTime_", sensor, 400, -100., 100., 6, 0, 24);
IHistogram1D chiProbPlot = createSensorPlot(plotDir + triggerType + "/"+"chiProb_", sensor, 50, 0, 1.0);
IHistogram1D t0ClusterPlot = createSensorPlot(plotDir + triggerType + "/"+"t0Cluster_", sensor, 400, -100., 100.);
- IHistogram2D t0TrigTimePlot = createSensorPlot2D(plotDir + triggerType + "/"+"t0ClusterTrigTime_", sensor, 400, -100., 100., 6, -2, 22);
+ IHistogram2D t0TrigTimePlot = createSensorPlot2D(plotDir + triggerType + "/"+"t0ClusterTrigTime_", sensor, 400, -100., 100., 6, 0, 24);
IHistogram1D dedxClusterPlot = createSensorPlot(plotDir + triggerType + "/"+"electrons_", sensor, 50, 0., 10.);
occupancyPlot.reset();
}
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtClusterPlots.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtClusterPlots.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtClusterPlots.java Wed Jun 10 17:32:39 2015
@@ -245,10 +245,10 @@
plotters.get("SVT-trigger timing top-bottom").createRegions(1, 2);
hitTimeTrigTimePlots.put("Top",
- histogramFactory.createHistogram2D("Top Cluster Time vs. Trigger Phase", 100, -50, 50, 6, -2, 22));
+ histogramFactory.createHistogram2D("Top Cluster Time vs. Trigger Phase", 100, -50, 50, 6, 0, 24));
plotters.get("SVT-trigger timing top-bottom").region(0).plot(hitTimeTrigTimePlots.get("Top"), this.createStyle(null, "Cluster Time [ns]", "Trigger Phase[ns]"));
hitTimeTrigTimePlots.put("Bottom",
- histogramFactory.createHistogram2D("Bottom Cluster Time vs. Trigger Phase", 100, -50, 50, 6, -2, 22));
+ histogramFactory.createHistogram2D("Bottom Cluster Time vs. Trigger Phase", 100, -50, 50, 6, 0, 24));
plotters.get("SVT-trigger timing top-bottom").region(1).plot(hitTimeTrigTimePlots.get("Bottom"), this.createStyle(null, "Cluster Time [ns]", "Trigger Phase[ns]"));
plotters.put("SVT-trigger timing by phase", plotterFactory.create("SVT-trigger timing by phase"));
Modified: java/trunk/tracking/src/main/java/org/hps/readout/svt/SimpleSvtReadout.java
=============================================================================
--- java/trunk/tracking/src/main/java/org/hps/readout/svt/SimpleSvtReadout.java (original)
+++ java/trunk/tracking/src/main/java/org/hps/readout/svt/SimpleSvtReadout.java Wed Jun 10 17:32:39 2015
@@ -6,6 +6,8 @@
import java.util.Map;
import java.util.PriorityQueue;
import java.util.Set;
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.conditions.svt.SvtTimingConstants;
import org.lcsim.detector.tracker.silicon.ChargeCarrier;
import org.lcsim.detector.tracker.silicon.HpsSiSensor;
@@ -57,6 +59,8 @@
private boolean noPileup = false;
private boolean addNoise = true;
+ private boolean useTimingConditions = false;
+
// cut settings
private boolean enableThresholdCut = true;
private int samplesAboveThreshold = 3;
@@ -105,6 +109,10 @@
public void setReadoutLatency(double readoutLatency) {
this.readoutLatency = readoutLatency;
+ }
+
+ public void setUseTimingConditions(boolean useTimingConditions) {
+ this.useTimingConditions = useTimingConditions;
}
/**
@@ -150,6 +158,12 @@
PriorityQueue<StripHit>[] hitQueues = new PriorityQueue[HPSSVTConstants.TOTAL_STRIPS_PER_SENSOR];
hitMap.put(sensor, hitQueues);
}
+ }
+
+ if (useTimingConditions) {
+ SvtTimingConstants timingConstants = DatabaseConditionsManager.getInstance().getCachedConditions(SvtTimingConstants.SvtTimingConstantsCollection.class, "svt_timing_constants").getCachedData().get(0);
+ readoutOffset = 4 * (timingConstants.getOffsetPhase() + 5);
+ readoutLatency = 240.0 + timingConstants.getOffsetTime();
}
}
|