Print

Print


Author: [log in to unmask]
Date: Wed Aug  3 16:55:06 2016
New Revision: 4442

Log:
Fixed bug in pair trigger object and added method to trigger diagnostic utility file.

Modified:
    java/trunk/analysis/src/main/java/org/hps/analysis/trigger/util/PairTrigger.java
    java/trunk/analysis/src/main/java/org/hps/analysis/trigger/util/TriggerDiagnosticUtil.java

Modified: java/trunk/analysis/src/main/java/org/hps/analysis/trigger/util/PairTrigger.java
 =============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/trigger/util/PairTrigger.java	(original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/trigger/util/PairTrigger.java	Wed Aug  3 16:55:06 2016
@@ -56,7 +56,7 @@
      * <code>false</code> otherwise.
      */
     public boolean getStateEnergySum() {
-        return getCutState(PAIR_ENERGY_SUM_HIGH);
+        return getCutState(PAIR_ENERGY_SUM_LOW) && getCutState(PAIR_ENERGY_SUM_HIGH);
     }
     
     /**

Modified: java/trunk/analysis/src/main/java/org/hps/analysis/trigger/util/TriggerDiagnosticUtil.java
 =============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/trigger/util/TriggerDiagnosticUtil.java	(original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/trigger/util/TriggerDiagnosticUtil.java	Wed Aug  3 16:55:06 2016
@@ -4,6 +4,7 @@
 
 import org.hps.analysis.trigger.data.TriggerStatModule;
 import org.hps.record.triggerbank.SSPCluster;
+import org.hps.record.triggerbank.TriggerModule;
 import org.lcsim.event.CalorimeterHit;
 import org.lcsim.event.Cluster;
 
@@ -190,6 +191,25 @@
      */
     public static final int getYIndex(SSPCluster cluster) {
         return cluster.getYIndex();
+    }
+    
+    /**
+     * Checks whether a cluster is within the safe region of the FADC
+     * output window.
+     * @param sspCluster - The cluster to check.
+     * @return Returns <code>true</code> if the cluster is safe and
+     * returns <code>false</code> otherwise.
+     */
+    public static final boolean isVerifiable(SSPCluster sspCluster, int nsa, int nsb, int windowWidth) {
+        // Check that none of the hits are within the disallowed
+        // region of the FADC readout window.
+        if(TriggerModule.getClusterTime(sspCluster) <= nsb || TriggerModule.getClusterTime(sspCluster) >= (windowWidth - nsa)) {
+            return false;
+        }
+        
+        // If all of the cluster hits pass the time cut, the cluster
+        // is valid.
+        return true;
     }
     
     /**
@@ -219,4 +239,4 @@
         // is valid.
         return true;
     }
-}
+}