]>
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) | |
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 | ||
086f41d8 | 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 | |
058d766f | 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 |