uproot.ReadOnlyDirectory
Defined in uproot.reading on line 1284.
Inheritance order: |
---|
|
- class uproot.reading.ReadOnlyDirectory(path, cursor, context, file, parent)
- Parameters:
path (tuple of str) – Object path of the
TDirectory
as a tuple of nestedTDirectory
names.cursor (uproot.Cursor) – Current position in the uproot.ReadOnlyFile.
context (dict) – Auxiliary data used in deserialization.
file (uproot.ReadOnlyFile) – The open file object.
parent (None or calling object) – The previous
read
in the recursive descent.
Represents a
TDirectory
from a ROOT file, most notably, the root directory (root_directory).Be careful not to confuse uproot.ReadOnlyFile and uproot.ReadOnlyDirectory: files are for accessing global information such as streamers and directories are for data in local hierarchies.
A uproot.ReadOnlyDirectory is a Python
Mapping
, which uses square bracket syntax to extract objects:my_directory["histogram"] my_directory["tree"] my_directory["directory"]["another_tree"]
Objects in ROOT files also have “cycle numbers,” which allow multiple versions of an object to be retrievable using the same name. A cycle number may be specified after a semicolon:
my_directory["histogram;2"]
but without one, the directory defaults to the latest (highest cycle number).
It’s also possible to navigate through nested directories with a slash (
/
) instead of sequences of square brackets. The following are equivalent:my_directory["directory"]["another_tree"]["branch_in_tree"] # long form my_directory["directory/another_tree"]["branch_in_tree"] # / for dir my_directory["directory/another_tree/branch_in_tree"] # / for branch my_directory["/directory/another_tree/branch_in_tree"] # absolute my_directory["/directory////another_tree/branch_in_tree"] # extra ///
As a Python
Mapping
, uproot.ReadOnlyDirectory also haskeys: names of objects in the
TDirectory
values: objects in the
TDirectory
items: 2-tuple (name, object) pairs.
However, the uproot.ReadOnlyDirectory versions of these methods have extra parameters for navigating a complex ROOT file. In addition, there is a
classnames: returns a dict of (name, classname) pairs.
with the same parameters.
See the ROOT TDirectoryFile documentation for a specification of
TDirectory
header fields (in an image).
path
- ReadOnlyDirectory.path
Object path of the
TDirectory
as a tuple of nestedTDirectory
names. The root directory is an empty tuple,()
.See object_path for the path as a string.
object_path
file_path
- ReadOnlyDirectory.file_path
The original path to the file (converted to
str
if it was originally apathlib.Path
).
file
- ReadOnlyDirectory.file
The uproot.ReadOnlyFile in which this
TDirectory
resides.This property is useful for getting global information, in idioms like
with uproot.open("/path/to/file.root") as handle: handle.file.show_streamers()
close
- ReadOnlyDirectory.close()
Close the uproot.ReadOnlyFile in which this
TDirectory
resides.
closed
created_on
modified_on
cursor
- ReadOnlyDirectory.cursor
A uproot.Cursor pointing to the seek point in the file where this
TDirectory
is defined (at the start of theTDirectory
header).
parent
- ReadOnlyDirectory.parent
The object that was deserialized before this one in recursive descent, usually the containing object (or the container’s container).
is_64bit
cache_key
- ReadOnlyDirectory.cache_key
String that uniquely specifies this
TDirectory
path, to use as part of object and array cache keys.
keys
- ReadOnlyDirectory.keys(*, recursive=True, cycle=True, filter_name=<function no_filter>, filter_classname=<function no_filter>)
- Parameters:
recursive (bool) – If True, descend into any nested subdirectories. If False, only return the names of objects directly accessible in this
TDirectory
.cycle (bool) – If True, include the cycle numbers in those names.
filter_name (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by name.filter_classname (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by C++ (decoded) classname.
Returns the names of the objects in this
TDirectory
as a list of strings.Note that this does not read any data from the file.
values
- ReadOnlyDirectory.values(*, recursive=True, filter_name=<function no_filter>, filter_classname=<function no_filter>)
- Parameters:
recursive (bool) – If True, descend into any nested subdirectories. If False, only return objects directly accessible in this
TDirectory
.filter_name (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by name.filter_classname (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by C++ (decoded) classname.
Returns objects in this
TDirectory
as a list of uproot.Model.Note that this reads all objects that are selected by
filter_name
andfilter_classname
.
items
- ReadOnlyDirectory.items(*, recursive=True, cycle=True, filter_name=<function no_filter>, filter_classname=<function no_filter>)
- Parameters:
recursive (bool) – If True, descend into any nested subdirectories. If False, only return (name, object) pairs directly accessible in this
TDirectory
.cycle (bool) – If True, include the cycle numbers in the names.
filter_name (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by name.filter_classname (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by C++ (decoded) classname.
Returns (name, object) pairs for objects in this
TDirectory
as a list of 2-tuples of (str, uproot.Model).Note that this reads all objects that are selected by
filter_name
andfilter_classname
.
classnames
- ReadOnlyDirectory.classnames(*, recursive=True, cycle=True, filter_name=<function no_filter>, filter_classname=<function no_filter>)
- Parameters:
recursive (bool) – If True, descend into any nested subdirectories. If False, only return the names and classnames of objects directly accessible in this
TDirectory
.cycle (bool) – If True, include the cycle numbers in the names.
filter_name (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by name.filter_classname (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by C++ (decoded) classname.
Returns the names and C++ (decoded) classnames of the objects in this
TDirectory
as a dict of str → str.Note that this does not read any data from the file.
iterkeys
- ReadOnlyDirectory.iterkeys(*, recursive=True, cycle=True, filter_name=<function no_filter>, filter_classname=<function no_filter>)
- Parameters:
recursive (bool) – If True, descend into any nested subdirectories. If False, only return the names of objects directly accessible in this
TDirectory
.cycle (bool) – If True, include the cycle numbers in those names.
filter_name (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by name.filter_classname (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by C++ (decoded) classname.
Returns the names of the objects in this
TDirectory
as an iterator over strings.Note that this does not read any data from the file.
itervalues
- ReadOnlyDirectory.itervalues(*, recursive=True, filter_name=<function no_filter>, filter_classname=<function no_filter>)
- Parameters:
recursive (bool) – If True, descend into any nested subdirectories. If False, only return objects directly accessible in this
TDirectory
.filter_name (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by name.filter_classname (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by C++ (decoded) classname.
Returns objects in this
TDirectory
as an iterator over uproot.Model.Note that this reads all objects that are selected by
filter_name
andfilter_classname
.
iteritems
- ReadOnlyDirectory.iteritems(*, recursive=True, cycle=True, filter_name=<function no_filter>, filter_classname=<function no_filter>)
- Parameters:
recursive (bool) – If True, descend into any nested subdirectories. If False, only return (name, object) pairs directly accessible in this
TDirectory
.cycle (bool) – If True, include the cycle numbers in the names.
filter_name (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by name.filter_classname (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by C++ (decoded) classname.
Returns (name, object) pairs for objects in this
TDirectory
as an iterator over 2-tuples of (str, uproot.Model).Note that this reads all objects that are selected by
filter_name
andfilter_classname
.
iterclassnames
- ReadOnlyDirectory.iterclassnames(*, recursive=True, cycle=True, filter_name=<function no_filter>, filter_classname=<function no_filter>)
- Parameters:
recursive (bool) – If True, descend into any nested subdirectories. If False, only return the names and classnames of objects directly accessible in this
TDirectory
.cycle (bool) – If True, include the cycle numbers in the names.
filter_name (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by name.filter_classname (None, glob string, regex string in
"/pattern/i"
syntax, function of str → bool, or iterable of the above) – A filter to select keys by C++ (decoded) classname.
Returns the names and C++ (decoded) classnames of the objects in this
TDirectory
as an iterator of 2-tuples of (str, str).Note that this does not read any data from the file.
title_of
- ReadOnlyDirectory.title_of(where)
Returns the title of the object selected by
where
.The syntax for
where
is the same as in square brakets, namely that cycle numbers can be specified after semicolons (;
) and nestedTDirectories
can be specified with slashes (/
).Unlike the square bracket syntax, this method cannot descend into the
TBranches
of aTTree
.Note that this does not read any data from the file.
classname_of
- ReadOnlyDirectory.classname_of(where, encoded=False, version=None)
Returns the classname of the object selected by
where
. Ifencoded
with a possibleversion
, return a Python classname; otherwise, return a C++ (decoded) classname.The syntax for
where
is the same as in square brakets, namely that cycle numbers can be specified after semicolons (;
) and nestedTDirectories
can be specified with slashes (/
).Unlike the square bracket syntax, this method cannot descend into the
TBranches
of aTTree
.Note that this does not read any data from the file.
class_of
- ReadOnlyDirectory.class_of(where, version=None)
Returns a class object for the ROOT object selected by
where
. Ifversion
is specified, get a uproot.model.VersionedModel; otherwise, get a uproot.model.DispatchByVersion or a versionless uproot.Model.The syntax for
where
is the same as in square brakets, namely that cycle numbers can be specified after semicolons (;
) and nestedTDirectories
can be specified with slashes (/
).Unlike the square bracket syntax, this method cannot descend into the
TBranches
of aTTree
.Note that this does not read any data from the file.
streamer_of
- ReadOnlyDirectory.streamer_of(where, version='max')
Returns a
TStreamerInfo
(uproot.streamers.Model_TStreamerInfo) for the object selected bywhere
andversion
.The syntax for
where
is the same as in square brakets, namely that cycle numbers can be specified after semicolons (;
) and nestedTDirectories
can be specified with slashes (/
).Unlike the square bracket syntax, this method cannot descend into the
TBranches
of aTTree
.Note that this does not read any data from the file.
key
- ReadOnlyDirectory.key(where)
Returns a
TKey
(uproot.reading.ReadOnlyKey) for the object selected bywhere
.The syntax for
where
is the same as in square brakets, namely that cycle numbers can be specified after semicolons (;
) and nestedTDirectories
can be specified with slashes (/
).Unlike the square bracket syntax, this method cannot descend into the
TBranches
of aTTree
(since they have noTKeys
).Note that this does not read any data from the file.
fVersion
- ReadOnlyDirectory.fVersion
Raw integer version of the
TDirectory
class.
fDatimeC
- ReadOnlyDirectory.fDatimeC
Raw integer creation date/time.
created_on presents this time as a Python datetime.
fDatimeM
- ReadOnlyDirectory.fDatimeM
Raw integer date/time of last modification.
modified_on presents this time as a Python datetime.
fNbytesKeys
- ReadOnlyDirectory.fNbytesKeys
Number of bytes in the collection of
TKeys
(header key, number of directory keys, and directory keys).
fNbytesName
- ReadOnlyDirectory.fNbytesName
Number of bytes in the header up to its title.
fSeekDir
- ReadOnlyDirectory.fSeekDir
File seek position (int) of the
TDirectory
.
fSeekParent
- ReadOnlyDirectory.fSeekParent
File seek position (int) of the parent object (
TDirectory
orTFile
).
fSeekKeys
- ReadOnlyDirectory.fSeekKeys
File seek position (int) to the collection of
TKeys
(header key, number of directory keys, and directory keys).
hook_before_read
- ReadOnlyDirectory.hook_before_read(**kwargs)
Called in the uproot.ReadOnlyDirectory constructor before reading the
TDirectory
header fields.This is the first hook called in the uproot.ReadOnlyDirectory constructor.
hook_before_interpret
- ReadOnlyDirectory.hook_before_interpret(**kwargs)
Called in the uproot.ReadOnlyDirectory constructor after reading the
TDirectory
header fields and before interpreting them.
hook_before_read_keys
- ReadOnlyDirectory.hook_before_read_keys(**kwargs)
Called in the uproot.ReadOnlyDirectory constructor after interpreting the
TDirectory
header fields and before reading the chunk ofTKeys
.
hook_before_header_key
- ReadOnlyDirectory.hook_before_header_key(**kwargs)
Called in the uproot.ReadOnlyDirectory constructor after reading the chunk of
TKeys
and before interpreting the headerTKey
.
hook_before_keys
- ReadOnlyDirectory.hook_before_keys(**kwargs)
Called in the uproot.ReadOnlyDirectory constructor after interpreting the header
TKey
and number of keys, and before interpeting the objectTKeys
.
hook_after_keys
- ReadOnlyDirectory.hook_after_keys(**kwargs)
Called in the uproot.ReadOnlyDirectory constructor after interpeting the object
TKeys
.This is the last hook called in the uproot.ReadOnlyDirectory constructor.