Calo Surface Steps#1757
Conversation
|
Hi @sophiemiddleton,
which require these tests: build. @Mu2e/write, @Mu2e/fnalbuild-users have access to CI actions on main. ⌛ The following tests have been triggered for 2610df8: build (Build queue - API unavailable) |
|
this is an initial draft with most of the work. I have a small issues to fix before it becomes a full PR |
|
☀️ The build tests passed at 2610df8.
N.B. These results were obtained from a build of this Pull Request at 2610df8 after being merged into the base branch at 6a994e7. For more information, please check the job page here. |
|
I merged the HEAD and fixed a few conflicts |
brownd1978
left a comment
There was a problem hiding this comment.
Overall this looks really good. Thanks for adding extrapolation to KKLIne and CentralHelix fits. I just have a question about how multiple intersections are handled.
The current calo geom only describes VD surfaces, so extrapolation doesn't do any material corrections. In future it would be nice to add materials in front of the crystals like the CF and supports and the calibration system.
| // update the cache | ||
| inter_ = newinter; | ||
| ann_ = disks_[idisk]; | ||
| //sid_ = SurfaceId(SurfaceIdEnum::calo_Foils,idisk); //FIXME |
There was a problem hiding this comment.
Is sid_ left out intentionally?
There was a problem hiding this comment.
yes, I agree, adding in the material corrections would be a good next step. I'll take a look and see what I can figure out as a future task here.
| # | ||
| # may use a more careful optimization, but this is it for now | ||
| #------------------------------------------------------------------------------ | ||
| InterdetectorTimeBootstrap : { |
There was a problem hiding this comment.
Does this correspond to code not in this PR?
There was a problem hiding this comment.
Ah, this is old stuff. I had a module for the time calibration, it was removed, ill remove this comment too
|
Is there anything else needed for this PR? |
brownd1978
left a comment
There was a problem hiding this comment.
Could you please say a few words about this work at the next reco meeting? thanks.
PR #1757 Review: "Calo Surface Steps"SummaryStatus: ✅ Approved by Adds calorimeter (EMC) disk surfaces to the KinKalGeom infrastructure and enables track extrapolation to the two calo disks (D0 / D1), exposing front/back disks and inner/outer cylinders for surface mapping, plus FCL toggles Issues Found🔴 Critical / Likely Bugs1. Duplicate Also note: this block lost 2. Massive use of const_cast<AnnPtr&>(tsdaptr_) = kkg.DS().upstreamAbsorberPtr();
const_cast<DiskPtr&>(trkfrontptr_) = kkg.tracker().frontPtr();
...
const_cast<bool&>(geom_initialized_) = true;3. 4. Whitespace / brace issues in vdmap_[VirtualDetectorId(VirtualDetectorId::EMC_Disk_0_EdgeIn)] = SurfaceId("EMC_Disk_0_Inner");
vdmap_[VirtualDetectorId(VirtualDetectorId::EMC_Disk_1_EdgeIn)] = SurfaceId("EMC_Disk_1_Inner");
vdmap_[VirtualDetectorId(VirtualDetectorId::EMC_Disk_0_EdgeOut)] = SurfaceId("EMC_Disk_0_Outer");
vdmap_[VirtualDetectorId(VirtualDetectorId::EMC_Disk_1_EdgeOut)] = SurfaceId("EMC_Disk_1_Outer");
}🟡 Medium5. Debug 6. KinKalGeom smap;
smap.surfaces(ssids_,surfaces_to_sample_); // <-- dead/incorrect; overwritten in beginRun7. 8. KKExtrap header pulls 9. 10. 🟢 Minor / Style
Merge Readiness
Want me to
|
|
@FNALbuild run build test |
|
⌛ The following tests have been triggered for 9b47730: build (Build queue - API unavailable) |
|
☀️ The build tests passed at 9b47730.
N.B. These results were obtained from a build of this Pull Request at 9b47730 after being merged into the base branch at c0fad40. For more information, please check the job page here. |
|
@FNALbuild run build test |
|
⌛ The following tests have been triggered for f7baeaf: build (Build queue - API unavailable) |
|
☀️ The build tests passed at f7baeaf.
N.B. These results were obtained from a build of this Pull Request at f7baeaf after being merged into the base branch at 1d79377. For more information, please check the job page here. |
PR #1757 Review — "Calo Surface Steps"Author: sophiemiddleton · State: open, mergeable (clean) · Approved by: brownd1978 (2026‑05‑04) SummaryAdds calorimeter (EMC) disk surfaces to the KinKal geometry/surface infrastructure and extends The PR has been approved, but it still contains several substantive issues worth addressing before merge — listed below in priority order. 🔴 Issues found1.
|
|
📝 The HEAD of |
This pull request introduces support for calorimeter (Calo) surfaces in the geometry and extrapolation infrastructure, enabling track extrapolation to the calorimeter disks. The main changes include defining Calo surfaces, integrating them into surface mapping, and adding extrapolation logic to reach Calo disks. Additionally, configuration options are updated to allow extrapolation to Calo disks.
Calorimeter surface integration:
Caloclass to define the geometry of calorimeter disks and edges, including inner/outer cylinders and front/back disks for both disk 0 and disk 1 (KinKalGeom/inc/Calo.hh,KinKalGeom/src/Calo.cc). [1] [2]SurfaceMapclass and surface mapping logic, allowing retrieval and mapping of Calo surfaces (KinKalGeom/inc/SurfaceMap.hh,KinKalGeom/src/SurfaceMap.cc). [1] [2] [3]Extrapolation enhancements:
ExtrapolateCaloclass to handle extrapolation predicates and logic for reaching Calo disks, including methods for finding nearest disks and intersection checks (Mu2eKinKal/inc/ExtrapolateCalo.hh).KKExtrapclass to include extrapolation methods for Calo disks and associated member variables for Calo disk surfaces and predicates (Mu2eKinKal/inc/KKExtrap.hh). [1] [2] [3]Configuration updates:
ToCaloD0,ToCaloD1) in the FCL files to control extrapolation to Calo disks (Mu2eKinKal/fcl/prolog.fcl). [1] [2] [3]Surface ID and mapping updates:
SurfaceIdenumeration and mapping to include Calo disk surfaces, and updated string mappings for these IDs (DataProducts/inc/SurfaceId.hh,DataProducts/src/SurfaceId.cc). [1] [2]MakeSurfaceSteps_module.ccto map new Calo surface IDs and add debug output for Calo-related steps (CommonMC/src/MakeSurfaceSteps_module.cc). [1] [2]Build system update:
Calo.ccto the build system for compilation (KinKalGeom/CMakeLists.txt).