]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/EvTrkSelection/macros/MatchingEffPlots.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGPP / EvTrkSelection / macros / MatchingEffPlots.C
1 /*
2
3
4 gSystem->SetIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/ -I$ALICE_ROOT/include");
5 gSystem->Load("libANALYSIS");
6 gSystem->Load("libANALYSISalice");
7 .L MakeSensitivityPlots.C++g 
8  .L MatchingEffPlots.C++g
9 MatchingEffPlots()
10
11
12  */
13
14 #include "TH1D.h"
15 #include "TCanvas.h"
16 #include "TFile.h"
17 #include "THn.h"
18 #include "TList.h"
19 #include "TStyle.h"
20 #include "TLegend.h"
21 #include "TLatex.h"
22 #include "MakeSensitivityPlots.C"
23
24 const int pid = 1;      // pid = 1 —> pions, pid = 2 —> kaons, pid = 3 —> protons, pid = 5 —> unidentified
25
26 //const char
27
28 void MatchingEffPlots(){
29     
30   //gROOT->LoadMacro("ll.C");
31   //    gROOT->LoadMacro("MakeSensitivityPlots2.C++");
32   
33   // ll();
34     
35     TCanvas *c[3];
36     TCanvas *c2[3];
37     const Char_t *proj[3] = {"pT","eta","phi"};
38     
39     TH1D *data[4];
40     TH1D *mc[4];
41     
42     TH1D *ratio[4];
43     
44     char dataset[5] = "bcde";
45
46     for(Int_t i=0;i<3;i++){     //loop over the projections: pT, eta, phi
47     
48         c[i] = new TCanvas(Form("%s",proj[i]),Form("%s",proj[i]),1000,1000);
49         gStyle->SetOptStat(0);
50         c[i]->Divide(2,2);
51     
52         for(Int_t k=0;k<4;k++){     //loop over the periods: LHC10b,10c,10d,10e
53             c[i]->cd(k+1);
54             
55             TString dataFile = Form("data_LHC10%c.root",dataset[k]);
56             TString mcFile = Form("mc_LHC10%c.root",dataset[k]);
57             
58             data[k] = (TH1D*)GetITSTPCMatchingEff(dataFile/*dataFile.Data()*/,pid,i+1);
59             mc[k]   = (TH1D*)GetITSTPCMatchingEff(mcFile/*mcFile.Data()*/,pid,i+1);
60             data[k]->Draw("Ep");
61             data[k]->SetTitle(Form("LHC10%c",dataset[k]));
62             if (i==0) data[k]->GetXaxis()->SetTitle("#it{p}_{T}");
63             if (i==1) data[k]->GetXaxis()->SetTitle("#eta");
64             if (i==2) data[k]->GetXaxis()->SetTitle("#varphi");
65         
66             data[k]->SetLineColor(kRed-3);
67             mc[k]->Draw("Ep,same");
68             mc[k]->SetLineColor(kBlue-3);
69             data[k]->SetMaximum(1);
70         
71             if(i==0){
72                 gPad->SetLogx();
73             }
74         
75             if(i==1||i==0){
76                 data[k]->SetMinimum(.8);
77             }
78         
79             TLegend *leg = new TLegend(0.15,0.15,.35,0.25);
80             leg->AddEntry(data[k],"Data","f");
81             leg->AddEntry(mc[k],"MC","f");
82             leg->SetBorderSize(0);
83             leg->SetFillColor(0);
84             leg->Draw();
85         }
86         
87         c2[i] = new TCanvas(Form("ratio%s",proj[i]),Form("ratio%s",proj[i]),1000,1000);
88         gStyle->SetOptStat(0);
89         c2[i]->Divide(2,2);
90         
91         for(Int_t k=0;k<4;k++){     //loop over the periods: LHC10b,10c,10d,10e
92             c2[i]->cd(k+1);
93             
94             TString dataFile = Form("data_LHC10%c.root",dataset[k]);
95             TString mcFile = Form("mc_LHC10%c.root",dataset[k]);
96             
97             data[k] = (TH1D*)GetITSTPCMatchingEff(dataFile.Data(),pid,i+1);
98             mc[k]   = (TH1D*)GetITSTPCMatchingEff(mcFile.Data(),pid,i+1);
99             ratio[k] = (TH1D*)data[k]->Clone();
100             ratio[k]->Reset();
101             ratio[k]->Divide(data[k],mc[k],1,1);
102             ratio[k]->Draw("");
103             ratio[k]->SetTitle(Form("LHC10%c",dataset[k]));
104             if (i==0) ratio[k]->GetXaxis()->SetTitle("#it{p}_{T}");
105             if (i==1) ratio[k]->GetXaxis()->SetTitle("#eta");
106             if (i==2) ratio[k]->GetXaxis()->SetTitle("#varphi");
107             
108             ratio[k]->SetLineColor(kBlack);
109             //ratio[k]->SetMaximum(1);
110             
111             if(i==0){
112                 gPad->SetLogx();
113             }
114             
115             if(i==1||i==0){
116                 //data[k]->SetMinimum(.8);
117             }
118             
119             TLegend *leg = new TLegend(0.15,0.15,.35,0.25);
120             leg->AddEntry(ratio[k],"Data/MC","f");
121             //leg->AddEntry(mc[k],"MC","f");
122             leg->SetBorderSize(0);
123             leg->SetFillColor(0);
124             leg->Draw();
125         }
126     }
127
128         
129 }
130         
131     /*    c[i]->cd(2);
132         gStyle->SetOptStat(0);
133
134         TH1D * data_10c = GetITSTPCMatchingEff("data_LHC10c.root",pid,i+1);
135         TH1D * mc_10c   = GetITSTPCMatchingEff("mc_LHC10c.root",pid,i+1);
136         data_10c->Draw("");
137         data_10c->SetTitle("LHC10c");
138         if (i==0) data_10c->GetXaxis()->SetTitle("#it{p}_{T}");
139         if (i==1) data_10c->GetXaxis()->SetTitle("#eta");
140         if (i==2) data_10c->GetXaxis()->SetTitle("#varphi");
141         //data_10c->SetMarkerStyle(20);
142         data_10c->SetLineColor(kRed-3);
143         mc_10c->Draw("same");
144         //mc_10c->SetMarkerStyle(20);
145         mc_10c->SetLineColor(kBlue-3);
146         data_10c->SetMaximum(1);
147         
148         if(i==0){
149             gPad->SetLogx();
150         }
151         
152         if(i==1||i==0){
153             data_10c->SetMinimum(.8);
154             
155         }
156         
157         TLegend *leg = new TLegend(0.15,0.2,.35,0.3);
158         leg->AddEntry(data_10c,"Data","f");
159         leg->AddEntry(mc_10c,"MC","f");
160         leg->SetBorderSize(0);
161         gStyle->SetFillColor(0);
162         leg->Draw();
163         
164  
165         c[i]->cd(3);
166         gStyle->SetOptStat(0);
167
168         TH1D * data_10d = GetITSTPCMatchingEff("data_LHC10d.root",pid,i+1);
169         TH1D * mc_10d   = GetITSTPCMatchingEff("mc_LHC10d.root",pid,i+1);
170         data_10d->Draw("");
171         data_10d->SetTitle("LHC10d");
172         if (i==0) data_10d->GetXaxis()->SetTitle("#it{p}_{T}");
173         if (i==1) data_10d->GetXaxis()->SetTitle("#eta");
174         if (i==2) data_10d->GetXaxis()->SetTitle("#varphi");
175         //data_10d->SetMarkerStyle(20);
176         data_10d->SetLineColor(kRed-3);
177         mc_10d->Draw("same");
178         //mc_10d->SetMarkerStyle(20);
179         mc_10d->SetLineColor(kBlue-3);
180         data_10d->SetMaximum(1);
181         
182         if(i==0){
183             gPad->SetLogx();
184         }
185         
186         if(i==1||i==0){
187             data_10d->SetMinimum(.8);
188             
189         }
190         
191         TLegend *leg = new TLegend(0.15,0.2,.35,0.3);
192         leg->AddEntry(data_10d,"Data","f");
193         leg->AddEntry(mc_10d,"MC","f");
194         leg->SetBorderSize(0);
195         gStyle->SetFillColor(0);
196         leg->Draw();
197         
198
199         c[i]->cd(4);
200         gStyle->SetOptStat(0);
201
202         TH1D * data_10e = GetITSTPCMatchingEff("data_LHC10e.root",pid,i+1);
203         TH1D * mc_10e   = GetITSTPCMatchingEff("mc_LHC10e.root",pid,i+1);
204         data_10e->Draw("");
205         data_10e->SetTitle("LHC10e");
206         if (i==0) data_10e->GetXaxis()->SetTitle("#it{p}_{T}");
207         if (i==1) data_10e->GetXaxis()->SetTitle("#eta");
208         if (i==2) data_10e->GetXaxis()->SetTitle("#varphi");
209         //data_10e->SetMarkerStyle(20);
210         data_10e->SetLineColor(kRed-3);
211         mc_10e->Draw("same");
212         //mc_10e->SetMarkerStyle(20);
213         mc_10e->SetLineColor(kBlue-3);
214         data_10e->SetMaximum(1);
215         
216         if(i==0){
217             gPad->SetLogx();
218         }
219         
220         if(i==1 || i==0){
221             data_10e->SetMinimum(.8);
222             
223         }
224         
225         TLegend *leg = new TLegend(0.15,0.2,.35,0.3);
226         leg->AddEntry(data_10e,"Data","f");
227         leg->AddEntry(mc_10e,"MC","f");
228         leg->SetBorderSize(0);
229         gStyle->SetFillColor(0);
230         leg->Draw(); */
231         
232
233   /*  }
234     
235     for(Int_t i=0;i<3;i++){     //loop over the projections: pT, eta, phi
236
237         c2[i] = new TCanvas(Form("ratio%s",proj[i]),Form("ratio%s",proj[i]),1000,1000);
238         gStyle->SetOptStat(0);
239         c2[i]->Divide(2,2);
240
241     
242         for(Int_t k=0;k<4;k++){     //loop over the periods: LHC10b,10c,10d,10e
243             c2[i]->cd(k+1);
244         
245             TString dataFile = Form("data_LHC10%c.root",dataset[k]);
246             TString mcFile = Form("mc_LHC10%c.root",dataset[k]);
247         
248             data[k] = (TH1D*)GetITSTPCMatchingEff(dataFile.Data(),pid,i+1);
249             mc[k]   = (TH1D*)GetITSTPCMatchingEff(mcFile.Data(),pid,i+1);
250             ratio[k] = (TH1D*)data[k]->Clone();
251             ratio[k]->Reset();
252             ratio[k]->Divide(data[k],mc[k],1,1);
253             ratio[k]->Draw("");
254             ratio[k]->SetTitle(Form("LHC10%c",dataset[k]));
255             if (i==0) ratio[k]->GetXaxis()->SetTitle("#it{p}_{T}");
256             if (i==1) ratio[k]->GetXaxis()->SetTitle("#eta");
257             if (i==2) ratio[k]->GetXaxis()->SetTitle("#varphi");
258         
259             ratio[k]->SetLineColor(kBlack);
260             //ratio[k]->SetMaximum(1);
261         
262             if(i==0){
263                 gPad->SetLogx();
264             }
265         
266             if(i==1||i==0){
267                 //data[k]->SetMinimum(.8);
268             }
269         
270             TLegend *leg = new TLegend(0.15,0.15,.35,0.25);
271             leg->AddEntry(ratio[k],"Data/MC","f");
272             //leg->AddEntry(mc[k],"MC","f");
273             leg->SetBorderSize(0);
274             leg->SetFillColor(0);
275             leg->Draw();
276         }
277
278     
279     //for identified: only vs pT
280     
281     }
282 }*/