java/trunk/steering-files/src/main/resources/org/hps/steering/recon
--- java/trunk/steering-files/src/main/resources/org/hps/steering/recon/HPS2014OfflineRecon.lcsim 2014-03-28 00:56:30 UTC (rev 410)
+++ java/trunk/steering-files/src/main/resources/org/hps/steering/recon/HPS2014OfflineRecon.lcsim 2014-03-28 01:05:28 UTC (rev 411)
@@ -30,11 +30,12 @@
<fitAlgorithm>Analytic</fitAlgorithm>
<useTimestamps>true</useTimestamps>
<correctT0Shift>true</correctT0Shift>
+ <useTruthTime>false</useTruthTime>
</driver>
<driver name="TrackerHitDriver" type="org.hps.recon.tracking.DataTrackerHitDriver" />
<driver name="HelicalTrackHitDriver" type="org.hps.recon.tracking.HelicalTrackHitDriver">
<debug>false</debug>
- <clusterTimeCut>4.0</clusterTimeCut>
+ <clusterTimeCut>8.0</clusterTimeCut>
<maxSeperation>20.0</maxSeperation>
<tolerance>1.0</tolerance>
</driver>
@@ -43,6 +44,7 @@
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<ecalCollectionName>EcalCalHits</ecalCollectionName>
+ <use2014Gain>true</use2014Gain>
</driver>
<driver name="EcalClusterer" type="org.hps.recon.ecal.EcalClusterer">
<ecalName>Ecal</ecalName>
java/trunk/steering-files/src/main/resources/org/hps/steering/recon
--- java/trunk/steering-files/src/main/resources/org/hps/steering/recon/HPS2014OfflineTruthRecon.lcsim (rev 0)
+++ java/trunk/steering-files/src/main/resources/org/hps/steering/recon/HPS2014OfflineTruthRecon.lcsim 2014-03-28 01:05:28 UTC (rev 411)
@@ -0,0 +1,59 @@
+<!--
+ Offline reconstruction for 2014 (electron run) data.
+ @author Sho Uemura <[log in to unmask]>
+ @version $Id: HPS2014OfflineRecon.lcsim,v 1.7 2013/10/30 16:23:32 phansson Exp $
+-->
+<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="CalibrationDriver"/>
+ <driver name="RawTrackerHitSensorSetup"/>
+ <driver name="RawTrackerHitFitterDriver" />
+ <driver name="TrackerHitDriver"/>
+ <driver name="HelicalTrackHitDriver"/>
+ <driver name="TrackerReconDriver"/>
+ <driver name="EcalRawConverter" />
+ <driver name="EcalClusterer" />
+ <driver name="ReconParticle" />
+ <driver name="LCIOWriter"/>
+ </execute>
+ <drivers>
+ <driver name="CalibrationDriver" type="org.hps.conditions.deprecated.CalibrationDriver">
+<!-- <runNumber>${runNumber}</runNumber>-->
+ </driver>
+ <driver name="EventMarkerDriver" type="org.lcsim.job.EventMarkerDriver">
+ <eventInterval>1000</eventInterval>
+ </driver>
+ <driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup"/>
+ <driver name="RawTrackerHitFitterDriver" type="org.hps.recon.tracking.HPSRawTrackerHitFitterDriver">
+ <fitAlgorithm>Analytic</fitAlgorithm>
+ <useTimestamps>false</useTimestamps>
+ <correctT0Shift>false</correctT0Shift>
+ <useTruthTime>true</useTruthTime>
+ </driver>
+ <driver name="TrackerHitDriver" type="org.hps.recon.tracking.DataTrackerHitDriver" />
+ <driver name="HelicalTrackHitDriver" type="org.hps.recon.tracking.HelicalTrackHitDriver">
+ <debug>false</debug>
+ <clusterTimeCut>8.0</clusterTimeCut>
+ <maxSeperation>20.0</maxSeperation>
+ <tolerance>1.0</tolerance>
+ </driver>
+ <driver name="TrackerReconDriver" type="org.hps.recon.tracking.TrackerReconDriver">
+ <debug>false</debug>
+ </driver>
+ <driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
+ <ecalCollectionName>EcalCalHits</ecalCollectionName>
+ <use2014Gain>true</use2014Gain>
+ </driver>
+ <driver name="EcalClusterer" type="org.hps.recon.ecal.EcalClusterer">
+ <ecalName>Ecal</ecalName>
+ <ecalCollectionName>EcalCalHits</ecalCollectionName>
+ </driver>
+ <driver name="ReconParticle" type="org.hps.recon.particle.HpsReconParticleDriver">
+ </driver>
+ <driver name="LCIOWriter" type="org.lcsim.util.loop.LCIODriver">
+ <outputFilePath>${outputFile}.slcio</outputFilePath>
+ </driver>
+ </drivers>
+</lcsim>
java/trunk/tracking/src/main/java/org/hps/recon/tracking
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/HPSRawTrackerHitFitterDriver.java 2014-03-28 00:56:30 UTC (rev 410)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/HPSRawTrackerHitFitterDriver.java 2014-03-28 01:05:28 UTC (rev 411)
@@ -28,7 +28,17 @@
private int relationFlags = 0;
private boolean correctT0Shift = false;
private boolean useTimestamps = false;
+ private boolean useTruthTime = false;
+ /**
+ * Report time relative to the nearest expected truth event time.
+ *
+ * @param useTruthTime
+ */
+ public void setUseTruthTime(boolean useTruthTime) {
+ this.useTruthTime = useTruthTime;
+ }
+
public void setDebug(boolean debug) {
this.debug = debug;
}
@@ -88,16 +98,20 @@
ChannelConstants constants = HPSSVTCalibrationConstants.getChannelConstants((SiSensor) hit.getDetectorElement(), strip);
HPSShapeFitParameters fit = _shaper.fitShape(hit, constants);
if (correctT0Shift) {
- double corMod = 0;
- if (useTimestamps) {
- double t0Svt = ReadoutTimestamp.getTimestamp(ReadoutTimestamp.SYSTEM_TRACKER, event);
- double t0Trig = ReadoutTimestamp.getTimestamp(ReadoutTimestamp.SYSTEM_TRIGGER, event);
- corMod += (t0Svt - t0Trig);
- }
- corMod -= constants.getT0Shift();
+ fit.setT0(fit.getT0() - constants.getT0Shift());
+ }
+ if (useTimestamps) {
+ double t0Svt = ReadoutTimestamp.getTimestamp(ReadoutTimestamp.SYSTEM_TRACKER, event);
+ double t0Trig = ReadoutTimestamp.getTimestamp(ReadoutTimestamp.SYSTEM_TRIGGER, event);
+ double corMod = (t0Svt - t0Trig);
fit.setT0(fit.getT0() + corMod);
-// fit.setT0(fit.getT0() - constants.getT0Shift());
+ }
+ if (useTruthTime) {
+ double t0Svt = ReadoutTimestamp.getTimestamp(ReadoutTimestamp.SYSTEM_TRACKER, event);
+ double absoluteHitTime = fit.getT0() + t0Svt;
+ double relativeHitTime = ((absoluteHitTime + 250.0) % 500.0) - 250.0;
+ fit.setT0(relativeHitTime);
}
if (debug) {
System.out.println(fit);