]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/ReadAOD.C
pi0 Re/Mi histograms added, pi0 parameterization set to PHOS13bcdef
[u/mrichter/AliRoot.git] / STEER / ReadAOD.C
index a44779eadf91dfe0b10e78821681fd192786dc4d..991ff3e143bbdd37dc193fc41e80d75a24171b63 100644 (file)
@@ -1,14 +1,27 @@
+#if !defined(__CINT__) || defined(__MAKECINT__)
+
+#include <Riostream.h>
+#include "TFile.h"
+#include "TTree.h"
+
+#include "AliAODEvent.h"
+#include "AliAODHeader.h"
+#include "AliAODVertex.h"
+#include "AliAODTrack.h"
+#include "AliAODCluster.h"
+
+#endif
+
 void ReadAOD(const char *fileName = "AliAOD.root") {
 
   // open input file and get the TTree
   TFile inFile(fileName, "READ");
-  TTree *aodTree = (TTree*)inFile.Get("AOD");
+  if (!inFile.IsOpen()) return;
+
+  TTree *aodTree = (TTree*)inFile.Get("aodTree");
 
-  AliAODEvent *aod = aodTree->GetUserInfo()->FindObject("AliAODEvent");
-  TIter next(aod->GetList());
-  TObject *el;
-  while(el=(TNamed*)next()) 
-    aodTree->SetBranchAddress(el->GetName(),aod->GetList()->GetObjectRef(el));
+  AliAODEvent *ev = new AliAODEvent();
+  ev->ReadFromTree(aodTree);
 
   // loop over events
   Int_t nEvents = aodTree->GetEntries();
@@ -17,27 +30,30 @@ void ReadAOD(const char *fileName = "AliAOD.root") {
 
     // read events
     aodTree->GetEvent(nEv);
-    
-    // set pointers
-    aod->GetStdContent();
 
     //print event info
-    aod->GetHeader()->Print();
+    ev->GetHeader()->Print();
 
     // loop over tracks
-    Int_t nTracks = aod->GetNTracks();
+    Int_t nTracks = ev->GetNTracks();
     for (Int_t nTr = 0; nTr < nTracks; nTr++) {
       
+      AliAODTrack *tr = ev->GetTrack(nTr);
+
       // print track info
-      cout << nTr+1 << "/" << nTracks << ": track pt: " << aod->GetTrack(nTr)->Pt() << ", vertex x of this track: " << aod->GetTrack(nTr)->GetProdVertex()->GetX() << endl;
+      cout << nTr+1 << "/" << nTracks << ": track pt: " << tr->Pt();
+      if (tr->GetProdVertex()) {
+       cout << ", vertex z of this track: " << tr->GetProdVertex()->GetZ();
+      }
+      cout << endl;
     }
 
     // loop over vertices
-    Int_t nVtxs = aod->GetNVertices();
+    Int_t nVtxs = ev->GetNVertices();
     for (Int_t nVtx = 0; nVtx < nVtxs; nVtx++) {
       
       // print track info
-      cout << nVtx+1 << "/" << nVtxs << ": vertex z position: " << aod->GetVertex(nVtx)->GetZ() << endl;
+      cout << nVtx+1 << "/" << nVtxs << ": vertex z position: " << ev->GetVertex(nVtx)->GetZ() << endl;
     }
   }