1 added + 3 modified, total 4 files
hps-java/src/main/java/org/lcsim/hps/recon/ecal
diff -u -r1.11 -r1.12
--- HPSTriggerDriver.java 30 Jul 2012 23:31:45 -0000 1.11
+++ HPSTriggerDriver.java 31 Jul 2012 00:08:40 -0000 1.12
@@ -11,7 +11,6 @@
import org.lcsim.geometry.Detector;
import org.lcsim.geometry.IDDecoder;
import org.lcsim.geometry.Subdetector;
-import org.lcsim.hps.evio.TestRunTriggeredReconToEvio;
import org.lcsim.hps.recon.tracking.apv25.HPSAPV25;
import org.lcsim.hps.util.ClockSingleton;
import org.lcsim.util.Driver;
@@ -22,13 +21,13 @@
* Applies SVT trigger latency and sends trigger signal to SVT
*
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSTriggerDriver.java,v 1.11 2012/07/30 23:31:45 meeg Exp $
+ * @version $Id: HPSTriggerDriver.java,v 1.12 2012/07/31 00:08:40 meeg Exp $
*/
public abstract class HPSTriggerDriver extends Driver {
protected Subdetector ecal;
- private String ecalName;
- private String clusterCollectionName;
+ private String ecalName = "Ecal";
+ private String clusterCollectionName = "EcalClusters";
protected IDDecoder dec = null;
private String outputFileName;
protected PrintWriter outputStream = null;
@@ -71,7 +70,7 @@
@Override
public void startOfData() {
if (clusterCollectionName == null) {
- throw new RuntimeException("The parameter ecalCollectionName was not set!");
+ throw new RuntimeException("The parameter clusterCollectionName was not set!");
}
if (ecalName == null) {
@@ -105,13 +104,7 @@
triggerBit = false; //reset trigger
//System.out.println(this.getClass().getCanonicalName() + " - process");
- // Get the list of raw ECal hits.
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, clusterCollectionName);
- if (clusters == null) {
- throw new RuntimeException("Event is missing ECal clusters collection!");
- }
-
- if (testTrigger(clusters)) {
+ if (triggerDecision(event)) {
if (ClockSingleton.getClock() - lastTrigger > deadTime) {
triggerBit = true;
lastTrigger = ClockSingleton.getClock();
@@ -167,6 +160,15 @@
}
}
+ protected boolean triggerDecision(EventHeader event) {
+ // Get the list of raw ECal hits.
+ List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, clusterCollectionName);
+ if (clusters == null) {
+ throw new RuntimeException("Event is missing ECal clusters collection!");
+ }
+ return testTrigger(clusters);
+ }
+
public abstract boolean testTrigger(List<HPSEcalCluster> clusters);
@Override
hps-java/src/main/java/org/lcsim/hps/recon/ecal
diff -u -r1.1 -r1.2
--- HPSDummyTriggerDriver.java 26 Apr 2012 18:15:26 -0000 1.1
+++ HPSDummyTriggerDriver.java 31 Jul 2012 00:08:40 -0000 1.2
@@ -1,24 +1,29 @@
package org.lcsim.hps.recon.ecal;
import java.util.List;
+import org.lcsim.event.EventHeader;
import org.lcsim.hps.util.ClockSingleton;
/**
* Free-running trigger - triggers on every Nth event
*
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: HPSDummyTriggerDriver.java,v 1.1 2012/04/26 18:15:26 meeg Exp $
+ * @version $Id: HPSDummyTriggerDriver.java,v 1.2 2012/07/31 00:08:40 meeg Exp $
*/
public class HPSDummyTriggerDriver extends HPSTriggerDriver {
- int period = 100;
+ int period = 100;
- public void setPeriod(int period) {
- this.period = period;
- }
+ public void setPeriod(int period) {
+ this.period = period;
+ }
- @Override
- public boolean testTrigger(List<HPSEcalCluster> clusters) {
- return (ClockSingleton.getClock() % period == 0);
- }
+ @Override
+ public boolean triggerDecision(EventHeader event) {
+ return (ClockSingleton.getClock() % period == 0);
+ }
+
+ public boolean testTrigger(List<HPSEcalCluster> clusters) {
+ return false;
+ }
}
hps-java/src/main/resources/org/lcsim/hps/steering
diff -N HPSTestRunLcioToEvio.lcsim
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ HPSTestRunLcioToEvio.lcsim 31 Jul 2012 00:08:40 -0000 1.1
@@ -0,0 +1,34 @@
+<!--
+ Convert LCIO file to EVIO file.
+-->
+<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+ xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
+
+ <inputFiles>
+ <file>${inputFile}</file>
+ </inputFiles>
+
+ <control>
+ <numberOfEvents>-1</numberOfEvents>
+ </control>
+
+ <execute>
+ <driver name="DummyTrigger"/>
+ <driver name="TestRunReconToEvio"/>
+ <driver name="ClockDriver"/>
+ </execute>
+
+ <drivers>
+ <driver name="DummyTrigger" type="org.lcsim.hps.recon.ecal.HPSDummyTriggerDriver">
+ <period>1</period>
+ <deadTime>0</deadTime>
+ </driver>
+ <driver name="TestRunReconToEvio" type="org.lcsim.hps.evio.TestRunTriggeredReconToEvio">
+ <evioOutputFile>${evioFile}</evioOutputFile>
+ </driver>
+ <driver name="ClockDriver"
+ type="org.lcsim.hps.util.ClockDriver">
+ </driver>
+ </drivers>
+</lcsim>
+
hps-java/src/main/java/org/lcsim/hps/util
diff -u -r1.5 -r1.6
--- ClockSingleton.java 30 Jul 2012 23:31:45 -0000 1.5
+++ ClockSingleton.java 31 Jul 2012 00:08:40 -0000 1.6
@@ -6,11 +6,10 @@
/**
* singleton clock class - use ClockDriver to control.
- * Also stores trigger state.
- * A better solution might be to store absolute time and triggers in the event.
+ * A better solution might be to store absolute time in the event.
*
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: ClockSingleton.java,v 1.5 2012/07/30 23:31:45 meeg Exp $
+ * @version $Id: ClockSingleton.java,v 1.6 2012/07/31 00:08:40 meeg Exp $
*/
public class ClockSingleton {
@@ -18,7 +17,6 @@
private int clock;
//time between events (bunch spacing)
private double dt = 2.0;
- private boolean trigger = false;
private ClockSingleton() {
}
@@ -45,6 +43,5 @@
public static void step() {
_instance.clock++;
- _instance.trigger = false;
}
}
CVSspam 0.2.12