Print

Print


Author: [log in to unmask]
Date: Wed Jun 29 12:02:53 2016
New Revision: 4413

Log:
fixed logic and made set method public

Modified:
    java/trunk/analysis/src/main/java/org/hps/analysis/examples/StripEventDriver.java

Modified: java/trunk/analysis/src/main/java/org/hps/analysis/examples/StripEventDriver.java
 =============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/examples/StripEventDriver.java	(original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/examples/StripEventDriver.java	Wed Jun 29 12:02:53 2016
@@ -79,6 +79,7 @@
                 skipEvent = true;
             }
 
+            // add capability to require all tracking layers to have been hit
             if (!skipEvent && _selectAllLayers) {
                 setupSensors(event);
                 Set<Integer> topLayers = new TreeSet<Integer>();
@@ -106,6 +107,14 @@
                 {
                   if(bottomLayers.size() != 12) skipEvent = true;  
                 }
+                // if we don't explicitly request top or bottom, 
+                // only keep event if either the top or the bottom has all twelve layers hit
+                if(!_selectTopHits && !_selectBottomHits)
+                {
+                    skipEvent = true; 
+                    if(topLayers.size() == 12) skipEvent = false;
+                    if(bottomLayers.size() == 12) skipEvent = false;     
+                }
             }
         }
         if (event.hasCollection(Cluster.class, _clusterCollectionName)) {
@@ -200,7 +209,7 @@
         _selectBottomHits = b;
     }
     
-    private void setSelectAllLayers(boolean b)
+    public void setSelectAllLayers(boolean b)
     {
         _selectAllLayers = b;
     }