Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support EDM4hep v0.99, with TrackerHit as interface type #1676

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

wdconinc
Copy link
Contributor

Briefly, what does this PR introduce?

EDM4hep v0.99 introduced TrackerHit as an interface type, and the datatype that used to be called TrackerHit is now called TrackerHit3D. We use this in a few places, and this PR disambiguates the TrackerHit datatype. To minimize impact on the code and limit the annoying code effects to the preamble, this defines an alias of the new name.

What kind of change does this PR introduce?

Please check if this PR fulfills the following:

  • Tests for the changes have been added
  • Documentation has been added / updated
  • Changes have been communicated to collaborators

Does this PR introduce breaking changes? What changes might users need to make to their code?

No.

Does this PR change default behavior?

No.

@wdconinc wdconinc requested a review from veprbl November 21, 2024 00:11
@simonge
Copy link
Contributor

simonge commented Nov 21, 2024

I believe it is now possible to use edm4eic tracker hits rather than the edm4hep model, this should fix a couple of other things and avoid unnecessarily having to add this complexity.

@wdconinc
Copy link
Contributor Author

I believe it is now possible to use edm4eic tracker hits rather than the edm4hep model, this should fix a couple of other things and avoid unnecessarily having to add this complexity.

It seems we have one to one relations to raw hits in edm4eic so it's not a trivial change.

@simonge
Copy link
Contributor

simonge commented Nov 21, 2024

I believe it is now possible to use edm4eic tracker hits rather than the edm4hep model, this should fix a couple of other things and avoid unnecessarily having to add this complexity.

It seems we have one to one relations to raw hits in edm4eic so it's not a trivial change.

Yes, just been looking through the options again now and being reminded of all the subtle changes (in my opinion) need addressing.

The edm4hep TrackerHit has changed significantly in v0.99 from our current version but isn't really what is required either.

@simonge
Copy link
Contributor

simonge commented Nov 22, 2024

Rather than continuing to use the edm4hep version, I would be in favour of adding the Measurement3D to edm4eic where the surface from Measurement2D is replaced by the 3rd spatial dimension and covariance.

Is there no point during the acts tracking procedure where the data is in this format? Every time I try and look through it, I find the acts coding style slightly impenetrable.

@wdconinc
Copy link
Contributor Author

Rather than continuing to use the edm4hep version, I would be in favour of adding the Measurement3D to edm4eic where the surface from Measurement2D is replaced by the 3rd spatial dimension and covariance.

I think we should try to move closer to EDM4hep where we can, not move further away. I think this makes sense especially for data types that are before typical reconstruction steps such as clustering or tracking. We are already much farther away from EDM4hep than I wish we were.

@simonge
Copy link
Contributor

simonge commented Nov 26, 2024

The problem as usual is keeping associations so that they can be traced through the reconstruction.

The pre-v0.10 version of edm4hep::TrackerHit had this convenient but probably misguided vector of ObjectIDs which allowed a link to any podio object, in this case between the TrackerHit and an edm4eic::RawTrackerHit. At very least this will have to be replaced with a edm4hep::TrackerHitSimTrackerHitLink, linking back to the simulated rather than raw hit through our edm4eic::MCRecoTrackerHitAssociation.

edm4hep v0.99 doesn't appear to have very good support for our approach of converting everything into the raw tracker/calorimeter hits with just digitized time and charge values and no links/relations/associations between them. There is no RawTrackerHit type but admittedly this would just be identical the the RawCalorimeterHit.

Is this the only block from updating to v0.99?

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