Author: [log in to unmask]
Date: Thu Mar 5 13:35:36 2015
New Revision: 2272
Log:
Example Driver to select events. Work in progress.
Added:
java/trunk/analysis/src/main/java/org/hps/analysis/examples/StripEventDriver.java
Added: java/trunk/analysis/src/main/java/org/hps/analysis/examples/StripEventDriver.java
=============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/examples/StripEventDriver.java (added)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/examples/StripEventDriver.java Thu Mar 5 13:35:36 2015
@@ -0,0 +1,64 @@
+package org.hps.analysis.examples;
+
+import java.util.List;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.Track;
+import org.lcsim.util.Driver;
+
+/**
+ *
+ * @author Norman A Graf
+ *
+ * @version $Id:
+ */
+public class StripEventDriver extends Driver
+{
+
+ private int _minNumberOfTracks = 0;
+ private int _minNumberOfHitsOnTrack = 0;
+ private int _numberOfEventsWritten = 0;
+
+ @Override
+ protected void process(EventHeader event)
+ {
+ boolean skipEvent = false;
+ int nTracks = 0;
+
+ if (event.hasCollection(Track.class, "MatchedTracks")) {
+ nTracks = event.get(Track.class, "MatchedTracks").size();
+ if (nTracks >= _minNumberOfTracks) {
+ List<Track> tracks = event.get(Track.class, "MatchedTracks");
+ for (Track t : tracks) {
+ int nhits = t.getTrackerHits().size();
+ if (nhits < _minNumberOfHitsOnTrack) {
+ skipEvent = true;
+ }
+ }
+ } else {
+ skipEvent = true;
+ }
+ }
+ if (skipEvent) {
+ throw new Driver.NextEventException();
+ } else {
+ _numberOfEventsWritten++;
+ }
+ }
+
+ @Override
+ protected void endOfData()
+ {
+ System.out.println("Wrote " + _numberOfEventsWritten + " events");
+ }
+
+ public void setMinNumberOfTracks(int nTracks)
+ {
+ _minNumberOfTracks = nTracks;
+ }
+
+ public void setMinNumberOfHitsOnTrack(int nHits)
+ {
+ _minNumberOfHitsOnTrack = nHits;
+ }
+
+}
|