]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/hough/testPF.C
Added several GET-Functions, fixed bug in old config.
[u/mrichter/AliRoot.git] / HLT / hough / testPF.C
CommitLineData
35616f6f 1void testPF(char *rootfile,int patch)
2{
3 gStyle->SetOptStat(0);
4
5 Int_t xbin = 70;
6 Int_t ybin = 70;
7 Float_t xrange[2] = {-0.006 , 0.006}; //Pt 0.2->
8 //Float_t yrange[2] = {-0.17 , 0.17}; //slice 2 0.55->0.88
9 Float_t yrange[2] = {-0.26 , 0.26};// -15 - 15
10 //Float_t yrange[2] = {0.55 , 0.88}; //slice 2 0.55->0.88
11
12 TH2F *hist = new TH2F("hist","Parameter space",xbin,xrange[0],xrange[1],ybin,yrange[0],yrange[1]);
13 hist->GetXaxis()->SetTitle("#kappa [cm^{-1}]");
14 hist->GetYaxis()->SetTitle("#Phi [rad]");
15 SetTH1Options(hist);
4a134589 16
17 hist1 = new TH2F("hist1","Parameter space",xbin,xrange[0],xrange[1],ybin,yrange[0],yrange[1]);
18
35616f6f 19 Int_t xr[2] = {0,250};
20 Int_t yr[2] = {-125,125};
21
22 TH2F *raw = new TH2F("raw","",250,xr[0],xr[1],250,yr[0],yr[1]);
23 TH2F *road = new TH2F("road","",250,0,250,250,yr[0],yr[1]);
24 TH2F *peaks = new TH2F("peaks","",xbin,xrange[0],xrange[1],ybin,yrange[0],yrange[1]);
25 peaks->SetMarkerStyle(3);
26 peaks->SetMarkerColor(2);
52a2a604 27 road->SetMarkerStyle(6);
28 road->SetMarkerColor(2);
35616f6f 29
30 real_peaks = new TH2F("real_peaks","",xbin,xrange[0],xrange[1],ybin,yrange[0],yrange[1]);
31 real_peaks->SetMarkerStyle(3);
32 real_peaks->SetMarkerColor(4);
33
34 int slice = 2,n_phi_segments=30;
52a2a604 35 //double eta[2] = {0.3,0.4};
4a134589 36 double eta[2] = {0.84,0.85};
35616f6f 37
4a134589 38 a = new AliL3HoughTransformer(slice,patch,eta,1);
35616f6f 39 a->GetPixels(rootfile,raw);
40 a->InitTemplates(hist);
52a2a604 41 a->Transform2Circle(hist,3);
42
35616f6f 43 b = new AliL3HoughMaxFinder("KappaPhi");
35616f6f 44 c = new AliL3HoughEval(a);
52a2a604 45 // tracks = (AliL3TrackArray*)b->FindMaxima(hist);
4a134589 46
52a2a604 47 int n_iter=1;
4a134589 48
49
52a2a604 50 AliL3TrackArray **track_cand = new AliL3TrackArray*[n_iter];
51 for(int k=0; k<n_iter; k++)
52 {
4a134589 53 hist1->Reset();
54 a->Transform2Circle(hist1,3);
55 //track_cand[k] = (AliL3TrackArray*)b->FindPeak(hist1,3,0.95,5);
56 //track_cand[k] = (AliL3TrackArray*)b->LookInWindows(hist1,3,3,0.95,5);
57 track_cand[k] = (AliL3TrackArray*)b->FindMaxima(hist1);
58 //c->LookInsideRoad(track_cand[k],true);
52a2a604 59 }
4a134589 60 printf("found %d\n",track_cand[0]->GetNTracks());
52a2a604 61 //tracks = (AliL3TrackArray*)b->LookInWindows(hist,4,4,0.95,5);
62
63 //tracks = (AliL3TrackArray*)b->FindMaxima(hist);
64 //cout << "Found "<<tracks->GetNTracks()<<" peaks"<<endl;
65
4a134589 66
67 //for(int j=0; j<n_iter; j++)
68 for(int j=0; j<track_cand[0]->GetNTracks(); j++)
52a2a604 69 {
4a134589 70 track = (AliL3HoughTrack*)track_cand[0]->GetCheckedTrack(j);
52a2a604 71 if(!track) continue;
4a134589 72 //printf("Pt %f phi0 %f weight %d\n",track->GetPt(),track->GetPhi0(),track->GetWeight());
52a2a604 73 for(int padrow=0; padrow<174; padrow++)
74 {
75 Float_t xyz[3];
76 track->GetCrossingPoint(padrow,xyz);
77 road->Fill(xyz[0],xyz[1],1);
78 }
79 peaks->Fill(track->GetKappa(),track->GetPhi0(),1);
80 }
52a2a604 81
4a134589 82 /*
52a2a604 83 tracks = (AliL3TrackArray*)b->FindPeak(hist,3,0.95,5);
84 cout<<"NTracks after checking "<<tracks->GetNTracks()<<endl;
35616f6f 85 for(int i=0; i<tracks->GetNTracks(); i++)
86 {
87 track = (AliL3HoughTrack*)tracks->GetCheckedTrack(i);
88 peaks->Fill(track->GetKappa(),track->GetPhi0(),1);
89 if(!track) continue;
90 printf("Pt %f phi0 %f weight %d\n",track->GetPt(),track->GetPhi0(),track->GetWeight());
4a134589 91 for(int padrow=0; padrow<174; padrow++)
92 {
93 Float_t xyz[3];
94 track->GetCrossingPoint(padrow,xyz);
95 road->Fill(xyz[0],xyz[1],1);
96 }
35616f6f 97 }
4a134589 98 */
35616f6f 99
52a2a604 100 c2 = new TCanvas("c2","",900,900);
101 c2->Divide(2,2);
102 c2->cd(1);
103 raw->Draw("");
52a2a604 104 c2->cd(2);
105 raw->DrawCopy();
4a134589 106 road->Draw("same");
52a2a604 107 c2->cd(3);
35616f6f 108 hist->Draw("box");
109 peaks->Draw("same");
52a2a604 110 //real_peaks->Draw("same");
111 c2->cd(4);
112 hist->DrawCopy("lego1");
113
35616f6f 114 delete a;
115 delete b;
116 delete c;
117
118}