hps-java/src/main/java/org/lcsim/hps/evio
diff -u -r1.1 -r1.2
--- TestRunTriggeredReconToLcio.java 30 Jul 2012 23:31:45 -0000 1.1
+++ TestRunTriggeredReconToLcio.java 31 Jul 2012 21:59:41 -0000 1.2
@@ -1,5 +1,6 @@
package org.lcsim.hps.evio;
+import hep.physics.event.generator.MCEvent;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -8,6 +9,7 @@
import java.util.List;
import java.util.Queue;
import org.lcsim.event.EventHeader;
+import org.lcsim.event.MCParticle;
import org.lcsim.event.base.BaseLCSimEvent;
import org.lcsim.hps.recon.ecal.HPSTriggerDriver;
import org.lcsim.hps.util.ClockSingleton;
@@ -33,6 +35,7 @@
LCIOWriter lcioWriter = null;
Queue<EventHeader> events = null;
private int ecalMode = EventConstants.ECAL_PULSE_INTEGRAL_MODE;
+ List<MCParticle> mcParticles = null;
public TestRunTriggeredReconToLcio() {
}
@@ -87,18 +90,25 @@
}
protected void process(EventHeader event) {
+ if (event.hasCollection(MCParticle.class, MCEvent.MC_PARTICLES)) {
+ mcParticles = event.getMCParticles();
+ }
+
if (HPSTriggerDriver.triggerBit()) {
- System.out.println(ClockSingleton.getClock());
+ System.out.println(ClockSingleton.getClock());
EventHeader lcsimEvent = new BaseLCSimEvent(0, eventsWritten, event.getDetectorName());
events.add(lcsimEvent);
+ System.out.println("Creating LCIO event " + eventsWritten);
+ lcsimEvent.put(MCEvent.MC_PARTICLES, mcParticles);
+ System.out.println("Adding " + mcParticles.size() + " MCParticles");
+ ++eventsWritten;
}
writerLoop:
for (HitWriter hitWriter : writers) {
if (hitWriter.hasData(event)) {
System.out.println(hitWriter.getClass().getSimpleName() + ": writing data, event " + event.getEventNumber());
- System.out.println(ClockSingleton.getClock());
for (EventHeader queuedEvent : events) {
if (!hitWriter.hasData(queuedEvent)) {
@@ -125,7 +135,6 @@
// Write this event.
try {
lcioWriter.write(queuedEvent);
- ++eventsWritten;
} catch (IOException e) {
throw new RuntimeException(e);
}