ROOT TTree的TCut选择,ServiceX xAOD和Uproot转换器的Qastle包装器
项目描述
介绍
TCut选择ROOT TTree到Qastle包装器,用于ServiceX uproot后端。
支持的表达式
- 算术运算符:
+, -, *, /
- 逻辑运算符:
!, &&, ||
- 关系和比较运算符:
==, !=, >, <, >=, <=
- 三元运算符:
(A?B:C)
- 必须用括号括起来 - 数学函数:
sqrt
用法
<tree_name>
:输入平坦ROOT ntuple的树名(仅uproot需要)<selected_columns>
:要交付的选中分支(或列)列表。如果未指定,则交付所有分支。<tcut_selection>
:组合分支的选择表达式。如果未指定,则不应用任何选择。
import tcut_to_qastle
# Get Qastle query
query = tcut_to_qastle.translate(<tree_name>, <selected_columns>, <tcut_selection>)
# Get the list of columns in the TCut selection
columns_in_selection = tcut_to_qastle.get_list_of_columns_in_selection(<TCut selection>)
示例
>>> import tcut_to_qastle
>>> query = tcut_to_qastle.translate("tree", "A,B", "A && B * C>0")
>>> query
"(Select (Where (call EventDataset 'ServiceXDatasetSource' 'tree') (lambda (list event) (and (> (attr event 'A') 0) (> (* (attr event 'B') (attr event 'C')) 0)))) (lambda (list event) (dict (list 'A' 'B') (list (attr event 'A') (attr event 'B')))))"
>>> columns_in_selection = tcut_to_qastle.get_list_of_columns_in_selection("A && B * C>0")
>>> columns_in_selection
['A', 'B', 'C']
兼容性
当前版本与以下uproot转换器的docker镜像标签兼容
sslhep/servicex_func_adl_uproot_transformer:v1.0.0-rc.3
sslhep/servicex_func_adl_uproot_transformer:develop
开发
详细模式显示从TCut语法到qastle的中间步骤。函数translate()
的最后一个参数是一个标志,用于启用详细模式。它打印输入TCut选择表达式、翻译后的func-adl选择表达式、包括树和选中分支的全func-adl查询,以及完整的qastle查询。
>>> query = tcut_to_qastle.translate("tree", "A,B", "A && B * C>0", verbose=True)
TCut selection syntax:
A && B * C>0
Translated func-adl selection syntax:
event.A > 0 and event.B * event.C > 0
Full func-adl query:
EventDataset("ServiceXDatasetSource", "tree").Where("lambda event: event.A > 0 and event.B * event.C > 0 ").Select("lambda event: {'A': event.A, 'B': event.B} ")
Full qastle query:
(Select (Where (call EventDataset 'ServiceXDatasetSource' 'tree') (lambda (list event) (and (> (attr event 'A') 0) (> (* (attr event 'B') (attr event 'C')) 0)))) (lambda (list event) (dict (list 'A' 'B') (list (attr event 'A') (attr event 'B')))))
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分布
tcut_to_qastle-0.7.tar.gz (5.8 kB 查看哈希值)
构建分布
tcut_to_qastle-0.7-py3-none-any.whl (6.4 kB 查看哈希值)
关闭
tcut_to_qastle-0.7.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6cb1b370f6f17550f6d53a9be9675c46da84ac9dc1918a64aacfdfc3bd51fd93 |
|
MD5 | 11056bec9d43ff9b316de6138c6e225b |
|
BLAKE2b-256 | da8422194684f9612c7cfb24c773dbf1103c60120c24b6b5dbe76b3d1ed94654 |
关闭
tcut_to_qastle-0.7-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b295d62a6a7501bbb76a94a432d28a0cb245258aed404d50f18be8326af9bcc5 |
|
MD5 | a8cc4f0d8d4675a039bd5913cf520f2b |
|
BLAKE2b-256 | 8e8d1f55179d3770549841525dc85f445e0faca38f4401de316b3374d921a993 |