hps-java/src/main/java/org/lcsim/hps/evio
diff -u -r1.13 -r1.14
--- TestRunTriggeredReconToLcio.java 20 Mar 2013 00:09:43 -0000 1.13
+++ TestRunTriggeredReconToLcio.java 9 Apr 2013 22:22:12 -0000 1.14
@@ -16,6 +16,7 @@
import org.lcsim.hps.monitoring.CalibrationDriver;
import org.lcsim.hps.readout.ecal.ReadoutTimestamp;
import org.lcsim.hps.readout.ecal.TriggerDriver;
+import org.lcsim.hps.util.ClockSingleton;
import org.lcsim.util.Driver;
import org.lcsim.util.lcio.LCIOWriter;
@@ -43,6 +44,10 @@
List<MCParticle> mcParticles = null;
List<SimTrackerHit> trackerHits = null;
List<SimCalorimeterHit> ecalHits = null;
+ //MC collections from the last 500n'th event (trident or preselected trigger event)
+ List<MCParticle> mcParticles500 = null;
+ List<SimTrackerHit> trackerHits500 = null;
+ List<SimCalorimeterHit> ecalHits500 = null;
static final String ecalCollectionName = "EcalHits";
static final String trackerCollectionName = "TrackerHits";
@@ -110,17 +115,29 @@
ecalHits = event.getSimCalorimeterHits(ecalCollectionName);
trackerHits = event.getSimTrackerHits(trackerCollectionName);
}
+ if (ClockSingleton.getClock() % 500 == 0) {
+ mcParticles500 = event.getMCParticles();
+ ecalHits500 = event.getSimCalorimeterHits(ecalCollectionName);
+ trackerHits500 = event.getSimTrackerHits(trackerCollectionName);
+ }
if (TriggerDriver.triggerBit()) {
EventHeader lcsimEvent = new QuietBaseLCSimEvent(CalibrationDriver.runNumber(), event.getEventNumber(), event.getDetectorName());
events.add(lcsimEvent);
System.out.println("Creating LCIO event " + eventNum);
- lcsimEvent.put(MCEvent.MC_PARTICLES, mcParticles);
- lcsimEvent.put(ecalCollectionName, ecalHits, SimCalorimeterHit.class, 0xe0000000);
- lcsimEvent.put(trackerCollectionName, trackerHits, SimTrackerHit.class, 0xc0000000);
+ if (mcParticles500 == null || mcParticles500.isEmpty()) {
+ lcsimEvent.put(MCEvent.MC_PARTICLES, mcParticles);
+ lcsimEvent.put(ecalCollectionName, ecalHits, SimCalorimeterHit.class, 0xe0000000);
+ lcsimEvent.put(trackerCollectionName, trackerHits, SimTrackerHit.class, 0xc0000000);
+ System.out.println("Adding " + mcParticles.size() + " MCParticles, " + ecalHits.size() + " SimCalorimeterHits, " + trackerHits.size() + " SimTrackerHits");
+ } else {
+ lcsimEvent.put(MCEvent.MC_PARTICLES, mcParticles500);
+ lcsimEvent.put(ecalCollectionName, ecalHits500, SimCalorimeterHit.class, 0xe0000000);
+ lcsimEvent.put(trackerCollectionName, trackerHits500, SimTrackerHit.class, 0xc0000000);
+ System.out.println("Adding " + mcParticles500.size() + " MCParticles, " + ecalHits500.size() + " SimCalorimeterHits, " + trackerHits500.size() + " SimTrackerHits");
+ }
lcsimEvent.put(ReadoutTimestamp.collectionName, event.get(ReadoutTimestamp.class, ReadoutTimestamp.collectionName));
- System.out.println("Adding " + mcParticles.size() + " MCParticles, " + ecalHits.size() + " SimCalorimeterHits, " + trackerHits.size() + " SimTrackerHits");
++eventNum;
}