Unable to use open data over URL via TFile

Hello,

I verified I can download this file:

https://atlas-opendata.web.cern.ch/Legacy13TeV/2lep/MC/mc_364100.Zmumu_PTV0_70_CVetoBVeto.2lep.root

but in ROOT itself direct access is not working:

TFile::Open(“https://atlas-opendata.web.cern.ch/Legacy13TeV/2lep/MC/mc_364100.Zmumu_PTV0_70_CVetoBVeto.2lep.root”)

Error in TWebFile::TWebFile: https://atlas-opendata.web.cern.ch:443/Legacy13TeV/2lep/MC/mc_364100.Zmumu_PTV0_70_CVetoBVeto.2lep.root? does not exist

(TFile *) nullptr

I don’t think its my setup because (a) I tried multiple locations of ROOT (local and over cvmfs) and (b) it seems to work ok with other data, e.g:

TFile::Open**(https://root.cern/files/na49.root)**

(TFile *) 0x12f7e0400

Is there some access block at your end on the method TFile is using to access the data?

Cheers,

Mark

Hi @shefmarkh ,

This works for me:

   ------------------------------------------------------------------
  | Welcome to ROOT 6.32.02                        https://root.cern |
  | (c) 1995-2024, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for macosxarm64 on Jun 18 2024, 03:44:55                   |
  | From heads/master@tags/v6-32-02                                  |
  | With Apple clang version 15.0.0 (clang-1500.3.9.4)               |
  | Try '.help'/'.?', '.demo', '.license', '.credits', '.quit'/'.q'  |
   ------------------------------------------------------------------

root [0] TFile * f = TFile::Open("https://atlas-opendata.web.cern.ch/Legacy13TeV/2lep/MC/mc_364100.Zmumu_PTV0_70_CVetoBVeto.2lep.root")
(TFile *) 0x15576a6e0
root [1] f->ls()
TDavixFile**         https://atlas-opendata.web.cern.ch/Legacy13TeV/2lep/MC/mc_364100.Zmumu_PTV0_70_CVetoBVeto.2lep.root     
 TDavixFile*            https://atlas-opendata.web.cern.ch/Legacy13TeV/2lep/MC/mc_364100.Zmumu_PTV0_70_CVetoBVeto.2lep.root     
  KEY: TTree    mini;1  mini

What ROOT version are you using?

Best,
Zach

Thanks Zach - I also enquired on the ROOT forum and it seems that ROOT uses a specific protocol called Davix to access the URL. My local version of root and also the version LCG provides in cvmfs are both built with the cmake Davix option set to off. Adjusting that solves the problem :slight_smile:

For completeness here is discussion about the Davix issue:

and the request (now done) to add Davix to the LCG build of ROOT for Mac OS:

https://its.cern.ch/jira/browse/SPI-2653