]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/exa/runtracker.C
Removed ASV version in AliL3FileHandler by another effective i/o method using index...
[u/mrichter/AliRoot.git] / HLT / exa / runtracker.C
1 // $Id$
2
3 /**
4    Run this macro for cluster finder and track follower 
5    (see steering class AliLevel3).
6    In argument path, you have to provide the path to the directory 
7    where the data files should be located. In case of reading from a rootfile, you have to
8    make a symbolic link "digitfile.root", which points to the rootfile containing AliROOT 
9    digits tree and a symbolic link "alirunfile.root" pointing to a file containing
10    the ALIROOT geometry (TPC param). RUN with ALIROOT (not ROOT) if using root files.
11 */
12
13 void runtracker(Int_t minslice=0,Int_t maxslice=35,Char_t* path="./",Int_t nevent=1,Char_t *opath="./")
14 {
15   //Set your configuration here:
16   Bool_t binary=kFALSE; //Assume input is RLE binary files, or rootfile.
17   Bool_t pileup=kFALSE; //Assume input is pileup event = non RLE binary files.
18   Int_t npatches = 1;   //Options; 1, 2 and 6.
19   Char_t trackparams[] = "SetTrackingParameters_4000bf04.C"; //Set this to correspond 
20                                                              //with mult. and BField
21   
22   //for aliroot the path should point to a file 
23   //containing the tpc geometry called alirunfile.root
24   Bool_t isinit=AliL3Transform::Init(path,!binary);
25   if(!isinit){
26     cerr << "Could not create transform settings, please check log for error messages!" << endl;
27     return;
28   }
29
30   for(Int_t ev=0; ev<nevent; ev++)
31     {
32       if(binary)
33         a = new AliLevel3();
34       else 
35         {
36           Char_t fname[1024];
37           sprintf(fname,"%s/digitfile.root",path);
38           a = new AliLevel3(fname);
39         }
40       
41       a->Init(path,binary,npatches);
42       
43       if(pileup)
44         a->DoPileup();
45       
46       gROOT->LoadMacro(trackparams);
47       SetTrackingParameters(a);
48
49 #if 0 /* little comments */
50       phi_segments = 50;   //devide the space into phi_segments and eta_segments
51       eta_segments = 100;  //to access the search of points to that area!
52       trackletlength = 3;  //number of hits a tracklet has to have
53       tracklength = 5;     //number of hits a track has to have 
54       rowscopetracklet = 2;//search range of rows for a tracklet
55       rowscopetrack = 2;   //search range of rows for a track
56       min_pt_fit = 0;      
57       maxangle = 1.31;     //maximum angle for the three point look ahead
58       goodDist = 5;        //threshold distance between two hits when building tracklets
59       maxphi=100;          //maximum phi difference for neighboring hits
60       maxeta=100;          //maximum eta difference for neighboring hits
61       hitChi2Cut = 100;    //maximum chi2 of added hit to track
62       goodHitChi2 = 20;    //stop looking for next hit to add if chi2 is less than goodHitChi2
63       trackChi2Cut = 50;   //maximum chi2 for track after final fit
64 #endif
65
66
67       //a->DoRoi();    /*do region of interest*/
68       //a->DoMc();     /*do monte carlo identification*/
69       a->WriteFiles(opath); /*enable output*/
70       
71       a->ProcessEvent(minslice,maxslice);
72       //a->DoBench("benchmark_0");
73
74       delete a;
75     }
76 }
77
78