3 /* Example macro showing the usage of the
4 cluster finder storing the space points
8 void runcf(Char_t *path)
10 AliHLTTransform::Init(path,kTRUE);
13 Char_t digitfile[1024];
14 sprintf(digitfile,"%s/digitfile.root",path);
17 AliHLTMemHandler *memory = new AliHLTMemHandler();
18 AliHLTMemHandler *out = new AliHLTMemHandler();
20 for(Int_t event=0; event<1; event++)
22 AliHLTFileHandler *file = new AliHLTFileHandler();
23 file->SetAliInput(digitfile);
24 for(Int_t slice=0; slice<=35; slice++)
26 for(Int_t patch=0; patch<6; patch++)
28 cout<<"Processing event "<<event<<" slice "<<slice<<" patch "<<patch<<endl;
29 file->Init(slice,patch);
31 UInt_t maxclusters=100000;
32 UInt_t pointsize = maxclusters*sizeof(AliHLTSpacePointData);
34 AliHLTSpacePointData *points = (AliHLTSpacePointData*)memory->Allocate(pointsize);
35 AliHLTDigitRowData *digits = (AliHLTDigitRowData*)file->AliAltroDigits2Memory(ndigits,event);
36 AliHLTClustFinderNew *cf = new AliHLTClustFinderNew();
37 //cf->SetMatchWidth(2);
38 cf->InitSlice(slice,patch,AliHLTTransform::GetFirstRow(patch),AliHLTTransform::GetLastRow(patch),maxclusters);
39 cf->SetSTDOutput(kTRUE);
42 cf->SetCalcErr(kTRUE);
43 cf->SetOutputArray(points);
44 cf->Read(ndigits,digits);
46 Int_t npoints = cf->GetNumberOfClusters();
48 sprintf(fname,"%s/points_%d_%d_%d.raw",path,event,slice,patch);
50 //Transform points into global system
51 //out->Transform(npoints,points,slice);
53 out->SetBinaryOutput(fname);
54 out->Memory2Binary(npoints,points);
55 out->CloseBinaryOutput();