4 modified files
hps-java/src/main/java/org/lcsim/hps/readout/ecal
diff -u -r1.4 -r1.5
--- TriggerDriver.java 20 Mar 2013 01:03:32 -0000 1.4
+++ TriggerDriver.java 20 Mar 2013 01:21:29 -0000 1.5
@@ -11,22 +11,21 @@
import java.util.logging.Level;
import java.util.logging.Logger;
import org.lcsim.event.EventHeader;
-import org.lcsim.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.hps.util.ClockSingleton;
import org.lcsim.util.lcio.LCIOWriter;
/**
- * Reads clusters and makes trigger decision using opposite quadrant criterion.
+ * Makes trigger decision and sends trigger to readout drivers.
* Prints triggers to file if file path specified.
- * Applies SVT trigger latency and sends trigger signal to SVT
+ * Writes trigger events to LCIO if file path specified.
+ * To implement: extend this class and write your own triggerDecision().
*
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: TriggerDriver.java,v 1.4 2013/03/20 01:03:32 meeg Exp $
+ * @version $Id: TriggerDriver.java,v 1.5 2013/03/20 01:21:29 meeg Exp $
*/
public abstract class TriggerDriver extends TriggerableDriver {
private boolean _DEBUG = false;
- protected String clusterCollectionName = "EcalClusters";
private String outputFileName = null;
protected PrintWriter outputStream = null;
protected int numTriggers;
@@ -53,10 +52,6 @@
this.deadTime = deadTime;
}
- public void setClusterCollectionName(String clusterCollectionName) {
- this.clusterCollectionName = clusterCollectionName;
- }
-
public void setOutputFileName(String outputFileName) {
this.outputFileName = outputFileName;
}
@@ -64,9 +59,6 @@
@Override
public void startOfData() {
addTriggerable(this);
- if (clusterCollectionName == null) {
- throw new RuntimeException("The parameter clusterCollectionName was not set!");
- }
if (outputFileName != null) {
try {
@@ -158,16 +150,7 @@
makeTriggerData(event, "TriggerBank");
}
- protected boolean triggerDecision(EventHeader event) {
- // Get the list of raw ECal hits.
- if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
- return testTrigger(event.get(HPSEcalCluster.class, clusterCollectionName));
- } else {
- return false;
- }
- }
-
- protected abstract boolean testTrigger(List<HPSEcalCluster> clusters);
+ protected abstract boolean triggerDecision(EventHeader event);
protected void makeTriggerData(EventHeader event, String collectionName) {
}
hps-java/src/main/java/org/lcsim/hps/readout/ecal
diff -u -r1.1 -r1.2
--- DummyTriggerDriver.java 25 Feb 2013 22:39:26 -0000 1.1
+++ DummyTriggerDriver.java 20 Mar 2013 01:21:29 -0000 1.2
@@ -9,7 +9,7 @@
* Free-running trigger - triggers on every Nth event
*
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: DummyTriggerDriver.java,v 1.1 2013/02/25 22:39:26 meeg Exp $
+ * @version $Id: DummyTriggerDriver.java,v 1.2 2013/03/20 01:21:29 meeg Exp $
*/
public class DummyTriggerDriver extends TriggerDriver {
@@ -24,7 +24,6 @@
return (ClockSingleton.getClock() % period == 0);
}
- @Override
public boolean testTrigger(List<HPSEcalCluster> clusters) {
return false;
}
hps-java/src/main/java/org/lcsim/hps/readout/ecal
diff -u -r1.1 -r1.2
--- TestRunTriggerDriver.java 25 Feb 2013 22:39:26 -0000 1.1
+++ TestRunTriggerDriver.java 20 Mar 2013 01:21:29 -0000 1.2
@@ -1,6 +1,5 @@
package org.lcsim.hps.readout.ecal;
-import org.lcsim.hps.readout.ecal.TriggerDriver;
import java.util.ArrayList;
import java.util.List;
import org.lcsim.event.EventHeader;
@@ -13,7 +12,7 @@
*
* @author Omar Moreno <[log in to unmask]>
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: TestRunTriggerDriver.java,v 1.1 2013/02/25 22:39:26 meeg Exp $
+ * @version $Id: TestRunTriggerDriver.java,v 1.2 2013/03/20 01:21:29 meeg Exp $
*/
public class TestRunTriggerDriver extends TriggerDriver {
@@ -22,6 +21,7 @@
private double clusterEnergyLow = 10; //
int deadtimelessTriggerCount;
private int topBits = 0, botBits = 0;
+ protected String clusterCollectionName = "EcalClusters";
public TestRunTriggerDriver() {
}
@@ -39,9 +39,16 @@
event.put(collectionName, triggerList, TriggerData.class, 0);
}
+ public void setClusterCollectionName(String clusterCollectionName) {
+ this.clusterCollectionName = clusterCollectionName;
+ }
+
@Override
public void startOfData() {
super.startOfData();
+ if (clusterCollectionName == null) {
+ throw new RuntimeException("The parameter clusterCollectionName was not set!");
+ }
deadtimelessTriggerCount = 0;
}
@@ -64,7 +71,6 @@
}
}
- @Override
public boolean testTrigger(List<HPSEcalCluster> clusters) {
boolean trigger = false;
hps-java/src/main/java/org/lcsim/hps/readout/ecal
diff -u -r1.1 -r1.2
--- FADCTriggerDriver.java 25 Feb 2013 22:39:26 -0000 1.1
+++ FADCTriggerDriver.java 20 Mar 2013 01:21:29 -0000 1.2
@@ -23,7 +23,7 @@
*
* @author Omar Moreno <[log in to unmask]>
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: FADCTriggerDriver.java,v 1.1 2013/02/25 22:39:26 meeg Exp $
+ * @version $Id: FADCTriggerDriver.java,v 1.2 2013/03/20 01:21:29 meeg Exp $
*/
public class FADCTriggerDriver extends TriggerDriver {
@@ -53,6 +53,7 @@
IHistogram2D clusterEnergy2D, clusterSumDiff2D, energyDistance2D, clusterAngles2D, clusterCoplanarity2D;
IHistogram1D triggerBits1D, triggerTimes1D;
private boolean useQuadrants = false;
+ protected String clusterCollectionName = "EcalClusters";
private enum Flag {
@@ -76,6 +77,10 @@
clusterPairs = new LinkedList<HPSEcalCluster[]>();
}
+ public void setClusterCollectionName(String clusterCollectionName) {
+ this.clusterCollectionName = clusterCollectionName;
+ }
+
public void setBeamEnergy(double beamEnergy) {
if (beamEnergy == 1.1) {
System.out.println(this.getClass().getSimpleName() + ": Setting trigger for 1.1 GeV beam");
@@ -128,6 +133,9 @@
@Override
public void startOfData() {
super.startOfData();
+ if (clusterCollectionName == null) {
+ throw new RuntimeException("The parameter clusterCollectionName was not set!");
+ }
allPairs = 0;
oppositeQuadrantCount = 0;
@@ -139,6 +147,15 @@
}
@Override
+ protected boolean triggerDecision(EventHeader event) {
+ // Get the list of raw ECal hits.
+ if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ return testTrigger(event.get(HPSEcalCluster.class, clusterCollectionName));
+ } else {
+ return false;
+ }
+ }
+
public boolean testTrigger(List<HPSEcalCluster> clusters) {
boolean trigger = false;
CVSspam 0.2.12