22
33import java .util .ArrayList ;
44import java .util .List ;
5- import java .util .logging .Logger ;
6-
75import org .jlab .clas .swimtools .Swim ;
86import org .jlab .detector .geant4 .v2 .DCGeant4Factory ;
97import org .jlab .rec .dc .track .Track ;
1614 */
1715public class KFitterDoca {
1816
19- private static final Logger LOGGER = Logger .getLogger (KFitterDoca .class .getName ());
20-
2117 public boolean setFitFailed = false ;
2218
2319 private StateVecsDoca sv ;
@@ -29,10 +25,8 @@ public class KFitterDoca {
2925 private CovMat initialCovMat ;
3026 public List <org .jlab .rec .dc .trajectory .StateVec > kfStateVecsAlongTrajectory ;
3127 public int totNumIter = 30 ;
32- private double newChisq = Double .POSITIVE_INFINITY ;
3328 public boolean filterOn = true ;
3429 public double chi2 = 0 ;
35- private double chi2kf = 0 ;
3630 public int NDF = 0 ;
3731 public int ConvStatus = 1 ;
3832
@@ -77,15 +71,13 @@ public final void init(Track trk, DCGeant4Factory DcDetector, int c) {
7771 sv .init (trk , sv .Z [0 ], this , c );
7872 }
7973 public int interNum = 0 ;
80- double initChi2 = Double .POSITIVE_INFINITY ;
8174 public void runFitter (int sector ) {
8275 this .chi2 = Double .POSITIVE_INFINITY ;
8376 double initChi2 = Double .POSITIVE_INFINITY ;
8477 this .NDF = mv .ndf ;
8578 int svzLength = sv .Z .length ;
8679
8780 if (TBT ==true ) {
88- this .chi2kf = 0 ;
8981 // Get the input parameters
9082 for (int k = 0 ; k < svzLength - 1 ; k ++) {
9183 sv .transport (sector , k , k + 1 ,
@@ -106,7 +98,6 @@ public void runFitter(int sector) {
10698 // IntStream.range(1,totNumIter ).parallel().forEach(i -> {
10799 for (int i = 1 ; i <= totNumIter ; i ++) {
108100 interNum = i ;
109- this .chi2kf = 0 ;
110101
111102 if (i > 1 ) {
112103 //get new state vec at 1st measurement after propagating back from the last filtered state
@@ -226,7 +217,7 @@ public Matrix filterCovMat(double[] H, Matrix Ci, double V) {
226217
227218 return result_inv ;
228219 }
229- private double KFScale = 4 ;
220+ private final double KFScale = 4 ;
230221 private void filter (int k ) {
231222 if (Double .isNaN (sv .trackTraj .get (k ).x ) || Double .isNaN (sv .trackTraj .get (k ).y )
232223 || Double .isNaN (sv .trackTraj .get (k ).tx ) ||Double .isNaN (sv .trackTraj .get (k ).ty )
@@ -274,8 +265,6 @@ private void filter(int k) {
274265 }
275266 //if(this.interNum>1)
276267 // signMeas = Math.signum(h);
277- double c2 = ((signMeas *Math .abs (mv .measurements .get (k ).doca [0 ]) - sign *Math .abs (h ))
278- * (signMeas *Math .abs (mv .measurements .get (k ).doca [0 ]) - sign *Math .abs (h )) / V );
279268 //if(signMeas!=Math.signum(h) && this.interNum>1) LOGGER.log(Level.FINEST, sv.trackTraj.get(k).printInfo()+" h "+(float)h);
280269 double x_filt = sv .trackTraj .get (k ).x + K [0 ] * (signMeas *Math .abs (mv .measurements .get (k ).doca [0 ]) - sign *Math .abs (h ));
281270 double y_filt = sv .trackTraj .get (k ).y + K [1 ] * (signMeas *Math .abs (mv .measurements .get (k ).doca [0 ]) - sign *Math .abs (h ));
@@ -315,12 +304,8 @@ private void filter(int k) {
315304 tx_filt += K [2 ] * (signMeas *Math .abs (mv .measurements .get (k ).doca [1 ]) - sign *Math .abs (h ));
316305 ty_filt += K [3 ] * (signMeas *Math .abs (mv .measurements .get (k ).doca [1 ]) - sign *Math .abs (h ));
317306 Q_filt += K [4 ] * (signMeas *Math .abs (mv .measurements .get (k ).doca [1 ]) - sign *Math .abs (h ));
318-
319- c2 += ((signMeas *Math .abs (mv .measurements .get (k ).doca [1 ]) - sign *Math .abs (h ))
320- * (signMeas *Math .abs (mv .measurements .get (k ).doca [1 ]) - sign *Math .abs (h )) / V );
321307 }
322308
323- chi2kf += c2 ;
324309 if (filterOn ) {
325310 sv .trackTraj .get (k ).x = x_filt ;
326311 sv .trackTraj .get (k ).y = y_filt ;
0 commit comments