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)); } -} +}