Skip to content

[Tracking] Migrate Single Muon Script to KEY4HEP - #45

Open
Victor-Schwan wants to merge 7 commits into
iLCSoft:masterfrom
Victor-Schwan:to-k4hep
Open

[Tracking] Migrate Single Muon Script to KEY4HEP#45
Victor-Schwan wants to merge 7 commits into
iLCSoft:masterfrom
Victor-Schwan:to-k4hep

Conversation

@Victor-Schwan

@Victor-Schwan Victor-Schwan commented May 7, 2026

Copy link
Copy Markdown
Contributor

BEGINRELEASENOTES

  • Migrated ILD reconstruction steering from ILCSOFT to Key4HEP, replacing Marlin MarlinStdReco.xml with k4run ILDReconstruction.py
  • Added a .gitignore file to the repository

ENDRELEASENOTES

@Victor-Schwan

Copy link
Copy Markdown
Contributor Author

Please note that until the previous PR is merged, this branch also includes formatting updates for Python and Markdown files, as well as the update to the current ILCSOFT version

@gaede

gaede commented May 13, 2026

Copy link
Copy Markdown
Contributor

Can you please make your changes such that one can run either the old (Marlin/LCIO) way or the new Key4hep (Gaudi/EDM4hep) ? This way one can also cross check the two against each other. As far as I can tell, right now there is a mic where some stuff (sinhle muons) are run in key4hep and others like ttbar is run with Marlin...

@Victor-Schwan
Victor-Schwan force-pushed the to-k4hep branch 2 times, most recently from 25b7598 to bad055b Compare May 13, 2026 13:38
@Victor-Schwan

Copy link
Copy Markdown
Contributor Author

Can you please make your changes such that one can run either the old (Marlin/LCIO) way or the new Key4hep (Gaudi/EDM4hep) ? This way one can also cross check the two against each other.

Using this PR, you can run the new Key4hep version, and to run the older version, simply switch to the previous commit. This is the easiest way to run the program in both versions

@Victor-Schwan

Copy link
Copy Markdown
Contributor Author

As far as I can tell, right now there is a mic where some stuff (sinhle muons) are run in key4hep and others like ttbar is run with Marlin...

This is because I have only used the single muon version so far. I thought of translating the ttbar version in a later PR

@Victor-Schwan

Copy link
Copy Markdown
Contributor Author

Merge #46 and #47 first

@Victor-Schwan
Victor-Schwan force-pushed the to-k4hep branch 3 times, most recently from 353d015 to a0de922 Compare May 29, 2026 14:44
@Victor-Schwan

Copy link
Copy Markdown
Contributor Author

Merge #48 and #49 first

@Victor-Schwan
Victor-Schwan force-pushed the to-k4hep branch 2 times, most recently from 15df90c to 8c81a29 Compare June 1, 2026 18:43
@jmcarcell

Copy link
Copy Markdown
Contributor

Can the same results be reproduced exactly? In principle it should be possible, they are running the same chain with the same parameters and same seed right?

@Victor-Schwan

Copy link
Copy Markdown
Contributor Author

I'm not aware of anything that would prevent an exact replication

@jmcarcell

jmcarcell commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

It would be good to reproduce exactly. A single event could be enough. If you find out something has changed, you won't be able to disentangle from other changes elsewhere or this change unless everything is validated before and after.

@tmadlener

Copy link
Copy Markdown
Contributor

I agree, if we can get validate at least once that we can reproduce things exactly it would make debugging potential issues later much easier.

@Victor-Schwan Victor-Schwan changed the title Migrate ILDPerformance to KEY4HEP [Tracking] Migrate Single Muon Script to KEY4HEP Aug 24, 2026
@Victor-Schwan

Copy link
Copy Markdown
Contributor Author

2026-08-24-ILDPerf-Gaudi-Marlin-Comparison.pdf
This comparison seems to agree perfectly :)

@tmadlener

Copy link
Copy Markdown
Contributor

Just for my understanding: Which parts are compared here? I.e. what is run via Marlin and what is run via Gaudi in each case? The full chain including reconstruction? Or "just" the ILDPerformance bits?

@Victor-Schwan

Copy link
Copy Markdown
Contributor Author

Both share the particle gun input sample and simulation bit, but once the reconstruction was done with Marlin and the other time with Gaudi. The two different reco files were both analysed with the same DDDiagnostics processor and identical settings

@jmcarcell

jmcarcell commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

By exactly I meant bit-by-bit, then you don't need to do any plots and it can be done with podio-dump and implies that the plots are exactly the same (the opposite could not be true, it probably is).

@Victor-Schwan

Copy link
Copy Markdown
Contributor Author

Can you elaborate on what exactly you want to be done? In my naive understanding, the files will never be bit-by-bit the same.

  1. IDs might be different and also things like patched collection differ.
  2. Doesn't using podio-dump includes converting the Marlin output to edm4hep? Which did not work when I tried it last time (lcio2edm4hep conversion fails with a confusing error message key4hep/k4EDM4hep2LcioConv#134)

@tmadlener

Copy link
Copy Markdown
Contributor

We have done the validation of the standard reconstruction for ILD when running through Marlin and Gaudi some years ago already where we did a quite thorough comparison between the outputs. AFAIU this PR only changes that part in the whole chain. The rest that still lives here is run through Marlin still. I am happy with the validation that has happened and that shows that running reconstruction through Gaudi instead of Marlin makes the DDDiagnostics processor work and produce the same outputs.

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.

4 participants