]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/ITSPlotTracks.C
Access function to local momenta renamed.
[u/mrichter/AliRoot.git] / ITS / ITSPlotTracks.C
CommitLineData
d1c69928 1#include <iostream.h>
2#include <fstream.h>
3
4void ITSPlotTracks(){
5
6 ifstream in ("AliITSTra.out");
7
8 TVector DataOut(10);
9
10 ///////////////////////////////// Histograms definition ///////////////////////////////////////////
11
12
13 TH1F *hp=new TH1F("hp","PHI resolution",50,-15.,15.); hp->SetFillColor(4);
14 TH1F *hl=new TH1F("hl","LAMBDA resolution",50,-15.,15.); hl->SetFillColor(4);
15
7b3cefa3 16 // TH1F *hp=new TH1F("hp","PHI resolution",50,-5.,5.); hp->SetFillColor(4);
17 //TH1F *hl=new TH1F("hl","LAMBDA resolution",50,-5.,5.); hl->SetFillColor(4);
d1c69928 18
7b3cefa3 19 // TH1F *hpt=new TH1F("hpt","Relative Pt resolution",50,-5.,5.);
d1c69928 20 TH1F *hpt=new TH1F("hpt","Relative Pt resolution",40,-10.,10.);
21 hpt->SetFillColor(2);
22 TH1F *hd=new TH1F("hd","Impact parameter distribution ",100,0,2000);
23 hd->SetFillColor(6);
24
25 TH1F *hdr=new TH1F("hdr","Dr ",50,-1000,1000);
26 hdr->SetFillColor(kGreen);
27 TH1F *hdz=new TH1F("hdz","Dz ",50,-1000,1000);
28 hdz->SetFillColor(kBlue);
29
30 /*
31 TH1F *hdr=new TH1F("hdr","Dr ",50,-100,100);
32 hdr->SetFillColor(kGreen);
33 TH1F *hdz=new TH1F("hdz","Dz ",50,-1000,1000);
34 hdz->SetFillColor(kBlue);
35 */
36
37 TH1F *hgood=new TH1F("hgood","Good tracks",10,0,2);
7b3cefa3 38 hgood->Sumw2(); // aggiunto il 15-01-01
39 TH1F *hfound=new TH1F("hfound","Found tracks",10,0,2);
40 hfound->Sumw2(); // aggiunto il 15-01-01
41 TH1F *hfake=new TH1F("hfake","Fake tracks",10,0,2);
42 hfake->Sumw2();
d1c69928 43 TH1F *hg=new TH1F("hg","",10,0,2); //efficiency for good tracks
44 hg->SetLineColor(4); hg->SetLineWidth(2);
45 TH1F *hf=new TH1F("hf","Efficiency for fake tracks",10,0,2);
7b3cefa3 46 /*hf->SetFillColor(1); hf->SetFillStyle(3013);*/ hf->SetLineColor(4); hf->SetLineWidth(2);
d1c69928 47
48 ///////////////////////////////////////////////////////////////////////////////////////////////////
49
50 ifstream in1 ("AliITSTrag.out");
51 Double_t ptg;
52 for(;;) {
53 in1 >> ptg;
54 if( in1.eof() ) break;
55 hgood->Fill(ptg);
56 }
57 in1.close();
7b3cefa3 58
59 Int_t neglabs=0; // provvisoria
d1c69928 60 for (;;){
61 for (int r=0; r<9; r++) in>>DataOut(r);
62 if( in.eof() ) break;
63
64 Double_t ptg=DataOut(0); Double_t labITS=DataOut(1); Double_t labTPC=DataOut(2); Double_t ptperc=DataOut(3);
65 Double_t deltalam=DataOut(4); Double_t deltaphi=DataOut(5);
66 Double_t Dtot=DataOut(6); Double_t Dr=DataOut(7); Double_t Dz=DataOut(8);
67
7b3cefa3 68 if(labITS<0) neglabs++; // provvisoria
d1c69928 69 if(labITS>=0) hfound->Fill(ptg); else { hfake->Fill(ptg);}
70
71 if(labITS>=0 ) {
72 hpt->Fill(ptperc);
73 hl->Fill(deltalam);
74 hp->Fill(deltaphi);
75 hd->Fill(Dtot);
76 hdr->Fill(Dr);
77 hdz->Fill(Dz);
78 }
79 }
7b3cefa3 80
d1c69928 81
82 in.close();
83 Stat_t ngood=hgood->GetEntries(); cerr<<"Good tracks "<<ngood<<endl;
84 Stat_t nfound=hfound->GetEntries(); cerr<<"Found tracks "<<nfound<<endl;
85 Stat_t nfake=hfake->GetEntries(); cerr<<"Fake tracks "<<nfake<<endl;
86 gStyle->SetOptStat(111110);
87 gStyle->SetOptFit(1);
88 TCanvas *c1=new TCanvas("c1","",0,0,700,700);
89 TPad *p1=new TPad("p1","",0,0.5,0.5,1); p1->Draw(); hp->SetXTitle("(mrad)");
90 p1->cd(); hp->Draw(); hp->Fit("gaus"); c1->cd();
91 TPad *p2=new TPad("p2","",0.5,0.5,1,1); p2->Draw(); hl->SetXTitle("(mrad)");
92 p2->cd(); hl->Draw(); hl->Fit("gaus"); c1->cd();
93 TPad *p3=new TPad("p3","",0,0,0.5,0.5); p3->Draw(); hpt->SetXTitle("(%)");
94 p3->cd(); hpt->Draw(); hpt->Fit("gaus"); c1->cd();
95 TPad *p4=new TPad("p4","",0.5,0,1,0.5); p4->Draw(); hd->SetXTitle("(micron)");
96 p4->cd(); hd->Draw(); c1->cd();
97
98 TCanvas *c3=new TCanvas("c3","",200,200,800,500);
7b3cefa3 99 hfound->Print("all"); // aggiunto il 16-01-01
100 hgood->Print("all"); // aggiunto il 16-01-01
d1c69928 101 TPad *p7=new TPad("p7","",0,0,0.333,1); p7->Draw(); p7->cd(); hfound->Draw(); c3->cd();
102 TPad *p8=new TPad("p8","",0.333,0,0.666,1); p8->Draw(); p8->cd(); hfake->Draw(); c3->cd();
103 TPad *p9=new TPad("p9","",0.666,0,1,1); p9->Draw(); p9->cd(); hgood->Draw(); c3->cd();
104
105 TCanvas *c4=new TCanvas("c4","",300,300,800,500);
7b3cefa3 106 hg->Divide(hfound,hgood,1.,1.); //,"b");
107 hf->Divide(hfake,hgood,1.,1.); //,"b");
d1c69928 108 hg->SetMaximum(1.4);
109 hg->SetYTitle("Tracking efficiency");
110 hg->SetXTitle("Pt (GeV/c)");
7b3cefa3 111 hg->Print("all"); // aggiunto il 16-01-01
112 hg->Draw(); // to not plot the erro bars hg->Draw("histo");
d1c69928 113 TLine *line1 = new TLine(0,1.0,2,1.0); line1->SetLineStyle(4);
114 line1->Draw("same");
115 TLine *line2 = new TLine(0,0.9,2,0.9); line2->SetLineStyle(4);
7b3cefa3 116 line2->Draw("histosame");
117
d1c69928 118
119 hf->SetFillColor(1);
120 hf->SetFillStyle(3013);
121 hf->SetLineColor(2);
122 hf->SetLineWidth(2);
7b3cefa3 123 hf->Draw("same"); // to not plot the error bars hf->Draw("histosame");
124
d1c69928 125 TText *text = new TText(0.461176,0.248448,"Fake tracks");
126 text->SetTextSize(0.05);
127 text->Draw();
128 text = new TText(0.453919,1.11408,"Good tracks");
129 text->SetTextSize(0.05);
130 text->Draw();
131
132 TCanvas *c2=new TCanvas("c2","",100,100,700,400);
133 TPad *p5=new TPad("p5","",0,0,0.5,1); p5->Draw(); hdr->SetXTitle("(micron)");
134 p5->cd(); hdr->Draw(); hdr->Fit("gaus"); c2->cd();
135 TPad *p6=new TPad("p6","",0.5,0,1,1); p6->Draw(); hdz->SetXTitle("(micron)");
136 p6->cd(); hdz->Draw(); hdz->Fit("gaus"); c2->cd();
7b3cefa3 137
138 cout<<"neglabs = "<<neglabs<<"\n"; // provvisoria
d1c69928 139}