lcsim-contrib/src/main/java/org/lcsim/contrib/SteveMagill
diff -N CorrClusEsumDriver.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ CorrClusEsumDriver.java 14 Feb 2012 19:40:47 -0000 1.1
@@ -0,0 +1,58 @@
+package org.lcsim.contrib.SteveMagill;
+
+import java.util.*;
+import org.lcsim.util.aida.AIDA;
+import org.lcsim.event.EventHeader;
+import org.lcsim.util.Driver;
+import org.lcsim.recon.cluster.util.BasicCluster;
+
+/**
+ * Diagnostic routine to evaluate performance of mip finder
+ */
+
+public class CorrClusEsumDriver extends Driver
+{
+ public CorrClusEsumDriver() {
+ }
+
+ private String _inclusname;
+ private AIDA aida = AIDA.defaultInstance();
+ private boolean ccedb = true;
+
+ public void process(EventHeader event)
+ {
+ int NClus = 0;
+ double ClEsum = 0;
+ int nhitsclus = 0; // number of hits in all mip clusters
+
+ try
+ {
+ List<BasicCluster> inclusters = event.get(BasicCluster.class,_inclusname);
+ for (BasicCluster inclus : inclusters)
+ {
+ NClus++;
+ int numhits = inclus.getSize(); // number of hits in this cluster
+ if (ccedb) aida.cloud1D("Num Hits per Corrected Cluster").fill(numhits);
+ nhitsclus += inclus.getSize(); // sum hits from all clusters in event
+ ClEsum += inclus.getEnergy(); // energy of this cluster
+ if (ccedb) aida.cloud2D("E over Eclus vs Num hits").fill(numhits,10./inclus.getEnergy());
+ if (ccedb && 10./inclus.getEnergy()<2.) aida.cloud2D("CF vs Num Hits").fill(numhits,10./inclus.getEnergy());
+ }
+
+ }
+ catch(java.lang.IllegalArgumentException ex)
+ {
+ System.out.println("requested object not found in event " + _inclusname);
+ }
+
+ if (ccedb) aida.cloud1D("ESum of Corrected Clusters").fill(ClEsum);
+ if (ccedb) aida.cloud1D("Number of Corrected Clusters").fill(NClus);
+
+ }
+
+ public void setInputClusName(String inclusname)
+ {
+ _inclusname = inclusname;
+ }
+
+}