// open input file and get the TTree
TFile inFile(fileName, "READ");
- TTree *aodTree = (TTree*)inFile.Get("AOD");
+ if (!inFile.IsOpen()) return;
- 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();
// 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();
}
// 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;
}
}