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; } -} +}