bypass calibration existence check during calibration passes#4180
bypass calibration existence check during calibration passes#4180pinkenburg merged 1 commit intosPHENIX-Collaboration:masterfrom
Conversation
… calibration runs
|
No actionable comments were generated in the recent review. 🎉 📝 WalkthroughWalkthroughThis PR makes three targeted changes to the MBD subsystem: adjusts error-handling logic in MbdEvent initialization to distinguish normal processing from calibration modes, adds a public accessor method to MbdReco for accessing the internal MbdEvent instance, and disables debug output in MbdSig's verbose block. Changes
Possibly related PRs
✨ Finishing touches
Tip Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Build & test reportReport for commit 388a36bd33b650b008df3a3f56c70d3ec345bb9c:
Automatically generated by sPHENIX Jenkins continuous integration |
|
clang-tidy errors are from another PR |
f464d02
into
sPHENIX-Collaboration:master



comment: modifying the reco to abort if a mbd calibration doesn't exist broke the mbd calibration, just fixing it back. Also added a method to return MbdEvent so one can easily access the waveform and other reco debug info from an analysis module.
Types of changes
What kind of change does this PR introduce? (Bug fix, feature, ...)
TODOs (if applicable)
Links to other PRs in macros and calibration repositories (if applicable)
Motivation / Context
A recent change to MBD reconstruction that aborts processing when calibration data is missing inadvertently broke the MBD calibration workflow itself. The calibration passes need to process events even when pre-existing calibration data is unavailable. This PR restores the previous behavior while maintaining error handling for normal data reconstruction.
Key Changes
Calibration existence check bypass during calibration runs (
MbdEvent.cc): Modified the abort condition to only trigger when calibration data is missing (status < 0) and processing is in normal mode (_calpass == 0). This allows calibration passes (_calpass > 0) to proceed without pre-existing calibration constants, enabling the multi-pass calibration workflow.New MbdEvent accessor method (
MbdReco.h): Added publicGetMbdEvent()method that returns a raw pointer to the internalMbdEventobject, enabling analysis modules convenient access to raw waveform data and reconstruction debug information without copying data.Debug statement cleanup (
MbdSig.cc): Disabled verbose debug output for channel 9 pulse information in theSetXY()function.Potential Risk Areas
Reconstruction behavior change: The modified abort logic may allow corrupted or missing calibration data to propagate through normal processing (non-calibration runs) if the status check is not properly triggered. The condition
status < 0 && _calpass==0should be verified to ensure it correctly distinguishes between calibration and production runs.API exposure: The new
GetMbdEvent()method returns a raw pointer, which could enable external code to modify internal state without proper checks. Users should treat this as read-only access.Multi-pass calibration workflow: Verify that the calibration passes (calpass=1,2,3) properly progress through their intended sequence without data quality issues.
Notes
AI note: Please verify the actual values and semantics of
_calpass(especially the distinction between 0=normal processing vs. 1,2,3=calibration passes) and confirm that the status codes fromDownload_All()are correctly handled across different reconstruction modes.