Skip to content

Conversation

@goblirsc
Copy link
Contributor

@goblirsc goblirsc commented Jan 28, 2026

PR description:

This PR updates the CMSSW client code for interacting with Millepede2 and GBL to accomodate the latest updates to said packages.

  • new external package dependency for providing the Mille binary file interface.
  • removal of CMS-internal copy of Mille class.
  • removal of no-longer-needed gbl::MilleRecord instance in MillepedeAlignmentAlgorithm simultaneously talking to the same file as Mille instance (fragile).
  • py3-migrate a useful script found along the way.

Dependencies / expected changes / documentation:

  • this PR depends on an externals PR, cmsdist:#10310. Both should be tested together.
  • no changes to the output are expected. The alignment binaries written by the new Mille version are 1:1 compatible to the existing format.
  • Documentation of changes / new features: slides Alignment weekly 26.01.26).

PR validation:

  • unit tests (scram b runtests use-ibeos): passing
  • runTheMatrix.py -l limited -i all --ibeo: all tests passing except for few failures unrelated to the PR (missing datasets for e/gamma 136.X, DAS errors for 2022.00X-2025.00X)
  • alignment campaign with a local build of the modified CMSSW + externals: successful and identical output to existing codebase.

If this PR is a backport please specify the original PR and why you need to backport that PR. If this PR will be backported please specify to which release cycle the backport is meant for:

No backport needed

Before submitting your pull requests, make sure you followed this checklist:
✔️ verify that the PR is really intended for the chosen branch
✔️ verify that changes follow CMS Naming, Coding, And Style Rules
✔️ verify that the PR passes the basic test procedure suggested in the CMSSW PR instructions

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 28, 2026

cms-bot internal usage

@cmsbuild
Copy link
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49963/47743

ERROR: Build errors found during clang-tidy run.

src/Alignment/MillePedeAlignmentAlgorithm/plugins/MillePedeAlignmentAlgorithm.cc:24:10: error: 'Mille/MilleFactory.h' file not found [clang-diagnostic-error]
   24 | #include "Mille/MilleFactory.h"                                     // external Mille library
      |          ^~~~~~~~~~~~~~~~~~~~~~
Suppressed 1082 warnings (1082 in non-user code).
--
gmake: *** [config/SCRAM/GMake/Makefile.coderules:129: code-checks] Error 2
gmake: *** [There are compilation/build errors. Please see the detail log above.] Error 2

@goblirsc goblirsc marked this pull request as ready for review January 28, 2026 16:18
@smuzaffar
Copy link
Contributor

code-checks with cms.week0.PR_6e7d7ce1/100.0-e18971569e0e45b7e8c26c8607cf3bf8

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @goblirsc for master.

It involves the following packages:

  • Alignment/MillePedeAlignmentAlgorithm (alca)
  • Alignment/ReferenceTrajectories (alca)
  • PhysicsTools/PythonAnalysis (analysis)

@Alejandro1400, @JanChyczynski, @arunhep, @atpathak, @cmsbuild, @perrotta, @tvami can you please review it and eventually sign? Thanks.
@mmusich, @rsreds, @tlampen, @tocheng, @yuanchao this is something you requested to watch as well.
@ftenchini, @mandrenguyen, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

@perrotta
Copy link
Contributor

test parameters:

@perrotta
Copy link
Contributor

please test

@@ -1581,17 +1595,11 @@ void MillePedeAlignmentAlgorithm::addLasBeam(const EventInfo &eventInfo,
const float residual = hit.localPosition().x() - tsoses[iHit].localPosition().x();
// error from file or assume 0.003
const float error = 0.003; // hit.localPositionError().xx(); sqrt???
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is beyond this PR, but I do wonder: is this really meant to be hardcoded at 0.003?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as this pertains to MillePedeAlignmentAlgorithm::addLasBeam (LAS system decomissioned in 2014) I hardly can see how this could be relevant.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didnt realize this was for LAS. So this function could be fully removed too then?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably 🤷‍♂️

@cmsbuild
Copy link
Contributor

+1

Size: This PR adds an extra 16KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-974a61/50994/summary.html
COMMIT: 5826615
CMSSW: CMSSW_16_1_X_2026-01-29-1100/el8_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/49963/50994/install.sh to create a dev area with all the needed externals and cmssw changes.

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:

You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-974a61/50994/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-974a61/50994/git-merge-result

Comparison Summary

Summary:

  • You potentially added 2 lines to the logs
  • Reco comparison results: 1 differences found in the comparisons
  • DQMHistoTests: Total files compared: 52
  • DQMHistoTests: Total histograms compared: 4028546
  • DQMHistoTests: Total failures: 47
  • DQMHistoTests: Total nulls: 697
  • DQMHistoTests: Total successes: 4027782
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 1.792 KiB( 51 files compared)
  • DQMHistoSizes: changed ( 34434.0,... ): 0.448 KiB TrackerPhase2OTL1TrackV/trackParticles
  • Checked 222 log files, 193 edm output root files, 52 DQM output files
  • TriggerResults: no differences found

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 3, 2026

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 3, 2026

Pull request #49963 was updated. @Alejandro1400, @JanChyczynski, @arunhep, @atpathak, @cmsbuild, @perrotta, @tvami can you please check and sign again.

@perrotta
Copy link
Contributor

perrotta commented Feb 3, 2026

@goblirsc probably before launching the tests it could be worthwhile to squash all commits into one.
Then the PR can be tested, and approved (at least for what I am concerned)

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 3, 2026

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 3, 2026

Pull request #49963 was updated. @Alejandro1400, @JanChyczynski, @arunhep, @atpathak, @cmsbuild, @perrotta, @tvami can you please check and sign again.

@perrotta
Copy link
Contributor

perrotta commented Feb 3, 2026

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 3, 2026

+1

Size: This PR adds an extra 36KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-974a61/51068/summary.html
COMMIT: 2dca55b
CMSSW: CMSSW_16_1_X_2026-02-03-1100/el8_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/49963/51068/install.sh to create a dev area with all the needed externals and cmssw changes.

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:

You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-974a61/51068/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-974a61/51068/git-merge-result

Comparison Summary

Summary:

  • You potentially added 17 lines to the logs
  • Reco comparison results: 7 differences found in the comparisons
  • DQMHistoTests: Total files compared: 58
  • DQMHistoTests: Total histograms compared: 4157306
  • DQMHistoTests: Total failures: 49
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 4157237
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 57 files compared)
  • Checked 251 log files, 198 edm output root files, 58 DQM output files
  • TriggerResults: no differences found

@perrotta
Copy link
Contributor

perrotta commented Feb 4, 2026

+alca

  • Millepede moved to its library version, with no regression observed in the relevant workflow outputs, as expected

@tvami
Copy link
Contributor

tvami commented Feb 4, 2026

+1

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 4, 2026

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @mandrenguyen, @sextonkennedy, @ftenchini (and backports should be raised in the release meeting by the corresponding L2)
Notice This PR was tested with additional Pull Request(s), please also merge them if necessary: cms-sw/cmsdist#10310

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 4, 2026

REMINDER @mandrenguyen, @sextonkennedy, @ftenchini: This PR was tested with cms-sw/cmsdist#10310, please check if they should be merged together

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants