Print

Print


Commit in lcsim/src/org/lcsim/contrib/uiowa on MAIN
ReclusterDriver.java+8-51.29 -> 1.30
ReclusterDTreeDriver.java+4-91.36 -> 1.37
+12-14
2 modified files
MJC: (contrib) Be consistent about how cluster energy uncertainty is defined

lcsim/src/org/lcsim/contrib/uiowa
ReclusterDriver.java 1.29 -> 1.30
diff -u -r1.29 -r1.30
--- ReclusterDriver.java	4 Aug 2008 17:38:17 -0000	1.29
+++ ReclusterDriver.java	4 Aug 2008 22:19:25 -0000	1.30
@@ -38,7 +38,7 @@
   *
   * This version is PRELIMINARY.
   *
-  * @version $Id: ReclusterDriver.java,v 1.29 2008/08/04 17:38:17 mcharles Exp $
+  * @version $Id: ReclusterDriver.java,v 1.30 2008/08/04 22:19:25 mcharles Exp $
   * @author Mat Charles
   */
 
@@ -1540,8 +1540,7 @@
 	}
     }
 
-    protected double estimatedEnergyUncertainty(Track tr) {
-	double trackMomentum = (new BasicHep3Vector(tr.getMomentum())).magnitude();
+    protected double estimatedEnergyUncertainty(double trackMomentum) {
 	double sigma = 0.7 * Math.sqrt(trackMomentum);
 	if (trackMomentum < 1.0) {
 	    // Don't lowball uncertainty for low-momentum tracks
@@ -1549,6 +1548,10 @@
 	} 
 	return sigma;
     }
+    protected double estimatedEnergyUncertainty(Track tr) {
+	double trackMomentum = (new BasicHep3Vector(tr.getMomentum())).magnitude();
+	return estimatedEnergyUncertainty(trackMomentum);
+    }
     protected double estimatedEnergyUncertainty(Collection<Track> tracks) {
 	double sumSquaredSigma = 0.0;
 	for (Track tr : tracks) {
@@ -1580,7 +1583,7 @@
 	double trackMomentumSq = trackMomentum * trackMomentum;
 	double trackEnergySq = trackMomentumSq + trackMassSq;
 	double trackEnergy = Math.sqrt(trackEnergySq);
-	double trackEnergySigma = 0.7 * Math.sqrt(trackEnergy); // hmm...
+	double trackEnergySigma = estimatedEnergyUncertainty(trackMomentum);
 	double normalisedResidual = (clusterEnergy - trackEnergy)/trackEnergySigma;
 	return (normalisedResidual < tolerance); // not abs
     }
@@ -1589,7 +1592,7 @@
 	double trackMomentumSq = trackMomentum * trackMomentum;
 	double trackEnergySq = trackMomentumSq + trackMassSq;
 	double trackEnergy = Math.sqrt(trackEnergySq);
-	double trackEnergySigma = 0.7 * Math.sqrt(trackEnergy); // hmm...
+	double trackEnergySigma = estimatedEnergyUncertainty(trackMomentum);
 	double normalisedResidual = (clusterEnergy - trackEnergy)/trackEnergySigma;
 	return (Math.abs(normalisedResidual) < tolerance); // abs
     }

lcsim/src/org/lcsim/contrib/uiowa
ReclusterDTreeDriver.java 1.36 -> 1.37
diff -u -r1.36 -r1.37
--- ReclusterDTreeDriver.java	4 Aug 2008 17:38:17 -0000	1.36
+++ ReclusterDTreeDriver.java	4 Aug 2008 22:19:25 -0000	1.37
@@ -34,7 +34,7 @@
   * in this package, which uses the implementation in
   * org.lcsim.recon.cluster.directedtree developed by NIU).
   *
-  * @version $Id: ReclusterDTreeDriver.java,v 1.36 2008/08/04 17:38:17 mcharles Exp $
+  * @version $Id: ReclusterDTreeDriver.java,v 1.37 2008/08/04 22:19:25 mcharles Exp $
   * @author Mat Charles <[log in to unmask]>
   */
 
@@ -2674,7 +2674,7 @@
 		double jetMomentumMag = jetScalarMomentum(jet);
 		double clusterEnergy = energy(showerComponents, allSharedClusters);
 		double clusterEnergyNeutralCalib = energy(showerComponents, allSharedClusters, m_neutralCalib);
-		double sigma = 0.7 * Math.sqrt(jetMomentumMag);
+		double sigma = estimatedEnergyUncertainty(jet);
 		// Check for punch-through, E/p
 		double normalizedResidual = (clusterEnergy-jetMomentumMag)/sigma;
 		double normalizedResidualNeutralCalib = (clusterEnergyNeutralCalib-jetMomentumMag)/sigma;
@@ -2732,12 +2732,7 @@
 	    double clusterEnergyNeutralCalib = energy(showerComponents, allSharedClusters, m_neutralCalib);
 	    Hep3Vector trackMomentum = momentum(tr);
 	    double trackMomentumMag = trackMomentum.magnitude();
-	    double pionEnergySq = trackMomentumMag*trackMomentumMag + mass_piplus*mass_piplus;
-	    double sigma = 0.7 * Math.sqrt(trackMomentumMag);
-	    if (trackMomentumMag < 1.0) { 
-		// Don't lowball uncertainty for low-momentum tracks
-		sigma = 0.7; 
-	    } 
+	    double sigma = estimatedEnergyUncertainty(tr);
 	    double normalizedResidual = (clusterEnergy-trackMomentumMag)/sigma;
 	    double normalizedResidualNeutralCalib = (clusterEnergyNeutralCalib-trackMomentumMag)/sigma;
 	    boolean punchThrough = isPunchThrough(showerComponents, allSharedClusters);
@@ -3427,7 +3422,7 @@
 	    }
 	    double clusterEnergy = energy(showerComponents, allSharedClusters);
 	    double trackMomentum = (new BasicHep3Vector(tr.getMomentum())).magnitude();
-	    double sigma = 0.7 * Math.sqrt(trackMomentum);
+	    double sigma = estimatedEnergyUncertainty(tr);
 	    double normalizedResidual = (clusterEnergy-trackMomentum)/sigma;
 	    boolean punchThrough = isPunchThrough(showerComponents, allSharedClusters);
 	    if (normalizedResidual < -1.0) {
CVSspam 0.2.8