lcsim/src/org/lcsim/contrib/uiowa
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
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) {