Read AOD according to new functionality (Markus)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 7 Aug 2007 21:04:53 +0000 (21:04 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 7 Aug 2007 21:04:53 +0000 (21:04 +0000)
STEER/ReadAOD.C

index d28a43e7da91189e8c62b5bfd7789343cc085909..bb6a59d74691d3b1267be9c8db8e59a3a361fbf7 100644 (file)
@@ -16,13 +16,10 @@ void ReadAOD(const char *fileName = "AliAOD.root") {
 
   // open input file and get the TTree
   TFile inFile(fileName, "READ");
-  TTree *aodTree = (TTree*)inFile.Get("AOD");
 
-  AliAODEvent *aod = (AliAODEvent*)aodTree->GetUserInfo()->FindObject("AliAODEvent");
-  TIter next(aod->GetList());
-  TObject *el;
-  while((el=(TNamed*)next())) 
-    aodTree->SetBranchAddress(el->GetName(),aod->GetList()->GetObjectRef(el));
+  TTree *aodTree = (TTree*)inFile.Get("aodTree");
+  AliAODEvent *ev = new AliAODEvent();
+  ev->ReadFromTree(aodTree);
 
   // loop over events
   Int_t nEvents = aodTree->GetEntries();
@@ -32,17 +29,14 @@ 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 = aod->GetTrack(nTr);
+      AliAODTrack *tr = ev->GetTrack(nTr);
 
       // print track info
       cout << nTr+1 << "/" << nTracks << ": track pt: " << tr->Pt();
@@ -53,11 +47,11 @@ void ReadAOD(const char *fileName = "AliAOD.root") {
     }
 
     // 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;
     }
   }