Commit in hps-java/src/main/java/org/lcsim/hps/users/meeg on MAIN | |||
FilterMCBunches.java | +20 | -8 | 1.8 -> 1.9 |
configurable energy cut
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
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