Reading or writing files within ROOT requires the class TXNetFile which is found in the library libNetx.so.
This library is loaded automatically if the static method TFlle::Open() is used to open the file.
root \[2\] TFile \*f = TFile::Open("root://glast-rdr//wilko/test/basic.root") // Reading a file
If TXnetFile is used directly the library has to be loaded first:
root\[2\] .L $ROOTSYS/libNetx.so
root\[3\] TFile \*f = new TXNetFile("root://glast-rdr//wilko/test/basic.root", ,"RECREATE")) // Open a file for writing
TChain will also automatically use TXNetFile if the root files are specified using the "root://<xrootdSrv>/..." names.
The next example will chain three root files and read them from xrootd:
root\[1\] TChain \*ch = new TChain(<TreeName>)
root\[2\] ch->Add("root://<xrootdSrv>//test/testtree1.root)
root\[3\] ch->Add("root://<xrootdSrv>//test/testtree2.root)
root\[4\] ch->Add("root://<xrootdSrv>//test/testtree3.root)