Skip to main content

Submit Functional Queries to a ServiceX endpoint.

Project description

func_adl_servicex

Send func_adl expressions to a ServiceX endpoint

GitHub Actions Status Code Coverage

PyPI version Supported Python versions

Introduction

This package contains the single object ServiceXSourceXAOD and ``ServiceXSourceUpROOTwhich can be used as a root of afunc_adl` expression to query large LHC datasets from an active `ServiceX` instance located on the net.

See below for simple examples.

Further Information

  • servicex documentation
  • func_adl documentation

Usage

To use func_adl on servicex, the only func_adl package you only need to install this package. All others required will be pulled in as dependencies of this package.

Using the xAOD backend

See the further information for documentation above to understand how this works. Here is a quick sample that will run against an ATLAS xAOD backend in servicex to get out jet pt's for those jets with pt > 30 GeV.

from func_adl_servicex import ServiceXSourceXAOD

dataset_xaod = "mc15_13TeV:mc15_13TeV.361106.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zee.merge.DAOD_STDM3.e3601_s2576_s2132_r6630_r6264_p2363_tid05630052_00"
ds = ServiceXSourceXAOD(dataset_xaod)
data = ds \
    .SelectMany('lambda e: (e.Jets("AntiKt4EMTopoJets"))') \
    .Where('lambda j: (j.pt()/1000)>30') \
    .Select('lambda j: j.pt()') \
    .AsAwkwardArray(["JetPt"]) \
    .value()

print(data['JetPt'])

Using the uproot backend

See the further information for documentation above to understand how this works. Here is a quick sample that will run against a ROOT file (TTree) in the uproot backend in servicex to get out jet pt's. Note that the image name tag is likely wrong here. See XXX to get the current one.

from servicex import ServiceXDataset
from func_adl_servicex import ServiceXSourceUpROOT


dataset_uproot = "user.kchoi:user.kchoi.ttHML_80fb_ttbar"
uproot_transformer_image = "sslhep/servicex_func_adl_uproot_transformer:issue6"

sx_dataset = ServiceXDataset(dataset_uproot, image=uproot_transformer_image)
ds = ServiceXSourceUpROOT(sx_dataset, "nominal")
data = ds.Select("lambda e: {'lep_pt_1': e.lep_Pt_1, 'lep_pt_2': e.lep_Pt_2}") \
    .AsParquetFiles('junk.parquet') \
    .value()

print(data)

Development

PR's are welcome! Feel free to add an issue for new features or questions.

The master branch is the most recent commits that both pass all tests and are slated for the next release. Releases are tagged. Modifications to any released versions are made off those tags.

Qastle

This is for people working with the back-ends that run in servicex.

This is the qastle produced for an xAOD dataset:

(call EventDataset 'ServiceXDatasetSource')

(the actual dataset name is passed in the servicex web API call.)

This is the qastle produced for a ROOT flat file:

(call EventDataset 'ServiceXDatasetSource' 'tree_name')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

func_adl_servicex-1.1b1.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

func_adl_servicex-1.1b1-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file func_adl_servicex-1.1b1.tar.gz.

File metadata

  • Download URL: func_adl_servicex-1.1b1.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.10

File hashes

Hashes for func_adl_servicex-1.1b1.tar.gz
Algorithm Hash digest
SHA256 21cec0ca0ba9a33a5b4c63026605764f55a0a93f64be51750ead1ac759a65e6f
MD5 cbb90a60f2ccc010a082c561f9bea72f
BLAKE2b-256 cb628b2d0549b5047bdef845fb84035e391a4247ba1bf55ec7d998e9d12d4754

See more details on using hashes here.

Provenance

File details

Details for the file func_adl_servicex-1.1b1-py3-none-any.whl.

File metadata

  • Download URL: func_adl_servicex-1.1b1-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.10

File hashes

Hashes for func_adl_servicex-1.1b1-py3-none-any.whl
Algorithm Hash digest
SHA256 71d820c392ddef2d85b91f6a1a38592ca56704a2ead09fbe3a4142417a778d70
MD5 5e5973bdccd47e2063b4264b40e36304
BLAKE2b-256 e8a9f8b279eedef0a82727cb2ed0cfe8ad74cf86a13089f08d922ee17ec8e96d

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page