new HOWTO macros
[u/mrichter/AliRoot.git] / STAT / Macros / TestBuild.C
CommitLineData
fe476dd1 1Int_t npoints = 301;
2Int_t bsize = 10;
3
4Float_t *data0 = new Float_t[npoints*2];
5Float_t *data[2];
6data[0] = &data0[0];
7data[1] = &data0[npoints];
8Float_t dataf[] = {.54, .54};
9TKDTreeIF* TestBuild(Int_t k = 5)
10{
11 gStyle->SetOptStat(0);
12
13 for (Int_t i=0;i<npoints;i++) {
14 data[1][i]= gRandom->Gaus(.5, .1);
15 data[0][i]= gRandom->Gaus(.5, .1);
16 //data[1][i]= gRandom->Rndm();
17 //data[0][i]= gRandom->Rndm();
18 }
19 //TKDTreeIF *tree = new TKDTreeIF(npoints, 2, bsize, data);
20 //TKDSpline *spline = new TKDSpline(npoints, 2, bsize, data);
21 //spline->DrawNodes(0, 1, depth);
22 TKDInterpolator *s = new TKDInterpolator(npoints, 2, bsize, data);
23 s->DrawNodes(-1);
24 TMarker *m = new TMarker(dataf[0], dataf[1], 20);
25 m->Draw();
26 TGraph *g=new TGraph(npoints);
27 g->SetMarkerStyle(7);
28 for(int ip=0; ip<npoints; ip++) g->SetPoint(ip, data[0][ip], data[1][ip]);
29 g->Draw("p");
30
31 Int_t *index = 0x0;
32 Float_t dist;
33 s->FindNearestNeighbors(dataf, k, index, dist);
34
35 TGraph *gNN=new TGraph(k);
36 gNN->SetMarkerStyle(24);
37 gNN->SetMarkerColor(2);
38 for(int i=0; i<k; i++){
39 //printf("%d x %d y %d\n", i, index[i], index[i]);
40 gNN->SetPoint(i, data[0][index[i]], data[1][index[i]]);
41 }
42 gNN->Draw("p");
43
44 return s;
45}