Author: [log in to unmask]
Date: Mon Jun 15 17:56:31 2015
New Revision: 3148
Log:
Add assertions to ECal MC test.
Modified:
java/trunk/integration-tests/src/test/java/org/hps/test/it/EcalSimReconTest.java
Modified: java/trunk/integration-tests/src/test/java/org/hps/test/it/EcalSimReconTest.java
=============================================================================
--- java/trunk/integration-tests/src/test/java/org/hps/test/it/EcalSimReconTest.java (original)
+++ java/trunk/integration-tests/src/test/java/org/hps/test/it/EcalSimReconTest.java Mon Jun 15 17:56:31 2015
@@ -46,6 +46,36 @@
private static final Integer RUN = 5000;
/**
+ * Expected mean of high cluster energy in GeV.
+ */
+ private static final double HIGH_CLUS_MEAN_E = 1.00;
+
+ /**
+ * Acceptable delta of high cluster mean energy in GeV.
+ */
+ private static final double HIGH_CLUS_DELTA_E = 0.02;
+
+ /**
+ * Expected mean time of primary cluster in nanoseconds.
+ */
+ private static final double CLUS_MEAN_T = 150;
+
+ /**
+ * Acceptable delta of cluster time in nanoseconds.
+ */
+ private static final double CLUS_DELTA_T = 10;
+
+ /**
+ * Expected number of triggers.
+ */
+ private static final int TRIGGERS = 650;
+
+ /**
+ * Acceptable delta of trigger count.
+ */
+ private static final int TRIGGER_DELTA = 3;
+
+ /**
* Run the test.
*
* @throws Exception if there is an uncaught exception thrown
@@ -81,10 +111,14 @@
// Check the recon output.
LCSimLoop loop = new LCSimLoop();
loop.setLCIORecordSource(reconFile);
- loop.add(new EcalSimReconCheckDriver());
+ EcalSimReconCheckDriver checkDriver = new EcalSimReconCheckDriver();
+ loop.add(checkDriver);
loop.loop(-1);
loop.dispose();
System.out.println("EcalSimReconCheckDriver ran on " + loop.getTotalCountableConsumed() + " events");
+
+ // Check the number of triggers.
+ TestCase.assertEquals("Number of triggers out of range.", TRIGGERS, loop.getTotalCountableConsumed(), TRIGGER_DELTA);
}
/**
@@ -117,8 +151,8 @@
/**
* First hit time in highest energy cluster.
*/
- private final IHistogram1D clusTimeH1D = aida.histogram1D("Cluster Time", 500, -0.5, 499.5);
-
+ private final IHistogram1D clusTimeH1D = aida.histogram1D("Cluster Time", 500, -0.5, 499.5);
+
/**
* Process events and fill histograms from cluster collection.
*/
@@ -135,22 +169,28 @@
}
/**
- * Save histograms and perform checks on histogram statistics.
+ * Save histograms and perform checks on statistics.
*/
public void endOfData() {
- System.out.println("clusCountH1D mean: " + clusCountH1D.mean());
+ // Print some statistics.
+ System.out.println("clusCountH1D mean: " + clusCountH1D.mean());
System.out.println("clusEnergyH1D mean: " + clusEnergyH1D.mean());
System.out.println("clusHighEnergyH1D mean: " + clusHighEnergyH1D.mean());
System.out.println("clusTimeH1D mean: " + clusTimeH1D.mean());
- // TODO: Add test assertions here.
-
+ // Save plots to AIDA file.
try {
aida.saveAs(new TestOutputFile(EcalSimReconTest.class, "plots.aida"));
} catch (IOException e) {
throw new RuntimeException(e);
}
+
+ // Check high cluster energy mean.
+ TestCase.assertEquals("High cluster energy was not within range.", HIGH_CLUS_MEAN_E, clusHighEnergyH1D.mean(), HIGH_CLUS_DELTA_E);
+
+ // Check high cluster time mean.
+ TestCase.assertEquals("High cluster mean time was not within range.", CLUS_MEAN_T, clusTimeH1D.mean(), CLUS_DELTA_T);
}
}
}
|