Author: [log in to unmask]
Date: Fri Jan 9 18:06:26 2015
New Revision: 1915
Log:
Use cluster type encoding to determine if corrections should be applied.
Modified:
java/trunk/recon/src/main/java/org/hps/recon/particle/ReconParticleDriver.java
Modified: java/trunk/recon/src/main/java/org/hps/recon/particle/ReconParticleDriver.java
=============================================================================
--- java/trunk/recon/src/main/java/org/hps/recon/particle/ReconParticleDriver.java (original)
+++ java/trunk/recon/src/main/java/org/hps/recon/particle/ReconParticleDriver.java Fri Jan 9 18:06:26 2015
@@ -4,9 +4,13 @@
import hep.physics.vec.BasicHepLorentzVector;
import hep.physics.vec.Hep3Vector;
import hep.physics.vec.HepLorentzVector;
+
import java.util.ArrayList;
import java.util.List;
+
import org.hps.recon.ecal.HPSEcalClusterIC;
+import org.hps.recon.ecal.cluster.ClusterType;
+import org.hps.recon.ecal.cluster.ClusterUtilities;
import org.hps.recon.tracking.CoordinateTransformations;
import org.hps.recon.tracking.TrackUtils;
import org.lcsim.event.Cluster;
@@ -14,6 +18,7 @@
import org.lcsim.event.ReconstructedParticle;
import org.lcsim.event.Track;
import org.lcsim.event.Vertex;
+import org.lcsim.event.base.BaseCluster;
import org.lcsim.event.base.BaseReconstructedParticle;
import org.lcsim.geometry.Detector;
import org.lcsim.util.Driver;
@@ -262,13 +267,13 @@
// If a cluster was found that matches the track...
if (matchedCluster != null) {
- if (matchedCluster instanceof HPSEcalClusterIC) {
+ if (matchedCluster.getType() == ClusterType.RECON.getType()) {
int pid = particle.getParticleIDUsed().getPDG();
- if (pid == -11) {
- ((HPSEcalClusterIC) matchedCluster).setParticleID(pid);
- }// End of cluster position/energy corrections.
- else if (pid == 11) {
- ((HPSEcalClusterIC) matchedCluster).setParticleID(pid);
+ // Is cluster from an electron or positron?
+ if (pid == -11 || pid == 11) {
+ // Set PID and apply corrections.
+ ((BaseCluster) matchedCluster).setParticleId(pid);
+ ClusterUtilities.applyCorrections(matchedCluster);
}
}
@@ -310,12 +315,15 @@
// The particle is assumed to be a photon, since it
// did not leave any track.
((BaseReconstructedParticle) particle).setParticleIdUsed(new SimpleParticleID(22, 0, 0, 0));
-
- if (unmatchedCluster instanceof HPSEcalClusterIC) {
+
+ if (unmatchedCluster.getType() == ClusterType.RECON.getType()) {
int pid = particle.getParticleIDUsed().getPDG();
+ // If not electron....
if (pid != 11) {
- ((HPSEcalClusterIC) unmatchedCluster).setParticleID(pid);
- }// End of cluster position/energy corrections.
+ // Set PID and apply corrections.
+ ((BaseCluster) unmatchedCluster).setParticleId(pid);
+ ClusterUtilities.applyCorrections(unmatchedCluster);
+ }
}
// Add the particle to the reconstructed particle list.
|