X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=HLT%2Fsrc%2FAliLevel3.cxx;h=e99b32a1b931b9e7b862d24ef6b5d69a99356379;hb=95a00d93ac223c4b86b864899ed9e2b3eae26bc9;hp=6047670e1cc1c59dcfae1dd8106c4315ca7f235c;hpb=532bd2d0205125570d008dd76156139b5e013b9c;p=u%2Fmrichter%2FAliRoot.git diff --git a/HLT/src/AliLevel3.cxx b/HLT/src/AliLevel3.cxx index 6047670e1cc..e99b32a1b93 100644 --- a/HLT/src/AliLevel3.cxx +++ b/HLT/src/AliLevel3.cxx @@ -117,7 +117,7 @@ void AliLevel3::Init(){ fTransformer = new AliL3Transform(); fDoRoi = kFALSE; fDoNonVertex = kFALSE; - fClusterDeconv = kFALSE; + fClusterDeconv = kTRUE; fEta[0] = 0.; fEta[1] = 0.9; fUseBinary =kFALSE; @@ -144,7 +144,7 @@ void AliLevel3::Init(){ fRow[1][1] = 77; fRow[2][0] = 78; fRow[2][1] = 109; - fRow[3][0] = 110; + fRow[3][0] = 110; fRow[3][1] = 141; fRow[4][0] = 142; fRow[4][1] = 175; // last row @@ -201,12 +201,12 @@ AliLevel3::~AliLevel3(){ } void AliLevel3::SetTrackerParam(Int_t phi_segments, Int_t eta_segments, - Int_t trackletlength, Int_t tracklength, - Int_t rowscopetracklet, Int_t rowscopetrack, - Double_t min_pt_fit, Double_t maxangle, - Double_t goodDist, Double_t hitChi2Cut, - Double_t goodHitChi2, Double_t trackChi2Cut, - Int_t maxdist,Bool_t vertexconstraint) + Int_t trackletlength, Int_t tracklength, + Int_t rowscopetracklet, Int_t rowscopetrack, + Double_t min_pt_fit, Double_t maxangle, + Double_t goodDist, Double_t hitChi2Cut, + Double_t goodHitChi2, Double_t trackChi2Cut, + Int_t maxdist,Double_t maxphi,Double_t maxeta,Bool_t vertexconstraint) { //Set parameters input to the tracker //If no arguments are given, default parameters will be used @@ -216,7 +216,7 @@ void AliLevel3::SetTrackerParam(Int_t phi_segments, Int_t eta_segments, fTracker->SetTrackCuts(hitChi2Cut,goodHitChi2,trackChi2Cut,maxdist,vertexconstraint); fTracker->SetTrackletCuts(maxangle,goodDist,vertexconstraint); if(vertexconstraint) - fTracker->MainVertexSettings(trackletlength,tracklength,rowscopetracklet,rowscopetrack); + fTracker->MainVertexSettings(trackletlength,tracklength,rowscopetracklet,rowscopetrack,maxphi,maxeta); else fTracker->NonVertexSettings(trackletlength,tracklength,rowscopetracklet,rowscopetrack); @@ -255,11 +255,14 @@ void AliLevel3::ProcessSlice(Int_t slice){ Bool_t UseCF = kFALSE; #ifdef use_aliroot UseCF = fFileHandler->IsDigit(); +#else + if(fUseBinary) + UseCF = kTRUE; //In case you are not using aliroot #endif const Int_t maxpoints=100000; const Int_t pointsize = maxpoints * sizeof(AliL3SpacePointData); AliL3MemHandler *memory = new AliL3MemHandler(); - + fTrackMerger->Reset(); fTrackMerger->SetTransformer(fTransformer); fTrackMerger->SetRows(fRow[0]); @@ -273,15 +276,15 @@ void AliLevel3::ProcessSlice(Int_t slice){ if(UseCF){ if(fUseBinary){ if(!fDoRoi){ - if(0){ //Binary to Memory - fFileHandler->Free(); + if(1){ //Binary to Memory + fFileHandler->Free(); sprintf(name,"%sdigits_%d_%d.raw",fPath,slice,patch); - if(!fFileHandler->SetBinaryInput(name)) return; - digits= (AliL3DigitRowData *)fFileHandler->CompBinary2Memory(ndigits); + if(!fFileHandler->SetBinaryInput(name)) return; + digits= (AliL3DigitRowData *)fFileHandler->CompBinary2Memory(ndigits); fFileHandler->CloseBinaryInput(); } - if(1){ //Binary to Memory with Benchmark + if(0){ //Binary to Memory with Benchmark fFileHandler->Free(); sprintf(name,"%sdigits_%d_%d.raw",fPath,slice,patch); if(!memory->SetBinaryInput(name)) return; @@ -365,8 +368,8 @@ void AliLevel3::ProcessSlice(Int_t slice){ fClusterFinder->InitSlice(slice,patch,fRow[patch][0],fRow[patch][1] ,maxpoints); fClusterFinder->SetDeconv(fClusterDeconv); - fClusterFinder->SetXYError(0.1); - fClusterFinder->SetZError(0.2); + fClusterFinder->SetXYError(0.2); + fClusterFinder->SetZError(0.3); fClusterFinder->SetOutputArray(points); fClusterFinder->Read(ndigits,digits); fBenchmark->Start("Cluster Finder"); @@ -431,11 +434,12 @@ void AliLevel3::ProcessSlice(Int_t slice){ fTracker->ReadHits(npoints,points); fBenchmark->Stop("Tracker Read Hits"); fBenchmark->Start("MainVertexTracking A"); - fTracker->MainVertexTracking_a(); + fTracker->MainVertexTracking(); + //fTracker->MainVertexTracking_a(); fBenchmark->Stop("MainVertexTracking A"); - fBenchmark->Start("MainVertexTracking B"); - fTracker->MainVertexTracking_b(); - fBenchmark->Stop("MainVertexTracking B"); + //fBenchmark->Start("MainVertexTracking B"); + //fTracker->MainVertexTracking_b(); + //fBenchmark->Stop("MainVertexTracking B"); fBenchmark->Start("Tracking fit"); if(fDoNonVertex) fTracker->NonVertexTracking();//Do a second pass for nonvertex tracks @@ -455,15 +459,15 @@ void AliLevel3::ProcessSlice(Int_t slice){ AliL3TrackSegmentData *trackdata0 = (AliL3TrackSegmentData *) memory->Allocate(fTracker->GetTracks()); memory->TrackArray2Memory(ntracks0,trackdata0,fTracker->GetTracks()); - + /* //write tracks if(fWriteOut){ - sprintf(name,"tracks_tr_%d_%d.raw",slice,patch); + sprintf(name,"%stracks_tr_%d_%d.raw",fWriteOutPath,slice,patch); memory->SetBinaryOutput(name); memory->Memory2Binary(ntracks0,trackdata0); memory->CloseBinaryOutput(); } - + */ fInterMerger->Reset(); fInterMerger->SetTransformer(fTransformer); fInterMerger->Init(fRow[patch],patch); @@ -474,12 +478,13 @@ void AliLevel3::ProcessSlice(Int_t slice){ // fInterMerger->SlowMerge(); fBenchmark->Stop("Inter Merger"); - + /* //write inter merged tracks if(fWriteOut){ - sprintf(name,"tracks_im_%d_%d.raw",slice,patch); + sprintf(name,"%stracks_im_%d_%d.raw",fWriteOutPath,slice,patch); WriteTracks(name,fInterMerger,'i'); //write output of intermerger - } + } + */ memory->Free(); UInt_t ntracks1 =0; @@ -494,15 +499,16 @@ void AliLevel3::ProcessSlice(Int_t slice){ } fBenchmark->Start("Patch Merger"); // fTrackMerger->SlowMerge(); - fTrackMerger->AddAllTracks(); + //fTrackMerger->AddAllTracks(); fTrackMerger->Merge(); fBenchmark->Stop("Patch Merger"); + /* //write merged tracks if(fWriteOut){ - sprintf(name,"tracks_tm_%d.raw",slice); + sprintf(name,"%stracks_tm_%d.raw",fWriteOutPath,slice); WriteTracks(name,fTrackMerger,'o'); //write output of trackmerger } - + */ fTrackData = (AliL3TrackSegmentData *) fFileHandler->Allocate(fTrackMerger->GetOutTracks()); @@ -515,7 +521,7 @@ void AliLevel3::ProcessSlice(Int_t slice){ void AliLevel3::WriteSpacePoints(UInt_t npoints,AliL3SpacePointData *points, Int_t slice,Int_t patch){ char name[256]; - sprintf(name,"points_%d_%d.raw",slice,patch); + sprintf(name,"%spoints_%d_%d.raw",fWriteOutPath,slice,patch); AliL3MemHandler * memory = new AliL3MemHandler(); memory->SetBinaryOutput(name); memory->Transform(npoints,points,slice,fTransformer); @@ -548,6 +554,11 @@ Int_t AliLevel3::WriteTracks(char *filename,AliL3Merger *merger,char opt){ void AliLevel3::WriteResults() { //Write the resulting tracks to outputfile - WriteTracks("tracks.raw",fGlobalMerger,'a'); - WriteTracks("tracks_gl.raw",fGlobalMerger,'o'); + Char_t fname[256]; + sprintf(fname,"%stracks.raw",fWriteOutPath); + WriteTracks(fname,fGlobalMerger,'a'); + //WriteTracks("tracks.raw",fGlobalMerger,'a'); + sprintf(fname,"%stracks_gl.raw",fWriteOutPath); + WriteTracks(fname,fGlobalMerger,'o'); + //WriteTracks("tracks_gl.raw",fGlobalMerger,'o'); }