Author: [log in to unmask]
Date: Tue Jan 6 14:18:15 2015
New Revision: 1890
Log:
Add set methods for cut values. Remove boolean timeCut variable from cuts and use Driver method to set this instead.
Modified:
java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterDriver.java
java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterer.java
Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterDriver.java
=============================================================================
--- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterDriver.java (original)
+++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterDriver.java Tue Jan 6 14:18:15 2015
@@ -22,26 +22,53 @@
// Flag to persist the rejected hits to the LCIO file (off by default).
boolean writeRejectedHitCollection = false;
-
- ReconClusterer reconClusterer = null;
-
+
public ReconClusterDriver() {
clusterer = ClustererFactory.create("ReconClusterer");
}
+
+ public void setClusterer(Clusterer clusterer) {
+ throw new UnsupportedOperationException("This method should not be used on this Driver.");
+ }
+
+ public void setClustererName(String clustererName) {
+ throw new UnsupportedOperationException("This method should not be used on this Driver.");
+ }
+
+ public void setHitEnergyThreshold(double hitEnergyThreshold) {
+ getReconClusterer().getCuts().setValue("hitEnergyThreshold", hitEnergyThreshold);
+ }
+
+ public void setSeedEnergyThreshold(double seedEnergyThreshold) {
+ getReconClusterer().getCuts().setValue("seedEnergyThreshold", seedEnergyThreshold);
+ }
+
+ public void setClusterEnergyThreshold(double clusterEnergyThreshold) {
+ getReconClusterer().getCuts().setValue("clusterEnergyThreshold", clusterEnergyThreshold);
+ }
+
+ public void setMinTime(double minTime) {
+ getReconClusterer().getCuts().setValue("minTime", minTime);
+ }
+
+ public void setTimeWindow(double timeWindow) {
+ getReconClusterer().getCuts().setValue("timeWindow", timeWindow);
+ }
+
+ public void setUseTimeCut(boolean useTimeCut) {
+ int timeCut = 0;
+ if (useTimeCut) {
+ timeCut = 1;
+ }
+ }
/**
* Perform job initialization.
*/
public void startOfData() {
- // Does the Clusterer have the right type?
- if (!(clusterer instanceof ReconClusterer)) {
- // The Clusterer does not appear to have the right type for this Driver!
- throw new IllegalArgumentException("The Clusterer type " + this.clusterer.getClass().getCanonicalName() + " does not have the right type.");
- }
-
// Perform standard start of data initialization from super-class.
super.startOfData();
- }
+ }
/**
* Set the name of the list of rejected hits.
Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterer.java
=============================================================================
--- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterer.java (original)
+++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/cluster/ReconClusterer.java Tue Jan 6 14:18:15 2015
@@ -58,7 +58,7 @@
double clusterEnergyThreshold = 0.3;
// Apply time cut to hits
- boolean timeCut = false;
+ boolean useTimeCut = false;
// Minimum time cut window range. Units in ns.
double minTime = 0.0;
@@ -76,8 +76,12 @@
private static final EnergyComparator ENERGY_COMP = new EnergyComparator();
ReconClusterer() {
- super(new String[] { "hitEnergyThreshold", "seedEnergyThreshold", "clusterEnergyThreshold", "minTime", "timeWindow", "timeCut" },
- new double[] { 0.0075, 0.1, 0.3, 0.0, 20.0, 0. });
+ super(new String[] { "hitEnergyThreshold", "seedEnergyThreshold", "clusterEnergyThreshold", "minTime", "timeWindow" },
+ new double[] { 0.0075, 0.1, 0.3, 0.0, 20.0 });
+ }
+
+ void setUseTimeCut(boolean useTimeCut) {
+ this.useTimeCut = useTimeCut;
}
public void initialize() {
@@ -89,7 +93,6 @@
clusterEnergyThreshold = getCuts().getValue("clusterEnergyThreshold");
minTime = getCuts().getValue("minTime");
timeWindow = getCuts().getValue("timeWindow");
- timeCut = (getCuts().getValue("timeCut") == 1.);
}
/**
@@ -126,7 +129,7 @@
for (int index = hitList.size() - 1; index >= 0; index--) {
// If the hit is below threshold or outside of time window, kill it.
- if ((hitList.get(index).getCorrectedEnergy() < hitEnergyThreshold) || (timeCut && (hitList.get(index).getTime() < minTime || hitList.get(index).getTime() > (minTime + timeWindow)))) {
+ if ((hitList.get(index).getCorrectedEnergy() < hitEnergyThreshold) || (useTimeCut && (hitList.get(index).getTime() < minTime || hitList.get(index).getTime() > (minTime + timeWindow)))) {
rejectedHitList.add(hitList.get(index));
hitList.remove(index);
}
|