]>
Commit | Line | Data |
---|---|---|
3e87ef69 | 1 | // $Id$ |
2 | ||
3 | /** | |
4 | Run this macro for cluster finder and track | |
5 | follower on pp pileup events. | |
6 | */ | |
7 | ||
8 | void runtracker_pp(Int_t trigev,Char_t* path=0,Char_t *rootfile=0,Char_t *wpath="./") | |
9 | { | |
10 | AliL3Logger l; | |
11 | l.Set(AliL3Logger::kAll); | |
12 | l.UseStdout(); | |
13 | //l.UseStream(); | |
14 | ||
15 | Char_t path_to_use[1024]; | |
16 | if(!path){ | |
17 | strcpy(path_to_use,"/prog/alice/data/V3-08-Rev-01/hijing/bfact1/rawdata/100/"); | |
18 | //strcpy(path_to_use,"/usr/local/anders/data/hg_42105_s1-3/"); | |
19 | //strcpy(path_to_use,"/tmp/data/new/hijing/bfact1/1000/rawdata/"); | |
20 | } else strcpy(path_to_use,path); | |
21 | ||
22 | if(getenv("TRANSFORMCONFIGPATH")){ | |
23 | AliL3Transform::Init(getenv("TRANSFORMCONFIGPATH")); | |
24 | } else 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 | Bool_t binary; | |
32 | ||
33 | if(!rootfile){ | |
34 | a = new AliLevel3(); | |
35 | binary = kTRUE; | |
36 | } | |
37 | else { | |
38 | a = new AliLevel3(rootfile); | |
39 | binary = kFALSE; | |
40 | } | |
41 | ||
42 | ||
43 | a->Init(path_to_use,binary,1); //set one patch (not 6) for the pileup! | |
44 | ||
45 | a->DoPileup(); // this is the difference to non pileup events!!! | |
46 | // because binary files with MC info are not compressed! | |
47 | ||
48 | gROOT->LoadMacro("SetTrackingParameters_pp.C"); | |
49 | //gROOT->LoadMacro("SetTrackingParameters_1000bf04.C"); | |
50 | SetTrackingParameters(a); | |
51 | ||
52 | #if 0 | |
53 | phi_segments = 50; //devide the space into phi_segments and eta_segments | |
54 | eta_segments = 100; //to access the search of points to that area! | |
55 | trackletlength = 3; //number of hits a tracklet has to have | |
56 | tracklength = 5; //number of hits a track has to have | |
57 | rowscopetracklet = 2;//search range of rows for a tracklet | |
58 | rowscopetrack = 2; //search range of rows for a track | |
59 | min_pt_fit = 0; | |
60 | maxangle = 1.31; //maximum angle for the three point look ahead | |
61 | goodDist = 5; //threshold distance between two hits when building tracklets | |
62 | maxphi=100; //maximum phi difference for neighboring hits | |
63 | maxeta=100; //maximum eta difference for neighboring hits | |
64 | hitChi2Cut = 100; //maximum chi2 of added hit to track | |
65 | goodHitChi2 = 20; //stop looking for next hit to add if chi2 is less than goodHitChi2 | |
66 | trackChi2Cut = 50; //maximum chi2 for track after final fit | |
67 | #endif | |
68 | ||
69 | ||
70 | //a->DoRoi(); /*do region of interest*/ | |
71 | //a->DoMc(); /*do monte carlo identification*/ | |
72 | ||
73 | Char_t Carry[1024]; | |
74 | sprintf(Carry,"mkdir -p %s/",wpath); | |
75 | gSystem->Exec(Carry); | |
76 | a->WriteFiles(wpath); /*enable output*/ | |
77 | ||
78 | a->ProcessEvent(0,35,trigev); | |
79 | //a->DoBench("benchmark_0"); | |
80 | ||
81 | delete a; | |
82 | } |