Commit in hps-java/src/main on MAIN | |||
java/org/lcsim/hps/recon/ecal/HPSTriggerDriver.java | +14 | -12 | 1.11 -> 1.12 |
/HPSDummyTriggerDriver.java | +14 | -9 | 1.1 -> 1.2 |
resources/org/lcsim/hps/steering/HPSTestRunLcioToEvio.lcsim | +34 | added 1.1 | |
java/org/lcsim/hps/util/ClockSingleton.java | +2 | -5 | 1.5 -> 1.6 |
+64 | -26 |
new steering file for direct LCIO->EVIO conversion
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
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; + }
}
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> +
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;
} }
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