Skip to content

chore: root-6.38.04 - #297

Merged
wdconinc merged 1 commit into
masterfrom
root-6.38.04
Jun 10, 2026
Merged

chore: root-6.38.04#297
wdconinc merged 1 commit into
masterfrom
root-6.38.04

Conversation

@wdconinc

@wdconinc wdconinc commented May 20, 2026

Copy link
Copy Markdown
Contributor

Briefly, what does this PR introduce? Please link to any relevant presentations or discussions.

This PR updates ROOT to 6.38.04 (before we make a jump to 6.40). Diff at root-project/root@v6-38-00...v6-38-04. Release notes at https://github.com/root-project/root/releases/tag/v6-38-04 and https://github.com/root-project/root/releases/tag/v6-38-02.

Needs:

What is the urgency of this PR?

  • High (please describe reason below)
  • Medium
  • Low

What kind of change does this PR introduce?

  • Bug fix (issue #__)
  • New feature (issue: version update)
  • Optimization (issue #__)
  • Updated documentation
  • other: __

Please check if any of the following apply

  • This PR introduces breaking changes. Please describe changes users need to make below.
  • This PR changes default behavior. Please describe changes below.
  • AI was used in preparing this PR. Please describe usage below.

Copilot AI review requested due to automatic review settings May 20, 2026 15:10

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the Spack environment’s ROOT requirement to 6.38.04, aligning the container software stack with the desired ROOT patch release prior to a later move to 6.40.

Changes:

  • Bump ROOT version requirement from @6.38.00 to @6.38.04 in spack-environment/packages.yaml.

@wdconinc
wdconinc enabled auto-merge (squash) May 20, 2026 16:23
@wdconinc
wdconinc requested a review from a team May 20, 2026 16:23
@veprbl

veprbl commented Jun 2, 2026

Copy link
Copy Markdown
Member

Somehow we get much fewer hits in this one. Let's re-run CI.

Copilot AI review requested due to automatic review settings June 2, 2026 01:11

This comment was marked as duplicate.

@wdconinc

wdconinc commented Jun 2, 2026

Copy link
Copy Markdown
Contributor Author

Where do you see that? I see stat diffs but no significant diffs.

@veprbl

veprbl commented Jun 2, 2026

Copy link
Copy Markdown
Member

I check for Q2>1000, where it's much more pronounced.

@wdconinc wdconinc mentioned this pull request Jun 3, 2026
12 tasks
Copilot AI review requested due to automatic review settings June 3, 2026 00:26

This comment was marked as duplicate.

@ruse-traveler ruse-traveler left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Looks good! Most of the diffs look reasonable to me: time stamp has changed, which -- I think -- would propagate to the OM hits' time being different (where most of the other diffs are).

But I was surprised by the the raw index for the sim-raw hit OM associations changing slightly (though sim index is unchanged), like here... Granted, the diffs are within statistics...

Image

@wdconinc

Copy link
Copy Markdown
Contributor Author

But I was surprised by the the raw index for the sim-raw hit OM associations changing slightly (though sim index is unchanged), like here... Granted, the diffs are within statistics...

I dug into this, and there is already an ordering mismatch between the hits in the simulation output... I am still investigating why, but it is unlikely that the ROOT upgrade introduced something to cause the reordering, and I am more suspicious of something somewhere (Geant4, DD4hep, podio) using a map keyed on pointer.

@wdconinc

Copy link
Copy Markdown
Contributor Author

The underlying cause here is that the ForwardOffMTracker is really four detectors that each write to ForwardOffMTrackerHits. That means there's one SensitiveDetector, and four TGeoVolumes. This is stored in a std::map<SensitiveDetector, std::set<const TGeoVolume*>> in https://github.com/AIDASoft/DD4hep/blob/7693cca27dd057bb22414c86b95fedbab49f6ae5/DDG4/include/DDG4/Geant4GeometryInfo.h#L135, and then iterated over in https://github.com/AIDASoft/DD4hep/blob/7693cca27dd057bb22414c86b95fedbab49f6ae5/DDG4/plugins/Geant4DetectorSensitivesConstruction.cpp#L87-L101. This makes the ordering of the four hit collections dependent on the pointer value, so we have no determinism on which station is stored when.

@ruse-traveler

Copy link
Copy Markdown

The underlying cause here is that the ForwardOffMTracker is really four detectors that each write to ForwardOffMTrackerHits. That means there's one SensitiveDetector, and four TGeoVolumes. This is stored in a std::map<SensitiveDetector, std::set<const TGeoVolume*>> in https://github.com/AIDASoft/DD4hep/blob/7693cca27dd057bb22414c86b95fedbab49f6ae5/DDG4/include/DDG4/Geant4GeometryInfo.h#L135, and then iterated over in https://github.com/AIDASoft/DD4hep/blob/7693cca27dd057bb22414c86b95fedbab49f6ae5/DDG4/plugins/Geant4DetectorSensitivesConstruction.cpp#L87-L101. This makes the ordering of the four hit collections dependent on the pointer value, so we have no determinism on which station is stored when.

Ahhhh I see! Thank you for looking into that! In that case, this PR is good-to-go!

@wdconinc
wdconinc merged commit f1abf0e into master Jun 10, 2026
86 checks passed
@wdconinc
wdconinc deleted the root-6.38.04 branch July 2, 2026 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants