Skip to content

[FCC] Tracking: Prepare for TrackMerger - #193

Open
Victor-Schwan wants to merge 9 commits into
iLCSoft:masterfrom
Victor-Schwan:fcc-tracking-without-dev
Open

[FCC] Tracking: Prepare for TrackMerger#193
Victor-Schwan wants to merge 9 commits into
iLCSoft:masterfrom
Victor-Schwan:fcc-tracking-without-dev

Conversation

@Victor-Schwan

@Victor-Schwan Victor-Schwan commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

BEGINRELEASENOTES

  • Introduces the steering file for track merging TrackMerging_FCCee.py
  • Introduces the cli arg trackMerge to activate the TrackMergers
  • Adapts the custom HighLevelReco for ILD@FCC-ee to truth link the Clupatra and TrackMerger tracks at the same time
  • Ensures that Clupatra tracks are always refitted also when the trackMerge flag is not provided
  • Drops the type edm4hep::ParticleIDCollection colls before writing output files

ENDRELEASENOTES

@Victor-Schwan

Copy link
Copy Markdown
Contributor Author

Relies on a solution of key4hep/k4RecTracker#90

@tmadlener

Copy link
Copy Markdown
Contributor

Relies on a solution of key4hep/k4RecTracker#90

This is no longer true, I think.

@Victor-Schwan
Victor-Schwan force-pushed the fcc-tracking-without-dev branch from 07241b2 to dc6c509 Compare August 13, 2026 08:46
@Victor-Schwan Victor-Schwan changed the title FCC Tracking [FCC] Tracking Aug 14, 2026
@Victor-Schwan
Victor-Schwan force-pushed the fcc-tracking-without-dev branch 2 times, most recently from 3693c3a to e708419 Compare August 19, 2026 13:25
@Victor-Schwan
Victor-Schwan force-pushed the fcc-tracking-without-dev branch from e708419 to 2c768e0 Compare August 19, 2026 16:43
@Victor-Schwan
Victor-Schwan force-pushed the fcc-tracking-without-dev branch from ed42ee8 to 256226c Compare August 21, 2026 10:01
@Victor-Schwan
Victor-Schwan force-pushed the fcc-tracking-without-dev branch from 6c1be0a to dec74d0 Compare August 21, 2026 10:55
@Victor-Schwan
Victor-Schwan marked this pull request as ready for review August 21, 2026 11:11
@Victor-Schwan Victor-Schwan changed the title [FCC] Tracking [FCC] Tracking: Prepare for TrackMerger Aug 21, 2026
Comment thread StandardConfig/production/Tracking/TrackMerging_FCCee.py Outdated
Comment on lines +26 to +37
# TrackMerger considers two tracks a match if the differences of their track
# parameters at the adjoining hit are within the configured tolerances. Each
# of the 5 track parameters (D0, Z0, phi, omega, tanLambda) has its own
# tolerance property; a negative value disables that parameter, i.e. it is
# not considered for matching. The properties are:
# D0Tolerance, Z0Tolerance, PhiTolerance, OmegaTolerance, TanLambdaTolerance
#
# The defaults set in TrackMerger.cpp reproduce the original criterion
# (D0Tolerance=0.5, Z0Tolerance=2.5, everything else negative/disabled), so
# this dict only needs entries for parameters you want to override, e.g.
# {"PhiTolerance": 0.05} to also require phi compatibility, or
# {"D0Tolerance": -1} to turn the D0 check off.

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.

meta question to this, resp. the track merger: What happens to the forward SiTracks that do not have a Clupatra counter part, simply because the underlying particle doesn't go through the TPC?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

They will not appear in the output collection of the TrackMerger. I guess we wanna have another processor after the TrackMerger that finds those tracks and combines them with the merged ones

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.

I am not quite sure whether it needs to be another algorithm (or whether it can actually be without re-doing quite a bit of work). In the end the TrackMerger knows from each track whether it is merged or not and could just add the un-merged ones as well, right?

Probably a discussion to be had after some first performance plots are in.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fair point, but I am not sure whether just blindly adding all the un-merged tracks is what we wanna do. The first step might be adding all un-merged silicon tracks which are outside of the TPC's acceptance. If deciding which tracks to add becomes more involved, it might be out of place in a general track merging processor which should not be tailored specifically towards ILD@FCC.

I agree that this discussion, although very interesting, is better to have with some more detailed performance plots at hand.

Comment thread StandardConfig/production/ILDReconstruction.py
Comment thread StandardConfig/production/Tracking/TrackMerging_FCCee.py
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