projects/lcsim/trunk/analysis/src/main/java/org/lcsim/analysis
--- projects/lcsim/trunk/analysis/src/main/java/org/lcsim/analysis/StripIdrupEvent.java (rev 0)
+++ projects/lcsim/trunk/analysis/src/main/java/org/lcsim/analysis/StripIdrupEvent.java 2014-07-21 22:01:36 UTC (rev 3197)
@@ -0,0 +1,52 @@
+package org.lcsim.analysis;
+
+import java.util.Map;
+import org.lcsim.event.EventHeader;
+import org.lcsim.util.Driver;
+
+/**
+ *
+ * @author Norman A Graf
+ *
+ * @version $Id:
+ */
+public class StripIdrupEvent extends Driver
+{
+
+ private boolean _debug = true;
+ private int _idrupToWrite;
+
+ protected void process(EventHeader event)
+ {
+ Map<String, int[]> iparams = event.getIntegerParameters();
+ int idrup = 0;
+ if (iparams.containsKey("idrup")) {
+ idrup = iparams.get("idrup")[0];
+ }
+ if (iparams.containsKey("_idrup")) {
+ idrup = iparams.get("_idrup")[0];
+ }
+
+ Map<String, float[]> fparams = event.getFloatParameters();
+ float weight = 1.0f;
+ if (fparams.containsKey("_weight")) {
+ weight = fparams.get("_weight")[0];
+ }
+ if(_debug) System.out.println("idrup= " + idrup + " : weight= " + weight);
+ boolean skipEvent = true;
+
+ if (idrup == _idrupToWrite) {
+ System.out.println("writing event with idrup= " + idrup + " : weight= " + weight);
+ skipEvent = false;
+ }
+
+ if (skipEvent) {
+ throw new Driver.NextEventException();
+ }
+ }
+
+ public void setIdrup(int idrup)
+ {
+ _idrupToWrite = idrup;
+ }
+}
projects/lcsim/trunk/analysis/src/main/resources/steering-files
--- projects/lcsim/trunk/analysis/src/main/resources/steering-files/stripIdrupEvents.lcsim (rev 0)
+++ projects/lcsim/trunk/analysis/src/main/resources/steering-files/stripIdrupEvents.lcsim 2014-07-21 22:01:36 UTC (rev 3197)
@@ -0,0 +1,35 @@
+<lcsim xmlns:lcsim="http://www.lcsim.org/schemas/lcsim/1.0"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+ xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
+ <inputFiles>
+ <file>${inputFile}.slcio</file>
+ </inputFiles>
+ <control>
+ <numberOfEvents>-1</numberOfEvents>
+ <verbose>false</verbose>
+ <printDriverStatistics>true</printDriverStatistics>
+ <printDriversDetailed>true</printDriversDetailed>
+ </control>
+ <execute>
+ <driver name="EventMarkerDriver"/>
+ <driver name="StripIdrup"/>
+ <driver name="Writer"/>
+ </execute>
+ <drivers>
+ <!-- Driver to give some feedback on progress -->
+ <driver name="EventMarkerDriver"
+ type="org.lcsim.job.EventMarkerDriver">
+ <eventInterval>1</eventInterval>
+ </driver>
+ <!-- Driver to strip events based on MC process ID -->
+ <driver name="StripIdrup"
+ type="org.lcsim.analysis.StripIdrupEvent">
+ <idrup>${idrup}</idrup>
+ </driver>
+ <!-- Driver to write output slcio file -->
+ <driver name="Writer"
+ type="org.lcsim.util.loop.LCIODriver">
+ <outputFilePath>${inputFile}_${idrup}.slcio</outputFilePath>
+ </driver>
+ </drivers>
+</lcsim>
\ No newline at end of file