Author: [log in to unmask]
Date: Fri May 29 14:21:13 2015
New Revision: 3064
Log:
Cleanup of EPICS and scaler record utilities.
Added:
java/trunk/evio/src/test/java/org/hps/evio/ScalersTest.java
- copied, changed from r3058, java/trunk/evio/src/test/java/org/hps/evio/ScalarsTest.java
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/scalers/
- copied from r3049, java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/scalars/
java/trunk/record-util/src/main/java/org/hps/record/scalers/
- copied from r3049, java/trunk/record-util/src/main/java/org/hps/record/scalars/
java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalerData.java
- copied, changed from r3049, java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarData.java
java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalerUtilities.java
- copied, changed from r3049, java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarUtilities.java
java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalersEvioProcessor.java
- copied, changed from r3049, java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarsEvioProcessor.java
java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalersGenericObject.java
- copied, changed from r3049, java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarsGenericObject.java
Removed:
java/trunk/evio/src/test/java/org/hps/evio/ScalarsTest.java
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/scalars/
java/trunk/record-util/src/main/java/org/hps/record/scalars/
java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalarData.java
java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalarUtilities.java
java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalarsEvioProcessor.java
java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalarsGenericObject.java
Modified:
java/trunk/evio/src/test/java/org/hps/evio/EpicsDataTest.java
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/example/ExamplePlotDriver.java
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/scalers/DeadtimePlots.java
java/trunk/record-util/src/main/java/org/hps/record/epics/EpicsData.java
java/trunk/record-util/src/main/java/org/hps/record/epics/EpicsEvioProcessor.java
java/trunk/record-util/src/main/java/org/hps/record/epics/EpicsGenericObject.java
java/trunk/record-util/src/main/java/org/hps/record/evio/EvioEventConstants.java
java/trunk/record-util/src/main/java/org/hps/record/scalers/package-info.java
java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/DeadtimeMonitor.lcsim
Modified: java/trunk/evio/src/test/java/org/hps/evio/EpicsDataTest.java
=============================================================================
--- java/trunk/evio/src/test/java/org/hps/evio/EpicsDataTest.java (original)
+++ java/trunk/evio/src/test/java/org/hps/evio/EpicsDataTest.java Fri May 29 14:21:13 2015
@@ -13,7 +13,6 @@
import org.hps.record.enums.DataSourceType;
import org.hps.record.enums.ProcessingStage;
import org.hps.record.epics.EpicsData;
-import org.hps.record.epics.EpicsEvioProcessor;
import org.hps.record.evio.EvioDetectorConditionsProcessor;
import org.lcsim.event.EventHeader;
import org.lcsim.util.Driver;
@@ -29,7 +28,7 @@
*/
public class EpicsDataTest extends TestCase {
- static final String TEST_FILE_URL = "http://www.lcsim.org/test/hps-java/ScalarsTest/hpsecal_004469_1000_events.evio.0";
+ static final String TEST_FILE_URL = "http://www.lcsim.org/test/hps-java/ScalersTest/hpsecal_004469_1000_events.evio.0";
public void test() throws IOException {
@@ -44,7 +43,6 @@
// Setup and run the loop to write out LCIO events with the EPICS scalar data.
final CompositeLoopConfiguration configuration = new CompositeLoopConfiguration();
- configuration.add(new EpicsEvioProcessor());
configuration.setDataSourceType(DataSourceType.EVIO_FILE);
configuration.add(new EvioDetectorConditionsProcessor("HPS-ECalCommissioning-v2"));
configuration.setLCSimEventBuilder(builder);
Copied: java/trunk/evio/src/test/java/org/hps/evio/ScalersTest.java (from r3058, java/trunk/evio/src/test/java/org/hps/evio/ScalarsTest.java)
=============================================================================
--- java/trunk/evio/src/test/java/org/hps/evio/ScalarsTest.java (original)
+++ java/trunk/evio/src/test/java/org/hps/evio/ScalersTest.java Fri May 29 14:21:13 2015
@@ -12,10 +12,9 @@
import org.hps.record.enums.DataSourceType;
import org.hps.record.enums.ProcessingStage;
import org.hps.record.evio.EvioDetectorConditionsProcessor;
-import org.hps.record.scalars.ScalarData;
-import org.hps.record.scalars.ScalarUtilities;
-import org.hps.record.scalars.ScalarUtilities.LiveTimeIndex;
-import org.hps.record.scalars.ScalarsEvioProcessor;
+import org.hps.record.scalers.ScalerData;
+import org.hps.record.scalers.ScalerUtilities;
+import org.hps.record.scalers.ScalerUtilities.LiveTimeIndex;
import org.lcsim.event.EventHeader;
import org.lcsim.util.Driver;
import org.lcsim.util.cache.FileCache;
@@ -24,15 +23,15 @@
import org.lcsim.util.test.TestUtil.TestOutputFile;
/**
- * Test of reading scalar data from EVIO files.
+ * Test of reading scaler data from EVIO files.
* <p>
* <a href="https://jira.slac.stanford.edu/browse/HPSJAVA-470">HPSJAVA-470</a>
*
* @author Jeremy McCormick <[log in to unmask]>
*/
-public class ScalarsTest extends TestCase {
+public class ScalersTest extends TestCase {
- static final String TEST_FILE_URL = "http://www.lcsim.org/test/hps-java/ScalarsTest/hpsecal_004469_1000_events.evio.0";
+ static final String TEST_FILE_URL = "http://www.lcsim.org/test/hps-java/ScalersTest/hpsecal_004469_1000_events.evio.0";
public void test() throws Exception {
@@ -47,7 +46,6 @@
// Configure and run the job to write out the LCIO from EVIO.
CompositeLoopConfiguration configuration = new CompositeLoopConfiguration();
- configuration.add(new ScalarsEvioProcessor());
configuration.setDataSourceType(DataSourceType.EVIO_FILE);
configuration.add(new EvioDetectorConditionsProcessor("HPS-ECalCommissioning-v2"));
configuration.setLCSimEventBuilder(builder);
@@ -55,7 +53,7 @@
configuration.setProcessingStage(ProcessingStage.LCIO);
configuration.setStopOnEndRun(false);
configuration.setStopOnErrors(true);
- TestOutputFile outputFile = new TestOutputFile("ScalarsTest.slcio");
+ TestOutputFile outputFile = new TestOutputFile("ScalersTest.slcio");
configuration.add(new LCIODriver(outputFile.getPath()));
CompositeLoop loop = new CompositeLoop();
loop.setConfiguration(configuration);
@@ -66,14 +64,14 @@
readLoop.setLCIORecordSource(outputFile);
readLoop.add(new Driver() {
public void process(EventHeader event) {
- ScalarData data = ScalarData.read(event);
+ ScalerData data = ScalerData.read(event);
if (data != null) {
- System.out.println("Driver got ScalarData in LCIO event ...");
+ System.out.println("Driver got ScalerData in LCIO event ...");
System.out.println(data.toString());
- double fcupTdc = ScalarUtilities.getLiveTime(data, LiveTimeIndex.FCUP_TDC);
- double fcupTrg = ScalarUtilities.getLiveTime(data, LiveTimeIndex.FCUP_TRG);
- double clock = ScalarUtilities.getLiveTime(data, LiveTimeIndex.CLOCK);
+ double fcupTdc = ScalerUtilities.getLiveTime(data, LiveTimeIndex.FCUP_TDC);
+ double fcupTrg = ScalerUtilities.getLiveTime(data, LiveTimeIndex.FCUP_TRG);
+ double clock = ScalerUtilities.getLiveTime(data, LiveTimeIndex.CLOCK);
System.out.println("calculated live times ...");
System.out.println(LiveTimeIndex.FCUP_TDC.toString() + " = " + fcupTdc);
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/example/ExamplePlotDriver.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/example/ExamplePlotDriver.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/example/ExamplePlotDriver.java Fri May 29 14:21:13 2015
@@ -79,7 +79,7 @@
EcalReadoutHits - class org.lcsim.event.base.BaseRawCalorimeterHit
EpicsData - interface org.lcsim.event.GenericObject
EcalCalHits - interface org.lcsim.event.CalorimeterHit
-ScalarData - interface org.lcsim.event.GenericObject
+ScalerData - interface org.lcsim.event.GenericObject
TriggerBank - class org.hps.recon.ecal.triggerbank.AbstractIntData
EcalClusters - interface org.lcsim.event.Cluster
*/
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/scalers/DeadtimePlots.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/scalers/DeadtimePlots.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/scalers/DeadtimePlots.java Fri May 29 14:21:13 2015
@@ -1,12 +1,13 @@
-package org.hps.monitoring.drivers.scalars;
+package org.hps.monitoring.drivers.scalers;
import java.util.Date;
+
import org.hps.monitoring.plotting.MonitoringPlotFactory;
import org.hps.monitoring.plotting.StripChartUpdater;
import org.hps.monitoring.plotting.ValueProvider;
-import org.hps.record.scalars.ScalarData;
-import org.hps.record.scalars.ScalarUtilities;
-import org.hps.record.scalars.ScalarUtilities.LiveTimeIndex;
+import org.hps.record.scalers.ScalerData;
+import org.hps.record.scalers.ScalerUtilities;
+import org.hps.record.scalers.ScalerUtilities.LiveTimeIndex;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.Axis;
import org.jfree.chart.axis.DateAxis;
@@ -19,15 +20,16 @@
/**
*
+ * Make a strip chart for DAQ deadtime from the info in the scaler block.
+ *
* @author mgraham
- * make a strip chart for DAQ deadtime from the info in the scalar block
*/
public class DeadtimePlots extends Driver {
// static final int REFRESH_RATE = 10 * 1000; // units = ms
// static final double DOMAIN_SIZE = 4 * 60 * 60 * 1000; // x-axis range (ms)
double DOMAIN_SIZE = 10 * 60 * 1000; // 10 minutes
- String scalarsName = "Scalars";
+ //String scalarsName = "Scalars";
int events;
@@ -63,10 +65,10 @@
@Override
public void process(EventHeader event) {
- ScalarData data = ScalarData.read(event);
+ ScalerData data = ScalerData.read(event);
if (data != null) {
- fcupTdc = ScalarUtilities.getLiveTime(data, LiveTimeIndex.FCUP_TDC); // etc. }
- fcupTrg = ScalarUtilities.getLiveTime(data, LiveTimeIndex.FCUP_TRG); // etc. }
+ fcupTdc = ScalerUtilities.getLiveTime(data, LiveTimeIndex.FCUP_TDC); // etc. }
+ fcupTrg = ScalerUtilities.getLiveTime(data, LiveTimeIndex.FCUP_TRG); // etc. }
// fill strip charts:
long now = System.currentTimeMillis();
Modified: java/trunk/record-util/src/main/java/org/hps/record/epics/EpicsData.java
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/epics/EpicsData.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/epics/EpicsData.java Fri May 29 14:21:13 2015
@@ -12,7 +12,7 @@
import org.lcsim.event.GenericObject;
/**
- * This is an API for reading and writing EPICS scalar data to LCIO events, as well as parsing the scalar data from a CDATA section within an EVIO
+ * This is an API for reading and writing EPICS data to LCIO events, as well as parsing the data from a CDATA section within an EVIO
* string data bank. The {@link #read(EventHeader)} method should be used to create one of these objects from an LCIO event.
*
* @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
@@ -22,7 +22,7 @@
/**
* Default collection name in the LCSim events.
*/
- public static final String DEFAULT_COLLECTION_NAME = "EpicsScalarData";
+ private static final String DEFAULT_COLLECTION_NAME = "EpicsData";
/**
* This map contains the list of EPICS key descriptions from the<br/>
@@ -33,17 +33,17 @@
/**
* Dummy float parameters to make LCIO persistency work.
*/
- static final Map<String, float[]> DUMMY_FLOAT_MAP = new HashMap<String, float[]>();
+ private static final Map<String, float[]> DUMMY_FLOAT_MAP = new HashMap<String, float[]>();
/**
* Dummy int parameters to make LCIO persistency work.
*/
- static final Map<String, int[]> DUMMY_INT_MAP = new HashMap<String, int[]>();
+ private static final Map<String, int[]> DUMMY_INT_MAP = new HashMap<String, int[]>();
/**
* Collection parameter that has the EPICS variable names.
*/
- public static final String EPICS_SCALAR_NAMES = "EPICS_SCALAR_NAMES";
+ private static final String EPICS_VARIABLE_NAMES = "EPICS_VARIABLE_NAMES";
/**
* List of descriptions.
@@ -80,12 +80,12 @@
}
/**
- * Get the static list of available EPICs scalar names.
+ * Get the static list of all available EPICs variable names.
* <p>
* This could be different than the variable names which were actually written into the collection header. For this, instead use the method
* {@link #getUsedNames()}.
*
- * @return the set of default EPICS scalar names
+ * @return the set of default EPICS variable names
*/
public static Set<String> getDefaultNames() {
return DESCRIPTIONS.keySet();
@@ -94,7 +94,7 @@
/**
* Get the description of a named EPICS variable.
*
- * @param name the name of the scalar
+ * @param name the name of the variable
*/
public static String getDescription(final String name) {
return DESCRIPTIONS.get(name);
@@ -125,11 +125,11 @@
* @param collectionName the collection name
* @return the EPICS data from the LCIO event
*/
- static EpicsData read(final EventHeader event, final String collectionName) {
+ private static EpicsData read(final EventHeader event, final String collectionName) {
final List<GenericObject> collection = event.get(GenericObject.class, collectionName);
@SuppressWarnings("rawtypes")
final Map stringMap = event.getMetaData(collection).getStringParameters();
- final String[] keys = (String[]) stringMap.get(EPICS_SCALAR_NAMES);
+ final String[] keys = (String[]) stringMap.get(EPICS_VARIABLE_NAMES);
final EpicsData data = new EpicsData();
data.fromGenericObject(collection.get(0), keys);
return data;
@@ -143,10 +143,10 @@
/**
* Given a list of names, read the double values from the {@link org.lcsim.event.GenericObject} into the data map of this object.
*
- * @param object the <code>GenericObject</code> with the scalar values
+ * @param object the <code>GenericObject</code> with the data values
* @param names The list of names.
*/
- void fromGenericObject(final GenericObject object, final String[] names) {
+ private void fromGenericObject(final GenericObject object, final String[] names) {
for (int index = 0; index < names.length; index++) {
this.dataMap.put(names[index], object.getDoubleVal(index));
}
@@ -172,11 +172,11 @@
}
/**
- * Get the list of used EPICS scalars in this object.
+ * Get the list of EPICS variables used by this object.
* <p>
* This could potentially be different than the list of default names from {@link #getDefaultNames()} but it will usually be the same.
*
- * @return the list of used EPICS scalar names
+ * @return the list of used EPICS variable names
*/
public Set<String> getUsedNames() {
return this.dataMap.keySet();
@@ -192,7 +192,7 @@
}
/**
- * Get a double value from the key which should be a valid EPICS variable name.
+ * Set a double value by name.
*
* @return the value from the key
*/
@@ -205,7 +205,7 @@
*
* @return the <code>GenericObject</code> representing this data
*/
- EpicsGenericObject toGenericObject() {
+ private EpicsGenericObject toGenericObject() {
final EpicsGenericObject newObject = new EpicsGenericObject();
newObject.setKeys(new String[this.dataMap.size()]);
newObject.setValues(new double[this.dataMap.size()]);
@@ -247,12 +247,12 @@
* @param event the LCIO event
* @param collectionName the name of the collection in the output event
*/
- void write(final EventHeader event, final String collectionName) {
+ private void write(final EventHeader event, final String collectionName) {
final List<GenericObject> collection = new ArrayList<GenericObject>();
final EpicsGenericObject object = this.toGenericObject();
collection.add(object);
final Map<String, String[]> stringMap = new HashMap<String, String[]>();
- stringMap.put(EPICS_SCALAR_NAMES, object.getKeys());
+ stringMap.put(EPICS_VARIABLE_NAMES, object.getKeys());
event.put(collectionName, collection, GenericObject.class, 0, DUMMY_INT_MAP, DUMMY_FLOAT_MAP, stringMap);
}
}
Modified: java/trunk/record-util/src/main/java/org/hps/record/epics/EpicsEvioProcessor.java
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/epics/EpicsEvioProcessor.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/epics/EpicsEvioProcessor.java Fri May 29 14:21:13 2015
@@ -1,17 +1,23 @@
package org.hps.record.epics;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
import org.hps.record.evio.EvioEventConstants;
import org.hps.record.evio.EvioEventProcessor;
import org.jlab.coda.jevio.BaseStructure;
import org.jlab.coda.jevio.EvioEvent;
+import org.lcsim.util.log.DefaultLogFormatter;
+import org.lcsim.util.log.LogUtil;
/**
- * This is an EVIO event processor that will read EPICS events (event tag 31) and turn them into {@link EpicsData}
- * objects.
+ * This is an EVIO event processor that will read EPICS events (event tag 31) and turn them into {@link EpicsData} objects.
*
* @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
*/
public final class EpicsEvioProcessor extends EvioEventProcessor {
+
+ private static final Logger LOGGER = LogUtil.create(EpicsEvioProcessor.class, new DefaultLogFormatter(), Level.ALL);
/**
* The current EPICS data object.
@@ -40,12 +46,15 @@
return;
}
+ LOGGER.info("processing EPICS event " + evio.getEventNumber());
+
// Find the bank with the EPICS information.
BaseStructure epicsBank = null;
final BaseStructure topBank = evio.getChildrenList().get(0);
for (final BaseStructure childBank : topBank.getChildrenList()) {
if (childBank.getHeader().getTag() == EvioEventConstants.EPICS_BANK_TAG) {
epicsBank = childBank;
+ LOGGER.info("found EPICS data bank " + childBank.getHeader().getTag());
break;
}
}
Modified: java/trunk/record-util/src/main/java/org/hps/record/epics/EpicsGenericObject.java
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/epics/EpicsGenericObject.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/epics/EpicsGenericObject.java Fri May 29 14:21:13 2015
@@ -3,9 +3,8 @@
import org.lcsim.event.GenericObject;
/**
- * This is an implementation of GenericObject for reading and writing EPICS data. There is no functionality here
- * intended for ends users. Instead, the EPICS data should be accessed using
- * {@link EpicsData#read(org.lcsim.event.EventHeader)} to create the data object from input event data.
+ * This is an implementation of GenericObject for reading and writing EPICS data. There is no functionality here intended for ends users. Instead, the
+ * EPICS data should be accessed using {@link EpicsData#read(org.lcsim.event.EventHeader)} to create the data object from input event data.
*
* @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
*/
Modified: java/trunk/record-util/src/main/java/org/hps/record/evio/EvioEventConstants.java
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/evio/EvioEventConstants.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/evio/EvioEventConstants.java Fri May 29 14:21:13 2015
@@ -71,14 +71,14 @@
public static final int PRESTART_EVENT_TAG = 17;
/**
- * Tag of the scalars integer bank, which is a child of the crate bank.
+ * Tag of the scalers integer bank, which is a child of the crate bank.
*/
- public static final int SCALARS_BANK_TAG = 57621;
+ public static final int SCALERS_BANK_TAG = 57621;
/**
- * Tag of the scalars crate bank, which is a child of the top bank.
+ * Tag of the scalers crate bank, which is a child of the top bank.
*/
- public static final int SCALARS_CRATE_TAG = 39;
+ public static final int SCALERS_CRATE_TAG = 39;
/**
* CODA SYNC event tag.
Copied: java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalerData.java (from r3049, java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarData.java)
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarData.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalerData.java Fri May 29 14:21:13 2015
@@ -1,4 +1,4 @@
-package org.hps.record.scalars;
+package org.hps.record.scalers;
import java.util.ArrayList;
import java.util.List;
@@ -7,61 +7,62 @@
import org.lcsim.event.GenericObject;
/**
- * This class encapsulates EVIO scalar data which is simply an array of integer values. The exact meaning of each of
- * these integer words is defined externally to this class.
+ * This class encapsulates EVIO scaler data which is simply an array of integer values. The exact meaning of each of these integer words is defined
+ * externally to this class.
*
* @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
*/
-public final class ScalarData {
+public final class ScalerData {
/**
- * Default name of scalar data collection in LCSim events.
+ * Default name of scaler data collection in LCSim events.
*/
- static String DEFAULT_SCALAR_DATA_COLLECTION_NAME = "ScalarData";
+ private static final String DEFAULT_COLLECTION_NAME = "ScalerData";
/**
- * Create a new <code>ScalarData</code> object from an LCIO event, using the default collection name.
+ * Create a new <code>ScalerData</code> object from an LCIO event, using the default collection name.
*
* @param event the LCIO event data
- * @return the <code>ScalarData</code> object or <code>null</code> if there's no scalar data in the event
+ * @return the <code>ScalerData</code> object or <code>null</code> if there's no scaler data in the event
*/
- public static ScalarData read(final EventHeader event) {
- return read(event, DEFAULT_SCALAR_DATA_COLLECTION_NAME);
+ public static ScalerData read(final EventHeader event) {
+ return read(event, DEFAULT_COLLECTION_NAME);
}
/**
* Create a new object from the data in an LCIO event, using the default collection name.
*
* @param event the LCIO event data
- * @return the <code>ScalarData</code> object or <code>null</code> if does not exist in event
+ * @return the <code>ScalerData</code> object or <code>null</code> if does not exist in event
*/
- public static ScalarData read(final EventHeader event, final String collectionName) {
- ScalarData data = null;
+ public static ScalerData read(final EventHeader event, final String collectionName) {
+ ScalerData data = null;
if (event.hasCollection(GenericObject.class, collectionName)) {
+ System.out.println("ScalerData - found collection");
final List<GenericObject> objects = event.get(GenericObject.class, collectionName);
- data = new ScalarData();
+ data = new ScalerData();
data.fromGenericObject(objects.get(0));
}
return data;
}
/**
- * The scalar data values.
+ * The scaler data values.
*/
private int[] data;
/**
* This is the no argument constructor which is for package internal use only.
*/
- ScalarData() {
+ ScalerData() {
}
/**
- * Create from provided scalar data values.
+ * Create from provided scaler data values.
*
- * @param data the scalar data
+ * @param data the scaler data
*/
- public ScalarData(final int[] data) {
+ public ScalerData(final int[] data) {
this.data = new int[data.length];
System.arraycopy(data, 0, this.data, 0, data.length);
}
@@ -69,9 +70,9 @@
/**
* Load data into this object from an {@link org.lcsim.event.GenericObject} read from an LCIO event.
*
- * @param object the <code>GenericObject</code> with the scalar data
+ * @param object the <code>GenericObject</code> with the scaler data
*/
- void fromGenericObject(final GenericObject object) {
+ private void fromGenericObject(final GenericObject object) {
this.data = new int[object.getNInt()];
for (int index = 0; index < object.getNInt(); index++) {
this.data[index] = object.getIntVal(index);
@@ -79,19 +80,19 @@
}
/**
- * Get the scalar data value at the index.
+ * Get the scaler data value at the index.
*
- * @param index the scalar data index
- * @return the scalar data value
+ * @param index the scaler data index
+ * @return the scaler data value
*/
public Integer getValue(final int index) {
return this.data[index];
}
/**
- * Get the number of scalars.
+ * Get the number of scalers.
*
- * @return the number of scalars
+ * @return the number of scalers
*/
public int size() {
return this.data.length;
@@ -100,16 +101,15 @@
/**
* Convert this object to an LCSim {@link org.lcsim.event.GenericObject} for persistency to LCIO.
*
- * @return the LCIO <code>GenericObject</code> containing scalar data
+ * @return the LCIO <code>GenericObject</code> containing scaler data
*/
- GenericObject toGenericObject() {
- final ScalarsGenericObject object = new ScalarsGenericObject(this.data);
+ private GenericObject toGenericObject() {
+ final ScalersGenericObject object = new ScalersGenericObject(this.data);
return object;
}
/**
- * Convert this object to a readable string, which is a list of integer values enclosed in braces and separated by
- * commas.
+ * Convert this object to a readable string, which is a list of integer values enclosed in braces and separated by commas.
*
* @return this object converted to a string
*/
@@ -131,7 +131,7 @@
* @param event the output LCIO event
*/
public void write(final EventHeader event) {
- write(event, DEFAULT_SCALAR_DATA_COLLECTION_NAME);
+ this.write(event, DEFAULT_COLLECTION_NAME);
}
/**
@@ -140,9 +140,9 @@
* @param event the output LCIO event
* @param collectionName the name of the output collection
*/
- public void write(final EventHeader event, final String collectionName) {
+ private void write(final EventHeader event, final String collectionName) {
final List<GenericObject> collection = new ArrayList<GenericObject>();
- collection.add(toGenericObject());
+ collection.add(this.toGenericObject());
event.put(collectionName, collection, GenericObject.class, 0);
}
}
Copied: java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalerUtilities.java (from r3049, java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarUtilities.java)
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarUtilities.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalerUtilities.java Fri May 29 14:21:13 2015
@@ -1,13 +1,13 @@
-package org.hps.record.scalars;
+package org.hps.record.scalers;
/**
- * Utilities methods for scalar data.
+ * Utilities methods for scaler data.
* <p>
- * Currently this is used only for computing live time measurements from standard scalar data.
+ * Currently this is used only for computing live time measurements from standard scaler data.
*
* @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
*/
-public final class ScalarUtilities {
+public final class ScalerUtilities {
/**
* Indices for getting live time measurements.
@@ -24,12 +24,12 @@
* @param index The enum of the index type.
* @see LiveTimeIndex
*/
- public static double getLiveTime(final ScalarData data, final LiveTimeIndex index) {
+ public static double getLiveTime(final ScalerData data, final LiveTimeIndex index) {
return getLiveTimes(data)[index.ordinal()];
}
/**
- * Get the live time measurements from standard scalar data.
+ * Get the live time measurements from standard scaler data.
* <p>
* This is returned as a double array of size 3 containing:</br>
*
@@ -39,13 +39,13 @@
* [2] = CLOCK measurement
* </pre>
*
- * This method assumes the standard scalar data structure as outlined in <a
+ * This method assumes the standard scaler data structure as outlined in <a
* href="https://jira.slac.stanford.edu/browse/HPSJAVA-470">HPSJAVA-470</a>.
*
- * @param data The scalar data.
+ * @param data The scaler data.
* @return The live time measurements.
*/
- public static double[] getLiveTimes(final ScalarData data) {
+ public static double[] getLiveTimes(final ScalerData data) {
// [03] - gated faraday cup with "TDC" threshold
final int word03 = data.getValue(3);
@@ -86,7 +86,7 @@
/**
* Disallow class instantiation.
*/
- private ScalarUtilities() {
+ private ScalerUtilities() {
throw new UnsupportedOperationException("Do not instantiate this class.");
}
}
Copied: java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalersEvioProcessor.java (from r3049, java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarsEvioProcessor.java)
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarsEvioProcessor.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalersEvioProcessor.java Fri May 29 14:21:13 2015
@@ -1,32 +1,41 @@
-package org.hps.record.scalars;
+package org.hps.record.scalers;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
import org.hps.record.evio.EvioEventConstants;
import org.hps.record.evio.EvioEventProcessor;
import org.jlab.coda.jevio.BaseStructure;
import org.jlab.coda.jevio.EvioEvent;
+import org.lcsim.util.log.DefaultLogFormatter;
+import org.lcsim.util.log.LogUtil;
/**
- * This is an EVIO event processor for creating a {@link ScalarData} object from scalar bank data.
+ * This is an EVIO event processor for creating a {@link ScalerData} object from scaler bank data.
*
* @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
*/
-public final class ScalarsEvioProcessor extends EvioEventProcessor {
+public final class ScalersEvioProcessor extends EvioEventProcessor {
- // Currently cached ScalarData object which was created by the process method.
- private ScalarData data;
+ private static final Logger LOGGER = LogUtil.create(ScalersEvioProcessor.class, new DefaultLogFormatter(), Level.INFO);
/**
- * Get the current scalar data or null if there was none in the last event processed.
+ * Currently cached ScalerData object which was created by the process method.
+ */
+ private ScalerData data;
+
+ /**
+ * Get the current scaler data or null if there was none in the last event processed.
*
- * @return the current scalar data or <code>null</code> if none exists
+ * @return the current scaler data or <code>null</code> if none exists
*/
- public ScalarData getScalarData() {
+ public ScalerData getScalerData() {
return this.data;
}
/**
- * This method will create a <code>ScalarData</code> object and cache it. The current object is first reset to
- * <code>null</code> every time this method is called.
+ * This method will create a <code>ScalerData</code> object and cache it. The current object is first reset to <code>null</code> every time this
+ * method is called.
*
* @param evio the EVIO event data
*/
@@ -35,13 +44,16 @@
this.data = null;
for (final BaseStructure bank : evio.getChildrenList()) {
// Does the crate tag match?
- if (bank.getHeader().getTag() == EvioEventConstants.SCALARS_CRATE_TAG) {
+ if (bank.getHeader().getTag() == EvioEventConstants.SCALERS_CRATE_TAG) {
if (bank.getChildrenList() != null) {
for (final BaseStructure subBank : bank.getChildrenList()) {
// Does the bank tag match?
- if (subBank.getHeader().getTag() == EvioEventConstants.SCALARS_BANK_TAG) {
- // Scalar data exists in event so create object and stop processing.
- this.data = new ScalarData(subBank.getIntData());
+ if (subBank.getHeader().getTag() == EvioEventConstants.SCALERS_BANK_TAG) {
+
+ LOGGER.fine("found scaler data in bank " + subBank.getHeader().getTag() + " and EVIO event " + evio.getEventNumber());
+
+ // Scaler data exists in event so create object and stop processing.
+ this.data = new ScalerData(subBank.getIntData());
break;
}
}
Copied: java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalersGenericObject.java (from r3049, java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarsGenericObject.java)
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarsGenericObject.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalersGenericObject.java Fri May 29 14:21:13 2015
@@ -1,26 +1,26 @@
-package org.hps.record.scalars;
+package org.hps.record.scalers;
import org.lcsim.event.GenericObject;
/**
- * This is the LCIO {@link org.lcsim.event.GenericObject} binding for EVIO scalar data. This should not be used
- * directly. Rather the {@link ScalarData} class should be used for loading data from LCIO events.
+ * This is the LCIO {@link org.lcsim.event.GenericObject} binding for EVIO scaler data. This should not be used
+ * directly. Rather the {@link ScalerData} class should be used for loading data from LCIO events.
*
* @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
*/
-final class ScalarsGenericObject implements GenericObject {
+final class ScalersGenericObject implements GenericObject {
/**
- * The scalar data values.
+ * The scaler data values.
*/
private final int[] values;
/**
- * Create a new object with the given scalar values.
+ * Create a new object with the given scaler values.
*
- * @param values the array of scalar values
+ * @param values the array of scaler values
*/
- ScalarsGenericObject(final int[] values) {
+ ScalersGenericObject(final int[] values) {
this.values = values;
}
@@ -35,7 +35,7 @@
}
/**
- * Get the scalar value at the index.
+ * Get the scaler value at the index.
*
* @param index the index in the data array
*/
Modified: java/trunk/record-util/src/main/java/org/hps/record/scalers/package-info.java
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/scalers/package-info.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/scalers/package-info.java Fri May 29 14:21:13 2015
@@ -1,6 +1,6 @@
/**
- * Classes for converting scalar data from EVIO to LCSim.
+ * Classes for converting scaler data from EVIO to LCSim.
*
* @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
*/
-package org.hps.record.scalars;
+package org.hps.record.scalers;
Modified: java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/DeadtimeMonitor.lcsim
=============================================================================
--- java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/DeadtimeMonitor.lcsim (original)
+++ java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/DeadtimeMonitor.lcsim Fri May 29 14:21:13 2015
@@ -5,7 +5,7 @@
<driver name="CleanupDriver" />
</execute>
<drivers>
- <driver name="DeadtimeMonitor" type="org.hps.monitoring.drivers.scalars.DeadtimePlots">
+ <driver name="DeadtimeMonitor" type="org.hps.monitoring.drivers.scalers.DeadtimePlots">
</driver>
<driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver" />
</drivers>
|