Commit in hps-java/src/main/java/org/lcsim/hps/users/meeg on MAIN
FilterMCBunches.java+20-81.8 -> 1.9
configurable energy cut

hps-java/src/main/java/org/lcsim/hps/users/meeg
FilterMCBunches.java 1.8 -> 1.9
diff -u -r1.8 -r1.9
--- FilterMCBunches.java	14 Dec 2012 01:29:32 -0000	1.8
+++ FilterMCBunches.java	25 Feb 2013 21:53:42 -0000	1.9
@@ -9,7 +9,6 @@
 import org.apache.commons.cli.CommandLineParser;
 import org.apache.commons.cli.HelpFormatter;
 import org.apache.commons.cli.Option;
-import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
 import org.apache.commons.cli.ParseException;
 import org.apache.commons.cli.PosixParser;
@@ -30,7 +29,7 @@
  * Can also be used to chain multiple LCIO files together.
  *
  * @author Sho Uemura <[log in to unmask]>
- * @version $Id: FilterMCBunches.java,v 1.8 2012/12/14 01:29:32 meeg Exp $
+ * @version $Id: FilterMCBunches.java,v 1.9 2013/02/25 21:53:42 meeg Exp $
  */
 public class FilterMCBunches {
 
@@ -41,13 +40,15 @@
      */
     private static Options createCommandLineOptions() {
         Options options = new Options();
-        Option opt_e = OptionBuilder.hasArg(true).isRequired(true).withDescription("Interval between non-empty events").create("e");
+        Option opt_e = new Option("e", true, "Interval between non-empty events");
+        opt_e.setRequired(true);
         options.addOption(opt_e);
         //options.addOption(new Option("e", true, "Interval between non-empty events"));
         options.addOption(new Option("n", true, "Number of events to read"));
-        options.addOption(new Option("a", true, "All events - no cuts"));
+        options.addOption(new Option("a", false, "All events - no cuts"));
         options.addOption(new Option("t", false, "Filter based on SimTrackerHits"));
         options.addOption(new Option("r", false, "Filter based on RawTrackerHits"));
+        options.addOption(new Option("E", true, "Energy cut for EcalHit cut"));
         return options;
     }
 
@@ -84,7 +85,11 @@
 
         EventTester tester = null;
         if (!cl.hasOption("a")) {
-            tester = new EcalEventTester();
+            if (cl.hasOption("E")) {
+                tester = new EcalEventTester(Double.valueOf(cl.getOptionValue("E")));
+            } else {
+                tester = new EcalEventTester(0.05);
+            }
         }
         if (cl.hasOption("t")) {
             tester = new TrackerEventTester();
@@ -211,8 +216,8 @@
             nEvents++;
             List<RawCalorimeterHit> ecalHits = event.get(RawCalorimeterHit.class, "EcalReadoutHits");
             List<RawTrackerHit> trackerHits = event.get(RawTrackerHit.class, "SVTRawTrackerHits");
-            nEcal+=ecalHits.size();
-            nRTH+=trackerHits.size();
+            nEcal += ecalHits.size();
+            nRTH += trackerHits.size();
 
             Set<Integer> topLayers = new HashSet<Integer>();
             Set<Integer> botLayers = new HashSet<Integer>();
@@ -230,6 +235,7 @@
             return (countPairs(topLayers) >= 4 && countPairs(botLayers) >= 4);
         }
 
+        @Override
         void endOfRun() {
             System.out.format("%d events, %f RawCalorimeterHits and %f RawTrackerHits on average\n", nEvents, ((double) nEcal) / nEvents, ((double) nRTH) / nEvents);
         }
@@ -265,6 +271,12 @@
 
     private static class EcalEventTester extends EventTester {
 
+        double eCut;
+
+        public EcalEventTester(double eCut) {
+            this.eCut = eCut;
+        }
+
         @Override
         public boolean goodEvent(EventHeader event) {
             List<SimCalorimeterHit> ecalHits = event.getSimCalorimeterHits("EcalHits");
@@ -284,7 +296,7 @@
 
 //        return (ecalHits.size() + trackerHits.size() != 0);
 //        return (totalE > 0.05 || !trackerHits.isEmpty());
-            return (totalE > 0.05);
+            return (totalE > eCut);
         }
     }
 }
\ No newline at end of file
CVSspam 0.2.12


Use REPLY-ALL to reply to list

To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1