Skip to content

Occupancy Plots to include slim edge sensors - #1178

Open
mgignac wants to merge 1 commit into
masterfrom
svt-paper-occupancy-l0
Open

Occupancy Plots to include slim edge sensors#1178
mgignac wants to merge 1 commit into
masterfrom
svt-paper-occupancy-l0

Conversation

@mgignac

@mgignac mgignac commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

OccupancyPlots threw ClassCastException on 2019+ geometries because createStripPositionMap hard-cast readout electrodes to SiStrips over a hardcoded 640 channels, while layer 0 uses SiStriplets. This casts to the SiSensorElectrodes interface instead, sizes all arrays from sensor.getNumberOfChannels() (639 for strip sensors, 510 for striplets), takes the layer count in endOfData() from the geometry rather than assuming 6, and guards every fill site with isValidChannel(), since raw hits legitimately carry the unbonded channel one past the last readout channel. Occupancy-vs-position is now booked per readout column -- one plot for a strip sensor, two for a striplet sensor -- so the channel-to-position mapping stays one-to-one within each plot; sensors with a single column keep their original histogram names byte-for-byte, leaving pre-L0 output unchanged. Verified end-to-end on run 14185 (2021, L0) over 10k events across all 40 sensors.

Occupancy plots:
hps_014185.00239_10k_plots_stripoccupancy.pdf
hps_014185.00239_10k_plots_clusteroccupancy.pdf

@mgignac
mgignac marked this pull request as ready for review August 13, 2026 15:10
@mgignac
mgignac requested review from EBerzin and bloodyyugo August 13, 2026 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants