Skip to content

Add interactive eta-phi energy map (lego plot) panel #869

@rx18-eng

Description

@rx18-eng

Problem

Phoenix has a great 3D event display but no 2D projection view. When students try to identify particles in masterclasses, overlapping objects in 3D make it hard to tell isolated electrons from jet-associated tracks. Physicists use eta-phi lego plots for exactly this reason (its on basically every ATLAS/CMS talk slide), but no web-based event display has an interactive one. ROOT EVE has it but that needs a full ROOT server setup.

Proposal

Add a new overlay panel that shows all physics objects plotted on an eta-phi grid:

  • Calorimeter energy (CaloCells/CaloClusters) as colored towers binned into an eta-phi grid
  • Reconstructed objects (jets, electrons, muons, photons) as markers/icons overlaid on the grid
  • MET as a directional arrow showing the missing transverse energy direction
  • Color scale for energy magnitude

The key feature is bidirectional linking with the 3D view:

  • Click a tower/marker in the energy map -> highlights the corresponding object in 3D
  • Click an object in 3D -> highlights the corresponding bin in the energy map
  • Hover preview in both directions

In the eta-phi view, particle identification becomes visual pattern matching:

  • Isolated electron = single energy tower far from any jet cluster
  • Jet = cluster of adjacent towers
  • Z->ee event = two isolated towers on opposite sides
  • MET = arrow pointing away from the energetic side

Students can see the event structure at a glance in a way that's really hard to get from the 3D view alone. The two views together give a much more complete picture.

Implementation notes

  • All the data is already there (CaloCells, Jets, Tracks, Electrons etc. all have eta/phi fields)
  • Coordinate helpers (etaToTheta, etaPhiToCartesian) already exist in the codebase
  • Can use Canvas 2D for rendering (no new dependencies needed)
  • Same CDK overlay panel pattern as the event browser and kinematics panel
  • Experiment-agnostic by design (just configure eta range per experiment, e.g. LHCb uses 2-5 instead of -5 to 5)
  • Selection API already supports programmatic highlighting by UUID so the bidirectional linking should work with existing infrastructure

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions