Commit in java/trunk on MAIN
steering-files/src/main/resources/org/hps/steering/recon/HPS2014OfflineRecon.lcsim+3-1410 -> 411
                                                        /HPS2014OfflineTruthRecon.lcsim+59added 411
tracking/src/main/java/org/hps/recon/tracking/HPSRawTrackerHitFitterDriver.java+22-8410 -> 411
+84-9
1 added + 2 modified, total 3 files
recommit changes that didn't get copied

java/trunk/steering-files/src/main/resources/org/hps/steering/recon
HPS2014OfflineRecon.lcsim 410 -> 411
--- 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
HPS2014OfflineTruthRecon.lcsim added at 411
--- 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
HPSRawTrackerHitFitterDriver.java 410 -> 411
--- 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);
SVNspam 0.1