Empty ElementLinks in ATLAS PHYSLITE Open Data

Hi all,

In many of the ATLAS PHYSLITE open data files, there are multiple invalid/empty element links (I have looked at at least 10 random PHYSLITE open data files and found this issue). While not a huge issue as they can be ignored it shows a lack of consistency and a potential problem for PHYSLITE down the road. To illustrate the problem see the code/steps below.

  1. Download an ATLAS PHYSLITE open data file. For instance, ATLAS DAOD_PHYSLITE format Run 2 2016 index file data16_13TeV_Run_00296939_file_index.txt and data file data16_13TeV:DAOD_PHYSLITE.37019878._000001.pool.root.1
  2. Open file using uproot:
    file = uproot.open("DAOD_PHYSLITE.37019878._000001.pool.root.1")["CollectionTree"] print(file['AnalysisElectronsAuxDyn.trackParticleLinks'].arrays().tolist())
  3. See that there are entries in which the m_persKey is zero

This occurs all over the place, not just in AnalysisElectronsAuxDyn.trackParticleLinks. The m_persKey identifies the type of the element and should never be zero.

I hope the source of this issue can be identified or some clarification given.

Thanks!

Thanks for asking about this!

Invalid links are expected, because we cut hard on the collections to reduce the total size of the container. If you have an electron that doesn’t have a good track, it’s likely that’s not a very good electron. Conversely, if you require that the electrons are loose (or ‘better’) and above 15 GeV (for example), then you should always have a track link (otherwise we really do have an issue somewhere). Could you triple check if these are just junk electrons?

The answer is similar for other links. Sometimes the entire collection being linked to has been dropped (in which case we shouldn’t bother storing the links either, but they compress away so there isn’t much of a size issue), and sometimes the links are only valid for a subset of objects (e.g. truth links from leptons are only valid when a corresponding true lepton was found; we also don’t store jet constituents in PHYSLITE, so any time you see a link to a jet constituent it is almost certainly going to be invalid).

Cheers,
Zach

1 Like