Skip to content

[BREAKING] Switch to using the IOSvc#77

Merged
jmcarcell merged 4 commits intokey4hep:mainfrom
Zehvogel:iosvc
Oct 1, 2025
Merged

[BREAKING] Switch to using the IOSvc#77
jmcarcell merged 4 commits intokey4hep:mainfrom
Zehvogel:iosvc

Conversation

@Zehvogel
Copy link
Collaborator

@Zehvogel Zehvogel commented Apr 30, 2025

BEGINRELEASENOTES

  • Switched to using the IOSvc via k4MarlinWrapper.io_helpers to enable usage of functional algorithms. Breaks compatibility with release 2025-01-28 and older.

ENDRELEASENOTES

required for #75

@Zehvogel Zehvogel changed the title [WIP] Switch to using the IOSvc Switch to using the IOSvc May 2, 2025
@Zehvogel Zehvogel changed the title Switch to using the IOSvc [BREAKING] Switch to using the IOSvc May 2, 2025
@Zehvogel Zehvogel marked this pull request as ready for review May 2, 2025 07:02
@Zehvogel
Copy link
Collaborator Author

Zehvogel commented May 2, 2025

In principle this is ready from my side.
We break release compatibility so we should

  • make a tag and release before
  • remove the release build from the required tests until the next release

@jmcarcell are the ubuntu22 tests still supposed to show up? There the nightly breaks because it is missing the k4MarlinWrapper change. I removed them from the required list now.

@andresailer
Copy link
Collaborator

It would be good, if we could have a key4hep release with which this works.

@jmcarcell
Copy link
Member

jmcarcell commented May 2, 2025

Looks good, I did some reconstruction and the dumps show the same values (except for some MCRecoLink collections that are created in a non-deterministic ordering and their IDs change). Do you want me to make a tag with the current version?

For a release before this change, do we want to only update CLDConfig?
For a release after this change, I think only the Marlin wrapper would need to be tagged (?) for this to work or we can tag all the packages and make a release or we wait a bit until the release of ROOT 6.36 and we have a new release with a new ROOT.

@jmcarcell
Copy link
Member

Do we want anything else to go in before the next tag or is this ready to be tagged?

@Zehvogel
Copy link
Collaborator Author

Zehvogel commented Jun 4, 2025

If I compare the debug plots from the digitisers from the aida files from the artifacts of the ci last night and the ci here they don't match up :(

e.g.:
before
canvas
after
canvas

@jmcarcell
Copy link
Member

jmcarcell commented Jun 4, 2025

Does DDPlanarDigi always get the same seed? What happens if you compare these plots for two different runs (without this PR)?

@andresailer
Copy link
Collaborator

Are they using the same simulated file?

@jmcarcell
Copy link
Member

jmcarcell commented Jun 4, 2025

That was my first thought but yes:

COMMAND ddsim -S cld_steer.py -N 3 --inputFile ../test/yyxyev_000.stdhep --outputFile test.edm4hep.root --compactFile ${DETECTOR}

@andresailer
Copy link
Collaborator

Actually that means the simulation should use --random.seed 123456 to be the same every day.

@jmcarcell
Copy link
Member

jmcarcell commented Oct 1, 2025

I just ran the CLD reconstruction on the same file before and after this change and I see the plots are identical (digitizers, clic efficiency calculator, track checker) and podio-dump only seems to show differences in the indexes of CaloHitMCTruthLink, which I remember are different because a map of pointers is being used to store the hits and then their ordering can be different every time. So I think this is ready to merge

Actually that means the simulation should use --random.seed 123456 to be the same every day.

It would be useful for this case but if there is a small probability of something going wrong having a different seed will make us see it eventually, that has happened to me with some of the ported algorithms.

Copy link
Member

@jmcarcell jmcarcell left a comment

Choose a reason for hiding this comment

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

Good from my side, checked both LCIO (not completely in detail, but at least the output collections and their size are the same) and EDM4hep. I'll merge later today if there aren't any comments.

@jmcarcell jmcarcell merged commit c724257 into key4hep:main Oct 1, 2025
5 checks passed
@Zehvogel Zehvogel deleted the iosvc branch October 1, 2025 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants