lcsim/src/org/lcsim/event/util
diff -u -r1.3 -r1.4
--- JetDriver.java 18 Sep 2007 03:46:26 -0000 1.3
+++ JetDriver.java 30 May 2011 18:57:39 -0000 1.4
@@ -1,5 +1,6 @@
package org.lcsim.event.util;
+import hep.physics.jet.FixNumberOfJetsFinder.NumJetsNotFoundException;
import hep.physics.jet.JadeEJetFinder;
import hep.physics.jet.JetFinder;
import hep.physics.vec.BasicHep3Vector;
@@ -20,7 +21,7 @@
* A simple driver which can be used to find jets from ReconstructedParticles.
* The resuslting jets are stored in a new collection of ReconstructedParticles.
* @author tonyj
- * @version $Id: JetDriver.java,v 1.3 2007/09/18 03:46:26 tonyj Exp $
+ * @version $Id: JetDriver.java,v 1.4 2011/05/30 18:57:39 cassell Exp $
*/
public class JetDriver extends Driver
{
@@ -29,6 +30,7 @@
private String inputCollectionName;
private String outputCollectionName = defaultOutputCollectionName;
private JetFinder finder = defaultJetFinder();
+ private boolean continueOnError = false;
/** Creates a new instance of JetFinder with the default properties */
public JetDriver()
@@ -76,6 +78,16 @@
{
this.finder = finder == null ? defaultJetFinder() : finder;
}
+
+ public boolean isContinueOnError()
+ {
+ return continueOnError;
+ }
+
+ public void setContinueOnError(boolean continueOnError)
+ {
+ this.continueOnError = continueOnError;
+ }
protected JetFinder defaultJetFinder()
{
@@ -107,7 +119,15 @@
}
// Pass the data to the Jet finder
- finder.setEvent(map.keySet());
+ int nJets = 0;
+ try {
+ finder.setEvent(map.keySet());
+ nJets = finder.njets();
+ } catch (NumJetsNotFoundException x) {
+ if (continueOnError) return;
+ else throw x;
+ }
+
if (hist)
{
@@ -120,7 +140,6 @@
// the original particles
List<ReconstructedParticle> output = new ArrayList<ReconstructedParticle>();
- int nJets = finder.njets();
for (int i=0; i<nJets; i++)
{
Jet jet = new Jet(finder.jet(i));