java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/ecal
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/ecal/EcalMonitoringTestDriver.java (rev 0)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/ecal/EcalMonitoringTestDriver.java 2014-05-22 21:24:50 UTC (rev 622)
@@ -0,0 +1,44 @@
+package org.hps.monitoring.drivers.ecal;
+
+import hep.aida.IHistogram1D;
+import hep.aida.IPlotter;
+import hep.aida.IPlotterFactory;
+
+import java.util.List;
+
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.RawCalorimeterHit;
+import org.lcsim.util.Driver;
+import org.lcsim.util.aida.AIDA;
+
+/**
+ * This is very simple Driver that plots the amplitude from RawCalorimeterHits
+ * in the ECAL as a basic test that the monitoring system works.
+ *
+ * @author Jeremy McCormick <[log in to unmask]>
+ *
+ */
+public class EcalMonitoringTestDriver extends Driver {
+
+ static final String collectionName = "EcalReadoutHits";
+ AIDA aida = AIDA.defaultInstance();
+ IHistogram1D amplitudePlot;
+
+ public void startOfData() {
+ amplitudePlot = aida.histogram1D("Amplitude", 300, 0., 30000);
+ IPlotterFactory plotterFactory = aida.analysisFactory().createPlotterFactory("ECAL Plots");
+ IPlotter plotter = plotterFactory.create("Amplitude");
+ plotter.createRegion();
+ plotter.region(0).plot(amplitudePlot);
+ plotter.show();
+ }
+
+ public void process(EventHeader event) {
+ if (event.hasCollection(RawCalorimeterHit.class, collectionName)) {
+ List<RawCalorimeterHit> hits = event.get(RawCalorimeterHit.class, collectionName);
+ for (RawCalorimeterHit hit : hits) {
+ amplitudePlot.fill(hit.getAmplitude());
+ }
+ }
+ }
+}
java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring
--- java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/MonitoringTest.lcsim 2014-05-22 21:20:51 UTC (rev 621)
+++ java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/MonitoringTest.lcsim 2014-05-22 21:24:50 UTC (rev 622)
@@ -1,29 +1,9 @@
-
<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
- <control>
- <numberOfEvents>-1</numberOfEvents>
- <printInputFiles>true</printInputFiles>
- <printDriversDetailed>true</printDriversDetailed>
- </control>
<execute>
- <driver name="EventMarkerDriver"/>
- <driver name="ConditionsDriver"/>
- <driver name="EcalPlotsDriver"/>
- <driver name="AidaSaveDriver"/>
+ <driver name="EcalMonitoringTestDriver"/>
</execute>
<drivers>
- <driver name="EventMarkerDriver"
- type="org.lcsim.job.EventMarkerDriver">
- <eventInterval>1000</eventInterval>
- </driver>
- <driver name="ConditionsDriver" type="org.hps.conditions.ConditionsDriver">
- <conditionsReaderClass>org.hps.conditions.deprecated.TestRunConditionsReader</conditionsReaderClass>
- </driver>
- <driver name="EcalPlotsDriver" type="org.hps.users.jeremym.EcalConditionsTestDriver"/>
- <driver name="AidaSaveDriver" type="org.lcsim.job.AidaSaveDriver">
- <outputFileName>./conditions_test_plots.aida</outputFileName>
-<!-- <outputFileName>./conditions_test_plots.root</outputFileName>-->
- </driver>
+ <driver name="EcalMonitoringTestDriver" type="org.hps.monitoring.drivers.ecal.EcalMonitoringTestDriver" />
</drivers>
</lcsim>