Print

Print


Author: [log in to unmask]
Date: Wed Dec  3 12:51:37 2014
New Revision: 1637

Log:
Integration test to check the conversion of test run EVIO to LCIO.

Added:
    java/trunk/evio/src/test/java/org/hps/evio/LCSimTestRunEventBuilderTest.java   (with props)

Added: java/trunk/evio/src/test/java/org/hps/evio/LCSimTestRunEventBuilderTest.java
 =============================================================================
--- java/trunk/evio/src/test/java/org/hps/evio/LCSimTestRunEventBuilderTest.java	(added)
+++ java/trunk/evio/src/test/java/org/hps/evio/LCSimTestRunEventBuilderTest.java	Wed Dec  3 12:51:37 2014
@@ -0,0 +1,76 @@
+package org.hps.evio;
+
+import java.io.File;
+import java.net.URL;
+
+import junit.framework.TestCase;
+
+import org.jlab.coda.jevio.EvioEvent;
+import org.jlab.coda.jevio.EvioReader;
+
+import org.lcsim.event.EventHeader;
+import org.lcsim.util.cache.FileCache;
+
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.record.evio.EvioEventUtilities;
+
+/**
+ * 	Integration test to check the conversion of test run EVIO to LCIO 
+ * 
+ * 	@author Omar Moreno <[log in to unmask]>
+ *	@date November 20, 2014
+ */
+public class LCSimTestRunEventBuilderTest extends TestCase {
+
+	//-----------------//
+	//--- Constants ---//
+	//-----------------//
+	private static final String DB_CONFIGURATION
+		= "/org/hps/conditions/config/conditions_database_testrun_2012.xml";
+	private static final String DETECTOR = "HPS-TestRun-v5";
+	private static final int RUN_NUMBER = 1351;
+	
+	public void testLCSimTestRunEventBuilder() throws Exception { 
+	
+		// Configure the conditions system to retrieve test run conditions for
+		// run 1351
+		DatabaseConditionsManager conditionsManager = new DatabaseConditionsManager();
+		conditionsManager.setXmlConfig(DB_CONFIGURATION);
+		//conditionsManager.setDetector(DETECTOR, RUN_NUMBER);
+
+		// Create the test run event builder
+		LCSimTestRunEventBuilder builder = new LCSimTestRunEventBuilder();
+		conditionsManager.addConditionsListener(builder);
+		builder.setDetectorName("HPS-TestRun-v5");
+	
+		// Retrieve the remote test file.  The file currently being contains a
+		// subset of events from run 1351
+		FileCache cache = new FileCache();
+		File evioFile = cache.getCachedFile(new URL("http://www.lcsim.org/test/hps-java/hps1351_test.evio"));
+	
+		// Instantiate the EVIO reader and open the test file.  If the file
+		// can't be found, throw a runtime exception
+		EvioReader reader = null;
+		try {
+			reader = new EvioReader(evioFile);
+		} catch (Exception e) {
+			throw new RuntimeException(
+					"[ " + this.getClass().getSimpleName() + " ]: EVIO file couldn't be opened.");
+		}
+		
+		// Loop through all EVIO events in the file and process them using the
+		// event builder.  If the event is a physics event, process the event
+		// using the subdetector readers.
+		EvioEvent evioEvent = null;
+		while ((evioEvent = reader.nextEvent()) != null) {
+			reader.parseEvent(evioEvent);
+			builder.readEvioEvent(evioEvent);
+			if (EvioEventUtilities.isPhysicsEvent(evioEvent)) {
+				EventHeader lcsimEvent = builder.makeLCSimEvent(evioEvent);
+			}
+		}
+		
+		// Close the EVIO reader
+		reader.close();
+	}
+}