Commit in projects/lcsim/trunk/analysis/src/main on MAIN | |||
java/org/lcsim/analysis/StripIdrupEvent.java | +52 | added 3197 | |
resources/steering-files/stripIdrupEvents.lcsim | +35 | added 3197 | |
+87 |
Driver to strip events by MC id
--- 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/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
Use REPLY-ALL to reply to list
To unsubscribe from the LCDET-SVN list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1