]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGUD/mcValidation/MakePlotsPath.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGUD / mcValidation / MakePlotsPath.C
1 void MakePlotsPath(const char* data_path, const char* mc_path){
2
3         printf("data = %s, mc = %s\n",data_path,mc_path);
4
5         gROOT->SetStyle("Plain");
6         gStyle->SetPalette(1);
7         gStyle->SetOptStat(0);
8         gStyle->SetPalette(1);
9         gStyle->SetCanvasColor(0);
10         gStyle->SetFrameFillColor(0);
11         gStyle->SetOptTitle(0);
12         
13         TString mc_fileName(Form("%s/histograms.root",mc_path));
14         TString data_fileName(Form("%s/histograms.root",data_path));
15         TFile* mc_file = new TFile(mc_fileName.Data());
16         TFile* data_file = new TFile(data_fileName.Data());
17
18         TString mc_fileNameEvStat(Form("%s/event_stat.root",mc_path));
19         TString data_fileNameEvStat(Form("%s/event_stat.root",data_path));
20         TFile* mc_fileEvSt = new TFile(mc_fileNameEvStat.Data());
21         TFile* data_fileEvSt = new TFile(data_fileNameEvStat.Data());
22         TDirectoryFile* mc_dir = (TDirectoryFile*)mc_fileEvSt->Get("trigger_histograms_");
23
24         // WARNING!!!! check the trigger classes for your run!!!!
25         TDirectoryFile* data_dirCINT1B = (TDirectoryFile*)data_fileEvSt->Get("trigger_histograms_+CINT1B-ABCE-NOPF-ALL");
26         TDirectoryFile* data_dirCINT1A = (TDirectoryFile*)data_fileEvSt->Get("trigger_histograms_+CINT1A-ABCE-NOPF-ALL");
27         TDirectoryFile* data_dirCINT1C = (TDirectoryFile*)data_fileEvSt->Get("trigger_histograms_+CINT1C-ABCE-NOPF-ALL");
28         TDirectoryFile* data_dirCINT1E = (TDirectoryFile*)data_fileEvSt->Get("trigger_histograms_+CINT1-E-NOPF-ALL");
29
30         // mc
31         TH2D* mc_etaPhi = (TH2D*)mc_file->Get("fEtaPhi");
32         TH1D* mc_eta = (TH1D*)mc_etaPhi->ProjectionX();
33         TH1D* mc_phi = (TH1D*)mc_etaPhi->ProjectionY();
34         TH1D* mc_phiEta1 = (TH1D*)mc_etaPhi->ProjectionY("mc_phiEta1",mc_eta->FindBin(-1.4),mc_eta->FindBin(1.4)-1);
35         TH1D* mc_phiEtaNeg = (TH1D*)mc_etaPhi->ProjectionY("mc_phiEtaNeg",mc_eta->FindBin(-1.4),mc_eta->FindBin(0)-1);
36         TH1D* mc_phiEtaPos = (TH1D*)mc_etaPhi->ProjectionY("mc_phiEtaPos",mc_eta->FindBin(0),mc_eta->FindBin(1.4)-1);
37         TH1D* mc_deltaPhi = (TH1D*)mc_file->Get("fDeltaPhi");
38         TH1D* mc_deltaTheta = (TH1D*)mc_file->Get("fDeltaTheta");
39         TH1D* mc_vtxX = (TH1D*)mc_file->Get("fVtxX");
40         TH1D* mc_vtxY = (TH1D*)mc_file->Get("fVtxY");
41         TH1D* mc_vtxZ = (TH1D*)mc_file->Get("fVtxZ");
42         TH3D* mc_vtxContributors = (TH3D*)mc_file->Get("fVtxContributors");
43         TH1D* mc_vtxXContributors = (TH1D*)mc_vtxContributors->ProjectionX();
44         TH1D* mc_vtxYContributors = (TH1D*)mc_vtxContributors->ProjectionY();
45         TH1D* mc_vtxZContributors = (TH1D*)mc_vtxContributors->ProjectionZ();
46         TH1F* mc_HistFiredBitsSPD = (TH1F*)mc_dir->Get("fHistFiredBitsSPD");
47         mc_etaPhi->SetName("mc_etaPhi");
48         mc_eta->SetName("mc_eta");
49         mc_phi->SetName("mc_phi");
50         mc_deltaPhi->SetName("mc_deltaPhi");
51         mc_deltaTheta->SetName("mc_deltaTheta");
52         mc_vtxX->SetName("mc_vtxX");
53         mc_vtxY->SetName("mc_vtxY");
54         mc_vtxZ->SetName("mc_vtxZ");
55         mc_vtxXContributors->SetName("mc_vtxXContributors");
56         mc_vtxYContributors->SetName("mc_vtxYContributors");
57         mc_vtxZContributors->SetName("mc_vtxZContributors");
58
59         // data
60         TH2D* data_etaPhi = (TH2D*)data_file->Get("fEtaPhi");
61         TH1D* data_eta = (TH1D*)data_etaPhi->ProjectionX();
62         TH1D* data_phi = (TH1D*)data_etaPhi->ProjectionY();
63         TH1D* data_phiEta1 = (TH1D*)data_etaPhi->ProjectionY("data_phiEta1",data_eta->FindBin(-1.4),data_eta->FindBin(1.4)-1);
64         TH1D* data_phiEtaNeg = (TH1D*)data_etaPhi->ProjectionY("data_phiEtaNeg",data_eta->FindBin(-1.4),data_eta->FindBin(0)-1);
65         TH1D* data_phiEtaPos = (TH1D*)data_etaPhi->ProjectionY("data_phiEtaPos",data_eta->FindBin(0),data_eta->FindBin(1.4)-1);
66         TH1D* data_deltaPhi = (TH1D*)data_file->Get("fDeltaPhi");
67         TH1D* data_deltaTheta = (TH1D*)data_file->Get("fDeltaTheta");
68         TH1D* data_vtxX = (TH1D*)data_file->Get("fVtxX");
69         TH1D* data_vtxY = (TH1D*)data_file->Get("fVtxY");
70         TH1D* data_vtxZ = (TH1D*)data_file->Get("fVtxZ");
71         TH3D* data_vtxContributors = (TH3D*)data_file->Get("fVtxContributors");
72         TH1D* data_vtxXContributors = (TH1D*)data_vtxContributors->ProjectionX();
73         TH1D* data_vtxYContributors = (TH1D*)data_vtxContributors->ProjectionY();
74         TH1D* data_vtxZContributors = (TH1D*)data_vtxContributors->ProjectionZ();
75         TH1F* data_HistFiredBitsSPDCINT1B = (TH1F*)data_dirCINT1B->Get("fHistFiredBitsSPD");
76         TH1F* data_HistFiredBitsSPDCINT1A = (TH1F*)data_dirCINT1A->Get("fHistFiredBitsSPD");
77         TH1F* data_HistFiredBitsSPDCINT1C = (TH1F*)data_dirCINT1C->Get("fHistFiredBitsSPD");
78         TH1F* data_HistFiredBitsSPDCINT1E = (TH1F*)data_dirCINT1E->Get("fHistFiredBitsSPD");
79         data_etaPhi->SetName("data_etaPhi");
80         data_eta->SetName("data_eta");
81         data_phi->SetName("data_phi");
82         data_deltaPhi->SetName("data_deltaPhi");
83         data_deltaTheta->SetName("data_deltaTheta");
84         data_vtxX->SetName("data_vtxX");
85         data_vtxY->SetName("data_vtxY");
86         data_vtxZ->SetName("data_vtxZ");
87         data_vtxXContributors->SetName("data_vtxXContributors");
88         data_vtxYContributors->SetName("data_vtxYContributors");
89         data_vtxZContributors->SetName("data_vtxZContributors");
90         mc_HistFiredBitsSPD->SetName("mc_HistFiredBitsSPD");
91         data_HistFiredBitsSPDCINT1B->SetName("data_HistFiredBitsSPDCINT1B");
92         data_HistFiredBitsSPDCINT1A->SetName("data_HistFiredBitsSPDCINT1A");
93         data_HistFiredBitsSPDCINT1C->SetName("data_HistFiredBitsSPDCINT1C");
94         data_HistFiredBitsSPDCINT1E->SetName("data_HistFiredBitsSPDCINT1E");
95
96         // ratios
97         TH1D* ratio_phi = new TH1D("ratio_phi","#phi; #phi [rad]; Ratio", 18*5,0,2*TMath::Pi());
98         TH1D* ratio_phiEta1 = new TH1D("ratio_phiEta1","#phi; #phi (|#eta|<1.4) [rad]; Ratio", 18*5,0,2*TMath::Pi() );
99         TH1D* ratio_phiEtaNeg = new TH1D("ratio_phiEtaNeg","#phi; #phi (#eta<0) [rad]; Ratio", 18*5,0,2*TMath::Pi() );
100         TH1D* ratio_phiEtaPos = new TH1D("ratio_phiEtaPos","#phi; #phi (#eta>0) [rad]; Ratio", 18*5,0,2*TMath::Pi() );
101         TH1D* ratio_deltaPhi = new TH1D("ratio_deltaPhi","#Delta#phi; #Delta #phi;Ratio", 500, -1, 1);
102         TH1D* ratio_deltaTheta = new TH1D("ratio_deltaTheta","#Delta#theta; #Delta #theta;Ratio", 500, -0.2, 0.2);
103         TH1D* ratio_vtxX = new TH1D("ratio_vtxX", "x SPD primary vertex; x [cm]; Ratio",100,-1,1);
104         TH1D* ratio_vtxY = new TH1D("ratio_vtxY", "y SPD primary vertex; y [cm]; Ratio",100,-1,1);
105         TH1D* ratio_vtxZ = new TH1D("ratio_vtxZ", "z SPD primary vertex; z [cm]; Ratio",100,-30,30);
106         TH1D* ratio_vtxXContributors = new TH1D("ratio_vtxXContributors", "x SPD primary vertex; x_{SPDvtx (N. Contributors > 0)} [cm]; Ratio",100,-1,1);
107         TH1D* ratio_vtxYContributors = new TH1D("ratio_vtxYContributors", "y SPD primary vertex; y_{SPDvtx (N. Contributors > 0)} [cm]; Ratio",100,-1,1);
108         TH1D* ratio_vtxZContributors = new TH1D("ratio_vtxZContributors", "z SPD primary vertex; z_{SPDvtx (N. Contributors > 0)} [cm]; Ratio",100,-30,30);
109         TH1D* ratio_HistFiredBitsSPD = new TH1D("ratio_HistFiredBitsSPD", "SPD GFO; chip number; Ratio",1200,-0.5,1199.5);
110
111         TCanvas* cEta = new TCanvas("cEta", "#eta", 50,50, 550, 550);
112         TCanvas* cPhi = new TCanvas("cPhi", "#phi", 50,50,550, 550);
113         TCanvas* cPhiEta1 = new TCanvas("cPhiEta1", "#phi, |#eta| < 1.4", 50,50,550, 550);
114         TCanvas* cPhiEtaNeg = new TCanvas("cPhiEtaNeg", "#phi, #eta < 0", 50,50,550, 550);
115         TCanvas* cPhiEtaPos = new TCanvas("cPhiEtaPos", "#phi, #eta > 0", 50,50,550, 550);
116         TCanvas* cDeltaPhi = new TCanvas("cDeltaPhi", "#Delta#phi", 50,50, 550, 550);
117         TCanvas* cDeltaTheta = new TCanvas("cDeltaTheta", "#Delta#theta", 50,50, 550, 550);
118         TCanvas* cvtxX = new TCanvas("cvtxX", "vtxX", 50,50,550, 550);
119         TCanvas* cvtxY = new TCanvas("cvtxY", "vtxY", 50,50,550, 550);
120         TCanvas* cvtxZ = new TCanvas("cvtxZ", "vtxZ", 50,50,550, 550);
121         TCanvas* cvtxXContributors = new TCanvas("cvtxXContributors", "vtxXContributors", 50,50,550, 550);
122         TCanvas* cvtxYContributors = new TCanvas("cvtxYContributors", "vtxYContributors", 50,50,550, 550);
123         TCanvas* cvtxZContributors = new TCanvas("cvtxZContributors", "vtxZContributors", 50,50,550, 550);
124         TCanvas* cSPDGFO = new TCanvas("cSPDGFO", "SPD GFO", 50,50,950, 550);
125         TCanvas* cratioPhi = new TCanvas("cratioPhi", "#phi", 50,50,550, 550);
126         TCanvas* cratioPhiEta1 = new TCanvas("cratioPhiEta1", "#phi, |#eta| < 1.4", 50,50,550, 550);
127         TCanvas* cratioPhiEtaNeg = new TCanvas("cratioPhiNeg", "#phi, #eta < 0", 50,50,550, 550);
128         TCanvas* cratioPhiEtaPos = new TCanvas("cratioPhiPos", "#phi, #eta > 0", 50,50,550, 550);
129         TCanvas* cratioDeltaPhi = new TCanvas("cratioDeltaPhi", "#Delta#phi", 50,50, 550, 550);
130         TCanvas* cratioDeltaTheta = new TCanvas("cratioDeltaTheta", "#Delta#theta", 50,50, 550, 550);
131         TCanvas* cratiovtxX = new TCanvas("cratiovtxX", "vtxX", 50,50,550, 550);
132         TCanvas* cratiovtxY = new TCanvas("cratiovtxY", "vtxY", 50,50,550, 550);
133         TCanvas* cratiovtxZ = new TCanvas("cratiovtxZ", "vtxZ", 50,50,550, 550);
134         TCanvas* cratiovtxXContributors = new TCanvas("cratiovtxXContributors", "vtxXContributors", 50,50,550, 550);
135         TCanvas* cratiovtxYContributors = new TCanvas("cratiovtxYContributors", "vtxYContributors", 50,50,550, 550);
136         TCanvas* cratiovtxZContributors = new TCanvas("cratiovtxZContributors", "vtxZContributors", 50,50,550, 550);
137         TCanvas* cratioSPDGFO = new TCanvas("cratioSPDGFO", "SPD GFO", 50,50,950, 550);
138
139         cEta->SetLeftMargin(0.15);
140         cEta->SetRightMargin(0.05);
141         cPhi->SetLeftMargin(0.15);
142         cPhi->SetRightMargin(0.05);
143         cPhiEta1->SetLeftMargin(0.15);
144         cPhiEta1->SetRightMargin(0.05);
145         cPhiEtaNeg->SetLeftMargin(0.15);
146         cPhiEtaNeg->SetRightMargin(0.05);
147         cPhiEtaPos->SetLeftMargin(0.15);
148         cPhiEtaPos->SetRightMargin(0.05);
149         cDeltaPhi->SetLeftMargin(0.15);
150         cDeltaPhi->SetRightMargin(0.05);
151         cDeltaTheta->SetLeftMargin(0.15);
152         cDeltaTheta->SetRightMargin(0.05);
153         cvtxX->SetLeftMargin(0.15);
154         cvtxX->SetRightMargin(0.05);
155         cvtxY->SetLeftMargin(0.15);
156         cvtxY->SetRightMargin(0.05);
157         cvtxZ->SetLeftMargin(0.15);
158         cvtxZ->SetRightMargin(0.05);
159         cvtxXContributors->SetLeftMargin(0.15);
160         cvtxXContributors->SetRightMargin(0.05);
161         cvtxYContributors->SetLeftMargin(0.15);
162         cvtxYContributors->SetRightMargin(0.05);
163         cvtxZContributors->SetLeftMargin(0.15);
164         cvtxZContributors->SetRightMargin(0.05);
165         cSPDGFO->SetLeftMargin(0.15);
166         cSPDGFO->SetRightMargin(0.05);
167
168         cratioPhi->SetLeftMargin(0.15);
169         cratioPhi->SetRightMargin(0.05);
170         cratioPhiEta1->SetLeftMargin(0.15);
171         cratioPhiEta1->SetRightMargin(0.05);
172         cratioPhiEtaNeg->SetLeftMargin(0.15);
173         cratioPhiEtaNeg->SetRightMargin(0.05);
174         cratioPhiEtaPos->SetLeftMargin(0.15);
175         cratioPhiEtaPos->SetRightMargin(0.05);
176         cratioDeltaPhi->SetLeftMargin(0.15);
177         cratioDeltaPhi->SetRightMargin(0.05);
178         cratioDeltaTheta->SetLeftMargin(0.15);
179         cratioDeltaTheta->SetRightMargin(0.05);
180         cratiovtxX->SetLeftMargin(0.15);
181         cratiovtxX->SetRightMargin(0.05);
182         cratiovtxY->SetLeftMargin(0.15);
183         cratiovtxY->SetRightMargin(0.05);
184         cratiovtxZ->SetLeftMargin(0.15);
185         cratiovtxZ->SetRightMargin(0.05);
186         cratiovtxXContributors->SetLeftMargin(0.15);
187         cratiovtxXContributors->SetRightMargin(0.05);
188         cratiovtxYContributors->SetLeftMargin(0.15);
189         cratiovtxYContributors->SetRightMargin(0.05);
190         cratiovtxZContributors->SetLeftMargin(0.15);
191         cratiovtxZContributors->SetRightMargin(0.05);
192         cratioSPDGFO->SetLeftMargin(0.15);
193         cratioSPDGFO->SetRightMargin(0.05);
194
195         cDeltaPhi->SetLogy();
196         cDeltaTheta->SetLogy();
197         cvtxX->SetLogy();
198         cvtxY->SetLogy();
199         cvtxZ->SetLogy();
200         cvtxXContributors->SetLogy();
201         cvtxYContributors->SetLogy();
202         cvtxZContributors->SetLogy();
203
204         mc_eta->SetLineColor(2);
205         mc_eta->SetLineWidth(2);
206         mc_eta->GetYaxis()->SetTitleOffset(1.6);
207         mc_eta->GetYaxis()->SetTitle("Entries");
208         mc_eta->Scale(data_eta->Integral()/mc_eta->Integral());
209         data_eta->SetLineColor(4);
210         data_eta->SetLineWidth(2);
211         data_eta->SetLineStyle(2);
212         mc_eta->SetMaximum(TMath::Max(mc_eta->GetMaximum(),data_eta->GetMaximum())*1.2);
213         cEta->cd();
214         mc_eta->Draw("hist");
215         data_eta->Draw("hist same");
216
217         mc_phi->SetLineColor(2);
218         mc_phi->SetLineWidth(2);
219         mc_phi->Scale(data_phi->Integral()/mc_phi->Integral());
220         mc_phi->GetYaxis()->SetTitleOffset(1.9);
221         mc_phi->GetYaxis()->SetTitle("Entries");
222         data_phi->SetLineColor(4);
223         data_phi->SetLineWidth(2);
224         data_phi->SetLineStyle(2);
225         mc_phi->SetMaximum(TMath::Max(mc_phi->GetMaximum(),data_phi->GetMaximum())*1.2);
226         cPhi->cd();
227         mc_phi->Draw("hist err");
228         data_phi->Draw("hist err same");
229
230         TLegend* leg = new TLegend(0.6,0.88,0.9,0.75);
231         leg->SetFillColor(0);
232         leg->AddEntry(mc_phi,Form("%s",mc_path),"L");
233         leg->AddEntry(data_phi,Form("%s",data_path),"L");
234         leg->Draw("same");
235
236         mc_phiEta1->SetLineColor(2);
237         mc_phiEta1->SetLineWidth(2);
238         mc_phiEta1->Scale(data_phiEta1->Integral()/mc_phiEta1->Integral());
239         mc_phiEta1->GetYaxis()->SetTitleOffset(1.9);
240         mc_phiEta1->GetYaxis()->SetTitle("Entries");
241         mc_phiEta1->GetXaxis()->SetTitle("#phi (|#eta|<1.4) [rad]");
242         data_phiEta1->SetLineColor(4);
243         data_phiEta1->SetLineWidth(2);
244         data_phiEta1->SetLineStyle(2);
245         mc_phiEta1->SetMaximum(TMath::Max(mc_phiEta1->GetMaximum(),data_phiEta1->GetMaximum())*1.2);
246         cPhiEta1->cd();
247         mc_phiEta1->Draw("hist err");
248         data_phiEta1->Draw("hist err same");
249
250         mc_phiEtaNeg->SetLineColor(2);
251         mc_phiEtaNeg->SetLineWidth(2);
252         mc_phiEtaNeg->Scale(data_phiEtaNeg->Integral()/mc_phiEtaNeg->Integral());
253         mc_phiEtaNeg->GetYaxis()->SetTitleOffset(1.9);
254         mc_phiEtaNeg->GetYaxis()->SetTitle("Entries");
255         mc_phiEtaNeg->GetXaxis()->SetTitle("#phi (-1.4<#eta<0) [rad]");
256         data_phiEtaNeg->SetLineColor(4);
257         data_phiEtaNeg->SetLineWidth(2);
258         data_phiEtaNeg->SetLineStyle(2);
259         mc_phiEtaNeg->SetMaximum(TMath::Max(mc_phiEtaNeg->GetMaximum(),data_phiEtaNeg->GetMaximum())*1.2);
260         cPhiEtaNeg->cd();
261         mc_phiEtaNeg->Draw("hist err");
262         data_phiEtaNeg->Draw("hist err same");
263
264         mc_phiEtaPos->SetLineColor(2);
265         mc_phiEtaPos->SetLineWidth(2);
266         mc_phiEtaPos->Scale(data_phiEtaPos->Integral()/mc_phiEtaPos->Integral());
267         mc_phiEtaPos->GetYaxis()->SetTitleOffset(1.9);
268         mc_phiEtaPos->GetYaxis()->SetTitle("Entries");
269         mc_phiEtaPos->GetXaxis()->SetTitle("#phi (0<#eta<1.4) [rad]");
270         data_phiEtaPos->SetLineColor(4);
271         data_phiEtaPos->SetLineWidth(2);
272         data_phiEtaPos->SetLineStyle(2);
273         mc_phiEtaPos->SetMaximum(TMath::Max(mc_phiEtaPos->GetMaximum(),data_phiEtaPos->GetMaximum())*1.2);
274         cPhiEtaPos->cd();
275         mc_phiEtaPos->Draw("hist err");
276         data_phiEtaPos->Draw("hist err same");
277
278         mc_deltaPhi->SetLineColor(2);
279         mc_deltaPhi->SetLineWidth(2);
280         mc_deltaPhi->GetYaxis()->SetTitleOffset(1.8);
281         mc_deltaPhi->Scale(data_deltaPhi->Integral()/mc_deltaPhi->Integral());
282         mc_deltaPhi->GetXaxis()->SetRangeUser(-0.15,0.15);
283         data_deltaPhi->SetLineColor(4);
284         data_deltaPhi->SetLineWidth(2);
285         data_deltaPhi->SetLineStyle(2);
286         mc_deltaPhi->SetMaximum(TMath::Max(mc_deltaPhi->GetMaximum(),data_deltaPhi->GetMaximum())*1.2);
287         cDeltaPhi->cd();
288         mc_deltaPhi->Draw("hist err");
289         data_deltaPhi->Draw("hist err same");
290
291         mc_deltaTheta->SetLineColor(2);
292         mc_deltaTheta->SetLineWidth(2);
293         mc_deltaTheta->GetYaxis()->SetTitleOffset(1.8);
294         mc_deltaTheta->Scale(data_deltaTheta->Integral()/mc_deltaTheta->Integral());
295         mc_deltaTheta->GetXaxis()->SetRangeUser(-0.05,0.05);
296         data_deltaTheta->SetLineColor(4);
297         data_deltaTheta->SetLineWidth(2);
298         data_deltaTheta->SetLineStyle(2);
299         mc_deltaTheta->SetMaximum(TMath::Max(mc_deltaTheta->GetMaximum(),data_deltaTheta->GetMaximum())*1.2);
300         cDeltaTheta->cd();
301         mc_deltaTheta->Draw("hist err");
302         data_deltaTheta->Draw("hist err same");
303
304         mc_vtxX->SetLineColor(2);
305         mc_vtxX->SetLineWidth(2);
306         mc_vtxX->GetYaxis()->SetTitleOffset(1.6);
307         mc_vtxX->GetYaxis()->SetTitle("Entries");
308         mc_vtxX->GetXaxis()->SetTitle("x_{SPDvtx} [cm]");
309         mc_vtxX->Scale(data_vtxX->Integral()/mc_vtxX->Integral());
310         data_vtxX->SetLineColor(4);
311         data_vtxX->SetLineWidth(2);
312         data_vtxX->SetLineStyle(2);
313         mc_vtxX->SetMaximum(TMath::Max(mc_vtxX->GetMaximum(),data_vtxX->GetMaximum())*1.2);
314         cvtxX->cd();
315         mc_vtxX->Draw("hist err");
316         data_vtxX->Draw("hist err same");
317
318         mc_vtxY->SetLineColor(2);
319         mc_vtxY->SetLineWidth(2);
320         mc_vtxY->GetYaxis()->SetTitleOffset(1.6);
321         mc_vtxY->GetYaxis()->SetTitle("Entries");
322         mc_vtxY->GetXaxis()->SetTitle("y_{SPDvtx} [cm]");
323         mc_vtxY->Scale(data_vtxY->Integral()/mc_vtxY->Integral());
324         data_vtxY->SetLineColor(4);
325         data_vtxY->SetLineWidth(2);
326         data_vtxY->SetLineStyle(2);
327         mc_vtxY->SetMaximum(TMath::Max(mc_vtxY->GetMaximum(),data_vtxY->GetMaximum())*1.2);
328         cvtxY->cd();
329         mc_vtxY->Draw("hist err");
330         data_vtxY->Draw("hist err same");
331
332         mc_vtxZ->SetLineColor(2);
333         mc_vtxZ->SetLineWidth(2);
334         mc_vtxZ->GetYaxis()->SetTitleOffset(1.6);
335         mc_vtxZ->GetYaxis()->SetTitle("Entries");
336         mc_vtxZ->GetXaxis()->SetTitle("z_{SPDvtx} [cm]");
337         mc_vtxZ->Scale(data_vtxZ->Integral()/mc_vtxZ->Integral());
338         data_vtxZ->SetLineColor(4);
339         data_vtxZ->SetLineWidth(2);
340         data_vtxZ->SetLineStyle(2);
341         mc_vtxZ->SetMaximum(TMath::Max(mc_vtxZ->GetMaximum(),data_vtxZ->GetMaximum())*1.2);
342         cvtxZ->cd();
343         mc_vtxZ->Draw("hist err");
344         data_vtxZ->Draw("hist err same");
345
346         mc_vtxXContributors->SetLineColor(2);
347         mc_vtxXContributors->SetLineWidth(2);
348         mc_vtxXContributors->GetYaxis()->SetTitleOffset(1.6);
349         mc_vtxXContributors->GetYaxis()->SetTitle("Entries");
350         mc_vtxXContributors->GetXaxis()->SetTitle("x_{SPDvtx (N. Contributors > 0)} [cm]");
351         mc_vtxXContributors->Scale(data_vtxXContributors->Integral()/mc_vtxXContributors->Integral());
352         data_vtxXContributors->SetLineColor(4);
353         data_vtxXContributors->SetLineWidth(2);
354         data_vtxXContributors->SetLineStyle(2);
355         mc_vtxXContributors->SetMaximum(TMath::Max(mc_vtxXContributors->GetMaximum(),data_vtxXContributors->GetMaximum())*1.2);
356         cvtxXContributors->cd();
357         mc_vtxXContributors->Draw("hist err");
358         data_vtxXContributors->Draw("hist err same");
359
360         mc_vtxYContributors->SetLineColor(2);
361         mc_vtxYContributors->SetLineWidth(2);
362         mc_vtxYContributors->GetYaxis()->SetTitleOffset(1.6);
363         mc_vtxYContributors->GetYaxis()->SetTitle("Entries");
364         mc_vtxYContributors->GetXaxis()->SetTitle("y_{SPDvtx (N. Contributors > 0)} [cm]");
365         mc_vtxYContributors->Scale(data_vtxYContributors->Integral()/mc_vtxYContributors->Integral());
366         data_vtxYContributors->SetLineColor(4);
367         data_vtxYContributors->SetLineWidth(2);
368         data_vtxYContributors->SetLineStyle(2);
369         mc_vtxYContributors->SetMaximum(TMath::Max(mc_vtxYContributors->GetMaximum(),data_vtxYContributors->GetMaximum())*1.2);
370         cvtxYContributors->cd();
371         mc_vtxYContributors->Draw("hist err");
372         data_vtxYContributors->Draw("hist err same");
373
374         mc_vtxZContributors->SetLineColor(2);
375         mc_vtxZContributors->SetLineWidth(2);
376         mc_vtxZContributors->GetYaxis()->SetTitleOffset(1.6);
377         mc_vtxZContributors->GetYaxis()->SetTitle("Entries");
378         mc_vtxZContributors->GetXaxis()->SetTitle("z_{SPDvtx (N. Contributors > 0)} [cm]");
379         mc_vtxZContributors->Scale(data_vtxZContributors->Integral()/mc_vtxZContributors->Integral());
380         data_vtxZContributors->SetLineColor(4);
381         data_vtxZContributors->SetLineWidth(2);
382         data_vtxZContributors->SetLineStyle(2);
383         mc_vtxZContributors->SetMaximum(TMath::Max(mc_vtxZContributors->GetMaximum(),data_vtxZContributors->GetMaximum())*1.2);
384         cvtxZContributors->cd();
385         mc_vtxZContributors->Draw("hist err");
386         data_vtxZContributors->Draw("hist err same");
387
388         mc_HistFiredBitsSPD->SetLineColor(2);
389         mc_HistFiredBitsSPD->SetLineWidth(2);
390         mc_HistFiredBitsSPD->GetYaxis()->SetTitleOffset(1.2);
391         mc_HistFiredBitsSPD->GetYaxis()->SetTitle("Entries");
392         mc_HistFiredBitsSPD->Scale(data_HistFiredBitsSPDCINT1B->Integral()/mc_HistFiredBitsSPD->Integral());
393         data_HistFiredBitsSPDCINT1B->SetLineColor(4);
394         data_HistFiredBitsSPDCINT1B->SetLineWidth(2);
395         data_HistFiredBitsSPDCINT1B->SetLineStyle(2);
396         mc_HistFiredBitsSPD->SetMaximum(TMath::Max(mc_HistFiredBitsSPD->GetMaximum(),data_HistFiredBitsSPDCINT1B->GetMaximum())*1.2);
397         cSPDGFO->cd();
398         mc_HistFiredBitsSPD->Draw("hist err");
399         data_HistFiredBitsSPDCINT1B->Draw("hist err same");
400
401         ratio_phi->SetLineWidth(2);
402         ratio_phi->Divide(mc_phi,data_phi);
403         ratio_phi->GetYaxis()->SetRangeUser(0.5,1.5);
404         ratio_phi->GetYaxis()->SetTitleOffset(1.9);
405         ratio_phi->GetYaxis()->SetTitle("Ratio");
406         cratioPhi->cd();
407         ratio_phi->Draw("hist");
408
409         TPaveText* text = new TPaveText(0.2,1,0.8,0.9,"NDC");
410         text->SetFillColor(0);
411         text->AddText(Form("%s/%s",mc_path,data_path));
412         text->Draw("same");
413
414         ratio_phiEta1->SetLineWidth(2);
415         ratio_phiEta1->Divide(mc_phiEta1,data_phiEta1);
416         ratio_phiEta1->GetYaxis()->SetRangeUser(0.5,1.5);
417         ratio_phiEta1->GetYaxis()->SetTitleOffset(1.9);
418         ratio_phiEta1->GetYaxis()->SetTitle("Ratio");
419         cratioPhiEta1->cd();
420         ratio_phiEta1->Draw("hist");
421
422         ratio_phiEtaNeg->SetLineWidth(2);
423         ratio_phiEtaNeg->Divide(mc_phiEtaNeg,data_phiEtaNeg);
424         ratio_phiEtaNeg->GetYaxis()->SetRangeUser(0.5,1.5);
425         ratio_phiEtaNeg->GetYaxis()->SetTitleOffset(1.9);
426         ratio_phiEtaNeg->GetYaxis()->SetTitle("Ratio");
427         cratioPhiEtaNeg->cd();
428         ratio_phiEtaNeg->Draw("hist");
429
430         ratio_phiEtaPos->SetLineWidth(2);
431         ratio_phiEtaPos->Divide(mc_phiEtaPos,data_phiEtaPos);
432         ratio_phiEtaPos->GetYaxis()->SetRangeUser(0.5,1.5);
433         ratio_phiEtaPos->GetYaxis()->SetTitleOffset(1.9);
434         ratio_phiEtaPos->GetYaxis()->SetTitle("Ratio");
435         cratioPhiEtaPos->cd();
436         ratio_phiEtaPos->Draw("hist");
437
438         ratio_deltaPhi->SetLineWidth(2);
439         ratio_deltaPhi->Divide(mc_deltaPhi,data_deltaPhi);
440         ratio_deltaPhi->GetYaxis()->SetRangeUser(0.5,1.5);
441         ratio_deltaPhi->GetXaxis()->SetRangeUser(-0.15,0.15);
442         ratio_deltaPhi->GetYaxis()->SetTitleOffset(1.9);
443         ratio_deltaPhi->GetYaxis()->SetTitle("Ratio");
444         cratioDeltaPhi->cd();
445         ratio_deltaPhi->Draw("hist");
446
447         ratio_deltaTheta->SetLineWidth(2);
448         ratio_deltaTheta->Divide(mc_deltaTheta,data_deltaTheta);
449         ratio_deltaTheta->GetXaxis()->SetRangeUser(-0.05,0.05);
450         ratio_deltaTheta->GetYaxis()->SetRangeUser(0.5,1.5);
451         ratio_deltaTheta->GetYaxis()->SetTitleOffset(1.9);
452         ratio_deltaTheta->GetYaxis()->SetTitle("Ratio");
453         cratioDeltaTheta->cd();
454         ratio_deltaTheta->Draw("hist");
455
456         ratio_vtxX->SetLineWidth(2);
457         ratio_vtxX->Divide(mc_vtxX,data_vtxX);
458         ratio_vtxX->GetYaxis()->SetRangeUser(0.5,1.5);
459         ratio_vtxX->GetYaxis()->SetTitleOffset(1.9);
460         ratio_vtxX->GetYaxis()->SetTitle("Ratio");
461         cratiovtxX->cd();
462         ratio_vtxX->Draw("hist");
463
464         ratio_vtxY->SetLineWidth(2);
465         ratio_vtxY->Divide(mc_vtxY,data_vtxY);
466         ratio_vtxY->GetYaxis()->SetRangeUser(0.5,1.5);
467         ratio_vtxY->GetYaxis()->SetTitleOffset(1.9);
468         ratio_vtxY->GetYaxis()->SetTitle("Ratio");
469         cratiovtxY->cd();
470         ratio_vtxY->Draw("hist");
471
472         ratio_vtxZ->SetLineWidth(2);
473         ratio_vtxZ->Divide(mc_vtxZ,data_vtxZ);
474         ratio_vtxZ->GetYaxis()->SetRangeUser(0.5,1.5);
475         ratio_vtxZ->GetYaxis()->SetTitleOffset(1.9);
476         ratio_vtxZ->GetYaxis()->SetTitle("Ratio");
477         cratiovtxZ->cd();
478         ratio_vtxZ->Draw("hist");
479
480         ratio_vtxXContributors->SetLineWidth(2);
481         ratio_vtxXContributors->Divide(mc_vtxXContributors,data_vtxXContributors);
482         ratio_vtxXContributors->GetYaxis()->SetRangeUser(0.5,1.5);
483         ratio_vtxXContributors->GetYaxis()->SetTitleOffset(1.9);
484         ratio_vtxXContributors->GetYaxis()->SetTitle("Ratio");
485         cratiovtxXContributors->cd();
486         ratio_vtxXContributors->Draw("hist");
487
488         ratio_vtxYContributors->SetLineWidth(2);
489         ratio_vtxYContributors->Divide(mc_vtxYContributors,data_vtxYContributors);
490         ratio_vtxYContributors->GetYaxis()->SetRangeUser(0.5,1.5);
491         ratio_vtxYContributors->GetYaxis()->SetTitleOffset(1.9);
492         ratio_vtxYContributors->GetYaxis()->SetTitle("Ratio");
493         cratiovtxYContributors->cd();
494         ratio_vtxYContributors->Draw("hist");
495
496         ratio_vtxZContributors->SetLineWidth(2);
497         ratio_vtxZContributors->Divide(mc_vtxZContributors,data_vtxZContributors);
498         ratio_vtxZContributors->GetYaxis()->SetRangeUser(0.5,1.5);
499         ratio_vtxZContributors->GetYaxis()->SetTitleOffset(1.9);
500         ratio_vtxZContributors->GetYaxis()->SetTitle("Ratio");
501         cratiovtxZContributors->cd();
502         ratio_vtxZContributors->Draw("hist");
503
504         ratio_HistFiredBitsSPD->SetLineWidth(2);
505         ratio_HistFiredBitsSPD->Divide(mc_HistFiredBitsSPD,data_HistFiredBitsSPDCINT1B);
506         ratio_HistFiredBitsSPD->GetYaxis()->SetRangeUser(0.5,1.5);
507         ratio_HistFiredBitsSPD->GetYaxis()->SetTitleOffset(1.9);
508         ratio_HistFiredBitsSPD->GetYaxis()->SetTitle("Ratio");
509         cratioSPDGFO->cd();
510         ratio_HistFiredBitsSPD->Draw("hist");
511
512         cEta->cd();
513         cEta->Print(Form("Plots/Plots_%s/eta.gif",mc_path));
514         cEta->Print(Form("Plots/Plots_%s/eta.eps",mc_path));
515         cPhi->cd();
516         cPhi->Print(Form("Plots/Plots_%s/phi.gif",mc_path));
517         cPhi->Print(Form("Plots/Plots_%s/phi.eps",mc_path));
518         cPhiEta1->cd();
519         cPhiEta1->Print(Form("Plots/Plots_%s/phiEta1.gif",mc_path));
520         cPhiEta1->Print(Form("Plots/Plots_%s/phiEta1.eps",mc_path));
521         cPhiEtaNeg->cd();
522         cPhiEtaNeg->Print(Form("Plots/Plots_%s/phiEtaNeg.gif",mc_path));
523         cPhiEtaNeg->Print(Form("Plots/Plots_%s/phiEtaNeg.eps",mc_path));
524         cPhiEtaPos->cd();
525         cPhiEtaPos->Print(Form("Plots/Plots_%s/phiEtaPos.gif",mc_path));
526         cPhiEtaPos->Print(Form("Plots/Plots_%s/phiEtaPos.eps",mc_path));
527         cDeltaPhi->cd();
528         cDeltaPhi->Print(Form("Plots/Plots_%s/deltaPhi.gif",mc_path));
529         cDeltaPhi->Print(Form("Plots/Plots_%s/deltaPhi.eps",mc_path));
530         cDeltaTheta->cd();
531         cDeltaTheta->Print(Form("Plots/Plots_%s/deltaTheta.gif",mc_path));
532         cDeltaTheta->Print(Form("Plots/Plots_%s/deltaTheta.eps",mc_path));
533         cvtxX->cd();
534         cvtxX->Print(Form("Plots/Plots_%s/vtxX.gif",mc_path));
535         cvtxX->Print(Form("Plots/Plots_%s/vtxX.eps",mc_path));
536         cvtxY->cd();
537         cvtxY->Print(Form("Plots/Plots_%s/vtxY.gif",mc_path));
538         cvtxY->Print(Form("Plots/Plots_%s/vtxY.eps",mc_path));
539         cvtxZ->cd();
540         cvtxZ->Print(Form("Plots/Plots_%s/vtxZ.gif",mc_path));
541         cvtxZ->Print(Form("Plots/Plots_%s/vtxZ.eps",mc_path));
542         cvtxXContributors->cd();
543         cvtxXContributors->Print(Form("Plots/Plots_%s/vtxXContributors.gif",mc_path));
544         cvtxXContributors->Print(Form("Plots/Plots_%s/vtxXContributors.eps",mc_path));
545         cvtxYContributors->cd();
546         cvtxYContributors->Print(Form("Plots/Plots_%s/vtxYContributors.gif",mc_path));
547         cvtxYContributors->Print(Form("Plots/Plots_%s/vtxYContributors.eps",mc_path));
548         cvtxZContributors->cd();
549         cvtxZContributors->Print(Form("Plots/Plots_%s/vtxZContributors.gif",mc_path));
550         cvtxZContributors->Print(Form("Plots/Plots_%s/vtxZContributors.eps",mc_path));
551         cSPDGFO->cd();
552         cSPDGFO->Print(Form("Plots/Plots_%s/SPDGFO.gif",mc_path));
553         cSPDGFO->Print(Form("Plots/Plots_%s/SPDGFO.eps",mc_path));
554
555         cratioPhi->cd();
556         cratioPhi->Print(Form("Plots/Plots_%s/ratiophi.gif",mc_path));
557         cratioPhi->Print(Form("Plots/Plots_%s/ratiophi.eps",mc_path));
558         cratioPhiEta1->cd();
559         cratioPhiEta1->Print(Form("Plots/Plots_%s/ratiophiEta1.gif",mc_path));
560         cratioPhiEta1->Print(Form("Plots/Plots_%s/ratiophiEta1.eps",mc_path));
561         cratioPhiEtaNeg->cd();
562         cratioPhiEtaNeg->Print(Form("Plots/Plots_%s/ratiophiEtaNeg.gif",mc_path));
563         cratioPhiEtaNeg->Print(Form("Plots/Plots_%s/ratiophiEtaNeg.eps",mc_path));
564         cratioPhiEtaPos->cd();
565         cratioPhiEtaPos->Print(Form("Plots/Plots_%s/ratiophiEtaPos.gif",mc_path));
566         cratioPhiEtaPos->Print(Form("Plots/Plots_%s/ratiophiEtaPos.eps",mc_path));
567         cratioDeltaPhi->cd();
568         cratioDeltaPhi->Print(Form("Plots/Plots_%s/ratiodeltaPhi.gif",mc_path));
569         cratioDeltaPhi->Print(Form("Plots/Plots_%s/ratiodeltaPhi.eps",mc_path));
570         cratioDeltaTheta->cd();
571         cratioDeltaTheta->Print(Form("Plots/Plots_%s/ratiodeltaTheta.gif",mc_path));
572         cratioDeltaTheta->Print(Form("Plots/Plots_%s/ratiodeltaTheta.eps",mc_path));
573         cratiovtxX->cd();
574         cratiovtxX->Print(Form("Plots/Plots_%s/ratiovtxX.gif",mc_path));
575         cratiovtxX->Print(Form("Plots/Plots_%s/ratiovtxX.eps",mc_path));
576         cratiovtxY->cd();
577         cratiovtxY->Print(Form("Plots/Plots_%s/ratiovtxY.gif",mc_path));
578         cratiovtxY->Print(Form("Plots/Plots_%s/ratiovtxY.eps",mc_path));
579         cratiovtxZ->cd();
580         cratiovtxZ->Print(Form("Plots/Plots_%s/ratiovtxZ.gif",mc_path));
581         cratiovtxZ->Print(Form("Plots/Plots_%s/ratiovtxZ.eps",mc_path));
582         cratiovtxXContributors->cd();
583         cratiovtxXContributors->Print(Form("Plots/Plots_%s/ratiovtxXContributors.gif",mc_path));
584         cratiovtxXContributors->Print(Form("Plots/Plots_%s/ratiovtxXContributors.eps",mc_path));
585         cratiovtxYContributors->cd();
586         cratiovtxYContributors->Print(Form("Plots/Plots_%s/ratiovtxYContributors.gif",mc_path));
587         cratiovtxYContributors->Print(Form("Plots/Plots_%s/ratiovtxYContributors.eps",mc_path));
588         cratiovtxZContributors->cd();
589         cratiovtxZContributors->Print(Form("Plots/Plots_%s/ratiovtxZContributors.gif",mc_path));
590         cratiovtxZContributors->Print(Form("Plots/Plots_%s/ratiovtxZContributors.eps",mc_path));
591         cratioSPDGFO->cd();
592         cratioSPDGFO->Print(Form("Plots/Plots_%s/ratioSPDGFO.gif",mc_path));
593         cratioSPDGFO->Print(Form("Plots/Plots_%s/ratioSPDGFO.eps",mc_path));
594
595         TFile* plotsfile = new TFile(Form("Plots/Plots_%s/plots.root",mc_path),"RECREATE");
596         mc_eta->Write();
597         mc_phi->Write();
598         mc_phiEta1->Write();
599         mc_phiEtaNeg->Write();
600         mc_phiEtaPos->Write();
601         mc_deltaPhi->Write();
602         mc_deltaTheta->Write();
603         mc_vtxX->Write();
604         mc_vtxY->Write();
605         mc_vtxZ->Write();
606         mc_vtxXContributors->Write();
607         mc_vtxYContributors->Write();
608         mc_vtxZContributors->Write();
609         mc_HistFiredBitsSPD->Write();
610         data_eta->Write();
611         data_phi->Write();
612         data_phiEta1->Write();
613         data_phiEtaNeg->Write();
614         data_phiEtaPos->Write();
615         data_deltaPhi->Write();
616         data_deltaTheta->Write();
617         data_vtxX->Write();
618         data_vtxY->Write();
619         data_vtxZ->Write();
620         data_vtxXContributors->Write();
621         data_vtxYContributors->Write();
622         data_vtxZContributors->Write();
623         data_HistFiredBitsSPDCINT1B->Write();
624         data_HistFiredBitsSPDCINT1A->Write();
625         data_HistFiredBitsSPDCINT1C->Write();
626         data_HistFiredBitsSPDCINT1E->Write();
627         ratio_phi->Write();
628         ratio_phiEta1->Write();
629         ratio_phiEtaNeg->Write();
630         ratio_phiEtaPos->Write();
631         ratio_deltaPhi->Write();
632         ratio_deltaTheta->Write();
633         ratio_vtxX->Write();
634         ratio_vtxY->Write();
635         ratio_vtxZ->Write();
636         ratio_vtxXContributors->Write();
637         ratio_vtxYContributors->Write();
638         ratio_vtxZContributors->Write();
639         ratio_HistFiredBitsSPD->Write();
640         plotsfile->Close();
641 }
642
643
644