Print

Print


Author: [log in to unmask]
Date: Wed Jul 29 18:31:41 2015
New Revision: 3308

Log:
Add check of scaler parameter values to test.

Modified:
    java/trunk/integration-tests/src/test/java/org/hps/test/it/EvioToLcioTest.java

Modified: java/trunk/integration-tests/src/test/java/org/hps/test/it/EvioToLcioTest.java
 =============================================================================
--- java/trunk/integration-tests/src/test/java/org/hps/test/it/EvioToLcioTest.java	(original)
+++ java/trunk/integration-tests/src/test/java/org/hps/test/it/EvioToLcioTest.java	Wed Jul 29 18:31:41 2015
@@ -9,6 +9,7 @@
 import org.hps.record.epics.EpicsData;
 import org.hps.record.scalers.ScalerData;
 import org.hps.record.scalers.ScalerParameters;
+import org.hps.record.scalers.ScalerParametersIndex;
 import org.hps.test.util.TestOutputFile;
 import org.lcsim.event.EventHeader;
 import org.lcsim.event.GenericObject;
@@ -81,6 +82,29 @@
                 emptyCollections.put(name, nEmpty);
             }
         }
+        
+        /**
+         * Check scaler parameters from event.
+         * 
+         * @param event the lcsim event
+         */
+        private void checkScalerParameters(final EventHeader event) {
+            
+            // If this is missing an exception will be thrown.
+            ScalerParameters scalerParameters = ScalerParameters.read(event);
+            
+            // Spot check scaler parameters from event after scaler data occurs in the data stream.            
+            if (event.getEventNumber() == 25000) {                
+                System.out.println();
+                System.out.println("scaler parameters for event " + event.getEventNumber() + " ...");
+                System.out.println(scalerParameters);
+                
+                // Check scaler values against answer key.
+                for (ScalerParametersIndex index : ScalerParametersIndex.values()) {
+                    assertEquals("Wrong " + index.name() + " value.", scalerParameters.getValue(index), SCALER_VALUES[index.ordinal()]);
+                }
+            }
+        }
 
         /**
          * Process events.
@@ -107,14 +131,9 @@
                 this.checkCollection(event, COLLECTION_TYPES[i], COLLECTION_NAMES[i]);
             }
 
-            // Get scaler parameters from event header (throws exception if not found).
-            //ScalerParameters scalerParameters = 
-            ScalerParameters.read(event);
-            //if (epicsData != null && scalerData != null) {
-            //System.out.println("scaler parameters ...");
-            //System.out.println(scalerParameters);
-            //}
-
+            // Check scaler parameters from event.
+            checkScalerParameters(event);
+            
             ++processedCount;
         }
     }
@@ -135,6 +154,17 @@
      * The number of empty collections that are allowed.
      */
     private static int[] ALLOWED_EMPTY = new int[] {45, 0, 0, 0};
+    
+    /**
+     * Expected scaler values after first occurrence of scaler collection in the data. 
+     */
+    private static float[] SCALER_VALUES = {
+        205.47786f,
+        206.38852f,
+        -1.726095f,
+        -0.622837f,
+        179.9981f
+    };
     
     /**
      * The number of EPICS collections that should be found.