Author: [log in to unmask] Date: Thu Jul 23 07:50:29 2015 New Revision: 3274 Log: time walk correction for pulse fitting Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalTimeWalk.java Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalTimeWalk.java ============================================================================= --- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalTimeWalk.java (original) +++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalTimeWalk.java Thu Jul 23 07:50:29 2015 @@ -34,5 +34,34 @@ pars[5] * Math.pow(energy, 4); return time - poly1 * Math.exp(-poly2); } + + /* + * Time walk parameters for pulse fitting + */ + private static final double[] par = { + 0.9509, + -33.21, + 0.2614, + -0.9128, + 0.6251 + }; + + /** + * Perform Time Walk Correction for Mode 1 hits using pulse fitting + * @param time - FADC Mode 1 hit time from pulse fitting (ns) + * @param energy - Pulse energy from pulse fitting (GeV) + * @return corrected time (ns) + */ + public static final double correctTimeWalkPulseFitting(double time, double energy) { + final double polyA = par[0] + par[1]*energy; + final double polyB = par[2] + par[3] * energy + par[4] * Math.pow(energy, 2); + return time - (Math.exp(polyA) + polyB); + } + + + + + + }