-
Notifications
You must be signed in to change notification settings - Fork 221
New tpc transforms #4109
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
New tpc transforms #4109
Conversation
📝 WalkthroughWalkthroughThe changes introduce a new Changes
✨ Finishing touches
📜 Recent review detailsConfiguration used: Repository UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (2)
🧰 Additional context used📓 Path-based instructions (2)**/*.{h,hpp,hxx,hh}⚙️ CodeRabbit configuration file
Files:
**/*.{cc,cpp,cxx,c}⚙️ CodeRabbit configuration file
Files:
🧠 Learnings (2)📓 Common learnings📚 Learning: 2026-01-08T18:39:48.023ZApplied to files:
🔇 Additional comments (4)
✏️ Tip: You can disable this entire section by setting Comment |
|
Note Docstrings generation - SUCCESS |
Docstrings generation was requested by @blackcathj. * #4109 (comment) The following files were modified: * `offline/packages/trackbase/AlignmentTransformation.cc` * `offline/packages/trackbase/AlignmentTransformation.h`
Build & test reportReport for commit 2cbb5063f26e7a1157890b4ed29f3a7557d1b168:
Automatically generated by sPHENIX Jenkins continuous integration |
osbornjd
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This changes the QA really dramatically for the worse. There must be something that is not yet understood
|
Well, the run2 pp data QA looks fine. The simulations QA looks bad, but I can find no way that this PR could do that. The simulations jobs read a file from the CDB with all alignment parameters set to zero, so effectively they use only the ACTS geometry transformations.
I am running simulations to try to understand this.
Tony
…________________________________
From: ***@***.*** ***@***.***> on behalf of "Joseph (Joe) Osborn" ***@***.***>
Sent: Thursday, January 15, 2026 9:33 AM
To: sPHENIX-Collaboration/coresoftware ***@***.***>
Cc: Subscribed ***@***.***>
Subject: Re: [[Sphenix-github-l] ] [sPHENIX-Collaboration/coresoftware] New tpc transforms (PR #4109)
@ osbornjd commented on this pull request. This changes the QA really dramatically for the worse. There must be something that is not yet understood — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this
ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside your organization.
ZjQcmQRYFpfptBannerEnd
@osbornjd commented on this pull request.
This changes the QA really dramatically for the worse. There must be something that is not yet understood
—
Reply to this email directly, view it on GitHub<#4109 (review)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AEALMH2RVAAHPAUMC572R6L4G6QMTAVCNFSM6AAAAACRXFCM6OVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTMNRVHEZTANZRGM>.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
|
Looking at the simulations using the nightly build code and this PR, I see identical results - screwed up in both cases.
The attached plot shows at least one problem. It is a plot from SvtxEval of pcaz-gvz vs eta for 250 pion simulation. It looks like either the drift velocity or some time offset is wrong.
I note that the Jenkins simulation QA for a different PR just came in, and it is bad also.
Tony
…________________________________
From: sPHENIX Software Repository Email List ***@***.***>
Sent: Thursday, January 15, 2026 5:29 PM
To: sPHENIX-Collaboration/coresoftware ***@***.***>
Cc: Anthony Frawley ***@***.***>; Author ***@***.***>
Subject: Re: [sPHENIX-Collaboration/coresoftware] New tpc transforms (PR #4109)
[https://avatars.githubusercontent.com/u/16823839?s=20&v=4]sPHENIX-GitHub-l left a comment (sPHENIX-Collaboration/coresoftware#4109)<#4109 (comment)>
Well, the run2 pp data QA looks fine. The simulations QA looks bad, but I can find no way that this PR could do that. The simulations jobs read a file from the CDB with all alignment parameters set to zero, so effectively they use only the ACTS geometry transformations.
I am running simulations to try to understand this.
Tony
________________________________
From: ***@***.*** ***@***.***> on behalf of "Joseph (Joe) Osborn" ***@***.***>
Sent: Thursday, January 15, 2026 9:33 AM
To: sPHENIX-Collaboration/coresoftware ***@***.***>
Cc: Subscribed ***@***.***>
Subject: Re: [[Sphenix-github-l] ] [sPHENIX-Collaboration/coresoftware] New tpc transforms (PR #4109)
@ osbornjd commented on this pull request. This changes the QA really dramatically for the worse. There must be something that is not yet understood — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this
ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside your organization.
ZjQcmQRYFpfptBannerEnd
@osbornjd commented on this pull request.
This changes the QA really dramatically for the worse. There must be something that is not yet understood
—
Reply to this email directly, view it on GitHub<#4109 (review)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AEALMH2RVAAHPAUMC572R6L4G6QMTAVCNFSM6AAAAACRXFCM6OVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTMNRVHEZTANZRGM>.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
—
Reply to this email directly, view it on GitHub<#4109 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ACHADBMRGM7YRCQKXMYG2VT4HAIC7AVCNFSM6AAAAACRXFCM6OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTONJXGE4TSNJSGU>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
|
You are right, this is the last jenkins PR that has p values of unity in the QA No idea what would have happened unless something changed in the cdb or macros. I will investigate further |



Types of changes
What kind of change does this PR introduce? (Bug fix, feature, ...)
Mariia found a bug in the logic for backward compatibility with existing alignment parameter sets. This PR fixes it.
TODOs (if applicable)
Links to other PRs in macros and calibration repositories (if applicable)
Summary
Motivation
This pull request addresses a bug in the backward compatibility logic for TPC alignment transforms, specifically in how module tilt transforms are composed. The fix ensures that existing alignment parameter sets continue to work correctly while enabling support for newer transform conventions.
Key Changes
use_module_tiltprivate boolean member to track whether TPC module tilt transforms should be applied during transform compositionuse_module_tilt = falsefor each surface; set it totrueafter computing local frame translation (for layers 0-3 or whenuse_module_tilt_alwaysis enabled)use_module_tilt == true: ApplympLocalTranslationAffine * mpLocalRotationAffine(new order)mpLocalRotationAffine * actsRotationAffine(backward-compatible legacy order)use_new_silicon_rotation_orderflag to select between new and legacy transform composition ordersPotential Risk Areas
Reconstruction behavior changes: Altering the composition order of alignment transforms affects how track reconstruction corrections are applied. The change only takes effect when
use_module_tilt = true(limited to specific TPC layers), so the impact may be localized to lower TPC layers. Validation against test data is important to verify correctness of the new transform path.Backward compatibility: The fix introduces conditional logic to maintain compatibility with existing alignment parameter sets. A critical element is that
use_module_tiltdefaults tofalse, preserving legacy behavior for parameter sets that do not setuse_module_tilt_always. However, there is a risk of subtle alignment differences if the legacy and new transform orders produce materially different results.State management: The
use_module_tiltflag is reset for each TPC surface increateMap()and then checked innewMakeTransform(). Ensure the flag is always set before it is checked in the transform composition logic.Test coverage: The fix touches core alignment transform logic used in track reconstruction. Comprehensive validation across different detector regions and alignment parameter sets is recommended.
Possible Future Improvements
Note: AI-generated summaries can contain inaccuracies. Review the actual code changes and consult domain experts for detailed understanding of alignment transform implications.