Updated for CRV reco and calibration#1743
Conversation
|
Hi @ehrlich-uva,
which require these tests: build. @Mu2e/write, @Mu2e/fnalbuild-users have access to CI actions on main. ⌛ The following tests have been triggered for bb4f097: build (Build queue - API unavailable) |
|
☀️ The build tests passed at bb4f097.
N.B. These results were obtained from a build of this Pull Request at bb4f097 after being merged into the base branch at 3e5e0e6. For more information, please check the job page here. |
|
@FNALbuild run build test |
|
⌛ The following tests have been triggered for cf93b85: build (Build queue - API unavailable) |
|
☀️ The build tests passed at cf93b85.
N.B. These results were obtained from a build of this Pull Request at cf93b85 after being merged into the base branch at 3e5e0e6. For more information, please check the job page here. |
|
@FNALbuild run build test |
|
⌛ The following tests have been triggered for 574ea7d: build (Build queue - API unavailable) |
|
☀️ The build tests passed at 574ea7d.
N.B. These results were obtained from a build of this Pull Request at 574ea7d after being merged into the base branch at 3e5e0e6. For more information, please check the job page here. |
|
I'll review this pull request by first loading the relevant ability and then examining the PR details and changes.Now let me look more closely at the key bug fix and the EventDisplay changes to understand the full context:Here's my review of PR #1743 — "Updated for CRV reco and calibration" by @ehrlich-uva. SummaryThis PR addresses several CRV (Cosmic Ray Veto) changes:
Issues Found🔴 Issue 1: Critical Bug Fix — Variable Shadowing (Good catch, but verify intent)The most important change in this PR is the fix in // OLD (buggy):
double timeOffset = 0.0;
if(_useTimeOffsetDB)
{
double timeOffset = calib.timeOffset(channel); // ← SHADOWS outer variable!
timeOffset*=_timeOffsetScale;
}
// timeOffset is always 0.0 here because inner `double timeOffset` went out of scope
// NEW (fixed):
double timeOffset = 0.0;
if(_useTimeOffsetDB)
{
timeOffset = calib.timeOffset(channel); // ← Correctly assigns to outer variable
timeOffset*=_timeOffsetScale;
}This is a legitimate bug fix — the old code re-declared 🟡 Issue 2: Potential integer overflow in
|
| # | Severity | File | Issue |
|---|---|---|---|
| 1 | 🔴 Critical (fixed) | CrvRecoPulsesFinder_module.cc |
Variable shadowing bug — core fix of this PR ✅ |
| 2 | 🟡 Minor | DataInterface.cc |
Potential int overflow in channel calc |
| 3 | 🟡 Minor | CrvRecoPulsesFinder_module.cc |
pedestalFromDB should be bool not double (pre-existing) |
| 4 | 🟡 Minor | prolog_v12.fcl, CRVResponse prolog_v11.fcl |
Orphaned cutoff comments |
| 5 | 🟡 Minor | EventDisplayExtracted.fcl |
DB text file commented out may confuse users |
| 6 | 🟢 Nit | DataInterface.cc |
No guard on timeOffset fetch; always applied |
| 7 | 🟢 Nit | DataInterface.cc |
Hardcoded 4 instead of CRVId::nChanPerBar |
Overall, the core bug fix (Issue 1) is correct and important. The removal of the cutoff parameters is a clean simplification. The calibration parameter adjustments and DB file updates look reasonable. I'd suggest addressing the orphaned comment (Issue 4) and the hardcoded magic number (Issue 7) before merging, but none of the remaining issues are blockers.
changed some print outs in CRV DAQ decoder
|
The last commit addressed the above comments/suggestions. |
|
@FNALbuild run build test |
|
⌛ The following tests have been triggered for dfc8725: build (Build queue - API unavailable) |
|
☀️ The build tests passed at dfc8725.
N.B. These results were obtained from a build of this Pull Request at dfc8725 after being merged into the base branch at 3e5e0e6. For more information, please check the job page here. |
Uh oh!
There was an error while loading. Please reload this page.