Add Athena TEvent-based file access
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?
Reopened !55609 (closed) to clearly base on 22.0 (changed partway) after massive rebase failure