]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/ReadITSTracks.C
AliGenSTRANGElib.cxx first commit.
[u/mrichter/AliRoot.git] / ITS / ReadITSTracks.C
1 #include "iostream.h"
2
3
4   void ReadITSTracks(Int_t evNumber1=0,Int_t evNumber2=0) {
5
6   const char *filename="itstracks.root";
7   
8   ///////////////// Dynamically link some shared libs ////////////////////////////////
9   
10   if (gClassTable->GetID("AliRun") < 0) {
11     gROOT->LoadMacro("loadlibs.C");
12     loadlibs();
13   } else {
14     delete gAlice;
15     gAlice=0;
16   }
17
18 // Connect the Root Galice file containing Geometry, Kine and Hits
19    TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject(filename);
20    if (!file) file = new TFile(filename);
21
22 //
23 //   Loop over events 
24 //
25    char tname[30];
26    for (int nev=evNumber1; nev<= evNumber2; nev++) {
27  
28
29   // for (int nev=0; nev<= evNumber2; nev++) {
30
31    sprintf(tname,"TreeT%d",nev);
32    TTree *tracktree=(TTree*)file->Get(tname);
33    TBranch *tbranch=tracktree->GetBranch("ITStracks");
34    cout<<" nev = "<<nev<<"\n";
35         //cout<<" open the file \n"; 
36         
37    Int_t nentr=tracktree->GetEntries();
38
39    TObjArray tarray(nentr);
40   // AliITSIOTrack *iotrack=0;
41    printf("nentr %d\n",nentr);
42         
43    for (Int_t i=0; i<nentr; i++) {
44       AliITSIOTrack *iotrack=new AliITSIOTrack;
45       // tarray.AddAt(new AliITSIOTrack,i);
46       // iotrack=(AliITSiotrack*)tarray.UncheckedAt(i);
47        tbranch->SetAddress(&iotrack);
48        tracktree->GetEvent(i);
49                  tarray.AddLast(iotrack);
50    }
51    //file->Close();              
52         
53           AliITSIOTrack *iotrack;
54    for (Int_t i=0; i<nentr; i++) {
55      AliITSIOTrack *iotrack=new AliITSIOTrack;          
56          iotrack=(AliITSIOTrack*)tarray.UncheckedAt(i);
57          if(!iotrack) continue;
58      Int_t label=iotrack->GetLabel();
59           Double_t phistate=iotrack->GetStatePhi();
60           Double_t tgl=iotrack->GetStateTgl();  
61           Double_t Zstate=iotrack->GetStateZ();
62           Double_t Dr=iotrack->GetStateD();               
63           Double_t C=iotrack->GetStateC();
64           
65      // cout<<" track label = "<<label<<"\n";
66      // cout<<" phi z D tanl C = "<<phistate<<" "<<Zstate<<" "<<Dr<<" "<<tgl<<" "<<C<<"\n";       
67           
68                                             
69             
70
71  /*
72        Int_t label=iotrack->GetLabel();
73        Float_t x=iotrack->GetX();
74        Float_t y=iotrack->GetY();
75        Float_t z=iotrack->GetZ();
76        printf(" i %d label x y z %d %f %f %f\n",i,label,x,y,z);
77        // delete iotrack;
78                  */
79     delete iotrack;              
80    }  
81
82    }   // event loop 
83    file->Close();   
84 }
85