Skip to content

Add Athena TEvent-based file access

Teng Jian Khoo requested to merge khoo/athena:master-xAODEventSelectorCfg into 22.0

FYI @will, @jburr

I took a stab at converting ReadxAODHybrid.py to CA, and it seemed pretty easy to get a working job.

The good news:

  • Running on 10k events of a DAOD_PHYS file via AthAnalysis docker image on my laptop, defaulting to branch access, I got the following speeds: xAODReadCfg:
cObjR_ALL                                            INFO Time User   : Tot=   30 [ms] Ave/Min/Max=     1.5(+-    3.57)/       0/      10 [ms] #= 20
cObj_ALL                                             INFO Time User   : Tot=   60 [ms] Ave/Min/Max=    3.33(+-    7.45)/       0/      30 [ms] #= 18
ChronoStatSvc                                        INFO Time User   : Tot= 27.1  [s]  #=  1

PoolReadCfg:

cObjR_ALL                                            INFO Time User   : Tot= 7.37  [s] Ave/Min/Max=7.64e-05(+- 0.00122)/       0/    0.25  [s] #=96408
cObj_ALL                                             INFO Time User   : Tot= 39.5  [s] Ave/Min/Max=0.000519(+- 0.00245)/       0/    0.26  [s] #=76086
ChronoStatSvc                                        INFO Time User   : Tot=  210  [s]  #=  1

The output (TTree, processed with CP algs incl applying trigger selection) files were found to be identical by diff-root.

Not so good (maybe):

xAOD::TEvent::getEvent... WARNING Can't find EventFormatElement for hashed SG key 232541402
xAOD::TEvent::proxy_exact WARNING Can't find BranchInfo for 232541402.
xAOD::TEvent::addToStore  WARNING Function should only be called through an invalid ElementLink
xAOD::TEvent::getEvent... WARNING Can't find EventFormatElement for hashed SG key 805826821
xAOD::TEvent::proxy_exact WARNING Can't find BranchInfo for 805826821.
ClassIDSvc                                           INFO getRegistryEntries: read 3 CLIDRegistry entries for module ALL
xAOD::TEvent::getEvent... WARNING Can't find EventFormatElement for hashed SG key 466416009
xAOD::TEvent::proxy_exact WARNING Can't find BranchInfo for 466416009.

Have not yet tried to determine what this object was -- does that look like a non-xAOD object?

If we want to have both plain xAOD read and Hybrid mode, can that just be an argument to the function rather than a separate function or file? And do any of the services set up here seem obviously unnecessary?

Edited by Teng Jian Khoo

Merge request reports