]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/hough/hough_mergehistos.C
Updating before easter
[u/mrichter/AliRoot.git] / HLT / hough / hough_mergehistos.C
1 void hough_mergehistos(char *rootfile)
2 {
3   gStyle->SetOptStat(0);
4   
5   Int_t xbin = 60;
6   Int_t ybin = 60;
7   Float_t xrange[2] = {-0.006 , 0.006}; //Pt 0.1->4GeV 0.006-0.006
8   //Float_t yrange[2] = {-0.17 , 0.17}; //slice 2 0.55->0.88
9   Float_t yrange[2] = {-0.26 , 0.26}; //slice 2 0.55->0.88
10   //Float_t yrange[2] = {0.55 , 0.88}; //slice 2 0.55->0.88
11
12   Int_t xr[2] = {0,250};
13   Int_t yr[2] = {-125,125};
14   TH1F *ntracks = new TH1F("ntracks","",100,0,200);
15   TH2F *raw = new TH2F("raw","",250,xr[0],xr[1],250,yr[0],yr[1]);
16   TH2F *road = new TH2F("road","",250,0,250,250,yr[0],yr[1]);
17   TH2F *fake = new TH2F("fake","",300,0,300,250,-125,125);
18   TH2F *peaks = new TH2F("peaks","",xbin,xrange[0],xrange[1],ybin,yrange[0],yrange[1]);
19   peaks->SetMarkerStyle(3);
20   peaks->SetMarkerColor(2);
21   
22   int slice = 2,patch=0,n_phi_segments=40;
23   float eta[2] = {0.3,0.4};
24   // float eta[2] = {0.04,0.05};
25   
26   AliL3HoughTransformer *a;
27   AliL3HoughMaxFinder *b = new AliL3HoughMaxFinder("KappaPsi");
28   
29   TH2F **hist = new TH2F*[5];
30   
31   for(int pat=0; pat<5; pat++)
32     {
33       a = new AliL3HoughTransformer(slice,pat,eta);
34       hist[pat] = new TH2F("hist","Parameter space",xbin,xrange[0],xrange[1],ybin,yrange[0],yrange[1]);
35       a->GetPixels(rootfile,raw);
36       a->InitTemplates(hist[pat]);
37       a->Transform2Circle(hist[pat],0);
38       //AliL3TrackArray *tracks = b->FindMaxima(hist[pat]);
39       
40       delete a;
41       
42     }
43   
44   TCanvas *c1 = new TCanvas("c1","",1000,600);
45   c1->Divide(2);
46   c1->cd(1);
47   hist[4]->DrawCopy("box");
48   c1->cd(2);
49   for(int i=0; i<4; i++)
50     {
51       hist[4]->Add(hist[i]);
52     }  
53   tracks = (AliL3TrackArray*)b->FindPeak(hist[4],3,0.95,5);
54   track = (AliL3HoughTrack*)tracks->GetCheckedTrack(0);
55   printf("Pt %f phi0 %f\n",track->GetPt(),track->GetPhi0());
56   peaks->Fill(track->GetKappa(),track->GetPhi0(),1);
57   hist[4]->Draw("box");
58   peaks->Draw("same");
59   /*
60   hist[4]->DrawCopy("box");
61   c1->cd(3);
62   hist[2]->DrawCopy("box");
63   
64   c1->cd(4);
65   hist[4]->Draw("box");
66   peaks->Draw("same");
67   */
68   delete b;
69   
70   
71   delete [] hist;
72 }