]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/macros/PlotITSTrackingHists.C
Updates in D+ histos and ntuples (Renu, Francesco, Elena)
[u/mrichter/AliRoot.git] / PWGPP / macros / PlotITSTrackingHists.C
1 void Test(TString fname="QAresults.root") {
2
3   TCanvas *clist;
4   Int_t cnum=1;
5   TFile *f=new TFile(fname.Data());
6   PlotITSTPCMatchingEff(f,clist,cnum);
7
8
9   return;
10 }
11 //--------------------------------------------------------------------------
12 Bool_t PlotITSTPCMatchingEff(TFile *f, TCanvas*& clist,Int_t& cnum) {
13
14   Int_t cnum=1;
15   //clist = new TCanvas[2];
16
17
18   TCanvas* cITSTPCmatch = new TCanvas("cITSTPCmatch","cITSTPCmatch",10,10,1200,600);
19   cITSTPCmatch->Divide(2,1);
20   cITSTPCmatch_1->SetGridy();
21   cITSTPCmatch_2->SetGridy();
22   cITSTPCmatch_1->SetLogx();
23   cITSTPCmatch_2->SetLogx();
24
25   clist = cITSTPCmatch;
26
27   if(!f) return kFALSE;
28
29   TList *list=0;
30   TList *listSPD=0;
31   TDirectoryFile *dir=0;
32
33   // count active SPD HSs
34   dir=(TDirectoryFile*)f->GetDirectory("SPD_Performance");
35   if(dir) listSPD = (TList*)dir->Get("coutput1");
36   if(!dir) return kFALSE;
37
38   Float_t spdFrac[2];
39   TH1F *hnHSsSPD=new TH1F("hnHSsSPD","Active HSs in SPD layers 1 and 2; layer; HSs",2,0.5,2.5);
40   if(listSPD) {
41     //listSPD->Print();
42     TH1F *hFiredChip = (TH1F*)listSPD->FindObject("hFiredChip");
43     Int_t nHSsInner=0,nHSsOuter=0;
44     for(Int_t i=0;i<400;i++) if(hFiredChip->GetBinContent(i)>0) nHSsInner++;
45     for(Int_t i=400;i<1200;i++) if(hFiredChip->GetBinContent(i)>0) nHSsOuter++;
46     nHSsInner = (Int_t)(nHSsInner/10);
47     nHSsOuter = (Int_t)(nHSsOuter/10);
48     hnHSsSPD->SetBinContent(1,nHSsInner);
49     hnHSsSPD->SetBinContent(2,nHSsOuter);
50     spdFrac[0]=(Float_t)nHSsInner/40.;
51     spdFrac[1]=(Float_t)nHSsOuter/80.;
52   }
53   TGraph *spdFrac0=new TGraph(1);
54   spdFrac0->SetPoint(0,0.08,spdFrac[0]);
55   spdFrac0->SetMarkerColor(1); spdFrac0->SetMarkerStyle(20);
56   TGraph *spdFrac1=new TGraph(1);
57   spdFrac1->SetPoint(0,0.08,spdFrac[1]);
58   spdFrac1->SetMarkerColor(1); spdFrac1->SetMarkerStyle(24);
59   TLegend *l2=new TLegend(0.1,0.62,0.5,0.93);
60   l2->SetBorderSize(1);
61   l2->AddEntry(spdFrac0,"Frac. active SPD0","p");
62   l2->AddEntry(spdFrac1,"Frac. active SPD1","p");
63
64   //
65   // Efficiencies for CENTRAL
66   //
67   dir=(TDirectoryFile*)f->GetDirectory("ITS_Performance");
68   if(dir) list = (TList*)dir->Get("cOutputITS_3500_10000");
69   if(!list) return kFALSE;
70
71   TH1F *fHistPtTPCInAcc = (TH1F*)list->FindObject("fHistPtTPCInAcc");
72   TH1F *fHistPtITSMI6InAcc = (TH1F*)list->FindObject("fHistPtITSMI6InAcc");
73   TH1F *fHistPtITSMI5InAcc = (TH1F*)list->FindObject("fHistPtITSMI5InAcc");
74   TH1F *fHistPtITSMI4InAcc = (TH1F*)list->FindObject("fHistPtITSMI4InAcc");
75   TH1F *fHistPtITSMI3InAcc = (TH1F*)list->FindObject("fHistPtITSMI3InAcc");
76   TH1F *fHistPtITSMI2InAcc = (TH1F*)list->FindObject("fHistPtITSMI2InAcc");
77   TH1F *fHistPtITSMISPDInAcc = (TH1F*)list->FindObject("fHistPtITSMISPDInAcc");
78   TH1F *fHistPtITSMIoneSPDInAcc = (TH1F*)list->FindObject("fHistPtITSMIoneSPDInAcc");
79   TH1F *fHistPtITSTPCsel = (TH1F*)list->FindObject("fHistPtITSTPCsel");
80   TH1F *fHistPtITSMIge2InAcc = (TH1F*)fHistPtITSMI6InAcc->Clone("fHistPtITSMIge2InAcc");
81   fHistPtITSMIge2InAcc->Add(fHistPtITSMI5InAcc);
82   fHistPtITSMIge2InAcc->Add(fHistPtITSMI4InAcc);
83   fHistPtITSMIge2InAcc->Add(fHistPtITSMI3InAcc);
84   fHistPtITSMIge2InAcc->Add(fHistPtITSMI2InAcc);
85
86
87   TLegend *l3=new TLegend(0.5,0.62,0.95,0.93);
88   l3->SetBorderSize(1);
89   cITSTPCmatch->cd(1);
90   fHistPtITSMIge2InAcc->SetTitle("Fraction of prolonged tracks with N ITS points: central");
91   fHistPtITSMIge2InAcc->SetYTitle("ITS+TPC / TPC");
92   fHistPtITSMIge2InAcc->Divide(fHistPtITSMIge2InAcc,fHistPtTPCInAcc,1,1,"B");
93   fHistPtITSMIge2InAcc->SetMaximum(1.6);
94   fHistPtITSMIge2InAcc->SetMinimum(0);
95   fHistPtITSMIge2InAcc->GetXaxis()->SetRangeUser(0.1,30);
96   fHistPtITSMIge2InAcc->Draw();
97   l3->AddEntry(fHistPtITSMIge2InAcc,">=2 cls","l");
98   fHistPtITSMI6InAcc->Divide(fHistPtITSMI6InAcc,fHistPtTPCInAcc,1,1,"B");
99   fHistPtITSMI6InAcc->SetLineColor(2);
100   l3->AddEntry(fHistPtITSMI6InAcc,"6 cls","l");
101   fHistPtITSMI6InAcc->Draw("same");
102   fHistPtITSMI5InAcc->Divide(fHistPtITSMI5InAcc,fHistPtTPCInAcc,1,1,"B");
103   fHistPtITSMI5InAcc->SetLineColor(3);
104   l3->AddEntry(fHistPtITSMI5InAcc,"5 cls","l");
105   fHistPtITSMI5InAcc->Draw("same");
106   fHistPtITSMI4InAcc->Divide(fHistPtITSMI4InAcc,fHistPtTPCInAcc,1,1,"B");
107   fHistPtITSMI4InAcc->SetLineColor(4);
108   l3->AddEntry(fHistPtITSMI4InAcc,"4 cls","l");
109   fHistPtITSMI4InAcc->Draw("same");
110   fHistPtITSMI3InAcc->Divide(fHistPtITSMI3InAcc,fHistPtTPCInAcc,1,1,"B");
111   fHistPtITSMI3InAcc->SetLineColor(6);
112   l3->AddEntry(fHistPtITSMI3InAcc,"3 cls","l");
113   fHistPtITSMI3InAcc->Draw("same");
114   fHistPtITSMI2InAcc->Divide(fHistPtITSMI2InAcc,fHistPtTPCInAcc,1,1,"B");
115   fHistPtITSMI2InAcc->SetLineColor(7);
116   l3->AddEntry(fHistPtITSMI2InAcc,"2 cls","l");
117   fHistPtITSMI2InAcc->Draw("same");
118   fHistPtITSMISPDInAcc->Divide(fHistPtITSMISPDInAcc,fHistPtTPCInAcc,1,1,"B");
119   fHistPtITSMISPDInAcc->SetLineColor(9);
120   l3->AddEntry(fHistPtITSMISPDInAcc,"2SPD + any","l");
121   fHistPtITSMISPDInAcc->Draw("same");
122   fHistPtITSMIoneSPDInAcc->Divide(fHistPtITSMIoneSPDInAcc,fHistPtTPCInAcc,1,1,"B");
123   fHistPtITSMIoneSPDInAcc->SetLineColor(15);
124   l3->AddEntry(fHistPtITSMIoneSPDInAcc,">=1SPD + any","l");
125   fHistPtITSMIoneSPDInAcc->Draw("same");
126   fHistPtITSTPCsel->Divide(fHistPtITSTPCsel,fHistPtTPCInAcc,1,1,"B");
127   fHistPtITSTPCsel->SetLineColor(kAzure+1);
128   l3->AddEntry(fHistPtITSTPCsel,">=1SPD + any + d_{0} cut","l");
129   fHistPtITSTPCsel->Draw("same");
130   fHistPtITSMIge2InAcc->Draw("same");
131   l3->Draw();
132   l2->Draw();
133   spdFrac0->Draw("p");
134   spdFrac1->Draw("p");
135   /*
136   if(ioValues) {
137     Int_t index,ptbin;
138     ptbin=fHistPtITSMIge2InAcc->FindBin(0.201);
139     index=2;
140     ioValues[index]=fHistPtITSMIge2InAcc->GetBinContent(ptbin);
141     ioErrors[index]=fHistPtITSMIge2InAcc->GetBinError(ptbin);
142     ptbin=fHistPtITSMIge2InAcc->FindBin(1.001);
143     index=3;
144     ioValues[index]=fHistPtITSMIge2InAcc->GetBinContent(ptbin);
145     ioErrors[index]=fHistPtITSMIge2InAcc->GetBinError(ptbin);
146     ptbin=fHistPtITSMIge2InAcc->FindBin(10.001);
147     index=4;
148     ioValues[index]=fHistPtITSMIge2InAcc->GetBinContent(ptbin);
149     ioErrors[index]=fHistPtITSMIge2InAcc->GetBinError(ptbin);
150     ptbin=fHistPtITSMI6InAcc->FindBin(0.201);
151     index=5;
152     ioValues[index]=fHistPtITSMI6InAcc->GetBinContent(ptbin);
153     ioErrors[index]=fHistPtITSMI6InAcc->GetBinError(ptbin);
154     ptbin=fHistPtITSMI6InAcc->FindBin(1.001);
155     index=6;
156     ioValues[index]=fHistPtITSMI6InAcc->GetBinContent(ptbin);
157     ioErrors[index]=fHistPtITSMI6InAcc->GetBinError(ptbin);
158     ptbin=fHistPtITSMI6InAcc->FindBin(10.001);
159     index=7;
160     ioValues[index]=fHistPtITSMI6InAcc->GetBinContent(ptbin);
161     ioErrors[index]=fHistPtITSMI6InAcc->GetBinError(ptbin);
162     ptbin=fHistPtITSMISPDInAcc->FindBin(0.201);
163     index=8;
164     ioValues[index]=fHistPtITSMISPDInAcc->GetBinContent(ptbin);
165     ioErrors[index]=fHistPtITSMISPDInAcc->GetBinError(ptbin);
166     ptbin=fHistPtITSMISPDInAcc->FindBin(1.001);
167     index=9;
168     ioValues[index]=fHistPtITSMISPDInAcc->GetBinContent(ptbin);
169     ioErrors[index]=fHistPtITSMISPDInAcc->GetBinError(ptbin);
170     ptbin=fHistPtITSMISPDInAcc->FindBin(10.001);
171     index=10;
172     ioValues[index]=fHistPtITSMISPDInAcc->GetBinContent(ptbin);
173     ioErrors[index]=fHistPtITSMISPDInAcc->GetBinError(ptbin);
174     ptbin=fHistPtITSMIoneSPDInAcc->FindBin(0.201);
175     index=11;
176     ioValues[index]=fHistPtITSMIoneSPDInAcc->GetBinContent(ptbin);
177     ioErrors[index]=fHistPtITSMIoneSPDInAcc->GetBinError(ptbin);
178     ptbin=fHistPtITSMIoneSPDInAcc->FindBin(1.001);
179     index=12;
180     ioValues[index]=fHistPtITSMIoneSPDInAcc->GetBinContent(ptbin);
181     ioErrors[index]=fHistPtITSMIoneSPDInAcc->GetBinError(ptbin);
182     ptbin=fHistPtITSMIoneSPDInAcc->FindBin(10.001);
183     index=13;
184     ioValues[index]=fHistPtITSMIoneSPDInAcc->GetBinContent(ptbin);
185     ioErrors[index]=fHistPtITSMIoneSPDInAcc->GetBinError(ptbin);
186   }
187   */
188
189
190
191   //
192   // Efficiencies for PERIPHERAL
193   //
194   dir=(TDirectoryFile*)f->GetDirectory("ITS_Performance");
195   if(dir) list = (TList*)dir->Get("cOutputITS_70_310");
196   if(!list) return kFALSE;
197
198   TH1F *fHistPtTPCInAcc = (TH1F*)list->FindObject("fHistPtTPCInAcc");
199   TH1F *fHistPtITSMI6InAcc = (TH1F*)list->FindObject("fHistPtITSMI6InAcc");
200   TH1F *fHistPtITSMI5InAcc = (TH1F*)list->FindObject("fHistPtITSMI5InAcc");
201   TH1F *fHistPtITSMI4InAcc = (TH1F*)list->FindObject("fHistPtITSMI4InAcc");
202   TH1F *fHistPtITSMI3InAcc = (TH1F*)list->FindObject("fHistPtITSMI3InAcc");
203   TH1F *fHistPtITSMI2InAcc = (TH1F*)list->FindObject("fHistPtITSMI2InAcc");
204   TH1F *fHistPtITSMISPDInAcc = (TH1F*)list->FindObject("fHistPtITSMISPDInAcc");
205   TH1F *fHistPtITSMIoneSPDInAcc = (TH1F*)list->FindObject("fHistPtITSMIoneSPDInAcc");
206   TH1F *fHistPtITSTPCsel = (TH1F*)list->FindObject("fHistPtITSTPCsel");
207   TH1F *fHistPtITSMIge2InAcc = (TH1F*)fHistPtITSMI6InAcc->Clone("fHistPtITSMIge2InAcc");
208   fHistPtITSMIge2InAcc->Add(fHistPtITSMI5InAcc);
209   fHistPtITSMIge2InAcc->Add(fHistPtITSMI4InAcc);
210   fHistPtITSMIge2InAcc->Add(fHistPtITSMI3InAcc);
211   fHistPtITSMIge2InAcc->Add(fHistPtITSMI2InAcc);
212
213
214   cITSTPCmatch->cd(2);
215   fHistPtITSMIge2InAcc->SetTitle("Fraction of prolonged tracks with N ITS points: peripheral");
216   fHistPtITSMIge2InAcc->SetYTitle("ITS+TPC / TPC");
217   fHistPtITSMIge2InAcc->Divide(fHistPtITSMIge2InAcc,fHistPtTPCInAcc,1,1,"B");
218   fHistPtITSMIge2InAcc->SetMaximum(1.6);
219   fHistPtITSMIge2InAcc->SetMinimum(0);
220   fHistPtITSMIge2InAcc->GetXaxis()->SetRangeUser(0.1,30);
221   fHistPtITSMIge2InAcc->Draw();
222   fHistPtITSMI6InAcc->Divide(fHistPtITSMI6InAcc,fHistPtTPCInAcc,1,1,"B");
223   fHistPtITSMI6InAcc->SetLineColor(2);
224   fHistPtITSMI6InAcc->Draw("same");
225   fHistPtITSMI5InAcc->Divide(fHistPtITSMI5InAcc,fHistPtTPCInAcc,1,1,"B");
226   fHistPtITSMI5InAcc->SetLineColor(3);
227   fHistPtITSMI5InAcc->Draw("same");
228   fHistPtITSMI4InAcc->Divide(fHistPtITSMI4InAcc,fHistPtTPCInAcc,1,1,"B");
229   fHistPtITSMI4InAcc->SetLineColor(4);
230   fHistPtITSMI4InAcc->Draw("same");
231   fHistPtITSMI3InAcc->Divide(fHistPtITSMI3InAcc,fHistPtTPCInAcc,1,1,"B");
232   fHistPtITSMI3InAcc->SetLineColor(6);
233   fHistPtITSMI3InAcc->Draw("same");
234   fHistPtITSMI2InAcc->Divide(fHistPtITSMI2InAcc,fHistPtTPCInAcc,1,1,"B");
235   fHistPtITSMI2InAcc->SetLineColor(7);
236   fHistPtITSMI2InAcc->Draw("same");
237   fHistPtITSMISPDInAcc->Divide(fHistPtITSMISPDInAcc,fHistPtTPCInAcc,1,1,"B");
238   fHistPtITSMISPDInAcc->SetLineColor(9);
239   fHistPtITSMISPDInAcc->Draw("same");
240   fHistPtITSMIoneSPDInAcc->Divide(fHistPtITSMIoneSPDInAcc,fHistPtTPCInAcc,1,1,"B");
241   fHistPtITSMIoneSPDInAcc->SetLineColor(15);
242   fHistPtITSMIoneSPDInAcc->Draw("same");
243   fHistPtITSTPCsel->Divide(fHistPtITSTPCsel,fHistPtTPCInAcc,1,1,"B");
244   fHistPtITSTPCsel->SetLineColor(kAzure+1);
245   fHistPtITSTPCsel->Draw("same");
246   fHistPtITSMIge2InAcc->Draw("same");
247   l3->Draw();
248   l2->Draw();
249   spdFrac0->Draw("p");
250   spdFrac1->Draw("p");
251   /*
252   if(ioValues) {
253     Int_t index,ptbin;
254     ptbin=fHistPtITSMIge2InAcc->FindBin(0.201);
255     index=2;
256     ioValues[index]=fHistPtITSMIge2InAcc->GetBinContent(ptbin);
257     ioErrors[index]=fHistPtITSMIge2InAcc->GetBinError(ptbin);
258     ptbin=fHistPtITSMIge2InAcc->FindBin(1.001);
259     index=3;
260     ioValues[index]=fHistPtITSMIge2InAcc->GetBinContent(ptbin);
261     ioErrors[index]=fHistPtITSMIge2InAcc->GetBinError(ptbin);
262     ptbin=fHistPtITSMIge2InAcc->FindBin(10.001);
263     index=4;
264     ioValues[index]=fHistPtITSMIge2InAcc->GetBinContent(ptbin);
265     ioErrors[index]=fHistPtITSMIge2InAcc->GetBinError(ptbin);
266     ptbin=fHistPtITSMI6InAcc->FindBin(0.201);
267     index=5;
268     ioValues[index]=fHistPtITSMI6InAcc->GetBinContent(ptbin);
269     ioErrors[index]=fHistPtITSMI6InAcc->GetBinError(ptbin);
270     ptbin=fHistPtITSMI6InAcc->FindBin(1.001);
271     index=6;
272     ioValues[index]=fHistPtITSMI6InAcc->GetBinContent(ptbin);
273     ioErrors[index]=fHistPtITSMI6InAcc->GetBinError(ptbin);
274     ptbin=fHistPtITSMI6InAcc->FindBin(10.001);
275     index=7;
276     ioValues[index]=fHistPtITSMI6InAcc->GetBinContent(ptbin);
277     ioErrors[index]=fHistPtITSMI6InAcc->GetBinError(ptbin);
278     ptbin=fHistPtITSMISPDInAcc->FindBin(0.201);
279     index=8;
280     ioValues[index]=fHistPtITSMISPDInAcc->GetBinContent(ptbin);
281     ioErrors[index]=fHistPtITSMISPDInAcc->GetBinError(ptbin);
282     ptbin=fHistPtITSMISPDInAcc->FindBin(1.001);
283     index=9;
284     ioValues[index]=fHistPtITSMISPDInAcc->GetBinContent(ptbin);
285     ioErrors[index]=fHistPtITSMISPDInAcc->GetBinError(ptbin);
286     ptbin=fHistPtITSMISPDInAcc->FindBin(10.001);
287     index=10;
288     ioValues[index]=fHistPtITSMISPDInAcc->GetBinContent(ptbin);
289     ioErrors[index]=fHistPtITSMISPDInAcc->GetBinError(ptbin);
290     ptbin=fHistPtITSMIoneSPDInAcc->FindBin(0.201);
291     index=11;
292     ioValues[index]=fHistPtITSMIoneSPDInAcc->GetBinContent(ptbin);
293     ioErrors[index]=fHistPtITSMIoneSPDInAcc->GetBinError(ptbin);
294     ptbin=fHistPtITSMIoneSPDInAcc->FindBin(1.001);
295     index=12;
296     ioValues[index]=fHistPtITSMIoneSPDInAcc->GetBinContent(ptbin);
297     ioErrors[index]=fHistPtITSMIoneSPDInAcc->GetBinError(ptbin);
298     ptbin=fHistPtITSMIoneSPDInAcc->FindBin(10.001);
299     index=13;
300     ioValues[index]=fHistPtITSMIoneSPDInAcc->GetBinContent(ptbin);
301     ioErrors[index]=fHistPtITSMIoneSPDInAcc->GetBinError(ptbin);
302   }
303   */
304
305
306
307   return kTRUE;
308 }
309
310 Bool_t PlotITSTrackingHists(TString fname="ITS.Performance.root",
311                             Float_t *ioValues=0,Float_t *ioErrors=0) 
312 {
313   //
314   // Macro to plot the histos from the task AliAnalysisTaskITSTrackingCheck
315   // A. Dainese 28.11.09
316   // 
317
318   Bool_t plotAlignmentChecks=kFALSE;
319   //gStyle->SetOptStat(0);
320
321   //if(fname.Contains("alien")) TGrid::Connect("alien://");
322
323   TFile *f= TFile::Open(fname.Data());
324   if(!f) return kFALSE;
325
326   TList *list=(TList*)f->Get("cOutputITS");
327   TList *listSPD=0;
328   TDirectoryFile *dir=0;
329   if(!list) {
330     dir=(TDirectoryFile*)f->GetDirectory("ITS_Performance");
331     if(dir) list = (TList*)dir->Get("cOutputITS_70_310");
332     // count active SPD HSs
333     dir=(TDirectoryFile*)f->GetDirectory("SPD_Performance");
334     if(dir) listSPD = (TList*)dir->Get("coutput1");
335   }
336
337   if(!list) return kFALSE;
338
339   TH1F *hnHSsSPD=new TH1F("hnHSsSPD","Active HSs in SPD layers 1 and 2; layer; HSs",2,0.5,2.5);
340   if(listSPD) {
341     //listSPD->Print();
342     TH1F *hFiredChip = (TH1F*)listSPD->FindObject("hFiredChip");
343     Int_t nHSsInner=0,nHSsOuter=0;
344     for(Int_t i=0;i<400;i++) if(hFiredChip->GetBinContent(i)>0) nHSsInner++;
345     for(Int_t i=400;i<1200;i++) if(hFiredChip->GetBinContent(i)>0) nHSsOuter++;
346     nHSsInner = (Int_t)(nHSsInner/10);
347     nHSsOuter = (Int_t)(nHSsOuter/10);
348     hnHSsSPD->SetBinContent(1,nHSsInner);
349     hnHSsSPD->SetBinContent(2,nHSsOuter);
350     if(ioValues) ioValues[0]=(Float_t)nHSsInner/40.;
351     if(ioValues) ioValues[1]=(Float_t)nHSsOuter/80.;
352   }
353
354   TCanvas *cSPD=new TCanvas("cSPD","cSPD");
355   hnHSsSPD->SetMaximum(90);
356   hnHSsSPD->SetMinimum(0);
357   hnHSsSPD->Draw();
358
359   TH1F *fHistNclsITSSA = (TH1F*)list->FindObject("fHistNclsITSSA");
360   TH1F *fHistClusterMapITSSA = (TH1F*)list->FindObject("fHistClusterMapITSSA");
361   TH1F *fHistClusterMapITSSAok = (TH1F*)list->FindObject("fHistClusterMapITSSAok");
362   TH1F *fHistClusterMapITSSAbad = (TH1F*)list->FindObject("fHistClusterMapITSSAbad");
363   TH1F *fHistClusterMapITSSAskipped = (TH1F*)list->FindObject("fHistClusterMapITSSAskipped");
364   TH1F *fHistClusterMapITSSAoutinz = (TH1F*)list->FindObject("fHistClusterMapITSSAoutinz");
365   TH1F *fHistClusterMapITSSAokoutinzbad = (TH1F*)list->FindObject("fHistClusterMapITSSAokoutinzbad");
366   TH1F *fHistClusterMapITSSAnorefit = (TH1F*)list->FindObject("fHistClusterMapITSSAnorefit");
367   TH1F *fHistClusterMapITSSAnocls = (TH1F*)list->FindObject("fHistClusterMapITSSAnocls");
368   TH1F *fHistNclsITSSAInAcc = (TH1F*)list->FindObject("fHistNclsITSSAInAcc");
369   TH1F *fHistClusterMapITSSAInAcc = (TH1F*)list->FindObject("fHistClusterMapITSSAInAcc");
370   TH1F *fHistClusterMapITSSAokInAcc = (TH1F*)list->FindObject("fHistClusterMapITSSAokInAcc");
371   TH1F *fHistClusterMapITSSAbadInAcc = (TH1F*)list->FindObject("fHistClusterMapITSSAbadInAcc");
372   TH1F *fHistClusterMapModuleITSMIokInAcc = (TH1F*)list->FindObject("fHistClusterMapModuleITSMIokInAcc");
373   TH1F *fHistClusterMapModuleITSMIbadInAcc = (TH1F*)list->FindObject("fHistClusterMapModuleITSMIbadInAcc");
374   TH1F *fHistClusterMapITSSAskippedInAcc = (TH1F*)list->FindObject("fHistClusterMapITSSAskippedInAcc");
375   TH1F *fHistClusterMapITSSAoutinzInAcc = (TH1F*)list->FindObject("fHistClusterMapITSSAoutinzInAcc");
376   TH1F *fHistClusterMapITSSAokoutinzbadInAcc = (TH1F*)list->FindObject("fHistClusterMapITSSAokoutinzbadInAcc");
377   TH1F *fHistClusterMapITSSAnorefitInAcc = (TH1F*)list->FindObject("fHistClusterMapITSSAnorefitInAcc");
378   TH1F *fHistClusterMapITSSAnoclsInAcc = (TH1F*)list->FindObject("fHistClusterMapITSSAnoclsInAcc");
379   TH1F *fHistClusterMapModuleITSMInoclsInAcc = (TH1F*)list->FindObject("fHistClusterMapModuleITSMInoclsInAcc");
380   TH1F *fHistNclsITSMI = (TH1F*)list->FindObject("fHistNclsITSMI");
381   TH1F *fHistClusterMapITSMI = (TH1F*)list->FindObject("fHistClusterMapITSMI");
382   TH1F *fHistClusterMapITSMIok = (TH1F*)list->FindObject("fHistClusterMapITSMIok");
383   TH1F *fHistClusterMapITSMIbad = (TH1F*)list->FindObject("fHistClusterMapITSMIbad");
384   TH1F *fHistClusterMapITSMIskipped = (TH1F*)list->FindObject("fHistClusterMapITSMIskipped");
385   TH1F *fHistClusterMapITSMIoutinz = (TH1F*)list->FindObject("fHistClusterMapITSMIoutinz");
386   TH1F *fHistClusterMapITSMIokoutinzbad = (TH1F*)list->FindObject("fHistClusterMapITSMIokoutinzbad");
387   TH1F *fHistClusterMapITSMInorefit = (TH1F*)list->FindObject("fHistClusterMapITSMInorefit");
388   TH1F *fHistClusterMapITSMInocls = (TH1F*)list->FindObject("fHistClusterMapITSMInocls");
389
390   TH1F *fHistPhiTPCInAcc = (TH1F*)list->FindObject("fHistPhiTPCInAcc");
391   TH1F *fHistPhiITSMIokbadoutinz6InAcc = (TH1F*)list->FindObject("fHistPhiITSMIokbadoutinz6InAcc");
392
393   TH1F *fHistPtTPCInAcc = (TH1F*)list->FindObject("fHistPtTPCInAcc");
394   TH1F *fHistPtTPCInAccSfromStrange = (TH1F*)list->FindObject("fHistPtTPCInAccSfromStrange");
395   TH1F *fHistPtTPCInAccPfromStrange = (TH1F*)list->FindObject("fHistPtTPCInAccPfromStrange");
396   TH1F *fHistPtTPCInAccMCtwoSPD = (TH1F*)list->FindObject("fHistPtTPCInAccMCtwoSPD");
397   TH1F *fHistPtTPCInAccMConeSPD = (TH1F*)list->FindObject("fHistPtTPCInAccMConeSPD");
398   TH1F *fHistPtITSMI6InAcc = (TH1F*)list->FindObject("fHistPtITSMI6InAcc");
399   TH1F *fHistPtITSMI5InAcc = (TH1F*)list->FindObject("fHistPtITSMI5InAcc");
400   TH1F *fHistPtITSMI4InAcc = (TH1F*)list->FindObject("fHistPtITSMI4InAcc");
401   TH1F *fHistPtITSMI3InAcc = (TH1F*)list->FindObject("fHistPtITSMI3InAcc");
402   TH1F *fHistPtITSMI2InAcc = (TH1F*)list->FindObject("fHistPtITSMI2InAcc");
403   TH1F *fHistPtITSMISPDInAcc = (TH1F*)list->FindObject("fHistPtITSMISPDInAcc");
404   TH1F *fHistPtITSMIoneSPDInAcc = (TH1F*)list->FindObject("fHistPtITSMIoneSPDInAcc");
405   TH1F *fHistPtITSMI6InAccFake = (TH1F*)list->FindObject("fHistPtITSMI6InAccFake");
406   TH1F *fHistPtITSMI5InAccFake = (TH1F*)list->FindObject("fHistPtITSMI5InAccFake");
407   TH1F *fHistPtITSMI4InAccFake = (TH1F*)list->FindObject("fHistPtITSMI4InAccFake");
408   TH1F *fHistPtITSMI3InAccFake = (TH1F*)list->FindObject("fHistPtITSMI3InAccFake");
409   TH1F *fHistPtITSMI2InAccFake = (TH1F*)list->FindObject("fHistPtITSMI2InAccFake");
410   TH1F *fHistPtITSMISPDInAccFake = (TH1F*)list->FindObject("fHistPtITSMISPDInAccFake");
411   TH1F *fHistPtITSMIoneSPDInAccFake = (TH1F*)list->FindObject("fHistPtITSMIoneSPDInAccFake");
412   TH1F *fHistPtITSMIoneSPDthreeSDDSSDInAcc = (TH1F*)list->FindObject("fHistPtITSMIoneSPDthreeSDDSSDInAcc");
413   TH1F *fHistPtITSMIokbadoutinz6InAcc = (TH1F*)list->FindObject("fHistPtITSMIokbadoutinz6InAcc");
414   TH1F *fHistPtITSMIokbadoutinz5InAcc = (TH1F*)list->FindObject("fHistPtITSMIokbadoutinz5InAcc");
415   TH1F *fHistPtITSMIokbadoutinz4InAcc = (TH1F*)list->FindObject("fHistPtITSMIokbadoutinz4InAcc");
416   TH1F *fHistPtTPCInAccP = (TH1F*)list->FindObject("fHistPtTPCInAccP");
417   TH1F *fHistPtITSMI6InAccP = (TH1F*)list->FindObject("fHistPtITSMI6InAccP");
418   TH1F *fHistPtITSMI5InAccP = (TH1F*)list->FindObject("fHistPtITSMI5InAccP");
419   TH1F *fHistPtITSMI4InAccP = (TH1F*)list->FindObject("fHistPtITSMI4InAccP");
420   TH1F *fHistPtITSMI3InAccP = (TH1F*)list->FindObject("fHistPtITSMI3InAccP");
421   TH1F *fHistPtITSMI2InAccP = (TH1F*)list->FindObject("fHistPtITSMI2InAccP");
422   TH1F *fHistPtITSMISPDInAccP = (TH1F*)list->FindObject("fHistPtITSMISPDInAccP");
423   TH1F *fHistPtITSMIoneSPDInAccP = (TH1F*)list->FindObject("fHistPtITSMIoneSPDInAccP");
424   TH1F *fHistPtTPCInAccS = (TH1F*)list->FindObject("fHistPtTPCInAccS");
425   TH1F *fHistPtITSMI6InAccS = (TH1F*)list->FindObject("fHistPtITSMI6InAccS");
426   TH1F *fHistPtITSMI5InAccS = (TH1F*)list->FindObject("fHistPtITSMI5InAccS");
427   TH1F *fHistPtITSMI4InAccS = (TH1F*)list->FindObject("fHistPtITSMI4InAccS");
428   TH1F *fHistPtITSMI3InAccS = (TH1F*)list->FindObject("fHistPtITSMI3InAccS");
429   TH1F *fHistPtITSMI2InAccS = (TH1F*)list->FindObject("fHistPtITSMI2InAccS");
430   TH1F *fHistPtITSMISPDInAccS = (TH1F*)list->FindObject("fHistPtITSMISPDInAccS");
431   TH1F *fHistPtITSMIoneSPDInAccS = (TH1F*)list->FindObject("fHistPtITSMIoneSPDInAccS");
432
433   TH1F *fHistRProdVtxInAccP = (TH1F*)list->FindObject("fHistRProdVtxInAccP");
434   TH1F *fHistRProdVtxInAccS = (TH1F*)list->FindObject("fHistRProdVtxInAccS");
435
436   TH1F *fHistxlocSDDok = (TH1F*)list->FindObject("fHistxlocSDDok");
437   TH1F *fHistxlocSDDall = (TH1F*)list->FindObject("fHistxlocSDDall");
438   TH1F *fHistzlocSDDok = (TH1F*)list->FindObject("fHistzlocSDDok");
439   TH1F *fHistzlocSDDall = (TH1F*)list->FindObject("fHistzlocSDDall");
440
441   TH1F *fHistPtITSTPCsel = (TH1F*)list->FindObject("fHistPtITSTPCsel");
442   TH1F *fHistPtITSTPCselP = (TH1F*)list->FindObject("fHistPtITSTPCselP");
443   TH1F *fHistPtITSTPCselS = (TH1F*)list->FindObject("fHistPtITSTPCselS");
444   TH1F *fHistPtITSTPCselFake = (TH1F*)list->FindObject("fHistPtITSTPCselFake");
445   TH1F *fHistPtITSTPCselPfromStrange = (TH1F*)list->FindObject("fHistPtITSTPCselSfromStrange");
446   TH1F *fHistPtITSTPCselSfromStrange = (TH1F*)list->FindObject("fHistPtITSTPCselSfromStrange");
447   TH1F *fHistPtITSTPCselSfromMat = (TH1F*)list->FindObject("fHistPtITSTPCselSfromMat");
448
449   TH1F *fHistPtTPCInAccSfromMat = (TH1F*)list->FindObject("fHistPtTPCInAccSfromMat");
450
451
452   //ReweightStrange(fHistPtTPCInAcc,fHistPtTPCInAccPfromStrange,fHistPtTPCInAccSfromStrange);
453   //ReweightStrange(fHistPtITSTPCsel,fHistPtITSTPCselPfromStrange,fHistPtITSTPCselSfromStrange);
454
455   //---------------------------------------------------------------
456   TH1F *fHistPtITSMIge2InAcc = (TH1F*)fHistPtITSMI6InAcc->Clone("fHistPtITSMIge2InAcc");
457   fHistPtITSMIge2InAcc->Add(fHistPtITSMI5InAcc);
458   fHistPtITSMIge2InAcc->Add(fHistPtITSMI4InAcc);
459   fHistPtITSMIge2InAcc->Add(fHistPtITSMI3InAcc);
460   fHistPtITSMIge2InAcc->Add(fHistPtITSMI2InAcc);
461   TH1F *fHistPtITSMIge2InAccFake = 0;
462   if(fHistPtITSMI6InAccFake) {
463     fHistPtITSMIge2InAccFake=(TH1F*)fHistPtITSMI6InAccFake->Clone("fHistPtITSMIge2InAccFake");
464     fHistPtITSMIge2InAccFake->Add(fHistPtITSMI5InAccFake);
465     fHistPtITSMIge2InAccFake->Add(fHistPtITSMI4InAccFake);
466     fHistPtITSMIge2InAccFake->Add(fHistPtITSMI3InAccFake);
467     fHistPtITSMIge2InAccFake->Add(fHistPtITSMI2InAccFake);
468   }
469   TH1F *fHistPtITSMIge2InAccP = (TH1F*)fHistPtITSMI6InAccP->Clone("fHistPtITSMIge2InAccP");
470   fHistPtITSMIge2InAccP->Add(fHistPtITSMI5InAccP);
471   fHistPtITSMIge2InAccP->Add(fHistPtITSMI4InAccP);
472   fHistPtITSMIge2InAccP->Add(fHistPtITSMI3InAccP);
473   fHistPtITSMIge2InAccP->Add(fHistPtITSMI2InAccP);
474   TH1F *fHistPtITSMIge2InAccS = (TH1F*)fHistPtITSMI6InAccS->Clone("fHistPtITSMIge2InAccS");
475   fHistPtITSMIge2InAccS->Add(fHistPtITSMI5InAccS);
476   fHistPtITSMIge2InAccS->Add(fHistPtITSMI4InAccS);
477   fHistPtITSMIge2InAccS->Add(fHistPtITSMI3InAccS);
478   fHistPtITSMIge2InAccS->Add(fHistPtITSMI2InAccS);
479
480   // fake fraction
481   if(fHistPtITSMIge2InAccFake) {
482     fHistPtITSMIge2InAccFake->Divide(fHistPtITSMIge2InAccFake,fHistPtITSMIge2InAcc,1,1,"B");
483     fHistPtITSMI2InAccFake->Divide(fHistPtITSMI2InAccFake,fHistPtITSMI2InAcc,1,1,"B");
484     fHistPtITSMI3InAccFake->Divide(fHistPtITSMI3InAccFake,fHistPtITSMI3InAcc,1,1,"B");
485     fHistPtITSMI4InAccFake->Divide(fHistPtITSMI4InAccFake,fHistPtITSMI4InAcc,1,1,"B");
486     fHistPtITSMI5InAccFake->Divide(fHistPtITSMI5InAccFake,fHistPtITSMI5InAcc,1,1,"B");
487     fHistPtITSMI6InAccFake->Divide(fHistPtITSMI6InAccFake,fHistPtITSMI6InAcc,1,1,"B");
488     fHistPtITSMISPDInAccFake->Divide(fHistPtITSMISPDInAccFake,fHistPtITSMISPDInAcc,1,1,"B");
489     fHistPtITSMIoneSPDInAccFake->Divide(fHistPtITSMIoneSPDInAccFake,fHistPtITSMIoneSPDInAcc,1,1,"B");
490     if (fHistPtITSTPCselFake)fHistPtITSTPCselFake->Divide(fHistPtITSTPCselFake,fHistPtITSTPCsel,1,1,"B");
491   }
492
493   TH1F* fHistPtITSMISPDInAccMC=(TH1F*)fHistPtITSMISPDInAcc->Clone("fHistPtITSMISPDInAccMC");
494   TH1F* fHistPtITSMIoneSPDInAccMC=(TH1F*)fHistPtITSMIoneSPDInAcc->Clone("fHistPtITSMIoneSPDInAccMC");
495
496
497   TLegend *l1=new TLegend(0.5,0.5,0.9,0.9);
498   TLegend *l2=new TLegend(0.5,0.5,0.9,0.9);
499
500   TCanvas *c1= new TCanvas("c1","c1",10,10,600,500);
501   fHistNclsITSSA->SetMinimum(0);
502   fHistNclsITSSA->SetLineColor(1);
503   l1->AddEntry(fHistNclsITSSA,"ITS-SA","l");
504   fHistNclsITSSA->Draw();
505   fHistNclsITSSAInAcc->SetLineColor(4);
506   l1->AddEntry(fHistNclsITSSAInAcc,"ITS-SA in acc.","l");
507   fHistNclsITSSAInAcc->Draw("same");
508   fHistNclsITSMI->SetLineColor(2);
509   l1->AddEntry(fHistNclsITSMI,"ITS from TPC","l");
510   fHistNclsITSMI->Draw("same");
511   l1->Draw();
512
513
514   TCanvas *c2 =new TCanvas("c2","c2",10,10,1200,800);
515   c2->Divide(3,2);
516   c2->cd(1);
517   //
518   fHistClusterMapITSSAokoutinzbad->SetLineColor(1);
519   fHistClusterMapITSSAokoutinzbad->SetMarkerColor(1);
520   fHistClusterMapITSSAokoutinzbad->SetMarkerStyle(20);
521   fHistClusterMapITSSAokoutinzbad->Draw();
522   fHistClusterMapITSMIokoutinzbad->SetLineColor(2);
523   fHistClusterMapITSMIokoutinzbad->SetMarkerColor(2);
524   fHistClusterMapITSMIokoutinzbad->SetMarkerStyle(20);
525   fHistClusterMapITSMIokoutinzbad->Draw("same");
526   l1->Draw();
527   //
528   c2->cd(2);
529   fHistClusterMapITSSAok->SetLineColor(1);
530   fHistClusterMapITSSAok->SetMarkerColor(1);
531   fHistClusterMapITSSAok->SetMarkerStyle(21);
532   fHistClusterMapITSSAok->Draw();
533   fHistClusterMapITSMIok->SetLineColor(2);
534   fHistClusterMapITSMIok->SetMarkerColor(2);
535   fHistClusterMapITSMIok->SetMarkerStyle(21);
536   fHistClusterMapITSMIok->Draw("same");
537   //
538   c2->cd(3);
539   fHistClusterMapITSSAoutinz->SetLineColor(1);
540   fHistClusterMapITSSAoutinz->SetMarkerColor(1);
541   fHistClusterMapITSSAoutinz->SetMarkerStyle(22);
542   fHistClusterMapITSSAoutinz->Draw();
543   fHistClusterMapITSMIoutinz->SetLineColor(2);
544   fHistClusterMapITSMIoutinz->SetMarkerColor(2);
545   fHistClusterMapITSMIoutinz->SetMarkerStyle(22);
546   fHistClusterMapITSMIoutinz->Draw("same");
547   //
548   c2->cd(4);
549   fHistClusterMapITSSAbad->SetLineColor(1);
550   fHistClusterMapITSSAbad->SetMarkerColor(1);
551   fHistClusterMapITSSAbad->SetMarkerStyle(23);
552   fHistClusterMapITSSAbad->Draw();
553   fHistClusterMapITSMIbad->SetLineColor(2);
554   fHistClusterMapITSMIbad->SetMarkerColor(2);
555   fHistClusterMapITSMIbad->SetMarkerStyle(23);
556   fHistClusterMapITSMIbad->Draw("same");
557   //
558   c2->cd(5);
559   fHistClusterMapITSSAnocls->SetLineColor(1);
560   fHistClusterMapITSSAnocls->SetMarkerColor(1);
561   fHistClusterMapITSSAnocls->SetMarkerStyle(24);
562   fHistClusterMapITSSAnocls->Draw();
563   fHistClusterMapITSMInocls->SetLineColor(2);
564   fHistClusterMapITSMInocls->SetMarkerColor(2);
565   fHistClusterMapITSMInocls->SetMarkerStyle(24);
566   fHistClusterMapITSMInocls->Draw("same");
567
568   TCanvas *c3 =new TCanvas("c3","c3",10,10,1200,800);
569   c3->Divide(1,2);
570   c3->cd(1);
571   fHistClusterMapModuleITSMIokInAcc->SetLineColor(1);
572   fHistClusterMapModuleITSMIokInAcc->Draw();
573   l2->AddEntry(fHistClusterMapModuleITSMIokInAcc,"ok","l");
574   fHistClusterMapModuleITSMIbadInAcc->SetLineColor(3);
575   fHistClusterMapModuleITSMIbadInAcc->Draw("same");
576   l2->AddEntry(fHistClusterMapModuleITSMIbadInAcc,"bad","l");
577   fHistClusterMapModuleITSMInoclsInAcc->SetLineColor(2);
578   fHistClusterMapModuleITSMInoclsInAcc->Draw("same");
579   l2->AddEntry(fHistClusterMapModuleITSMInoclsInAcc,"no cls","l");
580   l2->Draw();
581   c3->cd(2);
582   TH1F *fHistClusterMapModuleITSMIallInAcc=(TH1F*)fHistClusterMapModuleITSMIokInAcc->Clone("fHistClusterMapModuleITSMIallInAcc");
583   fHistClusterMapModuleITSMIallInAcc->Add(fHistClusterMapModuleITSMIbadInAcc);
584   fHistClusterMapModuleITSMIallInAcc->Add(fHistClusterMapModuleITSMInoclsInAcc);
585   TH1F *fHistClusterMapModuleITSMIokRatioInAcc=(TH1F*)fHistClusterMapModuleITSMIokInAcc->Clone("fHistClusterMapModuleITSMIokRatioInAcc");
586   fHistClusterMapModuleITSMIokRatioInAcc->Divide(fHistClusterMapModuleITSMIallInAcc);
587   for(Int_t ib=1;ib<=fHistClusterMapModuleITSMIokRatioInAcc->GetNbinsX();ib++) {
588     fHistClusterMapModuleITSMIokRatioInAcc->SetBinError(ib,0);
589     if(fHistClusterMapModuleITSMIallInAcc->GetBinContent(ib)) fHistClusterMapModuleITSMIokRatioInAcc->SetBinError(ib,TMath::Sqrt(fHistClusterMapModuleITSMIokRatioInAcc->GetBinContent(ib)*(1.-fHistClusterMapModuleITSMIokRatioInAcc->GetBinContent(ib))/fHistClusterMapModuleITSMIallInAcc->GetBinContent(ib))); 
590   }
591   fHistClusterMapModuleITSMIokRatioInAcc->Draw();
592   TH1F *fHistClusterMapModuleITSMIbadRatioInAcc=(TH1F*)fHistClusterMapModuleITSMIbadInAcc->Clone("fHistClusterMapModuleITSMIbadRatioInAcc");
593   fHistClusterMapModuleITSMIbadRatioInAcc->Divide(fHistClusterMapModuleITSMIallInAcc);
594   for(Int_t ib=1;ib<=fHistClusterMapModuleITSMIokRatioInAcc->GetNbinsX();ib++) {
595     fHistClusterMapModuleITSMIbadRatioInAcc->SetBinError(ib,0);
596     if(fHistClusterMapModuleITSMIallInAcc->GetBinContent(ib)) fHistClusterMapModuleITSMIbadRatioInAcc->SetBinError(ib,TMath::Sqrt(fHistClusterMapModuleITSMIbadRatioInAcc->GetBinContent(ib)*(1.-fHistClusterMapModuleITSMIbadRatioInAcc->GetBinContent(ib))/fHistClusterMapModuleITSMIallInAcc->GetBinContent(ib))); 
597   }
598   fHistClusterMapModuleITSMIbadRatioInAcc->Draw("same");
599   TH1F *fHistClusterMapModuleITSMInoclsRatioInAcc=(TH1F*)fHistClusterMapModuleITSMInoclsInAcc->Clone("fHistClusterMapModuleITSMInoclsRatioInAcc");
600   fHistClusterMapModuleITSMInoclsRatioInAcc->Divide(fHistClusterMapModuleITSMIallInAcc);
601   for(Int_t ib=1;ib<=fHistClusterMapModuleITSMIokRatioInAcc->GetNbinsX();ib++) {
602     fHistClusterMapModuleITSMInoclsRatioInAcc->SetBinError(ib,0);
603     if(fHistClusterMapModuleITSMIallInAcc->GetBinContent(ib)) fHistClusterMapModuleITSMInoclsRatioInAcc->SetBinError(ib,TMath::Sqrt(fHistClusterMapModuleITSMInoclsRatioInAcc->GetBinContent(ib)*(1.-fHistClusterMapModuleITSMInoclsRatioInAcc->GetBinContent(ib))/fHistClusterMapModuleITSMIallInAcc->GetBinContent(ib))); 
604   }
605   fHistClusterMapModuleITSMInoclsRatioInAcc->Draw("same");
606
607   TCanvas *c3b = new TCanvas("c3b","c3b");
608   c3b->Divide(2,1);
609   c3b->cd(1);
610   fHistxlocSDDok->Divide(fHistxlocSDDall);
611   fHistxlocSDDok->Draw();
612   c3b->cd(2);
613   fHistzlocSDDok->Divide(fHistzlocSDDall);
614   fHistzlocSDDok->Draw();
615
616   TCanvas *c4 =new TCanvas("c4","c4",10,10,500,500);
617   c4->SetGridy();
618   fHistPhiITSMIokbadoutinz6InAcc->Divide(fHistPhiTPCInAcc);
619   fHistPhiITSMIokbadoutinz6InAcc->SetMinimum(0);
620   fHistPhiITSMIokbadoutinz6InAcc->SetMaximum(1.5);
621   fHistPhiITSMIokbadoutinz6InAcc->SetYTitle("ITS+TPC / TPC");
622   fHistPhiITSMIokbadoutinz6InAcc->SetTitle("Fraction of tracks with 6 layers ok");
623   fHistPhiITSMIokbadoutinz6InAcc->Draw();
624
625   TCanvas *c5c =new TCanvas("c5c","c5c",10,10,600,600);
626   c5c->SetGridy();
627   TH1F *fHistPtTPCInAccSecFrac = (TH1F*)fHistPtTPCInAccS->Clone("fHistPtTPCInAccSecFrac");  
628   fHistPtTPCInAccSecFrac->Divide(fHistPtTPCInAcc);
629   fHistPtTPCInAccSecFrac->SetLineColor(kOrange+7);
630   fHistPtTPCInAccSecFrac->SetTitle("Fraction of secondaries");
631   fHistPtTPCInAccSecFrac->SetYTitle("sec/all");
632   fHistPtTPCInAccSecFrac->Draw();
633   TH1F *fHistPtITSMI2InAccSecFrac = (TH1F*)fHistPtITSMI2InAccS->Clone("fHistPtITSMI2InAccSecFrac");  
634   fHistPtITSMI2InAccSecFrac->Divide(fHistPtITSMI2InAcc);
635   fHistPtITSMI2InAccSecFrac->SetLineColor(7);
636   fHistPtITSMI2InAccSecFrac->Draw("same"); 
637   TH1F *fHistPtITSMIge2InAccSecFrac = (TH1F*)fHistPtITSMIge2InAccS->Clone("fHistPtITSMIge2InAccSecFrac");  
638   fHistPtITSMIge2InAccSecFrac->Divide(fHistPtITSMIge2InAcc);
639   fHistPtITSMIge2InAccSecFrac->Draw("same");
640   TH1F *fHistPtITSMI3InAccSecFrac = (TH1F*)fHistPtITSMI3InAccS->Clone("fHistPtITSMI3InAccSecFrac");  
641   fHistPtITSMI3InAccSecFrac->Divide(fHistPtITSMI3InAcc);
642   fHistPtITSMI3InAccSecFrac->SetLineColor(6);
643   fHistPtITSMI3InAccSecFrac->Draw("same");
644   TH1F *fHistPtITSMI4InAccSecFrac = (TH1F*)fHistPtITSMI4InAccS->Clone("fHistPtITSMI4InAccSecFrac");  
645   fHistPtITSMI4InAccSecFrac->Divide(fHistPtITSMI4InAcc);
646   fHistPtITSMI4InAccSecFrac->SetLineColor(4);
647   fHistPtITSMI4InAccSecFrac->Draw("same");
648   TH1F *fHistPtITSMI5InAccSecFrac = (TH1F*)fHistPtITSMI5InAccS->Clone("fHistPtITSMI5InAccSecFrac");  
649   fHistPtITSMI5InAccSecFrac->Divide(fHistPtITSMI5InAcc);
650   fHistPtITSMI5InAccSecFrac->SetLineColor(3);
651   fHistPtITSMI5InAccSecFrac->Draw("same");
652   TH1F *fHistPtITSMI6InAccSecFrac = (TH1F*)fHistPtITSMI6InAccS->Clone("fHistPtITSMI6InAccSecFrac");  
653   fHistPtITSMI6InAccSecFrac->Divide(fHistPtITSMI6InAcc);
654   fHistPtITSMI6InAccSecFrac->SetLineColor(2);
655   fHistPtITSMI6InAccSecFrac->SetLineColor(2);
656   fHistPtITSMI6InAccSecFrac->Draw("same");
657   TH1F *fHistPtITSMISPDInAccSecFrac = (TH1F*)fHistPtITSMISPDInAccS->Clone("fHistPtITSMISPDInAccSecFrac");  
658   fHistPtITSMISPDInAccSecFrac->Divide(fHistPtITSMISPDInAcc);
659   fHistPtITSMISPDInAccSecFrac->SetLineColor(9);
660   fHistPtITSMISPDInAccSecFrac->Draw("same");
661   TH1F *fHistPtITSMIoneSPDInAccSecFrac = (TH1F*)fHistPtITSMIoneSPDInAccS->Clone("fHistPtITSMIoneSPDInAccSecFrac");  
662   fHistPtITSMIoneSPDInAccSecFrac->Divide(fHistPtITSMIoneSPDInAcc);
663   fHistPtITSMIoneSPDInAccSecFrac->SetLineColor(15);
664   fHistPtITSMIoneSPDInAccSecFrac->Draw("same");
665   TH1F *fHistPtITSTPCselSecFrac = (TH1F*)fHistPtITSTPCselS->Clone("fHistPtITSTPCselSecFrac");  
666   fHistPtITSTPCselSecFrac->Divide(fHistPtITSTPCsel);
667   fHistPtITSTPCselSecFrac->SetLineColor(15);
668   fHistPtITSTPCselSecFrac->Draw("same");
669
670
671   TLegend *l3=new TLegend(0.5,0.5,0.9,0.9);
672   TLegend *l4=new TLegend(0.5,0.5,0.9,0.9);
673   TCanvas *c5 =new TCanvas("c5","c5",10,10,1200,600);
674   c5->Divide(2,1);
675   c5_1->SetGridy();
676   c5_2->SetGridy();
677   c5_1->SetLogx();
678   c5_2->SetLogx();
679   c5->cd(1);
680   fHistPtITSMIge2InAcc->SetMaximum(1.5);
681   fHistPtITSMIge2InAcc->SetMinimum(0);
682   fHistPtITSMIge2InAcc->SetTitle("Fraction of prolonged tracks with N ITS points");
683   fHistPtITSMIge2InAcc->SetYTitle("ITS+TPC / TPC");
684   fHistPtITSMIge2InAcc->Divide(fHistPtITSMIge2InAcc,fHistPtTPCInAcc,1,1,"B");
685   fHistPtITSMIge2InAcc->Draw();
686   l3->AddEntry(fHistPtITSMIge2InAcc,">=2 cls","l");
687   fHistPtITSMI6InAcc->Divide(fHistPtITSMI6InAcc,fHistPtTPCInAcc,1,1,"B");
688   fHistPtITSMI6InAcc->SetLineColor(2);
689   l3->AddEntry(fHistPtITSMI6InAcc,"6 cls","l");
690   fHistPtITSMI6InAcc->Draw("same");
691   fHistPtITSMI5InAcc->Divide(fHistPtITSMI5InAcc,fHistPtTPCInAcc,1,1,"B");
692   fHistPtITSMI5InAcc->SetLineColor(3);
693   l3->AddEntry(fHistPtITSMI5InAcc,"5 cls","l");
694   fHistPtITSMI5InAcc->Draw("same");
695   fHistPtITSMI4InAcc->Divide(fHistPtITSMI4InAcc,fHistPtTPCInAcc,1,1,"B");
696   fHistPtITSMI4InAcc->SetLineColor(4);
697   l3->AddEntry(fHistPtITSMI4InAcc,"4 cls","l");
698   fHistPtITSMI4InAcc->Draw("same");
699   fHistPtITSMI3InAcc->Divide(fHistPtITSMI3InAcc,fHistPtTPCInAcc,1,1,"B");
700   fHistPtITSMI3InAcc->SetLineColor(6);
701   l3->AddEntry(fHistPtITSMI3InAcc,"3 cls","l");
702   fHistPtITSMI3InAcc->Draw("same");
703   fHistPtITSMI2InAcc->Divide(fHistPtITSMI2InAcc,fHistPtTPCInAcc,1,1,"B");
704   fHistPtITSMI2InAcc->SetLineColor(7);
705   l3->AddEntry(fHistPtITSMI2InAcc,"2 cls","l");
706   fHistPtITSMI2InAcc->Draw("same");
707   fHistPtITSMISPDInAcc->Divide(fHistPtITSMISPDInAcc,fHistPtTPCInAcc,1,1,"B");
708   fHistPtITSMISPDInAcc->SetLineColor(9);
709   l3->AddEntry(fHistPtITSMISPDInAcc,"2SPD + any","l");
710   fHistPtITSMISPDInAcc->Draw("same");
711   fHistPtITSMIoneSPDInAcc->Divide(fHistPtITSMIoneSPDInAcc,fHistPtTPCInAcc,1,1,"B");
712   fHistPtITSMIoneSPDInAcc->SetLineColor(15);
713   l3->AddEntry(fHistPtITSMIoneSPDInAcc,">=1SPD + any","l");
714   fHistPtITSMIoneSPDInAcc->Draw("same");
715   //fHistPtITSMIoneSPDthreeSDDSSDInAcc->Divide(fHistPtITSMIoneSPDthreeSDDSSDInAcc,fHistPtTPCInAcc,1,1,"B");
716   //fHistPtITSMIoneSPDthreeSDDSSDInAcc->SetLineColor(kOrange);
717   //l3->AddEntry(fHistPtITSMIoneSPDthreeSDDSSDInAcc,">=1SPD + >=3SDDSSD","l");
718   //fHistPtITSMIoneSPDthreeSDDSSDInAcc->Draw("same");
719   fHistPtITSTPCsel->Divide(fHistPtITSTPCsel,fHistPtTPCInAcc,1,1,"B");
720   fHistPtITSTPCsel->SetLineColor(kAzure+1);
721   l3->AddEntry(fHistPtITSTPCsel,">=1SPD + any + d_{0} cut","l");
722   fHistPtITSTPCsel->Draw("same");
723   fHistPtITSMIge2InAcc->Draw("same");
724   l3->Draw();
725   if(ioValues) {
726     Int_t index,ptbin;
727     ptbin=fHistPtITSMIge2InAcc->FindBin(0.201);
728     index=2;
729     ioValues[index]=fHistPtITSMIge2InAcc->GetBinContent(ptbin);
730     ioErrors[index]=fHistPtITSMIge2InAcc->GetBinError(ptbin);
731     ptbin=fHistPtITSMIge2InAcc->FindBin(1.001);
732     index=3;
733     ioValues[index]=fHistPtITSMIge2InAcc->GetBinContent(ptbin);
734     ioErrors[index]=fHistPtITSMIge2InAcc->GetBinError(ptbin);
735     ptbin=fHistPtITSMIge2InAcc->FindBin(10.001);
736     index=4;
737     ioValues[index]=fHistPtITSMIge2InAcc->GetBinContent(ptbin);
738     ioErrors[index]=fHistPtITSMIge2InAcc->GetBinError(ptbin);
739     ptbin=fHistPtITSMI6InAcc->FindBin(0.201);
740     index=5;
741     ioValues[index]=fHistPtITSMI6InAcc->GetBinContent(ptbin);
742     ioErrors[index]=fHistPtITSMI6InAcc->GetBinError(ptbin);
743     ptbin=fHistPtITSMI6InAcc->FindBin(1.001);
744     index=6;
745     ioValues[index]=fHistPtITSMI6InAcc->GetBinContent(ptbin);
746     ioErrors[index]=fHistPtITSMI6InAcc->GetBinError(ptbin);
747     ptbin=fHistPtITSMI6InAcc->FindBin(10.001);
748     index=7;
749     ioValues[index]=fHistPtITSMI6InAcc->GetBinContent(ptbin);
750     ioErrors[index]=fHistPtITSMI6InAcc->GetBinError(ptbin);
751     ptbin=fHistPtITSMISPDInAcc->FindBin(0.201);
752     index=8;
753     ioValues[index]=fHistPtITSMISPDInAcc->GetBinContent(ptbin);
754     ioErrors[index]=fHistPtITSMISPDInAcc->GetBinError(ptbin);
755     ptbin=fHistPtITSMISPDInAcc->FindBin(1.001);
756     index=9;
757     ioValues[index]=fHistPtITSMISPDInAcc->GetBinContent(ptbin);
758     ioErrors[index]=fHistPtITSMISPDInAcc->GetBinError(ptbin);
759     ptbin=fHistPtITSMISPDInAcc->FindBin(10.001);
760     index=10;
761     ioValues[index]=fHistPtITSMISPDInAcc->GetBinContent(ptbin);
762     ioErrors[index]=fHistPtITSMISPDInAcc->GetBinError(ptbin);
763     ptbin=fHistPtITSMIoneSPDInAcc->FindBin(0.201);
764     index=11;
765     ioValues[index]=fHistPtITSMIoneSPDInAcc->GetBinContent(ptbin);
766     ioErrors[index]=fHistPtITSMIoneSPDInAcc->GetBinError(ptbin);
767     ptbin=fHistPtITSMIoneSPDInAcc->FindBin(1.001);
768     index=12;
769     ioValues[index]=fHistPtITSMIoneSPDInAcc->GetBinContent(ptbin);
770     ioErrors[index]=fHistPtITSMIoneSPDInAcc->GetBinError(ptbin);
771     ptbin=fHistPtITSMIoneSPDInAcc->FindBin(10.001);
772     index=13;
773     ioValues[index]=fHistPtITSMIoneSPDInAcc->GetBinContent(ptbin);
774     ioErrors[index]=fHistPtITSMIoneSPDInAcc->GetBinError(ptbin);
775   }
776   c5->cd(2);
777   TH1F *fHistPtITSMIokbadoutinzge4InAcc = (TH1F*)fHistPtITSMIokbadoutinz6InAcc->Clone("fHistPtITSMIokbadoutinzge4InAcc");
778   fHistPtITSMIokbadoutinzge4InAcc->Add(fHistPtITSMIokbadoutinz5InAcc);
779   fHistPtITSMIokbadoutinzge4InAcc->Add(fHistPtITSMIokbadoutinz4InAcc);
780   fHistPtITSMIokbadoutinzge4InAcc->SetMaximum(1.5);
781   fHistPtITSMIokbadoutinzge4InAcc->SetMinimum(0);
782   fHistPtITSMIokbadoutinzge4InAcc->SetTitle("Fraction of prolonged tracks with N ITS layers \"ok\"");
783   fHistPtITSMIokbadoutinzge4InAcc->SetYTitle("ITS+TPC / TPC");
784   fHistPtITSMIokbadoutinzge4InAcc->Divide(fHistPtITSMIokbadoutinzge4InAcc,fHistPtTPCInAcc,1,1,"B");
785   fHistPtITSMIokbadoutinzge4InAcc->SetLineColor(1);
786   fHistPtITSMIokbadoutinzge4InAcc->Draw();
787   fHistPtITSMIokbadoutinz6InAcc->Divide(fHistPtITSMIokbadoutinz6InAcc,fHistPtTPCInAcc,1,1,"B");
788   fHistPtITSMIokbadoutinz6InAcc->SetLineColor(2);
789   fHistPtITSMIokbadoutinz6InAcc->Draw("same");
790   fHistPtITSMIokbadoutinz5InAcc->Divide(fHistPtITSMIokbadoutinz5InAcc,fHistPtTPCInAcc,1,1,"B");
791   fHistPtITSMIokbadoutinz5InAcc->SetLineColor(3);
792   fHistPtITSMIokbadoutinz5InAcc->Draw("same");
793   fHistPtITSMIokbadoutinz4InAcc->Divide(fHistPtITSMIokbadoutinz4InAcc,fHistPtTPCInAcc,1,1,"B");
794   fHistPtITSMIokbadoutinz4InAcc->SetLineColor(4);
795   fHistPtITSMIokbadoutinz4InAcc->Draw("same");
796   fHistPtITSMIokbadoutinzge4InAcc->Draw("same");
797   l4->AddEntry(fHistPtITSMIokbadoutinzge4InAcc,">=4 layers","l");
798   l4->AddEntry(fHistPtITSMIokbadoutinz6InAcc,"6 layers","l");
799   l4->AddEntry(fHistPtITSMIokbadoutinz5InAcc,"5 layers","l");
800   l4->AddEntry(fHistPtITSMIokbadoutinz4InAcc,"4 layers","l");
801   l4->Draw();
802
803   if(fHistPtITSMIge2InAccFake) {
804     TCanvas *c5f =new TCanvas("c5f","c5f",10,10,600,600);
805     c5f->SetGridy();
806     c5f->SetLogx();
807     fHistPtITSMIge2InAccFake->SetMaximum(1.5);
808     fHistPtITSMIge2InAccFake->SetMinimum(0);
809     fHistPtITSMIge2InAccFake->SetTitle("Fraction of fake tracks with N ITS points");
810     fHistPtITSMIge2InAccFake->SetYTitle("Fraction of fakes");
811     fHistPtITSMIge2InAccFake->Draw();
812     fHistPtITSMI6InAccFake->SetLineColor(2);
813     fHistPtITSMI6InAccFake->Draw("same");
814     fHistPtITSMI5InAccFake->SetLineColor(3);
815     //fHistPtITSMI5InAccFake->Draw("same");
816     fHistPtITSMI4InAccFake->SetLineColor(4);
817     //fHistPtITSMI4InAccFake->Draw("same");
818     fHistPtITSMI3InAccFake->SetLineColor(6);
819     //fHistPtITSMI3InAccFake->Draw("same");
820     fHistPtITSMI2InAccFake->SetLineColor(7);
821     //fHistPtITSMI2InAccFake->Draw("same");
822     fHistPtITSMISPDInAccFake->SetLineColor(9);
823     fHistPtITSMISPDInAccFake->Draw("same");
824     fHistPtITSMIoneSPDInAccFake->SetLineColor(15);
825     fHistPtITSMIoneSPDInAccFake->Draw("same");
826     if(fHistPtITSTPCselFake) {
827       fHistPtITSTPCselFake->SetLineColor(kAzure+1);
828       fHistPtITSTPCselFake->Draw("same");
829     }
830     fHistPtITSMIge2InAccFake->Draw("same");
831     l3->Draw();
832   }
833
834
835   TLegend *l4d=new TLegend(0.5,0.5,0.9,0.9);
836   TCanvas *c5d =new TCanvas("c5d","c5d",10,10,600,600);
837   c5d->SetGridy();
838   c5d->SetGridy();
839   fHistPtITSMISPDInAccMC->SetMaximum(1.5);
840   fHistPtITSMISPDInAccMC->SetMinimum(0);
841   fHistPtITSMISPDInAccMC->SetTitle("Fraction of prolonged tracks with N ITS points");
842   fHistPtITSMISPDInAccMC->SetYTitle("ITS+TPC / TPC");
843   fHistPtITSMISPDInAccMC->Divide(fHistPtITSMISPDInAccMC,fHistPtTPCInAccMCtwoSPD,1,1,"B");
844   fHistPtITSMISPDInAccMC->SetLineColor(9);
845   l4d->AddEntry(fHistPtITSMISPDInAccMC,"2SPD + any","l");
846   fHistPtITSMISPDInAccMC->Draw();
847   fHistPtITSMIoneSPDInAccMC->Divide(fHistPtITSMIoneSPDInAccMC,fHistPtTPCInAccMConeSPD,1,1,"B");
848   fHistPtITSMIoneSPDInAccMC->SetLineColor(15);
849   l4d->AddEntry(fHistPtITSMIoneSPDInAccMC,">=1SPD + any","l");
850   fHistPtITSMIoneSPDInAccMC->Draw("same");
851   l4d->Draw();
852
853   TFile *eff=new TFile("eff.root","recreate");
854   fHistPtITSMIge2InAcc->Write();
855   fHistPtITSMI6InAcc->Write();
856   fHistPtITSMI5InAcc->Write();
857   fHistPtITSMI4InAcc->Write();
858   fHistPtITSMI3InAcc->Write();
859   fHistPtITSMI2InAcc->Write();
860   fHistPtITSMISPDInAcc->Write();
861   fHistPtITSMIoneSPDInAcc->Write();
862   //fHistPtITSMIoneSPDthreeSDDSSDInAcc->Write();
863   fHistPtITSTPCsel->Write();
864   fHistNclsITSMI->Write();
865   fHistClusterMapModuleITSMIokRatioInAcc->Write();
866   fHistClusterMapModuleITSMIbadRatioInAcc->Write();
867   fHistClusterMapModuleITSMInoclsRatioInAcc->Write();
868   eff->Close();
869
870   c5c->cd();
871   l3->Draw();
872
873
874   TCanvas *c5b =new TCanvas("c5b","c5b",10,10,600,600);
875   c5b->SetLogy();
876   fHistRProdVtxInAccP->SetLineColor(2);
877   fHistRProdVtxInAccP->SetMinimum(1);
878   fHistRProdVtxInAccS->SetMinimum(1);
879   fHistRProdVtxInAccP->Draw();
880   fHistRProdVtxInAccS->Draw("sames");
881
882   TCanvas *c5a =new TCanvas("c5a","c5a",10,10,1200,600);
883   c5a->Divide(2,1);
884   c5a_1->SetLogx();
885   c5a_2->SetLogx();
886   c5a_1->SetGridy();
887   c5a_2->SetGridy();
888   c5a->cd(1);
889   fHistPtITSMIge2InAccP->SetMaximum(1.5);
890   fHistPtITSMIge2InAccP->SetMinimum(0);
891   fHistPtITSMIge2InAccP->SetTitle("Fraction of prolonged tracks with N ITS points");
892   fHistPtITSMIge2InAccP->SetYTitle("ITS+TPC / TPC");
893   fHistPtITSMIge2InAccP->Draw();
894   fHistPtITSMIge2InAccP->Divide(fHistPtITSMIge2InAccP,fHistPtTPCInAccP,1,1,"B");
895   fHistPtITSMI6InAccP->Divide(fHistPtITSMI6InAccP,fHistPtTPCInAccP,1,1,"B");
896   fHistPtITSMI6InAccP->SetLineColor(2);
897   fHistPtITSMI6InAccP->Draw("same");
898   fHistPtITSMI5InAccP->Divide(fHistPtITSMI5InAccP,fHistPtTPCInAccP,1,1,"B");
899   fHistPtITSMI5InAccP->SetLineColor(3);
900   fHistPtITSMI5InAccP->Draw("same");
901   fHistPtITSMI4InAccP->Divide(fHistPtITSMI4InAccP,fHistPtTPCInAccP,1,1,"B");
902   fHistPtITSMI4InAccP->SetLineColor(4);
903   fHistPtITSMI4InAccP->Draw("same");
904   fHistPtITSMI3InAccP->Divide(fHistPtITSMI3InAccP,fHistPtTPCInAccP,1,1,"B");
905   fHistPtITSMI3InAccP->SetLineColor(6);
906   fHistPtITSMI3InAccP->Draw("same");
907   fHistPtITSMI2InAccP->Divide(fHistPtITSMI2InAccP,fHistPtTPCInAccP,1,1,"B");
908   fHistPtITSMI2InAccP->SetLineColor(7);
909   fHistPtITSMI2InAccP->Draw("same");
910   fHistPtITSMISPDInAccP->Divide(fHistPtITSMISPDInAccP,fHistPtTPCInAccP,1,1,"B");
911   fHistPtITSMISPDInAccP->SetLineColor(9);
912   fHistPtITSMISPDInAccP->Draw("same");
913   fHistPtITSMIoneSPDInAccP->Divide(fHistPtITSMIoneSPDInAccP,fHistPtTPCInAccP,1,1,"B");
914   fHistPtITSMIoneSPDInAccP->SetLineColor(15);
915   fHistPtITSMIoneSPDInAccP->Draw("same");
916   fHistPtITSTPCselP->Divide(fHistPtITSTPCselP,fHistPtTPCInAccP,1,1,"B");
917   fHistPtITSTPCselP->SetLineColor(kAzure+1);
918   fHistPtITSTPCselP->Draw("same");
919   fHistPtITSMIge2InAccP->Draw("same");
920   l3->Draw();
921   c5a->cd(2);
922   fHistPtITSMIge2InAccS->SetMaximum(1.5);
923   fHistPtITSMIge2InAccS->SetMinimum(0);
924   fHistPtITSMIge2InAccS->SetTitle("Fraction of prolonged tracks with N ITS points");
925   fHistPtITSMIge2InAccS->SetYTitle("ITS+TPC / TPC");
926   fHistPtITSMIge2InAccS->Divide(fHistPtITSMIge2InAccS,fHistPtTPCInAccS,1,1,"B");
927   fHistPtITSMIge2InAccS->Draw();
928   fHistPtITSMI6InAccS->Divide(fHistPtITSMI6InAccS,fHistPtTPCInAccS,1,1,"B");
929   fHistPtITSMI6InAccS->SetLineColor(2);
930   fHistPtITSMI6InAccS->Draw("same");
931   fHistPtITSMI5InAccS->Divide(fHistPtITSMI5InAccS,fHistPtTPCInAccS,1,1,"B");
932   fHistPtITSMI5InAccS->SetLineColor(3);
933   fHistPtITSMI5InAccS->Draw("same");
934   fHistPtITSMI4InAccS->Divide(fHistPtITSMI4InAccS,fHistPtTPCInAccS,1,1,"B");
935   fHistPtITSMI4InAccS->SetLineColor(4);
936   fHistPtITSMI4InAccS->Draw("same");
937   fHistPtITSMI3InAccS->Divide(fHistPtITSMI3InAccS,fHistPtTPCInAccS,1,1,"B");
938   fHistPtITSMI3InAccS->SetLineColor(6);
939   fHistPtITSMI3InAccS->Draw("same");
940   fHistPtITSMI2InAccS->Divide(fHistPtITSMI2InAccS,fHistPtTPCInAccS,1,1,"B");
941   fHistPtITSMI2InAccS->SetLineColor(7);
942   fHistPtITSMI2InAccS->Draw("same");
943   fHistPtITSMISPDInAccS->Divide(fHistPtITSMISPDInAccS,fHistPtTPCInAccS,1,1,"B");
944   fHistPtITSMISPDInAccS->SetLineColor(9);
945   fHistPtITSMISPDInAccS->Draw("same");
946   fHistPtITSMIoneSPDInAccS->Divide(fHistPtITSMIoneSPDInAccS,fHistPtTPCInAccS,1,1,"B");
947   fHistPtITSMIoneSPDInAccS->SetLineColor(15);
948   fHistPtITSMIoneSPDInAccS->Draw("same");
949   fHistPtITSTPCselS->Divide(fHistPtITSTPCselS,fHistPtTPCInAccS,1,1,"B");
950   fHistPtITSTPCselS->SetLineColor(kAzure+1);
951   fHistPtITSTPCselS->Draw("same");
952   fHistPtITSMIge2InAccS->Draw("same");
953   l3->Draw();
954
955
956   if(!plotAlignmentChecks) return kTRUE;
957
958   // PLOT ALIGNMENT CHECKS
959   //
960   TH1F *hSPDTrackletsTBdxy = new TH1F("hSPDTrackletsTBdxy","SPD tracklets; SPD tracklet to SPD vertex distance in (x,y) [cm]; entries",100,-0.1,0.1);
961   TH1F *hSPDTrackletsLRdxy = new TH1F("hSPDTrackletsLRdxy","SPD tracklets; SPD tracklet to SPD vertex distance in (x,y) [cm]; entries",100,-0.1,0.1);
962   TH1F *hSPDTrackletsTBdz = new TH1F("hSPDTrackletsTBdz","SPD tracklets; SPD tracklet to SPD vertex distance in z [cm]; entries",100,-0.1,0.1);
963   TH1F *hSPDTrackletsLRdz = new TH1F("hSPDTrackletsLRdz","SPD tracklets; SPD tracklet to SPD vertex distance in z [cm]; entries",100,-0.1,0.1);
964
965   TNtuple *fNtupleITSAlignSPDTracklets = (TNtuple*)list->FindObject("fNtupleITSAlignSPDTracklets");
966   Float_t dxy,dz,phi,pt;
967   fNtupleITSAlignSPDTracklets->SetBranchAddress("pt",&pt);
968   fNtupleITSAlignSPDTracklets->SetBranchAddress("phi",&phi);
969   fNtupleITSAlignSPDTracklets->SetBranchAddress("dxy",&dxy);
970   fNtupleITSAlignSPDTracklets->SetBranchAddress("dz",&dz);
971
972   for(Int_t i=0;i<fNtupleITSAlignSPDTracklets->GetEntries();i++) {
973     fNtupleITSAlignSPDTracklets->GetEvent(i);
974     if(pt<.01) continue;
975     if(TMath::Abs(TMath::Abs(phi)-0.5*TMath::Pi())<0.25*TMath::Pi()) {
976       // top-bottom
977       hSPDTrackletsTBdxy->Fill(dxy);
978       hSPDTrackletsTBdz->Fill(dz);
979     } else {
980       // left-right
981       hSPDTrackletsLRdxy->Fill(dxy);
982       hSPDTrackletsLRdz->Fill(dz);
983     }
984   }
985
986   TLegend *l6=new TLegend(0.5,0.5,0.9,0.9);
987
988   TCanvas *c6 = new TCanvas("c6","c6",0,0,1000,500);
989   c6->Divide(2,1);
990   c6->cd(1);
991   hSPDTrackletsTBdxy->SetLineColor(4);
992   hSPDTrackletsTBdxy->Draw();
993   hSPDTrackletsLRdxy->SetLineColor(2);
994   hSPDTrackletsLRdxy->Draw("sames");
995   l6->AddEntry(hSPDTrackletsTBdxy,"top-bottom","l");
996   l6->AddEntry(hSPDTrackletsLRdxy,"left-right","l");
997   l6->Draw();
998   c6->cd(2);
999   hSPDTrackletsTBdz->SetLineColor(4);
1000   hSPDTrackletsTBdz->Draw();
1001   hSPDTrackletsLRdz->SetLineColor(2);
1002   hSPDTrackletsLRdz->Draw("sames");
1003   l6->Draw();
1004
1005
1006   TH1F *hSPDExtraClsTBdxy = new TH1F("hSPDExtraClsTBdxy","SPD extra clusters; track-to-point distance in (x,y) [cm]; entries",100,-0.1,0.1);
1007   TH1F *hSPDExtraClsLRdxy = new TH1F("hSPDExtraClsLRdxy","SPD extra clusters; track-to-point distance in (x,y) [cm]; entries",100,-0.1,0.1);
1008   TH1F *hSPDExtraClsTBdz = new TH1F("hSPDExtraClsTBdz","SPD extra clusters; track-to-point distance in z [cm]; entries",100,-0.1,0.1);
1009   TH1F *hSPDExtraClsLRdz = new TH1F("hSPDExtraClsLRdz","SPD extra clusters; track-to-point distance in z [cm]; entries",100,-0.1,0.1);
1010
1011   TNtuple *fNtupleITSAlignExtra = (TNtuple*)list->FindObject("fNtupleITSAlignExtra");
1012   Float_t layer,npoints,x,y,z;
1013   fNtupleITSAlignExtra->SetBranchAddress("layer",&layer);
1014   fNtupleITSAlignExtra->SetBranchAddress("npoints",&npoints);
1015   fNtupleITSAlignExtra->SetBranchAddress("x",&x);
1016   fNtupleITSAlignExtra->SetBranchAddress("y",&y);
1017   fNtupleITSAlignExtra->SetBranchAddress("z",&z);
1018   fNtupleITSAlignExtra->SetBranchAddress("dxy",&dxy);
1019   fNtupleITSAlignExtra->SetBranchAddress("dz",&dz);
1020   fNtupleITSAlignExtra->SetBranchAddress("pt",&pt);
1021
1022   for(Int_t i=0;i<fNtupleITSAlignExtra->GetEntries();i++) {
1023     fNtupleITSAlignExtra->GetEvent(i);
1024     if(pt<0.1) continue;
1025     if(layer!=0 && layer!=1) continue;
1026     if(npoints<3) continue;
1027     phi = TMath::ATan2(y,x);
1028     if(TMath::Abs(TMath::Abs(phi)-0.5*TMath::Pi())<0.25*TMath::Pi()) {
1029       // top-bottom
1030       hSPDExtraClsTBdxy->Fill(dxy);
1031       hSPDExtraClsTBdz->Fill(dz);
1032     } else {
1033       // left-right
1034       hSPDExtraClsLRdxy->Fill(dxy);
1035       hSPDExtraClsLRdz->Fill(dz);
1036     }
1037   }
1038
1039   TCanvas *c7 = new TCanvas("c7","c7",0,0,1000,500);
1040   c7->Divide(2,1);
1041   c7->cd(1);
1042   hSPDExtraClsTBdxy->SetLineColor(4);
1043   hSPDExtraClsTBdxy->Draw();
1044   hSPDExtraClsLRdxy->SetLineColor(2);
1045   hSPDExtraClsLRdxy->Draw("same");
1046   l6->Draw();
1047   c7->cd(2);
1048   hSPDExtraClsTBdz->SetLineColor(4);
1049   hSPDExtraClsTBdz->Draw();
1050   hSPDExtraClsLRdz->SetLineColor(2);
1051   hSPDExtraClsLRdz->Draw("same");
1052   l6->Draw();
1053
1054
1055   return kTRUE;
1056 }
1057 //-----------------------------------------------------------------------------
1058 void PlotEffRatio() {
1059
1060   TFile *f= new TFile("eff.root");
1061
1062   TH1F *fHistPtITSMI6InAcc = (TH1F*)f->Get("fHistPtITSMI6InAcc");
1063   TH1F *fHistPtITSMI5InAcc = (TH1F*)f->Get("fHistPtITSMI5InAcc");
1064   TH1F *fHistPtITSMI4InAcc = (TH1F*)f->Get("fHistPtITSMI4InAcc");
1065   TH1F *fHistPtITSMI3InAcc = (TH1F*)f->Get("fHistPtITSMI3InAcc");
1066   TH1F *fHistPtITSMI2InAcc = (TH1F*)f->Get("fHistPtITSMI2InAcc");
1067   TH1F *fHistPtITSMIge2InAcc = (TH1F*)f->Get("fHistPtITSMIge2InAcc");
1068   TH1F *fHistPtITSMISPDInAcc = (TH1F*)f->Get("fHistPtITSMISPDInAcc");
1069   TH1F *fHistPtITSMIoneSPDInAcc = (TH1F*)f->Get("fHistPtITSMIoneSPDInAcc");
1070   TH1F *fHistPtITSMIoneSPDthreeSDDSSDInAcc = (TH1F*)f->Get("fHistPtITSMIoneSPDthreeSDDSSDInAcc");
1071   TH1F *fHistPtITSTPCsel = (TH1F*)f->Get("fHistPtITSTPCsel");
1072   TH1F *fHistClusterMapModuleITSMIokRatioInAcc = (TH1F*)f->Get("fHistClusterMapModuleITSMIokRatioInAcc");
1073   TH1F *fHistNclsITSMI = (TH1F*)f->Get("fHistNclsITSMI");
1074
1075
1076   TFile *fMC= new TFile("../MC/MCLHC11b10a/eff.root");
1077
1078   TH1F *fHistPtITSMI6InAccMC = (TH1F*)fMC->Get("fHistPtITSMI6InAcc");
1079   TH1F *fHistPtITSMI5InAccMC = (TH1F*)fMC->Get("fHistPtITSMI5InAcc");
1080   TH1F *fHistPtITSMI4InAccMC = (TH1F*)fMC->Get("fHistPtITSMI4InAcc");
1081   TH1F *fHistPtITSMI3InAccMC = (TH1F*)fMC->Get("fHistPtITSMI3InAcc");
1082   TH1F *fHistPtITSMI2InAccMC = (TH1F*)fMC->Get("fHistPtITSMI2InAcc");
1083   TH1F *fHistPtITSMIge2InAccMC = (TH1F*)fMC->Get("fHistPtITSMIge2InAcc");
1084   TH1F *fHistPtITSMISPDInAccMC = (TH1F*)fMC->Get("fHistPtITSMISPDInAcc");
1085   TH1F *fHistPtITSMIoneSPDInAccMC = (TH1F*)fMC->Get("fHistPtITSMIoneSPDInAcc");
1086   TH1F *fHistPtITSMIoneSPDthreeSDDSSDInAccMC = (TH1F*)fMC->Get("fHistPtITSMIoneSPDthreeSDDSSDInAcc");
1087   TH1F *fHistPtITSTPCselMC = (TH1F*)fMC->Get("fHistPtITSTPCsel");
1088   TH1F *fHistClusterMapModuleITSMIokRatioInAccMC = (TH1F*)fMC->Get("fHistClusterMapModuleITSMIokRatioInAcc");
1089   TH1F *fHistNclsITSMIMC = (TH1F*)fMC->Get("fHistNclsITSMIMC");
1090
1091   /*
1092   TCanvas *c0 = new TCanvas("c0","c0",0,0,600,500);
1093   c0->SetGridy();
1094   fHistNclsITSMI->SetLineColor(4);
1095   fHistNclsITSMI->SetMarkerColor(4);
1096   fHistNclsITSMI->SetLineStyle(1);
1097   fHistNclsITSMI->SetMarkerStyle(20);
1098   fHistNclsITSMI->Draw();
1099   fHistNclsITSMIMC->SetLineColor(4);
1100   fHistNclsITSMIMC->SetMarkerColor(4);
1101   fHistNclsITSMIMC->SetLineStyle(2);
1102   fHistNclsITSMIMC->SetMarkerStyle(24);
1103   fHistNclsITSMIMC->Draw("same");
1104   */
1105   TCanvas *c = new TCanvas("c","c",0,0,600,500);
1106   c->SetGridy();
1107   c->SetLogx();
1108   
1109   fHistPtITSMI6InAcc->Divide(fHistPtITSMI6InAccMC);
1110   fHistPtITSMI6InAcc->Draw();
1111   fHistPtITSMI5InAcc->Divide(fHistPtITSMI5InAccMC);
1112   fHistPtITSMI5InAcc->Draw("same");
1113   fHistPtITSMI4InAcc->Divide(fHistPtITSMI4InAccMC);
1114   fHistPtITSMI4InAcc->Draw("same");
1115   fHistPtITSMI3InAcc->Divide(fHistPtITSMI3InAccMC);
1116   fHistPtITSMI3InAcc->Draw("same");
1117   fHistPtITSMI2InAcc->Divide(fHistPtITSMI2InAccMC);
1118   fHistPtITSMI2InAcc->Draw("same");
1119   fHistPtITSMIge2InAcc->Divide(fHistPtITSMIge2InAccMC);
1120   fHistPtITSMIge2InAcc->Draw("same");
1121   fHistPtITSMISPDInAcc->Divide(fHistPtITSMISPDInAccMC);
1122   fHistPtITSMISPDInAcc->Draw("same");
1123   fHistPtITSMIoneSPDInAcc->Divide(fHistPtITSMIoneSPDInAccMC);
1124   fHistPtITSMIoneSPDInAcc->Draw("same");
1125   //fHistPtITSMIoneSPDthreeSDDSSDInAcc->Divide(fHistPtITSMIoneSPDthreeSDDSSDInAccMC);
1126   //fHistPtITSMIoneSPDthreeSDDSSDInAcc->Draw("same");
1127   
1128   fHistPtITSTPCsel->Divide(fHistPtITSTPCselMC);
1129   fHistPtITSTPCsel->Draw("same");
1130   
1131   TLegend *l3=new TLegend(0.5,0.5,0.9,0.9);
1132   l3->AddEntry(fHistPtITSMIge2InAcc,">=2 cls","l");
1133   l3->AddEntry(fHistPtITSMI6InAcc,"6 cls","l");
1134   l3->AddEntry(fHistPtITSMI5InAcc,"5 cls","l");
1135   l3->AddEntry(fHistPtITSMI4InAcc,"4 cls","l");
1136   l3->AddEntry(fHistPtITSMI3InAcc,"3 cls","l");
1137   l3->AddEntry(fHistPtITSMI2InAcc,"2 cls","l");
1138   l3->AddEntry(fHistPtITSMISPDInAcc,"2SPD + any","l");
1139   l3->AddEntry(fHistPtITSMIoneSPDInAcc,">=1SPD + any","l");
1140   //l3->AddEntry(fHistPtITSMIoneSPDthreeSDDSSDInAcc,">=1SPD + >=3SDDSSD","l");
1141   l3->AddEntry(fHistPtITSTPCsel,">=1SPD + any + d_{0} cut","l");
1142   l3->Draw();
1143   
1144   TCanvas *cc = new TCanvas("cc","cc",0,0,600,500);
1145   cc->Divide(1,2);
1146   cc->cd(1);
1147   fHistClusterMapModuleITSMIokRatioInAccMC->SetLineColor(4);
1148   fHistClusterMapModuleITSMIokRatioInAccMC->Draw();
1149   fHistClusterMapModuleITSMIokRatioInAcc->Draw("same");
1150   cc->cd(2);
1151   for(Int_t i=1;i<=fHistClusterMapModuleITSMIokRatioInAccMC->GetNbinsX();i++) {
1152     if(fHistClusterMapModuleITSMIokRatioInAccMC->GetBinContent(i)<0.02) {
1153       fHistClusterMapModuleITSMIokRatioInAccMC->SetBinContent(i,1); 
1154       if(fHistClusterMapModuleITSMIokRatioInAcc->GetBinContent(i)<0.02) {
1155         fHistClusterMapModuleITSMIokRatioInAcc->SetBinContent(i,1); 
1156       }
1157     }
1158   }
1159   TH1F* fHistClusterMapDataOverMC=(TH1F*)fHistClusterMapModuleITSMIokRatioInAcc->Clone("fHistClusterMapDataOverMC");
1160   fHistClusterMapDataOverMC->Divide(fHistClusterMapModuleITSMIokRatioInAccMC);
1161   fHistClusterMapDataOverMC->Draw();
1162
1163   return;
1164 }
1165
1166 //-----------------------------------------------------------------------------
1167 void PlotEffOfficial(Bool_t drawRatio=kTRUE) {
1168
1169   gStyle->SetOptStat(0);
1170
1171   gROOT->LoadMacro("/Users/dainesea/ALICEWorkInProgress.C");
1172
1173   TFile *f= new TFile("eff_115328_115393_minipass.root");
1174
1175   TH1F *fHistPtITSMI6InAcc = (TH1F*)f->Get("fHistPtITSMI6InAcc");
1176   TH1F *fHistPtITSMI5InAcc = (TH1F*)f->Get("fHistPtITSMI5InAcc");
1177   TH1F *fHistPtITSMI4InAcc = (TH1F*)f->Get("fHistPtITSMI4InAcc");
1178   TH1F *fHistPtITSMI3InAcc = (TH1F*)f->Get("fHistPtITSMI3InAcc");
1179   TH1F *fHistPtITSMI2InAcc = (TH1F*)f->Get("fHistPtITSMI2InAcc");
1180   TH1F *fHistPtITSMIge2InAcc = (TH1F*)f->Get("fHistPtITSMIge2InAcc");
1181   fHistPtITSMIge2InAcc->SetLineColor(1);
1182   fHistPtITSMIge2InAcc->SetLineStyle(1);
1183   fHistPtITSMIge2InAcc->SetMarkerColor(1);
1184   fHistPtITSMIge2InAcc->SetMarkerStyle(21);
1185   TH1F *fHistPtITSMISPDInAcc = (TH1F*)f->Get("fHistPtITSMISPDInAcc");
1186   TH1F *fHistPtITSMIoneSPDInAcc = (TH1F*)f->Get("fHistPtITSMIoneSPDInAcc");
1187   fHistPtITSMIoneSPDInAcc->SetLineColor(2);
1188   fHistPtITSMIoneSPDInAcc->SetLineStyle(1);
1189   fHistPtITSMIoneSPDInAcc->SetMarkerColor(2);
1190   fHistPtITSMIoneSPDInAcc->SetMarkerStyle(20);
1191   TH1F *fHistPtITSTPCsel = (TH1F*)f->Get("fHistPtITSTPCsel");
1192   TH1F *fHistClusterMapModuleITSMIokRatioInAcc = (TH1F*)f->Get("fHistClusterMapModuleITSMIokRatioInAcc");
1193   TH1F *fHistNclsITSMI = (TH1F*)f->Get("fHistNclsITSMI");
1194
1195
1196   TFile *fMC= new TFile("eff_lhc10b2.root");
1197
1198   TH1F *fHistPtITSMI6InAccMC = (TH1F*)fMC->Get("fHistPtITSMI6InAcc");
1199   TH1F *fHistPtITSMI5InAccMC = (TH1F*)fMC->Get("fHistPtITSMI5InAcc");
1200   TH1F *fHistPtITSMI4InAccMC = (TH1F*)fMC->Get("fHistPtITSMI4InAcc");
1201   TH1F *fHistPtITSMI3InAccMC = (TH1F*)fMC->Get("fHistPtITSMI3InAcc");
1202   TH1F *fHistPtITSMI2InAccMC = (TH1F*)fMC->Get("fHistPtITSMI2InAcc");
1203   TH1F *fHistPtITSMIge2InAccMC = (TH1F*)fMC->Get("fHistPtITSMIge2InAcc");
1204   fHistPtITSMIge2InAccMC->SetLineColor(1);
1205   fHistPtITSMIge2InAccMC->SetLineStyle(2);
1206   fHistPtITSMIge2InAccMC->SetMarkerColor(1);
1207   fHistPtITSMIge2InAccMC->SetMarkerStyle(25);
1208   TH1F *fHistPtITSMISPDInAccMC = (TH1F*)fMC->Get("fHistPtITSMISPDInAcc");
1209   TH1F *fHistPtITSMIoneSPDInAccMC = (TH1F*)fMC->Get("fHistPtITSMIoneSPDInAcc");
1210   fHistPtITSMIoneSPDInAccMC->SetLineColor(2);
1211   fHistPtITSMIoneSPDInAccMC->SetLineStyle(2);
1212   fHistPtITSMIoneSPDInAccMC->SetMarkerColor(2);
1213   fHistPtITSMIoneSPDInAccMC->SetMarkerStyle(24);
1214   TH1F *fHistPtITSTPCselMC = (TH1F*)fMC->Get("fHistPtITSTPCsel");
1215   TH1F *fHistClusterMapModuleITSMIokRatioInAccMC = (TH1F*)fMC->Get("fHistClusterMapModuleITSMIokRatioInAcc");
1216   TH1F *fHistNclsITSMIMC = (TH1F*)fMC->Get("fHistNclsITSMI");
1217
1218
1219   TCanvas *c0 = new TCanvas("c0","c0",0,0,600,500);
1220   c0->SetGridy();
1221   fHistNclsITSMI->SetLineColor(4);
1222   fHistNclsITSMI->SetMarkerColor(4);
1223   fHistNclsITSMI->SetLineStyle(1);
1224   fHistNclsITSMI->SetMarkerStyle(20);
1225   fHistNclsITSMI->Scale(1./fHistNclsITSMI->Integral());
1226   fHistNclsITSMI->Draw();
1227   fHistNclsITSMIMC->SetLineColor(4);
1228   fHistNclsITSMIMC->SetMarkerColor(4);
1229   fHistNclsITSMIMC->SetLineStyle(2);
1230   fHistNclsITSMIMC->SetMarkerStyle(24);
1231   fHistNclsITSMIMC->Scale(1./fHistNclsITSMIMC->Integral());
1232   fHistNclsITSMIMC->Draw("same");
1233
1234   TLegend *l0=new TLegend(0.5,0.5,0.9,0.9);
1235   l0->SetFillStyle(0);
1236   l0->SetBorderSize(0);
1237   l0->AddEntry(fHistNclsITSMI,"Data","lp");
1238   l0->AddEntry(fHistNclsITSMIMC,"MC","lp");
1239   l0->Draw();
1240  
1241   ALICEWorkInProgress(c0,"20/05/2010");
1242
1243   TCanvas *c = new TCanvas("c","c",0,0,600,500);
1244   c->SetGridy();
1245   c->SetLogx();
1246
1247   TLegend *l3=new TLegend(0.5,0.5,0.9,0.9);
1248   l3->SetFillStyle(0);
1249   l3->SetBorderSize(0);
1250   
1251   if(drawRatio) {
1252     //fHistPtITSMI6InAcc->Divide(fHistPtITSMI6InAccMC);
1253     //fHistPtITSMI6InAcc->Draw();
1254     //fHistPtITSMI5InAcc->Divide(fHistPtITSMI5InAccMC);
1255     //fHistPtITSMI5InAcc->Draw("same");
1256     //fHistPtITSMI4InAcc->Divide(fHistPtITSMI4InAccMC);
1257     //fHistPtITSMI4InAcc->Draw("same");
1258     //fHistPtITSMI3InAcc->Divide(fHistPtITSMI3InAccMC);
1259     //fHistPtITSMI3InAcc->Draw("same");
1260     //fHistPtITSMI2InAcc->Divide(fHistPtITSMI2InAccMC);
1261     //fHistPtITSMI2InAcc->Draw("same");
1262     fHistPtITSMIge2InAcc->SetYTitle("Data efficiency / MC efficiency");
1263     fHistPtITSMIge2InAcc->Divide(fHistPtITSMIge2InAccMC);
1264     fHistPtITSMIge2InAcc->Draw();
1265     //fHistPtITSMISPDInAcc->Divide(fHistPtITSMISPDInAccMC);
1266     //fHistPtITSMISPDInAcc->Draw("same");
1267     fHistPtITSMIoneSPDInAcc->Divide(fHistPtITSMIoneSPDInAccMC);
1268     fHistPtITSMIoneSPDInAcc->Draw("same");
1269     
1270     //fHistPtITSTPCsel->Divide(fHistPtITSTPCselMC);
1271     //fHistPtITSTPCsel->Draw("same");
1272     l3->AddEntry(fHistPtITSMIge2InAcc,"at least 2 ITS hits","lp");
1273     //l3->AddEntry(fHistPtITSMI6InAcc,"6 cls","l");
1274     //l3->AddEntry(fHistPtITSMI5InAcc,"5 cls","l");
1275     //l3->AddEntry(fHistPtITSMI4InAcc,"4 cls","l");
1276     //l3->AddEntry(fHistPtITSMI3InAcc,"3 cls","l");
1277     //l3->AddEntry(fHistPtITSMI2InAcc,"2 cls","l");
1278     //l3->AddEntry(fHistPtITSMISPDInAcc,"2 SPD hits","lp");
1279     l3->AddEntry(fHistPtITSMIoneSPDInAcc,"at least 1 SPD hit","lp");
1280     //l3->AddEntry(fHistPtITSTPCsel,">=1SPD + any + d_{0} cut","l");
1281
1282   } else {
1283     fHistPtITSMIge2InAcc->SetYTitle("ITS prolongation efficiency");
1284     fHistPtITSMIge2InAcc->Draw();
1285     fHistPtITSMIge2InAccMC->Draw("same");
1286     fHistPtITSMIoneSPDInAcc->Draw("same");
1287     fHistPtITSMIoneSPDInAccMC->Draw("same");
1288     l3->AddEntry(fHistPtITSMIge2InAcc,"at least 2 ITS hits (Data)","lp");
1289     l3->AddEntry(fHistPtITSMIoneSPDInAcc,"at least 1 SPD hit (Data)","lp");
1290     l3->AddEntry(fHistPtITSMIge2InAccMC,"at least 2 ITS hits (MC)","lp");
1291     l3->AddEntry(fHistPtITSMIoneSPDInAccMC,"at least 1 SPD hit (MC)","lp");
1292   } 
1293
1294   l3->Draw();
1295   
1296   ALICEWorkInProgress(c,"20/05/2010");
1297
1298   return;
1299 }
1300
1301 void PlotImpPar_rphi(Int_t rebin=1) {
1302
1303
1304   TFile *fMC= new TFile("AnalysisResults_onlynonfakes.root");
1305
1306   TList *list=(TList*)fMC->Get("cOutputITS");
1307   TDirectoryFile *dir=0;
1308   if(!list) {
1309     dir=(TDirectoryFile*)fMC->GetDirectory("ITS_Performance");
1310     if(dir) list = (TList*)dir->Get("cOutputITS");
1311   }
1312
1313   if(!list) return kFALSE;
1314
1315   TH1F *fHistd0rphiITSMIoneSPDInAccP150200MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP150200");
1316   TH1F *fHistd0rphiITSMIoneSPDInAccS150200MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS150200");
1317   TH1F *fHistd0rphiITSMIoneSPDInAccS150200fromStrangeMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS150200fromStrange");
1318   TH1F *fHistd0rphiITSMIoneSPDInAccS150200fromMatMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS150200fromMat");
1319   TH1F *fHistd0rphiITSMIoneSPDInAccP350450MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP350450");
1320   TH1F *fHistd0rphiITSMIoneSPDInAccS350450MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS350450");
1321   TH1F *fHistd0rphiITSMIoneSPDInAccS350450fromStrangeMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS350450fromStrange");
1322   TH1F *fHistd0rphiITSMIoneSPDInAccS350450fromMatMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS350450fromMat");
1323   TH1F *fHistd0rphiITSMIoneSPDInAccP500700MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP500700");
1324   TH1F *fHistd0rphiITSMIoneSPDInAccS500700MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700");
1325   TH1F *fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700fromStrange");
1326   TH1F *fHistd0rphiITSMIoneSPDInAccS500700from211MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700from211");
1327   TH1F *fHistd0rphiITSMIoneSPDInAccS500700from22MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700from22");
1328   TH1F *fHistd0rphiITSMIoneSPDInAccS500700from310MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700from310");
1329   TH1F *fHistd0rphiITSMIoneSPDInAccS500700from321MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700from321");
1330   TH1F *fHistd0rphiITSMIoneSPDInAccS500700from3122MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700from3122");
1331   TH1F *fHistd0rphiITSMIoneSPDInAccS500700fromMatMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700fromMat");
1332   TH1F *fHistd0rphiITSMIoneSPDInAccP10001500MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP10001500");
1333   TH1F *fHistd0rphiITSMIoneSPDInAccS10001500MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS10001500");
1334   TH1F *fHistd0rphiITSMIoneSPDInAccS10001500fromStrangeMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS10001500fromStrange");
1335   TH1F *fHistd0rphiITSMIoneSPDInAccS10001500fromMatMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS10001500fromMat");
1336   TH1F *fHistd0rphiITSMIoneSPDInAccP25004000MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP25004000");
1337   TH1F *fHistd0rphiITSMIoneSPDInAccS25004000MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS25004000");
1338   TH1F *fHistd0rphiITSMIoneSPDInAccS25004000fromStrangeMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS25004000fromStrange");
1339   TH1F *fHistd0rphiITSMIoneSPDInAccS25004000fromMatMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS25004000fromMat");
1340   TH1F *fHistd0rphiITSMIoneSPDInAccP40008000MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP40008000");
1341   TH1F *fHistd0rphiITSMIoneSPDInAccS40008000MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS40008000");
1342   TH1F *fHistd0rphiITSMIoneSPDInAccS40008000fromStrangeMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS40008000fromStrange");
1343   TH1F *fHistd0rphiITSMIoneSPDInAccS40008000fromMatMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS40008000fromMat"); 
1344
1345   TH1F *fHistd0rphiITSMIoneSPDInAcc150200MC=(TH1F*)fHistd0rphiITSMIoneSPDInAccP150200MC->Clone("fHistd0rphiITSMIoneSPDInAcc150200MC");
1346   fHistd0rphiITSMIoneSPDInAcc150200MC->Add(fHistd0rphiITSMIoneSPDInAccS150200MC);
1347   fHistd0rphiITSMIoneSPDInAcc150200MC->Scale(1./fHistd0rphiITSMIoneSPDInAcc150200MC->GetEntries());
1348   TH1F *fHistd0rphiITSMIoneSPDInAcc350450MC=(TH1F*)fHistd0rphiITSMIoneSPDInAccP350450MC->Clone("fHistd0rphiITSMIoneSPDInAcc350450MC");
1349   fHistd0rphiITSMIoneSPDInAcc350450MC->Add(fHistd0rphiITSMIoneSPDInAccS350450MC); 
1350   fHistd0rphiITSMIoneSPDInAcc350450MC->Scale(1./fHistd0rphiITSMIoneSPDInAcc350450MC->GetEntries());
1351   TH1F *fHistd0rphiITSMIoneSPDInAcc500700MC=(TH1F*)fHistd0rphiITSMIoneSPDInAccP500700MC->Clone("fHistd0rphiITSMIoneSPDInAcc500700MC");
1352   fHistd0rphiITSMIoneSPDInAcc500700MC->Add(fHistd0rphiITSMIoneSPDInAccS500700MC);
1353   fHistd0rphiITSMIoneSPDInAcc500700MC->Scale(1./fHistd0rphiITSMIoneSPDInAcc500700MC->GetEntries());
1354   TH1F *fHistd0rphiITSMIoneSPDInAcc10001500MC=(TH1F*)fHistd0rphiITSMIoneSPDInAccP10001500MC->Clone("fHistd0rphiITSMIoneSPDInAcc10001500MC");
1355   fHistd0rphiITSMIoneSPDInAcc10001500MC->Add(fHistd0rphiITSMIoneSPDInAccS10001500MC);
1356   fHistd0rphiITSMIoneSPDInAcc10001500MC->Scale(1./fHistd0rphiITSMIoneSPDInAcc10001500MC->GetEntries());
1357   TH1F *fHistd0rphiITSMIoneSPDInAcc25004000MC=(TH1F*)fHistd0rphiITSMIoneSPDInAccP25004000MC->Clone("fHistd0rphiITSMIoneSPDInAcc25004000MC");
1358   fHistd0rphiITSMIoneSPDInAcc25004000MC->Add(fHistd0rphiITSMIoneSPDInAccS25004000MC);
1359   fHistd0rphiITSMIoneSPDInAcc25004000MC->Scale(1./fHistd0rphiITSMIoneSPDInAcc25004000MC->GetEntries());
1360   TH1F *fHistd0rphiITSMIoneSPDInAcc40008000MC=(TH1F*)fHistd0rphiITSMIoneSPDInAccP40008000MC->Clone("fHistd0rphiITSMIoneSPDInAcc40008000MC");
1361   fHistd0rphiITSMIoneSPDInAcc40008000MC->Add(fHistd0rphiITSMIoneSPDInAccS40008000MC);
1362   fHistd0rphiITSMIoneSPDInAcc40008000MC->Scale(1./fHistd0rphiITSMIoneSPDInAcc40008000MC->GetEntries());
1363   
1364
1365   TFile *f= new TFile("AnalysisResults_onlynonfakes.root");
1366   list=(TList*)f->Get("cOutputITS");
1367   if(!list) {
1368     dir=(TDirectoryFile*)f->GetDirectory("ITS_Performance");
1369     if(dir) list = (TList*)dir->Get("cOutputITS");
1370   }
1371
1372   if(!list) return kFALSE;
1373
1374   TH1F *fHistd0rphiITSMIoneSPDInAccP150200 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP150200");
1375   TH1F *fHistd0rphiITSMIoneSPDInAccS150200 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS150200");
1376   TH1F *fHistd0rphiITSMIoneSPDInAccP350450 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP350450");
1377   TH1F *fHistd0rphiITSMIoneSPDInAccS350450 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS350450");
1378   TH1F *fHistd0rphiITSMIoneSPDInAccP500700 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP500700");
1379   TH1F *fHistd0rphiITSMIoneSPDInAccS500700 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700");
1380   TH1F *fHistd0rphiITSMIoneSPDInAccP10001500 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP10001500");
1381   TH1F *fHistd0rphiITSMIoneSPDInAccS10001500 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS10001500");
1382   TH1F *fHistd0rphiITSMIoneSPDInAccP25004000 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP25004000");
1383   TH1F *fHistd0rphiITSMIoneSPDInAccS25004000 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS25004000");
1384   TH1F *fHistd0rphiITSMIoneSPDInAccP40008000 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP40008000");
1385   TH1F *fHistd0rphiITSMIoneSPDInAccS40008000 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS40008000");
1386   TH1F *fHistd0rphiITSMIoneSPDInAcc150200=(TH1F*)fHistd0rphiITSMIoneSPDInAccP150200->Clone("fHistd0rphiITSMIoneSPDInAcc150200");
1387   fHistd0rphiITSMIoneSPDInAcc150200->Add(fHistd0rphiITSMIoneSPDInAccS150200);
1388   fHistd0rphiITSMIoneSPDInAcc150200->Scale(1./fHistd0rphiITSMIoneSPDInAcc150200->GetEntries());
1389   TH1F *fHistd0rphiITSMIoneSPDInAcc350450=(TH1F*)fHistd0rphiITSMIoneSPDInAccP350450->Clone("fHistd0rphiITSMIoneSPDInAcc350450");
1390   fHistd0rphiITSMIoneSPDInAcc350450->Add(fHistd0rphiITSMIoneSPDInAccS350450);
1391   fHistd0rphiITSMIoneSPDInAcc350450->Scale(1./fHistd0rphiITSMIoneSPDInAcc350450->GetEntries());
1392   TH1F *fHistd0rphiITSMIoneSPDInAcc500700=(TH1F*)fHistd0rphiITSMIoneSPDInAccP500700->Clone("fHistd0rphiITSMIoneSPDInAcc500700");
1393   fHistd0rphiITSMIoneSPDInAcc500700->Add(fHistd0rphiITSMIoneSPDInAccS500700);
1394   fHistd0rphiITSMIoneSPDInAcc500700->Scale(1./fHistd0rphiITSMIoneSPDInAcc500700->GetEntries());
1395   TH1F *fHistd0rphiITSMIoneSPDInAcc10001500=(TH1F*)fHistd0rphiITSMIoneSPDInAccP10001500->Clone("fHistd0rphiITSMIoneSPDInAcc10001500");
1396   fHistd0rphiITSMIoneSPDInAcc10001500->Add(fHistd0rphiITSMIoneSPDInAccS10001500);
1397   fHistd0rphiITSMIoneSPDInAcc10001500->Scale(1./fHistd0rphiITSMIoneSPDInAcc10001500->GetEntries());
1398   TH1F *fHistd0rphiITSMIoneSPDInAcc25004000=(TH1F*)fHistd0rphiITSMIoneSPDInAccP25004000->Clone("fHistd0rphiITSMIoneSPDInAcc25004000");
1399   fHistd0rphiITSMIoneSPDInAcc25004000->Add(fHistd0rphiITSMIoneSPDInAccS25004000);
1400   fHistd0rphiITSMIoneSPDInAcc25004000->Scale(1./fHistd0rphiITSMIoneSPDInAcc25004000->GetEntries());
1401   TH1F *fHistd0rphiITSMIoneSPDInAcc40008000=(TH1F*)fHistd0rphiITSMIoneSPDInAccP40008000->Clone("fHistd0rphiITSMIoneSPDInAcc40008000");
1402   fHistd0rphiITSMIoneSPDInAcc40008000->Add(fHistd0rphiITSMIoneSPDInAccS40008000);
1403   fHistd0rphiITSMIoneSPDInAcc40008000->Scale(1./fHistd0rphiITSMIoneSPDInAcc40008000->GetEntries()); 
1404
1405
1406   TCanvas *c1 = new TCanvas("c1","c1");
1407   c1->Divide(3,2);
1408   c1->cd(1);
1409   fHistd0rphiITSMIoneSPDInAcc150200MC->Rebin(rebin);
1410   fHistd0rphiITSMIoneSPDInAcc150200->Rebin(rebin);
1411   fHistd0rphiITSMIoneSPDInAcc150200MC->SetLineColor(2);
1412   fHistd0rphiITSMIoneSPDInAcc150200MC->Draw();
1413   fHistd0rphiITSMIoneSPDInAcc150200->SetLineColor(4);
1414   fHistd0rphiITSMIoneSPDInAcc150200->Draw("same");
1415   c1->cd(2);
1416   fHistd0rphiITSMIoneSPDInAcc350450MC->Rebin(rebin);
1417   fHistd0rphiITSMIoneSPDInAcc350450->Rebin(rebin);
1418   fHistd0rphiITSMIoneSPDInAcc350450MC->SetLineColor(2);
1419   fHistd0rphiITSMIoneSPDInAcc350450MC->Draw();
1420   fHistd0rphiITSMIoneSPDInAcc350450->SetLineColor(4);
1421   fHistd0rphiITSMIoneSPDInAcc350450->Draw("same"); 
1422   c1->cd(3);
1423   fHistd0rphiITSMIoneSPDInAcc500700MC->Rebin(rebin);
1424   fHistd0rphiITSMIoneSPDInAcc500700->Rebin(rebin);
1425   fHistd0rphiITSMIoneSPDInAcc500700MC->SetLineColor(2);
1426   fHistd0rphiITSMIoneSPDInAcc500700MC->Draw();
1427   fHistd0rphiITSMIoneSPDInAcc500700->SetLineColor(4);
1428   fHistd0rphiITSMIoneSPDInAcc500700->Draw("same");
1429   c1->cd(4);
1430   fHistd0rphiITSMIoneSPDInAcc10001500MC->Rebin(rebin);
1431   fHistd0rphiITSMIoneSPDInAcc10001500->Rebin(rebin);
1432   fHistd0rphiITSMIoneSPDInAcc10001500MC->SetLineColor(2);
1433   fHistd0rphiITSMIoneSPDInAcc10001500MC->Draw();
1434   fHistd0rphiITSMIoneSPDInAcc10001500->SetLineColor(4);
1435   fHistd0rphiITSMIoneSPDInAcc10001500->Draw("same");
1436    c1->cd(5);
1437   fHistd0rphiITSMIoneSPDInAcc25004000MC->Rebin(rebin);
1438   fHistd0rphiITSMIoneSPDInAcc25004000->Rebin(rebin);
1439   fHistd0rphiITSMIoneSPDInAcc25004000MC->SetLineColor(2);
1440   fHistd0rphiITSMIoneSPDInAcc25004000MC->Draw();
1441   fHistd0rphiITSMIoneSPDInAcc25004000->SetLineColor(4);
1442   fHistd0rphiITSMIoneSPDInAcc25004000->Draw("same");
1443   c1->cd(6);
1444   fHistd0rphiITSMIoneSPDInAcc40008000MC->Rebin(rebin);
1445   fHistd0rphiITSMIoneSPDInAcc40008000->Rebin(rebin);
1446   fHistd0rphiITSMIoneSPDInAcc40008000MC->SetLineColor(2);
1447   fHistd0rphiITSMIoneSPDInAcc40008000MC->Draw();
1448   fHistd0rphiITSMIoneSPDInAcc40008000->SetLineColor(4);
1449   fHistd0rphiITSMIoneSPDInAcc40008000->Draw("same");
1450   
1451   
1452   TCanvas *c1a = new TCanvas("c1a","c1a");
1453   c1a->Divide(3,1);
1454   c1a->cd(1);
1455   TH1F* fHistd0rphiITSMIoneSPDInAcc150200Ratio=(TH1F*)fHistd0rphiITSMIoneSPDInAcc150200->Clone("fHistd0rphiITSMIoneSPDInAcc150200Ratio");
1456   fHistd0rphiITSMIoneSPDInAcc150200Ratio->Divide(fHistd0rphiITSMIoneSPDInAcc150200MC);
1457   fHistd0rphiITSMIoneSPDInAcc150200Ratio->Draw();
1458   c1a->cd(2);
1459   TH1F* fHistd0rphiITSMIoneSPDInAcc500700Ratio=(TH1F*)fHistd0rphiITSMIoneSPDInAcc500700->Clone("fHistd0rphiITSMIoneSPDInAcc500700Ratio");
1460   fHistd0rphiITSMIoneSPDInAcc500700Ratio->Divide(fHistd0rphiITSMIoneSPDInAcc500700MC);
1461   fHistd0rphiITSMIoneSPDInAcc500700Ratio->Draw();
1462   c1a->cd(3);
1463   TH1F* fHistd0rphiITSMIoneSPDInAcc10001500Ratio=(TH1F*)fHistd0rphiITSMIoneSPDInAcc10001500->Clone("fHistd0rphiITSMIoneSPDInAcc10001500Ratio");
1464   fHistd0rphiITSMIoneSPDInAcc10001500Ratio->Divide(fHistd0rphiITSMIoneSPDInAcc10001500MC);
1465   fHistd0rphiITSMIoneSPDInAcc10001500Ratio->Draw();
1466
1467
1468
1469   TCanvas *c2 = new TCanvas("c2","c2");
1470   c2->Divide(3,2);
1471   c2_1->SetLogy();
1472   c2_2->SetLogy();
1473   c2_3->SetLogy();
1474   c2_4->SetLogy();
1475   c2_5->SetLogy();
1476   c2_6->SetLogy();
1477   c2->cd(1);
1478   fHistd0rphiITSMIoneSPDInAccP150200MC->SetMinimum(1);
1479   fHistd0rphiITSMIoneSPDInAccS150200MC->SetMinimum(1);
1480   fHistd0rphiITSMIoneSPDInAccS150200fromStrangeMC->SetMinimum(1);
1481   fHistd0rphiITSMIoneSPDInAccS150200fromMatMC->SetMinimum(1);
1482   fHistd0rphiITSMIoneSPDInAccP150200MC->SetLineColor(1);
1483   fHistd0rphiITSMIoneSPDInAccP150200MC->Draw();
1484   fHistd0rphiITSMIoneSPDInAccS150200MC->SetLineColor(6);
1485   fHistd0rphiITSMIoneSPDInAccS150200MC->Draw("same");
1486   fHistd0rphiITSMIoneSPDInAccS150200fromStrangeMC->SetLineColor(8);
1487   fHistd0rphiITSMIoneSPDInAccS150200fromStrangeMC->Draw("same");
1488   fHistd0rphiITSMIoneSPDInAccS150200fromMatMC->SetLineColor(9);
1489   fHistd0rphiITSMIoneSPDInAccS150200fromMatMC->Draw("same");
1490   c2->cd(2);
1491   fHistd0rphiITSMIoneSPDInAccP350450MC->SetMinimum(1);
1492   fHistd0rphiITSMIoneSPDInAccS350450MC->SetMinimum(1);
1493   fHistd0rphiITSMIoneSPDInAccS350450fromStrangeMC->SetMinimum(1);
1494   fHistd0rphiITSMIoneSPDInAccS350450fromMatMC->SetMinimum(1);
1495   fHistd0rphiITSMIoneSPDInAccP350450MC->SetLineColor(1);
1496   fHistd0rphiITSMIoneSPDInAccP350450MC->Draw();
1497   fHistd0rphiITSMIoneSPDInAccS350450MC->SetLineColor(6);
1498   fHistd0rphiITSMIoneSPDInAccS350450MC->Draw("same");
1499   fHistd0rphiITSMIoneSPDInAccS350450fromStrangeMC->SetLineColor(8);
1500   fHistd0rphiITSMIoneSPDInAccS350450fromStrangeMC->Draw("same");
1501   fHistd0rphiITSMIoneSPDInAccS350450fromMatMC->SetLineColor(9);
1502   fHistd0rphiITSMIoneSPDInAccS350450fromMatMC->Draw("same"); 
1503  c2->cd(3);
1504   fHistd0rphiITSMIoneSPDInAccP500700MC->SetMinimum(1);
1505   fHistd0rphiITSMIoneSPDInAccS500700MC->SetMinimum(1);
1506   fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC->SetMinimum(1);
1507   fHistd0rphiITSMIoneSPDInAccS500700fromMatMC->SetMinimum(1);
1508   fHistd0rphiITSMIoneSPDInAccP500700MC->SetLineColor(1);
1509   fHistd0rphiITSMIoneSPDInAccP500700MC->Draw();
1510   fHistd0rphiITSMIoneSPDInAccS500700MC->SetLineColor(6);
1511   fHistd0rphiITSMIoneSPDInAccS500700MC->Draw("same");
1512   fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC->SetLineColor(8);
1513   fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC->Draw("same");
1514   fHistd0rphiITSMIoneSPDInAccS500700fromMatMC->SetLineColor(9);
1515   fHistd0rphiITSMIoneSPDInAccS500700fromMatMC->Draw("same");
1516   c2->cd(4);
1517   fHistd0rphiITSMIoneSPDInAccP10001500MC->SetMinimum(1);
1518   fHistd0rphiITSMIoneSPDInAccS10001500MC->SetMinimum(1);
1519   fHistd0rphiITSMIoneSPDInAccS10001500fromStrangeMC->SetMinimum(1);
1520   fHistd0rphiITSMIoneSPDInAccS10001500fromMatMC->SetMinimum(1);
1521   fHistd0rphiITSMIoneSPDInAccP10001500MC->SetLineColor(1);
1522   fHistd0rphiITSMIoneSPDInAccP10001500MC->Draw();
1523   fHistd0rphiITSMIoneSPDInAccS10001500MC->SetLineColor(6);
1524   fHistd0rphiITSMIoneSPDInAccS10001500MC->Draw("same");
1525   fHistd0rphiITSMIoneSPDInAccS10001500fromStrangeMC->SetLineColor(8);
1526   fHistd0rphiITSMIoneSPDInAccS10001500fromStrangeMC->Draw("same");
1527   fHistd0rphiITSMIoneSPDInAccS10001500fromMatMC->SetLineColor(9);
1528   fHistd0rphiITSMIoneSPDInAccS10001500fromMatMC->Draw("same");
1529   c2->cd(5);
1530   fHistd0rphiITSMIoneSPDInAccP25004000MC->SetMinimum(1);
1531   fHistd0rphiITSMIoneSPDInAccS25004000MC->SetMinimum(1);
1532   fHistd0rphiITSMIoneSPDInAccS25004000fromStrangeMC->SetMinimum(1);
1533   fHistd0rphiITSMIoneSPDInAccS25004000fromMatMC->SetMinimum(1);
1534   fHistd0rphiITSMIoneSPDInAccP25004000MC->SetLineColor(1);
1535   fHistd0rphiITSMIoneSPDInAccP25004000MC->Draw();
1536   fHistd0rphiITSMIoneSPDInAccS25004000MC->SetLineColor(6);
1537   fHistd0rphiITSMIoneSPDInAccS25004000MC->Draw("same");
1538   fHistd0rphiITSMIoneSPDInAccS25004000fromStrangeMC->SetLineColor(8);
1539   fHistd0rphiITSMIoneSPDInAccS25004000fromStrangeMC->Draw("same");
1540   fHistd0rphiITSMIoneSPDInAccS25004000fromMatMC->SetLineColor(9);
1541   fHistd0rphiITSMIoneSPDInAccS25004000fromMatMC->Draw("same");
1542   c2->cd(6);
1543   fHistd0rphiITSMIoneSPDInAccP40008000MC->SetMinimum(1);
1544   fHistd0rphiITSMIoneSPDInAccS40008000MC->SetMinimum(1);
1545   fHistd0rphiITSMIoneSPDInAccS40008000fromStrangeMC->SetMinimum(1);
1546   fHistd0rphiITSMIoneSPDInAccS40008000fromMatMC->SetMinimum(1);
1547   fHistd0rphiITSMIoneSPDInAccP40008000MC->SetLineColor(1);
1548   fHistd0rphiITSMIoneSPDInAccP40008000MC->Draw();
1549   fHistd0rphiITSMIoneSPDInAccS40008000MC->SetLineColor(6);
1550   fHistd0rphiITSMIoneSPDInAccS40008000MC->Draw("same");
1551   fHistd0rphiITSMIoneSPDInAccS40008000fromStrangeMC->SetLineColor(8);
1552   fHistd0rphiITSMIoneSPDInAccS40008000fromStrangeMC->Draw("same");
1553   fHistd0rphiITSMIoneSPDInAccS40008000fromMatMC->SetLineColor(9);
1554   fHistd0rphiITSMIoneSPDInAccS40008000fromMatMC->Draw("same");
1555
1556   TCanvas *c2b = new TCanvas("c2b","c2b");
1557   fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC->SetMinimum(1);
1558   fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC->SetLineColor(8);
1559   fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC->Draw();
1560   fHistd0rphiITSMIoneSPDInAccS500700from310MC->SetMinimum(1);
1561   fHistd0rphiITSMIoneSPDInAccS500700from310MC->SetLineColor(2);
1562   fHistd0rphiITSMIoneSPDInAccS500700from310MC->Draw("same");
1563   fHistd0rphiITSMIoneSPDInAccS500700from321MC->SetMinimum(1);
1564   fHistd0rphiITSMIoneSPDInAccS500700from321MC->SetLineColor(5);
1565   fHistd0rphiITSMIoneSPDInAccS500700from321MC->Draw("same");
1566   fHistd0rphiITSMIoneSPDInAccS500700from3122MC->SetMinimum(1);
1567   fHistd0rphiITSMIoneSPDInAccS500700from3122MC->SetLineColor(1);
1568   fHistd0rphiITSMIoneSPDInAccS500700from3122MC->Draw("same");
1569
1570   TCanvas *c2c = new TCanvas("c2c","c2c");
1571   fHistd0rphiITSMIoneSPDInAccS500700fromMatMC->SetMinimum(1);
1572   fHistd0rphiITSMIoneSPDInAccS500700fromMatMC->Draw();
1573   fHistd0rphiITSMIoneSPDInAccS500700from211MC->SetMinimum(1);
1574   fHistd0rphiITSMIoneSPDInAccS500700from211MC->SetLineColor(2);
1575   fHistd0rphiITSMIoneSPDInAccS500700from211MC->Draw("same");
1576   fHistd0rphiITSMIoneSPDInAccS500700from22MC->SetMinimum(1);
1577   fHistd0rphiITSMIoneSPDInAccS500700from22MC->SetLineColor(1);
1578   fHistd0rphiITSMIoneSPDInAccS500700from22MC->Draw("same");
1579
1580
1581
1582   TCanvas *c3 = new TCanvas("c3","c3");
1583   c3->Divide(3,2);
1584   c3_1->SetLogx();
1585   c3_2->SetLogx();
1586   c3_3->SetLogx();
1587   c3_4->SetLogx();
1588   c3_5->SetLogx();
1589   c3_6->SetLogx();
1590   Float_t d0cut[15]={0.0301,0.0401,0.0501,0.0601,0.0801,0.101,0.151,0.201,0.251,0.301,0.401,0.601,0.801,1.001,1.401};
1591   
1592   c3->cd(1);
1593   Float_t fracP150200[15],fracS150200[15],fracSfromStrange150200[15],fracS150200Strp30[15],fracS150200Strm30[15],fracS150200Matm10[15],fracS150200Matp10[15];
1594   Float_t intPtot150200=fHistd0rphiITSMIoneSPDInAccP150200MC->Integral(1,fHistd0rphiITSMIoneSPDInAccP150200MC->GetNbinsX());
1595   for(Int_t i=0;i<15;i++) {
1596     Int_t bin1=fHistd0rphiITSMIoneSPDInAccP150200MC->FindBin(-d0cut[i]);
1597     Int_t bin2=fHistd0rphiITSMIoneSPDInAccP150200MC->FindBin(+d0cut[i]);
1598     Float_t intPcut150200=fHistd0rphiITSMIoneSPDInAccP150200MC->Integral(bin1,bin2);
1599     Float_t intScut150200=fHistd0rphiITSMIoneSPDInAccS150200MC->Integral(bin1,bin2);
1600     Float_t intSfromStrangecut150200=fHistd0rphiITSMIoneSPDInAccS150200fromStrangeMC->Integral(bin1,bin2);
1601     Float_t intScut150200Strp30 = intScut150200 + 0.3*intSfromStrangecut150200; 
1602     Float_t intScut150200Strm30 = intScut150200 - 0.3*intSfromStrangecut150200; 
1603     Float_t intScut150200Matp10 = intScut150200 + 0.1*(intScut150200-intSfromStrangecut150200); 
1604     Float_t intScut150200Matm10 = intScut150200 - 0.1*(intScut150200-intSfromStrangecut150200); 
1605     fracP150200[i]=intPcut150200/intPtot150200;
1606     fracS150200[i]=1.-intScut150200/(intPcut150200+intScut150200);
1607     fracS150200Strp30[i]=1.-intScut150200Strp30/(intPcut150200+intScut150200Strp30);
1608     fracS150200Strm30[i]=1.-intScut150200Strm30/(intPcut150200+intScut150200Strm30);
1609     fracS150200Matp10[i]=1.-intScut150200Matp10/(intPcut150200+intScut150200Matp10);
1610     fracS150200Matm10[i]=1.-intScut150200Matm10/(intPcut150200+intScut150200Matm10);
1611     fracSfromStrange150200[i]=1.-intSfromStrangecut150200/(intPcut150200+intScut150200);
1612   }
1613   TGraph *gfracP150200=new TGraph(15,d0cut,fracP150200);
1614   gfracP150200->SetMarkerColor(2);
1615   gfracP150200->SetMarkerStyle(20);
1616   gfracP150200->Draw("ap");
1617   TGraph *gfracS150200=new TGraph(15,d0cut,fracS150200);
1618   gfracS150200->SetMarkerColor(4);
1619   gfracS150200->SetMarkerStyle(21);
1620   gfracS150200->Draw("p");
1621   TGraph *gfracSfromStrange150200=new TGraph(15,d0cut,fracSfromStrange150200);
1622   gfracSfromStrange150200->SetMarkerColor(8);
1623   gfracSfromStrange150200->SetMarkerStyle(22);
1624   gfracSfromStrange150200->Draw("p");  
1625    
1626   c3->cd(2);
1627   Float_t fracP350450[15],fracS350450[15],fracSfromStrange350450[15],fracS350450Strp30[15],fracS350450Strm30[15],fracS350450Matm10[15],fracS350450Matp10[15];
1628   Float_t intPtot350450=fHistd0rphiITSMIoneSPDInAccP350450MC->Integral(1,fHistd0rphiITSMIoneSPDInAccP350450MC->GetNbinsX());
1629   for(Int_t i=0;i<15;i++) {
1630     Int_t bin1=fHistd0rphiITSMIoneSPDInAccP350450MC->FindBin(-d0cut[i]);
1631     Int_t bin2=fHistd0rphiITSMIoneSPDInAccP350450MC->FindBin(+d0cut[i]);
1632     Float_t intPcut350450=fHistd0rphiITSMIoneSPDInAccP350450MC->Integral(bin1,bin2);
1633     Float_t intScut350450=fHistd0rphiITSMIoneSPDInAccS350450MC->Integral(bin1,bin2);
1634     Float_t intSfromStrangecut350450=fHistd0rphiITSMIoneSPDInAccS350450fromStrangeMC->Integral(bin1,bin2);
1635     Float_t intScut350450Strp30 = intScut350450 + 0.3*intSfromStrangecut350450; 
1636     Float_t intScut350450Strm30 = intScut350450 - 0.3*intSfromStrangecut350450; 
1637     Float_t intScut350450Matp10 = intScut350450 + 0.1*(intScut350450-intSfromStrangecut350450); 
1638     Float_t intScut350450Matm10 = intScut350450 - 0.1*(intScut350450-intSfromStrangecut350450); 
1639     fracP350450[i]=intPcut350450/intPtot350450;
1640     fracS350450[i]=1.-intScut350450/(intPcut350450+intScut350450);
1641     fracS350450Strp30[i]=1.-intScut350450Strp30/(intPcut350450+intScut350450Strp30);
1642     fracS350450Strm30[i]=1.-intScut350450Strm30/(intPcut350450+intScut350450Strm30);
1643     fracS350450Matp10[i]=1.-intScut350450Matp10/(intPcut350450+intScut350450Matp10);
1644     fracS350450Matm10[i]=1.-intScut350450Matm10/(intPcut350450+intScut350450Matm10);
1645     fracSfromStrange350450[i]=1.-intSfromStrangecut350450/(intPcut350450+intScut350450);
1646   }
1647   TGraph *gfracP350450=new TGraph(15,d0cut,fracP350450);
1648   gfracP350450->SetMarkerColor(2);
1649   gfracP350450->SetMarkerStyle(20);
1650   gfracP350450->Draw("ap");
1651   TGraph *gfracS350450=new TGraph(15,d0cut,fracS350450);
1652   gfracS350450->SetMarkerColor(4);
1653   gfracS350450->SetMarkerStyle(21);
1654   gfracS350450->Draw("p");
1655   TGraph *gfracSfromStrange350450=new TGraph(15,d0cut,fracSfromStrange350450);
1656   gfracSfromStrange350450->SetMarkerColor(8);
1657   gfracSfromStrange350450->SetMarkerStyle(22);
1658   gfracSfromStrange350450->Draw("p");
1659
1660   c3->cd(3);
1661   Float_t fracP500700[15],fracS500700[15],fracSfromStrange500700[15],fracS500700Strp30[15],fracS500700Strm30[15],fracS500700Matm10[15],fracS500700Matp10[15];
1662   Float_t intPtot500700=fHistd0rphiITSMIoneSPDInAccP500700MC->Integral(1,fHistd0rphiITSMIoneSPDInAccP500700MC->GetNbinsX());
1663   for(Int_t i=0;i<15;i++) {
1664     Int_t bin1=fHistd0rphiITSMIoneSPDInAccP500700MC->FindBin(-d0cut[i]);
1665     Int_t bin2=fHistd0rphiITSMIoneSPDInAccP500700MC->FindBin(+d0cut[i]);
1666     Float_t intPcut500700=fHistd0rphiITSMIoneSPDInAccP500700MC->Integral(bin1,bin2);
1667     Float_t intScut500700=fHistd0rphiITSMIoneSPDInAccS500700MC->Integral(bin1,bin2);
1668     Float_t intSfromStrangecut500700=fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC->Integral(bin1,bin2);
1669     Float_t intScut500700Strp30 = intScut500700 + 0.3*intSfromStrangecut500700; 
1670     Float_t intScut500700Strm30 = intScut500700 - 0.3*intSfromStrangecut500700; 
1671     Float_t intScut500700Matp10 = intScut500700 + 0.1*(intScut500700-intSfromStrangecut500700); 
1672     Float_t intScut500700Matm10 = intScut500700 - 0.1*(intScut500700-intSfromStrangecut500700); 
1673     fracP500700[i]=intPcut500700/intPtot500700;
1674     fracS500700[i]=1.-intScut500700/(intPcut500700+intScut500700);
1675     fracS500700Strp30[i]=1.-intScut500700Strp30/(intPcut500700+intScut500700Strp30);
1676     fracS500700Strm30[i]=1.-intScut500700Strm30/(intPcut500700+intScut500700Strm30);
1677     fracS500700Matp10[i]=1.-intScut500700Matp10/(intPcut500700+intScut500700Matp10);
1678     fracS500700Matm10[i]=1.-intScut500700Matm10/(intPcut500700+intScut500700Matm10);
1679     fracSfromStrange500700[i]=1.-intSfromStrangecut500700/(intPcut500700+intScut500700);
1680   }
1681   TGraph *gfracP500700=new TGraph(15,d0cut,fracP500700);
1682   gfracP500700->SetMarkerColor(2);
1683   gfracP500700->SetMarkerStyle(20);
1684   gfracP500700->Draw("ap");
1685   TGraph *gfracS500700=new TGraph(15,d0cut,fracS500700);
1686   gfracS500700->SetMarkerColor(4);
1687   gfracS500700->SetMarkerStyle(21);
1688   gfracS500700->Draw("p");
1689   TGraph *gfracSfromStrange500700=new TGraph(15,d0cut,fracSfromStrange500700);
1690   gfracSfromStrange500700->SetMarkerColor(8);
1691   gfracSfromStrange500700->SetMarkerStyle(22);
1692   gfracSfromStrange500700->Draw("p");
1693
1694   c3->cd(4);
1695   Float_t fracP10001500[15],fracS10001500[15],fracSfromStrange10001500[15],fracS10001500Strp30[15],fracS10001500Strm30[15],fracS10001500Matm10[15],fracS10001500Matp10[15];
1696   Float_t intPtot10001500=fHistd0rphiITSMIoneSPDInAccP10001500MC->Integral(1,fHistd0rphiITSMIoneSPDInAccP10001500MC->GetNbinsX());
1697   for(Int_t i=0;i<15;i++) {
1698     Int_t bin1=fHistd0rphiITSMIoneSPDInAccP10001500MC->FindBin(-d0cut[i]);
1699     Int_t bin2=fHistd0rphiITSMIoneSPDInAccP10001500MC->FindBin(+d0cut[i]);
1700     Float_t intPcut10001500=fHistd0rphiITSMIoneSPDInAccP10001500MC->Integral(bin1,bin2);
1701     Float_t intScut10001500=fHistd0rphiITSMIoneSPDInAccS10001500MC->Integral(bin1,bin2);
1702     Float_t intSfromStrangecut10001500=fHistd0rphiITSMIoneSPDInAccS10001500fromStrangeMC->Integral(bin1,bin2);
1703     Float_t intScut10001500Strp30 = intScut10001500 + 0.3*intSfromStrangecut10001500; 
1704     Float_t intScut10001500Strm30 = intScut10001500 - 0.3*intSfromStrangecut10001500; 
1705     Float_t intScut10001500Matp10 = intScut10001500 + 0.1*(intScut10001500-intSfromStrangecut10001500); 
1706     Float_t intScut10001500Matm10 = intScut10001500 - 0.1*(intScut10001500-intSfromStrangecut10001500); 
1707     fracP10001500[i]=intPcut10001500/intPtot10001500;
1708     fracS10001500[i]=1.-intScut10001500/(intPcut10001500+intScut10001500);
1709     fracS10001500Strp30[i]=1.-intScut10001500Strp30/(intPcut10001500+intScut10001500Strp30);
1710     fracS10001500Strm30[i]=1.-intScut10001500Strm30/(intPcut10001500+intScut10001500Strm30);
1711     fracS10001500Matp10[i]=1.-intScut10001500Matp10/(intPcut10001500+intScut10001500Matp10);
1712     fracS10001500Matm10[i]=1.-intScut10001500Matm10/(intPcut10001500+intScut10001500Matm10);
1713     fracSfromStrange10001500[i]=1.-intSfromStrangecut10001500/(intPcut10001500+intScut10001500);
1714   }
1715   TGraph *gfracP10001500=new TGraph(15,d0cut,fracP10001500);
1716   gfracP10001500->SetMarkerColor(2);
1717   gfracP10001500->SetMarkerStyle(20);
1718   gfracP10001500->Draw("ap");
1719   TGraph *gfracS10001500=new TGraph(15,d0cut,fracS10001500);
1720   gfracS10001500->SetMarkerColor(4);
1721   gfracS10001500->SetMarkerStyle(21);
1722   gfracS10001500->Draw("p");
1723   TGraph *gfracSfromStrange10001500=new TGraph(15,d0cut,fracSfromStrange10001500);
1724   gfracSfromStrange10001500->SetMarkerColor(8);
1725   gfracSfromStrange10001500->SetMarkerStyle(22);
1726   gfracSfromStrange10001500->Draw("p");
1727   
1728   c3->cd(5);
1729   Float_t fracP25004000[15],fracS25004000[15],fracSfromStrange25004000[15],fracS25004000Strp30[15],fracS25004000Strm30[15],fracS25004000Matm10[15],fracS25004000Matp10[15];
1730   Float_t intPtot25004000=fHistd0rphiITSMIoneSPDInAccP25004000MC->Integral(1,fHistd0rphiITSMIoneSPDInAccP25004000MC->GetNbinsX());
1731   for(Int_t i=0;i<15;i++) {
1732     Int_t bin1=fHistd0rphiITSMIoneSPDInAccP25004000MC->FindBin(-d0cut[i]);
1733     Int_t bin2=fHistd0rphiITSMIoneSPDInAccP25004000MC->FindBin(+d0cut[i]);
1734     Float_t intPcut25004000=fHistd0rphiITSMIoneSPDInAccP25004000MC->Integral(bin1,bin2);
1735     Float_t intScut25004000=fHistd0rphiITSMIoneSPDInAccS25004000MC->Integral(bin1,bin2);
1736     Float_t intSfromStrangecut25004000=fHistd0rphiITSMIoneSPDInAccS25004000fromStrangeMC->Integral(bin1,bin2);
1737     Float_t intScut25004000Strp30 = intScut25004000 + 0.3*intSfromStrangecut25004000; 
1738     Float_t intScut25004000Strm30 = intScut25004000 - 0.3*intSfromStrangecut25004000; 
1739     Float_t intScut25004000Matp10 = intScut25004000 + 0.1*(intScut25004000-intSfromStrangecut25004000); 
1740     Float_t intScut25004000Matm10 = intScut25004000 - 0.1*(intScut25004000-intSfromStrangecut25004000); 
1741     fracP25004000[i]=intPcut25004000/intPtot25004000;
1742     fracS25004000[i]=1.-intScut25004000/(intPcut25004000+intScut25004000);
1743     fracS25004000Strp30[i]=1.-intScut25004000Strp30/(intPcut25004000+intScut25004000Strp30);
1744     fracS25004000Strm30[i]=1.-intScut25004000Strm30/(intPcut25004000+intScut25004000Strm30);
1745     fracS25004000Matp10[i]=1.-intScut25004000Matp10/(intPcut25004000+intScut25004000Matp10);
1746     fracS25004000Matm10[i]=1.-intScut25004000Matm10/(intPcut25004000+intScut25004000Matm10);
1747     fracSfromStrange25004000[i]=1.-intSfromStrangecut25004000/(intPcut25004000+intScut25004000);
1748   }
1749   TGraph *gfracP25004000=new TGraph(15,d0cut,fracP25004000);
1750   gfracP25004000->SetMarkerColor(2);
1751   gfracP25004000->SetMarkerStyle(20);
1752   gfracP25004000->Draw("ap");
1753   TGraph *gfracS25004000=new TGraph(15,d0cut,fracS25004000);
1754   gfracS25004000->SetMarkerColor(4);
1755   gfracS25004000->SetMarkerStyle(21);
1756   gfracS25004000->Draw("p");
1757   TGraph *gfracSfromStrange25004000=new TGraph(15,d0cut,fracSfromStrange25004000);
1758   gfracSfromStrange25004000->SetMarkerColor(8);
1759   gfracSfromStrange25004000->SetMarkerStyle(22);
1760   gfracSfromStrange25004000->Draw("p");
1761
1762   c3->cd(6);
1763   Float_t fracP40008000[15],fracS40008000[15],fracSfromStrange40008000[15],fracS40008000Strp30[15],fracS40008000Strm30[15],fracS40008000Matm10[15],fracS40008000Matp10[15];
1764   Float_t intPtot40008000=fHistd0rphiITSMIoneSPDInAccP40008000MC->Integral(1,fHistd0rphiITSMIoneSPDInAccP40008000MC->GetNbinsX());
1765   for(Int_t i=0;i<15;i++) {
1766     Int_t bin1=fHistd0rphiITSMIoneSPDInAccP40008000MC->FindBin(-d0cut[i]);
1767     Int_t bin2=fHistd0rphiITSMIoneSPDInAccP40008000MC->FindBin(+d0cut[i]);
1768     Float_t intPcut40008000=fHistd0rphiITSMIoneSPDInAccP40008000MC->Integral(bin1,bin2);
1769     Float_t intScut40008000=fHistd0rphiITSMIoneSPDInAccS40008000MC->Integral(bin1,bin2);
1770     Float_t intSfromStrangecut40008000=fHistd0rphiITSMIoneSPDInAccS40008000fromStrangeMC->Integral(bin1,bin2);
1771     Float_t intScut40008000Strp30 = intScut40008000 + 0.3*intSfromStrangecut40008000; 
1772     Float_t intScut40008000Strm30 = intScut40008000 - 0.3*intSfromStrangecut40008000; 
1773     Float_t intScut40008000Matp10 = intScut40008000 + 0.1*(intScut40008000-intSfromStrangecut40008000); 
1774     Float_t intScut40008000Matm10 = intScut40008000 - 0.1*(intScut40008000-intSfromStrangecut40008000); 
1775     fracP40008000[i]=intPcut40008000/intPtot40008000;
1776     fracS40008000[i]=1.-intScut40008000/(intPcut40008000+intScut40008000);
1777     fracS40008000Strp30[i]=1.-intScut40008000Strp30/(intPcut40008000+intScut40008000Strp30);
1778     fracS40008000Strm30[i]=1.-intScut40008000Strm30/(intPcut40008000+intScut40008000Strm30);
1779     fracS40008000Matp10[i]=1.-intScut40008000Matp10/(intPcut40008000+intScut40008000Matp10);
1780     fracS40008000Matm10[i]=1.-intScut40008000Matm10/(intPcut40008000+intScut40008000Matm10);
1781     fracSfromStrange40008000[i]=1.-intSfromStrangecut40008000/(intPcut40008000+intScut40008000);
1782   }
1783   TGraph *gfracP40008000=new TGraph(15,d0cut,fracP40008000);
1784   gfracP40008000->SetMarkerColor(2);
1785   gfracP40008000->SetMarkerStyle(20);
1786   gfracP40008000->Draw("ap");
1787   TGraph *gfracS40008000=new TGraph(15,d0cut,fracS40008000);
1788   gfracS40008000->SetMarkerColor(4);
1789   gfracS40008000->SetMarkerStyle(21);
1790   gfracS40008000->Draw("p");
1791   TGraph *gfracSfromStrange40008000=new TGraph(15,d0cut,fracSfromStrange40008000);
1792   gfracSfromStrange40008000->SetMarkerColor(8);
1793   gfracSfromStrange40008000->SetMarkerStyle(22);
1794   gfracSfromStrange40008000->Draw("p");
1795
1796   
1797   TCanvas *c4 = new TCanvas("c4","c4");
1798   c4->Divide(3,1);
1799   c4_1->SetLogx();
1800   c4_2->SetLogx();
1801   c4_3->SetLogx();
1802
1803   c4->cd(1);
1804   Float_t intDatacut150200[15],intDataPcut150200[15],intDataPall150200[15];
1805   for(Int_t i=0;i<15;i++) {
1806     Int_t bin1=fHistd0rphiITSMIoneSPDInAcc150200->FindBin(-d0cut[i]);
1807     Int_t bin2=fHistd0rphiITSMIoneSPDInAcc150200->FindBin(+d0cut[i]);
1808     intDatacut150200[i]=fHistd0rphiITSMIoneSPDInAcc150200->Integral(bin1,bin2);
1809     intDataPcut150200[i]=intDatacut150200[i]*fracS150200[i];
1810     intDataPall150200[i]=intDataPcut150200[i]/fracP150200[i];
1811   }
1812   TGraph *gintDatacut150200=new TGraph(15,d0cut,intDatacut150200);
1813   gintDatacut150200->SetMarkerColor(1);
1814   gintDatacut150200->SetMarkerStyle(20);
1815   gintDatacut150200->Draw("ap");
1816   TGraph *gintDataPcut150200=new TGraph(15,d0cut,intDataPcut150200);
1817   gintDataPcut150200->SetMarkerColor(1);
1818   gintDataPcut150200->SetMarkerStyle(24);
1819   gintDataPcut150200->Draw("p");
1820   TGraph *gintDataPall150200=new TGraph(15,d0cut,intDataPall150200);
1821   gintDataPall150200->SetMarkerColor(2);
1822   gintDataPall150200->SetMarkerStyle(22);
1823   gintDataPall150200->Draw("p");
1824
1825   c4->cd(2);
1826   Float_t intDatacut500700[15],intDataPcut500700[15],intDataPall500700[15];
1827   for(Int_t i=0;i<15;i++) {
1828     Int_t bin1=fHistd0rphiITSMIoneSPDInAcc500700->FindBin(-d0cut[i]);
1829     Int_t bin2=fHistd0rphiITSMIoneSPDInAcc500700->FindBin(+d0cut[i]);
1830     intDatacut500700[i]=fHistd0rphiITSMIoneSPDInAcc500700->Integral(bin1,bin2);
1831     intDataPcut500700[i]=intDatacut500700[i]*fracS500700[i];
1832     intDataPall500700[i]=intDataPcut500700[i]/fracP500700[i];
1833   }
1834   TGraph *gintDatacut500700=new TGraph(15,d0cut,intDatacut500700);
1835   gintDatacut500700->SetMarkerColor(1);
1836   gintDatacut500700->SetMarkerStyle(20);
1837   gintDatacut500700->Draw("ap");
1838   TGraph *gintDataPcut500700=new TGraph(15,d0cut,intDataPcut500700);
1839   gintDataPcut500700->SetMarkerColor(1);
1840   gintDataPcut500700->SetMarkerStyle(24);
1841   gintDataPcut500700->Draw("p");
1842   TGraph *gintDataPall500700=new TGraph(15,d0cut,intDataPall500700);
1843   gintDataPall500700->SetMarkerColor(2);
1844   gintDataPall500700->SetMarkerStyle(22);
1845   gintDataPall500700->Draw("p");
1846
1847   c4->cd(3);
1848   Float_t intDatacut10001500[15],intDataPcut10001500[15],intDataPall10001500[15];
1849   for(Int_t i=0;i<15;i++) {
1850     Int_t bin1=fHistd0rphiITSMIoneSPDInAcc10001500->FindBin(-d0cut[i]);
1851     Int_t bin2=fHistd0rphiITSMIoneSPDInAcc10001500->FindBin(+d0cut[i]);
1852     intDatacut10001500[i]=fHistd0rphiITSMIoneSPDInAcc10001500->Integral(bin1,bin2);
1853     intDataPcut10001500[i]=intDatacut10001500[i]*fracS10001500[i];
1854     intDataPall10001500[i]=intDataPcut10001500[i]/fracP10001500[i];
1855   }
1856   TGraph *gintDatacut10001500=new TGraph(15,d0cut,intDatacut10001500);
1857   gintDatacut10001500->SetMarkerColor(1);
1858   gintDatacut10001500->SetMarkerStyle(20);
1859   gintDatacut10001500->Draw("ap");
1860   TGraph *gintDataPcut10001500=new TGraph(15,d0cut,intDataPcut10001500);
1861   gintDataPcut10001500->SetMarkerColor(1);
1862   gintDataPcut10001500->SetMarkerStyle(24);
1863   gintDataPcut10001500->Draw("p");
1864   TGraph *gintDataPall10001500=new TGraph(15,d0cut,intDataPall10001500);
1865   gintDataPall10001500->SetMarkerColor(2);
1866   gintDataPall10001500->SetMarkerStyle(22);
1867   gintDataPall10001500->Draw("p");
1868
1869   
1870   TCanvas *c5 = new TCanvas("c5","c5");
1871   c5->Divide(3,1);
1872   c5_1->SetLogx();
1873   c5_2->SetLogx();
1874   c5_3->SetLogx();
1875
1876   c5->cd(1);
1877   Float_t intDataPall150200Strp30[15],intDataPall150200Strm30[15],intDataPall150200Matp10[15],intDataPall150200Matm10[15];
1878   for(Int_t i=0;i<15;i++) {
1879     intDataPall150200Strp30[i]=intDatacut150200[i]*fracS150200Strp30[i]/fracP150200[i];
1880     intDataPall150200Strm30[i]=intDatacut150200[i]*fracS150200Strm30[i]/fracP150200[i];
1881     intDataPall150200Matp10[i]=intDatacut150200[i]*fracS150200Matp10[i]/fracP150200[i];
1882     intDataPall150200Matm10[i]=intDatacut150200[i]*fracS150200Matm10[i]/fracP150200[i];
1883   }
1884   gintDataPall150200->Draw("ap");
1885
1886   TGraph *gintDataPall150200Strp30=new TGraph(15,d0cut,intDataPall150200Strp30);
1887   gintDataPall150200Strp30->SetMarkerColor(1);
1888   gintDataPall150200Strp30->SetMarkerStyle(22);
1889   gintDataPall150200Strp30->Draw("p");
1890   TGraph *gintDataPall150200Strm30=new TGraph(15,d0cut,intDataPall150200Strm30);
1891   gintDataPall150200Strm30->SetMarkerColor(1);
1892   gintDataPall150200Strm30->SetMarkerStyle(22);
1893   gintDataPall150200Strm30->Draw("p");
1894   TGraph *gintDataPall150200Matp10=new TGraph(15,d0cut,intDataPall150200Matp10);
1895   gintDataPall150200Matp10->SetMarkerColor(3);
1896   gintDataPall150200Matp10->SetMarkerStyle(22);
1897   gintDataPall150200Matp10->Draw("p");
1898   TGraph *gintDataPall150200Matm10=new TGraph(15,d0cut,intDataPall150200Matm10);
1899   gintDataPall150200Matm10->SetMarkerColor(3);
1900   gintDataPall150200Matm10->SetMarkerStyle(22);
1901   gintDataPall150200Matm10->Draw("p");
1902
1903   c5->cd(2);
1904   Float_t intDataPall500700Strp30[15],intDataPall500700Strm30[15],intDataPall500700Matp10[15],intDataPall500700Matm10[15];
1905   for(Int_t i=0;i<15;i++) {
1906     intDataPall500700Strp30[i]=intDatacut500700[i]*fracS500700Strp30[i]/fracP500700[i];
1907     intDataPall500700Strm30[i]=intDatacut500700[i]*fracS500700Strm30[i]/fracP500700[i];
1908     intDataPall500700Matp10[i]=intDatacut500700[i]*fracS500700Matp10[i]/fracP500700[i];
1909     intDataPall500700Matm10[i]=intDatacut500700[i]*fracS500700Matm10[i]/fracP500700[i];
1910   }
1911   gintDataPall500700->Draw("ap");
1912
1913   TGraph *gintDataPall500700Strp30=new TGraph(15,d0cut,intDataPall500700Strp30);
1914   gintDataPall500700Strp30->SetMarkerColor(1);
1915   gintDataPall500700Strp30->SetMarkerStyle(22);
1916   gintDataPall500700Strp30->Draw("p");
1917   TGraph *gintDataPall500700Strm30=new TGraph(15,d0cut,intDataPall500700Strm30);
1918   gintDataPall500700Strm30->SetMarkerColor(1);
1919   gintDataPall500700Strm30->SetMarkerStyle(22);
1920   gintDataPall500700Strm30->Draw("p");
1921   TGraph *gintDataPall500700Matp10=new TGraph(15,d0cut,intDataPall500700Matp10);
1922   gintDataPall500700Matp10->SetMarkerColor(3);
1923   gintDataPall500700Matp10->SetMarkerStyle(22);
1924   gintDataPall500700Matp10->Draw("p");
1925   TGraph *gintDataPall500700Matm10=new TGraph(15,d0cut,intDataPall500700Matm10);
1926   gintDataPall500700Matm10->SetMarkerColor(3);
1927   gintDataPall500700Matm10->SetMarkerStyle(22);
1928   gintDataPall500700Matm10->Draw("p");
1929
1930   c5->cd(3);
1931   Float_t intDataPall10001500Strp30[15],intDataPall10001500Strm30[15],intDataPall10001500Matp10[15],intDataPall10001500Matm10[15];
1932   for(Int_t i=0;i<15;i++) {
1933     intDataPall10001500Strp30[i]=intDatacut10001500[i]*fracS10001500Strp30[i]/fracP10001500[i];
1934     intDataPall10001500Strm30[i]=intDatacut10001500[i]*fracS10001500Strm30[i]/fracP10001500[i];
1935     intDataPall10001500Matp10[i]=intDatacut10001500[i]*fracS10001500Matp10[i]/fracP10001500[i];
1936     intDataPall10001500Matm10[i]=intDatacut10001500[i]*fracS10001500Matm10[i]/fracP10001500[i];
1937   }
1938   gintDataPall10001500->Draw("ap");
1939
1940   TGraph *gintDataPall10001500Strp30=new TGraph(15,d0cut,intDataPall10001500Strp30);
1941   gintDataPall10001500Strp30->SetMarkerColor(1);
1942   gintDataPall10001500Strp30->SetMarkerStyle(22);
1943   gintDataPall10001500Strp30->Draw("p");
1944   TGraph *gintDataPall10001500Strm30=new TGraph(15,d0cut,intDataPall10001500Strm30);
1945   gintDataPall10001500Strm30->SetMarkerColor(1);
1946   gintDataPall10001500Strm30->SetMarkerStyle(22);
1947   gintDataPall10001500Strm30->Draw("p");
1948   TGraph *gintDataPall10001500Matp10=new TGraph(15,d0cut,intDataPall10001500Matp10);
1949   gintDataPall10001500Matp10->SetMarkerColor(3);
1950   gintDataPall10001500Matp10->SetMarkerStyle(22);
1951   gintDataPall10001500Matp10->Draw("p");
1952   TGraph *gintDataPall10001500Matm10=new TGraph(15,d0cut,intDataPall10001500Matm10);
1953   gintDataPall10001500Matm10->SetMarkerColor(3);
1954   gintDataPall10001500Matm10->SetMarkerStyle(22);
1955   gintDataPall10001500Matm10->Draw("p");
1956   
1957   return;
1958 }
1959 //---------------------------------------------------------------------------
1960 void PlotImpPar_z() {
1961
1962   TFile *fMC= new TFile("ITS.Performance_lhc10a8_100k.root");
1963
1964   TList *list=(TList*)fMC->Get("cOutputITS");
1965   TH1F *fHistd0zITSMIoneSPDInAccP150200MC = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccP150200");
1966   TH1F *fHistd0zITSMIoneSPDInAccS150200MC = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccS150200");
1967   TH1F *fHistd0zITSMIoneSPDInAccP500700MC = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccP500700");
1968   TH1F *fHistd0zITSMIoneSPDInAccS500700MC = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccS500700");
1969   TH1F *fHistd0zITSMIoneSPDInAccP10001500MC = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccP10001500");
1970   TH1F *fHistd0zITSMIoneSPDInAccS10001500MC = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccS10001500");
1971   TH1F *fHistd0zITSMIoneSPDInAcc150200MC=(TH1F*)fHistd0zITSMIoneSPDInAccP150200MC->Clone("fHistd0zITSMIoneSPDInAcc150200MC");
1972   fHistd0zITSMIoneSPDInAcc150200MC->Add(fHistd0zITSMIoneSPDInAccS150200MC);
1973   fHistd0zITSMIoneSPDInAcc150200MC->Scale(1./fHistd0zITSMIoneSPDInAcc150200MC->GetEntries());
1974   TH1F *fHistd0zITSMIoneSPDInAcc500700MC=(TH1F*)fHistd0zITSMIoneSPDInAccP500700MC->Clone("fHistd0zITSMIoneSPDInAcc500700MC");
1975   fHistd0zITSMIoneSPDInAcc500700MC->Add(fHistd0zITSMIoneSPDInAccS500700MC);
1976   fHistd0zITSMIoneSPDInAcc500700MC->Scale(1./fHistd0zITSMIoneSPDInAcc500700MC->GetEntries());
1977   TH1F *fHistd0zITSMIoneSPDInAcc10001500MC=(TH1F*)fHistd0zITSMIoneSPDInAccP10001500MC->Clone("fHistd0zITSMIoneSPDInAcc10001500MC");
1978   fHistd0zITSMIoneSPDInAcc10001500MC->Add(fHistd0zITSMIoneSPDInAccS10001500MC);
1979   fHistd0zITSMIoneSPDInAcc10001500MC->Scale(1./fHistd0zITSMIoneSPDInAcc10001500MC->GetEntries());
1980
1981
1982   TFile *f= new TFile("ITS.Performance_104892.root");
1983
1984   TList *list=(TList*)f->Get("cOutputITS");
1985   TH1F *fHistd0zITSMIoneSPDInAccP150200 = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccP150200");
1986   TH1F *fHistd0zITSMIoneSPDInAccS150200 = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccS150200");
1987   TH1F *fHistd0zITSMIoneSPDInAccP500700 = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccP500700");
1988   TH1F *fHistd0zITSMIoneSPDInAccS500700 = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccS500700");
1989   TH1F *fHistd0zITSMIoneSPDInAccP10001500 = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccP10001500");
1990   TH1F *fHistd0zITSMIoneSPDInAccS10001500 = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccS10001500");
1991   TH1F *fHistd0zITSMIoneSPDInAcc150200=(TH1F*)fHistd0zITSMIoneSPDInAccP150200->Clone("fHistd0zITSMIoneSPDInAcc150200");
1992   fHistd0zITSMIoneSPDInAcc150200->Add(fHistd0zITSMIoneSPDInAccS150200);
1993   fHistd0zITSMIoneSPDInAcc150200->Scale(1./fHistd0zITSMIoneSPDInAcc150200->GetEntries());
1994   TH1F *fHistd0zITSMIoneSPDInAcc500700=(TH1F*)fHistd0zITSMIoneSPDInAccP500700->Clone("fHistd0zITSMIoneSPDInAcc500700");
1995   fHistd0zITSMIoneSPDInAcc500700->Add(fHistd0zITSMIoneSPDInAccS500700);
1996   fHistd0zITSMIoneSPDInAcc500700->Scale(1./fHistd0zITSMIoneSPDInAcc500700->GetEntries());
1997   TH1F *fHistd0zITSMIoneSPDInAcc10001500=(TH1F*)fHistd0zITSMIoneSPDInAccP10001500->Clone("fHistd0zITSMIoneSPDInAcc10001500");
1998   fHistd0zITSMIoneSPDInAcc10001500->Add(fHistd0zITSMIoneSPDInAccS10001500);
1999   fHistd0zITSMIoneSPDInAcc10001500->Scale(1./fHistd0zITSMIoneSPDInAcc10001500->GetEntries());
2000
2001
2002   TCanvas *c1 = new TCanvas("c1","c1");
2003   c1->Divide(3,1);
2004   c1->cd(1);
2005   fHistd0zITSMIoneSPDInAcc150200MC->SetLineColor(2);
2006   fHistd0zITSMIoneSPDInAcc150200MC->Draw();
2007   fHistd0zITSMIoneSPDInAcc150200->SetLineColor(4);
2008   fHistd0zITSMIoneSPDInAcc150200->Draw("same");
2009   c1->cd(2);
2010   fHistd0zITSMIoneSPDInAcc500700MC->SetLineColor(2);
2011   fHistd0zITSMIoneSPDInAcc500700MC->Draw();
2012   fHistd0zITSMIoneSPDInAcc500700->SetLineColor(4);
2013   fHistd0zITSMIoneSPDInAcc500700->Draw("same");
2014   c1->cd(3);
2015   fHistd0zITSMIoneSPDInAcc10001500MC->SetLineColor(2);
2016   fHistd0zITSMIoneSPDInAcc10001500MC->Draw();
2017   fHistd0zITSMIoneSPDInAcc10001500->SetLineColor(4);
2018   fHistd0zITSMIoneSPDInAcc10001500->Draw("same");
2019
2020   TCanvas *c2 = new TCanvas("c2","c2");
2021   c2->Divide(3,1);
2022   c2_1->SetLogy();
2023   c2_2->SetLogy();
2024   c2_3->SetLogy();
2025   c2->cd(1);
2026   fHistd0zITSMIoneSPDInAccP150200MC->SetMinimum(1);
2027   fHistd0zITSMIoneSPDInAccS150200MC->SetMinimum(1);
2028   fHistd0zITSMIoneSPDInAccP150200MC->SetLineColor(1);
2029   fHistd0zITSMIoneSPDInAccP150200MC->Draw();
2030   fHistd0zITSMIoneSPDInAccS150200MC->SetLineColor(6);
2031   fHistd0zITSMIoneSPDInAccS150200MC->Draw("same");
2032   c2->cd(2);
2033   fHistd0zITSMIoneSPDInAccP500700MC->SetMinimum(1);
2034   fHistd0zITSMIoneSPDInAccS500700MC->SetMinimum(1);
2035   fHistd0zITSMIoneSPDInAccP500700MC->SetLineColor(1);
2036   fHistd0zITSMIoneSPDInAccP500700MC->Draw();
2037   fHistd0zITSMIoneSPDInAccS500700MC->SetLineColor(6);
2038   fHistd0zITSMIoneSPDInAccS500700MC->Draw("same");
2039   c2->cd(3);
2040   fHistd0zITSMIoneSPDInAccP10001500MC->SetMinimum(1);
2041   fHistd0zITSMIoneSPDInAccS10001500MC->SetMinimum(1);
2042   fHistd0zITSMIoneSPDInAccP10001500MC->SetLineColor(1);
2043   fHistd0zITSMIoneSPDInAccP10001500MC->Draw();
2044   fHistd0zITSMIoneSPDInAccS10001500MC->SetLineColor(6);
2045   fHistd0zITSMIoneSPDInAccS10001500MC->Draw("same");
2046
2047
2048   TCanvas *c3 = new TCanvas("c3","c3");
2049   c3->Divide(3,1);
2050   c3_1->SetLogx();
2051   c3_2->SetLogx();
2052   c3_3->SetLogx();
2053   Float_t d0cut[15]={0.05,0.06,0.08,0.10,0.15,0.2,0.25,0.30,0.35,0.40,0.50,0.60,0.80,1.,3.40};
2054
2055   c3->cd(1);
2056   Float_t fracP150200[15],fracS150200[15];
2057   Float_t intPtot150200=fHistd0zITSMIoneSPDInAccP150200MC->Integral(1,fHistd0zITSMIoneSPDInAccP150200MC->GetNbinsX());
2058   for(Int_t i=0;i<15;i++) {
2059     Int_t bin1=fHistd0zITSMIoneSPDInAccP150200MC->FindBin(-d0cut[i]);
2060     Int_t bin2=fHistd0zITSMIoneSPDInAccP150200MC->FindBin(+d0cut[i]);
2061     Float_t intPcut150200=fHistd0zITSMIoneSPDInAccP150200MC->Integral(bin1,bin2);
2062     Float_t intScut150200=fHistd0zITSMIoneSPDInAccS150200MC->Integral(bin1,bin2);
2063     fracP150200[i]=intPcut150200/intPtot150200;
2064     fracS150200[i]=1.-intScut150200/(intPcut150200+intScut150200);
2065   }
2066   TGraph *gfracP150200=new TGraph(15,d0cut,fracP150200);
2067   gfracP150200->SetMarkerColor(2);
2068   gfracP150200->SetMarkerStyle(20);
2069   gfracP150200->Draw("ap");
2070   TGraph *gfracS150200=new TGraph(15,d0cut,fracS150200);
2071   gfracS150200->SetMarkerColor(4);
2072   gfracS150200->SetMarkerStyle(21);
2073   gfracS150200->Draw("p");
2074
2075   c3->cd(2);
2076   Float_t fracP500700[15],fracS500700[15];
2077   Float_t intPtot500700=fHistd0zITSMIoneSPDInAccP500700MC->Integral(1,fHistd0zITSMIoneSPDInAccP500700MC->GetNbinsX());
2078   for(Int_t i=0;i<15;i++) {
2079     Int_t bin1=fHistd0zITSMIoneSPDInAccP500700MC->FindBin(-d0cut[i]);
2080     Int_t bin2=fHistd0zITSMIoneSPDInAccP500700MC->FindBin(+d0cut[i]);
2081     Float_t intPcut500700=fHistd0zITSMIoneSPDInAccP500700MC->Integral(bin1,bin2);
2082     Float_t intScut500700=fHistd0zITSMIoneSPDInAccS500700MC->Integral(bin1,bin2);
2083     fracP500700[i]=intPcut500700/intPtot500700;
2084     fracS500700[i]=1.-intScut500700/(intPcut500700+intScut500700);
2085   }
2086   TGraph *gfracP500700=new TGraph(15,d0cut,fracP500700);
2087   gfracP500700->SetMarkerColor(2);
2088   gfracP500700->SetMarkerStyle(20);
2089   gfracP500700->Draw("ap");
2090   TGraph *gfracS500700=new TGraph(15,d0cut,fracS500700);
2091   gfracS500700->SetMarkerColor(4);
2092   gfracS500700->SetMarkerStyle(21);
2093   gfracS500700->Draw("p");
2094
2095   c3->cd(3);
2096   Float_t fracP10001500[15],fracS10001500[15];
2097   Float_t intPtot10001500=fHistd0zITSMIoneSPDInAccP10001500MC->Integral(1,fHistd0zITSMIoneSPDInAccP10001500MC->GetNbinsX());
2098   for(Int_t i=0;i<15;i++) {
2099     Int_t bin1=fHistd0zITSMIoneSPDInAccP10001500MC->FindBin(-d0cut[i]);
2100     Int_t bin2=fHistd0zITSMIoneSPDInAccP10001500MC->FindBin(+d0cut[i]);
2101     Float_t intPcut10001500=fHistd0zITSMIoneSPDInAccP10001500MC->Integral(bin1,bin2);
2102     Float_t intScut10001500=fHistd0zITSMIoneSPDInAccS10001500MC->Integral(bin1,bin2);
2103     fracP10001500[i]=intPcut10001500/intPtot10001500;
2104     fracS10001500[i]=1.-intScut10001500/(intPcut10001500+intScut10001500);
2105   }
2106   TGraph *gfracP10001500=new TGraph(15,d0cut,fracP10001500);
2107   gfracP10001500->SetMarkerColor(2);
2108   gfracP10001500->SetMarkerStyle(20);
2109   gfracP10001500->Draw("ap");
2110   TGraph *gfracS10001500=new TGraph(15,d0cut,fracS10001500);
2111   gfracS10001500->SetMarkerColor(4);
2112   gfracS10001500->SetMarkerStyle(21);
2113   gfracS10001500->Draw("p");
2114
2115   return;
2116 }
2117 //----------------------------------------------------------------------------
2118 void Corrections() {
2119
2120   TFile *f_cutits= new TFile("ITS.Performance_lhc09d10_500k_noz0cut_nodcaTPC.root");
2121
2122   TList *list=(TList*)f_cutits->Get("cOutputITS");
2123
2124   TH1F *fHistNEvents = (TH1F*)list->FindObject("fHistNEvents");
2125   Float_t nEventsSelWithVertex = fHistNEvents->GetBinContent(5);
2126
2127   TH1F *fHistPtITSTPCsel = (TH1F*)list->FindObject("fHistPtITSTPCsel");
2128   NormalizePtHist(fHistPtITSTPCsel,nEventsSelWithVertex);
2129   TH1F *fHistPtITSTPCselP = (TH1F*)list->FindObject("fHistPtITSTPCselP");
2130   NormalizePtHist(fHistPtITSTPCselP,nEventsSelWithVertex);
2131   TH1F *fHistPtITSTPCselS = (TH1F*)list->FindObject("fHistPtITSTPCselS");
2132   NormalizePtHist(fHistPtITSTPCselS,nEventsSelWithVertex);
2133   TH1F *fHistPtITSTPCselPfromStrange = (TH1F*)list->FindObject("fHistPtITSTPCselPfromStrange");
2134   NormalizePtHist(fHistPtITSTPCselPfromStrange,nEventsSelWithVertex);
2135   TH1F *fHistPtITSTPCselSfromStrange = (TH1F*)list->FindObject("fHistPtITSTPCselSfromStrange");
2136   NormalizePtHist(fHistPtITSTPCselSfromStrange,nEventsSelWithVertex);
2137   TH1F *fHistPtITSTPCselSfromMat = (TH1F*)list->FindObject("fHistPtITSTPCselSfromMat");
2138   NormalizePtHist(fHistPtITSTPCselSfromMat,nEventsSelWithVertex);
2139
2140
2141   TFile *f_cuttpc= new TFile("ITS.Performance_lhc09d10_500k_noz0cut.root");
2142
2143   TList *list=(TList*)f_cuttpc->Get("cOutputITS");
2144
2145   TH1F *fHistNEvents = (TH1F*)list->FindObject("fHistNEvents");
2146   nEventsSelWithVertex = fHistNEvents->GetBinContent(5);
2147
2148   TH1F *fHistPtTPCInAcc = (TH1F*)list->FindObject("fHistPtTPCInAcc");
2149   NormalizePtHist(fHistPtTPCInAcc,nEventsSelWithVertex);
2150   TH1F *fHistPtTPCInAccP = (TH1F*)list->FindObject("fHistPtTPCInAccP");
2151   NormalizePtHist(fHistPtTPCInAccP,nEventsSelWithVertex);
2152   TH1F *fHistPtTPCInAccS = (TH1F*)list->FindObject("fHistPtTPCInAccS");
2153   NormalizePtHist(fHistPtTPCInAccS,nEventsSelWithVertex);
2154   TH1F *fHistPtTPCInAccPfromStrange = (TH1F*)list->FindObject("fHistPtTPCInAccPfromStrange"); 
2155   NormalizePtHist(fHistPtTPCInAccPfromStrange,nEventsSelWithVertex);
2156  TH1F *fHistPtTPCInAccSfromStrange = (TH1F*)list->FindObject("fHistPtTPCInAccSfromStrange");
2157   NormalizePtHist(fHistPtTPCInAccSfromStrange,nEventsSelWithVertex);
2158   TH1F *fHistPtTPCInAccSfromMat = (TH1F*)list->FindObject("fHistPtTPCInAccSfromMat");
2159   NormalizePtHist(fHistPtTPCInAccSfromMat,nEventsSelWithVertex);
2160
2161
2162   TFile *f_nocut= new TFile("ITS.Performance_lhc09d10_500k_nod0z0cut.root");
2163
2164   TList *list=(TList*)f_nocut->Get("cOutputITS");
2165
2166   TH1F *fHistNEvents = (TH1F*)list->FindObject("fHistNEvents");
2167   nEventsSelWithVertex = fHistNEvents->GetBinContent(5);
2168
2169   TH1F *fHistPtITSTPCselnocut = (TH1F*)list->FindObject("fHistPtITSTPCsel");
2170   NormalizePtHist(fHistPtITSTPCselnocut,nEventsSelWithVertex);
2171   TH1F *fHistPtITSTPCselnocutP = (TH1F*)list->FindObject("fHistPtITSTPCselP");
2172   NormalizePtHist(fHistPtITSTPCselnocutP,nEventsSelWithVertex);
2173   TH1F *fHistPtITSTPCselnocutS = (TH1F*)list->FindObject("fHistPtITSTPCselS");
2174   NormalizePtHist(fHistPtITSTPCselnocutS,nEventsSelWithVertex);
2175   TH1F *fHistPtITSTPCselnocutPfromStrange = (TH1F*)list->FindObject("fHistPtITSTPCselPfromStrange");
2176   NormalizePtHist(fHistPtITSTPCselnocutPfromStrange,nEventsSelWithVertex);
2177   TH1F *fHistPtITSTPCselnocutSfromStrange = (TH1F*)list->FindObject("fHistPtITSTPCselSfromStrange");
2178   NormalizePtHist(fHistPtITSTPCselnocutSfromStrange,nEventsSelWithVertex);
2179   TH1F *fHistPtITSTPCselnocutSfromMat = (TH1F*)list->FindObject("fHistPtITSTPCselSfromMat");
2180   NormalizePtHist(fHistPtITSTPCselnocutSfromMat,nEventsSelWithVertex);
2181
2182   TH1F *fHistPtTPCInAccnocut = (TH1F*)list->FindObject("fHistPtTPCInAcc");
2183   NormalizePtHist(fHistPtTPCInAccnocut,nEventsSelWithVertex);
2184   TH1F *fHistPtTPCInAccnocutP = (TH1F*)list->FindObject("fHistPtTPCInAccP");
2185   NormalizePtHist(fHistPtTPCInAccnocutP,nEventsSelWithVertex);
2186   TH1F *fHistPtTPCInAccnocutS = (TH1F*)list->FindObject("fHistPtTPCInAccS");
2187   NormalizePtHist(fHistPtTPCInAccnocutS,nEventsSelWithVertex);
2188   TH1F *fHistPtTPCInAccnocutPfromStrange = (TH1F*)list->FindObject("fHistPtTPCInAccPfromStrange"); 
2189   NormalizePtHist(fHistPtTPCInAccnocutPfromStrange,nEventsSelWithVertex);
2190   TH1F *fHistPtTPCInAccnocutSfromStrange = (TH1F*)list->FindObject("fHistPtTPCInAccSfromStrange");
2191   NormalizePtHist(fHistPtTPCInAccnocutSfromStrange,nEventsSelWithVertex);
2192   TH1F *fHistPtTPCInAccnocutSfromMat = (TH1F*)list->FindObject("fHistPtTPCInAccSfromMat");
2193   NormalizePtHist(fHistPtTPCInAccnocutSfromMat,nEventsSelWithVertex);
2194
2195   // cut efficiencies
2196   
2197   TH1F *fHistPtITSTPCeffselP = (TH1F*)fHistPtITSTPCselP->Clone("fHistPtITSTPCeffselP");
2198   fHistPtITSTPCeffselP->Divide(fHistPtITSTPCselnocutP);
2199   TH1F *fHistPtITSTPCeffselS = (TH1F*)fHistPtITSTPCselS->Clone("fHistPtITSTPCeffselS");
2200   fHistPtITSTPCeffselS->Divide(fHistPtITSTPCselnocutS);
2201   TH1F *fHistPtITSTPCeffselSfromStrange = (TH1F*)fHistPtITSTPCselSfromStrange->Clone("fHistPtITSTPCeffselSfromStrange");
2202   fHistPtITSTPCeffselSfromStrange->Divide(fHistPtITSTPCselnocutSfromStrange);
2203   TH1F *fHistPtITSTPCeffselSfromMat = (TH1F*)fHistPtITSTPCselSfromMat->Clone("fHistPtITSTPCeffselSfromMat");
2204   fHistPtITSTPCeffselSfromMat->Divide(fHistPtITSTPCselnocutSfromMat);
2205
2206   TH1F *fHistPtTPCeffInAccP = (TH1F*)fHistPtTPCInAccP->Clone("fHistPtTPCeffInAccP");
2207   fHistPtTPCeffInAccP->Divide(fHistPtTPCInAccnocutP);
2208   TH1F *fHistPtTPCeffInAccS = (TH1F*)fHistPtTPCInAccS->Clone("fHistPtTPCeffInAccS");
2209   fHistPtTPCeffInAccS->Divide(fHistPtTPCInAccnocutS);
2210   TH1F *fHistPtTPCeffInAccSfromStrange = (TH1F*)fHistPtTPCInAccSfromStrange->Clone("fHistPtTPCeffInAccSfromStrange");
2211   fHistPtTPCeffInAccSfromStrange->Divide(fHistPtTPCInAccnocutSfromStrange);
2212   TH1F *fHistPtTPCeffInAccSfromMat = (TH1F*)fHistPtTPCInAccSfromMat->Clone("fHistPtTPCeffInAccSfromMat");
2213   fHistPtTPCeffInAccSfromMat->Divide(fHistPtTPCInAccnocutSfromMat);
2214
2215
2216   TLegend *l0=new TLegend(0.5,0.5,0.9,0.9);
2217   TCanvas *c0=new TCanvas("c0","c0");
2218   c0->Divide(2,1);
2219   c0->cd(1);
2220   TH1F *fHistPtITSTPCselFracS = (TH1F*)fHistPtITSTPCselS->Clone("fHistPtITSTPCselFracS");
2221   fHistPtITSTPCselFracS->Divide(fHistPtITSTPCsel);
2222   fHistPtITSTPCselFracS->SetLineColor(2);
2223   l0->AddEntry(fHistPtITSTPCselFracS,"secondaries","l");
2224   fHistPtITSTPCselFracS->Draw();
2225   TH1F *fHistPtITSTPCselFracSfromStrange = (TH1F*)fHistPtITSTPCselSfromStrange->Clone("fHistPtITSTPCselFracSfromStrange");
2226   fHistPtITSTPCselFracSfromStrange->Divide(fHistPtITSTPCsel);
2227   fHistPtITSTPCselFracSfromStrange->SetLineColor(6);
2228   l0->AddEntry(fHistPtITSTPCselFracSfromStrange,"sec. from strange","l");
2229   fHistPtITSTPCselFracSfromStrange->Draw("same");
2230   TH1F *fHistPtITSTPCselFracSfromMat = (TH1F*)fHistPtITSTPCselSfromMat->Clone("fHistPtITSTPCselFracSfromMat");
2231   fHistPtITSTPCselFracSfromMat->Divide(fHistPtITSTPCsel);
2232   fHistPtITSTPCselFracSfromMat->SetLineColor(kOrange+7);
2233   l0->AddEntry(fHistPtITSTPCselFracSfromMat,"sec. from material","l");
2234   fHistPtITSTPCselFracSfromMat->Draw("same");
2235   l0->Draw();
2236   c0->cd(2);
2237   TH1F *fHistPtTPCInAccFracS = (TH1F*)fHistPtTPCInAccS->Clone("fHistPtTPCInAccFracS");
2238   fHistPtTPCInAccFracS->Divide(fHistPtTPCInAcc);
2239   fHistPtTPCInAccFracS->SetLineColor(2);
2240   fHistPtTPCInAccFracS->Draw();
2241   TH1F *fHistPtTPCInAccFracSfromStrange = (TH1F*)fHistPtTPCInAccSfromStrange->Clone("fHistPtTPCInAccFracSfromStrange");
2242   fHistPtTPCInAccFracSfromStrange->Divide(fHistPtTPCInAcc);
2243   fHistPtTPCInAccFracSfromStrange->SetLineColor(6);
2244   fHistPtTPCInAccFracSfromStrange->Draw("same");
2245   TH1F *fHistPtTPCInAccFracSfromMat = (TH1F*)fHistPtTPCInAccSfromMat->Clone("fHistPtTPCInAccFracSfromMat");
2246   fHistPtTPCInAccFracSfromMat->Divide(fHistPtTPCInAcc);
2247   fHistPtTPCInAccFracSfromMat->SetLineColor(kOrange+7);
2248   fHistPtTPCInAccFracSfromMat->Draw("same");
2249
2250   TLegend *l1=new TLegend(0.5,0.5,0.9,0.9);
2251   TCanvas *c1=new TCanvas("c1","c1");
2252   c1->Divide(2,1);
2253   c1->cd(1);
2254   fHistPtITSTPCeffselP->SetYTitle("dca cut efficiency");
2255   fHistPtITSTPCeffselP->SetLineColor(1);
2256   l1->AddEntry(fHistPtITSTPCeffselP,"primaries","l");
2257   fHistPtITSTPCeffselP->Draw();
2258   fHistPtITSTPCeffselS->SetLineColor(2);
2259   l1->AddEntry(fHistPtITSTPCeffselS,"secondaries","l");
2260   fHistPtITSTPCeffselS->Draw("same");
2261   fHistPtITSTPCeffselSfromStrange->SetLineColor(6);
2262   l1->AddEntry(fHistPtITSTPCeffselSfromStrange,"sec. from strange","l");
2263   fHistPtITSTPCeffselSfromStrange->Draw("same");
2264   fHistPtITSTPCeffselSfromMat->SetLineColor(kOrange+7);
2265   l1->AddEntry(fHistPtITSTPCeffselSfromMat,"sec. from material","l");
2266   fHistPtITSTPCeffselSfromMat->Draw("same");
2267   l1->Draw();
2268   c1->cd(2);
2269   fHistPtTPCeffInAccP->SetYTitle("dca cut efficiency");
2270   fHistPtTPCeffInAccP->SetLineColor(1);
2271   fHistPtTPCeffInAccP->Draw();
2272   fHistPtTPCeffInAccS->SetLineColor(2);
2273   fHistPtTPCeffInAccS->Draw("same");
2274   fHistPtTPCeffInAccSfromStrange->SetLineColor(6);
2275   fHistPtTPCeffInAccSfromStrange->Draw("same");
2276   fHistPtTPCeffInAccSfromMat->SetLineColor(kOrange+7);
2277   fHistPtTPCeffInAccSfromMat->Draw("same");
2278
2279
2280
2281   Float_t weightStrange=1.;
2282   Float_t weightMat=1.;
2283
2284   TH1F *fHistPtITSTPCselCocktail = MakeCocktail(fHistPtITSTPCselP,
2285                                                 fHistPtITSTPCselPfromStrange,
2286                                                 fHistPtITSTPCselS,
2287                                                 fHistPtITSTPCselSfromStrange,
2288                                                 fHistPtITSTPCselSfromMat,
2289                                                 weightStrange,
2290                                                 weightMat,
2291                                                 "fHistPtITSTPCselCocktail");
2292
2293   TH1F *fHistPtITSTPCselPCocktail = CorrectToP(fHistPtITSTPCselCocktail,
2294                                                fHistPtITSTPCselSfromStrange,
2295                                                fHistPtITSTPCselSfromMat,
2296                                                weightStrange,
2297                                                weightMat,
2298                                                "fHistPtITSTPCselPCocktail");
2299
2300   TH1F *fHistPtITSTPCallPCocktail = CorrectToPnocut(fHistPtITSTPCselPCocktail,
2301                                                     fHistPtITSTPCeffselP,
2302                                                     "fHistPtITSTPCallPCocktail");
2303
2304
2305   TH1F *fHistPtTPCInAccCocktail = MakeCocktail(fHistPtTPCInAccP,
2306                                                 fHistPtTPCInAccPfromStrange,
2307                                                 fHistPtTPCInAccS,
2308                                                 fHistPtTPCInAccSfromStrange,
2309                                                 fHistPtTPCInAccSfromMat,
2310                                                 weightStrange,
2311                                                weightMat,
2312                                                "fHistPtTPCInAccCocktail");
2313
2314   TH1F *fHistPtTPCInAccPCocktail = CorrectToP(fHistPtTPCInAccCocktail,
2315                                               fHistPtTPCInAccSfromStrange,
2316                                               fHistPtTPCInAccSfromMat,
2317                                               weightStrange,
2318                                               weightMat,
2319                                               "fHistPtTPCInAccPCocktail");
2320
2321   TH1F *fHistPtTPCallPCocktail = CorrectToPnocut(fHistPtTPCInAccPCocktail,
2322                                                  fHistPtTPCeffInAccP,
2323                                                  "fHistPtTPCallPCocktail");
2324
2325
2326
2327   TLegend *l2=new TLegend(0.5,0.5,0.9,0.9);
2328   TCanvas *c2 = new TCanvas("c2","c2");
2329   c2->Divide(2,1);
2330   c2->cd(1);
2331   fHistPtITSTPCselCocktail->SetLineColor(4);
2332   l2->AddEntry(fHistPtITSTPCselCocktail,"all, with dca cut","l");
2333   fHistPtITSTPCselCocktail->Draw();
2334   fHistPtITSTPCselPCocktail->SetLineColor(7);
2335   l2->AddEntry(fHistPtITSTPCselPCocktail,"primaries, with dca cut","l");
2336   fHistPtITSTPCselPCocktail->Draw("same");
2337   fHistPtITSTPCallPCocktail->SetLineColor(6);
2338   l2->AddEntry(fHistPtITSTPCallPCocktail,"primaries, w/o dca cut","l");
2339   fHistPtITSTPCallPCocktail->Draw("same");
2340   l2->Draw();
2341   c2->cd(2);
2342   fHistPtTPCInAccCocktail->SetLineColor(4);
2343   fHistPtTPCInAccCocktail->Draw();
2344   fHistPtTPCInAccPCocktail->SetLineColor(7);
2345   fHistPtTPCInAccPCocktail->Draw("same");
2346   fHistPtTPCallPCocktail->SetLineColor(6);
2347   fHistPtTPCallPCocktail->Draw("same");
2348
2349
2350   // systematic from secondaries
2351   weightStrange=1.3;
2352   weightMat=1.0;
2353   TH1F *fHistPtITSTPCselPCocktail1 = CorrectToP(fHistPtITSTPCselCocktail,
2354                                                fHistPtITSTPCselSfromStrange,
2355                                                fHistPtITSTPCselSfromMat,
2356                                                weightStrange,
2357                                                weightMat,
2358                                                "fHistPtITSTPCselPCocktail1");
2359   TH1F *fHistPtITSTPCallPCocktail1 = CorrectToPnocut(fHistPtITSTPCselPCocktail1,
2360                                                     fHistPtITSTPCeffselP,
2361                                                     "fHistPtITSTPCallPCocktail1");
2362   weightStrange=0.7;
2363   weightMat=1.0;
2364   TH1F *fHistPtITSTPCselPCocktail2 = CorrectToP(fHistPtITSTPCselCocktail,
2365                                                fHistPtITSTPCselSfromStrange,
2366                                                fHistPtITSTPCselSfromMat,
2367                                                weightStrange,
2368                                                weightMat,
2369                                                "fHistPtITSTPCselPCocktail2");
2370   TH1F *fHistPtITSTPCallPCocktail2 = CorrectToPnocut(fHistPtITSTPCselPCocktail2,
2371                                                     fHistPtITSTPCeffselP,
2372                                                     "fHistPtITSTPCallPCocktail2");
2373   weightStrange=1.0;
2374   weightMat=1.1;
2375   TH1F *fHistPtITSTPCselPCocktail3 = CorrectToP(fHistPtITSTPCselCocktail,
2376                                                fHistPtITSTPCselSfromStrange,
2377                                                fHistPtITSTPCselSfromMat,
2378                                                weightStrange,
2379                                                weightMat,
2380                                                "fHistPtITSTPCselPCocktail3");
2381   TH1F *fHistPtITSTPCallPCocktail3 = CorrectToPnocut(fHistPtITSTPCselPCocktail3,
2382                                                     fHistPtITSTPCeffselP,
2383                                                     "fHistPtITSTPCallPCocktail3");
2384   weightStrange=1.0;
2385   weightMat=0.9;
2386   TH1F *fHistPtITSTPCselPCocktail4 = CorrectToP(fHistPtITSTPCselCocktail,
2387                                                fHistPtITSTPCselSfromStrange,
2388                                                fHistPtITSTPCselSfromMat,
2389                                                weightStrange,
2390                                                weightMat,
2391                                                "fHistPtITSTPCselPCocktail4");
2392   TH1F *fHistPtITSTPCallPCocktail4 = CorrectToPnocut(fHistPtITSTPCselPCocktail4,
2393                                                     fHistPtITSTPCeffselP,
2394                                                     "fHistPtITSTPCallPCocktail4");
2395   weightStrange=1.3;
2396   weightMat=1.1;
2397   TH1F *fHistPtITSTPCselPCocktail5 = CorrectToP(fHistPtITSTPCselCocktail,
2398                                                fHistPtITSTPCselSfromStrange,
2399                                                fHistPtITSTPCselSfromMat,
2400                                                weightStrange,
2401                                                weightMat,
2402                                                "fHistPtITSTPCselPCocktail5");
2403   TH1F *fHistPtITSTPCallPCocktail5 = CorrectToPnocut(fHistPtITSTPCselPCocktail5,
2404                                                     fHistPtITSTPCeffselP,
2405                                                     "fHistPtITSTPCallPCocktail5");
2406   weightStrange=0.7;
2407   weightMat=0.9;
2408   TH1F *fHistPtITSTPCselPCocktail6 = CorrectToP(fHistPtITSTPCselCocktail,
2409                                                fHistPtITSTPCselSfromStrange,
2410                                                fHistPtITSTPCselSfromMat,
2411                                                weightStrange,
2412                                                weightMat,
2413                                                "fHistPtITSTPCselPCocktail6");
2414   TH1F *fHistPtITSTPCallPCocktail6 = CorrectToPnocut(fHistPtITSTPCselPCocktail6,
2415                                                     fHistPtITSTPCeffselP,
2416                                                     "fHistPtITSTPCallPCocktail6");
2417
2418   weightStrange=1.3;
2419   weightMat=1.0;
2420   TH1F *fHistPtTPCInAccPCocktail1 = CorrectToP(fHistPtTPCInAccCocktail,
2421                                                fHistPtTPCInAccSfromStrange,
2422                                                fHistPtTPCInAccSfromMat,
2423                                                weightStrange,
2424                                                weightMat,
2425                                                "fHistPtTPCInAccPCocktail1");
2426   TH1F *fHistPtTPCallPCocktail1 = CorrectToPnocut(fHistPtTPCInAccPCocktail1,
2427                                                     fHistPtTPCeffInAccP,
2428                                                     "fHistPtTPCallPCocktail1");
2429   weightStrange=0.7;
2430   weightMat=1.0;
2431   TH1F *fHistPtTPCInAccPCocktail2 = CorrectToP(fHistPtTPCInAccCocktail,
2432                                                fHistPtTPCInAccSfromStrange,
2433                                                fHistPtTPCInAccSfromMat,
2434                                                weightStrange,
2435                                                weightMat,
2436                                                "fHistPtTPCInAccPCocktail2");
2437   TH1F *fHistPtTPCallPCocktail2 = CorrectToPnocut(fHistPtTPCInAccPCocktail2,
2438                                                     fHistPtTPCeffInAccP,
2439                                                     "fHistPtTPCallPCocktail2");
2440   weightStrange=1.0;
2441   weightMat=1.1;
2442   TH1F *fHistPtTPCInAccPCocktail3 = CorrectToP(fHistPtTPCInAccCocktail,
2443                                                fHistPtTPCInAccSfromStrange,
2444                                                fHistPtTPCInAccSfromMat,
2445                                                weightStrange,
2446                                                weightMat,
2447                                                "fHistPtTPCInAccPCocktail3");
2448   TH1F *fHistPtTPCallPCocktail3 = CorrectToPnocut(fHistPtTPCInAccPCocktail3,
2449                                                     fHistPtTPCeffInAccP,
2450                                                     "fHistPtTPCallPCocktail3");
2451   weightStrange=1.0;
2452   weightMat=0.9;
2453   TH1F *fHistPtTPCInAccPCocktail4 = CorrectToP(fHistPtTPCInAccCocktail,
2454                                                fHistPtTPCInAccSfromStrange,
2455                                                fHistPtTPCInAccSfromMat,
2456                                                weightStrange,
2457                                                weightMat,
2458                                                "fHistPtTPCInAccPCocktail4");
2459   TH1F *fHistPtTPCallPCocktail4 = CorrectToPnocut(fHistPtTPCInAccPCocktail4,
2460                                                     fHistPtTPCeffInAccP,
2461                                                     "fHistPtTPCallPCocktail4");
2462   weightStrange=1.3;
2463   weightMat=1.1;
2464   TH1F *fHistPtTPCInAccPCocktail5 = CorrectToP(fHistPtTPCInAccCocktail,
2465                                                fHistPtTPCInAccSfromStrange,
2466                                                fHistPtTPCInAccSfromMat,
2467                                                weightStrange,
2468                                                weightMat,
2469                                                "fHistPtTPCInAccPCocktail5");
2470   TH1F *fHistPtTPCallPCocktail5 = CorrectToPnocut(fHistPtTPCInAccPCocktail5,
2471                                                     fHistPtTPCeffInAccP,
2472                                                     "fHistPtTPCallPCocktail5");
2473   weightStrange=0.7;
2474   weightMat=0.9;
2475   TH1F *fHistPtTPCInAccPCocktail6 = CorrectToP(fHistPtTPCInAccCocktail,
2476                                                fHistPtTPCInAccSfromStrange,
2477                                                fHistPtTPCInAccSfromMat,
2478                                                weightStrange,
2479                                                weightMat,
2480                                                "fHistPtTPCInAccPCocktail6");
2481   TH1F *fHistPtTPCallPCocktail6 = CorrectToPnocut(fHistPtTPCInAccPCocktail6,
2482                                                     fHistPtTPCeffInAccP,
2483                                                     "fHistPtTPCallPCocktail6");
2484
2485   TLegend *l3=new TLegend(0.5,0.5,0.9,0.9);
2486   TCanvas *c3 = new TCanvas("c3","c3");
2487   c3->Divide(2,1);
2488   c3->cd(1);
2489   l3->AddEntry(fHistPtITSTPCallPCocktail,"central","l");
2490   fHistPtITSTPCallPCocktail->Draw();
2491   l3->AddEntry(fHistPtITSTPCallPCocktail1,"strange #pm 30%","l");
2492   fHistPtITSTPCallPCocktail1->SetLineColor(1);
2493   fHistPtITSTPCallPCocktail2->SetLineColor(1);
2494   fHistPtITSTPCallPCocktail1->Draw("same");
2495   fHistPtITSTPCallPCocktail2->Draw("same");
2496   l3->AddEntry(fHistPtITSTPCallPCocktail3,"material #pm 10%","l");
2497   fHistPtITSTPCallPCocktail3->SetLineColor(8);
2498   fHistPtITSTPCallPCocktail4->SetLineColor(8);
2499   fHistPtITSTPCallPCocktail3->Draw("same");
2500   fHistPtITSTPCallPCocktail4->Draw("same");
2501   l3->AddEntry(fHistPtITSTPCallPCocktail5,"strange #pm 30% & material #pm 10%","l");
2502   fHistPtITSTPCallPCocktail5->SetLineColor(4);
2503   fHistPtITSTPCallPCocktail6->SetLineColor(4);
2504   fHistPtITSTPCallPCocktail5->Draw("same");
2505   fHistPtITSTPCallPCocktail6->Draw("same");
2506   l3->Draw();
2507   c3->cd(2);
2508   fHistPtTPCallPCocktail->Draw();
2509   fHistPtTPCallPCocktail1->SetLineColor(1);
2510   fHistPtTPCallPCocktail2->SetLineColor(1);
2511   fHistPtTPCallPCocktail1->Draw("same");
2512   fHistPtTPCallPCocktail2->Draw("same");
2513   fHistPtTPCallPCocktail3->SetLineColor(8);
2514   fHistPtTPCallPCocktail4->SetLineColor(8);
2515   fHistPtTPCallPCocktail3->Draw("same");
2516   fHistPtTPCallPCocktail4->Draw("same");
2517   fHistPtTPCallPCocktail5->SetLineColor(4);
2518   fHistPtTPCallPCocktail6->SetLineColor(4);
2519   fHistPtTPCallPCocktail5->Draw("same");
2520   fHistPtTPCallPCocktail6->Draw("same");
2521
2522   /*
2523   TCanvas *c4 = new TCanvas("c4","c4");
2524   c4->Divide(2,1);
2525   c4->cd(1);
2526   fHistPtITSTPCallPCocktail2->Add(fHistPtITSTPCallPCocktail,-1);
2527   fHistPtITSTPCallPCocktail2->Divide(fHistPtITSTPCallPCocktail);
2528   fHistPtITSTPCallPCocktail2->Draw();
2529   fHistPtITSTPCallPCocktail4->Add(fHistPtITSTPCallPCocktail,-1);
2530   fHistPtITSTPCallPCocktail4->Divide(fHistPtITSTPCallPCocktail);
2531   fHistPtITSTPCallPCocktail4->Draw("same");
2532   fHistPtITSTPCallPCocktail6->Add(fHistPtITSTPCallPCocktail,-1);
2533   fHistPtITSTPCallPCocktail6->Divide(fHistPtITSTPCallPCocktail);
2534   fHistPtITSTPCallPCocktail6->Draw("same");
2535   l3->Draw();
2536   c4->cd(2);
2537   fHistPtTPCallPCocktail2->Add(fHistPtTPCallPCocktail,-1);
2538   fHistPtTPCallPCocktail2->Divide(fHistPtTPCallPCocktail);
2539   fHistPtTPCallPCocktail2->Draw();
2540   fHistPtTPCallPCocktail4->Add(fHistPtTPCallPCocktail,-1);
2541   fHistPtTPCallPCocktail4->Divide(fHistPtTPCallPCocktail);
2542   fHistPtTPCallPCocktail4->Draw("same");
2543   fHistPtTPCallPCocktail6->Add(fHistPtTPCallPCocktail,-1);
2544   fHistPtTPCallPCocktail6->Divide(fHistPtTPCallPCocktail);
2545   fHistPtTPCallPCocktail6->Draw("same");
2546   */
2547
2548   return;
2549 }
2550 //-------------------------------------------------------------
2551 void NormalizePtHist(TH1F *h,Float_t n) {
2552
2553   for(Int_t i=1; i<=h->GetNbinsX(); i++) {
2554     if(h->GetBinContent(i)) {
2555       h->SetBinContent(i,h->GetBinContent(i)/h->GetBinWidth(i));
2556       h->SetBinError(i,h->GetBinError(i)/h->GetBinWidth(i));
2557     }
2558   }
2559   h->Scale(1./n);
2560
2561   return;
2562 }
2563 //----------------------------------------------------------------------
2564 TH1F *MakeCocktail(TH1F *fHistPtselP,
2565                    TH1F *fHistPtselPfromStrange,
2566                    TH1F *fHistPtselS,
2567                    TH1F *fHistPtselSfromStrange,
2568                    TH1F *fHistPtselSfromMat,
2569                    Float_t weightStrange,
2570                    Float_t weightMat,TString name) {
2571
2572   // build histogram with yield passing cut
2573   TH1F *fHistPtselCocktail = (TH1F*)fHistPtselP->Clone(name.Data());
2574   fHistPtselCocktail->Add(fHistPtselS);
2575   fHistPtselCocktail->Add(fHistPtselPfromStrange,weightStrange-1.);
2576   fHistPtselCocktail->Add(fHistPtselSfromStrange,weightStrange-1.);
2577   fHistPtselCocktail->Add(fHistPtselSfromMat,weightMat-1.);
2578
2579
2580   return fHistPtselCocktail;
2581 }
2582 //----------------------------------------------------------------------
2583 TH1F *CorrectToP(TH1F *fHistPtselCocktail,
2584                 TH1F *fHistPtselSfromStrange,
2585                 TH1F *fHistPtselSfromMat,
2586                 Float_t weightStrange,
2587                 Float_t weightMat,TString name) {
2588
2589
2590   // build histogram with yield of primaries passing cut
2591   TH1F* fHistPtselPCocktail = (TH1F*)fHistPtselCocktail->Clone(name.Data());
2592   fHistPtselPCocktail->Add(fHistPtselSfromStrange,-weightStrange);
2593   fHistPtselPCocktail->Add(fHistPtselSfromMat,-weightMat);
2594
2595   return fHistPtselPCocktail;
2596 }
2597 //----------------------------------------------------------------------
2598 TH1F *CorrectToPnocut(TH1F *fHistPtselPCocktail,
2599                      TH1F *fHistPteffselP,TString name) {
2600
2601   // build histogram with yield of primaries without cut
2602   TH1F *fHistPtallPCocktail = (TH1F*)fHistPtselPCocktail->Clone(name.Data());
2603   //printf("%f\n",fHistPtallPCocktail->GetBinContent(6));
2604   fHistPtallPCocktail->Divide(fHistPteffselP);
2605   //printf("%f\n",fHistPtallPCocktail->GetBinContent(6));
2606
2607   return fHistPtallPCocktail;
2608 }
2609 //----------------------------------------------------------------------
2610 void CompareTPCPt() {
2611
2612   TFile *f_tpcrefit= new TFile("ITS.Performance_104892pass2_etale05.root");
2613
2614   TList *list=(TList*)f_tpcrefit->Get("cOutputITS");
2615
2616   TH1F *fHistNEvents = (TH1F*)list->FindObject("fHistNEvents");
2617   Float_t nEventsSelWithVertex = fHistNEvents->GetBinContent(5);
2618
2619   TH1F *fHistPtTPCInAcc = (TH1F*)list->FindObject("fHistPtTPCInAcc");
2620   NormalizePtHist(fHistPtTPCInAcc,nEventsSelWithVertex);
2621   TH1F *fHistPtTPCInAccNoTRDout = (TH1F*)list->FindObject("fHistPtTPCInAccNoTRDout");
2622   NormalizePtHist(fHistPtTPCInAccNoTRDout,nEventsSelWithVertex);
2623   TH1F *fHistPtTPCInAccNoTOFout = (TH1F*)list->FindObject("fHistPtTPCInAccNoTOFout");
2624   NormalizePtHist(fHistPtTPCInAccNoTOFout,nEventsSelWithVertex);
2625   TH1F *fHistPtTPCInAccWithPtTPCAtVtx = (TH1F*)list->FindObject("fHistPtTPCInAccWithPtTPCAtVtx");
2626   NormalizePtHist(fHistPtTPCInAccWithPtTPCAtVtx,nEventsSelWithVertex);
2627   TH1F *fHistPtTPCInAccWithPtTPCAtInnerWall = (TH1F*)list->FindObject("fHistPtTPCInAccWithPtTPCAtInnerWall");
2628   NormalizePtHist(fHistPtTPCInAccWithPtTPCAtInnerWall,nEventsSelWithVertex);
2629
2630
2631   TFile *f_notpcrefit= new TFile("ITS.Performance_104892pass3_etale05.root");
2632
2633   TList *list=(TList*)f_notpcrefit->Get("cOutputITS");
2634
2635   TH1F *fHistNEventsNoRefit = (TH1F*)list->FindObject("fHistNEvents");
2636   nEventsSelWithVertex = fHistNEventsNoRefit->GetBinContent(5);
2637
2638   TH1F *fHistPtTPCInAccNoRefit = (TH1F*)list->FindObject("fHistPtTPCInAcc");
2639   NormalizePtHist(fHistPtTPCInAccNoRefit,nEventsSelWithVertex);
2640   TH1F *fHistPtTPCInAccNoTRDoutNoRefit = (TH1F*)list->FindObject("fHistPtTPCInAccNoTRDout");
2641   NormalizePtHist(fHistPtTPCInAccNoTRDoutNoRefit,nEventsSelWithVertex);
2642   TH1F *fHistPtTPCInAccNoTOFoutNoRefit = (TH1F*)list->FindObject("fHistPtTPCInAccNoTOFout");
2643   NormalizePtHist(fHistPtTPCInAccNoTOFoutNoRefit,nEventsSelWithVertex);
2644   TH1F *fHistPtTPCInAccWithPtTPCAtVtxNoRefit = (TH1F*)list->FindObject("fHistPtTPCInAccWithPtTPCAtVtx");
2645   NormalizePtHist(fHistPtTPCInAccWithPtTPCAtVtxNoRefit,nEventsSelWithVertex);
2646   TH1F *fHistPtTPCInAccWithPtTPCAtInnerWallNoRefit = (TH1F*)list->FindObject("fHistPtTPCInAccWithPtTPCAtInnerWall");
2647   NormalizePtHist(fHistPtTPCInAccWithPtTPCAtInnerWallNoRefit,nEventsSelWithVertex);
2648
2649
2650
2651   TLegend *l1 = new TLegend(0.5,0.5,0.9,0.9);
2652   TCanvas *c1=new TCanvas("c1","c1",0,0,1000,600);
2653   c1->Divide(2,1);
2654   c1->cd(1);
2655   fHistPtTPCInAcc->SetMarkerStyle(20);
2656   l1->AddEntry(fHistPtTPCInAcc,"p_{t} measurement:","");
2657   l1->AddEntry(fHistPtTPCInAcc,"at vtx, from main params","p");
2658   fHistPtTPCInAcc->Draw();
2659   fHistPtTPCInAccWithPtTPCAtVtx->SetMarkerStyle(21);
2660   fHistPtTPCInAccWithPtTPCAtVtx->SetMarkerColor(2);
2661   l1->AddEntry(fHistPtTPCInAccWithPtTPCAtVtx,"at vtx, from TPC params","p");
2662   fHistPtTPCInAccWithPtTPCAtVtx->Draw("same");
2663   fHistPtTPCInAccWithPtTPCAtInnerWall->SetMarkerStyle(25);
2664   fHistPtTPCInAccWithPtTPCAtInnerWall->SetMarkerColor(2);
2665   l1->AddEntry(fHistPtTPCInAccWithPtTPCAtInnerWall,"at r=80cm, from TPC params","p");
2666   fHistPtTPCInAccWithPtTPCAtInnerWall->Draw("same");
2667   fHistPtTPCInAccNoTOFout->SetMarkerStyle(23);
2668   fHistPtTPCInAccNoTOFout->SetMarkerColor(3);
2669   fHistPtTPCInAccNoTOFout->Draw("same");
2670   fHistPtTPCInAccNoTRDout->SetMarkerStyle(24);
2671   fHistPtTPCInAccNoTRDout->SetMarkerColor(4);
2672   fHistPtTPCInAccNoTRDout->Draw("same");
2673   l1->Draw();
2674   c1->cd(2);
2675   fHistPtTPCInAccNoRefit->SetMarkerStyle(20);
2676   fHistPtTPCInAccNoRefit->Draw();
2677   fHistPtTPCInAccWithPtTPCAtVtxNoRefit->SetMarkerStyle(21);
2678   fHistPtTPCInAccWithPtTPCAtVtxNoRefit->SetMarkerColor(2);
2679   fHistPtTPCInAccWithPtTPCAtVtxNoRefit->Draw("same");
2680   fHistPtTPCInAccWithPtTPCAtInnerWallNoRefit->SetMarkerStyle(25);
2681   fHistPtTPCInAccWithPtTPCAtInnerWallNoRefit->SetMarkerColor(2);
2682   fHistPtTPCInAccWithPtTPCAtInnerWallNoRefit->Draw("same");
2683   fHistPtTPCInAccNoTOFoutNoRefit->SetMarkerStyle(23);
2684   fHistPtTPCInAccNoTOFoutNoRefit->SetMarkerColor(3);
2685   fHistPtTPCInAccNoTOFoutNoRefit->Draw("same");
2686   fHistPtTPCInAccNoTRDoutNoRefit->SetMarkerStyle(24);
2687   fHistPtTPCInAccNoTRDoutNoRefit->SetMarkerColor(4);
2688   fHistPtTPCInAccNoTRDoutNoRefit->Draw("same");
2689   //l1->Draw();
2690
2691   return;
2692 }
2693
2694 TH1F*  gHistTemplateStrange;
2695 TH1F*  gHistTemplatePandMat;
2696 Float_t gd0min=0.15;
2697 Float_t gd0max=1.5;
2698
2699
2700 Double_t FitMCTemplate(Double_t *x, Double_t *par) {
2701    Double_t xx = x[0];
2702    if(TMath::Abs(xx)<gd0min) return 0;
2703    Int_t bin = gHistTemplateStrange->GetXaxis()->FindBin(xx);
2704    Double_t pandmat = par[0]*gHistTemplatePandMat->GetBinContent(bin);
2705    Double_t strange = par[1]*gHistTemplateStrange->GetBinContent(bin);
2706    return strange + pandmat;
2707 }
2708
2709 void FitImpPar_rphi() {
2710
2711   Int_t rebin=1;
2712
2713   TFile *fMC= new TFile("ITS.Performance_lhc10a8a12_trkvtx_noTPCdca_120310.root");
2714
2715   TList *list=(TList*)fMC->Get("cOutputITS");
2716   TH1F *fHistd0rphiITSMIoneSPDInAccPMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP150200");
2717   TH1F *fHistd0rphiITSMIoneSPDInAccSMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS150200");
2718   TH1F *fHistd0rphiITSMIoneSPDInAccSfromMatMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS150200fromMat");
2719   fHistd0rphiITSMIoneSPDInAccPMC->Rebin(rebin);
2720   fHistd0rphiITSMIoneSPDInAccSMC->Rebin(rebin);
2721   fHistd0rphiITSMIoneSPDInAccSfromMatMC->Rebin(rebin);
2722
2723   TH1F *fHistd0rphiITSMIoneSPDInAccSfromStrangeMC=(TH1F*)fHistd0rphiITSMIoneSPDInAccSMC->Clone("fHistd0rphiITSMIoneSPDInAccSfromStrangeMC");
2724   fHistd0rphiITSMIoneSPDInAccSfromStrangeMC->Add(fHistd0rphiITSMIoneSPDInAccSfromMatMC,-1.);
2725   TH1F *fHistd0rphiITSMIoneSPDInAccMC=(TH1F*)fHistd0rphiITSMIoneSPDInAccPMC->Clone("fHistd0rphiITSMIoneSPDInAccMC");
2726   fHistd0rphiITSMIoneSPDInAccMC->Add(fHistd0rphiITSMIoneSPDInAccSMC);
2727   //fHistd0rphiITSMIoneSPDInAccMC->Scale(1./fHistd0rphiITSMIoneSPDInAccMC->GetEntries());
2728   TH1F *fHistd0rphiITSMIoneSPDInAccPandMatMC=(TH1F*)fHistd0rphiITSMIoneSPDInAccPMC->Clone("fHistd0rphiITSMIoneSPDInAccPandMatMC");
2729   fHistd0rphiITSMIoneSPDInAccPandMatMC->Add(fHistd0rphiITSMIoneSPDInAccSfromMatMC);
2730
2731   // templates
2732   gHistTemplateStrange = (TH1F*)fHistd0rphiITSMIoneSPDInAccSfromStrangeMC->Clone("gHistTemplateStrange");
2733   gHistTemplatePandMat = (TH1F*)fHistd0rphiITSMIoneSPDInAccPandMatMC->Clone("gHistTemplatePandMat");
2734
2735   
2736
2737
2738   TFile *f= new TFile("ITS.Performance_104065_104892_pass4_trkvtx_noTPCdca.root");
2739   //TFile *f= new TFile("ITS.Performance_lhc10a8_300k_trkvtx_noTPCdca.root");
2740
2741   TList *list=(TList*)f->Get("cOutputITS");
2742   TH1F *fHistd0rphiITSMIoneSPDInAccP = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP150200");
2743   TH1F *fHistd0rphiITSMIoneSPDInAccS = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS150200");
2744   fHistd0rphiITSMIoneSPDInAccP->Rebin(rebin);
2745   fHistd0rphiITSMIoneSPDInAccS->Rebin(rebin);
2746
2747   TH1F *fHistd0rphiITSMIoneSPDInAcc=(TH1F*)fHistd0rphiITSMIoneSPDInAccP->Clone("fHistd0rphiITSMIoneSPDInAcc");
2748   fHistd0rphiITSMIoneSPDInAcc->Add(fHistd0rphiITSMIoneSPDInAccS);
2749
2750
2751   TF1 *fitMCtemplate = new TF1("fitMCtemplate",FitMCTemplate,-gd0max,+gd0max,2);
2752
2753   TH1F* fHistd0rphiITSMIoneSPDInAccCopy = (TH1F*)fHistd0rphiITSMIoneSPDInAcc->Clone("fHistd0rphiITSMIoneSPDInAccCopy");
2754   for(Int_t ib=1;ib<=fHistd0rphiITSMIoneSPDInAccCopy->GetNbinsX();ib++) {
2755     if(TMath::Abs(fHistd0rphiITSMIoneSPDInAccCopy->GetBinCenter(ib))<gd0min) {
2756       fHistd0rphiITSMIoneSPDInAccCopy->SetBinContent(ib,0);
2757       fHistd0rphiITSMIoneSPDInAccCopy->SetBinError(ib,0);
2758     }
2759   }
2760   fHistd0rphiITSMIoneSPDInAccCopy->Fit("fitMCtemplate","RL");
2761
2762
2763   fHistd0rphiITSMIoneSPDInAccPandMatMC->Scale(fitMCtemplate->GetParameter(0));
2764   fHistd0rphiITSMIoneSPDInAccSfromStrangeMC->Scale(fitMCtemplate->GetParameter(1));
2765   TH1F *fHistd0rphiITSMIoneSPDInAccMCFit=(TH1F*)fHistd0rphiITSMIoneSPDInAccPandMatMC->Clone("fHistd0rphiITSMIoneSPDInAccMCFit");
2766   fHistd0rphiITSMIoneSPDInAccMCFit->Add(fHistd0rphiITSMIoneSPDInAccSfromStrangeMC);
2767
2768   TCanvas *c1 = new TCanvas("c1","c1",1000,1000);
2769   c1->SetLogy();
2770   fHistd0rphiITSMIoneSPDInAccCopy->SetMinimum(1);
2771   fHistd0rphiITSMIoneSPDInAccCopy->SetMaximum(2*fHistd0rphiITSMIoneSPDInAcc->GetMaximum());
2772   fHistd0rphiITSMIoneSPDInAcc->SetMinimum(1);
2773   fHistd0rphiITSMIoneSPDInAccMC->SetMinimum(1);
2774   fHistd0rphiITSMIoneSPDInAccSfromStrangeMC->SetMinimum(1);
2775   fHistd0rphiITSMIoneSPDInAccPandMatMC->SetMinimum(1);
2776   fHistd0rphiITSMIoneSPDInAccCopy->SetLineColor(4);
2777   fHistd0rphiITSMIoneSPDInAccCopy->Draw();
2778   fHistd0rphiITSMIoneSPDInAcc->SetLineColor(4);
2779   fHistd0rphiITSMIoneSPDInAcc->Draw("same");
2780   fHistd0rphiITSMIoneSPDInAccMCFit->SetLineColor(2);
2781   fHistd0rphiITSMIoneSPDInAccMCFit->Draw("same");
2782   fHistd0rphiITSMIoneSPDInAccSfromStrangeMC->SetLineColor(3);
2783   fHistd0rphiITSMIoneSPDInAccSfromStrangeMC->Draw("same");
2784   fHistd0rphiITSMIoneSPDInAccPandMatMC->SetLineColor(15);
2785   fHistd0rphiITSMIoneSPDInAccPandMatMC->Draw("same");
2786
2787
2788
2789   TCanvas *c3 = new TCanvas("c3","c3");
2790   c3->SetLogx();
2791   c3->SetGridx();
2792   c3->SetGridy();
2793   Float_t d0cut[15]={0.0301,0.0401,0.0501,0.0601,0.0801,0.101,0.151,0.201,0.251,0.301,0.401,0.601,0.801,1.001,1.401};
2794
2795   Float_t fracSfromStrange[15],fracSfromStrangeMC[15],fracSfromMatMC[15],fracS[15],fracSMC[15],fracSRatio[15];
2796   for(Int_t i=0;i<15;i++) {
2797     Int_t bin1=fHistd0rphiITSMIoneSPDInAccPandMatMC->FindBin(-d0cut[i]);
2798     Int_t bin2=fHistd0rphiITSMIoneSPDInAccPandMatMC->FindBin(+d0cut[i]);
2799     Float_t intDatacut=fHistd0rphiITSMIoneSPDInAcc->Integral(bin1,bin2);
2800     Float_t intMCcut=fHistd0rphiITSMIoneSPDInAccMC->Integral(bin1,bin2);
2801     Float_t intSfromStrangecut=fHistd0rphiITSMIoneSPDInAccSfromStrangeMC->Integral(bin1,bin2);
2802     Float_t intSfromMatcut=fHistd0rphiITSMIoneSPDInAccSfromMatMC->Integral(bin1,bin2);
2803     fracSfromStrange[i]=intSfromStrangecut/intDatacut;
2804     fracSfromStrangeMC[i]=intSfromStrangecut/fitMCtemplate->GetParameter(1)/intMCcut;
2805     fracSfromMatMC[i]=intSfromMatcut/intMCcut;
2806
2807     fracS[i]=fracSfromStrange[i]+fracSfromMatMC[i];
2808     fracSMC[i]=fracSfromStrangeMC[i]+fracSfromMatMC[i];
2809
2810     fracSRatio[i]=fracS[i]/fracSMC[i];
2811   }
2812   TGraph *gfracSfromStrange=new TGraph(15,d0cut,fracSfromStrange);
2813   gfracSfromStrange->SetMarkerColor(2);
2814   gfracSfromStrange->SetMarkerStyle(20);
2815   gfracSfromStrange->Draw("ap");
2816
2817   TGraph *gfracSfromStrangeMC=new TGraph(15,d0cut,fracSfromStrangeMC);
2818   gfracSfromStrangeMC->SetMarkerColor(1);
2819   gfracSfromStrangeMC->SetMarkerStyle(22);
2820   gfracSfromStrangeMC->Draw("p");
2821
2822   TGraph *gfracSfromMatMC=new TGraph(15,d0cut,fracSfromMatMC);
2823   gfracSfromMatMC->SetMarkerColor(4);
2824   gfracSfromMatMC->SetMarkerStyle(21);
2825   gfracSfromMatMC->Draw("p");
2826
2827   TGraph *gfracS=new TGraph(15,d0cut,fracS);
2828   gfracS->SetMarkerColor(2);
2829   gfracS->SetMarkerStyle(24);
2830   gfracS->Draw("p");
2831
2832   TGraph *gfracSMC=new TGraph(15,d0cut,fracSMC);
2833   gfracSMC->SetMarkerColor(1);
2834   gfracSMC->SetMarkerStyle(25);
2835   gfracSMC->Draw("p");
2836
2837
2838   TCanvas *c4 = new TCanvas("c4","c4");
2839   c4->SetLogx();
2840   c4->SetGridx();
2841   c4->SetGridy();
2842
2843   TGraph *gfracSRatio=new TGraph(15,d0cut,fracSRatio);
2844   gfracSRatio->SetMarkerColor(9);
2845   gfracSRatio->SetMarkerStyle(21);
2846   gfracSRatio->Draw("ap");
2847
2848
2849   return;
2850 }
2851 //-----------------------------------------------------------------------------
2852 void PlotEffVSErrors() {
2853
2854   TFile *f1= new TFile("eff_104892_pd_testnew1.root");
2855
2856   TH1F *fHistPtITSMI6InAcctestnew1 = (TH1F*)f1->Get("fHistPtITSMI6InAcc");
2857   TH1F *fHistPtITSMIge2InAcctestnew1 = (TH1F*)f1->Get("fHistPtITSMIge2InAcc");
2858   TH1F *fHistPtITSMISPDInAcctestnew1 = (TH1F*)f1->Get("fHistPtITSMISPDInAcc");
2859   TH1F *fHistPtITSMIoneSPDInAcctestnew1 = (TH1F*)f1->Get("fHistPtITSMIoneSPDInAcc");
2860
2861   fHistPtITSMI6InAcctestnew1->SetMarkerStyle(20);
2862   fHistPtITSMIge2InAcctestnew1->SetMarkerStyle(20);
2863   fHistPtITSMISPDInAcctestnew1->SetMarkerStyle(20);
2864   fHistPtITSMIoneSPDInAcctestnew1->SetMarkerStyle(20);
2865   fHistPtITSMI6InAcctestnew1->SetMarkerColor(2);
2866   fHistPtITSMIge2InAcctestnew1->SetMarkerColor(1);
2867   fHistPtITSMISPDInAcctestnew1->SetMarkerColor(9);
2868   fHistPtITSMIoneSPDInAcctestnew1->SetMarkerColor(15);
2869
2870
2871   TFile *f2= new TFile("eff_104892_pd_testnew2.root");
2872
2873   TH1F *fHistPtITSMI6InAcctestnew2 = (TH1F*)f2->Get("fHistPtITSMI6InAcc");
2874   TH1F *fHistPtITSMIge2InAcctestnew2 = (TH1F*)f2->Get("fHistPtITSMIge2InAcc");
2875   TH1F *fHistPtITSMISPDInAcctestnew2 = (TH1F*)f2->Get("fHistPtITSMISPDInAcc");
2876   TH1F *fHistPtITSMIoneSPDInAcctestnew2 = (TH1F*)f2->Get("fHistPtITSMIoneSPDInAcc");
2877
2878   fHistPtITSMI6InAcctestnew2->SetMarkerStyle(21);
2879   fHistPtITSMIge2InAcctestnew2->SetMarkerStyle(21);
2880   fHistPtITSMISPDInAcctestnew2->SetMarkerStyle(21);
2881   fHistPtITSMIoneSPDInAcctestnew2->SetMarkerStyle(21);
2882   fHistPtITSMI6InAcctestnew2->SetMarkerColor(2);
2883   fHistPtITSMIge2InAcctestnew2->SetMarkerColor(1);
2884   fHistPtITSMISPDInAcctestnew2->SetMarkerColor(9);
2885   fHistPtITSMIoneSPDInAcctestnew2->SetMarkerColor(15);
2886
2887
2888   TFile *f3= new TFile("eff_104892_pd_testnew3.root");
2889
2890   TH1F *fHistPtITSMI6InAcctestnew3 = (TH1F*)f3->Get("fHistPtITSMI6InAcc");
2891   TH1F *fHistPtITSMIge2InAcctestnew3 = (TH1F*)f3->Get("fHistPtITSMIge2InAcc");
2892   TH1F *fHistPtITSMISPDInAcctestnew3 = (TH1F*)f3->Get("fHistPtITSMISPDInAcc");
2893   TH1F *fHistPtITSMIoneSPDInAcctestnew3 = (TH1F*)f3->Get("fHistPtITSMIoneSPDInAcc");
2894
2895   fHistPtITSMI6InAcctestnew3->SetMarkerStyle(22);
2896   fHistPtITSMIge2InAcctestnew3->SetMarkerStyle(22);
2897   fHistPtITSMISPDInAcctestnew3->SetMarkerStyle(22);
2898   fHistPtITSMIoneSPDInAcctestnew3->SetMarkerStyle(22);
2899   fHistPtITSMI6InAcctestnew3->SetMarkerColor(2);
2900   fHistPtITSMIge2InAcctestnew3->SetMarkerColor(1);
2901   fHistPtITSMISPDInAcctestnew3->SetMarkerColor(9);
2902   fHistPtITSMIoneSPDInAcctestnew3->SetMarkerColor(15);
2903
2904
2905   TFile *f5= new TFile("eff_104892_pd_testnew5.root");
2906
2907   TH1F *fHistPtITSMI6InAcctestnew5 = (TH1F*)f5->Get("fHistPtITSMI6InAcc");
2908   TH1F *fHistPtITSMIge2InAcctestnew5 = (TH1F*)f5->Get("fHistPtITSMIge2InAcc");
2909   TH1F *fHistPtITSMISPDInAcctestnew5 = (TH1F*)f5->Get("fHistPtITSMISPDInAcc");
2910   TH1F *fHistPtITSMIoneSPDInAcctestnew5 = (TH1F*)f5->Get("fHistPtITSMIoneSPDInAcc");
2911
2912   fHistPtITSMI6InAcctestnew5->SetMarkerStyle(24);
2913   fHistPtITSMIge2InAcctestnew5->SetMarkerStyle(24);
2914   fHistPtITSMISPDInAcctestnew5->SetMarkerStyle(24);
2915   fHistPtITSMIoneSPDInAcctestnew5->SetMarkerStyle(24);
2916   fHistPtITSMI6InAcctestnew5->SetMarkerColor(2);
2917   fHistPtITSMIge2InAcctestnew5->SetMarkerColor(1);
2918   fHistPtITSMISPDInAcctestnew5->SetMarkerColor(9);
2919   fHistPtITSMIoneSPDInAcctestnew5->SetMarkerColor(15);
2920
2921
2922   TFile *f6= new TFile("eff_104892_pd_testnew6.root");
2923
2924   TH1F *fHistPtITSMI6InAcctestnew6 = (TH1F*)f6->Get("fHistPtITSMI6InAcc");
2925   TH1F *fHistPtITSMIge2InAcctestnew6 = (TH1F*)f6->Get("fHistPtITSMIge2InAcc");
2926   TH1F *fHistPtITSMISPDInAcctestnew6 = (TH1F*)f6->Get("fHistPtITSMISPDInAcc");
2927   TH1F *fHistPtITSMIoneSPDInAcctestnew6 = (TH1F*)f6->Get("fHistPtITSMIoneSPDInAcc");
2928
2929   fHistPtITSMI6InAcctestnew6->SetMarkerStyle(25);
2930   fHistPtITSMIge2InAcctestnew6->SetMarkerStyle(25);
2931   fHistPtITSMISPDInAcctestnew6->SetMarkerStyle(25);
2932   fHistPtITSMIoneSPDInAcctestnew6->SetMarkerStyle(25);
2933   fHistPtITSMI6InAcctestnew6->SetMarkerColor(2);
2934   fHistPtITSMIge2InAcctestnew6->SetMarkerColor(1);
2935   fHistPtITSMISPDInAcctestnew6->SetMarkerColor(9);
2936   fHistPtITSMIoneSPDInAcctestnew6->SetMarkerColor(15);
2937
2938
2939   TFile *f7= new TFile("eff_104892_pd_testnew7.root");
2940
2941   TH1F *fHistPtITSMI6InAcctestnew7 = (TH1F*)f7->Get("fHistPtITSMI6InAcc");
2942   TH1F *fHistPtITSMIge2InAcctestnew7 = (TH1F*)f7->Get("fHistPtITSMIge2InAcc");
2943   TH1F *fHistPtITSMISPDInAcctestnew7 = (TH1F*)f7->Get("fHistPtITSMISPDInAcc");
2944   TH1F *fHistPtITSMIoneSPDInAcctestnew7 = (TH1F*)f7->Get("fHistPtITSMIoneSPDInAcc");
2945
2946   fHistPtITSMI6InAcctestnew7->SetMarkerStyle(23);
2947   fHistPtITSMIge2InAcctestnew7->SetMarkerStyle(23);
2948   fHistPtITSMISPDInAcctestnew7->SetMarkerStyle(23);
2949   fHistPtITSMIoneSPDInAcctestnew7->SetMarkerStyle(23);
2950   fHistPtITSMI6InAcctestnew7->SetMarkerColor(2);
2951   fHistPtITSMIge2InAcctestnew7->SetMarkerColor(1);
2952   fHistPtITSMISPDInAcctestnew7->SetMarkerColor(9);
2953   fHistPtITSMIoneSPDInAcctestnew7->SetMarkerColor(15);
2954
2955
2956   TFile *f8= new TFile("eff_104892_pd_testnew8.root");
2957
2958   TH1F *fHistPtITSMI6InAcctestnew8 = (TH1F*)f8->Get("fHistPtITSMI6InAcc");
2959   TH1F *fHistPtITSMIge2InAcctestnew8 = (TH1F*)f8->Get("fHistPtITSMIge2InAcc");
2960   TH1F *fHistPtITSMISPDInAcctestnew8 = (TH1F*)f8->Get("fHistPtITSMISPDInAcc");
2961   TH1F *fHistPtITSMIoneSPDInAcctestnew8 = (TH1F*)f8->Get("fHistPtITSMIoneSPDInAcc");
2962
2963   fHistPtITSMI6InAcctestnew8->SetMarkerStyle(28);
2964   fHistPtITSMIge2InAcctestnew8->SetMarkerStyle(28);
2965   fHistPtITSMISPDInAcctestnew8->SetMarkerStyle(28);
2966   fHistPtITSMIoneSPDInAcctestnew8->SetMarkerStyle(28);
2967   fHistPtITSMI6InAcctestnew8->SetMarkerColor(2);
2968   fHistPtITSMIge2InAcctestnew8->SetMarkerColor(1);
2969   fHistPtITSMISPDInAcctestnew8->SetMarkerColor(9);
2970   fHistPtITSMIoneSPDInAcctestnew8->SetMarkerColor(15);
2971
2972
2973   TCanvas *c= new TCanvas("c","c");
2974   fHistPtITSMI6InAcctestnew1->Draw();
2975   fHistPtITSMIge2InAcctestnew1->Draw("same");
2976   fHistPtITSMISPDInAcctestnew1->Draw("same");
2977   fHistPtITSMIoneSPDInAcctestnew1->Draw("same");
2978   fHistPtITSMI6InAcctestnew2->Draw("same");
2979   fHistPtITSMIge2InAcctestnew2->Draw("same");
2980   fHistPtITSMISPDInAcctestnew2->Draw("same");
2981   fHistPtITSMIoneSPDInAcctestnew2->Draw("same");
2982   fHistPtITSMI6InAcctestnew3->Draw("same");
2983   fHistPtITSMIge2InAcctestnew3->Draw("same");
2984   fHistPtITSMISPDInAcctestnew3->Draw("same");
2985   fHistPtITSMIoneSPDInAcctestnew3->Draw("same");
2986   fHistPtITSMI6InAcctestnew5->Draw("same");
2987   fHistPtITSMIge2InAcctestnew5->Draw("same");
2988   fHistPtITSMISPDInAcctestnew5->Draw("same");
2989   fHistPtITSMIoneSPDInAcctestnew5->Draw("same");
2990   fHistPtITSMI6InAcctestnew6->Draw("same");
2991   fHistPtITSMIge2InAcctestnew6->Draw("same");
2992   fHistPtITSMISPDInAcctestnew6->Draw("same");
2993   fHistPtITSMIoneSPDInAcctestnew6->Draw("same");
2994   fHistPtITSMI6InAcctestnew7->Draw("same");
2995   fHistPtITSMIge2InAcctestnew7->Draw("same");
2996   fHistPtITSMISPDInAcctestnew7->Draw("same");
2997   fHistPtITSMIoneSPDInAcctestnew7->Draw("same");
2998   fHistPtITSMI6InAcctestnew8->Draw("same");
2999   fHistPtITSMIge2InAcctestnew8->Draw("same");
3000   fHistPtITSMISPDInAcctestnew8->Draw("same");
3001   fHistPtITSMIoneSPDInAcctestnew8->Draw("same");
3002
3003
3004   return;
3005 }
3006 //--------------------------------------------------------------------------
3007 void ReweightStrange(TH1F *hPt,TH1F* hPtPfromStrange,TH1F* hPtSfromStrange) {
3008
3009   for(Int_t i=1;i<=hPt->GetNbinsX();i++) {
3010     Double_t pt=hPt->GetBinCenter(i);
3011     Double_t weight=1.;
3012     Double_t weightP=1.;
3013     if(pt<.25) {
3014       weight=1.3;//1.;
3015     } else if(pt>=0.25 && pt<0.5) {
3016       weight=1.5;//1.3;
3017     } else if(pt>=0.5 && pt<1.1) {
3018       weight=1.7;//1.44;
3019     } else if(pt>=1.1) {
3020       weight=2;//1.7;
3021     }
3022     
3023     weightP*=1.3;
3024     hPt->SetBinContent(i,hPt->GetBinContent(i)+(weight-1.)*hPtSfromStrange->GetBinContent(i));
3025     if(hPtPfromStrange) hPt->SetBinContent(i,hPt->GetBinContent(i)+(weightP-1.)*hPtPfromStrange->GetBinContent(i));
3026   }
3027
3028   return;
3029 }
3030 //--------------------------------------------------------------------------
3031 void ITSTrackingTrending(Int_t firstrun=158508,Int_t lastrun=158511,
3032                          //TString pathBeforeRun="/alice/sim/LHC11a10a_bis/",
3033                          //TString pathAfterRun="/QA67/Stage_4/004/QAresults.root",
3034                          TString pathBeforeRun="/alice/data/2011/LHC11d/000",
3035                          TString pathAfterRun="/ESDs/pass1/QAresults.root",
3036                          //TString pathBeforeRun="/alice/data/2010/LHC10b/000",
3037                          //TString pathAfterRun="/ESDs/pass2/QA9/QAresults.root",
3038                          TString pathAfterRun2="") 
3039 {
3040   //
3041   // Make ITS efficiency trending plots from QAresults.root files
3042   //
3043   gStyle->SetOptStat(0);
3044
3045   TGrid::Connect("alien://");
3046
3047   Float_t ioValues[100],ioErrors[100];
3048   Int_t index;
3049   Int_t nruns=lastrun-firstrun+1;
3050
3051
3052   TH1F *hFracSPD1 = new TH1F("hFracSPD1","SPD inner; run number; Fraction of HSs",nruns,firstrun-0.5,lastrun+0.5);
3053   hFracSPD1->SetLineColor(3);
3054   hFracSPD1->SetMarkerColor(3);
3055   hFracSPD1->SetMarkerStyle(20);
3056   TH1F *hFracSPD2 = new TH1F("hFracSPD2","SPD outer; run number; Fraction of HSs",nruns,firstrun-0.5,lastrun+0.5);
3057   hFracSPD2->SetLineColor(8);
3058   hFracSPD2->SetMarkerColor(8);
3059
3060
3061   TH1F *hEffge2Pt02 = new TH1F("hEffge2Pt02","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3062   hEffge2Pt02->SetLineWidth(2);
3063   hEffge2Pt02->SetLineColor(1);
3064   hEffge2Pt02->SetMarkerColor(1);
3065   hEffge2Pt02->SetMarkerStyle(20);
3066   TH1F *hEffge2Pt1 = new TH1F("hEffge2Pt1","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3067   hEffge2Pt1->SetLineWidth(2);
3068   hEffge2Pt1->SetLineColor(1);
3069   hEffge2Pt1->SetMarkerColor(1);
3070   hEffge2Pt1->SetMarkerStyle(20);
3071   TH1F *hEffge2Pt10 = new TH1F("hEffge2Pt10","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3072   hEffge2Pt10->SetLineWidth(2);
3073   hEffge2Pt10->SetLineColor(1);
3074   hEffge2Pt10->SetMarkerColor(1);
3075   hEffge2Pt10->SetMarkerStyle(20);
3076
3077   TH1F *hEff6Pt02 = new TH1F("hEff6Pt02","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3078   hEff6Pt02->SetLineWidth(2);
3079   hEff6Pt02->SetLineColor(2);
3080   hEff6Pt02->SetMarkerColor(2);
3081   hEff6Pt02->SetMarkerStyle(20);
3082   TH1F *hEff6Pt1 = new TH1F("hEff6Pt1","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3083   hEff6Pt1->SetLineWidth(2);
3084   hEff6Pt1->SetLineColor(2);
3085   hEff6Pt1->SetMarkerColor(2);
3086   hEff6Pt1->SetMarkerStyle(20);
3087   TH1F *hEff6Pt10 = new TH1F("hEff6Pt10","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3088   hEff6Pt10->SetLineWidth(2);
3089   hEff6Pt10->SetLineColor(2);
3090   hEff6Pt10->SetMarkerColor(2);
3091   hEff6Pt10->SetMarkerStyle(20);
3092
3093   TH1F *hEffSPDPt02 = new TH1F("hEffSPDPt02","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3094   hEffSPDPt02->SetLineWidth(2);
3095   hEffSPDPt02->SetLineColor(9);
3096   hEffSPDPt02->SetMarkerColor(9);
3097   hEffSPDPt02->SetMarkerStyle(20);
3098   TH1F *hEffSPDPt1 = new TH1F("hEffSPDPt1","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3099   hEffSPDPt1->SetLineWidth(2);
3100   hEffSPDPt1->SetLineColor(9);
3101   hEffSPDPt1->SetMarkerColor(9);
3102   hEffSPDPt1->SetMarkerStyle(20);
3103   TH1F *hEffSPDPt10 = new TH1F("hEffSPDPt10","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3104   hEffSPDPt10->SetLineWidth(2);
3105   hEffSPDPt10->SetLineColor(9);
3106   hEffSPDPt10->SetMarkerColor(9);
3107   hEffSPDPt10->SetMarkerStyle(20);
3108
3109   TH1F *hEffoneSPDPt02 = new TH1F("hEffoneSPDPt02","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3110   hEffoneSPDPt02->SetLineWidth(2);
3111   hEffoneSPDPt02->SetLineColor(15);
3112   hEffoneSPDPt02->SetMarkerColor(15);
3113   hEffoneSPDPt02->SetMarkerStyle(20);
3114   TH1F *hEffoneSPDPt1 = new TH1F("hEffoneSPDPt1","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3115   hEffoneSPDPt1->SetLineWidth(2);
3116   hEffoneSPDPt1->SetLineColor(15);
3117   hEffoneSPDPt1->SetMarkerColor(15);
3118   hEffoneSPDPt1->SetMarkerStyle(20);
3119   TH1F *hEffoneSPDPt10 = new TH1F("hEffoneSPDPt10","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3120   hEffoneSPDPt10->SetLineWidth(2);
3121   hEffoneSPDPt10->SetLineColor(15);
3122   hEffoneSPDPt10->SetMarkerColor(15);
3123   hEffoneSPDPt10->SetMarkerStyle(20);
3124
3125   // loop on runs
3126   for(Int_t irun=firstrun; irun<=lastrun; irun++) {
3127     if(!KeepRun(irun)) continue;
3128
3129     TString path=pathBeforeRun;
3130     path+=irun;
3131     path.Append(pathAfterRun.Data());
3132     path.Prepend("alien://");
3133
3134     printf("%s\n",path.Data());
3135
3136     if(!PlotITSTrackingHists(path.Data(),ioValues,ioErrors)) {
3137       if(pathAfterRun2.Data()=="") continue;
3138       TString path2=pathBeforeRun;
3139       path2+=irun;
3140       path2.Append(pathAfterRun2.Data());
3141       path2.Prepend("alien://");
3142       if(!PlotITSTrackingHists(path2.Data(),ioValues,ioErrors)) continue;
3143     }
3144
3145     Int_t bin=hEffge2Pt1->FindBin(irun);
3146
3147
3148     // fill histos
3149     index=0;
3150     hFracSPD1->SetBinContent(bin,ioValues[index]);
3151     hFracSPD1->SetBinError(bin,.01);
3152     index=1;
3153     hFracSPD2->SetBinContent(bin,ioValues[index]);
3154     hFracSPD2->SetBinError(bin,.01);
3155
3156     index=2;
3157     hEffge2Pt02->SetBinContent(bin,ioValues[index]);
3158     hEffge2Pt02->SetBinError(bin,ioErrors[index]);
3159     index=3;
3160     hEffge2Pt1->SetBinContent(bin,ioValues[index]);
3161     hEffge2Pt1->SetBinError(bin,ioErrors[index]);
3162     index=4;
3163     hEffge2Pt10->SetBinContent(bin,ioValues[index]);
3164     hEffge2Pt10->SetBinError(bin,ioErrors[index]);
3165
3166     index=5;
3167     hEff6Pt02->SetBinContent(bin,ioValues[index]);
3168     hEff6Pt02->SetBinError(bin,ioErrors[index]);
3169     index=6;
3170     hEff6Pt1->SetBinContent(bin,ioValues[index]);
3171     hEff6Pt1->SetBinError(bin,ioErrors[index]);
3172     index=7;
3173     hEff6Pt10->SetBinContent(bin,ioValues[index]);
3174     hEff6Pt10->SetBinError(bin,ioErrors[index]);
3175
3176     index=8;
3177     hEffSPDPt02->SetBinContent(bin,ioValues[index]);
3178     hEffSPDPt02->SetBinError(bin,ioErrors[index]);
3179     index=9;
3180     hEffSPDPt1->SetBinContent(bin,ioValues[index]);
3181     hEffSPDPt1->SetBinError(bin,ioErrors[index]);
3182     index=10;
3183     hEffSPDPt10->SetBinContent(bin,ioValues[index]);
3184     hEffSPDPt10->SetBinError(bin,ioErrors[index]);
3185
3186     index=11;
3187     hEffoneSPDPt02->SetBinContent(bin,ioValues[index]);
3188     hEffoneSPDPt02->SetBinError(bin,ioErrors[index]);
3189     index=12;
3190     hEffoneSPDPt1->SetBinContent(bin,ioValues[index]);
3191     hEffoneSPDPt1->SetBinError(bin,ioErrors[index]);
3192     index=13;
3193     hEffoneSPDPt10->SetBinContent(bin,ioValues[index]);
3194     hEffoneSPDPt10->SetBinError(bin,ioErrors[index]);
3195
3196   }
3197
3198   TCanvas *cSPD = new TCanvas("cSPD","cSPD",0,0,1000,300);
3199   cSPD->SetGridy();
3200   hFracSPD1->SetMaximum(1.2);
3201   hFracSPD1->SetMaximum(0);
3202   hFracSPD1->Draw("p");
3203   hFracSPD2->Draw("same,p");
3204   TLegend* lSPD=new TLegend(0.9,0.8,1,1);
3205   lSPD->AddEntry(hFracSPD1,"Frac. SPD1 ON","l");
3206   lSPD->AddEntry(hFracSPD2,"Frac. SPD2 ON","l");
3207   lSPD->Draw();
3208
3209   TCanvas *cPt02 = new TCanvas("cPt02","cPt02",0,0,1000,300);
3210   cPt02->SetGridy();
3211   hEffge2Pt02->SetMaximum(1.2);
3212   hEffge2Pt02->SetMaximum(0);
3213   hEffge2Pt02->Draw();
3214   hEff6Pt02->Draw("same");
3215   hEffSPDPt02->Draw("same");
3216   hEffoneSPDPt02->Draw("same");
3217   TLegend* lPt02=new TLegend(0.9,0.8,1,1);
3218   lPt02->AddEntry(hEffge2Pt02,">=2 cls","l");
3219   lPt02->AddEntry(hEffoneSPDPt02,">=1 SPD + any","l");
3220   lPt02->AddEntry(hEffSPDPt02,"2 SPD + any","l");
3221   lPt02->AddEntry(hEff6Pt02,"6 cls","l");
3222   lPt02->Draw();
3223
3224   TCanvas *cPt1 = new TCanvas("cPt1","cPt1",0,0,1000,300);
3225   cPt1->SetGridy();
3226   hEffge2Pt1->SetMaximum(1.2);
3227   hEffge2Pt1->SetMaximum(0);
3228   hEffge2Pt1->Draw();
3229   hEff6Pt1->Draw("same");
3230   hEffSPDPt1->Draw("same");
3231   hEffoneSPDPt1->Draw("same");
3232   lPt02->Draw();
3233
3234   TCanvas *cPt10 = new TCanvas("cPt10","cPt10",0,0,1000,300);
3235   cPt10->SetGridy();
3236   hEffge2Pt10->SetMaximum(1.2);
3237   hEffge2Pt10->SetMaximum(0);
3238   hEffge2Pt10->Draw("p");
3239   hEff6Pt10->Draw("same,p");
3240   hEffSPDPt10->Draw("same,p");
3241   hEffoneSPDPt10->Draw("same,p");
3242   lPt02->Draw();
3243
3244   return;
3245 }
3246 //------------------------------------------------------------------------
3247 Bool_t KeepRun(Int_t irun) {
3248
3249
3250
3251   // LHC10c good runs
3252   Int_t nruns10b=33;
3253   Int_t goodruns10b[33]={117222, 117220, 117116, 117112, 117109, 117099, 117092, 117086, 117077, 117065, 117063, 117060, 117059, 117054, 117053, 117052, 117050, 117048, 116645, 116643, 116574, 116571, 116562, 116403, 116402, 116288, 116102, 115414, 115401, 115393, 115193, 115186, 114931};
3254
3255   // LHC10c good runs
3256   Int_t nruns10c=46;
3257   Int_t goodruns10c[46]={121040, 121039, 120829, 120825, 120824, 120823, 120822, 120821, 120820, 120758, 120750, 120741, 120671, 120617, 120616, 120505, 120504, 120503, 120244, 120079, 120076, 120073, 120072, 120069, 120067, 119862, 119859, 119856, 119853, 119849, 119846, 119845, 119844, 119842, 119841, 119163, 119161, 119159, 118561, 118560, 118558, 118556, 118518, 118512, 118507, 118506};
3258   //
3259
3260   // LHC10d good runs
3261   Int_t nruns10d=80;
3262   Int_t goodruns10d[80]={126437, 126432, 126425, 126424, 126422, 126409, 126408, 126407, 126406, 126405, 126404, 126403, 126359, 126352, 126351, 126350, 126285, 126284, 126283, 126168, 126167, 126160, 126158, 126097, 126090, 126088, 126082, 126081, 126078, 126073, 126008, 126007, 126004, 125855, 125851, 125850, 125849, 125848, 125847, 125844, 125843, 125842, 125633, 125632, 125630, 125628, 125296, 125295, 125186, 125156, 125140, 125139, 125134, 125133, 125101, 125100, 125097, 125085, 125083, 125023, 124751, 124750, 124746, 124702, 124608, 124607, 124606, 124605, 124604, 124381, 124380, 124378, 124367, 124362, 124358, 124355, 124191, 124187, 122375, 122374};
3263   //
3264
3265   // LHC10e good runs
3266   Int_t nruns10e=158;
3267   Int_t goodruns10e[158]={130369, 130365, 130360, 130358, 130356, 130354, 130353, 130348, 130343, 130342, 130179, 130178, 130172, 130170, 130168, 130158, 130157, 130156, 130151, 130149, 130148, 129983, 129966, 129962, 129961, 129960, 129959, 129763, 129760, 129750, 129748, 129747, 129745, 129744, 129742, 129738, 129736, 129735, 129734, 129731, 129729, 129726, 129725, 129723, 129667, 129666, 129659, 129655, 129654, 129653, 129652, 129651, 129650, 129649, 129648, 129647, 129641, 129639, 129599, 129598, 129597, 129587, 129586, 129541, 129540, 129536, 129529, 129528, 129527, 129526, 129525, 129524, 129523, 129522, 129521, 129520, 129519, 129516, 129515, 129514, 129513, 129512, 129510, 129508, 129042, 129041, 128913, 128912, 128911, 128910, 128855, 128853, 128850, 128849, 128843, 128836, 128835, 128833, 128824, 128823, 128820, 128819, 128817, 128813, 128777, 128776, 128678, 128677, 128621, 128615, 128611, 128609, 128605, 128596, 128594, 128592, 128590, 128582, 128581, 128507, 128506, 128505, 128504, 128503, 128498, 128495, 128494, 128486, 128483, 128452, 128366, 128260, 128257, 128192, 128191, 128189, 128186, 128185, 128182, 128180, 128175, 128053, 127942, 127941, 127937, 127936, 127935, 127933, 127932, 127931, 127822, 127817, 127815, 127814, 127730, 127729, 127724, 127719};
3268
3269
3270
3271   // LHC10h good runs
3272   Int_t nruns10h=49;
3273   Int_t goodruns10h[49]={138624, 138637, 138666, 138730, 138731, 138732, 138737, 138740, 138742, 138830, 138836, 138871, 138872, 138924, 138965, 138972, 138977, 138978, 138980, 138982, 138983, 139029, 139036, 139037, 139038, 139042, 139105, 139107, 139309, 139310, 139314, 139360, 139438, 139439, 139440, 139441, 139465, 139466, 139467, 139470, 139471, 139503, 139505, 139507, 139510, 139511, 139513, 139514, 139517};
3274
3275   /*
3276   Int_t nruns10h=91;
3277   Int_t goodruns10h[91]={139510, 139507, 139505, 139503, 139465, 139438, 139437, 139360, 139329, 139328, 139314, 139310, 139309, 139173, 139107, 139105, 139038, 139037, 139036, 139029, 139028, 138872, 138871, 138870, 138837, 138732, 138730, 138666, 138662, 138653, 138652, 138638, 138624, 138621, 138583, 138582, 138579, 138578, 138534, 138469, 138442, 138439, 138438, 138396, 138364, 138275, 138225, 138201, 138197, 138192, 138190, 137848, 137844, 137752, 137751, 137724, 137722, 137718, 137704, 137693, 137692, 137691, 137686, 137685, 137639, 137638, 137608, 137595, 137549, 137546, 137544, 137541, 137539, 137531, 137530, 137443, 137441, 137440, 137439, 137434, 137432, 137431, 137430, 137366, 137243, 137236, 137235, 137232, 137231, 137162, 137161};
3278   */
3279
3280   // LHC11b good runs
3281   Int_t nruns11b=83;
3282   Int_t goodruns11b[83]={148531, 148541, 148544, 148648, 148800, 148847, 148857, 149102, 149115, 149122, 149123, 149367, 149382, 149389, 149395, 149398, 149432, 149434, 149442, 149449, 149452, 149453, 149456, 149461, 149462, 149472, 149484, 149487, 149499, 149529, 149530, 149531, 149533, 149534, 149540, 149543, 149544, 149545, 149547, 149549, 149582, 149584, 149585, 149588, 149590, 149592, 149594, 149596, 149598, 149600, 149604, 149657, 149669, 149680, 149682, 149712, 149723, 149726, 149727, 149734, 149735, 149740, 149746, 149749, 149757, 149761, 149769, 149771, 149772, 149773, 149774, 149775, 149776, 149781, 149785, 149786, 149789, 149790, 150375, 150421, 150586, 150589, 150705};
3283
3284   // LHC11c good runs
3285   Int_t nruns11c=244;
3286   Int_t goodruns11c[244]={154570, 154495, 154485, 154483, 154482, 154480, 154478, 154448, 154385, 154383, 154382, 154296, 154293, 154289, 154286, 154283, 154281, 154273, 154270, 154269, 154266, 154264, 154261, 154257, 154252, 154222, 154221, 154220, 154219, 154211, 154207, 154163, 154158, 154151, 154145, 154143, 154141, 154138, 154136, 154132, 154131, 154130, 154129, 154126, 154125, 154091, 154083, 154081, 154039, 154031, 154030, 154026, 154024, 154018, 153954, 153946, 153944, 153939, 153938, 153935, 153929, 153924, 153916, 153911, 153909, 153906, 153876, 153875, 153873, 153812, 153808, 153807, 153805, 153798, 153796, 153794, 153784, 153781, 153779, 153778, 153777, 153776, 153738, 153733, 153728, 153727, 153726, 153725, 153718, 153709, 153702, 153594, 153591, 153589, 153588, 153587, 153583, 153578, 153571, 153570, 153566, 153560, 153558, 153552, 153548, 153544, 153542, 153541, 153539, 153536, 153533, 153513, 153465, 153415, 153413, 153373, 153371, 153369, 153363, 153362, 153360, 153296, 153234, 153232, 153227, 153223, 153127, 153121, 153120, 153117, 153116, 153115, 153059, 153056, 152935, 152934, 152907, 152823, 152822, 152821, 152820, 152819, 152817, 152780, 152773, 152772, 152751, 152750, 152718, 152717, 152716, 152715, 152708, 152702, 152701, 152698, 152697, 152696, 152695, 152658, 152581, 152513, 152512, 152488, 152455, 152377, 152371, 152369, 152368, 152367, 152334, 152332, 152323, 152322, 152321, 152320, 152319, 152318, 152314, 152313, 152312, 152311, 152310, 152309, 152307, 152306, 152304, 152285, 152284, 152257, 152256, 152214, 152209, 152208, 152207, 152206, 152146, 152138, 152137, 152136, 152091, 152090, 152089, 152087, 152086, 152083, 152082, 152081, 152079, 152078, 152046, 152015, 152011, 152008, 152007, 152005, 152003, 152002, 151852, 151851, 151850, 151849, 151810, 151809, 151752, 151751, 151732, 151724, 151689, 151681, 151680, 151678, 151674, 151672, 151671, 151669, 151666, 151665, 151664, 151661, 151660, 151655, 151638, 151636};
3287
3288   // LHC11d good runs
3289   Int_t nruns11d=81;
3290   Int_t goodruns11d[81]={158508, 158509, 158511, 158518, 158520, 158521, 158526, 158528, 158531, 158592, 158602, 158604, 158611, 158615, 158622, 158626, 158706, 158717, 158722, 158745, 158777, 158780, 158784, 158788, 158791, 158793, 158794, 158848, 158868, 158876, 158877, 158879, 159028, 159042, 159076, 159090, 159120, 159121, 159128, 159147, 159154, 159162, 159168, 159173, 159185, 159191, 159193, 159199, 159201, 159205, 159207, 159214, 159216, 159218, 159221, 159223, 159255, 159258, 159260, 159285, 159286, 159318, 159379, 159451, 159503, 159517, 159521, 159535, 159538, 159571, 159577, 159580, 159581, 159582, 159586, 159593, 159595, 159599, 159602, 159606, 159635};
3291
3292
3293   Bool_t found=kFALSE;
3294   Int_t i=0;
3295
3296   for(i=0; i<nruns10b; i++) {
3297     if(irun==goodruns10b[i]) {found=kTRUE; break;}
3298   }  
3299   if(found) return kTRUE;
3300
3301   for(i=0; i<nruns10c; i++) {
3302     if(irun==goodruns10c[i]) {found=kTRUE; break;}
3303   }  
3304   if(found) return kTRUE;
3305
3306   for(i=0; i<nruns10d; i++) {
3307     if(irun==goodruns10d[i]) {found=kTRUE; break;}
3308   }  
3309   if(found) return kTRUE;
3310
3311   for(i=0; i<nruns10e; i++) {
3312     if(irun==goodruns10e[i]) {found=kTRUE; break;}
3313   }  
3314   if(found) return kTRUE;
3315
3316   for(i=0; i<nruns10h; i++) {
3317     if(irun==goodruns10h[i]) {found=kTRUE; break;}
3318   }  
3319   if(found) return kTRUE;
3320
3321   for(i=0; i<nruns11b; i++) {
3322     if(irun==goodruns11b[i]) {found=kTRUE; break;}
3323   }  
3324   if(found) return kTRUE;
3325
3326   for(i=0; i<nruns11c; i++) {
3327     if(irun==goodruns11c[i]) {found=kTRUE; break;}
3328   }  
3329   if(found) return kTRUE;
3330
3331   for(i=0; i<nruns11d; i++) {
3332     if(irun==goodruns11d[i]) {found=kTRUE; break;}
3333   }  
3334   if(found) return kTRUE;
3335
3336
3337   return kFALSE;
3338 }
3339 //-------------------------------------------------------------------------
3340 void FakesWithChi2Cut(TString fname) {
3341
3342   gStyle->SetOptStat(0);
3343
3344   TFile *f= TFile::Open(fname.Data());
3345   if(!f) return kFALSE;
3346
3347   TList *list=(TList*)f->Get("cOutputITS");
3348   TDirectoryFile *dir=0;
3349   if(!list) {
3350     dir=(TDirectoryFile*)f->GetDirectory("ITS_Performance");
3351     if(dir) list = (TList*)dir->Get("cOutputITS");
3352   }
3353
3354   if(!list) return kFALSE;
3355
3356
3357
3358
3359   TH1F *fHistRedChi2AllPt02 = (TH1F*)list->FindObject("fHistITSRedChi2NonFakePt02");
3360   TH1F *fHistRedChi2FakesPt02 = (TH1F*)list->FindObject("fHistITSRedChi2FakePt02");
3361   TH1F *fHistRedChi2NonFakesPt02 = (TH1F*)fHistRedChi2AllPt02->Clone("fHistITSRedChi2NonFakePt02");
3362   fHistRedChi2NonFakesPt02->Add(fHistRedChi2FakesPt02,-1.);
3363
3364   TH1F *fHistFakeFracVSChi2CutPt02 = (TH1F*)fHistRedChi2AllPt02->Clone("fHistFakeFracVSChi2CutPt02");
3365   fHistFakeFracVSChi2CutPt02->SetLineColor(2);
3366   fHistFakeFracVSChi2CutPt02->SetLineWidth(2);
3367   TH1F *fHistNonFakeEffVSChi2CutPt02 = (TH1F*)fHistRedChi2AllPt02->Clone("fHistFakeEffVSChi2CutPt02");
3368   fHistNonFakeEffVSChi2CutPt02->SetLineColor(4);
3369   fHistNonFakeEffVSChi2CutPt02->SetLineWidth(2);
3370
3371   for(Int_t bin=1;bin<=fHistFakeFracVSChi2CutPt02->GetNbinsX();bin++) {
3372     Float_t fakesBelowCut=fHistRedChi2FakesPt02->Integral(1,bin);
3373     Float_t nonfakesBelowCut=fHistRedChi2NonFakesPt02->Integral(1,bin);
3374     Float_t allBelowCut=fHistRedChi2AllPt02->Integral(1,bin);
3375     Float_t nonfakesNoCut=fHistRedChi2NonFakesPt02->Integral();
3376     fHistFakeFracVSChi2CutPt02->SetBinContent(bin,fakesBelowCut/allBelowCut);
3377     fHistNonFakeEffVSChi2CutPt02->SetBinContent(bin,nonfakesBelowCut/nonfakesNoCut);
3378   }
3379
3380   TH1F *fHistRedChi2AllPt05 = (TH1F*)list->FindObject("fHistITSRedChi2NonFakePt05");
3381   TH1F *fHistRedChi2FakesPt05 = (TH1F*)list->FindObject("fHistITSRedChi2FakePt05");
3382   TH1F *fHistRedChi2NonFakesPt05 = (TH1F*)fHistRedChi2AllPt05->Clone("fHistITSRedChi2NonFakePt05");
3383   fHistRedChi2NonFakesPt05->Add(fHistRedChi2FakesPt05,-1.);
3384
3385   TH1F *fHistFakeFracVSChi2CutPt05 = (TH1F*)fHistRedChi2AllPt05->Clone("fHistFakeFracVSChi2CutPt05");
3386   fHistFakeFracVSChi2CutPt05->SetLineColor(2);
3387   fHistFakeFracVSChi2CutPt05->SetLineWidth(2);
3388   TH1F *fHistNonFakeEffVSChi2CutPt05 = (TH1F*)fHistRedChi2AllPt05->Clone("fHistFakeEffVSChi2CutPt05");
3389   fHistNonFakeEffVSChi2CutPt05->SetLineColor(4);
3390   fHistNonFakeEffVSChi2CutPt05->SetLineWidth(2);
3391
3392   for(Int_t bin=1;bin<=fHistFakeFracVSChi2CutPt05->GetNbinsX();bin++) {
3393     Float_t fakesBelowCut=fHistRedChi2FakesPt05->Integral(1,bin);
3394     Float_t nonfakesBelowCut=fHistRedChi2NonFakesPt05->Integral(1,bin);
3395     Float_t allBelowCut=fHistRedChi2AllPt05->Integral(1,bin);
3396     Float_t nonfakesNoCut=fHistRedChi2NonFakesPt05->Integral();
3397     fHistFakeFracVSChi2CutPt05->SetBinContent(bin,fakesBelowCut/allBelowCut);
3398     fHistNonFakeEffVSChi2CutPt05->SetBinContent(bin,nonfakesBelowCut/nonfakesNoCut);
3399   }
3400
3401   TH1F *fHistRedChi2AllPt1 = (TH1F*)list->FindObject("fHistITSRedChi2NonFakePt1");
3402   TH1F *fHistRedChi2FakesPt1 = (TH1F*)list->FindObject("fHistITSRedChi2FakePt1");
3403   TH1F *fHistRedChi2NonFakesPt1 = (TH1F*)fHistRedChi2AllPt1->Clone("fHistITSRedChi2NonFakePt1");
3404   fHistRedChi2NonFakesPt1->Add(fHistRedChi2FakesPt1,-1.);
3405
3406   TH1F *fHistFakeFracVSChi2CutPt1 = (TH1F*)fHistRedChi2AllPt1->Clone("fHistFakeFracVSChi2CutPt1");
3407   fHistFakeFracVSChi2CutPt1->SetLineColor(2);
3408   fHistFakeFracVSChi2CutPt1->SetLineWidth(2);
3409   TH1F *fHistNonFakeEffVSChi2CutPt1 = (TH1F*)fHistRedChi2AllPt1->Clone("fHistFakeEffVSChi2CutPt1");
3410   fHistNonFakeEffVSChi2CutPt1->SetLineColor(4);
3411   fHistNonFakeEffVSChi2CutPt1->SetLineWidth(2);
3412
3413   for(Int_t bin=1;bin<=fHistFakeFracVSChi2CutPt1->GetNbinsX();bin++) {
3414     Float_t fakesBelowCut=fHistRedChi2FakesPt1->Integral(1,bin);
3415     Float_t nonfakesBelowCut=fHistRedChi2NonFakesPt1->Integral(1,bin);
3416     Float_t allBelowCut=fHistRedChi2AllPt1->Integral(1,bin);
3417     Float_t nonfakesNoCut=fHistRedChi2NonFakesPt1->Integral();
3418     fHistFakeFracVSChi2CutPt1->SetBinContent(bin,fakesBelowCut/allBelowCut);
3419     fHistNonFakeEffVSChi2CutPt1->SetBinContent(bin,nonfakesBelowCut/nonfakesNoCut);
3420   }
3421
3422
3423   TCanvas *c=new TCanvas("c","c",0,0,1000,500);
3424   c->Divide(3,1);
3425   c->cd(1);
3426   fHistRedChi2NonFakesPt02->Scale(1./fHistRedChi2NonFakesPt02->Integral());
3427   fHistRedChi2NonFakesPt02->SetLineColor(4);
3428   fHistRedChi2NonFakesPt02->Draw();
3429   fHistRedChi2FakesPt02->Scale(1./fHistRedChi2FakesPt02->Integral());
3430   fHistRedChi2FakesPt02->SetLineColor(2);
3431   fHistRedChi2FakesPt02->Draw("same");
3432   c->cd(2);
3433   fHistRedChi2NonFakesPt05->Scale(1./fHistRedChi2NonFakesPt05->Integral());
3434   fHistRedChi2NonFakesPt05->SetLineColor(4);
3435   fHistRedChi2NonFakesPt05->Draw();
3436   fHistRedChi2FakesPt05->Scale(1./fHistRedChi2FakesPt05->Integral());
3437   fHistRedChi2FakesPt05->SetLineColor(2);
3438   fHistRedChi2FakesPt05->Draw("same");
3439   c->cd(3);
3440   fHistRedChi2NonFakesPt1->Scale(1./fHistRedChi2NonFakesPt1->Integral());
3441   fHistRedChi2NonFakesPt1->SetLineColor(4);
3442   fHistRedChi2NonFakesPt1->Draw();
3443   fHistRedChi2FakesPt1->Scale(1./fHistRedChi2FakesPt1->Integral());
3444   fHistRedChi2FakesPt1->SetLineColor(2);
3445   fHistRedChi2FakesPt1->Draw("same");
3446
3447   TCanvas *cc=new TCanvas("cc","cc",0,0,1000,500);
3448   cc->Divide(3,1);
3449   cc_1->SetLogx();
3450   cc_2->SetLogx();
3451   cc_3->SetLogx();
3452   cc->cd(1);
3453   fHistFakeFracVSChi2CutPt02->SetXTitle("maximum ITS #chi^{2}/nclusters");
3454   fHistFakeFracVSChi2CutPt02->SetMinimum(0);
3455   fHistFakeFracVSChi2CutPt02->SetMaximum(1);
3456   fHistFakeFracVSChi2CutPt02->Draw();
3457   fHistNonFakeEffVSChi2CutPt02->Draw("same");
3458   cc->cd(2);
3459   fHistFakeFracVSChi2CutPt05->SetXTitle("maximum ITS #chi^{2}/nclusters");
3460   fHistFakeFracVSChi2CutPt05->SetMinimum(0);
3461   fHistFakeFracVSChi2CutPt05->SetMaximum(1);
3462   fHistFakeFracVSChi2CutPt05->Draw();
3463   fHistNonFakeEffVSChi2CutPt05->Draw("same");
3464   cc->cd(3);
3465   fHistFakeFracVSChi2CutPt1->SetXTitle("maximum ITS #chi^{2}/nclusters");
3466   fHistFakeFracVSChi2CutPt1->SetMinimum(0);
3467   fHistFakeFracVSChi2CutPt1->SetMaximum(1);
3468   fHistFakeFracVSChi2CutPt1->Draw();
3469   fHistNonFakeEffVSChi2CutPt1->Draw("same");
3470
3471
3472
3473   return;
3474 }