Skip to content

build: bump jminuit from clasweb's v1.0 to SLAC's v1.0.2 - #1484

Merged
c-dilks merged 1 commit into
developmentfrom
mvn-jminuit
Oct 8, 2026
Merged

c-dilks merged 1 commit into
developmentfrom
mvn-jminuit

Conversation

@c-dilks

@c-dilks c-dilks commented Oct 7, 2026

Copy link
Copy Markdown
Member

We currently consume org.freehep:jminuit:1.0 from clasweb, and only the rich module uses it. This version is binary equivalent to org.freehep:freehep-jminuit:1.0.1 hosted at SLAC at https://srs.slac.stanford.edu/nexus/content/groups/freehep-maven2-public/

I decided to bump this to the 1.0.2 version from SLAC, since:

Note that it was removed from the shaded JAR in #1481

@c-dilks

c-dilks commented Oct 7, 2026

Copy link
Copy Markdown
Member Author

@mirazita @baltzell the only real changes in jminuit involve the logger: instead of printing with System.err.println they are actually using java.util.logging.Logger and log levels. In fact, maybe this'll solve our downstream logging woes in calcode once and for all! (and I refuse to investigate that 😅)

Aside from that, some class members have been made final.

You can see the full diff of the decompiled jminuit here (must be signed in):
https://code.jlab.org/dilks/jarchaeology-jminuit/-/compare/clasweb-1.0...SLAC-1.0.2

@c-dilks
c-dilks enabled auto-merge (squash) October 7, 2026 23:19
@baltzell

baltzell commented Oct 8, 2026

Copy link
Copy Markdown
Collaborator

Which one used/uses the logger versus System.*.print?

@baltzell

baltzell commented Oct 8, 2026

Copy link
Copy Markdown
Collaborator

Note that SLAC's freehep maven repos (and other related infrastructure from that era) have been problems multiple times over the past decade. And at some point we copied their stuff over to JLab for hosting from clasweb. Is anything happening here that would make it difficult to switch back (and forth)?

@c-dilks

c-dilks commented Oct 8, 2026

Copy link
Copy Markdown
Member Author

Which one used/uses the logger versus System.*.print?

The old one uses System.*.print*, the new one uses java.util.logging.Logger and proper log levels. Many printouts that spam stderr are now printed at the INFO level, for example:

-                System.err.println("MnHesse: matrix is invalid!");
-                System.err.println("MnHesse: matrix is not pos. def.!");
-                System.err.println("MnHesse: matrix was forced pos. def.");
+                logger.info("MnHesse: matrix is invalid!");
+                logger.info("MnHesse: matrix is not pos. def.!");
+                logger.info("MnHesse: matrix was forced pos. def.");

Note that SLAC's freehep maven repos (and other related infrastructure from that era) have been problems multiple times over the past decade. And at some point we copied their stuff over to JLab for hosting from clasweb. Is anything happening here that would make it difficult to switch back (and forth)?

Let's mirror their deployed repository on code.jlab.org.

@c-dilks
c-dilks merged commit f46ee2c into development Oct 8, 2026
24 checks passed
@c-dilks
c-dilks deleted the mvn-jminuit branch October 8, 2026 19:25
@mirazita

mirazita commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator

As far as I could understand, this minuit stuff is used in the RICH reconstruction in two cases.

  1. In an old ray tracing function that is not used any more.
  2. In a function that is solving analytically the tracing problem for photons with no reflections.
    As for point 1), the function could be easily removed.
    The function of point 2) was used at the early stage of the reconstruction implementation to cross check the current ray tracing algorithm. It is basically not used any more, however the CCDB has a flag to activate it, therefore I don't want to remove it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants