]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/exa/runtracker_pp.C
-Added protected copy constructors and assignment operators. -Public data members...
[u/mrichter/AliRoot.git] / HLT / exa / runtracker_pp.C
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 }