]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/exa/runtracker.C
Little bugfix.
[u/mrichter/AliRoot.git] / HLT / exa / runtracker.C
1 // $Id$
2
3 /**
4    Run this macro for cluster finder and track follower (see steering class
5    AliLevel3. 
6 */
7
8 void runtracker(int minslice,int maxslice,char* path=0,char *rootfile=0,int nevent=1)
9 {
10   AliL3Logger l;
11   l.Set(AliL3Logger::kAll);
12   l.UseStdout();
13   //l.UseStream();
14
15   char path_to_use[1024];
16   if(!path) 
17     strcpy(path_to_use,"/usr/local/anders/data/hg_42105_s1-3/");
18   //strcpy(path_to_use,"/prog/alice/data/Rawdata/6_patch/hg_1000_s1-3/");
19   //strcpy(path_to_use,"/prog/alice/data/Rawdata/6_patch/1track_s1/");
20   //strcpy(path_to_use,"/prog/alice/data/Rawdata/6_patch/pp/event_0/");
21   //strcpy(path_to_use,"/prog/alice/data/Rawdata/1_patch/pp/pileups/event_1/");
22   else strcpy(path_to_use,path);
23
24   //AliL3Transform::Init(path_to_use);  
25
26   Int_t phi_segments,eta_segments,trackletlength,tracklength;
27   Int_t rowscopetracklet,rowscopetrack;
28   Double_t min_pt_fit,maxangle,goodDist,hitChi2Cut;
29   Double_t goodHitChi2,trackChi2Cut,maxphi,maxeta;
30
31   for(Int_t ev=0; ev<nevent; ev++)
32     {
33       if(!rootfile)
34         a = new AliLevel3();
35       else
36         a = new AliLevel3(rootfile);
37
38       a->Init(path_to_use);
39
40       phi_segments = 50;   //devide the space into phi_segments and eta_segments
41       eta_segments = 100;  //to access the search of points to that area!
42       trackletlength = 3;  //number of hits a tracklet has to have
43       tracklength = 5;     //number of hits a track has to have 
44       rowscopetracklet = 2;//search range of rows for a tracklet
45       rowscopetrack = 2;   //search range of rows for a track
46       min_pt_fit = 0;      
47       maxangle = 1.31;     //maximum angle for the three point look ahead
48       goodDist = 5;        //threshold distance between two hits when building tracklets
49       maxphi=100;          //maximum phi difference for neighboring hits
50       maxeta=100;          //maximum eta difference for neighboring hits
51       hitChi2Cut = 100;    //maximum chi2 of added hit to track
52       goodHitChi2 = 20;    //stop looking for next hit to add if chi2 is less than goodHitChi2
53       trackChi2Cut = 50;   //maximum chi2 for track after final fit
54        
55       //main vertex tracking parameters:
56       a->SetTrackerParam(phi_segments,eta_segments,trackletlength,tracklength,
57                          rowscopetracklet,rowscopetrack,
58                          min_pt_fit,maxangle,goodDist,hitChi2Cut,
59                          goodHitChi2,trackChi2Cut,50,maxphi,maxeta,kTRUE);
60
61       //a->DoRoi();    /*do region of interest*/
62       //a->DoMc();     /*do monte carlo identification*/
63       a->WriteFiles(); /*enable output*/
64
65       a->ProcessEvent(minslice,maxslice);
66       //a->DoBench("benchmark_0");
67
68       delete a;
69     }
70 }
71
72