Author: [log in to unmask]
Date: Mon Mar 23 08:57:30 2015
New Revision: 2502
Log:
Added the ability for the singles and pair triggers to take a set of trigger cuts as an argument.
Modified:
java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCPrimaryTriggerDriver.java
java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SinglesTriggerDriver.java
Modified: java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCPrimaryTriggerDriver.java
=============================================================================
--- java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCPrimaryTriggerDriver.java (original)
+++ java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCPrimaryTriggerDriver.java Mon Mar 23 08:57:30 2015
@@ -704,4 +704,14 @@
topClusterQueue.remove();
botClusterQueue.remove();
}
+
+ /**
+ * Sets all cut values for the trigger using a string argument with
+ * the format "clusterMin clusterMax hitMin sumMin sumMax diffMax
+ * slopeMin slopeF coplanarMax timeDiffMax".
+ * @param cuts - The cut string.
+ */
+ public void setCuts(String cuts) {
+ triggerModule.setCutValues(false, cuts);
+ }
}
Modified: java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SinglesTriggerDriver.java
=============================================================================
--- java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SinglesTriggerDriver.java (original)
+++ java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SinglesTriggerDriver.java Mon Mar 23 08:57:30 2015
@@ -22,8 +22,7 @@
*/
public class SinglesTriggerDriver extends TriggerDriver {
// Cut Values
- private TriggerModule triggerModule = new TriggerModule(2.0, 0.125,
- 6.600, 0.200, 6.600, 0.000, 13.200, 6.600, 0.0, 360, 0.0055);
+ private TriggerModule triggerModule = new TriggerModule();
// LCIO Collection Names
private String clusterCollectionName = "EcalClusters";
@@ -70,6 +69,9 @@
*/
@Override
protected boolean triggerDecision(EventHeader event) {
+ // Track whether triggering cluster was seen.
+ boolean passTrigger = false;
+
// Check that there is a cluster object collection.
if(event.hasCollection(Cluster.class, clusterCollectionName)) {
// Get the list of hits.
@@ -93,6 +95,9 @@
continue triggerLoop;
}
+ // A trigger was seen. Note it.
+ passTrigger = true;
+
// Get the x and y indices.
int ix = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
int iy = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
@@ -106,9 +111,8 @@
}
}
- // If there were either no passing hits or not hits at all,
- // then there is also no trigger.
- return false;
+ // Return whether a triggering cluster was seen.
+ return passTrigger;
}
/**
@@ -163,4 +167,13 @@
public void setClusterCollectionName(String clusterCollectionName) {
this.clusterCollectionName = clusterCollectionName;
}
+
+ /**
+ * Sets all cut values for the trigger using a string argument with
+ * the format "Emin Emax Nmin".
+ * @param cuts - The cut string.
+ */
+ public void setCuts(String cuts) {
+ triggerModule.setCutValues(true, cuts);
+ }
}
|