PROOF Lite on TTree in Subdirectory

I get an error message when trying to run PROOF Lite on a TTree that is contained within a subdirectory:

TChain locChain("/mydir1/mydir2/myTree");
locChain.Add("myfile.root");
TProof* locPROOF = TProof::Open("workers=1");
locChain.SetProof();
locChain.Process("MySelector.C+", "");

18:15:36 31506 Wrk-0.0 | Error in TDSet::GetEntries: cannot find tree “mydir1/mydir2/myTree” in /mypath/myfile.root

It looks like the tree-path/name aren’t being split correctly between the TDSet::GetEntries() “path” and “objname” input variables. Also, when I run it with (notice the missing “/” at the beginning):

TChain locChain("mydir1/mydir2/myTree");

instead, I get the error message:

18:02:26 30565 Wrk-0.0 | Error in TDSet::GetEntries: cannot find tree “mydir2/myTree” in /mypath/myfile.root

Is there something I’m forgetting to do? Thanks.

Sorry, forgot to mention that I’m using version 5.34.14

Hi,
Sorry for the late reply.
I will try to reproduce and debug your problem.
In the meanwhile, you may try starting directly from a TDSet:

TDSet locDSet("dum", "myTree", "/mydir1/mydir2/");
locDSet.Add("myfile.root");
TProof* locPROOF = TProof::Open("workers=1");
locDSet.Process("MySelector.C+", "");

G. Ganis

Many thanks! it was ROOT 5.34/14 (v5-34-14@v5-34-14, Dec 16 2013, 12:23:58 on linuxx8664gcc)

Hi,
I have finally found and fixed the problem, due to a wrong way in which the directory tree and name was parsed while translating internally the TChain to a TDset.
This affected only case with more that one sub-directory.
I have fixed in v5-34-00-patches so that it goes in the forthcoming 5-34/19 .
I confirm that the bug does not affect other ways to describe the dataset, like TDSet or TFileCollection.

Thanks for reporting,

G. Ganis