]>
Commit | Line | Data |
---|---|---|
086f41d8 | 1 | // $Id$ |
2 | ||
058d766f | 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) | |
10d756ae | 17 | //strcpy(path_to_use,"/usr/local/anders/data/hg_42105_s1-3/"); |
18 | strcpy(path_to_use,"/tmp/data/new/hijing/bfact1/1000/rawdata/"); | |
058d766f | 19 | else strcpy(path_to_use,path); |
10d756ae | 20 | |
21 | AliL3Transform::Init(path_to_use); | |
058d766f | 22 | |
23 | Int_t phi_segments,eta_segments,trackletlength,tracklength; | |
24 | Int_t rowscopetracklet,rowscopetrack; | |
25 | Double_t min_pt_fit,maxangle,goodDist,hitChi2Cut; | |
26 | Double_t goodHitChi2,trackChi2Cut,maxphi,maxeta; | |
27 | ||
28 | for(Int_t ev=0; ev<nevent; ev++) | |
29 | { | |
30 | if(!rootfile) | |
31 | a = new AliLevel3(); | |
32 | else | |
33 | a = new AliLevel3(rootfile); | |
34 | ||
35 | a->Init(path_to_use); | |
36 | ||
086f41d8 | 37 | phi_segments = 50; //devide the space into phi_segments and eta_segments |
38 | eta_segments = 100; //to access the search of points to that area! | |
39 | trackletlength = 3; //number of hits a tracklet has to have | |
40 | tracklength = 5; //number of hits a track has to have | |
41 | rowscopetracklet = 2;//search range of rows for a tracklet | |
42 | rowscopetrack = 2; //search range of rows for a track | |
43 | min_pt_fit = 0; | |
44 | maxangle = 1.31; //maximum angle for the three point look ahead | |
45 | goodDist = 5; //threshold distance between two hits when building tracklets | |
46 | maxphi=100; //maximum phi difference for neighboring hits | |
47 | maxeta=100; //maximum eta difference for neighboring hits | |
48 | hitChi2Cut = 100; //maximum chi2 of added hit to track | |
49 | goodHitChi2 = 20; //stop looking for next hit to add if chi2 is less than goodHitChi2 | |
50 | trackChi2Cut = 50; //maximum chi2 for track after final fit | |
058d766f | 51 | |
52 | //main vertex tracking parameters: | |
53 | a->SetTrackerParam(phi_segments,eta_segments,trackletlength,tracklength, | |
54 | rowscopetracklet,rowscopetrack, | |
55 | min_pt_fit,maxangle,goodDist,hitChi2Cut, | |
56 | goodHitChi2,trackChi2Cut,50,maxphi,maxeta,kTRUE); | |
57 | ||
58 | //a->DoRoi(); /*do region of interest*/ | |
59 | //a->DoMc(); /*do monte carlo identification*/ | |
60 | a->WriteFiles(); /*enable output*/ | |
61 | ||
62 | a->ProcessEvent(minslice,maxslice); | |
63 | //a->DoBench("benchmark_0"); | |
64 | ||
65 | delete a; | |
66 | } | |
67 | } | |
68 | ||
69 |