hps-java/src/main/java/org/lcsim/hps/users/meeg
diff -u -r1.10 -r1.11
--- EvioFileReader.java 27 Apr 2012 23:08:02 -0000 1.10
+++ EvioFileReader.java 28 Apr 2012 21:05:15 -0000 1.11
@@ -5,7 +5,6 @@
import org.freehep.record.loop.event.RecordSuppliedEvent;
import org.jlab.coda.jevio.EvioEvent;
-import org.jlab.coda.jevio.EvioException;
import org.jlab.coda.jevio.EvioReader;
import org.lcsim.event.EventHeader;
import org.lcsim.hps.evio.EventConstants;
@@ -18,113 +17,113 @@
// TODO Add option for multiple EVIO input files.
public class EvioFileReader {
- EvioReader reader;
- String evioFileName;
- private static final String defaultDetectorName = "HPS-Test-JLAB-v4pt0";
- private static final String defaultSteeringFile = "/org/lcsim/hps/steering/ecal_print.lcsim";
- String steeringFile = defaultSteeringFile;
- String detectorName = defaultDetectorName;
- InputStream is = null;
- private JobControlManager jobMgr;
- boolean debug = false;
- int ecalMode = EventConstants.ECAL_PULSE_INTEGRAL_MODE;
- int delay = 0;
-
- EvioFileReader() {
- }
-
- private static void usage() {
- System.out.println("\nUsage: java Producer -e <evio file> [-s <steering file>] [-d <detector>]\n\n"
- + " -s steering file\n"
- + " -m ECal mode\n"
- + " -d detector name\n");
- System.exit(1);
- }
-
- public static void main(String[] args) {
- (new EvioFileReader()).doMain(args); // call wrapper method
- }
-
- public void doMain(String[] args) {
- try {
- for (int i = 0; i < args.length; i++) {
- if (args[i].equalsIgnoreCase("-e")) {
- evioFileName = new String(args[++i]);
- } else if (args[i].equalsIgnoreCase("-v")) {
- debug = true;
- } else if (args[i].equalsIgnoreCase("-s")) {
- is = new FileInputStream(args[++i]);
- } else if (args[i].equalsIgnoreCase("-r")) {
- steeringFile = new String(args[++i]);
- } else if (args[i].equalsIgnoreCase("-d")) {
- detectorName = new String(args[++i]);
- } else if (args[i].equalsIgnoreCase("-m")) {
- ecalMode = Integer.parseInt(args[++i]);
- } else if (args[i].equalsIgnoreCase("-w")) {
- delay = Integer.parseInt(args[++i]);
- } else {
- usage();
- return;
- }
- }
-
- if (evioFileName == null) {
- usage();
- return;
- }
-
- // Job manager to run LCSim.
- jobMgr = new JobControlManager();
- //jobMgr.checkInputFiles(false);
- jobMgr.setPerformDryRun(true);
- if (is == null) {
- is = this.getClass().getResourceAsStream(steeringFile);
- }
- jobMgr.setup(is);
-
- // Make a DriverAdapter for wrapping event loop.
- DriverAdapter driverAdapter = jobMgr.getDriverAdapter();
-
- // Call wrapper to startOfData() on DriverAdapter.
- driverAdapter.configure(null);
-
- // Setup the event builder.
- LCSimTestRunEventBuilder eventBuilder = new LCSimTestRunEventBuilder();
- eventBuilder.setDetectorName(detectorName);
- eventBuilder.setDebug(debug);
- eventBuilder.setEcalMode(ecalMode);
+ EvioReader reader;
+ String evioFileName;
+ private static final String defaultDetectorName = "HPS-Test-JLAB-v4pt0";
+ private static final String defaultSteeringFile = "/org/lcsim/hps/steering/print_ids.lcsim";
+ String steeringFile = defaultSteeringFile;
+ String detectorName = defaultDetectorName;
+ InputStream is = null;
+ private JobControlManager jobMgr;
+ boolean debug = false;
+ int ecalMode = EventConstants.ECAL_PULSE_INTEGRAL_MODE;
+ int delay = 0;
+
+ EvioFileReader() {
+ }
+
+ private static void usage() {
+ System.out.println("\nUsage: java Producer -e <evio file> [-s <steering file>] [-d <detector>]\n\n"
+ + " -s steering file\n"
+ + " -m ECal mode\n"
+ + " -d detector name\n");
+ System.exit(1);
+ }
+
+ public static void main(String[] args) {
+ (new EvioFileReader()).doMain(args); // call wrapper method
+ }
+
+ public void doMain(String[] args) {
+ try {
+ for (int i = 0; i < args.length; i++) {
+ if (args[i].equalsIgnoreCase("-e")) {
+ evioFileName = new String(args[++i]);
+ } else if (args[i].equalsIgnoreCase("-v")) {
+ debug = true;
+ } else if (args[i].equalsIgnoreCase("-s")) {
+ is = new FileInputStream(args[++i]);
+ } else if (args[i].equalsIgnoreCase("-r")) {
+ steeringFile = new String(args[++i]);
+ } else if (args[i].equalsIgnoreCase("-d")) {
+ detectorName = new String(args[++i]);
+ } else if (args[i].equalsIgnoreCase("-m")) {
+ ecalMode = Integer.parseInt(args[++i]);
+ } else if (args[i].equalsIgnoreCase("-w")) {
+ delay = Integer.parseInt(args[++i]);
+ } else {
+ usage();
+ return;
+ }
+ }
+
+ if (evioFileName == null) {
+ usage();
+ return;
+ }
+
+ // Job manager to run LCSim.
+ jobMgr = new JobControlManager();
+ //jobMgr.checkInputFiles(false);
+ jobMgr.setPerformDryRun(true);
+ if (is == null) {
+ is = this.getClass().getResourceAsStream(steeringFile);
+ }
+ jobMgr.setup(is);
+
+ // Make a DriverAdapter for wrapping event loop.
+ DriverAdapter driverAdapter = jobMgr.getDriverAdapter();
+
+ // Call wrapper to startOfData() on DriverAdapter.
+ driverAdapter.configure(null);
+
+ // Setup the event builder.
+ LCSimTestRunEventBuilder eventBuilder = new LCSimTestRunEventBuilder();
+ eventBuilder.setDetectorName(detectorName);
+ eventBuilder.setDebug(debug);
+ eventBuilder.setEcalMode(ecalMode);
- // Open EVIO reader.
- reader = new EvioReader(evioFileName);
+ // Open EVIO reader.
+ reader = new EvioReader(evioFileName);
// // Print number of events.
// System.out.println("EVIO file opened with " + reader.getEventCount() + " events");
- // Loop until event source is exhausted.
- //int eventCount = 0;
- do {
- EvioEvent evioEvent = null;
- EventHeader lcsimEvent = null;
- do {
- try {
- evioEvent = reader.parseNextEvent();
- } catch (NullPointerException e) {
- e.printStackTrace();
- }
- } while (evioEvent == null || !eventBuilder.isPhysicsEvent(evioEvent));
-
- // Create LCSim event from EVIO data.
- lcsimEvent = eventBuilder.makeLCSimEvent(evioEvent);
-
- // Supply record to Driver Adapter.
- driverAdapter.recordSupplied(new RecordSuppliedEvent(new Object(), lcsimEvent));
- Thread.currentThread().sleep(delay);
- } while (reader.getNumEventsRemaining() != 0);
- // Cleanup.
- driverAdapter.finish(null);
- reader.close();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
+ // Loop until event source is exhausted.
+ //int eventCount = 0;
+ do {
+ EvioEvent evioEvent = null;
+ EventHeader lcsimEvent = null;
+ do {
+ try {
+ evioEvent = reader.parseNextEvent();
+ } catch (NullPointerException e) {
+ e.printStackTrace();
+ }
+ } while (evioEvent == null || !eventBuilder.isPhysicsEvent(evioEvent));
+
+ // Create LCSim event from EVIO data.
+ lcsimEvent = eventBuilder.makeLCSimEvent(evioEvent);
+
+ // Supply record to Driver Adapter.
+ driverAdapter.recordSupplied(new RecordSuppliedEvent(new Object(), lcsimEvent));
+ Thread.currentThread().sleep(delay);
+ } while (reader.getNumEventsRemaining() != 0);
+ // Cleanup.
+ driverAdapter.finish(null);
+ reader.close();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
}
hps-java/src/main/resources/org/lcsim/hps/steering
diff -N print_ids.lcsim
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ print_ids.lcsim 28 Apr 2012 21:05:15 -0000 1.1
@@ -0,0 +1,20 @@
+
+<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+ xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
+ <execute>
+ <driver name="EventMarkerDriver"/>
+ <driver name="EcalIDPrint"/>
+ <driver name="SVTDataIDPrint"/>
+ <driver name="SVTIDPrint"/>
+ </execute>
+ <drivers>
+ <driver name="EventMarkerDriver" type="org.lcsim.job.EventMarkerDriver">
+ <eventInterval>1</eventInterval>
+ </driver>
+ <driver name="EcalIDPrint" type="org.lcsim.hps.users.meeg.ECalCellIDPrintDriver"/>
+ <driver name="SVTDataIDPrint" type="org.lcsim.hps.users.meeg.SVTCellIDPrintDriver"/>
+ <driver name="SVTIDPrint" type="org.lcsim.hps.users.meeg.SVTCellIDPrintDriver">
+ <rawTrackerHitCollectionName>SVTRawTrackerHits</rawTrackerHitCollectionName>
+ </driver>
+ </drivers>
+</lcsim>