Print

Print


Author: [log in to unmask]
Date: Mon Dec  7 05:16:10 2015
New Revision: 4014

Log:
merging changes from ClusterPositionCorrections

Modified:
    java/branches/nathan-dev/   (props changed)
    java/branches/nathan-dev/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClusterPositionCorrection.java

Modified: java/branches/nathan-dev/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClusterPositionCorrection.java
 =============================================================================
--- java/branches/nathan-dev/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClusterPositionCorrection.java	(original)
+++ java/branches/nathan-dev/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClusterPositionCorrection.java	Mon Dec  7 05:16:10 2015
@@ -12,30 +12,29 @@
  * @author Jeremy McCormick <[log in to unmask]>
  */
 public final class ClusterPositionCorrection {
-           
+    //Parameterizations tested in MC using v3-fieldmap
+    //Nov 2015
+      
     // Variables for electron position corrections.
-    static final double ELECTRON_POS_A1 = -0.0005813;//0.0066;
-    static final double ELECTRON_POS_A2 = 0.005738;//-0.03;
-    static final double ELECTRON_POS_A3 = -0.0309;
-    static final double ELECTRON_POS_B1 = 0.02963;//0.028;
-    static final double ELECTRON_POS_B2 = -4.289;//-0.451;
-    static final double ELECTRON_POS_B3 = 4.596;//0.465;
+    static final double ELECTRON_POS_A1 = 0.004483;
+    static final double ELECTRON_POS_A2 = -0.02884;
+    static final double ELECTRON_POS_B1 = 0.6197;
+    static final double ELECTRON_POS_B2 = -2.279;
+    static final double ELECTRON_POS_B3 = 3.66;
     
     // Variables for positron position corrections.
-    static final double POSITRON_POS_A1 = -0.0006243;//0.0072;
-    static final double POSITRON_POS_A2 = 0.006799;//-0.031;
-    static final double POSITRON_POS_A3 = -0.03141;
-    static final double POSITRON_POS_B1 = 0.0869;//0.007;
-    static final double POSITRON_POS_B2 = 2.965;//0.342;
-    static final double POSITRON_POS_B3 = 1.653;//0.108;
+    static final double POSITRON_POS_A1 = 0.006887;
+    static final double POSITRON_POS_A2 = -0.03207;
+    static final double POSITRON_POS_B1 = -0.8048;
+    static final double POSITRON_POS_B2 = 0.9366;
+    static final double POSITRON_POS_B3 = 2.628;
     
     // Variables for photon position corrections.
-    static final double PHOTON_POS_A1 = -0.0006329;//0.005;
-    static final double PHOTON_POS_A2 = 0.00595;//-0.032;
-    static final double PHOTON_POS_A3 = -0.03563;
-    static final double PHOTON_POS_B1 = 0.06444;//0.011;
-    static final double PHOTON_POS_B2 = -0.5836;//-0.037;
-    static final double PHOTON_POS_B3 = 3.508;//0.294;
+    static final double PHOTON_POS_A1 = 0.005385;
+    static final double PHOTON_POS_A2 = -0.03562;
+    static final double PHOTON_POS_B1 = -0.1948;
+    static final double PHOTON_POS_B2 = -0.7991;
+    static final double PHOTON_POS_B3 = 3.797;
     
   
     public static double[] calculateCorrectedPosition(Cluster cluster) {
@@ -66,13 +65,13 @@
         double xCorr;
         switch(pdg) {
             case 11: //Particle is electron        
-                xCorr = positionCorrection(xPos, rawEnergy, ELECTRON_POS_A1, ELECTRON_POS_A2, ELECTRON_POS_A3, ELECTRON_POS_B1, ELECTRON_POS_B2, ELECTRON_POS_B3);
+                xCorr = positionCorrection(xPos, rawEnergy, ELECTRON_POS_A1, ELECTRON_POS_A2, ELECTRON_POS_B1, ELECTRON_POS_B2, ELECTRON_POS_B3);
                 return xCorr;
             case -11:// Particle is positron       
-                xCorr = positionCorrection(xPos, rawEnergy, POSITRON_POS_A1, POSITRON_POS_A2, POSITRON_POS_A3, POSITRON_POS_B1, POSITRON_POS_B2, POSITRON_POS_B3);
+                xCorr = positionCorrection(xPos, rawEnergy, POSITRON_POS_A1, POSITRON_POS_A2, POSITRON_POS_B1, POSITRON_POS_B2, POSITRON_POS_B3);
                 return xCorr;
             case 22: // Particle is photon      
-                xCorr = positionCorrection(xPos, rawEnergy, PHOTON_POS_A1, PHOTON_POS_A2, PHOTON_POS_A3, PHOTON_POS_B1, PHOTON_POS_B2, PHOTON_POS_B3);
+                xCorr = positionCorrection(xPos, rawEnergy, PHOTON_POS_A1, PHOTON_POS_A2, PHOTON_POS_B1, PHOTON_POS_B2, PHOTON_POS_B3);
                 return xCorr;
             default: //Unknown 
                 xCorr = xPos;
@@ -94,8 +93,8 @@
     * @param varB3
     * @return
     */    
-    private static double positionCorrection(double xCl, double rawEnergy, double varA1, double varA2, double varA3, double varB1, double varB2, double varB3) {
+    private static double positionCorrection(double xCl, double rawEnergy, double varA1, double varA2, double varB1, double varB2, double varB3) {
         //return ((xCl - (varB1 * rawEnergy + varB2 / Math.sqrt(rawEnergy) + varB3))/(varA1 / Math.sqrt(rawEnergy) + varA2 + 1));
-    	return ((xCl - (varB1 * rawEnergy + varB2 / Math.sqrt(rawEnergy) + varB3))/(varA1 * rawEnergy + varA2 / Math.sqrt(rawEnergy) + varA3 + 1));
+    	return ((xCl - (varB1 * rawEnergy + varB2 / Math.sqrt(rawEnergy) + varB3))/(varA1 / Math.sqrt(rawEnergy) + varA2 + 1));
     }
-}
+}