lcsim/src/org/lcsim/recon/pfa/structural
diff -u -r1.4 -r1.5
--- FuzzyQNeutralHadronClusterEnergyCalculator.java 10 Sep 2008 17:31:09 -0000 1.4
+++ FuzzyQNeutralHadronClusterEnergyCalculator.java 22 Oct 2008 17:53:19 -0000 1.5
@@ -14,7 +14,7 @@
* an extension of Ron's QNeutralHadronClusterEnergyCalculator
* class.
*
- * @version $Id: FuzzyQNeutralHadronClusterEnergyCalculator.java,v 1.4 2008/09/10 17:31:09 mcharles Exp $
+ * @version $Id: FuzzyQNeutralHadronClusterEnergyCalculator.java,v 1.5 2008/10/22 17:53:19 mcharles Exp $
*/
public class FuzzyQNeutralHadronClusterEnergyCalculator extends QNeutralHadronClusterEnergyCalculator
@@ -136,21 +136,13 @@
EmeasEst += hitWeight * ((Ehit/(1. + alpha*(1./st - 1.)))/sf[5]);
} else if (detector_index == 8) {
// Muon endcap
- double muonSamplingFraction = 3.80; // 0.263 GeV per hit => 3.80
- double Ehit = 1.0;
- double[] pos = hit.getPosition();
- double R = Math.sqrt(pos[0]*pos[0]+pos[1]*pos[1]+pos[2]*pos[2]);
- double st = Math.abs(pos[2])/R;
- EmeasEst += hitWeight * ((Ehit/(1. + alpha*(1./st - 1.)))/muonSamplingFraction);
- } else if (detector_index == 4) {
- // Muon barrel
boolean skipMuonHits = true;
- double muonSamplingFraction = Double.NaN;
+ double muonSamplingFraction = 3.80; // 0.263 GeV per hit => 3.80
if (m_sid01) {
- muonSamplingFraction = 2.53; // 0.396 GeV per hit => 2.53
+ muonSamplingFraction = 3.80; // Um... I think perhaps 0.396 GeV per hit => 2.53
skipMuonHits = false;
} else if (m_sid02) {
- muonSamplingFraction = 0.82171; // Taken from properties file for sid02
+ muonSamplingFraction = 0.6; // Tuned to nearest 0.1 on qq500 events -- needs further tuning
skipMuonHits = false;
}
if (!skipMuonHits) {
@@ -160,6 +152,19 @@
double st = Math.abs(pos[2])/R;
EmeasEst += hitWeight * ((Ehit/(1. + alpha*(1./st - 1.)))/muonSamplingFraction);
}
+ } else if (detector_index == 4) {
+ // Muon barrel
+ boolean skipMuonHits = true;
+ double muonSamplingFraction = Double.NaN;
+ // For now, don't ever give energy to muon barrel hits.
+ if (!skipMuonHits) {
+ double Ehit = 1.0;
+ double[] pos = hit.getPosition();
+ double R = Math.sqrt(pos[0]*pos[0]+pos[1]*pos[1]+pos[2]*pos[2]);
+ double ctheta = Math.abs(pos[2])/R;
+ double st = Math.sqrt(1.-ctheta*ctheta);
+ EmeasEst += hitWeight * ((Ehit/(1. + alpha*(1./st - 1.)))/muonSamplingFraction);
+ }
} else {
System.out.println("ERROR: Failed to recognize system id "+detector_index+" named "+hit.getSubdetector().getName());
}