Repository navigation
build: replace org.jlab.plugins:trackfitter - #1501
Conversation
|
Use first 1000 events from RGK run 19331 for test. |
|
What are the differences of those 4 tracks? @tongtongcao says:
|
tongtongcao
left a comment
There was a problem hiding this comment.
Before and after the update, we got exactly the same tracks from both forward and central reconstruction.
7108ff4 to
11d6a31
Compare
We are only using its
LineFitter,LineFitPars, andProbChi2perNDF.Here is a repository showing the decompiled JAR file (you must be signed in): https://code.jlab.org/dilks/jarchaeology-trackfitter
LineFitter&LineFitParsThese classes are only consumed by the
reconstruction/dcmodule, which has its own versions of these classes already.The decompiled
trackfitterversion is practically the same as ourdcmodule's version; however,trackfitter'sLineFitter.fitStatusmethod hasdouble[]parameters, whereas ourdcmodule's version hasList<double>parameters, and both of these signatures are in use in practice in thedc. I'm not sure which one is actually called more often at runtime, but thedouble[]version is more commonly written in the source code calls.I changed the
dcmodule'sLineFitter.fitStatusmethod to takedouble[]parameters, rather thanList<double>parameters, and added an overload that takesList<double>parameters; this is more efficient than overloading the other way around since it avoids boxing in any hot loop.ProbChi2perNDFThis class does not appear to be implemented anywhere in
coatjava. I rewrote the decompiled version of this function usingapache'scommon-math3in a new local class with the same name, and put it in thecommon-tools/clas-trackingmodule. The edge-case handling remains the same, and is actually consistent with ROOT'sTMath::Probfunction.For comparison, see the decompiled
ProbChi2perNDF, which depends onErrorFunctionandGammaFunction(also withintrackfitter).Additional Changes
I also removed dead code and resolved some warnings; unused code that seems non-trivial is commented out, rather than removed.