Print

Print


Commit in lcsim/src/org/lcsim/recon/pfa/identifier on MAIN
SimpleChargedParticleMaker.java+12-11.6 -> 1.7
Add debug; make sure charge of particles is set correctly

lcsim/src/org/lcsim/recon/pfa/identifier
SimpleChargedParticleMaker.java 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- SimpleChargedParticleMaker.java	17 Aug 2006 20:55:37 -0000	1.6
+++ SimpleChargedParticleMaker.java	3 Nov 2006 01:23:16 -0000	1.7
@@ -25,7 +25,7 @@
  *
  * Currently, PID is done by cheating.
  *
- * @version $Id: SimpleChargedParticleMaker.java,v 1.6 2006/08/17 20:55:37 mcharles Exp $
+ * @version $Id: SimpleChargedParticleMaker.java,v 1.7 2006/11/03 01:23:16 mcharles Exp $
  */
 
 public class SimpleChargedParticleMaker extends Driver
@@ -89,8 +89,16 @@
 	// Write out
 	event.put(m_outputTrackListName, unmatchedTracks);
 	event.put(m_outputParticleListName, outputParticleList);
+
+	if (m_debug) {
+	    System.out.println("SimpleChargedParticleMaker: Read in "+inputTrackList.size()+" tracks and "+inputClusterList.size()+" clusters; wrote out "
+			       +outputParticleList.size()+" matched particles and "+unmatchedTracks.size()+" unmatched tracks");
+	}
     }
 
+    boolean m_debug = false;
+    public void setDebug(boolean debug) { m_debug = debug; }
+
     protected TrackClusterMatcher m_matcher;
     String m_inputTrackListName;
     String m_outputTrackListName;
@@ -114,6 +122,7 @@
 	}
 	public void recomputeKinematics() {
 	    double energy = 0.0;
+	    int charge = 0;
 	    for (Track tr : this.getTracks()) {
 		double[] trackMomentum = tr.getMomentum();
 		double trackMomentumMagSq = (trackMomentum[0]*trackMomentum[0] + trackMomentum[1]*trackMomentum[1] + trackMomentum[2]*trackMomentum[2]);
@@ -129,8 +138,10 @@
 		}
 		double trackEnergy = Math.sqrt(trackMomentumMagSq + mass*mass);
 		energy += trackEnergy;
+		charge += tr.getCharge();
 	    }
 	    this.setEnergy(energy);
+	    this.setCharge(charge);
 	}
     }
 }
CVSspam 0.2.8