X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FReadAOD.C;h=991ff3e143bbdd37dc193fc41e80d75a24171b63;hb=af42ebbfb27ee0191f3850c8d33328e24c2e13de;hp=a44779eadf91dfe0b10e78821681fd192786dc4d;hpb=413906785bc2f6528f136f95e4ffbd315a34972c;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/ReadAOD.C b/STEER/ReadAOD.C index a44779eadf9..991ff3e143b 100644 --- a/STEER/ReadAOD.C +++ b/STEER/ReadAOD.C @@ -1,14 +1,27 @@ +#if !defined(__CINT__) || defined(__MAKECINT__) + +#include +#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; } }