diff --git a/packages/phoenix-event-display/README.md b/packages/phoenix-event-display/README.md index 3cee77671..5bbd997c1 100644 --- a/packages/phoenix-event-display/README.md +++ b/packages/phoenix-event-display/README.md @@ -102,3 +102,38 @@ Without building, you can include the bundle directly from [CDN](https://cdn.jsd - [Usage in Angular (as a service)](https://github.com/HSF/phoenix/blob/main/packages/phoenix-ng/projects/phoenix-app/src/app/sections/lhcb/lhcb.component.ts) - [Usage in React](https://github.com/9inpachi/phoenix-react/blob/main/src/App.js#L6-L31) + +## Event Data Loaders + +Phoenix supports multiple event data formats through specialized loader classes. + +### PHYSLITELoader + +`PHYSLITELoader` parses ATLAS DAOD_PHYSLITE `.root` files directly in the browser using [JSROOT](https://root.cern/js/). It reads calibrated physics objects from the ROOT `CollectionTree` branch and converts them into Phoenix event format. + +#### Supported Collections + +- **Jets**: Calibrated jet momentum and energy. +- **Tracks**: InDetTrackParticles, MuonSpectrometerTrackParticles, CombinedMuonTrackParticles, GSFTrackParticles. +- **Electrons & Muons**: Four-momentum ($p_T, \eta, \phi, m$). +- **Photons**: Energy clusters and trajectories. +- **Missing Energy (MET)**: `AnalysisMET` transverse energy vector ($E_{Tx}, E_{Ty}$). +- **Primary Vertices & Calorimeter Clusters**. + +#### Usage Example + +```js +import { EventDisplay, PHYSLITELoader } from 'phoenix-event-display'; + +const eventDisplay = new EventDisplay(); +const physliteLoader = new PHYSLITELoader(); + +// Load ROOT file buffer +fetch('path/to/DAOD_PHYSLITE.root') + .then((res) => res.arrayBuffer()) + .then((buffer) => { + physliteLoader.loadEvents(buffer, (events) => { + eventDisplay.parsePhoenixEvents(events); + }); + }); +``` diff --git a/packages/phoenix-ng/projects/phoenix-ui-components/README.md b/packages/phoenix-ng/projects/phoenix-ui-components/README.md index c471339c6..b90bde887 100644 --- a/packages/phoenix-ng/projects/phoenix-ui-components/README.md +++ b/packages/phoenix-ng/projects/phoenix-ui-components/README.md @@ -152,3 +152,40 @@ A custom duration can be passed as an optional second argument: this.notificationService.warning('Large file detected.', 12000); this.notificationService.error('Connection lost.', 10000); ``` + +## Components & Overlays + +### Event Dataset Browser (`EventBrowserOverlayComponent`) + +The **Event Dataset Browser** pre-scans all loaded events in the session and renders a sortable, filterable summary table with physics object counts per collection type, Missing Energy (MET), and run/event metadata. + +#### Features + +- **Physics-Aware Column Ordering**: Reconstructed physics objects (Jets, Muons, Electrons, Photons, Tracks) are ordered first, followed by detector-level collections (`CaloCells`, `Hits`). +- **Sortable & Filterable**: Support for column filters (`>=`, `<=`, `=`), minimum MET filters, and live search by event number. +- **Direct Event Navigation**: Clicking any event row jumps directly to that event in the 3D display. +- **Keyboard Navigation**: Arrow keys to navigate table rows + `Shift + Left/Right` to switch events globally. + +#### Template Usage + +```html + +``` + +--- + +### Event Autoloader & Live Cycling (`CycleEventsComponent`) + +`CycleEventsComponent` provides automated event cycling and live event feed reloading for beam monitoring and event slideshows. + +#### Operational Modes + +1. **Inactive**: Cycling paused. +2. **Active (Looping)**: Automatically advances through the list of loaded events at a fixed interval. +3. **Active + Reloading**: Automatically fetches/reloads new event data upon reaching the end of the event list (ideal for live event feeds). + +#### Template Usage + +```html + +```