Skip to content

Remove support for legacy I/O components#475

Merged
jmcarcell merged 12 commits intokey4hep:mainfrom
tmadlener:rm-podio-data-svc
May 7, 2026
Merged

Remove support for legacy I/O components#475
jmcarcell merged 12 commits intokey4hep:mainfrom
tmadlener:rm-podio-data-svc

Conversation

@tmadlener
Copy link
Copy Markdown
Member

@tmadlener tmadlener commented Apr 2, 2026

BEGINRELEASENOTES

  • Remove support for running the wrapper with legacy I/O components since they will be removed with k4FWCore#392

ENDRELEASENOTES

This is largely just removing things. I have moved the getEDM4hepEvent into the common StoreUtils since we need this in both directions. Otherwise it's essentially just switching to newer utilities from k4FWCore and removing / changing tests that used k4DataSvc.

@tmadlener
Copy link
Copy Markdown
Member Author

doctest workflows are broken also without this, see e.g. #476

key4hep nightlies on alma9 suffer from a missing fix in Gaudi

@tmadlener
Copy link
Copy Markdown
Member Author

This can probably be merged without a new tag, since the only changes since the last tag are enabling c++26 and some CI workflow changes.

Copy link
Copy Markdown
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.

Looks good to me, I grepped and couldn't find more places where there is something to remove.

Comment thread tests/gaudi_opts/test_global_converter_maps.py Outdated
Comment thread tests/gaudi_opts/test_global_converter_maps.py Outdated
Comment thread k4MarlinWrapper/src/components/Lcio2EDM4hep.cpp Outdated
@tmadlener
Copy link
Copy Markdown
Member Author

Now we are stumbling over key4hep/k4FWCore#400

@jmcarcell
Copy link
Copy Markdown
Member

I should really fix the downstream build, because this is visible there but there is always some repo failing...

@tmadlener
Copy link
Copy Markdown
Member Author

I have picked up your changes from #478 (verbatim) and added similar changes to also set the particle id meta information to finalize. This works for me now for the ILD standard reconstruction with EDM4hep inputs and with LCIO inputs, so at least for a non-mixed chain this seems to solve things without key4hep/k4FWCore#406

I have to try and find a test case that requires the pre-filling.

@tmadlener
Copy link
Copy Markdown
Member Author

tmadlener commented Apr 28, 2026

@jmcarcell should we merge this to see if key4hep/k4FWCore#406 is necessary immediately or whether we might be able to push that for a bit? I am not sure if I can put together a test case that conclusively shows that pre-loading fixes potentially remaining issues.

edit: The failing CIs are due to

@jmcarcell
Copy link
Copy Markdown
Member

Yes, I think that just putting in finalize() should be the proper fix. I don't know if in #478 because it was closed when I reran the CI it didn't take into account I pushed to the branch or it was github, because there it wasn't passing after moving one of the put to finalize and commenting out the other.

@tmadlener
Copy link
Copy Markdown
Member Author

I think the failure in #478 might also have been that that only moves the cell id encoding parts, but the same pattern was used for the particle id meta stuff, so there was still another exception that wasn't addressed fully there.

@jmcarcell
Copy link
Copy Markdown
Member

In the branch there it is commented out

@tmadlener
Copy link
Copy Markdown
Member Author

https://github.com/key4hep/k4MarlinWrapper/pull/478/changes (is github acting up again? I don't see it here). In any case, we pick it up here unless we want to split out those changes into a separate PR and make this about removing the legacy bits only?

@jmcarcell
Copy link
Copy Markdown
Member

The last commit was in the branch but apparently because it was closed it never went through, weird because I remember testing this locally... Now we can see that #478 passes the Ubuntu pipeline. I've put in #478 the last commit of this branch so it's split so up to you; it's not a completely clean split since a variable that is used also for the PodioDataSvc branch also has to be removed.

@tmadlener
Copy link
Copy Markdown
Member Author

Split it off to have a slightly cleaner history to come back to in case it's necessary.

I have also tested this locally with CLD and ILD reconstructions (again with LCIO and EDM4hep inputs). Both run and without crashes, so I think it should also be save to merge this (after a potential review) to unblock key4hep/k4FWCore#392 (depending on the timeline of that).


This can probably be merged without a new tag, since the only changes since the last tag are enabling c++26 and some CI workflow changes.

This is now no longer true!

tmadlener and others added 11 commits May 7, 2026 16:13
Don't use the to be deprecated DataHandle for the PodioDataSvc and
instead store directly into format that is understood and usable via
Functionals and IOSvc. Use new k4FWCore functionality to assign an id on
the fly.
This breaks conversion using the PodioDataSvc since the MetadataSvc does
not talk to that frame
Co-authored-by: Juan Miguel Carceller <22276694+jmcarcell@users.noreply.github.com>
Co-authored-by: Juan Miguel Carceller <22276694+jmcarcell@users.noreply.github.com>
@jmcarcell jmcarcell force-pushed the rm-podio-data-svc branch from 8ecf42f to 72e64d1 Compare May 7, 2026 16:13
@jmcarcell
Copy link
Copy Markdown
Member

Looks good now and the Ubuntu CI is passing (Alma 9 doesn't work on LCG stacks until there is a new version of Gaudi).

@jmcarcell jmcarcell merged commit f98acdf into key4hep:main May 7, 2026
4 of 7 checks passed
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.

2 participants