lcsim/src/org/lcsim/recon/pfa/cheat
diff -u -r1.3 -r1.4
--- PerfectIdentifier.java 23 Jul 2006 18:24:47 -0000 1.3
+++ PerfectIdentifier.java 17 Nov 2006 21:16:37 -0000 1.4
@@ -13,7 +13,7 @@
/**
*
- * @version $Id: PerfectIdentifier.java,v 1.3 2006/07/23 18:24:47 mcharles Exp $
+ * @version $Id: PerfectIdentifier.java,v 1.4 2006/11/17 21:16:37 mcharles Exp $
*/
public class PerfectIdentifier extends Driver
@@ -26,7 +26,10 @@
List<Cluster> inputClusterList = event.get(Cluster.class, m_inputClusterListName);
List<ReconstructedParticle> outputParticleList = new Vector<ReconstructedParticle>();
List<MCParticle> mcList = event.get(MCParticle.class, m_mcName);
- List<Track> trackList = event.get(Track.class, m_inputTrackListName);
+ List<Track> trackList = null;
+ if (m_inputTrackListName != null) {
+ trackList = event.get(Track.class, m_inputTrackListName);
+ }
for (Cluster clus : inputClusterList) {
// Identify
@@ -35,14 +38,19 @@
LocalReconstructedParticle part = new LocalReconstructedParticle();
part.addCluster(clus);
// Match track(s):
- for (Track currentTrack : trackList) {
- if (currentTrack instanceof ReconTrack) {
- ReconTrack cheatTrack = (ReconTrack)(currentTrack);
- Particle cheatTrackParticle = cheatTrack.getMCParticle();
- if (cheatTrackParticle == truthID) {
- part.addTrack(currentTrack);
+ if (trackList != null) {
+ // Use supplied track list
+ for (Track currentTrack : trackList) {
+ if (currentTrack instanceof ReconTrack) {
+ ReconTrack cheatTrack = (ReconTrack)(currentTrack);
+ Particle cheatTrackParticle = cheatTrack.getMCParticle();
+ if (cheatTrackParticle == truthID) {
+ part.addTrack(currentTrack);
+ }
}
}
+ } else {
+ // Skip track list
}
// This step has to be done last, since addTrack() now over-writes kinematic info
part.setEnergy(truthID.getEnergy());