@@ -394,7 +394,12 @@ export class EventLoader extends PhoenixLoader {
394394
395395 const file = await openFile ( this . fileURL ) ;
396396 const tree = await file . readObject ( treeName ) ;
397- // this.branches = tree.fBranches.arr.map((branch: any) => branch.fName);
397+ const existingBranches = tree . fBranches . arr . map (
398+ ( branch : any ) => branch . fName
399+ ) ;
400+ this . branches = this . branches . filter ( ( branch : string ) =>
401+ existingBranches . includes ( branch )
402+ ) ;
398403 this . entries = tree . fEntries ;
399404
400405 // Use Promise.all and map to wait for all promises to resolve.
@@ -420,7 +425,10 @@ export class EventLoader extends PhoenixLoader {
420425 for ( let j = 0 ; j < eventData [ 'Tracks' ] . length ; j ++ ) {
421426 const trackFitIndex = eventData [ 'Tracks' ] [ j ] [ 'trackFitIndex' ] ;
422427 const PIDIndex = eventData [ 'TracksToPIDLikelihoods' ] [ j ] ;
423- const MCParticleIndex = eventData [ 'TracksToMCParticles' ] [ j ] ;
428+ let MCParticleIndex = - 1 ;
429+ if ( 'TracksToMCParticles' in eventData ) {
430+ MCParticleIndex = eventData [ 'TracksToMCParticles' ] [ j ] ;
431+ }
424432 eventData [ 'Tracks' ] [ j ] = {
425433 ...eventData [ 'Tracks' ] [ j ] ,
426434 pos : this . getTrackPos (
@@ -430,10 +438,12 @@ export class EventLoader extends PhoenixLoader {
430438 ...eventData [ 'PIDLikelihoods' ] [ PIDIndex ] ,
431439 MCParticleIndex
432440 } ;
433- eventData [ 'MCParticles' ] [ MCParticleIndex ] = {
434- ...eventData [ 'MCParticles' ] [ MCParticleIndex ] ,
435- trackIndex : j
436- } ;
441+ if ( MCParticleIndex >= 0 ) {
442+ eventData [ 'MCParticles' ] [ MCParticleIndex ] = {
443+ ...eventData [ 'MCParticles' ] [ MCParticleIndex ] ,
444+ trackIndex : j
445+ } ;
446+ }
437447 }
438448 }
439449 // Save fileData by input the appropriate onHandleData function
0 commit comments