Skip to content
This repository was archived by the owner on Mar 31, 2019. It is now read-only.

Commit 6cabbcd

Browse files
committed
CMS NanoAOD can sometimes have treepath different from 'Events'
1 parent f3d15b3 commit 6cabbcd

3 files changed

Lines changed: 13 additions & 9 deletions

File tree

‎oamap/__init__.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,7 @@
3030

3131
from oamap.schema import *
3232
import oamap.compiler
33+
34+
# convenient access to the version number
35+
from oamap.version import __version__
36+

‎oamap/backend/root/cmsnano.py‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import oamap.proxy
3737
from oamap.util import OrderedDict
3838

39-
def dataset(path, namespace=None, **kwargs):
39+
def dataset(path, treepath="Events", namespace=None, **kwargs):
4040
import uproot
4141

4242
if namespace is None:
@@ -47,7 +47,7 @@ def dataset(path, namespace=None, **kwargs):
4747
kwargs["total"] = False
4848
kwargs["blocking"] = True
4949

50-
paths2entries = uproot.tree.numentries(path, "Events", **kwargs)
50+
paths2entries = uproot.tree.numentries(path, treepath, **kwargs)
5151
if len(paths2entries) == 0:
5252
raise ValueError("path {0} matched no TTrees".format(repr(path)))
5353

@@ -61,17 +61,17 @@ def dataset(path, namespace=None, **kwargs):
6161
doc = sch.doc
6262
sch.doc = None
6363

64-
return oamap.dataset.Dataset("Events",
64+
return oamap.dataset.Dataset(treepath,
6565
sch,
66-
{namespace: oamap.backend.root.ROOTBackend(paths, "Events", namespace)},
66+
{namespace: oamap.backend.root.ROOTBackend(paths, treepath, namespace)},
6767
oamap.dataset.SingleThreadExecutor(),
6868
offsets,
6969
extension=None,
7070
packing=None,
7171
doc=doc,
7272
metadata={"schemafrom": paths[0]})
7373

74-
def proxy(path, namespace=None, extension=oamap.extension.common):
74+
def proxy(path, treepath="Events", namespace=None, extension=oamap.extension.common):
7575
import uproot
7676

7777
if namespace is None:
@@ -80,7 +80,7 @@ def proxy(path, namespace=None, extension=oamap.extension.common):
8080
def localsource(path):
8181
return uproot.source.file.FileSource(path, chunkbytes=8*1024, limitbytes=None)
8282

83-
return _proxy(uproot.open(path, localsource=localsource)["Events"], namespace=namespace, extension=extension)
83+
return _proxy(uproot.open(path, localsource=localsource)[treepath], namespace=namespace, extension=extension)
8484

8585
def _proxy(tree, namespace=None, extension=oamap.extension.common):
8686
if namespace is None:
@@ -91,7 +91,7 @@ def _proxy(tree, namespace=None, extension=oamap.extension.common):
9191

9292
return oamap.proxy.ListProxy(generator, oamap.backend.root.ROOTArrays(tree, oamap.backend.root.ROOTBackend([tree._context.sourcepath], tree._context.treename, namespace)), generator._newcache(), 0, 1, tree.numentries)
9393

94-
def schema(path, namespace=None):
94+
def schema(path, treepath="Events", namespace=None):
9595
import uproot
9696

9797
if namespace is None:
@@ -100,7 +100,7 @@ def schema(path, namespace=None):
100100
def localsource(path):
101101
return uproot.source.file.FileSource(path, chunkbytes=8*1024, limitbytes=None)
102102

103-
return _schema(uproot.open(path, localsource=localsource)["Events"], namespace=namespace)
103+
return _schema(uproot.open(path, localsource=localsource)[treepath], namespace=namespace)
104104

105105
def _schema(tree, namespace=None):
106106
if namespace is None:

‎oamap/version.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
import re
3232

33-
__version__ = "0.12.3"
33+
__version__ = "0.12.4"
3434
version = __version__
3535
version_info = tuple(re.split(r"[-\.]", __version__))
3636

0 commit comments

Comments
 (0)