Skip to content

miquelnebot/SRProxy

 
 

Repository files navigation

SRProxy

(Please also see the general CAFAna README for more information.)

SRProxy is a toolkit for fast reads of StandardRecord objects from ROOT files. It can read two kinds of files:

  • "Structured" (or traditional) CAFs, in which there is one StandardRecord object per entry
  • "Flat" CAFs, in which a StandardRecord object is 'flattened' during serialization into basic ROOT types, and the structure is maintained in the branch names only.

Such CAFs are written by "CAF-maker" software maintained by the experiments that use CAFs as their analysis files.

When used, SRProxy provides automatic compilation-time deduction of which branches within the StandardRecord object need to be enabled when reading from the file. Any unused branches are disabled. For complicated StandardRecord objects, this can result in speedups of several orders of magnitude.

Usage

SRProxy needs to be templated over a concrete StandardRecord type that contains the relevant fields for the user's needs. In-practice examples include the implementations by SBN and DUNE.

It would be nice to have a technical digest of how to do this here, but in the meantime, please contact the CAFAna librarian and we can discuss your use case.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 73.3%
  • Python 23.7%
  • Shell 3.0%