feat: add graphicalScan material and field scan pipeline#1106
Open
wdconinc wants to merge 8 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new CI pipeline that produces field+material graphical scans of the epic_craterlake geometry using DD4hep's graphicalScan, renders the resulting TH2F slices to logo-stamped PNGs, and publishes them to a new /craterlake_scans page on the project's GitHub Pages site, mirroring the existing /craterlake_views dawn-view pipeline.
Changes:
- New YAML config (
.github/graphical-scan-configs.yml) driving the scan matrices and a four-job pipeline (load configs → rungraphicalScan→ render PNGs with ePIC logo overlay → merge artifacts) wired intobuild-artifacts-page. - New
bin/render_graphical_scansPython/PyROOT script that preserves equal physical scale on both axes and composites a transparent ePIC logo into the bottom-right corner. - New Jekyll page
reports/craterlake_scans.mdand corresponding header entry in_config.yml.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.github/graphical-scan-configs.yml |
Declarative scan definitions (XY, ZY) and detector configs consumed by the new workflow jobs. |
.github/workflows/linux-eic-shell.yml |
Adds load-graphical-scan-configs, graphical-scan, render-graphical-scans, and merge-graphical-scans jobs and adds the merge job to build-artifacts-page needs. |
bin/render_graphical_scans |
Python script that downloads the ePIC logo and renders TH2F slices from the graphicalScan ROOT output to aspect-correct PNGs. |
reports/craterlake_scans.md |
Jekyll page listing the produced PNGs at /craterlake_scans. |
_config.yml |
Adds the new page to the site navigation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
Adds a CI pipeline that runs DD4hep's graphicalScan tool on the epic_craterlake geometry and publishes the resulting images to the GitHub Pages site at /craterlake_scans, analogous to the existing dawn views at /craterlake_views. New files: - .github/graphical-scan-configs.yml: documented YAML file that defines all scan parameters (axis, ranges, slices, bins, samples). Adding a new scan requires editing only this file. - bin/render_graphical_scans: Python/PyROOT script that opens the graphicalScan ROOT output, renders each TH2F slice with an equal-physical-scale aspect ratio (no distortion of cylindrical geometry), and overlays the ePIC white-transparent logo from Zenodo (https://zenodo.org/records/14058463) in the bottom-right corner of every image. - reports/craterlake_scans.md: Jekyll page at /craterlake_scans. Modified files: - .github/workflows/linux-eic-shell.yml: four new jobs: load-graphical-scan-configs, graphical-scan, render-graphical-scans, merge-graphical-scans; the last is added to build-artifacts-page needs so images are deployed to GitHub Pages. - _config.yml: adds craterlake_scans to the site navigation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
b4697ac to
ff8eb30
Compare
wdconinc
commented
Jun 6, 2026
Add functionality to suppress non-zero values for lambda/X0 histograms.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a CI pipeline that runs DD4hep's
graphicalScantool on theepic_craterlakegeometry and publishes the resulting images to the GitHub Pages site at/craterlake_scans, analogous to the existing dawn views at/craterlake_views.New files
.github/graphical-scan-configs.yml— documented YAML configuration file defining all scan parameters. Adding or modifying a scan requires editing only this file (no workflow changes needed).bin/render_graphical_scans— Python/PyROOT script that opens thegraphicalScanROOT output, renders each TH2F slice as a PNG with a correct equal-physical-scale aspect ratio (no distortion of cylindrical geometry into ellipses), and overlays the ePIC black-transparent logo from Zenodo in the bottom-right corner.reports/craterlake_scans.md— Jekyll page at/craterlake_scans.Modified files
.github/workflows/linux-eic-shell.yml— four new jobs:load-graphical-scan-configs: reads the YAML config and outputs matrices for the downstream jobsgraphical-scan: runsgraphicalScanfor each scan config × detector configrender-graphical-scans: converts ROOT output to logo-stamped PNGsmerge-graphical-scans: merges per-scan artifacts intoepic_craterlake_scansfor Jekyllmerge-graphical-scansadded tobuild-artifacts-pageneeds_config.yml— adds/craterlake_scansto the site navigation barScan configurations
Both scans use
FM(field + material).