Move LSTGeometry repo into ESProducer and standalone binary#203
Move LSTGeometry repo into ESProducer and standalone binary#203
Conversation
|
I expect that the final code will not use a csv file to generate the geometry bin/txt file. |
|
After binning, it takes about 15 seconds, which is starting to be reasonable. There are more improvements that can be made to make it faster, but for now I'll switch gears to get the CMSSW part in place. |
c2d0f53 to
a5accdb
Compare
|
Not sure if it will work, but let's see what happens. /run cmssw |
|
There was a problem while building and running with CMSSW. The logs can be found here. |
1 similar comment
|
There was a problem while building and running with CMSSW. The logs can be found here. |
a91bad2 to
14afa6a
Compare
|
There was a problem while building and running with CMSSW. The logs can be found here. |
|
The PR was built and ran successfully with CMSSW. Here are some plots. OOTB All Tracks
The full set of validation and comparison plots can be found here. |
|
The plots actually look better than I expected. I'll take another look at the standalone comparison and post it here. I'll also do some cleanup and look into what could be the source of the differences in the |eta|~1-2 range. |
|
/run cmssw |
There was a problem hiding this comment.
Pull request overview
This PR refactors the LST (Line Segment Tracking) geometry handling by moving geometry computation logic into a dedicated structure and making it available through both an ESProducer (for CMSSW integration) and a standalone binary. The key changes include:
- Introduction of a new
LSTGeometrydata structure containing centroids, slopes, pixel maps, and module connections - New geometry computation methods using Eigen for matrix operations
- An ESProducer (
LSTGeometryESProducer) that generates geometry fromTrackerGeometry - A standalone binary (
lst_make_geometry) for offline geometry generation - Integration with existing LST code through new overloaded methods
Key Changes
- New geometry computation framework with multiple helper classes (Module, DetectorGeometry, etc.)
- Refactored
LSTESDatato accept both file-based andLSTGeometry-based initialization - Updated parameter handling to use string-based
ptCutlabels for ES record lookups
Reviewed changes
Copilot reviewed 41 out of 42 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
RecoTracker/LSTCore/plugins/LSTGeometryESProducer.cc |
New ESProducer for generating LSTGeometry from TrackerGeometry |
RecoTracker/LSTCore/standalone/bin/lst_make_geometry.cc |
New standalone binary for geometry generation |
RecoTracker/LSTCore/interface/LSTGeometry/*.h |
New geometry data structures and computation methods |
RecoTracker/LSTCore/src/LSTESData.cc |
Added overload for LSTGeometry-based initialization |
RecoTracker/LSTCore/src/TiltedGeometry.cc |
Added overload to load from LSTGeometry slopes |
RecoTracker/LSTCore/src/EndcapGeometry.cc |
Added overload to load from LSTGeometry slopes |
RecoTracker/LSTCore/test/DumpLSTGeometry.cc |
New test analyzer for dumping geometry |
RecoTracker/LST/plugins/alpaka/LSTProducer.cc |
Updated ptCut parameter handling |
RecoTracker/LSTCore/standalone/Makefile |
Added build rules for geometry binary |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
There was a problem while building and running with CMSSW. The logs can be found here. |
|
is the copilot reviewer feature something to be manually added? I don't see this option in #212 |
|
The PR was built and ran successfully with CMSSW. Here are some plots. OOTB All Tracks
The full set of validation and comparison plots can be found here. |
|
/run cmssw |
|
The PR was built and ran successfully with CMSSW. Here are some plots. OOTB All Tracks
The full set of validation and comparison plots can be found here. |
|
/run cmssw lowpt |
|
/run cmssw |
|
There was a problem while building and running with CMSSW. The logs can be found here. |
|
The PR was built and ran successfully with CMSSW. Here are some plots. OOTB All Tracks
The full set of validation and comparison plots can be found here. |
|
run-ci: cmssw |
|
The PR was built and ran successfully with CMSSW running on CPU. Here are some plots. OOTB All Tracks
The full set of validation and comparison plots can be found here. |
|
It wasn't |
|
run-ci: cmssw |
|
The PR was built and ran successfully with CMSSW running on CPU. Here are some plots. OOTB All Tracks
The full set of validation and comparison plots can be found here. |
|
Should be good now. I'll move on to implementing the pre-computation and I'll probably also remove the |
|
run-ci: cmssw |
|
The PR was built and ran successfully with CMSSW running on CPU. Here are some plots. OOTB All Tracks
The full set of validation and comparison plots can be found here. |
… at the end of map computations
|
I added extra stuff to sensors to avoid repeated computations. Unfortunately, I could not remove I think the last remaining thing is setting up the config files properly. |
|
run-ci: cmssw |
|
There was a problem while building and running with CMSSW. The logs can be found here. |
|
run-ci: cmssw |
|
The PR was built and ran successfully with CMSSW running on CPU. Here are some plots. OOTB All Tracks
The full set of validation and comparison plots can be found here. |
|
run-ci: cmssw |
|
The PR was built and ran successfully with CMSSW running on CPU. Here are some plots. OOTB All Tracks
The full set of validation and comparison plots can be found here. |
|
run-ci: cmssw |
|
The PR was built and ran successfully with CMSSW running on CPU. Here are some plots. OOTB All Tracks
The full set of validation and comparison plots can be found here. |
|
@slava77 I think I addressed all your comments and I'm done with what I had planned to do. Let me know if you have any other comments. Thank you! |
|
I'll do a bit of AI-assisted cleanup, but I think there shouldn't be anything major left |










This is still a work in progress, but I'm opening a draft PR so you can track the progress.
This is relatively close to working for standalone, but I still have to figure out the ESProducer part.