You are looking at the HTML representation of the XML format.
HTML is good for debugging, but is unsuitable for application use.
Specify the format parameter to change the output format.
To see the non HTML representation of the XML format, set format=xml.
See the complete documentation, or API help for more information.
<?xml version="1.0"?>
<api>
  <query-continue>
    <allpages gapcontinue="Recognise_SRM" />
  </query-continue>
  <query>
    <pages>
      <page pageid="2374" ns="0" title="ReadingAODBranches ExampleCode">
        <revisions>
          <rev contentformat="text/x-wiki" contentmodel="wikitext" xml:space="preserve">To read all the branches of an ATLAS AOD File
 #include &lt;TROOT.h&gt;
 #include &lt;TRFIOFile.h&gt;
 #include &lt;TFile.h&gt;
 #include &lt;TString.h&gt;
 #include &lt;TTreePerfStats.h&gt;
 #include &lt;TTree.h&gt;
 TROOT canIUseSomeRootCommands(&quot;name&quot;,&quot;title&quot;);
 int main(int argc, char *argv[]) {
 //RFIO example
 TFile *_file0 = TFile::Open(&quot;rfio://pool2.glite.ecdf.ed.ac.uk//gridstorage008/atlas/2009-11-14/AOD.065320._00159.pool.root.3.4504984.0&quot;, &quot;READ&quot;); 
 //Local (or mounted) file: 
 //TFile *_file0 = new TFile(&quot;/exports/work/physics_ifp_gridpp_pool/Test/AODClone.root.5371914.0&quot;, &quot;READ&quot;); 
 
 TTree* T= (TTree*)_file0-&gt;Get(&quot;CollectionTree&quot;);
 Long64_t nentries = T-&gt;GetEntries();
 //  Int_t cachesize=100000000;
 //  T-&gt;SetCacheSize(cachesize); 
 //  if (cachesize &gt; 0) {
 //    T-&gt;SetCacheEntryRange(0,nentries); 
 //      T-&gt;AddBranchToCache(&quot;*&quot;,kTRUE);
 //  }
 TTreePerfStats ps(&quot;ioperf&quot;,T);
 cout &lt;&lt; &quot;Total Entries: &quot; &lt;&lt; nentries &lt;&lt; endl;
 
 for (Long64_t i=0; i&lt;nentries ; i++){
    if (i%100 == 0 ){
      cout &lt;&lt; &quot;processed&quot; &lt;&lt; i &lt;&lt; &quot; entries&quot; &lt;&lt; endl; 
    }
      T-&gt;GetEntry(i);
 }
 ps.SaveAs(&quot;aodperStraightRFIO.root&quot;);
 ps.Print();
 }

Compile using the Makefile like that below.
 
 ROOTCFLAGS    = $(shell root-config --cflags)
 ROOTGLIBS     = $(shell root-config --glibs)
 CXX           = g++
 CXXFLAGS      = -g -Wall -fPIC
 LD            = g++
 LDFLAGS       = -g 
 LDFLAGS       += -m32
 CXXFLAGS      += $(ROOTCFLAGS)
 NGLIBS         = $(ROOTGLIBS) 
 NGLIBS        += -lTreePlayer
 NGLIBS        += -lEG
 NGLIBS        += -lRFIO
 GLIBS          = $(filter-out -lNew, $(NGLIBS))
 .SUFFIXES: .cc,.C
 # ================================================
 IOPerformer:  IOPerformer.o
 # -------------------------
        $(LD) $(LDFLAGS)  -o IOPerformer IOPerformer.o aod/aod.so $(GLIBS)
 .cc.o:
        $(CXX) $(CXXFLAGS) -c $&lt;


 gmake
 ./IOPerfomer 
 
Then you can view this file within Root and plot the access pattern 
 root aodperStraightRFIO.root
 root [0] ioperf.Draw()  

Making the aod shared library to link above (within root)
 TFile *f = TFile::Open(&quot;YourAODFile.root&quot;)
 f-&gt;MakeProject(&quot;aod&quot;,&quot;*&quot;,&quot;new++&quot;);

Reordering a file (within Root) 
 gSystem-&gt;Load(&quot;IOPerformer/aod/aod.so&quot;);   
 TFile *_file0 = new TFile(&quot;/scratch/wbhimji//AOD.065320._00159.pool.root.3.4504984.0&quot;, &quot;READ&quot;);
 TTree* T= (TTree*)_file0-&gt;Get(&quot;CollectionTree&quot;);
 TFile *newfile = new TFile(&quot;AODClone.root&quot;,&quot;recreate&quot;);
 TTree *newtree = T-&gt;CloneTree(-1,&quot;SortBasketsByEntry&quot;);
 newtree-&gt;Print();
 newfile-&gt;Write();</rev>
        </revisions>
      </page>
      <page pageid="1490" ns="0" title="Recipe for importing release">
        <revisions>
          <rev contentformat="text/x-wiki" contentmodel="wikitext" xml:space="preserve">[[Category:BaBar RAL Tier A Operations]]

== Installing 24.3.5e ==

Suppose we want to install 24.3.5e 

Log into a machine at SLAC to look at the set up of the release. You can log into yakut01.slac.stanford.edu

 [bbr-ral03] cd $BFROOT/dist/releases/18.6.0b

You can check to see if the release is actually based on another one by looking for the link BASE.

&lt;pre&gt;
 [bbr-ral03] /afs/slac.stanford.edu/g/babar/dist/releases/14.3.5e &gt; ls -l BASE
 lrwxr-xr-x    1 jmorris  br    51 Oct 13 06:14 BASE -&gt; /afs/slac.stanford.edu/g/babar/dist/releases/24.3.5  
&lt;/pre&gt;

You can see that it is linked to 24.3.5, so you will need this release first before importing 24.3.5e. If the link BASE does not exist then you can import 24.3.5e on it's own. As a clue, if a release ends in a letter it usually has a BASE link

So log into RAL to import the release (to build a release designed for SL4, log into lcgui01). 
&lt;pre&gt;
 ssh bfactory@babar.gridpp.rl.ac.uk
 klog bfactory 
&lt;/pre&gt;

Pick an empty AFS volume for each release 24.3.5 and 24.3.5b. If you are importing multiple architectures they should go on the same volume (i.e. SL3/4/5 shouls all go on teh same volume for a given release).

&lt;pre&gt;
[csff] $ cd $BFROOT/.vol
[csff] $ fs lq rel??
Volume Name                   Quota      Used %Used   Partition
bfactory.rel38             20971520   2903708   14%         34%
bfactory.rel39             20971520   1068181    5%         34%
bfactory.rel40             20971520         7    0%         34%
bfactory.rel41             20971520         7    0%         34%
bfactory.rel01              3145728    445899   14%         83%
 .
 .
&lt;/pre&gt;

I will use rel41. Starting the import we first import 24.3.5 which is the BASE release

&lt;pre&gt;
[csff] $ cd
[csff] $ cd .rsync
[csff] $ submitimport
Enter release to be imported:
24.3.5
Enter architecture to be imported (e.g Linux24SL3_i386_gcc323):
Linux24SL3_i386_gcc323
Enter AFS volume which the data should be written to (e.g .vol/rel01):
.vol/rel41
Enter the release (BASE) on which tag is based:
(Just press return if none);
Submitting import procedure as a batch job 1311549.csflnx353.rl.ac.uk Job submitted
&lt;/pre&gt;

In the last request from the subimport command above we just press return as 24.3.5 is the BASE release. I don't believe have to do this, but I wait till the above import is finished berfore importing the series release 24.3.5e.

Now import 24.3.5e

&lt;pre&gt;
[csff] $ cd .rsync
[csff] $ submitimport
Enter release to be imported:
24.3.5e
Enter architecture to be imported (e.g Linux24SL3_i386_gcc323):
Linux24SL3_i386_gcc323
Enter AFS volume which the data should be written to (e.g .vol/rel01):
.vol/rel41
Enter the release (BASE) on which tag is based:
(Just press return if none);
24.3.5
Submitting import procedure as a batch job 1312700.csflnx353.rl.ac.uk Job submitted     
&lt;/pre&gt;

When this import is finished you may need to check that the file setting sin SoftRelTools are correct.
&lt;pre&gt;
[csff] $ cd $BFROOT/dist/releases/24.4.2/SoftRelTools
[csff] $ chmod a+r *
&lt;/pre&gt;

You then need to setup the local settings for the location of some of the files (e.g. xrootd. tcl,...) on both 24.3.5 and 24.3.5e. For the next step you need a bfactory RAL AFS token.

&lt;pre&gt;
[csff]/afs/rl.ac.uk/bfactory/dist/releases/24.3.5% klog bfactory@rl.ac.uk
&lt;/pre&gt;

The password is the bfactory one.

For each release create a link in $BFOVERRIDE. For releases designed to be built under SL4 make a link to 24.4.2 release.

&lt;pre&gt;
&gt; cd $BFOVERRIDE
&gt;  ln -fs 24.2.1 24.3.5
&gt;  ln -fs 24.2.1 24.3.5e
&lt;/pre&gt;
(ie. 24.3.5e (new release) -&gt; 24.2.1 (last release with config changes)

This is necessary as long as SiteConfig is not up to date. 

Now run gmake siteinstall on both 24.3.5 and 24.3.5e. 

&lt;pre&gt;
[csff]~% cd $BFROOT/dist/releases/24.3.5
[csff]/afs/rl.ac.uk/bfactory/dist/releases/24.3.5% srtpath 24.3.5
Select/enter BFARCH (CR=1):
1) Linux24SL3_i386_gcc323      [prod][test][active][default]
2) Linux24RHEL3_i386_gcc323    [default2]
1

[csff]/afs/rl.ac.uk/bfactory/dist/releases/24.3.5% gmake siteinstall 
 GNU Make  version 3.79.1, Build OPTIONS = Linux24SL3_i386_gcc323-Debug-native-Objy-Optimize- Fastbuild-Ldlink2-SkipSlaclog- Static-Lstatic
 Linux csff.rl.ac.uk 2.4.21-32.0.1.ELsmp #1 SMP Wed May 25 15:42:26 CDT
 2005 i686 i686 i386 GNU/Linux  [uname -a]
 -&gt; binscripts
 -&gt; AbsBTagging.binscripts:   (Sun Oct 16 01:40:59 BST 2005)
 -&gt; AbsCalo.binscripts:   (Sun Oct 16 01:41:02 BST 2005)
 .
 .
 .
&lt;/pre&gt;

This will take a few hours to complete. Then do the same for 24.3.5e

&lt;pre&gt;
[csff]~% cd $BFROOT/dist/releases/24.3.5e
[csff]/afs/rl.ac.uk/bfactory/dist/releases/24.3.e5% srtpath 24.3.5e
Select/enter BFARCH (CR=1):
1) Linux24SL3_i386_gcc323      [prod][test][active][default]
2) Linux24RHEL3_i386_gcc323    [default2]
1

[csff]/afs/rl.ac.uk/bfactory/dist/releases/24.3.5e% gmake siteinstall 
 GNU Make  version 3.79.1, Build OPTIONS = Linux24SL3_i386_gcc323-Debug-native-Objy- Optimize-Fastbuild-Ldlink2-SkipSlaclog-Static-Lstatic
 Linux csff.rl.ac.uk 2.4.21-32.0.1.ELsmp #1 SMP Wed May 25 15:42:26 CDT
 2005 i686 i686 i386 GNU/Linux  [uname -a]
 -&gt; binscripts
 -&gt; AbsBTagging.binscripts:   (Sun Oct 16 01:40:59 BST 2005)
 -&gt; AbsCalo.binscripts:   (Sun Oct 16 01:41:02 BST 2005)
 .
 .
&lt;/pre&gt;

Then you have finished. I test the release by building a test binary say BetaMiniApp and make sure all the relevant links in /afs/rl.ac.uk/bfactory/dist/releases/24.3.5e/shlib/Linux24SL3_i386_gcc323/ldlink
are not broken.</rev>
        </revisions>
      </page>
    </pages>
  </query>
</api>