I tried to do the following:
ROOT::RDataFrame("AnalysisTree", "https://user:password@tweb.address.com/myData/*RawData*.root");
But I get the following problem
Error in <TDavixSystem::DavixOpendir>: failed to opendir the directory: HTTP 405 : Method Not Allowed, Permission refused (17)
I can access normally those files one by one at the remote location using TFile::Open
. Why I couldn’t do the same with RDataFrame
?
Hi @Javier_Galan ,
I guess if you pass the filenames as a list that works right? E.g.:
ROOT::RDataFrame("AnalysisTree", {"https://user:password@tweb.address.com/myData/RawData1.root, https://user:password@tweb.address.com/myData/RawData2.root"});
Using a glob instead (i.e. using *RawData*
rather than a list), can you open those files with TChain
?
Cheers,
Enrico
Hi Enrico,
Yes, passing them as a list it works.
No, I cannot, I do the following (where I replaced the real address by dummy values:
root [9] TChain ch("AnalysisTree");
root [10] ch.Add("https://user:password@web.address.com/R01602*RawData*.root");
Error in <TDavixSystem::DavixOpendir>: failed to opendir the directory: HTTP 405 : Method Not Allowed, Permission refused (17)
Thanks!
Javier
Alright, that’s the problem then, RDF is just forwarding what you pass to TChain
, and TChain
is not dealing with it correctly. A (not so handy, admittedly) workaround is to build the list yourself and pass the files as a list.
I don’t know whether TChain could do better and enumerate all files matching the glob even if they are hidden behind authentication, but feel free to open an issue at Issues · root-project/root · GitHub !
Cheers,
Enrico
system
Closed
December 10, 2020, 4:07pm
5
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.