]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/ReadAOD.C
Removing newling
[u/mrichter/AliRoot.git] / STEER / ReadAOD.C
1 #if !defined(__CINT__) || defined(__MAKECINT__)
2
3 #include <Riostream.h>
4 #include "TFile.h"
5 #include "TTree.h"
6
7 #include "AliAODEvent.h"
8 #include "AliAODHeader.h"
9 #include "AliAODVertex.h"
10 #include "AliAODTrack.h"
11 #include "AliAODCluster.h"
12
13 #endif
14
15 void ReadAOD(const char *fileName = "AliAOD.root") {
16
17   // open input file and get the TTree
18   TFile inFile(fileName, "READ");
19
20   TTree *aodTree = (TTree*)inFile.Get("aodTree");
21   AliAODEvent *ev = new AliAODEvent();
22   ev->ReadFromTree(aodTree);
23
24   // loop over events
25   Int_t nEvents = aodTree->GetEntries();
26   for (Int_t nEv = 0; nEv < nEvents; nEv++) {
27     cout << "Event: " << nEv+1 << "/" << nEvents << endl;
28
29     // read events
30     aodTree->GetEvent(nEv);
31     
32     //print event info
33     ev->GetHeader()->Print();
34
35     // loop over tracks
36     Int_t nTracks = ev->GetNTracks();
37     for (Int_t nTr = 0; nTr < nTracks; nTr++) {
38       
39       AliAODTrack *tr = ev->GetTrack(nTr);
40
41       // print track info
42       cout << nTr+1 << "/" << nTracks << ": track pt: " << tr->Pt();
43       if (tr->GetProdVertex()) {
44         cout << ", vertex z of this track: " << tr->GetProdVertex()->GetZ();
45       }
46       cout << endl;
47     }
48
49     // loop over vertices
50     Int_t nVtxs = ev->GetNVertices();
51     for (Int_t nVtx = 0; nVtx < nVtxs; nVtx++) {
52       
53       // print track info
54       cout << nVtx+1 << "/" << nVtxs << ": vertex z position: " << ev->GetVertex(nVtx)->GetZ() << endl;
55     }
56   }
57   
58   return;
59 }