feat: add PHYSLITE ROOT file loader for ATLAS Open Data (#823)#836
feat: add PHYSLITE ROOT file loader for ATLAS Open Data (#823)#836EdwardMoyse merged 1 commit intoHSF:mainfrom
Conversation
|
Hey @EdwardMoyse @sponce , please let me know your thoughts on this |
|
Hi @EdwardMoyse, I've been independently investigating issue #823 in parallel I can confirm:
One issue I found while verifying branch names against The loader expects
This means Electrons and Muons will be silently skipped This might also be specific to the data15 file I tested Happy to help investigate further or test additional files. |
|
Hey, thanks for testing! This is actually already handled , the loader checks branch existence before adding anything to the TSelector, so collections like Electrons/Muons get skipped gracefully when their AuxDyn branches don't exist in the file. You're right that the data15 file stores them as serialized blobs (AnalysisElectronsAux.) instead of flat AuxDyn branches. I ran into the same thing during development. The MC ttbar file does have the AuxDyn branches and So it's working as intended , the loader adapts to whatever branches are available in the file. |
555d958 to
dfaf376
Compare
| } | ||
|
|
||
| async handlePHYSLITEInput(files: FileList) { | ||
| if (!this.isFileOfExtension(files[0].name, 'root')) { |
There was a problem hiding this comment.
| if (!this.isFileOfExtension(files[0].name, 'root')) { | |
| if (!this.isFileOfExtension(files[0].name, 'root,root.1,pool.root,pool.root.1')) { |
There was a problem hiding this comment.
We have a bunch of ways the postfix can be named... maybe extend the list to include them?
|
This looks great - one minor suggestion to the accepted postfixes, and also maybe it would be good to improve the This comes because I downloaded a file with the name |
|
Thanks for your review ! . I will fix this soon ! |
Signed-off-by: rx18-eng <remopanda78@gmail.com>
dfaf376 to
d9ff993
Compare
Title: feat: add PHYSLITE ROOT file loader for ATLAS Open Data
Body:
Closes #823
Adds a loader for ATLAS DAOD_PHYSLITE ROOT files, allowing users to browse
real ATLAS Open Data directly in Phoenix via the IO options dialog.
What it does
Reads calibrated physics objects from
.rootfiles using jsroot's TSelectorAPI and converts them to Phoenix event format. Supports: Jets, Tracks (InDet,
Muon Spectrometer, Combined, Extrapolated, GSF), Electrons, Muons, Photons,
MET, Vertices, and Calorimeter Clusters.
The loader checks branch existence before reading, so it works with both real
data and MC files automatically.
Tested with
correctly
event, electrons, muons, photons all display correctly
phoenix-objects.tsFiles
loaders/physlite-loader.ts— new loader (reads CollectionTree, computesenergy from pt/eta/phi/m)
loaders/objects/phoenix-objects.ts— NaN guards for track extrapolationand calorimeter geometry
index.ts— exportio-options-dialog.component.ts— PHYSLITE import optionevent-data-import.ts—PHYSLITEenum valueatlas.component.ts— enabled for ATLAS sectionRecording.2026-03-16.225316.mp4