java/trunk/tracking
--- java/trunk/tracking/pom.xml 2014-09-05 18:16:21 UTC (rev 954)
+++ java/trunk/tracking/pom.xml 2014-09-05 21:01:44 UTC (rev 955)
@@ -55,6 +55,11 @@
<artifactId>commons-math3</artifactId>
<version>3.2</version>
</dependency>
+ <dependency>
+ <groupId>org.freehep</groupId>
+ <artifactId>freehep-jminuit</artifactId>
+ <version>1.0.2-SNAPSHOT</version>
+ </dependency>
</dependencies>
</project>
java/trunk/tracking/src/main/java/org/hps/recon/tracking
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java 2014-09-05 18:16:21 UTC (rev 954)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/RawTrackerHitFitterDriver.java 2014-09-05 21:01:44 UTC (rev 955)
@@ -2,6 +2,8 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import org.hps.conditions.deprecated.HPSSVTCalibrationConstants;
import org.hps.conditions.deprecated.HPSSVTCalibrationConstants.ChannelConstants;
@@ -86,7 +88,7 @@
}
@Override
- public void detectorChanged(Detector detector) {
+ public void startOfData() {
_shaper.setDebug(debug);
if (rawHitCollectionName == null) {
throw new RuntimeException("The parameter ecalCollectionName was not set!");
java/trunk/tracking/src/main/java/org/hps/recon/tracking
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/ShaperLinearFitAlgorithm.java 2014-09-05 18:16:21 UTC (rev 954)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/ShaperLinearFitAlgorithm.java 2014-09-05 21:01:44 UTC (rev 955)
@@ -4,6 +4,9 @@
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.logging.Level;
+import java.util.logging.LogManager;
+import java.util.logging.Logger;
import org.apache.commons.math3.linear.Array2DRowRealMatrix;
import org.apache.commons.math3.linear.ArrayRealVector;
import org.apache.commons.math3.linear.CholeskyDecomposition;
@@ -14,8 +17,6 @@
import org.apache.commons.math3.special.Gamma;
import org.freehep.math.minuit.FCNBase;
import org.freehep.math.minuit.FunctionMinimum;
-//import org.freehep.math.minuit.MinosError;
-//import org.freehep.math.minuit.MnMinos;
import org.freehep.math.minuit.MnSimplex;
import org.freehep.math.minuit.MnUserParameters;
import org.hps.conditions.deprecated.HPSSVTCalibrationConstants.ChannelConstants;
@@ -41,26 +42,21 @@
private int firstFittedPulse;
private int nFittedPulses;
private boolean debug = false;
+ private static final Logger minuitLoggger = Logger.getLogger("org.freehep.math.minuit");
public ShaperLinearFitAlgorithm(int nPulses) {
this.nPulses = nPulses;
amplitudes = new double[nPulses];
amplitudeErrors = new double[nPulses];
-// System.setErr(new PrintStream(new OutputStream() {
-// public void write(int b) {
-// }
-// }));
}
+ @Override
public void setDebug(boolean debug) {
this.debug = debug;
if (debug) {
- System.setErr(System.err);
+ minuitLoggger.setLevel(Level.INFO);
} else {
- System.setErr(new PrintStream(new OutputStream() {
- public void write(int b) {
- }
- }));
+ minuitLoggger.setLevel(Level.OFF);
}
}
@@ -97,10 +93,11 @@
FunctionMinimum min = doRecursiveFit(signal);
// if (!min.isValid() && nPulses == 2) {
// System.out.format("bad fit to %d pulses, chisq %f\n", nPulses, min.fval());
-// debug = true;
-// doRecursiveFit(signal);
-// debug = false;
-//
+// if (!debug) {
+// debug = true;
+// doRecursiveFit(signal);
+// debug = false;
+// }
// }
double chisq = evaluateMinimum(min);