Print

Print


Author: [log in to unmask]
Date: Tue Jan 13 15:31:58 2015
New Revision: 1922

Log:
Add method to apply corrections to a single cluster.

Modified:
    java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClusterUtilities.java

Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClusterUtilities.java
 =============================================================================
--- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClusterUtilities.java	(original)
+++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ClusterUtilities.java	Tue Jan 13 15:31:58 2015
@@ -344,6 +344,27 @@
     }
     
     /**
+     * Apply HPS-specific energy and position corrections to a cluster.
+     * 
+     * @see DefaultClusterPropertyCalculator
+     * @see ClusterPositionCorrection
+     * @see ClusterEnergyCorrection
+     */
+    public static void applyCorrections(Cluster cluster) {
+                            
+        if (cluster instanceof BaseCluster) {
+            
+            BaseCluster baseCluster = (BaseCluster)cluster;            
+                        
+            // Apply PID based position correction, which should happen before final energy correction.
+            ClusterPositionCorrection.setCorrectedPosition(baseCluster);
+            
+            // Apply PID based energy correction.
+            ClusterEnergyCorrection.setCorrectedEnergy(baseCluster);
+        }        
+    }    
+    
+    /**
      * Call {@link org.lcsim.event.base.BaseCluster#calculateProperties()}
      * on all clusters in the list.
      * @param clusters The list of clusters.