Currently it seems like to me that through just FuncADL_uproot you are not able to build a query similar to xAOD and how it is done with the ServiceX version.
This is what I think should have native support:
simple_query = query.FuncADL_Uproot() \
.FromTree("reco") \
.Where(jet_cut) \
.Where(alp_pt_cut) \
.Where(alp_eta_cut) \
.Select(lambda e: {
"jet_EMFrac_NOSYS": e["jet_EMFrac_NOSYS"],
"truth_alp_decayVtxX": e["truth_alp_decayVtxX"],
"truth_alp_decayVtxY": e["truth_alp_decayVtxY"],
})
spec_funcadl = {
'Sample': [{
'Name': 'FuncADLExample',
'Dataset': request_DS,
'Query': simple_query
}]
}
Right now it seems like the behavior to use FuncADL Uproot through ServiceX and for a local file are too different. Seems like the design language could be made similar.