lcsim-contrib/src/main/java/org/lcsim/contrib/SteveMagill
diff -u -r1.1 -r1.2
--- ClusterToRPDriver.java 12 Aug 2009 18:33:05 -0000 1.1
+++ ClusterToRPDriver.java 14 Feb 2012 19:16:41 -0000 1.2
@@ -20,7 +20,7 @@
*
* Created on March 29, 2007, 1:52 PM
*
- * $Id: ClusterToRPDriver.java,v 1.1 2009/08/12 18:33:05 magill Exp $
+ * $Id: ClusterToRPDriver.java,v 1.2 2012/02/14 19:16:41 magill Exp $
*/
/**
@@ -33,13 +33,15 @@
private ITree _tree;
private String _clusternames;
private String _allrecoparticles;
- private double _cfactor;
+ private int _hits;
+ private double _Energy;
/** Creates a new instance of SimpleClusterToReconstructedParticleExampleDriver */
- public ClusterToRPDriver(double cfactor)
+ public ClusterToRPDriver(int hits, double Energy)
{
- _tree = aida.tree();
- _cfactor = cfactor; // calibration factor for cell energy
+ // add arguments if needed
+ _hits = hits; // minimum number of hits to make cluster into RP
+ _Energy = Energy; // minimum energy to make cluster into RP
}
protected void process(EventHeader event)
@@ -52,8 +54,10 @@
List<BasicCluster> cclusters = event.get(BasicCluster.class,_clusternames);
for (BasicCluster cclus : cclusters)
{
- double ClE = _cfactor*cclus.getEnergy();
- aida.cloud1D("Cluster E in RP routine").fill(ClE);
+ if (cclus.getEnergy()>_Energy && cclus.getSize()>_hits)
+ {
+ double ClE = cclus.getEnergy();
+// aida.cloud1D("Cluster E in RP routine").fill(ClE);
double[] pos = cclus.getPosition();
double norm = sqrt(pos[0]*pos[0]+pos[1]*pos[1]+pos[2]*pos[2]);
double p = ClE/norm;
@@ -68,12 +72,13 @@
rp.setParticleIdUsed(id);
rp.addCluster(cclus);
rpList.add(rp);
+ }
}
// add the list of rps to the event...
event.put(_allrecoparticles,rpList, ReconstructedParticle.class,0);
//some simple histograms...
- aida.cloud1D("Number of AllRecoParticles found").fill(rpList.size());
+// aida.cloud1D("Number of AllRecoParticles found").fill(rpList.size());
}