Commit in hps-java/src/main/java/org/lcsim/hps/readout/ecal on MAIN | |||
TriggerDriver.java | +5 | -22 | 1.4 -> 1.5 |
DummyTriggerDriver.java | +1 | -2 | 1.1 -> 1.2 |
TestRunTriggerDriver.java | +9 | -3 | 1.1 -> 1.2 |
FADCTriggerDriver.java | +18 | -1 | 1.1 -> 1.2 |
+33 | -28 |
move ECal-specific trigger code to ECal triggers
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) { }
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; }
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;
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;
Use REPLY-ALL to reply to list
To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1