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.
13 void runtracker(Int_t minslice=0,Int_t maxslice=35,Char_t* path="./",Int_t nevent=1,Char_t *opath="./")
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
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);
26 cerr << "Could not create transform settings, please check log for error messages!" << endl;
30 for(Int_t ev=0; ev<nevent; ev++)
37 sprintf(fname,"%s/digitfile.root",path);
38 a = new AliLevel3(fname);
41 a->Init(path,binary,npatches);
46 gROOT->LoadMacro(trackparams);
47 SetTrackingParameters(a);
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
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
67 //a->DoRoi(); /*do region of interest*/
68 //a->DoMc(); /*do monte carlo identification*/
69 a->WriteFiles(opath); /*enable output*/
71 a->ProcessEvent(minslice,maxslice);
72 //a->DoBench("benchmark_0");