Print

Print


Author: [log in to unmask]
Date: Fri Mar 18 14:44:14 2016
New Revision: 4306

Log:
updated time walk correction to read from db

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	Fri Mar 18 14:44:14 2016
@@ -1,4 +1,6 @@
 package org.hps.recon.ecal;
+
+import org.hps.conditions.database.DatabaseConditionsManager;
 
 public final class EcalTimeWalk {
 
@@ -6,62 +8,76 @@
     // Put parameters in the conditions database once functional form is fixed.
 
     // From a fit of Pass0 Run 3261 (Mode-3 FADC):
-    //  (p0+p1*e+e^2*p2) * exp(-(p3*e+p4*e^2+p5*e^4))
-    private static final double[] pars = { 
-            3.64218e+01, 
-           -4.60756e+02, 
-            9.18743e+03,
-            3.73873e+01, 
-           -6.57130e+01, 
-            1.07182e+02 
-    };
+    // (p0+p1*e+e^2*p2) * exp(-(p3*e+p4*e^2+p5*e^4))
+    private static final double[] pars = { 3.64218e+01, -4.60756e+02,
+            9.18743e+03, 3.73873e+01, -6.57130e+01, 1.07182e+02 };
 
     private EcalTimeWalk() {
     }
 
     /**
      * Perform Time Walk Correction
-     * @param time   - FADC Mode-3 Hit time (ns)
-     * @param energy - Pulse energy (GeV)
+     * 
+     * @param time
+     *            - FADC Mode-3 Hit time (ns)
+     * @param energy
+     *            - Pulse energy (GeV)
      * @return corrected time (ns)
      */
     public static final double correctTimeWalk(double time, double energy) {
-        final double poly1 = pars[0] + 
-                             pars[1] * energy +
-                             pars[2] * energy * energy;
-        final double poly2 = pars[3] * energy +
-                             pars[4] * energy * energy +
-                             pars[5] * Math.pow(energy, 4);
+        final double poly1 = pars[0] + pars[1] * energy + pars[2] * energy
+                * energy;
+        final double poly2 = pars[3] * energy + pars[4] * energy * energy
+                + 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
-   };
-    
+            DatabaseConditionsManager
+                    .getInstance()
+                    .getCachedConditions(
+                            org.hps.conditions.ecal.EcalTimeWalk.class,
+                            "ecal_time_walk").getCachedData().getP0(),
+            DatabaseConditionsManager
+                    .getInstance()
+                    .getCachedConditions(
+                            org.hps.conditions.ecal.EcalTimeWalk.class,
+                            "ecal_time_walk").getCachedData().getP1(),
+            DatabaseConditionsManager
+                    .getInstance()
+                    .getCachedConditions(
+                            org.hps.conditions.ecal.EcalTimeWalk.class,
+                            "ecal_time_walk").getCachedData().getP2(),
+            DatabaseConditionsManager
+                    .getInstance()
+                    .getCachedConditions(
+                            org.hps.conditions.ecal.EcalTimeWalk.class,
+                            "ecal_time_walk").getCachedData().getP3(),
+            DatabaseConditionsManager
+                    .getInstance()
+                    .getCachedConditions(
+                            org.hps.conditions.ecal.EcalTimeWalk.class,
+                            "ecal_time_walk").getCachedData().getP4() };
+
     /**
      * 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)
+     * 
+     * @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);
+    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);
     }
-    
-    
-    
-    
-    
-    
 
 }