Author: [log in to unmask]
Date: Wed Apr 22 19:25:41 2015
New Revision: 2793
Log:
use new pulse shape parameters; add option to subtract trigger phase from hit times
Modified:
java/trunk/tracking/src/main/java/org/hps/recon/tracking/PulseShape.java
java/trunk/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java
Modified: java/trunk/tracking/src/main/java/org/hps/recon/tracking/PulseShape.java
=============================================================================
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/PulseShape.java (original)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/PulseShape.java Wed Apr 22 19:25:41 2015
@@ -22,8 +22,7 @@
@Override
public void setParameters(int channel, HpsSiSensor sensor) {
- tp = 50.0;
-// tp = sensor.getShapeFitParameters(channel)[HpsSiSensor.TP_INDEX];
+ tp = sensor.getShapeFitParameters(channel)[HpsSiSensor.TP_INDEX];
}
@Override
@@ -51,9 +50,8 @@
@Override
public void setParameters(int channel, HpsSiSensor sensor) {
-// tp = sensor.getShapeFitParameters(channel)[HpsSiSensor.TP_INDEX];
- tp = 80.0;
- tp2 = 12.0;
+ tp = sensor.getShapeFitParameters(channel)[HpsSiSensor.TP_INDEX];
+ tp2 = sensor.getShapeFitParameters(channel)[HpsSiSensor.TP_INDEX + 1];
peak_t = 3.0 * Math.pow(tp * Math.pow(tp2, 3), 0.25); //approximate solution to exp(x)=1+x+x^2*tp/(2*tp2), where x=(1/tp2-1/tp)*t
peak_amp = getAmplitudeIntegralNorm(peak_t);
}
Modified: java/trunk/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java
=============================================================================
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java (original)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java Wed Apr 22 19:25:41 2015
@@ -33,6 +33,8 @@
private boolean useTimestamps = false;
private boolean useTruthTime = false;
private boolean subtractTOF = false;
+ private boolean subtractTriggerTime = false;
+ private int triggerPhaseOffset = 4;
/**
* Report time relative to the nearest expected truth event time.
@@ -57,6 +59,14 @@
public void setSubtractTOF(boolean subtractTOF) {
this.subtractTOF = subtractTOF;
+ }
+
+ public void setSubtractTriggerTime(boolean subtractTriggerTime) {
+ this.subtractTriggerTime = subtractTriggerTime;
+ }
+
+ public void setTriggerPhaseOffset(int triggerPhaseOffset) {
+ this.triggerPhaseOffset = triggerPhaseOffset;
}
public void setFitAlgorithm(String fitAlgorithm) {
@@ -124,6 +134,9 @@
//===> ChannelConstants constants = HPSSVTCalibrationConstants.getChannelConstants((SiSensor) hit.getDetectorElement(), strip);
//for (ShapeFitParameters fit : _shaper.fitShape(hit, constants)) {
for (ShapeFitParameters fit : fitter.fitShape(hit, shape)) {
+ if (subtractTriggerTime) {
+ fit.setT0(fit.getT0() - (((event.getTimeStamp() + 4 * triggerPhaseOffset) % 24) - 12));
+ }
if (correctT0Shift) {
//===> fit.setT0(fit.getT0() - constants.getT0Shift());
fit.setT0(fit.getT0() - sensor.getT0Shift());
|