Skip to content

Commit 14510e6

Browse files
authored
build: replace org.jlab.plugins:trackfitter (#1501)
1 parent 09ef81a commit 14510e6

14 files changed

Lines changed: 131 additions & 139 deletions

File tree

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package org.jlab.clas.tracking.utilities;
2+
3+
import org.apache.commons.math3.special.Gamma;
4+
5+
/** Chi-square probability utilities */
6+
public class ProbChi2perNDF {
7+
8+
/**
9+
* Returns the upper-tail probability (survival function, or p-value) of the
10+
* chi-square distribution: P(X >= chi2) for X ~ χ²(ndf).
11+
* @param chi2 the chi-square statistic
12+
* @param ndf the number of degrees of freedom
13+
* @return the probability of observing a chi-square value at least as large as {@code chi2}, in the range [0, 1]
14+
*/
15+
public static double prob(double chi2, int ndf) {
16+
if(ndf <= 0)
17+
return 0.0;
18+
if(chi2 <= 0.0) { // edge cases follow ROOT's `TMath::Prob` conventions
19+
return chi2 < 0.0 ? 0.0 : 1.0;
20+
}
21+
return Gamma.regularizedGammaQ(0.5 * ndf, 0.5 * chi2);
22+
}
23+
}

‎common-tools/coat-libs/pom.xml‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,6 @@
3636
<artifactId>j4ml-clas12</artifactId>
3737
</dependency>
3838

39-
<dependency>
40-
<groupId>org.jlab.plugins</groupId>
41-
<artifactId>trackfitter</artifactId>
42-
<version>1.0</version>
43-
</dependency>
44-
4539
<dependency>
4640
<groupId>org.jlab.clas</groupId>
4741
<artifactId>clas-io</artifactId>

‎reconstruction/cvt/pom.xml‎

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,6 @@
8585
<scope>test</scope>
8686
<type>jar</type>
8787
</dependency>
88-
<dependency>
89-
<groupId>org.jlab.plugins</groupId>
90-
<artifactId>trackfitter</artifactId>
91-
<version>1.0</version>
92-
</dependency>
9388
<dependency>
9489
<groupId>junit</groupId>
9590
<artifactId>junit</artifactId>

‎reconstruction/cvt/src/main/java/org/jlab/rec/cvt/Constants.java‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ public static double getRCUT() {
269269
return RCUT;
270270
}
271271

272-
public static void setRCUT(double r) {
272+
private static void setRCUT(double r) {
273273
RCUT = r;
274274
}
275275

@@ -281,7 +281,7 @@ public static double getZRANGE() {
281281
return ZRANGE;
282282
}
283283

284-
public static void setZRANGE(double zr) {
284+
private static void setZRANGE(double zr) {
285285
ZRANGE = zr;
286286
}
287287

‎reconstruction/cvt/src/main/java/org/jlab/rec/cvt/fit/CosmicFitter.java‎

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import org.jlab.geom.prim.Point3D;
77
import org.jlab.geom.prim.Vector3D;
88
import org.jlab.rec.cvt.trajectory.Ray;
9-
import trackfitter.fitter.utilities.ProbChi2perNDF;
9+
import org.jlab.clas.tracking.utilities.ProbChi2perNDF;
1010

1111
/**
1212
* A fitter which does sequential fit (for x, y coordinates) and then (for r, z
@@ -21,7 +21,6 @@ public class CosmicFitter {
2121
private CosmicFitPars _rayfitoutput;
2222

2323
private LineFitPars _linefitparsRhoZ;
24-
private LineFitPars _linefitparsYX;
2524
/**
2625
* Status of the HelicalTrackFit
2726
*/
@@ -164,7 +163,7 @@ public FitStatus fit2(List<Double> X, List<Double> Y, List<Double> Z, List<Doubl
164163

165164
//Line fits
166165
_linefitYX = new LineFitter();
167-
boolean linefitstatusXYOK = _linefitYX.fitStatus(Y, X, errRt, new ArrayList<>(X.size()), X.size());
166+
_linefitYX.fitStatus(Y, X, errRt, new ArrayList<>(X.size()), X.size());
168167

169168
_linefitRhoZ = new LineFitter();
170169
boolean linefitstatusOK = _linefitRhoZ.fitStatus(Rho, Z, errRho, ErrZ, Z.size());
@@ -174,7 +173,6 @@ public FitStatus fit2(List<Double> X, List<Double> Y, List<Double> Z, List<Doubl
174173
}
175174
// Get the results of the fits
176175
_linefitparsRhoZ = _linefitRhoZ.getFit();
177-
_linefitparsYX = _linefitYX.getFit();
178176

179177
double fit_tandip = _linefitparsRhoZ.slope();
180178
double fit_Z0 = _linefitparsRhoZ.intercept();

‎reconstruction/cvt/src/main/java/org/jlab/rec/cvt/fit/LineFitPars.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.jlab.rec.cvt.fit;
22

33
import org.jlab.rec.cvt.trajectory.Ray;
4-
import trackfitter.fitter.utilities.ProbChi2perNDF;
4+
import org.jlab.clas.tracking.utilities.ProbChi2perNDF;
55

66
/**
77
* The fit parameters of a line fit returned by LineFitter

‎reconstruction/cvt/src/main/java/org/jlab/rec/cvt/track/Track.java‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import java.util.ArrayList;
44
import java.util.Collection;
55
import java.util.Collections;
6-
import java.util.Comparator;
76
import java.util.HashMap;
87
import java.util.List;
98
import java.util.Map;
@@ -24,7 +23,7 @@
2423
import org.jlab.rec.cvt.trajectory.Helix;
2524
import org.jlab.rec.cvt.trajectory.StateVec;
2625
import org.jlab.rec.cvt.trajectory.Trajectory;
27-
import trackfitter.fitter.utilities.ProbChi2perNDF;
26+
import org.jlab.clas.tracking.utilities.ProbChi2perNDF;
2827

2928
/**
3029
* A class representing track candidates in the CVT. A track has a trajectory
@@ -328,9 +327,9 @@ else if(this.getChi2() > Constants.CHI2CUT * (this.getNDF() + 5))
328327
return false;
329328
if(this.getNDF() < Constants.NDFCUT)
330329
return false;
331-
if(this.getHelix().radius() < Constants.getInstance().getRCUT())
330+
if(this.getHelix().radius() < Constants.getRCUT())
332331
return false;
333-
if(Math.abs(Geometry.getInstance().getTargetZOffset()-this.getHelix().getZ0()) > Geometry.getInstance().getTargetHalfLength()+Constants.getInstance().getZRANGE())
332+
if(Math.abs(Geometry.getInstance().getTargetZOffset()-this.getHelix().getZ0()) > Geometry.getInstance().getTargetHalfLength()+Constants.getZRANGE())
334333
return false;
335334
else
336335
return true;

‎reconstruction/dc/pom.xml‎

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,6 @@
9797
<artifactId>snr</artifactId>
9898
<version>14.2.1-SNAPSHOT</version>
9999
</dependency>
100-
<dependency>
101-
<groupId>org.jlab.plugins</groupId>
102-
<artifactId>trackfitter</artifactId>
103-
<version>1.0</version>
104-
</dependency>
105100
<dependency>
106101
<groupId>org.jlab.clas</groupId>
107102
<artifactId>swim-tools</artifactId>

‎reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/RecoBankWriter.java‎

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import org.jlab.rec.dc.segment.Segment;
1414
import org.jlab.rec.dc.track.Track;
1515

16-
import trackfitter.fitter.utilities.*;
16+
import org.jlab.clas.tracking.utilities.ProbChi2perNDF;
1717

1818
/**
1919
* A class to fill the reconstructed DC banks
@@ -36,8 +36,8 @@ public RecoBankWriter(Banks names) {
3636

3737
public void updateListsWithClusterInfo(List<FittedHit> fhits,
3838
List<FittedCluster> clusters) {
39-
ArrayList rmHits = new ArrayList<FittedHit>();
40-
ArrayList addHits = new ArrayList<FittedHit>();
39+
List<FittedHit> rmHits = new ArrayList<>();
40+
List<FittedHit> addHits = new ArrayList<>();
4141
for (int i = 0; i < clusters.size(); i++) {
4242
clusters.get(i).set_Id(i + 1);
4343
for (int j = 0; j < clusters.get(i).size(); j++) {
@@ -204,8 +204,6 @@ public DataBank fillHBClustersBank(DataEvent event, List<FittedCluster> cluslist
204204
DataBank bank = event.createBank(name, cluslist.size());
205205

206206
int[] hitIdxArray = new int[12];
207-
if(cluslist==null)
208-
return bank;
209207
for (int i = 0; i < cluslist.size(); i++) {
210208
if (cluslist.get(i) == null || cluslist.get(i).get_Id() == -1) {
211209
continue;

‎reconstruction/dc/src/main/java/org/jlab/rec/dc/cross/CrossListFinder.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import org.jlab.rec.dc.segment.Segment;
1616
import org.jlab.rec.dc.timetodistance.TimeToDistanceEstimator;
1717
import org.jlab.utils.groups.IndexedTable;
18-
import trackfitter.fitter.LineFitter;
18+
import org.jlab.rec.dc.track.fit.basefit.LineFitter;
1919

2020
/**
2121
* A class with methods used to find lists of crosses. This is the Pattern Recognition step used in track seeding, to

0 commit comments

Comments
 (0)