Author: [log in to unmask] Date: Fri Aug 28 15:22:41 2015 New Revision: 3448 Log: Add cluster position histograms and rough check of each cluster's position. 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 Fri Aug 28 15:22:41 2015 @@ -59,10 +59,25 @@ private final IHistogram1D clusTimeH1D = aida.histogram1D("Cluster Time", 500, -0.5, 499.5); /** + * Cluster X position. + */ + private final IHistogram1D clusPosX = aida.histogram1D("Pos X", 750, -300, 350); + + /** + * Cluster Y position. + */ + private final IHistogram1D clusPosY = aida.histogram1D("Pos Y", 180, -90, 90); + + /** + * Cluster Z position. + */ + private final IHistogram1D clusPosZ = aida.histogram1D("Pos Z", 100, 1393, 1397); + + /** * Number of clusters found. */ private int clusterCount; - + /** * Save histograms and perform checks on statistics. */ @@ -111,7 +126,25 @@ clusEnergyH1D.fill(cluster.getEnergy()); if (cluster.getEnergy() == 0) { throw new RuntimeException("Cluster has 0. energy."); - } + } + if (cluster.getCalorimeterHits().size() == 0) { + throw new RuntimeException("Cluster has no hits."); + } + + double[] position = cluster.getPosition(); + double x = position[0]; + double y = position[1]; + double z = position[2]; + + clusPosX.fill(x); + clusPosY.fill(y); + clusPosZ.fill(z); + + // Rough checks that cluster position looks reasonable. + TestCase.assertTrue("Pos X " + x + " is out of range.", x > -280. && x < 350.); + TestCase.assertTrue("Pos Y " + y + " is out of range.", y > -84. && y < 83.); + TestCase.assertTrue("Pos Y " + y + " is in beam gap.", !(y > -25. && y < 25.)); + TestCase.assertTrue("Pos Z" + z + " is out of range", z > 1393 && z < 1396.2); } final Cluster highClus = ClusterUtilities.findHighestEnergyCluster(clusters);