]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/macros/PlotITSTrackingHists.C
Merge branch 'feature-movesplit'
[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");
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   TH1F *fHistPhiITSMI7InAcc = (TH1F*)list->FindObject("fHistPhiITSMI7InAcc");
393   TH1F *fHistPhiITSMI6InAcc = (TH1F*)list->FindObject("fHistPhiITSMI6InAcc");
394   TH1F *fHistPhiITSMI5InAcc = (TH1F*)list->FindObject("fHistPhiITSMI5InAcc");
395   TH1F *fHistPhiITSMI4InAcc = (TH1F*)list->FindObject("fHistPhiITSMI4InAcc");
396   TH1F *fHistPhiITSMI3InAcc = (TH1F*)list->FindObject("fHistPhiITSMI3InAcc");
397   TH1F *fHistPhiITSMI2InAcc = (TH1F*)list->FindObject("fHistPhiITSMI2InAcc");
398   TH1F *fHistPhiITSMISPDInAcc = (TH1F*)list->FindObject("fHistPhiITSMISPDInAcc");
399   TH1F *fHistPhiITSMIoneSPDInAcc = (TH1F*)list->FindObject("fHistPhiITSMIoneSPDInAcc");
400
401   TH1F *fHistEtaTPCInAcc = (TH1F*)list->FindObject("fHistEtaTPCInAcc");
402   TH1F *fHistEtaITSMIokbadoutinz6InAcc = (TH1F*)list->FindObject("fHistEtaITSMIokbadoutinz6InAcc");
403   TH1F *fHistEtaITSMI7InAcc = (TH1F*)list->FindObject("fHistEtaITSMI7InAcc");
404   TH1F *fHistEtaITSMI6InAcc = (TH1F*)list->FindObject("fHistEtaITSMI6InAcc");
405   TH1F *fHistEtaITSMI5InAcc = (TH1F*)list->FindObject("fHistEtaITSMI5InAcc");
406   TH1F *fHistEtaITSMI4InAcc = (TH1F*)list->FindObject("fHistEtaITSMI4InAcc");
407   TH1F *fHistEtaITSMI3InAcc = (TH1F*)list->FindObject("fHistEtaITSMI3InAcc");
408   TH1F *fHistEtaITSMI2InAcc = (TH1F*)list->FindObject("fHistEtaITSMI2InAcc");
409   TH1F *fHistEtaITSMISPDInAcc = (TH1F*)list->FindObject("fHistEtaITSMISPDInAcc");
410   TH1F *fHistEtaITSMIoneSPDInAcc = (TH1F*)list->FindObject("fHistEtaITSMIoneSPDInAcc");
411
412
413
414   TH1F *fHistPtTPCInAcc = (TH1F*)list->FindObject("fHistPtTPCInAcc");
415   TH1F *fHistPtTPCInAccSfromStrange = (TH1F*)list->FindObject("fHistPtTPCInAccSfromStrange");
416   TH1F *fHistPtTPCInAccPfromStrange = (TH1F*)list->FindObject("fHistPtTPCInAccPfromStrange");
417   TH1F *fHistPtTPCInAccMCtwoSPD = (TH1F*)list->FindObject("fHistPtTPCInAccMCtwoSPD");
418   TH1F *fHistPtTPCInAccMConeSPD = (TH1F*)list->FindObject("fHistPtTPCInAccMConeSPD");
419   TH1F *fHistPtITSMI7InAcc = (TH1F*)list->FindObject("fHistPtITSMI7InAcc");
420   TH1F *fHistPtITSMI6InAcc = (TH1F*)list->FindObject("fHistPtITSMI6InAcc");
421   TH1F *fHistPtITSMI5InAcc = (TH1F*)list->FindObject("fHistPtITSMI5InAcc");
422   TH1F *fHistPtITSMI4InAcc = (TH1F*)list->FindObject("fHistPtITSMI4InAcc");
423   TH1F *fHistPtITSMI3InAcc = (TH1F*)list->FindObject("fHistPtITSMI3InAcc");
424   TH1F *fHistPtITSMI2InAcc = (TH1F*)list->FindObject("fHistPtITSMI2InAcc");
425   TH1F *fHistPtITSMISPDInAcc = (TH1F*)list->FindObject("fHistPtITSMISPDInAcc");
426   TH1F *fHistPtITSMIoneSPDInAcc = (TH1F*)list->FindObject("fHistPtITSMIoneSPDInAcc");
427   TH1F *fHistPtITSMI7InAccFake = (TH1F*)list->FindObject("fHistPtITSMI7InAccFake");
428   TH1F *fHistPtITSMI6InAccFake = (TH1F*)list->FindObject("fHistPtITSMI6InAccFake");
429   TH1F *fHistPtITSMI5InAccFake = (TH1F*)list->FindObject("fHistPtITSMI5InAccFake");
430   TH1F *fHistPtITSMI4InAccFake = (TH1F*)list->FindObject("fHistPtITSMI4InAccFake");
431   TH1F *fHistPtITSMI3InAccFake = (TH1F*)list->FindObject("fHistPtITSMI3InAccFake");
432   TH1F *fHistPtITSMI2InAccFake = (TH1F*)list->FindObject("fHistPtITSMI2InAccFake");
433   TH1F *fHistPtITSMISPDInAccFake = (TH1F*)list->FindObject("fHistPtITSMISPDInAccFake");
434   TH1F *fHistPtITSMIoneSPDInAccFake = (TH1F*)list->FindObject("fHistPtITSMIoneSPDInAccFake");
435   TH1F *fHistPtITSMIoneSPDthreeSDDSSDInAcc = (TH1F*)list->FindObject("fHistPtITSMIoneSPDthreeSDDSSDInAcc");
436   TH1F *fHistPtITSMIokbadoutinz6InAcc = (TH1F*)list->FindObject("fHistPtITSMIokbadoutinz6InAcc");
437   TH1F *fHistPtITSMIokbadoutinz5InAcc = (TH1F*)list->FindObject("fHistPtITSMIokbadoutinz5InAcc");
438   TH1F *fHistPtITSMIokbadoutinz4InAcc = (TH1F*)list->FindObject("fHistPtITSMIokbadoutinz4InAcc");
439   TH1F *fHistPtTPCInAccP = (TH1F*)list->FindObject("fHistPtTPCInAccP");
440   TH1F *fHistPtITSMI7InAccP = (TH1F*)list->FindObject("fHistPtITSMI7InAccP");
441   TH1F *fHistPtITSMI6InAccP = (TH1F*)list->FindObject("fHistPtITSMI6InAccP");
442   TH1F *fHistPtITSMI5InAccP = (TH1F*)list->FindObject("fHistPtITSMI5InAccP");
443   TH1F *fHistPtITSMI4InAccP = (TH1F*)list->FindObject("fHistPtITSMI4InAccP");
444   TH1F *fHistPtITSMI3InAccP = (TH1F*)list->FindObject("fHistPtITSMI3InAccP");
445   TH1F *fHistPtITSMI2InAccP = (TH1F*)list->FindObject("fHistPtITSMI2InAccP");
446   TH1F *fHistPtITSMISPDInAccP = (TH1F*)list->FindObject("fHistPtITSMISPDInAccP");
447   TH1F *fHistPtITSMIoneSPDInAccP = (TH1F*)list->FindObject("fHistPtITSMIoneSPDInAccP");
448   TH1F *fHistPtTPCInAccS = (TH1F*)list->FindObject("fHistPtTPCInAccS");
449   TH1F *fHistPtITSMI7InAccS = (TH1F*)list->FindObject("fHistPtITSMI7InAccS");
450   TH1F *fHistPtITSMI6InAccS = (TH1F*)list->FindObject("fHistPtITSMI6InAccS");
451   TH1F *fHistPtITSMI5InAccS = (TH1F*)list->FindObject("fHistPtITSMI5InAccS");
452   TH1F *fHistPtITSMI4InAccS = (TH1F*)list->FindObject("fHistPtITSMI4InAccS");
453   TH1F *fHistPtITSMI3InAccS = (TH1F*)list->FindObject("fHistPtITSMI3InAccS");
454   TH1F *fHistPtITSMI2InAccS = (TH1F*)list->FindObject("fHistPtITSMI2InAccS");
455   TH1F *fHistPtITSMISPDInAccS = (TH1F*)list->FindObject("fHistPtITSMISPDInAccS");
456   TH1F *fHistPtITSMIoneSPDInAccS = (TH1F*)list->FindObject("fHistPtITSMIoneSPDInAccS");
457
458   TH1F *fHistRProdVtxInAccP = (TH1F*)list->FindObject("fHistRProdVtxInAccP");
459   TH1F *fHistRProdVtxInAccS = (TH1F*)list->FindObject("fHistRProdVtxInAccS");
460
461   TH1F *fHistxlocSDDok = (TH1F*)list->FindObject("fHistxlocSDDok");
462   TH1F *fHistxlocSDDall = (TH1F*)list->FindObject("fHistxlocSDDall");
463   TH1F *fHistzlocSDDok = (TH1F*)list->FindObject("fHistzlocSDDok");
464   TH1F *fHistzlocSDDall = (TH1F*)list->FindObject("fHistzlocSDDall");
465
466   TH1F *fHistPtITSTPCsel = (TH1F*)list->FindObject("fHistPtITSTPCsel");
467   TH1F *fHistPtITSTPCselP = (TH1F*)list->FindObject("fHistPtITSTPCselP");
468   TH1F *fHistPtITSTPCselS = (TH1F*)list->FindObject("fHistPtITSTPCselS");
469   TH1F *fHistPtITSTPCselFake = (TH1F*)list->FindObject("fHistPtITSTPCselFake");
470   TH1F *fHistPtITSTPCselPfromStrange = (TH1F*)list->FindObject("fHistPtITSTPCselSfromStrange");
471   TH1F *fHistPtITSTPCselSfromStrange = (TH1F*)list->FindObject("fHistPtITSTPCselSfromStrange");
472   TH1F *fHistPtITSTPCselSfromMat = (TH1F*)list->FindObject("fHistPtITSTPCselSfromMat");
473
474   TH1F *fHistPtTPCInAccSfromMat = (TH1F*)list->FindObject("fHistPtTPCInAccSfromMat");
475
476
477   Bool_t upgrade = kFALSE;
478   if(fHistNclsITSMI->GetBinContent(7)>0) upgrade=kTRUE;
479
480   //ReweightStrange(fHistPtTPCInAcc,fHistPtTPCInAccPfromStrange,fHistPtTPCInAccSfromStrange);
481   //ReweightStrange(fHistPtITSTPCsel,fHistPtITSTPCselPfromStrange,fHistPtITSTPCselSfromStrange);
482
483   //---------------------------------------------------------------
484   TH1F *fHistPtITSMIge2InAcc = (TH1F*)fHistPtITSMI6InAcc->Clone("fHistPtITSMIge2InAcc");
485   if(upgrade) fHistPtITSMIge2InAcc->Add(fHistPtITSMI7InAcc);
486   fHistPtITSMIge2InAcc->Add(fHistPtITSMI5InAcc);
487   fHistPtITSMIge2InAcc->Add(fHistPtITSMI4InAcc);
488   fHistPtITSMIge2InAcc->Add(fHistPtITSMI3InAcc);
489   fHistPtITSMIge2InAcc->Add(fHistPtITSMI2InAcc);
490   TH1F *fHistPtITSMIge2InAccFake = 0;
491   if(fHistPtITSMI6InAccFake) {
492     fHistPtITSMIge2InAccFake=(TH1F*)fHistPtITSMI6InAccFake->Clone("fHistPtITSMIge2InAccFake");
493     if(upgrade) fHistPtITSMIge2InAccFake->Add(fHistPtITSMI7InAccFake);
494     fHistPtITSMIge2InAccFake->Add(fHistPtITSMI5InAccFake);
495     fHistPtITSMIge2InAccFake->Add(fHistPtITSMI4InAccFake);
496     fHistPtITSMIge2InAccFake->Add(fHistPtITSMI3InAccFake);
497     fHistPtITSMIge2InAccFake->Add(fHistPtITSMI2InAccFake);
498   }
499   TH1F *fHistPtITSMIge2InAccP = (TH1F*)fHistPtITSMI6InAccP->Clone("fHistPtITSMIge2InAccP");
500   if(upgrade) fHistPtITSMIge2InAccP->Add(fHistPtITSMI7InAccP);
501   fHistPtITSMIge2InAccP->Add(fHistPtITSMI5InAccP);
502   fHistPtITSMIge2InAccP->Add(fHistPtITSMI4InAccP);
503   fHistPtITSMIge2InAccP->Add(fHistPtITSMI3InAccP);
504   fHistPtITSMIge2InAccP->Add(fHistPtITSMI2InAccP);
505   TH1F *fHistPtITSMIge2InAccS = (TH1F*)fHistPtITSMI6InAccS->Clone("fHistPtITSMIge2InAccS");
506   if(upgrade) fHistPtITSMIge2InAccS->Add(fHistPtITSMI7InAccS);
507   fHistPtITSMIge2InAccS->Add(fHistPtITSMI5InAccS);
508   fHistPtITSMIge2InAccS->Add(fHistPtITSMI4InAccS);
509   fHistPtITSMIge2InAccS->Add(fHistPtITSMI3InAccS);
510   fHistPtITSMIge2InAccS->Add(fHistPtITSMI2InAccS);
511
512   // fake fraction
513   if(fHistPtITSMIge2InAccFake) {
514     fHistPtITSMIge2InAccFake->Divide(fHistPtITSMIge2InAccFake,fHistPtITSMIge2InAcc,1,1,"B");
515     fHistPtITSMI2InAccFake->Divide(fHistPtITSMI2InAccFake,fHistPtITSMI2InAcc,1,1,"B");
516     fHistPtITSMI3InAccFake->Divide(fHistPtITSMI3InAccFake,fHistPtITSMI3InAcc,1,1,"B");
517     fHistPtITSMI4InAccFake->Divide(fHistPtITSMI4InAccFake,fHistPtITSMI4InAcc,1,1,"B");
518     fHistPtITSMI5InAccFake->Divide(fHistPtITSMI5InAccFake,fHistPtITSMI5InAcc,1,1,"B");
519     fHistPtITSMI6InAccFake->Divide(fHistPtITSMI6InAccFake,fHistPtITSMI6InAcc,1,1,"B");
520     if(upgrade) fHistPtITSMI7InAccFake->Divide(fHistPtITSMI7InAccFake,fHistPtITSMI7InAcc,1,1,"B");
521     fHistPtITSMISPDInAccFake->Divide(fHistPtITSMISPDInAccFake,fHistPtITSMISPDInAcc,1,1,"B");
522     fHistPtITSMIoneSPDInAccFake->Divide(fHistPtITSMIoneSPDInAccFake,fHistPtITSMIoneSPDInAcc,1,1,"B");
523     if (fHistPtITSTPCselFake)fHistPtITSTPCselFake->Divide(fHistPtITSTPCselFake,fHistPtITSTPCsel,1,1,"B");
524   }
525
526   TH1F* fHistPtITSMISPDInAccMC=(TH1F*)fHistPtITSMISPDInAcc->Clone("fHistPtITSMISPDInAccMC");
527   TH1F* fHistPtITSMIoneSPDInAccMC=(TH1F*)fHistPtITSMIoneSPDInAcc->Clone("fHistPtITSMIoneSPDInAccMC");
528
529
530   TLegend *l1=new TLegend(0.5,0.5,0.9,0.9);
531   TLegend *l2=new TLegend(0.5,0.5,0.9,0.9);
532
533   TCanvas *c1= new TCanvas("c1","c1",10,10,600,500);
534   fHistNclsITSMI->SetMinimum(0);
535   //fHistNclsITSSAInAcc->SetLineColor(4);
536   //l1->AddEntry(fHistNclsITSSAInAcc,"ITS-SA in acc.","l");
537   //fHistNclsITSSAInAcc->Draw("same");
538   fHistNclsITSMI->SetLineColor(2);
539   l1->AddEntry(fHistNclsITSMI,"ITS from TPC","l");
540   fHistNclsITSMI->Draw();
541   fHistNclsITSSA->SetLineColor(1);
542   l1->AddEntry(fHistNclsITSSA,"ITS-SA","l");
543   fHistNclsITSSA->Draw("same");
544   l1->Draw();
545
546
547   TCanvas *c2 =new TCanvas("c2","c2",10,10,1200,800);
548   c2->Divide(3,2);
549   c2->cd(1);
550   fHistClusterMapITSSA->SetLineColor(1);
551   fHistClusterMapITSSA->SetMarkerColor(1);
552   fHistClusterMapITSSA->SetMarkerStyle(21);
553   fHistClusterMapITSMI->SetLineColor(2);
554   fHistClusterMapITSMI->SetMarkerColor(2);
555   fHistClusterMapITSMI->SetMarkerStyle(21);
556   fHistClusterMapITSMI->Draw();
557   fHistClusterMapITSSA->Draw("same");
558   l1->Draw();
559   //
560   c2->cd(2);
561   fHistClusterMapITSSAokoutinzbad->SetLineColor(1);
562   fHistClusterMapITSSAokoutinzbad->SetMarkerColor(1);
563   fHistClusterMapITSSAokoutinzbad->SetMarkerStyle(20);
564   fHistClusterMapITSSAokoutinzbad->Draw();
565   fHistClusterMapITSMIokoutinzbad->SetLineColor(2);
566   fHistClusterMapITSMIokoutinzbad->SetMarkerColor(2);
567   fHistClusterMapITSMIokoutinzbad->SetMarkerStyle(20);
568   fHistClusterMapITSMIokoutinzbad->Draw("same");
569   l1->Draw();
570   //
571   c2->cd(3);
572   fHistClusterMapITSSAok->SetLineColor(1);
573   fHistClusterMapITSSAok->SetMarkerColor(1);
574   fHistClusterMapITSSAok->SetMarkerStyle(21);
575   fHistClusterMapITSSAok->Draw();
576   fHistClusterMapITSMIok->SetLineColor(2);
577   fHistClusterMapITSMIok->SetMarkerColor(2);
578   fHistClusterMapITSMIok->SetMarkerStyle(21);
579   fHistClusterMapITSMIok->Draw("same");
580   //
581   c2->cd(4);
582   fHistClusterMapITSSAoutinz->SetLineColor(1);
583   fHistClusterMapITSSAoutinz->SetMarkerColor(1);
584   fHistClusterMapITSSAoutinz->SetMarkerStyle(22);
585   fHistClusterMapITSSAoutinz->Draw();
586   fHistClusterMapITSMIoutinz->SetLineColor(2);
587   fHistClusterMapITSMIoutinz->SetMarkerColor(2);
588   fHistClusterMapITSMIoutinz->SetMarkerStyle(22);
589   fHistClusterMapITSMIoutinz->Draw("same");
590   //
591   c2->cd(5);
592   fHistClusterMapITSSAbad->SetLineColor(1);
593   fHistClusterMapITSSAbad->SetMarkerColor(1);
594   fHistClusterMapITSSAbad->SetMarkerStyle(23);
595   fHistClusterMapITSSAbad->Draw();
596   fHistClusterMapITSMIbad->SetLineColor(2);
597   fHistClusterMapITSMIbad->SetMarkerColor(2);
598   fHistClusterMapITSMIbad->SetMarkerStyle(23);
599   fHistClusterMapITSMIbad->Draw("same");
600   //
601   c2->cd(6);
602   fHistClusterMapITSSAnocls->SetLineColor(1);
603   fHistClusterMapITSSAnocls->SetMarkerColor(1);
604   fHistClusterMapITSSAnocls->SetMarkerStyle(24);
605   fHistClusterMapITSSAnocls->Draw();
606   fHistClusterMapITSMInocls->SetLineColor(2);
607   fHistClusterMapITSMInocls->SetMarkerColor(2);
608   fHistClusterMapITSMInocls->SetMarkerStyle(24);
609   fHistClusterMapITSMInocls->Draw("same");
610
611   /*
612   TCanvas *c3 =new TCanvas("c3","c3",10,10,1200,800);
613   c3->Divide(1,2);
614   c3->cd(1);
615   fHistClusterMapModuleITSMIokInAcc->SetLineColor(1);
616   fHistClusterMapModuleITSMIokInAcc->Draw();
617   l2->AddEntry(fHistClusterMapModuleITSMIokInAcc,"ok","l");
618   fHistClusterMapModuleITSMIbadInAcc->SetLineColor(3);
619   fHistClusterMapModuleITSMIbadInAcc->Draw("same");
620   l2->AddEntry(fHistClusterMapModuleITSMIbadInAcc,"bad","l");
621   fHistClusterMapModuleITSMInoclsInAcc->SetLineColor(2);
622   fHistClusterMapModuleITSMInoclsInAcc->Draw("same");
623   l2->AddEntry(fHistClusterMapModuleITSMInoclsInAcc,"no cls","l");
624   l2->Draw();
625   c3->cd(2);
626   TH1F *fHistClusterMapModuleITSMIallInAcc=(TH1F*)fHistClusterMapModuleITSMIokInAcc->Clone("fHistClusterMapModuleITSMIallInAcc");
627   fHistClusterMapModuleITSMIallInAcc->Add(fHistClusterMapModuleITSMIbadInAcc);
628   fHistClusterMapModuleITSMIallInAcc->Add(fHistClusterMapModuleITSMInoclsInAcc);
629   TH1F *fHistClusterMapModuleITSMIokRatioInAcc=(TH1F*)fHistClusterMapModuleITSMIokInAcc->Clone("fHistClusterMapModuleITSMIokRatioInAcc");
630   fHistClusterMapModuleITSMIokRatioInAcc->Divide(fHistClusterMapModuleITSMIallInAcc);
631   for(Int_t ib=1;ib<=fHistClusterMapModuleITSMIokRatioInAcc->GetNbinsX();ib++) {
632     fHistClusterMapModuleITSMIokRatioInAcc->SetBinError(ib,0);
633     if(fHistClusterMapModuleITSMIallInAcc->GetBinContent(ib)) fHistClusterMapModuleITSMIokRatioInAcc->SetBinError(ib,TMath::Sqrt(fHistClusterMapModuleITSMIokRatioInAcc->GetBinContent(ib)*(1.-fHistClusterMapModuleITSMIokRatioInAcc->GetBinContent(ib))/fHistClusterMapModuleITSMIallInAcc->GetBinContent(ib))); 
634   }
635   fHistClusterMapModuleITSMIokRatioInAcc->Draw();
636   TH1F *fHistClusterMapModuleITSMIbadRatioInAcc=(TH1F*)fHistClusterMapModuleITSMIbadInAcc->Clone("fHistClusterMapModuleITSMIbadRatioInAcc");
637   fHistClusterMapModuleITSMIbadRatioInAcc->Divide(fHistClusterMapModuleITSMIallInAcc);
638   for(Int_t ib=1;ib<=fHistClusterMapModuleITSMIokRatioInAcc->GetNbinsX();ib++) {
639     fHistClusterMapModuleITSMIbadRatioInAcc->SetBinError(ib,0);
640     if(fHistClusterMapModuleITSMIallInAcc->GetBinContent(ib)) fHistClusterMapModuleITSMIbadRatioInAcc->SetBinError(ib,TMath::Sqrt(fHistClusterMapModuleITSMIbadRatioInAcc->GetBinContent(ib)*(1.-fHistClusterMapModuleITSMIbadRatioInAcc->GetBinContent(ib))/fHistClusterMapModuleITSMIallInAcc->GetBinContent(ib))); 
641   }
642   fHistClusterMapModuleITSMIbadRatioInAcc->Draw("same");
643   TH1F *fHistClusterMapModuleITSMInoclsRatioInAcc=(TH1F*)fHistClusterMapModuleITSMInoclsInAcc->Clone("fHistClusterMapModuleITSMInoclsRatioInAcc");
644   fHistClusterMapModuleITSMInoclsRatioInAcc->Divide(fHistClusterMapModuleITSMIallInAcc);
645   for(Int_t ib=1;ib<=fHistClusterMapModuleITSMIokRatioInAcc->GetNbinsX();ib++) {
646     fHistClusterMapModuleITSMInoclsRatioInAcc->SetBinError(ib,0);
647     if(fHistClusterMapModuleITSMIallInAcc->GetBinContent(ib)) fHistClusterMapModuleITSMInoclsRatioInAcc->SetBinError(ib,TMath::Sqrt(fHistClusterMapModuleITSMInoclsRatioInAcc->GetBinContent(ib)*(1.-fHistClusterMapModuleITSMInoclsRatioInAcc->GetBinContent(ib))/fHistClusterMapModuleITSMIallInAcc->GetBinContent(ib))); 
648   }
649   fHistClusterMapModuleITSMInoclsRatioInAcc->Draw("same");
650   */
651
652   /*
653   TCanvas *c3b = new TCanvas("c3b","c3b");
654   c3b->Divide(2,1);
655   c3b->cd(1);
656   fHistxlocSDDok->Divide(fHistxlocSDDall);
657   fHistxlocSDDok->Draw();
658   c3b->cd(2);
659   fHistzlocSDDok->Divide(fHistzlocSDDall);
660   fHistzlocSDDok->Draw();
661   */
662
663   TCanvas *c4 =new TCanvas("c4","c4",10,10,1000,500);
664   TLegend *l4a=new TLegend(0.5,0.5,0.9,0.9);
665   c4->Divide(2,1);
666   c4->cd(1);
667   c4_1->SetGridy();
668   fHistPhiITSMI6InAcc->SetTitle("Fraction of prolonged tracks with N ITS points");
669   fHistPhiITSMI6InAcc->SetYTitle("ITS+TPC / TPC");
670   fHistPhiITSMI6InAcc->Divide(fHistPhiITSMI6InAcc,fHistPhiTPCInAcc,1,1,"B");
671   fHistPhiITSMI6InAcc->SetLineColor(2);
672   l4a->AddEntry(fHistPhiITSMI6InAcc,"6 cls","l");
673   fHistPhiITSMI6InAcc->SetMaximum(1.5);
674   fHistPhiITSMI6InAcc->SetMinimum(0);
675   fHistPhiITSMI6InAcc->Draw();
676   if(upgrade) {
677     fHistPhiITSMI7InAcc->Divide(fHistPhiITSMI7InAcc,fHistPhiTPCInAcc,1,1,"B");
678     fHistPhiITSMI7InAcc->SetLineColor(kOrange);
679     l4a->AddEntry(fHistPhiITSMI7InAcc,"7 cls","l");
680     fHistPhiITSMI7InAcc->Draw("same");
681   }
682   fHistPhiITSMI5InAcc->Divide(fHistPhiITSMI5InAcc,fHistPhiTPCInAcc,1,1,"B");
683   fHistPhiITSMI5InAcc->SetLineColor(3);
684   //l4a->AddEntry(fHistPhiITSMI5InAcc,"5 cls","l");
685   //fHistPhiITSMI5InAcc->Draw("same");
686   fHistPhiITSMI4InAcc->Divide(fHistPhiITSMI4InAcc,fHistPhiTPCInAcc,1,1,"B");
687   fHistPhiITSMI4InAcc->SetLineColor(4);
688   //l4a->AddEntry(fHistPhiITSMI4InAcc,"4 cls","l");
689   //fHistPhiITSMI4InAcc->Draw("same");
690   fHistPhiITSMI3InAcc->Divide(fHistPhiITSMI3InAcc,fHistPhiTPCInAcc,1,1,"B");
691   fHistPhiITSMI3InAcc->SetLineColor(6);
692   //l4a->AddEntry(fHistPhiITSMI3InAcc,"3 cls","l");
693   //fHistPhiITSMI3InAcc->Draw("same");
694   fHistPhiITSMI2InAcc->Divide(fHistPhiITSMI2InAcc,fHistPhiTPCInAcc,1,1,"B");
695   fHistPhiITSMI2InAcc->SetLineColor(7);
696   //l4a->AddEntry(fHistPhiITSMI2InAcc,"2 cls","l");
697   //fHistPhiITSMI2InAcc->Draw("same");
698   fHistPhiITSMISPDInAcc->Divide(fHistPhiITSMISPDInAcc,fHistPhiTPCInAcc,1,1,"B");
699   fHistPhiITSMISPDInAcc->SetLineColor(9);
700   l4a->AddEntry(fHistPhiITSMISPDInAcc,"All Inner + any","l");
701   fHistPhiITSMISPDInAcc->Draw("same");
702   fHistPhiITSMIoneSPDInAcc->Divide(fHistPhiITSMIoneSPDInAcc,fHistPhiTPCInAcc,1,1,"B");
703   fHistPhiITSMIoneSPDInAcc->SetLineColor(15);
704   l4a->AddEntry(fHistPhiITSMIoneSPDInAcc,">=1 Inner + any","l");
705   fHistPhiITSMIoneSPDInAcc->Draw("same");
706   l4a->Draw();
707   c4->cd(2);
708   c4_2->SetGridy();
709   fHistEtaITSMI6InAcc->SetTitle("Fraction of prolonged tracks with N ITS points");
710   fHistEtaITSMI6InAcc->SetYTitle("ITS+TPC / TPC");
711   fHistEtaITSMI6InAcc->Divide(fHistEtaITSMI6InAcc,fHistEtaTPCInAcc,1,1,"B");
712   fHistEtaITSMI6InAcc->SetLineColor(2);
713   fHistEtaITSMI6InAcc->SetMaximum(1.5);
714   fHistEtaITSMI6InAcc->SetMinimum(0);
715   fHistEtaITSMI6InAcc->Draw();
716   if(upgrade) {
717     fHistEtaITSMI7InAcc->Divide(fHistEtaITSMI7InAcc,fHistEtaTPCInAcc,1,1,"B");
718     fHistEtaITSMI7InAcc->SetLineColor(kOrange);
719     fHistEtaITSMI7InAcc->Draw("same");
720   }
721   fHistEtaITSMI5InAcc->Divide(fHistEtaITSMI5InAcc,fHistEtaTPCInAcc,1,1,"B");
722   fHistEtaITSMI5InAcc->SetLineColor(3);
723   //fHistEtaITSMI5InAcc->Draw("same");
724   fHistEtaITSMI4InAcc->Divide(fHistEtaITSMI4InAcc,fHistEtaTPCInAcc,1,1,"B");
725   fHistEtaITSMI4InAcc->SetLineColor(4);
726   //fHistEtaITSMI4InAcc->Draw("same");
727   fHistEtaITSMI3InAcc->Divide(fHistEtaITSMI3InAcc,fHistEtaTPCInAcc,1,1,"B");
728   fHistEtaITSMI3InAcc->SetLineColor(6);
729   //fHistEtaITSMI3InAcc->Draw("same");
730   fHistEtaITSMI2InAcc->Divide(fHistEtaITSMI2InAcc,fHistEtaTPCInAcc,1,1,"B");
731   fHistEtaITSMI2InAcc->SetLineColor(7);
732   //fHistEtaITSMI2InAcc->Draw("same");
733   fHistEtaITSMISPDInAcc->Divide(fHistEtaITSMISPDInAcc,fHistEtaTPCInAcc,1,1,"B");
734   fHistEtaITSMISPDInAcc->SetLineColor(9);
735   fHistEtaITSMISPDInAcc->Draw("same");
736   fHistEtaITSMIoneSPDInAcc->Divide(fHistEtaITSMIoneSPDInAcc,fHistEtaTPCInAcc,1,1,"B");
737   fHistEtaITSMIoneSPDInAcc->SetLineColor(15);
738   fHistEtaITSMIoneSPDInAcc->Draw("same");
739   l4a->Draw();
740
741   TCanvas *c5c =new TCanvas("c5c","c5c",10,10,600,600);
742   c5c->SetGridy();
743   TH1F *fHistPtTPCInAccSecFrac = (TH1F*)fHistPtTPCInAccS->Clone("fHistPtTPCInAccSecFrac");  
744   fHistPtTPCInAccSecFrac->Divide(fHistPtTPCInAcc);
745   fHistPtTPCInAccSecFrac->SetLineColor(kOrange+7);
746   fHistPtTPCInAccSecFrac->SetTitle("Fraction of secondaries");
747   fHistPtTPCInAccSecFrac->SetYTitle("sec/all");
748   fHistPtTPCInAccSecFrac->Draw();
749   TH1F *fHistPtITSMI2InAccSecFrac = (TH1F*)fHistPtITSMI2InAccS->Clone("fHistPtITSMI2InAccSecFrac");  
750   fHistPtITSMI2InAccSecFrac->Divide(fHistPtITSMI2InAcc);
751   fHistPtITSMI2InAccSecFrac->SetLineColor(7);
752   fHistPtITSMI2InAccSecFrac->Draw("same"); 
753   TH1F *fHistPtITSMIge2InAccSecFrac = (TH1F*)fHistPtITSMIge2InAccS->Clone("fHistPtITSMIge2InAccSecFrac");  
754   fHistPtITSMIge2InAccSecFrac->Divide(fHistPtITSMIge2InAcc);
755   fHistPtITSMIge2InAccSecFrac->Draw("same");
756   TH1F *fHistPtITSMI3InAccSecFrac = (TH1F*)fHistPtITSMI3InAccS->Clone("fHistPtITSMI3InAccSecFrac");  
757   fHistPtITSMI3InAccSecFrac->Divide(fHistPtITSMI3InAcc);
758   fHistPtITSMI3InAccSecFrac->SetLineColor(6);
759   fHistPtITSMI3InAccSecFrac->Draw("same");
760   TH1F *fHistPtITSMI4InAccSecFrac = (TH1F*)fHistPtITSMI4InAccS->Clone("fHistPtITSMI4InAccSecFrac");  
761   fHistPtITSMI4InAccSecFrac->Divide(fHistPtITSMI4InAcc);
762   fHistPtITSMI4InAccSecFrac->SetLineColor(4);
763   fHistPtITSMI4InAccSecFrac->Draw("same");
764   TH1F *fHistPtITSMI5InAccSecFrac = (TH1F*)fHistPtITSMI5InAccS->Clone("fHistPtITSMI5InAccSecFrac");  
765   fHistPtITSMI5InAccSecFrac->Divide(fHistPtITSMI5InAcc);
766   fHistPtITSMI5InAccSecFrac->SetLineColor(3);
767   fHistPtITSMI5InAccSecFrac->Draw("same");
768   TH1F *fHistPtITSMI6InAccSecFrac = (TH1F*)fHistPtITSMI6InAccS->Clone("fHistPtITSMI6InAccSecFrac");  
769   fHistPtITSMI6InAccSecFrac->Divide(fHistPtITSMI6InAcc);
770   fHistPtITSMI6InAccSecFrac->SetLineColor(2);
771   fHistPtITSMI6InAccSecFrac->SetLineColor(2);
772   fHistPtITSMI6InAccSecFrac->Draw("same");
773   TH1F *fHistPtITSMISPDInAccSecFrac = (TH1F*)fHistPtITSMISPDInAccS->Clone("fHistPtITSMISPDInAccSecFrac");  
774   fHistPtITSMISPDInAccSecFrac->Divide(fHistPtITSMISPDInAcc);
775   fHistPtITSMISPDInAccSecFrac->SetLineColor(9);
776   fHistPtITSMISPDInAccSecFrac->Draw("same");
777   TH1F *fHistPtITSMIoneSPDInAccSecFrac = (TH1F*)fHistPtITSMIoneSPDInAccS->Clone("fHistPtITSMIoneSPDInAccSecFrac");  
778   fHistPtITSMIoneSPDInAccSecFrac->Divide(fHistPtITSMIoneSPDInAcc);
779   fHistPtITSMIoneSPDInAccSecFrac->SetLineColor(15);
780   fHistPtITSMIoneSPDInAccSecFrac->Draw("same");
781   /* TH1F *fHistPtITSTPCselSecFrac = (TH1F*)fHistPtITSTPCselS->Clone("fHistPtITSTPCselSecFrac");  
782   fHistPtITSTPCselSecFrac->Divide(fHistPtITSTPCsel);
783   fHistPtITSTPCselSecFrac->SetLineColor(15);
784   fHistPtITSTPCselSecFrac->Draw("same"); */
785
786
787   TLegend *l3=new TLegend(0.5,0.5,0.9,0.9);
788   TLegend *l4=new TLegend(0.5,0.5,0.9,0.9);
789   TCanvas *c5 =new TCanvas("c5","c5",10,10,1200,600);
790   c5->Divide(2,1);
791   c5_1->SetGridy();
792   c5_2->SetGridy();
793   c5_1->SetLogx();
794   c5_2->SetLogx();
795   c5->cd(1);
796   fHistPtITSMIge2InAcc->SetMaximum(1.5);
797   fHistPtITSMIge2InAcc->SetMinimum(0);
798   fHistPtITSMIge2InAcc->SetTitle("Fraction of prolonged tracks with N ITS points");
799   fHistPtITSMIge2InAcc->SetYTitle("ITS+TPC / TPC");
800   fHistPtITSMIge2InAcc->Divide(fHistPtITSMIge2InAcc,fHistPtTPCInAcc,1,1,"B");
801   fHistPtITSMIge2InAcc->SetLineColor(1);
802   fHistPtITSMIge2InAcc->Draw();
803   l3->AddEntry(fHistPtITSMIge2InAcc,">=2 cls","l");
804   if(upgrade) {
805     fHistPtITSMI7InAcc->Divide(fHistPtITSMI7InAcc,fHistPtTPCInAcc,1,1,"B");
806     fHistPtITSMI7InAcc->SetLineColor(kOrange);
807     l3->AddEntry(fHistPtITSMI7InAcc,"7 cls","l");
808     fHistPtITSMI7InAcc->Draw("same");
809   }
810   fHistPtITSMI6InAcc->Divide(fHistPtITSMI6InAcc,fHistPtTPCInAcc,1,1,"B");
811   fHistPtITSMI6InAcc->SetLineColor(2);
812   l3->AddEntry(fHistPtITSMI6InAcc,"6 cls","l");
813   fHistPtITSMI6InAcc->Draw("same");
814   fHistPtITSMI5InAcc->Divide(fHistPtITSMI5InAcc,fHistPtTPCInAcc,1,1,"B");
815   fHistPtITSMI5InAcc->SetLineColor(3);
816   l3->AddEntry(fHistPtITSMI5InAcc,"5 cls","l");
817   fHistPtITSMI5InAcc->Draw("same");
818   fHistPtITSMI4InAcc->Divide(fHistPtITSMI4InAcc,fHistPtTPCInAcc,1,1,"B");
819   fHistPtITSMI4InAcc->SetLineColor(4);
820   l3->AddEntry(fHistPtITSMI4InAcc,"4 cls","l");
821   fHistPtITSMI4InAcc->Draw("same");
822   fHistPtITSMI3InAcc->Divide(fHistPtITSMI3InAcc,fHistPtTPCInAcc,1,1,"B");
823   fHistPtITSMI3InAcc->SetLineColor(6);
824   l3->AddEntry(fHistPtITSMI3InAcc,"3 cls","l");
825   fHistPtITSMI3InAcc->Draw("same");
826   fHistPtITSMI2InAcc->Divide(fHistPtITSMI2InAcc,fHistPtTPCInAcc,1,1,"B");
827   fHistPtITSMI2InAcc->SetLineColor(7);
828   l3->AddEntry(fHistPtITSMI2InAcc,"2 cls","l");
829   fHistPtITSMI2InAcc->Draw("same");
830   fHistPtITSMISPDInAcc->Divide(fHistPtITSMISPDInAcc,fHistPtTPCInAcc,1,1,"B");
831   fHistPtITSMISPDInAcc->SetLineColor(9);
832   l3->AddEntry(fHistPtITSMISPDInAcc,"All Inner + any","l");
833   fHistPtITSMISPDInAcc->Draw("same");
834   fHistPtITSMIoneSPDInAcc->Divide(fHistPtITSMIoneSPDInAcc,fHistPtTPCInAcc,1,1,"B");
835   fHistPtITSMIoneSPDInAcc->SetLineColor(15);
836   l3->AddEntry(fHistPtITSMIoneSPDInAcc,">=1 Inner + any","l");
837   fHistPtITSMIoneSPDInAcc->Draw("same");
838   /* fHistPtITSMIoneSPDthreeSDDSSDInAcc->Divide(fHistPtITSMIoneSPDthreeSDDSSDInAcc,fHistPtTPCInAcc,1,1,"B");
839      fHistPtITSMIoneSPDthreeSDDSSDInAcc->SetLineColor(kOrange);
840      l3->AddEntry(fHistPtITSMIoneSPDthreeSDDSSDInAcc,">=1SPD + >=3SDDSSD","l");
841      fHistPtITSMIoneSPDthreeSDDSSDInAcc->Draw("same"); */
842   /* fHistPtITSTPCsel->Divide(fHistPtITSTPCsel,fHistPtTPCInAcc,1,1,"B");
843      fHistPtITSTPCsel->SetLineColor(kAzure+1);
844      l3->AddEntry(fHistPtITSTPCsel,">=1 Inner + any + d_{0} cut","l");
845      fHistPtITSTPCsel->Draw("same"); */
846   //fHistPtITSMIge2InAcc->Draw("same");
847   l3->Draw();
848   if(ioValues) {
849     Int_t index,ptbin;
850     ptbin=fHistPtITSMIge2InAcc->FindBin(0.201);
851     index=2;
852     ioValues[index]=fHistPtITSMIge2InAcc->GetBinContent(ptbin);
853     ioErrors[index]=fHistPtITSMIge2InAcc->GetBinError(ptbin);
854     ptbin=fHistPtITSMIge2InAcc->FindBin(1.001);
855     index=3;
856     ioValues[index]=fHistPtITSMIge2InAcc->GetBinContent(ptbin);
857     ioErrors[index]=fHistPtITSMIge2InAcc->GetBinError(ptbin);
858     ptbin=fHistPtITSMIge2InAcc->FindBin(10.001);
859     index=4;
860     ioValues[index]=fHistPtITSMIge2InAcc->GetBinContent(ptbin);
861     ioErrors[index]=fHistPtITSMIge2InAcc->GetBinError(ptbin);
862     ptbin=fHistPtITSMI6InAcc->FindBin(0.201);
863     index=5;
864     ioValues[index]=fHistPtITSMI6InAcc->GetBinContent(ptbin);
865     ioErrors[index]=fHistPtITSMI6InAcc->GetBinError(ptbin);
866     ptbin=fHistPtITSMI6InAcc->FindBin(1.001);
867     index=6;
868     ioValues[index]=fHistPtITSMI6InAcc->GetBinContent(ptbin);
869     ioErrors[index]=fHistPtITSMI6InAcc->GetBinError(ptbin);
870     ptbin=fHistPtITSMI6InAcc->FindBin(10.001);
871     index=7;
872     ioValues[index]=fHistPtITSMI6InAcc->GetBinContent(ptbin);
873     ioErrors[index]=fHistPtITSMI6InAcc->GetBinError(ptbin);
874     ptbin=fHistPtITSMISPDInAcc->FindBin(0.201);
875     index=8;
876     ioValues[index]=fHistPtITSMISPDInAcc->GetBinContent(ptbin);
877     ioErrors[index]=fHistPtITSMISPDInAcc->GetBinError(ptbin);
878     ptbin=fHistPtITSMISPDInAcc->FindBin(1.001);
879     index=9;
880     ioValues[index]=fHistPtITSMISPDInAcc->GetBinContent(ptbin);
881     ioErrors[index]=fHistPtITSMISPDInAcc->GetBinError(ptbin);
882     ptbin=fHistPtITSMISPDInAcc->FindBin(10.001);
883     index=10;
884     ioValues[index]=fHistPtITSMISPDInAcc->GetBinContent(ptbin);
885     ioErrors[index]=fHistPtITSMISPDInAcc->GetBinError(ptbin);
886     ptbin=fHistPtITSMIoneSPDInAcc->FindBin(0.201);
887     index=11;
888     ioValues[index]=fHistPtITSMIoneSPDInAcc->GetBinContent(ptbin);
889     ioErrors[index]=fHistPtITSMIoneSPDInAcc->GetBinError(ptbin);
890     ptbin=fHistPtITSMIoneSPDInAcc->FindBin(1.001);
891     index=12;
892     ioValues[index]=fHistPtITSMIoneSPDInAcc->GetBinContent(ptbin);
893     ioErrors[index]=fHistPtITSMIoneSPDInAcc->GetBinError(ptbin);
894     ptbin=fHistPtITSMIoneSPDInAcc->FindBin(10.001);
895     index=13;
896     ioValues[index]=fHistPtITSMIoneSPDInAcc->GetBinContent(ptbin);
897     ioErrors[index]=fHistPtITSMIoneSPDInAcc->GetBinError(ptbin);
898   }
899   c5->cd(2);
900   TH1F *fHistPtITSMIokbadoutinzge4InAcc = (TH1F*)fHistPtITSMIokbadoutinz6InAcc->Clone("fHistPtITSMIokbadoutinzge4InAcc");
901   fHistPtITSMIokbadoutinzge4InAcc->Add(fHistPtITSMIokbadoutinz5InAcc);
902   fHistPtITSMIokbadoutinzge4InAcc->Add(fHistPtITSMIokbadoutinz4InAcc);
903   fHistPtITSMIokbadoutinzge4InAcc->SetMaximum(1.5);
904   fHistPtITSMIokbadoutinzge4InAcc->SetMinimum(0);
905   fHistPtITSMIokbadoutinzge4InAcc->SetTitle("Fraction of prolonged tracks with N ITS layers \"ok\"");
906   fHistPtITSMIokbadoutinzge4InAcc->SetYTitle("ITS+TPC / TPC");
907   fHistPtITSMIokbadoutinzge4InAcc->Divide(fHistPtITSMIokbadoutinzge4InAcc,fHistPtTPCInAcc,1,1,"B");
908   fHistPtITSMIokbadoutinzge4InAcc->SetLineColor(1);
909   fHistPtITSMIokbadoutinzge4InAcc->Draw();
910   fHistPtITSMIokbadoutinz6InAcc->Divide(fHistPtITSMIokbadoutinz6InAcc,fHistPtTPCInAcc,1,1,"B");
911   fHistPtITSMIokbadoutinz6InAcc->SetLineColor(2);
912   fHistPtITSMIokbadoutinz6InAcc->Draw("same");
913   fHistPtITSMIokbadoutinz5InAcc->Divide(fHistPtITSMIokbadoutinz5InAcc,fHistPtTPCInAcc,1,1,"B");
914   fHistPtITSMIokbadoutinz5InAcc->SetLineColor(3);
915   fHistPtITSMIokbadoutinz5InAcc->Draw("same");
916   fHistPtITSMIokbadoutinz4InAcc->Divide(fHistPtITSMIokbadoutinz4InAcc,fHistPtTPCInAcc,1,1,"B");
917   fHistPtITSMIokbadoutinz4InAcc->SetLineColor(4);
918   fHistPtITSMIokbadoutinz4InAcc->Draw("same");
919   fHistPtITSMIokbadoutinzge4InAcc->Draw("same");
920   l4->AddEntry(fHistPtITSMIokbadoutinzge4InAcc,">=4 layers","l");
921   l4->AddEntry(fHistPtITSMIokbadoutinz6InAcc,"6 layers","l");
922   l4->AddEntry(fHistPtITSMIokbadoutinz5InAcc,"5 layers","l");
923   l4->AddEntry(fHistPtITSMIokbadoutinz4InAcc,"4 layers","l");
924   l4->Draw();
925
926   if(fHistPtITSMIge2InAccFake) {
927     TCanvas *c5f =new TCanvas("c5f","c5f",10,10,600,600);
928     c5f->SetGridy();
929     c5f->SetLogx();
930     fHistPtITSMIge2InAccFake->SetMaximum(1.5);
931     fHistPtITSMIge2InAccFake->SetMinimum(0);
932     fHistPtITSMIge2InAccFake->SetTitle("Fraction of fake tracks with N ITS points");
933     fHistPtITSMIge2InAccFake->SetYTitle("Fraction of fakes");
934     fHistPtITSMIge2InAccFake->SetLineColor(1);
935     fHistPtITSMIge2InAccFake->Draw();
936     if(upgrade) {
937       fHistPtITSMI7InAccFake->SetLineColor(kOrange);
938       fHistPtITSMI7InAccFake->Draw("same");
939     }
940     fHistPtITSMI5InAccFake->SetLineColor(3);
941     fHistPtITSMI6InAccFake->SetLineColor(2);
942     fHistPtITSMI6InAccFake->Draw("same");
943     fHistPtITSMI5InAccFake->SetLineColor(3);
944     //fHistPtITSMI5InAccFake->Draw("same");
945     fHistPtITSMI4InAccFake->SetLineColor(4);
946     //fHistPtITSMI4InAccFake->Draw("same");
947     fHistPtITSMI3InAccFake->SetLineColor(6);
948     //fHistPtITSMI3InAccFake->Draw("same");
949     fHistPtITSMI2InAccFake->SetLineColor(7);
950     //fHistPtITSMI2InAccFake->Draw("same");
951     fHistPtITSMISPDInAccFake->SetLineColor(9);
952     fHistPtITSMISPDInAccFake->Draw("same");
953     fHistPtITSMIoneSPDInAccFake->SetLineColor(15);
954     fHistPtITSMIoneSPDInAccFake->Draw("same");
955     /* if(fHistPtITSTPCselFake) {
956        fHistPtITSTPCselFake->SetLineColor(kAzure+1);
957        fHistPtITSTPCselFake->Draw("same");
958        } */
959     fHistPtITSMIge2InAccFake->Draw("same");
960     l3->Draw();
961   }
962
963
964   /*
965   TLegend *l4d=new TLegend(0.5,0.5,0.9,0.9);
966   TCanvas *c5d =new TCanvas("c5d","c5d",10,10,600,600);
967   c5d->SetGridy();
968   c5d->SetGridy();
969   fHistPtITSMISPDInAccMC->SetMaximum(1.5);
970   fHistPtITSMISPDInAccMC->SetMinimum(0);
971   fHistPtITSMISPDInAccMC->SetTitle("Fraction of prolonged tracks with N ITS points");
972   fHistPtITSMISPDInAccMC->SetYTitle("ITS+TPC / TPC");
973   fHistPtITSMISPDInAccMC->Divide(fHistPtITSMISPDInAccMC,fHistPtTPCInAccMCtwoSPD,1,1,"B");
974   fHistPtITSMISPDInAccMC->SetLineColor(9);
975   l4d->AddEntry(fHistPtITSMISPDInAccMC,"2SPD + any","l");
976   fHistPtITSMISPDInAccMC->Draw();
977   fHistPtITSMIoneSPDInAccMC->Divide(fHistPtITSMIoneSPDInAccMC,fHistPtTPCInAccMConeSPD,1,1,"B");
978   fHistPtITSMIoneSPDInAccMC->SetLineColor(15);
979   l4d->AddEntry(fHistPtITSMIoneSPDInAccMC,">=1SPD + any","l");
980   fHistPtITSMIoneSPDInAccMC->Draw("same");
981   l4d->Draw();
982   */
983
984   /*
985   TFile *eff=new TFile("eff.root","recreate");
986   fHistPtITSMIge2InAcc->Write();
987   fHistPtITSMI6InAcc->Write();
988   fHistPtITSMI5InAcc->Write();
989   fHistPtITSMI4InAcc->Write();
990   fHistPtITSMI3InAcc->Write();
991   fHistPtITSMI2InAcc->Write();
992   fHistPtITSMISPDInAcc->Write();
993   fHistPtITSMIoneSPDInAcc->Write();
994   //fHistPtITSMIoneSPDthreeSDDSSDInAcc->Write();
995   fHistPtITSTPCsel->Write();
996   fHistNclsITSMI->Write();
997   fHistClusterMapModuleITSMIokRatioInAcc->Write();
998   fHistClusterMapModuleITSMIbadRatioInAcc->Write();
999   fHistClusterMapModuleITSMInoclsRatioInAcc->Write();
1000   eff->Close();
1001   */
1002
1003   c5c->cd();
1004   l3->Draw();
1005
1006   /*
1007   TCanvas *c5b =new TCanvas("c5b","c5b",10,10,600,600);
1008   c5b->SetLogy();
1009   fHistRProdVtxInAccP->SetLineColor(2);
1010   fHistRProdVtxInAccP->SetMinimum(1);
1011   fHistRProdVtxInAccS->SetMinimum(1);
1012   fHistRProdVtxInAccP->Draw();
1013   fHistRProdVtxInAccS->Draw("sames");
1014   */
1015
1016   TCanvas *c5a =new TCanvas("c5a","c5a",10,10,1200,600);
1017   c5a->Divide(2,1);
1018   c5a_1->SetLogx();
1019   c5a_2->SetLogx();
1020   c5a_1->SetGridy();
1021   c5a_2->SetGridy();
1022   c5a->cd(1);
1023   fHistPtITSMIge2InAccP->SetMaximum(1.5);
1024   fHistPtITSMIge2InAccP->SetMinimum(0);
1025   fHistPtITSMIge2InAccP->SetTitle("Fraction of prolonged tracks with N ITS points");
1026   fHistPtITSMIge2InAccP->SetYTitle("ITS+TPC / TPC");
1027   fHistPtITSMIge2InAccP->SetLineColor(1);
1028   fHistPtITSMIge2InAccP->Draw();
1029   fHistPtITSMIge2InAccP->Divide(fHistPtITSMIge2InAccP,fHistPtTPCInAccP,1,1,"B");
1030   if(upgrade) {
1031     fHistPtITSMI7InAccP->Divide(fHistPtITSMI7InAccP,fHistPtTPCInAccP,1,1,"B");
1032     fHistPtITSMI7InAccP->SetLineColor(kOrange);
1033     fHistPtITSMI7InAccP->Draw("same");
1034   }
1035   fHistPtITSMI6InAccP->Divide(fHistPtITSMI6InAccP,fHistPtTPCInAccP,1,1,"B");
1036   fHistPtITSMI6InAccP->SetLineColor(2);
1037   fHistPtITSMI6InAccP->Draw("same");
1038   fHistPtITSMI5InAccP->Divide(fHistPtITSMI5InAccP,fHistPtTPCInAccP,1,1,"B");
1039   fHistPtITSMI5InAccP->SetLineColor(3);
1040   fHistPtITSMI5InAccP->Draw("same");
1041   fHistPtITSMI4InAccP->Divide(fHistPtITSMI4InAccP,fHistPtTPCInAccP,1,1,"B");
1042   fHistPtITSMI4InAccP->SetLineColor(4);
1043   fHistPtITSMI4InAccP->Draw("same");
1044   fHistPtITSMI3InAccP->Divide(fHistPtITSMI3InAccP,fHistPtTPCInAccP,1,1,"B");
1045   fHistPtITSMI3InAccP->SetLineColor(6);
1046   fHistPtITSMI3InAccP->Draw("same");
1047   fHistPtITSMI2InAccP->Divide(fHistPtITSMI2InAccP,fHistPtTPCInAccP,1,1,"B");
1048   fHistPtITSMI2InAccP->SetLineColor(7);
1049   fHistPtITSMI2InAccP->Draw("same");
1050   fHistPtITSMISPDInAccP->Divide(fHistPtITSMISPDInAccP,fHistPtTPCInAccP,1,1,"B");
1051   fHistPtITSMISPDInAccP->SetLineColor(9);
1052   fHistPtITSMISPDInAccP->Draw("same");
1053   fHistPtITSMIoneSPDInAccP->Divide(fHistPtITSMIoneSPDInAccP,fHistPtTPCInAccP,1,1,"B");
1054   fHistPtITSMIoneSPDInAccP->SetLineColor(15);
1055   fHistPtITSMIoneSPDInAccP->Draw("same");
1056   /* fHistPtITSTPCselP->Divide(fHistPtITSTPCselP,fHistPtTPCInAccP,1,1,"B");
1057   fHistPtITSTPCselP->SetLineColor(kAzure+1);
1058   fHistPtITSTPCselP->Draw("same");
1059   fHistPtITSMIge2InAccP->Draw("same"); */
1060   l3->Draw();
1061   c5a->cd(2);
1062   fHistPtITSMIge2InAccS->SetMaximum(1.5);
1063   fHistPtITSMIge2InAccS->SetMinimum(0);
1064   fHistPtITSMIge2InAccS->SetTitle("Fraction of prolonged tracks with N ITS points");
1065   fHistPtITSMIge2InAccS->SetYTitle("ITS+TPC / TPC");
1066   fHistPtITSMIge2InAccS->Divide(fHistPtITSMIge2InAccS,fHistPtTPCInAccS,1,1,"B");
1067   fHistPtITSMIge2InAccS->SetLineColor(1);
1068   fHistPtITSMIge2InAccS->Draw();
1069   fHistPtITSMI6InAccS->Divide(fHistPtITSMI6InAccS,fHistPtTPCInAccS,1,1,"B");
1070   fHistPtITSMI6InAccS->SetLineColor(2);
1071   fHistPtITSMI6InAccS->Draw("same");
1072   if(upgrade) {
1073     fHistPtITSMI7InAccS->Divide(fHistPtITSMI7InAccS,fHistPtTPCInAccS,1,1,"B");
1074     fHistPtITSMI7InAccS->SetLineColor(kOrange);
1075     fHistPtITSMI7InAccS->Draw("same");
1076   }
1077   fHistPtITSMI5InAccS->Divide(fHistPtITSMI5InAccS,fHistPtTPCInAccS,1,1,"B");
1078   fHistPtITSMI5InAccS->SetLineColor(3);
1079   fHistPtITSMI5InAccS->Draw("same");
1080   fHistPtITSMI4InAccS->Divide(fHistPtITSMI4InAccS,fHistPtTPCInAccS,1,1,"B");
1081   fHistPtITSMI4InAccS->SetLineColor(4);
1082   fHistPtITSMI4InAccS->Draw("same");
1083   fHistPtITSMI3InAccS->Divide(fHistPtITSMI3InAccS,fHistPtTPCInAccS,1,1,"B");
1084   fHistPtITSMI3InAccS->SetLineColor(6);
1085   fHistPtITSMI3InAccS->Draw("same");
1086   fHistPtITSMI2InAccS->Divide(fHistPtITSMI2InAccS,fHistPtTPCInAccS,1,1,"B");
1087   fHistPtITSMI2InAccS->SetLineColor(7);
1088   fHistPtITSMI2InAccS->Draw("same");
1089   fHistPtITSMISPDInAccS->Divide(fHistPtITSMISPDInAccS,fHistPtTPCInAccS,1,1,"B");
1090   fHistPtITSMISPDInAccS->SetLineColor(9);
1091   fHistPtITSMISPDInAccS->Draw("same");
1092   fHistPtITSMIoneSPDInAccS->Divide(fHistPtITSMIoneSPDInAccS,fHistPtTPCInAccS,1,1,"B");
1093   fHistPtITSMIoneSPDInAccS->SetLineColor(15);
1094   fHistPtITSMIoneSPDInAccS->Draw("same");
1095   /* fHistPtITSTPCselS->Divide(fHistPtITSTPCselS,fHistPtTPCInAccS,1,1,"B");
1096   fHistPtITSTPCselS->SetLineColor(kAzure+1);
1097   fHistPtITSTPCselS->Draw("same");
1098   fHistPtITSMIge2InAccS->Draw("same"); */
1099   l3->Draw();
1100
1101
1102   if(!plotAlignmentChecks) return kTRUE;
1103
1104   // PLOT ALIGNMENT CHECKS
1105   //
1106   TH1F *hSPDTrackletsTBdxy = new TH1F("hSPDTrackletsTBdxy","SPD tracklets; SPD tracklet to SPD vertex distance in (x,y) [cm]; entries",100,-0.1,0.1);
1107   TH1F *hSPDTrackletsLRdxy = new TH1F("hSPDTrackletsLRdxy","SPD tracklets; SPD tracklet to SPD vertex distance in (x,y) [cm]; entries",100,-0.1,0.1);
1108   TH1F *hSPDTrackletsTBdz = new TH1F("hSPDTrackletsTBdz","SPD tracklets; SPD tracklet to SPD vertex distance in z [cm]; entries",100,-0.1,0.1);
1109   TH1F *hSPDTrackletsLRdz = new TH1F("hSPDTrackletsLRdz","SPD tracklets; SPD tracklet to SPD vertex distance in z [cm]; entries",100,-0.1,0.1);
1110
1111   TNtuple *fNtupleITSAlignSPDTracklets = (TNtuple*)list->FindObject("fNtupleITSAlignSPDTracklets");
1112   Float_t dxy,dz,phi,pt;
1113   fNtupleITSAlignSPDTracklets->SetBranchAddress("pt",&pt);
1114   fNtupleITSAlignSPDTracklets->SetBranchAddress("phi",&phi);
1115   fNtupleITSAlignSPDTracklets->SetBranchAddress("dxy",&dxy);
1116   fNtupleITSAlignSPDTracklets->SetBranchAddress("dz",&dz);
1117
1118   for(Int_t i=0;i<fNtupleITSAlignSPDTracklets->GetEntries();i++) {
1119     fNtupleITSAlignSPDTracklets->GetEvent(i);
1120     if(pt<.01) continue;
1121     if(TMath::Abs(TMath::Abs(phi)-0.5*TMath::Pi())<0.25*TMath::Pi()) {
1122       // top-bottom
1123       hSPDTrackletsTBdxy->Fill(dxy);
1124       hSPDTrackletsTBdz->Fill(dz);
1125     } else {
1126       // left-right
1127       hSPDTrackletsLRdxy->Fill(dxy);
1128       hSPDTrackletsLRdz->Fill(dz);
1129     }
1130   }
1131
1132   TLegend *l6=new TLegend(0.5,0.5,0.9,0.9);
1133
1134   TCanvas *c6 = new TCanvas("c6","c6",0,0,1000,500);
1135   c6->Divide(2,1);
1136   c6->cd(1);
1137   hSPDTrackletsTBdxy->SetLineColor(4);
1138   hSPDTrackletsTBdxy->Draw();
1139   hSPDTrackletsLRdxy->SetLineColor(2);
1140   hSPDTrackletsLRdxy->Draw("sames");
1141   l6->AddEntry(hSPDTrackletsTBdxy,"top-bottom","l");
1142   l6->AddEntry(hSPDTrackletsLRdxy,"left-right","l");
1143   l6->Draw();
1144   c6->cd(2);
1145   hSPDTrackletsTBdz->SetLineColor(4);
1146   hSPDTrackletsTBdz->Draw();
1147   hSPDTrackletsLRdz->SetLineColor(2);
1148   hSPDTrackletsLRdz->Draw("sames");
1149   l6->Draw();
1150
1151
1152   TH1F *hSPDExtraClsTBdxy = new TH1F("hSPDExtraClsTBdxy","SPD extra clusters; track-to-point distance in (x,y) [cm]; entries",100,-0.1,0.1);
1153   TH1F *hSPDExtraClsLRdxy = new TH1F("hSPDExtraClsLRdxy","SPD extra clusters; track-to-point distance in (x,y) [cm]; entries",100,-0.1,0.1);
1154   TH1F *hSPDExtraClsTBdz = new TH1F("hSPDExtraClsTBdz","SPD extra clusters; track-to-point distance in z [cm]; entries",100,-0.1,0.1);
1155   TH1F *hSPDExtraClsLRdz = new TH1F("hSPDExtraClsLRdz","SPD extra clusters; track-to-point distance in z [cm]; entries",100,-0.1,0.1);
1156
1157   TNtuple *fNtupleITSAlignExtra = (TNtuple*)list->FindObject("fNtupleITSAlignExtra");
1158   Float_t layer,npoints,x,y,z;
1159   fNtupleITSAlignExtra->SetBranchAddress("layer",&layer);
1160   fNtupleITSAlignExtra->SetBranchAddress("npoints",&npoints);
1161   fNtupleITSAlignExtra->SetBranchAddress("x",&x);
1162   fNtupleITSAlignExtra->SetBranchAddress("y",&y);
1163   fNtupleITSAlignExtra->SetBranchAddress("z",&z);
1164   fNtupleITSAlignExtra->SetBranchAddress("dxy",&dxy);
1165   fNtupleITSAlignExtra->SetBranchAddress("dz",&dz);
1166   fNtupleITSAlignExtra->SetBranchAddress("pt",&pt);
1167
1168   for(Int_t i=0;i<fNtupleITSAlignExtra->GetEntries();i++) {
1169     fNtupleITSAlignExtra->GetEvent(i);
1170     if(pt<0.1) continue;
1171     if(layer!=0 && layer!=1) continue;
1172     if(npoints<3) continue;
1173     phi = TMath::ATan2(y,x);
1174     if(TMath::Abs(TMath::Abs(phi)-0.5*TMath::Pi())<0.25*TMath::Pi()) {
1175       // top-bottom
1176       hSPDExtraClsTBdxy->Fill(dxy);
1177       hSPDExtraClsTBdz->Fill(dz);
1178     } else {
1179       // left-right
1180       hSPDExtraClsLRdxy->Fill(dxy);
1181       hSPDExtraClsLRdz->Fill(dz);
1182     }
1183   }
1184
1185   TCanvas *c7 = new TCanvas("c7","c7",0,0,1000,500);
1186   c7->Divide(2,1);
1187   c7->cd(1);
1188   hSPDExtraClsTBdxy->SetLineColor(4);
1189   hSPDExtraClsTBdxy->Draw();
1190   hSPDExtraClsLRdxy->SetLineColor(2);
1191   hSPDExtraClsLRdxy->Draw("same");
1192   l6->Draw();
1193   c7->cd(2);
1194   hSPDExtraClsTBdz->SetLineColor(4);
1195   hSPDExtraClsTBdz->Draw();
1196   hSPDExtraClsLRdz->SetLineColor(2);
1197   hSPDExtraClsLRdz->Draw("same");
1198   l6->Draw();
1199
1200
1201   return kTRUE;
1202 }
1203 //-----------------------------------------------------------------------------
1204 void PlotEffRatio() {
1205
1206   TFile *f= new TFile("eff.root");
1207
1208   TH1F *fHistPtITSMI6InAcc = (TH1F*)f->Get("fHistPtITSMI6InAcc");
1209   TH1F *fHistPtITSMI5InAcc = (TH1F*)f->Get("fHistPtITSMI5InAcc");
1210   TH1F *fHistPtITSMI4InAcc = (TH1F*)f->Get("fHistPtITSMI4InAcc");
1211   TH1F *fHistPtITSMI3InAcc = (TH1F*)f->Get("fHistPtITSMI3InAcc");
1212   TH1F *fHistPtITSMI2InAcc = (TH1F*)f->Get("fHistPtITSMI2InAcc");
1213   TH1F *fHistPtITSMIge2InAcc = (TH1F*)f->Get("fHistPtITSMIge2InAcc");
1214   TH1F *fHistPtITSMISPDInAcc = (TH1F*)f->Get("fHistPtITSMISPDInAcc");
1215   TH1F *fHistPtITSMIoneSPDInAcc = (TH1F*)f->Get("fHistPtITSMIoneSPDInAcc");
1216   TH1F *fHistPtITSMIoneSPDthreeSDDSSDInAcc = (TH1F*)f->Get("fHistPtITSMIoneSPDthreeSDDSSDInAcc");
1217   TH1F *fHistPtITSTPCsel = (TH1F*)f->Get("fHistPtITSTPCsel");
1218   TH1F *fHistClusterMapModuleITSMIokRatioInAcc = (TH1F*)f->Get("fHistClusterMapModuleITSMIokRatioInAcc");
1219   TH1F *fHistNclsITSMI = (TH1F*)f->Get("fHistNclsITSMI");
1220
1221
1222   TFile *fMC= new TFile("../MC/MCLHC11b10a/eff.root");
1223
1224   TH1F *fHistPtITSMI6InAccMC = (TH1F*)fMC->Get("fHistPtITSMI6InAcc");
1225   TH1F *fHistPtITSMI5InAccMC = (TH1F*)fMC->Get("fHistPtITSMI5InAcc");
1226   TH1F *fHistPtITSMI4InAccMC = (TH1F*)fMC->Get("fHistPtITSMI4InAcc");
1227   TH1F *fHistPtITSMI3InAccMC = (TH1F*)fMC->Get("fHistPtITSMI3InAcc");
1228   TH1F *fHistPtITSMI2InAccMC = (TH1F*)fMC->Get("fHistPtITSMI2InAcc");
1229   TH1F *fHistPtITSMIge2InAccMC = (TH1F*)fMC->Get("fHistPtITSMIge2InAcc");
1230   TH1F *fHistPtITSMISPDInAccMC = (TH1F*)fMC->Get("fHistPtITSMISPDInAcc");
1231   TH1F *fHistPtITSMIoneSPDInAccMC = (TH1F*)fMC->Get("fHistPtITSMIoneSPDInAcc");
1232   TH1F *fHistPtITSMIoneSPDthreeSDDSSDInAccMC = (TH1F*)fMC->Get("fHistPtITSMIoneSPDthreeSDDSSDInAcc");
1233   TH1F *fHistPtITSTPCselMC = (TH1F*)fMC->Get("fHistPtITSTPCsel");
1234   TH1F *fHistClusterMapModuleITSMIokRatioInAccMC = (TH1F*)fMC->Get("fHistClusterMapModuleITSMIokRatioInAcc");
1235   TH1F *fHistNclsITSMIMC = (TH1F*)fMC->Get("fHistNclsITSMIMC");
1236
1237   /*
1238   TCanvas *c0 = new TCanvas("c0","c0",0,0,600,500);
1239   c0->SetGridy();
1240   fHistNclsITSMI->SetLineColor(4);
1241   fHistNclsITSMI->SetMarkerColor(4);
1242   fHistNclsITSMI->SetLineStyle(1);
1243   fHistNclsITSMI->SetMarkerStyle(20);
1244   fHistNclsITSMI->Draw();
1245   fHistNclsITSMIMC->SetLineColor(4);
1246   fHistNclsITSMIMC->SetMarkerColor(4);
1247   fHistNclsITSMIMC->SetLineStyle(2);
1248   fHistNclsITSMIMC->SetMarkerStyle(24);
1249   fHistNclsITSMIMC->Draw("same");
1250   */
1251   TCanvas *c = new TCanvas("c","c",0,0,600,500);
1252   c->SetGridy();
1253   c->SetLogx();
1254   
1255   fHistPtITSMI6InAcc->Divide(fHistPtITSMI6InAccMC);
1256   fHistPtITSMI6InAcc->Draw();
1257   fHistPtITSMI5InAcc->Divide(fHistPtITSMI5InAccMC);
1258   fHistPtITSMI5InAcc->Draw("same");
1259   fHistPtITSMI4InAcc->Divide(fHistPtITSMI4InAccMC);
1260   fHistPtITSMI4InAcc->Draw("same");
1261   fHistPtITSMI3InAcc->Divide(fHistPtITSMI3InAccMC);
1262   fHistPtITSMI3InAcc->Draw("same");
1263   fHistPtITSMI2InAcc->Divide(fHistPtITSMI2InAccMC);
1264   fHistPtITSMI2InAcc->Draw("same");
1265   fHistPtITSMIge2InAcc->Divide(fHistPtITSMIge2InAccMC);
1266   fHistPtITSMIge2InAcc->Draw("same");
1267   fHistPtITSMISPDInAcc->Divide(fHistPtITSMISPDInAccMC);
1268   fHistPtITSMISPDInAcc->Draw("same");
1269   fHistPtITSMIoneSPDInAcc->Divide(fHistPtITSMIoneSPDInAccMC);
1270   fHistPtITSMIoneSPDInAcc->Draw("same");
1271   //fHistPtITSMIoneSPDthreeSDDSSDInAcc->Divide(fHistPtITSMIoneSPDthreeSDDSSDInAccMC);
1272   //fHistPtITSMIoneSPDthreeSDDSSDInAcc->Draw("same");
1273   
1274   fHistPtITSTPCsel->Divide(fHistPtITSTPCselMC);
1275   fHistPtITSTPCsel->Draw("same");
1276   
1277   TLegend *l3=new TLegend(0.5,0.5,0.9,0.9);
1278   l3->AddEntry(fHistPtITSMIge2InAcc,">=2 cls","l");
1279   l3->AddEntry(fHistPtITSMI6InAcc,"6 cls","l");
1280   l3->AddEntry(fHistPtITSMI5InAcc,"5 cls","l");
1281   l3->AddEntry(fHistPtITSMI4InAcc,"4 cls","l");
1282   l3->AddEntry(fHistPtITSMI3InAcc,"3 cls","l");
1283   l3->AddEntry(fHistPtITSMI2InAcc,"2 cls","l");
1284   l3->AddEntry(fHistPtITSMISPDInAcc,"2SPD + any","l");
1285   l3->AddEntry(fHistPtITSMIoneSPDInAcc,">=1SPD + any","l");
1286   //l3->AddEntry(fHistPtITSMIoneSPDthreeSDDSSDInAcc,">=1SPD + >=3SDDSSD","l");
1287   l3->AddEntry(fHistPtITSTPCsel,">=1SPD + any + d_{0} cut","l");
1288   l3->Draw();
1289   
1290   TCanvas *cc = new TCanvas("cc","cc",0,0,600,500);
1291   cc->Divide(1,2);
1292   cc->cd(1);
1293   fHistClusterMapModuleITSMIokRatioInAccMC->SetLineColor(4);
1294   fHistClusterMapModuleITSMIokRatioInAccMC->Draw();
1295   fHistClusterMapModuleITSMIokRatioInAcc->Draw("same");
1296   cc->cd(2);
1297   for(Int_t i=1;i<=fHistClusterMapModuleITSMIokRatioInAccMC->GetNbinsX();i++) {
1298     if(fHistClusterMapModuleITSMIokRatioInAccMC->GetBinContent(i)<0.02) {
1299       fHistClusterMapModuleITSMIokRatioInAccMC->SetBinContent(i,1); 
1300       if(fHistClusterMapModuleITSMIokRatioInAcc->GetBinContent(i)<0.02) {
1301         fHistClusterMapModuleITSMIokRatioInAcc->SetBinContent(i,1); 
1302       }
1303     }
1304   }
1305   TH1F* fHistClusterMapDataOverMC=(TH1F*)fHistClusterMapModuleITSMIokRatioInAcc->Clone("fHistClusterMapDataOverMC");
1306   fHistClusterMapDataOverMC->Divide(fHistClusterMapModuleITSMIokRatioInAccMC);
1307   fHistClusterMapDataOverMC->Draw();
1308
1309   return;
1310 }
1311
1312 //-----------------------------------------------------------------------------
1313 void PlotEffOfficial(Bool_t drawRatio=kTRUE) {
1314
1315   gStyle->SetOptStat(0);
1316
1317   gROOT->LoadMacro("/Users/dainesea/ALICEWorkInProgress.C");
1318
1319   TFile *f= new TFile("eff_115328_115393_minipass.root");
1320
1321   TH1F *fHistPtITSMI6InAcc = (TH1F*)f->Get("fHistPtITSMI6InAcc");
1322   TH1F *fHistPtITSMI5InAcc = (TH1F*)f->Get("fHistPtITSMI5InAcc");
1323   TH1F *fHistPtITSMI4InAcc = (TH1F*)f->Get("fHistPtITSMI4InAcc");
1324   TH1F *fHistPtITSMI3InAcc = (TH1F*)f->Get("fHistPtITSMI3InAcc");
1325   TH1F *fHistPtITSMI2InAcc = (TH1F*)f->Get("fHistPtITSMI2InAcc");
1326   TH1F *fHistPtITSMIge2InAcc = (TH1F*)f->Get("fHistPtITSMIge2InAcc");
1327   fHistPtITSMIge2InAcc->SetLineColor(1);
1328   fHistPtITSMIge2InAcc->SetLineStyle(1);
1329   fHistPtITSMIge2InAcc->SetMarkerColor(1);
1330   fHistPtITSMIge2InAcc->SetMarkerStyle(21);
1331   TH1F *fHistPtITSMISPDInAcc = (TH1F*)f->Get("fHistPtITSMISPDInAcc");
1332   TH1F *fHistPtITSMIoneSPDInAcc = (TH1F*)f->Get("fHistPtITSMIoneSPDInAcc");
1333   fHistPtITSMIoneSPDInAcc->SetLineColor(2);
1334   fHistPtITSMIoneSPDInAcc->SetLineStyle(1);
1335   fHistPtITSMIoneSPDInAcc->SetMarkerColor(2);
1336   fHistPtITSMIoneSPDInAcc->SetMarkerStyle(20);
1337   TH1F *fHistPtITSTPCsel = (TH1F*)f->Get("fHistPtITSTPCsel");
1338   TH1F *fHistClusterMapModuleITSMIokRatioInAcc = (TH1F*)f->Get("fHistClusterMapModuleITSMIokRatioInAcc");
1339   TH1F *fHistNclsITSMI = (TH1F*)f->Get("fHistNclsITSMI");
1340
1341
1342   TFile *fMC= new TFile("eff_lhc10b2.root");
1343
1344   TH1F *fHistPtITSMI6InAccMC = (TH1F*)fMC->Get("fHistPtITSMI6InAcc");
1345   TH1F *fHistPtITSMI5InAccMC = (TH1F*)fMC->Get("fHistPtITSMI5InAcc");
1346   TH1F *fHistPtITSMI4InAccMC = (TH1F*)fMC->Get("fHistPtITSMI4InAcc");
1347   TH1F *fHistPtITSMI3InAccMC = (TH1F*)fMC->Get("fHistPtITSMI3InAcc");
1348   TH1F *fHistPtITSMI2InAccMC = (TH1F*)fMC->Get("fHistPtITSMI2InAcc");
1349   TH1F *fHistPtITSMIge2InAccMC = (TH1F*)fMC->Get("fHistPtITSMIge2InAcc");
1350   fHistPtITSMIge2InAccMC->SetLineColor(1);
1351   fHistPtITSMIge2InAccMC->SetLineStyle(2);
1352   fHistPtITSMIge2InAccMC->SetMarkerColor(1);
1353   fHistPtITSMIge2InAccMC->SetMarkerStyle(25);
1354   TH1F *fHistPtITSMISPDInAccMC = (TH1F*)fMC->Get("fHistPtITSMISPDInAcc");
1355   TH1F *fHistPtITSMIoneSPDInAccMC = (TH1F*)fMC->Get("fHistPtITSMIoneSPDInAcc");
1356   fHistPtITSMIoneSPDInAccMC->SetLineColor(2);
1357   fHistPtITSMIoneSPDInAccMC->SetLineStyle(2);
1358   fHistPtITSMIoneSPDInAccMC->SetMarkerColor(2);
1359   fHistPtITSMIoneSPDInAccMC->SetMarkerStyle(24);
1360   TH1F *fHistPtITSTPCselMC = (TH1F*)fMC->Get("fHistPtITSTPCsel");
1361   TH1F *fHistClusterMapModuleITSMIokRatioInAccMC = (TH1F*)fMC->Get("fHistClusterMapModuleITSMIokRatioInAcc");
1362   TH1F *fHistNclsITSMIMC = (TH1F*)fMC->Get("fHistNclsITSMI");
1363
1364
1365   TCanvas *c0 = new TCanvas("c0","c0",0,0,600,500);
1366   c0->SetGridy();
1367   fHistNclsITSMI->SetLineColor(4);
1368   fHistNclsITSMI->SetMarkerColor(4);
1369   fHistNclsITSMI->SetLineStyle(1);
1370   fHistNclsITSMI->SetMarkerStyle(20);
1371   fHistNclsITSMI->Scale(1./fHistNclsITSMI->Integral());
1372   fHistNclsITSMI->Draw();
1373   fHistNclsITSMIMC->SetLineColor(4);
1374   fHistNclsITSMIMC->SetMarkerColor(4);
1375   fHistNclsITSMIMC->SetLineStyle(2);
1376   fHistNclsITSMIMC->SetMarkerStyle(24);
1377   fHistNclsITSMIMC->Scale(1./fHistNclsITSMIMC->Integral());
1378   fHistNclsITSMIMC->Draw("same");
1379
1380   TLegend *l0=new TLegend(0.5,0.5,0.9,0.9);
1381   l0->SetFillStyle(0);
1382   l0->SetBorderSize(0);
1383   l0->AddEntry(fHistNclsITSMI,"Data","lp");
1384   l0->AddEntry(fHistNclsITSMIMC,"MC","lp");
1385   l0->Draw();
1386  
1387   ALICEWorkInProgress(c0,"20/05/2010");
1388
1389   TCanvas *c = new TCanvas("c","c",0,0,600,500);
1390   c->SetGridy();
1391   c->SetLogx();
1392
1393   TLegend *l3=new TLegend(0.5,0.5,0.9,0.9);
1394   l3->SetFillStyle(0);
1395   l3->SetBorderSize(0);
1396   
1397   if(drawRatio) {
1398     //fHistPtITSMI6InAcc->Divide(fHistPtITSMI6InAccMC);
1399     //fHistPtITSMI6InAcc->Draw();
1400     //fHistPtITSMI5InAcc->Divide(fHistPtITSMI5InAccMC);
1401     //fHistPtITSMI5InAcc->Draw("same");
1402     //fHistPtITSMI4InAcc->Divide(fHistPtITSMI4InAccMC);
1403     //fHistPtITSMI4InAcc->Draw("same");
1404     //fHistPtITSMI3InAcc->Divide(fHistPtITSMI3InAccMC);
1405     //fHistPtITSMI3InAcc->Draw("same");
1406     //fHistPtITSMI2InAcc->Divide(fHistPtITSMI2InAccMC);
1407     //fHistPtITSMI2InAcc->Draw("same");
1408     fHistPtITSMIge2InAcc->SetYTitle("Data efficiency / MC efficiency");
1409     fHistPtITSMIge2InAcc->Divide(fHistPtITSMIge2InAccMC);
1410     fHistPtITSMIge2InAcc->Draw();
1411     //fHistPtITSMISPDInAcc->Divide(fHistPtITSMISPDInAccMC);
1412     //fHistPtITSMISPDInAcc->Draw("same");
1413     fHistPtITSMIoneSPDInAcc->Divide(fHistPtITSMIoneSPDInAccMC);
1414     fHistPtITSMIoneSPDInAcc->Draw("same");
1415     
1416     //fHistPtITSTPCsel->Divide(fHistPtITSTPCselMC);
1417     //fHistPtITSTPCsel->Draw("same");
1418     l3->AddEntry(fHistPtITSMIge2InAcc,"at least 2 ITS hits","lp");
1419     //l3->AddEntry(fHistPtITSMI6InAcc,"6 cls","l");
1420     //l3->AddEntry(fHistPtITSMI5InAcc,"5 cls","l");
1421     //l3->AddEntry(fHistPtITSMI4InAcc,"4 cls","l");
1422     //l3->AddEntry(fHistPtITSMI3InAcc,"3 cls","l");
1423     //l3->AddEntry(fHistPtITSMI2InAcc,"2 cls","l");
1424     //l3->AddEntry(fHistPtITSMISPDInAcc,"2 SPD hits","lp");
1425     l3->AddEntry(fHistPtITSMIoneSPDInAcc,"at least 1 SPD hit","lp");
1426     //l3->AddEntry(fHistPtITSTPCsel,">=1SPD + any + d_{0} cut","l");
1427
1428   } else {
1429     fHistPtITSMIge2InAcc->SetYTitle("ITS prolongation efficiency");
1430     fHistPtITSMIge2InAcc->Draw();
1431     fHistPtITSMIge2InAccMC->Draw("same");
1432     fHistPtITSMIoneSPDInAcc->Draw("same");
1433     fHistPtITSMIoneSPDInAccMC->Draw("same");
1434     l3->AddEntry(fHistPtITSMIge2InAcc,"at least 2 ITS hits (Data)","lp");
1435     l3->AddEntry(fHistPtITSMIoneSPDInAcc,"at least 1 SPD hit (Data)","lp");
1436     l3->AddEntry(fHistPtITSMIge2InAccMC,"at least 2 ITS hits (MC)","lp");
1437     l3->AddEntry(fHistPtITSMIoneSPDInAccMC,"at least 1 SPD hit (MC)","lp");
1438   } 
1439
1440   l3->Draw();
1441   
1442   ALICEWorkInProgress(c,"20/05/2010");
1443
1444   return;
1445 }
1446
1447 void PlotImpPar_rphi(Int_t rebin=1) {
1448
1449
1450   TFile *fMC= new TFile("AnalysisResults_onlynonfakes.root");
1451
1452   TList *list=(TList*)fMC->Get("cOutputITS");
1453   TDirectoryFile *dir=0;
1454   if(!list) {
1455     dir=(TDirectoryFile*)fMC->GetDirectory("ITS_Performance");
1456     if(dir) list = (TList*)dir->Get("cOutputITS");
1457   }
1458
1459   if(!list) return kFALSE;
1460
1461   TH1F *fHistd0rphiITSMIoneSPDInAccP150200MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP150200");
1462   TH1F *fHistd0rphiITSMIoneSPDInAccS150200MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS150200");
1463   TH1F *fHistd0rphiITSMIoneSPDInAccS150200fromStrangeMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS150200fromStrange");
1464   TH1F *fHistd0rphiITSMIoneSPDInAccS150200fromMatMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS150200fromMat");
1465   TH1F *fHistd0rphiITSMIoneSPDInAccP350450MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP350450");
1466   TH1F *fHistd0rphiITSMIoneSPDInAccS350450MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS350450");
1467   TH1F *fHistd0rphiITSMIoneSPDInAccS350450fromStrangeMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS350450fromStrange");
1468   TH1F *fHistd0rphiITSMIoneSPDInAccS350450fromMatMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS350450fromMat");
1469   TH1F *fHistd0rphiITSMIoneSPDInAccP500700MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP500700");
1470   TH1F *fHistd0rphiITSMIoneSPDInAccS500700MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700");
1471   TH1F *fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700fromStrange");
1472   TH1F *fHistd0rphiITSMIoneSPDInAccS500700from211MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700from211");
1473   TH1F *fHistd0rphiITSMIoneSPDInAccS500700from22MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700from22");
1474   TH1F *fHistd0rphiITSMIoneSPDInAccS500700from310MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700from310");
1475   TH1F *fHistd0rphiITSMIoneSPDInAccS500700from321MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700from321");
1476   TH1F *fHistd0rphiITSMIoneSPDInAccS500700from3122MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700from3122");
1477   TH1F *fHistd0rphiITSMIoneSPDInAccS500700fromMatMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700fromMat");
1478   TH1F *fHistd0rphiITSMIoneSPDInAccP10001500MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP10001500");
1479   TH1F *fHistd0rphiITSMIoneSPDInAccS10001500MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS10001500");
1480   TH1F *fHistd0rphiITSMIoneSPDInAccS10001500fromStrangeMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS10001500fromStrange");
1481   TH1F *fHistd0rphiITSMIoneSPDInAccS10001500fromMatMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS10001500fromMat");
1482   TH1F *fHistd0rphiITSMIoneSPDInAccP25004000MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP25004000");
1483   TH1F *fHistd0rphiITSMIoneSPDInAccS25004000MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS25004000");
1484   TH1F *fHistd0rphiITSMIoneSPDInAccS25004000fromStrangeMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS25004000fromStrange");
1485   TH1F *fHistd0rphiITSMIoneSPDInAccS25004000fromMatMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS25004000fromMat");
1486   TH1F *fHistd0rphiITSMIoneSPDInAccP40008000MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP40008000");
1487   TH1F *fHistd0rphiITSMIoneSPDInAccS40008000MC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS40008000");
1488   TH1F *fHistd0rphiITSMIoneSPDInAccS40008000fromStrangeMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS40008000fromStrange");
1489   TH1F *fHistd0rphiITSMIoneSPDInAccS40008000fromMatMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS40008000fromMat"); 
1490
1491   TH1F *fHistd0rphiITSMIoneSPDInAcc150200MC=(TH1F*)fHistd0rphiITSMIoneSPDInAccP150200MC->Clone("fHistd0rphiITSMIoneSPDInAcc150200MC");
1492   fHistd0rphiITSMIoneSPDInAcc150200MC->Add(fHistd0rphiITSMIoneSPDInAccS150200MC);
1493   fHistd0rphiITSMIoneSPDInAcc150200MC->Scale(1./fHistd0rphiITSMIoneSPDInAcc150200MC->GetEntries());
1494   TH1F *fHistd0rphiITSMIoneSPDInAcc350450MC=(TH1F*)fHistd0rphiITSMIoneSPDInAccP350450MC->Clone("fHistd0rphiITSMIoneSPDInAcc350450MC");
1495   fHistd0rphiITSMIoneSPDInAcc350450MC->Add(fHistd0rphiITSMIoneSPDInAccS350450MC); 
1496   fHistd0rphiITSMIoneSPDInAcc350450MC->Scale(1./fHistd0rphiITSMIoneSPDInAcc350450MC->GetEntries());
1497   TH1F *fHistd0rphiITSMIoneSPDInAcc500700MC=(TH1F*)fHistd0rphiITSMIoneSPDInAccP500700MC->Clone("fHistd0rphiITSMIoneSPDInAcc500700MC");
1498   fHistd0rphiITSMIoneSPDInAcc500700MC->Add(fHistd0rphiITSMIoneSPDInAccS500700MC);
1499   fHistd0rphiITSMIoneSPDInAcc500700MC->Scale(1./fHistd0rphiITSMIoneSPDInAcc500700MC->GetEntries());
1500   TH1F *fHistd0rphiITSMIoneSPDInAcc10001500MC=(TH1F*)fHistd0rphiITSMIoneSPDInAccP10001500MC->Clone("fHistd0rphiITSMIoneSPDInAcc10001500MC");
1501   fHistd0rphiITSMIoneSPDInAcc10001500MC->Add(fHistd0rphiITSMIoneSPDInAccS10001500MC);
1502   fHistd0rphiITSMIoneSPDInAcc10001500MC->Scale(1./fHistd0rphiITSMIoneSPDInAcc10001500MC->GetEntries());
1503   TH1F *fHistd0rphiITSMIoneSPDInAcc25004000MC=(TH1F*)fHistd0rphiITSMIoneSPDInAccP25004000MC->Clone("fHistd0rphiITSMIoneSPDInAcc25004000MC");
1504   fHistd0rphiITSMIoneSPDInAcc25004000MC->Add(fHistd0rphiITSMIoneSPDInAccS25004000MC);
1505   fHistd0rphiITSMIoneSPDInAcc25004000MC->Scale(1./fHistd0rphiITSMIoneSPDInAcc25004000MC->GetEntries());
1506   TH1F *fHistd0rphiITSMIoneSPDInAcc40008000MC=(TH1F*)fHistd0rphiITSMIoneSPDInAccP40008000MC->Clone("fHistd0rphiITSMIoneSPDInAcc40008000MC");
1507   fHistd0rphiITSMIoneSPDInAcc40008000MC->Add(fHistd0rphiITSMIoneSPDInAccS40008000MC);
1508   fHistd0rphiITSMIoneSPDInAcc40008000MC->Scale(1./fHistd0rphiITSMIoneSPDInAcc40008000MC->GetEntries());
1509   
1510
1511   TFile *f= new TFile("AnalysisResults_onlynonfakes.root");
1512   list=(TList*)f->Get("cOutputITS");
1513   if(!list) {
1514     dir=(TDirectoryFile*)f->GetDirectory("ITS_Performance");
1515     if(dir) list = (TList*)dir->Get("cOutputITS");
1516   }
1517
1518   if(!list) return kFALSE;
1519
1520   TH1F *fHistd0rphiITSMIoneSPDInAccP150200 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP150200");
1521   TH1F *fHistd0rphiITSMIoneSPDInAccS150200 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS150200");
1522   TH1F *fHistd0rphiITSMIoneSPDInAccP350450 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP350450");
1523   TH1F *fHistd0rphiITSMIoneSPDInAccS350450 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS350450");
1524   TH1F *fHistd0rphiITSMIoneSPDInAccP500700 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP500700");
1525   TH1F *fHistd0rphiITSMIoneSPDInAccS500700 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS500700");
1526   TH1F *fHistd0rphiITSMIoneSPDInAccP10001500 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP10001500");
1527   TH1F *fHistd0rphiITSMIoneSPDInAccS10001500 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS10001500");
1528   TH1F *fHistd0rphiITSMIoneSPDInAccP25004000 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP25004000");
1529   TH1F *fHistd0rphiITSMIoneSPDInAccS25004000 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS25004000");
1530   TH1F *fHistd0rphiITSMIoneSPDInAccP40008000 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP40008000");
1531   TH1F *fHistd0rphiITSMIoneSPDInAccS40008000 = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS40008000");
1532   TH1F *fHistd0rphiITSMIoneSPDInAcc150200=(TH1F*)fHistd0rphiITSMIoneSPDInAccP150200->Clone("fHistd0rphiITSMIoneSPDInAcc150200");
1533   fHistd0rphiITSMIoneSPDInAcc150200->Add(fHistd0rphiITSMIoneSPDInAccS150200);
1534   fHistd0rphiITSMIoneSPDInAcc150200->Scale(1./fHistd0rphiITSMIoneSPDInAcc150200->GetEntries());
1535   TH1F *fHistd0rphiITSMIoneSPDInAcc350450=(TH1F*)fHistd0rphiITSMIoneSPDInAccP350450->Clone("fHistd0rphiITSMIoneSPDInAcc350450");
1536   fHistd0rphiITSMIoneSPDInAcc350450->Add(fHistd0rphiITSMIoneSPDInAccS350450);
1537   fHistd0rphiITSMIoneSPDInAcc350450->Scale(1./fHistd0rphiITSMIoneSPDInAcc350450->GetEntries());
1538   TH1F *fHistd0rphiITSMIoneSPDInAcc500700=(TH1F*)fHistd0rphiITSMIoneSPDInAccP500700->Clone("fHistd0rphiITSMIoneSPDInAcc500700");
1539   fHistd0rphiITSMIoneSPDInAcc500700->Add(fHistd0rphiITSMIoneSPDInAccS500700);
1540   fHistd0rphiITSMIoneSPDInAcc500700->Scale(1./fHistd0rphiITSMIoneSPDInAcc500700->GetEntries());
1541   TH1F *fHistd0rphiITSMIoneSPDInAcc10001500=(TH1F*)fHistd0rphiITSMIoneSPDInAccP10001500->Clone("fHistd0rphiITSMIoneSPDInAcc10001500");
1542   fHistd0rphiITSMIoneSPDInAcc10001500->Add(fHistd0rphiITSMIoneSPDInAccS10001500);
1543   fHistd0rphiITSMIoneSPDInAcc10001500->Scale(1./fHistd0rphiITSMIoneSPDInAcc10001500->GetEntries());
1544   TH1F *fHistd0rphiITSMIoneSPDInAcc25004000=(TH1F*)fHistd0rphiITSMIoneSPDInAccP25004000->Clone("fHistd0rphiITSMIoneSPDInAcc25004000");
1545   fHistd0rphiITSMIoneSPDInAcc25004000->Add(fHistd0rphiITSMIoneSPDInAccS25004000);
1546   fHistd0rphiITSMIoneSPDInAcc25004000->Scale(1./fHistd0rphiITSMIoneSPDInAcc25004000->GetEntries());
1547   TH1F *fHistd0rphiITSMIoneSPDInAcc40008000=(TH1F*)fHistd0rphiITSMIoneSPDInAccP40008000->Clone("fHistd0rphiITSMIoneSPDInAcc40008000");
1548   fHistd0rphiITSMIoneSPDInAcc40008000->Add(fHistd0rphiITSMIoneSPDInAccS40008000);
1549   fHistd0rphiITSMIoneSPDInAcc40008000->Scale(1./fHistd0rphiITSMIoneSPDInAcc40008000->GetEntries()); 
1550
1551
1552   TCanvas *c1 = new TCanvas("c1","c1");
1553   c1->Divide(3,2);
1554   c1->cd(1);
1555   fHistd0rphiITSMIoneSPDInAcc150200MC->Rebin(rebin);
1556   fHistd0rphiITSMIoneSPDInAcc150200->Rebin(rebin);
1557   fHistd0rphiITSMIoneSPDInAcc150200MC->SetLineColor(2);
1558   fHistd0rphiITSMIoneSPDInAcc150200MC->Draw();
1559   fHistd0rphiITSMIoneSPDInAcc150200->SetLineColor(4);
1560   fHistd0rphiITSMIoneSPDInAcc150200->Draw("same");
1561   c1->cd(2);
1562   fHistd0rphiITSMIoneSPDInAcc350450MC->Rebin(rebin);
1563   fHistd0rphiITSMIoneSPDInAcc350450->Rebin(rebin);
1564   fHistd0rphiITSMIoneSPDInAcc350450MC->SetLineColor(2);
1565   fHistd0rphiITSMIoneSPDInAcc350450MC->Draw();
1566   fHistd0rphiITSMIoneSPDInAcc350450->SetLineColor(4);
1567   fHistd0rphiITSMIoneSPDInAcc350450->Draw("same"); 
1568   c1->cd(3);
1569   fHistd0rphiITSMIoneSPDInAcc500700MC->Rebin(rebin);
1570   fHistd0rphiITSMIoneSPDInAcc500700->Rebin(rebin);
1571   fHistd0rphiITSMIoneSPDInAcc500700MC->SetLineColor(2);
1572   fHistd0rphiITSMIoneSPDInAcc500700MC->Draw();
1573   fHistd0rphiITSMIoneSPDInAcc500700->SetLineColor(4);
1574   fHistd0rphiITSMIoneSPDInAcc500700->Draw("same");
1575   c1->cd(4);
1576   fHistd0rphiITSMIoneSPDInAcc10001500MC->Rebin(rebin);
1577   fHistd0rphiITSMIoneSPDInAcc10001500->Rebin(rebin);
1578   fHistd0rphiITSMIoneSPDInAcc10001500MC->SetLineColor(2);
1579   fHistd0rphiITSMIoneSPDInAcc10001500MC->Draw();
1580   fHistd0rphiITSMIoneSPDInAcc10001500->SetLineColor(4);
1581   fHistd0rphiITSMIoneSPDInAcc10001500->Draw("same");
1582    c1->cd(5);
1583   fHistd0rphiITSMIoneSPDInAcc25004000MC->Rebin(rebin);
1584   fHistd0rphiITSMIoneSPDInAcc25004000->Rebin(rebin);
1585   fHistd0rphiITSMIoneSPDInAcc25004000MC->SetLineColor(2);
1586   fHistd0rphiITSMIoneSPDInAcc25004000MC->Draw();
1587   fHistd0rphiITSMIoneSPDInAcc25004000->SetLineColor(4);
1588   fHistd0rphiITSMIoneSPDInAcc25004000->Draw("same");
1589   c1->cd(6);
1590   fHistd0rphiITSMIoneSPDInAcc40008000MC->Rebin(rebin);
1591   fHistd0rphiITSMIoneSPDInAcc40008000->Rebin(rebin);
1592   fHistd0rphiITSMIoneSPDInAcc40008000MC->SetLineColor(2);
1593   fHistd0rphiITSMIoneSPDInAcc40008000MC->Draw();
1594   fHistd0rphiITSMIoneSPDInAcc40008000->SetLineColor(4);
1595   fHistd0rphiITSMIoneSPDInAcc40008000->Draw("same");
1596   
1597   
1598   TCanvas *c1a = new TCanvas("c1a","c1a");
1599   c1a->Divide(3,1);
1600   c1a->cd(1);
1601   TH1F* fHistd0rphiITSMIoneSPDInAcc150200Ratio=(TH1F*)fHistd0rphiITSMIoneSPDInAcc150200->Clone("fHistd0rphiITSMIoneSPDInAcc150200Ratio");
1602   fHistd0rphiITSMIoneSPDInAcc150200Ratio->Divide(fHistd0rphiITSMIoneSPDInAcc150200MC);
1603   fHistd0rphiITSMIoneSPDInAcc150200Ratio->Draw();
1604   c1a->cd(2);
1605   TH1F* fHistd0rphiITSMIoneSPDInAcc500700Ratio=(TH1F*)fHistd0rphiITSMIoneSPDInAcc500700->Clone("fHistd0rphiITSMIoneSPDInAcc500700Ratio");
1606   fHistd0rphiITSMIoneSPDInAcc500700Ratio->Divide(fHistd0rphiITSMIoneSPDInAcc500700MC);
1607   fHistd0rphiITSMIoneSPDInAcc500700Ratio->Draw();
1608   c1a->cd(3);
1609   TH1F* fHistd0rphiITSMIoneSPDInAcc10001500Ratio=(TH1F*)fHistd0rphiITSMIoneSPDInAcc10001500->Clone("fHistd0rphiITSMIoneSPDInAcc10001500Ratio");
1610   fHistd0rphiITSMIoneSPDInAcc10001500Ratio->Divide(fHistd0rphiITSMIoneSPDInAcc10001500MC);
1611   fHistd0rphiITSMIoneSPDInAcc10001500Ratio->Draw();
1612
1613
1614
1615   TCanvas *c2 = new TCanvas("c2","c2");
1616   c2->Divide(3,2);
1617   c2_1->SetLogy();
1618   c2_2->SetLogy();
1619   c2_3->SetLogy();
1620   c2_4->SetLogy();
1621   c2_5->SetLogy();
1622   c2_6->SetLogy();
1623   c2->cd(1);
1624   fHistd0rphiITSMIoneSPDInAccP150200MC->SetMinimum(1);
1625   fHistd0rphiITSMIoneSPDInAccS150200MC->SetMinimum(1);
1626   fHistd0rphiITSMIoneSPDInAccS150200fromStrangeMC->SetMinimum(1);
1627   fHistd0rphiITSMIoneSPDInAccS150200fromMatMC->SetMinimum(1);
1628   fHistd0rphiITSMIoneSPDInAccP150200MC->SetLineColor(1);
1629   fHistd0rphiITSMIoneSPDInAccP150200MC->Draw();
1630   fHistd0rphiITSMIoneSPDInAccS150200MC->SetLineColor(6);
1631   fHistd0rphiITSMIoneSPDInAccS150200MC->Draw("same");
1632   fHistd0rphiITSMIoneSPDInAccS150200fromStrangeMC->SetLineColor(8);
1633   fHistd0rphiITSMIoneSPDInAccS150200fromStrangeMC->Draw("same");
1634   fHistd0rphiITSMIoneSPDInAccS150200fromMatMC->SetLineColor(9);
1635   fHistd0rphiITSMIoneSPDInAccS150200fromMatMC->Draw("same");
1636   c2->cd(2);
1637   fHistd0rphiITSMIoneSPDInAccP350450MC->SetMinimum(1);
1638   fHistd0rphiITSMIoneSPDInAccS350450MC->SetMinimum(1);
1639   fHistd0rphiITSMIoneSPDInAccS350450fromStrangeMC->SetMinimum(1);
1640   fHistd0rphiITSMIoneSPDInAccS350450fromMatMC->SetMinimum(1);
1641   fHistd0rphiITSMIoneSPDInAccP350450MC->SetLineColor(1);
1642   fHistd0rphiITSMIoneSPDInAccP350450MC->Draw();
1643   fHistd0rphiITSMIoneSPDInAccS350450MC->SetLineColor(6);
1644   fHistd0rphiITSMIoneSPDInAccS350450MC->Draw("same");
1645   fHistd0rphiITSMIoneSPDInAccS350450fromStrangeMC->SetLineColor(8);
1646   fHistd0rphiITSMIoneSPDInAccS350450fromStrangeMC->Draw("same");
1647   fHistd0rphiITSMIoneSPDInAccS350450fromMatMC->SetLineColor(9);
1648   fHistd0rphiITSMIoneSPDInAccS350450fromMatMC->Draw("same"); 
1649  c2->cd(3);
1650   fHistd0rphiITSMIoneSPDInAccP500700MC->SetMinimum(1);
1651   fHistd0rphiITSMIoneSPDInAccS500700MC->SetMinimum(1);
1652   fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC->SetMinimum(1);
1653   fHistd0rphiITSMIoneSPDInAccS500700fromMatMC->SetMinimum(1);
1654   fHistd0rphiITSMIoneSPDInAccP500700MC->SetLineColor(1);
1655   fHistd0rphiITSMIoneSPDInAccP500700MC->Draw();
1656   fHistd0rphiITSMIoneSPDInAccS500700MC->SetLineColor(6);
1657   fHistd0rphiITSMIoneSPDInAccS500700MC->Draw("same");
1658   fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC->SetLineColor(8);
1659   fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC->Draw("same");
1660   fHistd0rphiITSMIoneSPDInAccS500700fromMatMC->SetLineColor(9);
1661   fHistd0rphiITSMIoneSPDInAccS500700fromMatMC->Draw("same");
1662   c2->cd(4);
1663   fHistd0rphiITSMIoneSPDInAccP10001500MC->SetMinimum(1);
1664   fHistd0rphiITSMIoneSPDInAccS10001500MC->SetMinimum(1);
1665   fHistd0rphiITSMIoneSPDInAccS10001500fromStrangeMC->SetMinimum(1);
1666   fHistd0rphiITSMIoneSPDInAccS10001500fromMatMC->SetMinimum(1);
1667   fHistd0rphiITSMIoneSPDInAccP10001500MC->SetLineColor(1);
1668   fHistd0rphiITSMIoneSPDInAccP10001500MC->Draw();
1669   fHistd0rphiITSMIoneSPDInAccS10001500MC->SetLineColor(6);
1670   fHistd0rphiITSMIoneSPDInAccS10001500MC->Draw("same");
1671   fHistd0rphiITSMIoneSPDInAccS10001500fromStrangeMC->SetLineColor(8);
1672   fHistd0rphiITSMIoneSPDInAccS10001500fromStrangeMC->Draw("same");
1673   fHistd0rphiITSMIoneSPDInAccS10001500fromMatMC->SetLineColor(9);
1674   fHistd0rphiITSMIoneSPDInAccS10001500fromMatMC->Draw("same");
1675   c2->cd(5);
1676   fHistd0rphiITSMIoneSPDInAccP25004000MC->SetMinimum(1);
1677   fHistd0rphiITSMIoneSPDInAccS25004000MC->SetMinimum(1);
1678   fHistd0rphiITSMIoneSPDInAccS25004000fromStrangeMC->SetMinimum(1);
1679   fHistd0rphiITSMIoneSPDInAccS25004000fromMatMC->SetMinimum(1);
1680   fHistd0rphiITSMIoneSPDInAccP25004000MC->SetLineColor(1);
1681   fHistd0rphiITSMIoneSPDInAccP25004000MC->Draw();
1682   fHistd0rphiITSMIoneSPDInAccS25004000MC->SetLineColor(6);
1683   fHistd0rphiITSMIoneSPDInAccS25004000MC->Draw("same");
1684   fHistd0rphiITSMIoneSPDInAccS25004000fromStrangeMC->SetLineColor(8);
1685   fHistd0rphiITSMIoneSPDInAccS25004000fromStrangeMC->Draw("same");
1686   fHistd0rphiITSMIoneSPDInAccS25004000fromMatMC->SetLineColor(9);
1687   fHistd0rphiITSMIoneSPDInAccS25004000fromMatMC->Draw("same");
1688   c2->cd(6);
1689   fHistd0rphiITSMIoneSPDInAccP40008000MC->SetMinimum(1);
1690   fHistd0rphiITSMIoneSPDInAccS40008000MC->SetMinimum(1);
1691   fHistd0rphiITSMIoneSPDInAccS40008000fromStrangeMC->SetMinimum(1);
1692   fHistd0rphiITSMIoneSPDInAccS40008000fromMatMC->SetMinimum(1);
1693   fHistd0rphiITSMIoneSPDInAccP40008000MC->SetLineColor(1);
1694   fHistd0rphiITSMIoneSPDInAccP40008000MC->Draw();
1695   fHistd0rphiITSMIoneSPDInAccS40008000MC->SetLineColor(6);
1696   fHistd0rphiITSMIoneSPDInAccS40008000MC->Draw("same");
1697   fHistd0rphiITSMIoneSPDInAccS40008000fromStrangeMC->SetLineColor(8);
1698   fHistd0rphiITSMIoneSPDInAccS40008000fromStrangeMC->Draw("same");
1699   fHistd0rphiITSMIoneSPDInAccS40008000fromMatMC->SetLineColor(9);
1700   fHistd0rphiITSMIoneSPDInAccS40008000fromMatMC->Draw("same");
1701
1702   TCanvas *c2b = new TCanvas("c2b","c2b");
1703   fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC->SetMinimum(1);
1704   fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC->SetLineColor(8);
1705   fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC->Draw();
1706   fHistd0rphiITSMIoneSPDInAccS500700from310MC->SetMinimum(1);
1707   fHistd0rphiITSMIoneSPDInAccS500700from310MC->SetLineColor(2);
1708   fHistd0rphiITSMIoneSPDInAccS500700from310MC->Draw("same");
1709   fHistd0rphiITSMIoneSPDInAccS500700from321MC->SetMinimum(1);
1710   fHistd0rphiITSMIoneSPDInAccS500700from321MC->SetLineColor(5);
1711   fHistd0rphiITSMIoneSPDInAccS500700from321MC->Draw("same");
1712   fHistd0rphiITSMIoneSPDInAccS500700from3122MC->SetMinimum(1);
1713   fHistd0rphiITSMIoneSPDInAccS500700from3122MC->SetLineColor(1);
1714   fHistd0rphiITSMIoneSPDInAccS500700from3122MC->Draw("same");
1715
1716   TCanvas *c2c = new TCanvas("c2c","c2c");
1717   fHistd0rphiITSMIoneSPDInAccS500700fromMatMC->SetMinimum(1);
1718   fHistd0rphiITSMIoneSPDInAccS500700fromMatMC->Draw();
1719   fHistd0rphiITSMIoneSPDInAccS500700from211MC->SetMinimum(1);
1720   fHistd0rphiITSMIoneSPDInAccS500700from211MC->SetLineColor(2);
1721   fHistd0rphiITSMIoneSPDInAccS500700from211MC->Draw("same");
1722   fHistd0rphiITSMIoneSPDInAccS500700from22MC->SetMinimum(1);
1723   fHistd0rphiITSMIoneSPDInAccS500700from22MC->SetLineColor(1);
1724   fHistd0rphiITSMIoneSPDInAccS500700from22MC->Draw("same");
1725
1726
1727
1728   TCanvas *c3 = new TCanvas("c3","c3");
1729   c3->Divide(3,2);
1730   c3_1->SetLogx();
1731   c3_2->SetLogx();
1732   c3_3->SetLogx();
1733   c3_4->SetLogx();
1734   c3_5->SetLogx();
1735   c3_6->SetLogx();
1736   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};
1737   
1738   c3->cd(1);
1739   Float_t fracP150200[15],fracS150200[15],fracSfromStrange150200[15],fracS150200Strp30[15],fracS150200Strm30[15],fracS150200Matm10[15],fracS150200Matp10[15];
1740   Float_t intPtot150200=fHistd0rphiITSMIoneSPDInAccP150200MC->Integral(1,fHistd0rphiITSMIoneSPDInAccP150200MC->GetNbinsX());
1741   for(Int_t i=0;i<15;i++) {
1742     Int_t bin1=fHistd0rphiITSMIoneSPDInAccP150200MC->FindBin(-d0cut[i]);
1743     Int_t bin2=fHistd0rphiITSMIoneSPDInAccP150200MC->FindBin(+d0cut[i]);
1744     Float_t intPcut150200=fHistd0rphiITSMIoneSPDInAccP150200MC->Integral(bin1,bin2);
1745     Float_t intScut150200=fHistd0rphiITSMIoneSPDInAccS150200MC->Integral(bin1,bin2);
1746     Float_t intSfromStrangecut150200=fHistd0rphiITSMIoneSPDInAccS150200fromStrangeMC->Integral(bin1,bin2);
1747     Float_t intScut150200Strp30 = intScut150200 + 0.3*intSfromStrangecut150200; 
1748     Float_t intScut150200Strm30 = intScut150200 - 0.3*intSfromStrangecut150200; 
1749     Float_t intScut150200Matp10 = intScut150200 + 0.1*(intScut150200-intSfromStrangecut150200); 
1750     Float_t intScut150200Matm10 = intScut150200 - 0.1*(intScut150200-intSfromStrangecut150200); 
1751     fracP150200[i]=intPcut150200/intPtot150200;
1752     fracS150200[i]=1.-intScut150200/(intPcut150200+intScut150200);
1753     fracS150200Strp30[i]=1.-intScut150200Strp30/(intPcut150200+intScut150200Strp30);
1754     fracS150200Strm30[i]=1.-intScut150200Strm30/(intPcut150200+intScut150200Strm30);
1755     fracS150200Matp10[i]=1.-intScut150200Matp10/(intPcut150200+intScut150200Matp10);
1756     fracS150200Matm10[i]=1.-intScut150200Matm10/(intPcut150200+intScut150200Matm10);
1757     fracSfromStrange150200[i]=1.-intSfromStrangecut150200/(intPcut150200+intScut150200);
1758   }
1759   TGraph *gfracP150200=new TGraph(15,d0cut,fracP150200);
1760   gfracP150200->SetMarkerColor(2);
1761   gfracP150200->SetMarkerStyle(20);
1762   gfracP150200->Draw("ap");
1763   TGraph *gfracS150200=new TGraph(15,d0cut,fracS150200);
1764   gfracS150200->SetMarkerColor(4);
1765   gfracS150200->SetMarkerStyle(21);
1766   gfracS150200->Draw("p");
1767   TGraph *gfracSfromStrange150200=new TGraph(15,d0cut,fracSfromStrange150200);
1768   gfracSfromStrange150200->SetMarkerColor(8);
1769   gfracSfromStrange150200->SetMarkerStyle(22);
1770   gfracSfromStrange150200->Draw("p");  
1771    
1772   c3->cd(2);
1773   Float_t fracP350450[15],fracS350450[15],fracSfromStrange350450[15],fracS350450Strp30[15],fracS350450Strm30[15],fracS350450Matm10[15],fracS350450Matp10[15];
1774   Float_t intPtot350450=fHistd0rphiITSMIoneSPDInAccP350450MC->Integral(1,fHistd0rphiITSMIoneSPDInAccP350450MC->GetNbinsX());
1775   for(Int_t i=0;i<15;i++) {
1776     Int_t bin1=fHistd0rphiITSMIoneSPDInAccP350450MC->FindBin(-d0cut[i]);
1777     Int_t bin2=fHistd0rphiITSMIoneSPDInAccP350450MC->FindBin(+d0cut[i]);
1778     Float_t intPcut350450=fHistd0rphiITSMIoneSPDInAccP350450MC->Integral(bin1,bin2);
1779     Float_t intScut350450=fHistd0rphiITSMIoneSPDInAccS350450MC->Integral(bin1,bin2);
1780     Float_t intSfromStrangecut350450=fHistd0rphiITSMIoneSPDInAccS350450fromStrangeMC->Integral(bin1,bin2);
1781     Float_t intScut350450Strp30 = intScut350450 + 0.3*intSfromStrangecut350450; 
1782     Float_t intScut350450Strm30 = intScut350450 - 0.3*intSfromStrangecut350450; 
1783     Float_t intScut350450Matp10 = intScut350450 + 0.1*(intScut350450-intSfromStrangecut350450); 
1784     Float_t intScut350450Matm10 = intScut350450 - 0.1*(intScut350450-intSfromStrangecut350450); 
1785     fracP350450[i]=intPcut350450/intPtot350450;
1786     fracS350450[i]=1.-intScut350450/(intPcut350450+intScut350450);
1787     fracS350450Strp30[i]=1.-intScut350450Strp30/(intPcut350450+intScut350450Strp30);
1788     fracS350450Strm30[i]=1.-intScut350450Strm30/(intPcut350450+intScut350450Strm30);
1789     fracS350450Matp10[i]=1.-intScut350450Matp10/(intPcut350450+intScut350450Matp10);
1790     fracS350450Matm10[i]=1.-intScut350450Matm10/(intPcut350450+intScut350450Matm10);
1791     fracSfromStrange350450[i]=1.-intSfromStrangecut350450/(intPcut350450+intScut350450);
1792   }
1793   TGraph *gfracP350450=new TGraph(15,d0cut,fracP350450);
1794   gfracP350450->SetMarkerColor(2);
1795   gfracP350450->SetMarkerStyle(20);
1796   gfracP350450->Draw("ap");
1797   TGraph *gfracS350450=new TGraph(15,d0cut,fracS350450);
1798   gfracS350450->SetMarkerColor(4);
1799   gfracS350450->SetMarkerStyle(21);
1800   gfracS350450->Draw("p");
1801   TGraph *gfracSfromStrange350450=new TGraph(15,d0cut,fracSfromStrange350450);
1802   gfracSfromStrange350450->SetMarkerColor(8);
1803   gfracSfromStrange350450->SetMarkerStyle(22);
1804   gfracSfromStrange350450->Draw("p");
1805
1806   c3->cd(3);
1807   Float_t fracP500700[15],fracS500700[15],fracSfromStrange500700[15],fracS500700Strp30[15],fracS500700Strm30[15],fracS500700Matm10[15],fracS500700Matp10[15];
1808   Float_t intPtot500700=fHistd0rphiITSMIoneSPDInAccP500700MC->Integral(1,fHistd0rphiITSMIoneSPDInAccP500700MC->GetNbinsX());
1809   for(Int_t i=0;i<15;i++) {
1810     Int_t bin1=fHistd0rphiITSMIoneSPDInAccP500700MC->FindBin(-d0cut[i]);
1811     Int_t bin2=fHistd0rphiITSMIoneSPDInAccP500700MC->FindBin(+d0cut[i]);
1812     Float_t intPcut500700=fHistd0rphiITSMIoneSPDInAccP500700MC->Integral(bin1,bin2);
1813     Float_t intScut500700=fHistd0rphiITSMIoneSPDInAccS500700MC->Integral(bin1,bin2);
1814     Float_t intSfromStrangecut500700=fHistd0rphiITSMIoneSPDInAccS500700fromStrangeMC->Integral(bin1,bin2);
1815     Float_t intScut500700Strp30 = intScut500700 + 0.3*intSfromStrangecut500700; 
1816     Float_t intScut500700Strm30 = intScut500700 - 0.3*intSfromStrangecut500700; 
1817     Float_t intScut500700Matp10 = intScut500700 + 0.1*(intScut500700-intSfromStrangecut500700); 
1818     Float_t intScut500700Matm10 = intScut500700 - 0.1*(intScut500700-intSfromStrangecut500700); 
1819     fracP500700[i]=intPcut500700/intPtot500700;
1820     fracS500700[i]=1.-intScut500700/(intPcut500700+intScut500700);
1821     fracS500700Strp30[i]=1.-intScut500700Strp30/(intPcut500700+intScut500700Strp30);
1822     fracS500700Strm30[i]=1.-intScut500700Strm30/(intPcut500700+intScut500700Strm30);
1823     fracS500700Matp10[i]=1.-intScut500700Matp10/(intPcut500700+intScut500700Matp10);
1824     fracS500700Matm10[i]=1.-intScut500700Matm10/(intPcut500700+intScut500700Matm10);
1825     fracSfromStrange500700[i]=1.-intSfromStrangecut500700/(intPcut500700+intScut500700);
1826   }
1827   TGraph *gfracP500700=new TGraph(15,d0cut,fracP500700);
1828   gfracP500700->SetMarkerColor(2);
1829   gfracP500700->SetMarkerStyle(20);
1830   gfracP500700->Draw("ap");
1831   TGraph *gfracS500700=new TGraph(15,d0cut,fracS500700);
1832   gfracS500700->SetMarkerColor(4);
1833   gfracS500700->SetMarkerStyle(21);
1834   gfracS500700->Draw("p");
1835   TGraph *gfracSfromStrange500700=new TGraph(15,d0cut,fracSfromStrange500700);
1836   gfracSfromStrange500700->SetMarkerColor(8);
1837   gfracSfromStrange500700->SetMarkerStyle(22);
1838   gfracSfromStrange500700->Draw("p");
1839
1840   c3->cd(4);
1841   Float_t fracP10001500[15],fracS10001500[15],fracSfromStrange10001500[15],fracS10001500Strp30[15],fracS10001500Strm30[15],fracS10001500Matm10[15],fracS10001500Matp10[15];
1842   Float_t intPtot10001500=fHistd0rphiITSMIoneSPDInAccP10001500MC->Integral(1,fHistd0rphiITSMIoneSPDInAccP10001500MC->GetNbinsX());
1843   for(Int_t i=0;i<15;i++) {
1844     Int_t bin1=fHistd0rphiITSMIoneSPDInAccP10001500MC->FindBin(-d0cut[i]);
1845     Int_t bin2=fHistd0rphiITSMIoneSPDInAccP10001500MC->FindBin(+d0cut[i]);
1846     Float_t intPcut10001500=fHistd0rphiITSMIoneSPDInAccP10001500MC->Integral(bin1,bin2);
1847     Float_t intScut10001500=fHistd0rphiITSMIoneSPDInAccS10001500MC->Integral(bin1,bin2);
1848     Float_t intSfromStrangecut10001500=fHistd0rphiITSMIoneSPDInAccS10001500fromStrangeMC->Integral(bin1,bin2);
1849     Float_t intScut10001500Strp30 = intScut10001500 + 0.3*intSfromStrangecut10001500; 
1850     Float_t intScut10001500Strm30 = intScut10001500 - 0.3*intSfromStrangecut10001500; 
1851     Float_t intScut10001500Matp10 = intScut10001500 + 0.1*(intScut10001500-intSfromStrangecut10001500); 
1852     Float_t intScut10001500Matm10 = intScut10001500 - 0.1*(intScut10001500-intSfromStrangecut10001500); 
1853     fracP10001500[i]=intPcut10001500/intPtot10001500;
1854     fracS10001500[i]=1.-intScut10001500/(intPcut10001500+intScut10001500);
1855     fracS10001500Strp30[i]=1.-intScut10001500Strp30/(intPcut10001500+intScut10001500Strp30);
1856     fracS10001500Strm30[i]=1.-intScut10001500Strm30/(intPcut10001500+intScut10001500Strm30);
1857     fracS10001500Matp10[i]=1.-intScut10001500Matp10/(intPcut10001500+intScut10001500Matp10);
1858     fracS10001500Matm10[i]=1.-intScut10001500Matm10/(intPcut10001500+intScut10001500Matm10);
1859     fracSfromStrange10001500[i]=1.-intSfromStrangecut10001500/(intPcut10001500+intScut10001500);
1860   }
1861   TGraph *gfracP10001500=new TGraph(15,d0cut,fracP10001500);
1862   gfracP10001500->SetMarkerColor(2);
1863   gfracP10001500->SetMarkerStyle(20);
1864   gfracP10001500->Draw("ap");
1865   TGraph *gfracS10001500=new TGraph(15,d0cut,fracS10001500);
1866   gfracS10001500->SetMarkerColor(4);
1867   gfracS10001500->SetMarkerStyle(21);
1868   gfracS10001500->Draw("p");
1869   TGraph *gfracSfromStrange10001500=new TGraph(15,d0cut,fracSfromStrange10001500);
1870   gfracSfromStrange10001500->SetMarkerColor(8);
1871   gfracSfromStrange10001500->SetMarkerStyle(22);
1872   gfracSfromStrange10001500->Draw("p");
1873   
1874   c3->cd(5);
1875   Float_t fracP25004000[15],fracS25004000[15],fracSfromStrange25004000[15],fracS25004000Strp30[15],fracS25004000Strm30[15],fracS25004000Matm10[15],fracS25004000Matp10[15];
1876   Float_t intPtot25004000=fHistd0rphiITSMIoneSPDInAccP25004000MC->Integral(1,fHistd0rphiITSMIoneSPDInAccP25004000MC->GetNbinsX());
1877   for(Int_t i=0;i<15;i++) {
1878     Int_t bin1=fHistd0rphiITSMIoneSPDInAccP25004000MC->FindBin(-d0cut[i]);
1879     Int_t bin2=fHistd0rphiITSMIoneSPDInAccP25004000MC->FindBin(+d0cut[i]);
1880     Float_t intPcut25004000=fHistd0rphiITSMIoneSPDInAccP25004000MC->Integral(bin1,bin2);
1881     Float_t intScut25004000=fHistd0rphiITSMIoneSPDInAccS25004000MC->Integral(bin1,bin2);
1882     Float_t intSfromStrangecut25004000=fHistd0rphiITSMIoneSPDInAccS25004000fromStrangeMC->Integral(bin1,bin2);
1883     Float_t intScut25004000Strp30 = intScut25004000 + 0.3*intSfromStrangecut25004000; 
1884     Float_t intScut25004000Strm30 = intScut25004000 - 0.3*intSfromStrangecut25004000; 
1885     Float_t intScut25004000Matp10 = intScut25004000 + 0.1*(intScut25004000-intSfromStrangecut25004000); 
1886     Float_t intScut25004000Matm10 = intScut25004000 - 0.1*(intScut25004000-intSfromStrangecut25004000); 
1887     fracP25004000[i]=intPcut25004000/intPtot25004000;
1888     fracS25004000[i]=1.-intScut25004000/(intPcut25004000+intScut25004000);
1889     fracS25004000Strp30[i]=1.-intScut25004000Strp30/(intPcut25004000+intScut25004000Strp30);
1890     fracS25004000Strm30[i]=1.-intScut25004000Strm30/(intPcut25004000+intScut25004000Strm30);
1891     fracS25004000Matp10[i]=1.-intScut25004000Matp10/(intPcut25004000+intScut25004000Matp10);
1892     fracS25004000Matm10[i]=1.-intScut25004000Matm10/(intPcut25004000+intScut25004000Matm10);
1893     fracSfromStrange25004000[i]=1.-intSfromStrangecut25004000/(intPcut25004000+intScut25004000);
1894   }
1895   TGraph *gfracP25004000=new TGraph(15,d0cut,fracP25004000);
1896   gfracP25004000->SetMarkerColor(2);
1897   gfracP25004000->SetMarkerStyle(20);
1898   gfracP25004000->Draw("ap");
1899   TGraph *gfracS25004000=new TGraph(15,d0cut,fracS25004000);
1900   gfracS25004000->SetMarkerColor(4);
1901   gfracS25004000->SetMarkerStyle(21);
1902   gfracS25004000->Draw("p");
1903   TGraph *gfracSfromStrange25004000=new TGraph(15,d0cut,fracSfromStrange25004000);
1904   gfracSfromStrange25004000->SetMarkerColor(8);
1905   gfracSfromStrange25004000->SetMarkerStyle(22);
1906   gfracSfromStrange25004000->Draw("p");
1907
1908   c3->cd(6);
1909   Float_t fracP40008000[15],fracS40008000[15],fracSfromStrange40008000[15],fracS40008000Strp30[15],fracS40008000Strm30[15],fracS40008000Matm10[15],fracS40008000Matp10[15];
1910   Float_t intPtot40008000=fHistd0rphiITSMIoneSPDInAccP40008000MC->Integral(1,fHistd0rphiITSMIoneSPDInAccP40008000MC->GetNbinsX());
1911   for(Int_t i=0;i<15;i++) {
1912     Int_t bin1=fHistd0rphiITSMIoneSPDInAccP40008000MC->FindBin(-d0cut[i]);
1913     Int_t bin2=fHistd0rphiITSMIoneSPDInAccP40008000MC->FindBin(+d0cut[i]);
1914     Float_t intPcut40008000=fHistd0rphiITSMIoneSPDInAccP40008000MC->Integral(bin1,bin2);
1915     Float_t intScut40008000=fHistd0rphiITSMIoneSPDInAccS40008000MC->Integral(bin1,bin2);
1916     Float_t intSfromStrangecut40008000=fHistd0rphiITSMIoneSPDInAccS40008000fromStrangeMC->Integral(bin1,bin2);
1917     Float_t intScut40008000Strp30 = intScut40008000 + 0.3*intSfromStrangecut40008000; 
1918     Float_t intScut40008000Strm30 = intScut40008000 - 0.3*intSfromStrangecut40008000; 
1919     Float_t intScut40008000Matp10 = intScut40008000 + 0.1*(intScut40008000-intSfromStrangecut40008000); 
1920     Float_t intScut40008000Matm10 = intScut40008000 - 0.1*(intScut40008000-intSfromStrangecut40008000); 
1921     fracP40008000[i]=intPcut40008000/intPtot40008000;
1922     fracS40008000[i]=1.-intScut40008000/(intPcut40008000+intScut40008000);
1923     fracS40008000Strp30[i]=1.-intScut40008000Strp30/(intPcut40008000+intScut40008000Strp30);
1924     fracS40008000Strm30[i]=1.-intScut40008000Strm30/(intPcut40008000+intScut40008000Strm30);
1925     fracS40008000Matp10[i]=1.-intScut40008000Matp10/(intPcut40008000+intScut40008000Matp10);
1926     fracS40008000Matm10[i]=1.-intScut40008000Matm10/(intPcut40008000+intScut40008000Matm10);
1927     fracSfromStrange40008000[i]=1.-intSfromStrangecut40008000/(intPcut40008000+intScut40008000);
1928   }
1929   TGraph *gfracP40008000=new TGraph(15,d0cut,fracP40008000);
1930   gfracP40008000->SetMarkerColor(2);
1931   gfracP40008000->SetMarkerStyle(20);
1932   gfracP40008000->Draw("ap");
1933   TGraph *gfracS40008000=new TGraph(15,d0cut,fracS40008000);
1934   gfracS40008000->SetMarkerColor(4);
1935   gfracS40008000->SetMarkerStyle(21);
1936   gfracS40008000->Draw("p");
1937   TGraph *gfracSfromStrange40008000=new TGraph(15,d0cut,fracSfromStrange40008000);
1938   gfracSfromStrange40008000->SetMarkerColor(8);
1939   gfracSfromStrange40008000->SetMarkerStyle(22);
1940   gfracSfromStrange40008000->Draw("p");
1941
1942   
1943   TCanvas *c4 = new TCanvas("c4","c4");
1944   c4->Divide(3,1);
1945   c4_1->SetLogx();
1946   c4_2->SetLogx();
1947   c4_3->SetLogx();
1948
1949   c4->cd(1);
1950   Float_t intDatacut150200[15],intDataPcut150200[15],intDataPall150200[15];
1951   for(Int_t i=0;i<15;i++) {
1952     Int_t bin1=fHistd0rphiITSMIoneSPDInAcc150200->FindBin(-d0cut[i]);
1953     Int_t bin2=fHistd0rphiITSMIoneSPDInAcc150200->FindBin(+d0cut[i]);
1954     intDatacut150200[i]=fHistd0rphiITSMIoneSPDInAcc150200->Integral(bin1,bin2);
1955     intDataPcut150200[i]=intDatacut150200[i]*fracS150200[i];
1956     intDataPall150200[i]=intDataPcut150200[i]/fracP150200[i];
1957   }
1958   TGraph *gintDatacut150200=new TGraph(15,d0cut,intDatacut150200);
1959   gintDatacut150200->SetMarkerColor(1);
1960   gintDatacut150200->SetMarkerStyle(20);
1961   gintDatacut150200->Draw("ap");
1962   TGraph *gintDataPcut150200=new TGraph(15,d0cut,intDataPcut150200);
1963   gintDataPcut150200->SetMarkerColor(1);
1964   gintDataPcut150200->SetMarkerStyle(24);
1965   gintDataPcut150200->Draw("p");
1966   TGraph *gintDataPall150200=new TGraph(15,d0cut,intDataPall150200);
1967   gintDataPall150200->SetMarkerColor(2);
1968   gintDataPall150200->SetMarkerStyle(22);
1969   gintDataPall150200->Draw("p");
1970
1971   c4->cd(2);
1972   Float_t intDatacut500700[15],intDataPcut500700[15],intDataPall500700[15];
1973   for(Int_t i=0;i<15;i++) {
1974     Int_t bin1=fHistd0rphiITSMIoneSPDInAcc500700->FindBin(-d0cut[i]);
1975     Int_t bin2=fHistd0rphiITSMIoneSPDInAcc500700->FindBin(+d0cut[i]);
1976     intDatacut500700[i]=fHistd0rphiITSMIoneSPDInAcc500700->Integral(bin1,bin2);
1977     intDataPcut500700[i]=intDatacut500700[i]*fracS500700[i];
1978     intDataPall500700[i]=intDataPcut500700[i]/fracP500700[i];
1979   }
1980   TGraph *gintDatacut500700=new TGraph(15,d0cut,intDatacut500700);
1981   gintDatacut500700->SetMarkerColor(1);
1982   gintDatacut500700->SetMarkerStyle(20);
1983   gintDatacut500700->Draw("ap");
1984   TGraph *gintDataPcut500700=new TGraph(15,d0cut,intDataPcut500700);
1985   gintDataPcut500700->SetMarkerColor(1);
1986   gintDataPcut500700->SetMarkerStyle(24);
1987   gintDataPcut500700->Draw("p");
1988   TGraph *gintDataPall500700=new TGraph(15,d0cut,intDataPall500700);
1989   gintDataPall500700->SetMarkerColor(2);
1990   gintDataPall500700->SetMarkerStyle(22);
1991   gintDataPall500700->Draw("p");
1992
1993   c4->cd(3);
1994   Float_t intDatacut10001500[15],intDataPcut10001500[15],intDataPall10001500[15];
1995   for(Int_t i=0;i<15;i++) {
1996     Int_t bin1=fHistd0rphiITSMIoneSPDInAcc10001500->FindBin(-d0cut[i]);
1997     Int_t bin2=fHistd0rphiITSMIoneSPDInAcc10001500->FindBin(+d0cut[i]);
1998     intDatacut10001500[i]=fHistd0rphiITSMIoneSPDInAcc10001500->Integral(bin1,bin2);
1999     intDataPcut10001500[i]=intDatacut10001500[i]*fracS10001500[i];
2000     intDataPall10001500[i]=intDataPcut10001500[i]/fracP10001500[i];
2001   }
2002   TGraph *gintDatacut10001500=new TGraph(15,d0cut,intDatacut10001500);
2003   gintDatacut10001500->SetMarkerColor(1);
2004   gintDatacut10001500->SetMarkerStyle(20);
2005   gintDatacut10001500->Draw("ap");
2006   TGraph *gintDataPcut10001500=new TGraph(15,d0cut,intDataPcut10001500);
2007   gintDataPcut10001500->SetMarkerColor(1);
2008   gintDataPcut10001500->SetMarkerStyle(24);
2009   gintDataPcut10001500->Draw("p");
2010   TGraph *gintDataPall10001500=new TGraph(15,d0cut,intDataPall10001500);
2011   gintDataPall10001500->SetMarkerColor(2);
2012   gintDataPall10001500->SetMarkerStyle(22);
2013   gintDataPall10001500->Draw("p");
2014
2015   
2016   TCanvas *c5 = new TCanvas("c5","c5");
2017   c5->Divide(3,1);
2018   c5_1->SetLogx();
2019   c5_2->SetLogx();
2020   c5_3->SetLogx();
2021
2022   c5->cd(1);
2023   Float_t intDataPall150200Strp30[15],intDataPall150200Strm30[15],intDataPall150200Matp10[15],intDataPall150200Matm10[15];
2024   for(Int_t i=0;i<15;i++) {
2025     intDataPall150200Strp30[i]=intDatacut150200[i]*fracS150200Strp30[i]/fracP150200[i];
2026     intDataPall150200Strm30[i]=intDatacut150200[i]*fracS150200Strm30[i]/fracP150200[i];
2027     intDataPall150200Matp10[i]=intDatacut150200[i]*fracS150200Matp10[i]/fracP150200[i];
2028     intDataPall150200Matm10[i]=intDatacut150200[i]*fracS150200Matm10[i]/fracP150200[i];
2029   }
2030   gintDataPall150200->Draw("ap");
2031
2032   TGraph *gintDataPall150200Strp30=new TGraph(15,d0cut,intDataPall150200Strp30);
2033   gintDataPall150200Strp30->SetMarkerColor(1);
2034   gintDataPall150200Strp30->SetMarkerStyle(22);
2035   gintDataPall150200Strp30->Draw("p");
2036   TGraph *gintDataPall150200Strm30=new TGraph(15,d0cut,intDataPall150200Strm30);
2037   gintDataPall150200Strm30->SetMarkerColor(1);
2038   gintDataPall150200Strm30->SetMarkerStyle(22);
2039   gintDataPall150200Strm30->Draw("p");
2040   TGraph *gintDataPall150200Matp10=new TGraph(15,d0cut,intDataPall150200Matp10);
2041   gintDataPall150200Matp10->SetMarkerColor(3);
2042   gintDataPall150200Matp10->SetMarkerStyle(22);
2043   gintDataPall150200Matp10->Draw("p");
2044   TGraph *gintDataPall150200Matm10=new TGraph(15,d0cut,intDataPall150200Matm10);
2045   gintDataPall150200Matm10->SetMarkerColor(3);
2046   gintDataPall150200Matm10->SetMarkerStyle(22);
2047   gintDataPall150200Matm10->Draw("p");
2048
2049   c5->cd(2);
2050   Float_t intDataPall500700Strp30[15],intDataPall500700Strm30[15],intDataPall500700Matp10[15],intDataPall500700Matm10[15];
2051   for(Int_t i=0;i<15;i++) {
2052     intDataPall500700Strp30[i]=intDatacut500700[i]*fracS500700Strp30[i]/fracP500700[i];
2053     intDataPall500700Strm30[i]=intDatacut500700[i]*fracS500700Strm30[i]/fracP500700[i];
2054     intDataPall500700Matp10[i]=intDatacut500700[i]*fracS500700Matp10[i]/fracP500700[i];
2055     intDataPall500700Matm10[i]=intDatacut500700[i]*fracS500700Matm10[i]/fracP500700[i];
2056   }
2057   gintDataPall500700->Draw("ap");
2058
2059   TGraph *gintDataPall500700Strp30=new TGraph(15,d0cut,intDataPall500700Strp30);
2060   gintDataPall500700Strp30->SetMarkerColor(1);
2061   gintDataPall500700Strp30->SetMarkerStyle(22);
2062   gintDataPall500700Strp30->Draw("p");
2063   TGraph *gintDataPall500700Strm30=new TGraph(15,d0cut,intDataPall500700Strm30);
2064   gintDataPall500700Strm30->SetMarkerColor(1);
2065   gintDataPall500700Strm30->SetMarkerStyle(22);
2066   gintDataPall500700Strm30->Draw("p");
2067   TGraph *gintDataPall500700Matp10=new TGraph(15,d0cut,intDataPall500700Matp10);
2068   gintDataPall500700Matp10->SetMarkerColor(3);
2069   gintDataPall500700Matp10->SetMarkerStyle(22);
2070   gintDataPall500700Matp10->Draw("p");
2071   TGraph *gintDataPall500700Matm10=new TGraph(15,d0cut,intDataPall500700Matm10);
2072   gintDataPall500700Matm10->SetMarkerColor(3);
2073   gintDataPall500700Matm10->SetMarkerStyle(22);
2074   gintDataPall500700Matm10->Draw("p");
2075
2076   c5->cd(3);
2077   Float_t intDataPall10001500Strp30[15],intDataPall10001500Strm30[15],intDataPall10001500Matp10[15],intDataPall10001500Matm10[15];
2078   for(Int_t i=0;i<15;i++) {
2079     intDataPall10001500Strp30[i]=intDatacut10001500[i]*fracS10001500Strp30[i]/fracP10001500[i];
2080     intDataPall10001500Strm30[i]=intDatacut10001500[i]*fracS10001500Strm30[i]/fracP10001500[i];
2081     intDataPall10001500Matp10[i]=intDatacut10001500[i]*fracS10001500Matp10[i]/fracP10001500[i];
2082     intDataPall10001500Matm10[i]=intDatacut10001500[i]*fracS10001500Matm10[i]/fracP10001500[i];
2083   }
2084   gintDataPall10001500->Draw("ap");
2085
2086   TGraph *gintDataPall10001500Strp30=new TGraph(15,d0cut,intDataPall10001500Strp30);
2087   gintDataPall10001500Strp30->SetMarkerColor(1);
2088   gintDataPall10001500Strp30->SetMarkerStyle(22);
2089   gintDataPall10001500Strp30->Draw("p");
2090   TGraph *gintDataPall10001500Strm30=new TGraph(15,d0cut,intDataPall10001500Strm30);
2091   gintDataPall10001500Strm30->SetMarkerColor(1);
2092   gintDataPall10001500Strm30->SetMarkerStyle(22);
2093   gintDataPall10001500Strm30->Draw("p");
2094   TGraph *gintDataPall10001500Matp10=new TGraph(15,d0cut,intDataPall10001500Matp10);
2095   gintDataPall10001500Matp10->SetMarkerColor(3);
2096   gintDataPall10001500Matp10->SetMarkerStyle(22);
2097   gintDataPall10001500Matp10->Draw("p");
2098   TGraph *gintDataPall10001500Matm10=new TGraph(15,d0cut,intDataPall10001500Matm10);
2099   gintDataPall10001500Matm10->SetMarkerColor(3);
2100   gintDataPall10001500Matm10->SetMarkerStyle(22);
2101   gintDataPall10001500Matm10->Draw("p");
2102   
2103   return;
2104 }
2105 //---------------------------------------------------------------------------
2106 void PlotImpPar_z() {
2107
2108   TFile *fMC= new TFile("ITS.Performance_lhc10a8_100k.root");
2109
2110   TList *list=(TList*)fMC->Get("cOutputITS");
2111   TH1F *fHistd0zITSMIoneSPDInAccP150200MC = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccP150200");
2112   TH1F *fHistd0zITSMIoneSPDInAccS150200MC = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccS150200");
2113   TH1F *fHistd0zITSMIoneSPDInAccP500700MC = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccP500700");
2114   TH1F *fHistd0zITSMIoneSPDInAccS500700MC = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccS500700");
2115   TH1F *fHistd0zITSMIoneSPDInAccP10001500MC = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccP10001500");
2116   TH1F *fHistd0zITSMIoneSPDInAccS10001500MC = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccS10001500");
2117   TH1F *fHistd0zITSMIoneSPDInAcc150200MC=(TH1F*)fHistd0zITSMIoneSPDInAccP150200MC->Clone("fHistd0zITSMIoneSPDInAcc150200MC");
2118   fHistd0zITSMIoneSPDInAcc150200MC->Add(fHistd0zITSMIoneSPDInAccS150200MC);
2119   fHistd0zITSMIoneSPDInAcc150200MC->Scale(1./fHistd0zITSMIoneSPDInAcc150200MC->GetEntries());
2120   TH1F *fHistd0zITSMIoneSPDInAcc500700MC=(TH1F*)fHistd0zITSMIoneSPDInAccP500700MC->Clone("fHistd0zITSMIoneSPDInAcc500700MC");
2121   fHistd0zITSMIoneSPDInAcc500700MC->Add(fHistd0zITSMIoneSPDInAccS500700MC);
2122   fHistd0zITSMIoneSPDInAcc500700MC->Scale(1./fHistd0zITSMIoneSPDInAcc500700MC->GetEntries());
2123   TH1F *fHistd0zITSMIoneSPDInAcc10001500MC=(TH1F*)fHistd0zITSMIoneSPDInAccP10001500MC->Clone("fHistd0zITSMIoneSPDInAcc10001500MC");
2124   fHistd0zITSMIoneSPDInAcc10001500MC->Add(fHistd0zITSMIoneSPDInAccS10001500MC);
2125   fHistd0zITSMIoneSPDInAcc10001500MC->Scale(1./fHistd0zITSMIoneSPDInAcc10001500MC->GetEntries());
2126
2127
2128   TFile *f= new TFile("ITS.Performance_104892.root");
2129
2130   TList *list=(TList*)f->Get("cOutputITS");
2131   TH1F *fHistd0zITSMIoneSPDInAccP150200 = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccP150200");
2132   TH1F *fHistd0zITSMIoneSPDInAccS150200 = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccS150200");
2133   TH1F *fHistd0zITSMIoneSPDInAccP500700 = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccP500700");
2134   TH1F *fHistd0zITSMIoneSPDInAccS500700 = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccS500700");
2135   TH1F *fHistd0zITSMIoneSPDInAccP10001500 = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccP10001500");
2136   TH1F *fHistd0zITSMIoneSPDInAccS10001500 = (TH1F*)list->FindObject("fHistd0zITSMIoneSPDInAccS10001500");
2137   TH1F *fHistd0zITSMIoneSPDInAcc150200=(TH1F*)fHistd0zITSMIoneSPDInAccP150200->Clone("fHistd0zITSMIoneSPDInAcc150200");
2138   fHistd0zITSMIoneSPDInAcc150200->Add(fHistd0zITSMIoneSPDInAccS150200);
2139   fHistd0zITSMIoneSPDInAcc150200->Scale(1./fHistd0zITSMIoneSPDInAcc150200->GetEntries());
2140   TH1F *fHistd0zITSMIoneSPDInAcc500700=(TH1F*)fHistd0zITSMIoneSPDInAccP500700->Clone("fHistd0zITSMIoneSPDInAcc500700");
2141   fHistd0zITSMIoneSPDInAcc500700->Add(fHistd0zITSMIoneSPDInAccS500700);
2142   fHistd0zITSMIoneSPDInAcc500700->Scale(1./fHistd0zITSMIoneSPDInAcc500700->GetEntries());
2143   TH1F *fHistd0zITSMIoneSPDInAcc10001500=(TH1F*)fHistd0zITSMIoneSPDInAccP10001500->Clone("fHistd0zITSMIoneSPDInAcc10001500");
2144   fHistd0zITSMIoneSPDInAcc10001500->Add(fHistd0zITSMIoneSPDInAccS10001500);
2145   fHistd0zITSMIoneSPDInAcc10001500->Scale(1./fHistd0zITSMIoneSPDInAcc10001500->GetEntries());
2146
2147
2148   TCanvas *c1 = new TCanvas("c1","c1");
2149   c1->Divide(3,1);
2150   c1->cd(1);
2151   fHistd0zITSMIoneSPDInAcc150200MC->SetLineColor(2);
2152   fHistd0zITSMIoneSPDInAcc150200MC->Draw();
2153   fHistd0zITSMIoneSPDInAcc150200->SetLineColor(4);
2154   fHistd0zITSMIoneSPDInAcc150200->Draw("same");
2155   c1->cd(2);
2156   fHistd0zITSMIoneSPDInAcc500700MC->SetLineColor(2);
2157   fHistd0zITSMIoneSPDInAcc500700MC->Draw();
2158   fHistd0zITSMIoneSPDInAcc500700->SetLineColor(4);
2159   fHistd0zITSMIoneSPDInAcc500700->Draw("same");
2160   c1->cd(3);
2161   fHistd0zITSMIoneSPDInAcc10001500MC->SetLineColor(2);
2162   fHistd0zITSMIoneSPDInAcc10001500MC->Draw();
2163   fHistd0zITSMIoneSPDInAcc10001500->SetLineColor(4);
2164   fHistd0zITSMIoneSPDInAcc10001500->Draw("same");
2165
2166   TCanvas *c2 = new TCanvas("c2","c2");
2167   c2->Divide(3,1);
2168   c2_1->SetLogy();
2169   c2_2->SetLogy();
2170   c2_3->SetLogy();
2171   c2->cd(1);
2172   fHistd0zITSMIoneSPDInAccP150200MC->SetMinimum(1);
2173   fHistd0zITSMIoneSPDInAccS150200MC->SetMinimum(1);
2174   fHistd0zITSMIoneSPDInAccP150200MC->SetLineColor(1);
2175   fHistd0zITSMIoneSPDInAccP150200MC->Draw();
2176   fHistd0zITSMIoneSPDInAccS150200MC->SetLineColor(6);
2177   fHistd0zITSMIoneSPDInAccS150200MC->Draw("same");
2178   c2->cd(2);
2179   fHistd0zITSMIoneSPDInAccP500700MC->SetMinimum(1);
2180   fHistd0zITSMIoneSPDInAccS500700MC->SetMinimum(1);
2181   fHistd0zITSMIoneSPDInAccP500700MC->SetLineColor(1);
2182   fHistd0zITSMIoneSPDInAccP500700MC->Draw();
2183   fHistd0zITSMIoneSPDInAccS500700MC->SetLineColor(6);
2184   fHistd0zITSMIoneSPDInAccS500700MC->Draw("same");
2185   c2->cd(3);
2186   fHistd0zITSMIoneSPDInAccP10001500MC->SetMinimum(1);
2187   fHistd0zITSMIoneSPDInAccS10001500MC->SetMinimum(1);
2188   fHistd0zITSMIoneSPDInAccP10001500MC->SetLineColor(1);
2189   fHistd0zITSMIoneSPDInAccP10001500MC->Draw();
2190   fHistd0zITSMIoneSPDInAccS10001500MC->SetLineColor(6);
2191   fHistd0zITSMIoneSPDInAccS10001500MC->Draw("same");
2192
2193
2194   TCanvas *c3 = new TCanvas("c3","c3");
2195   c3->Divide(3,1);
2196   c3_1->SetLogx();
2197   c3_2->SetLogx();
2198   c3_3->SetLogx();
2199   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};
2200
2201   c3->cd(1);
2202   Float_t fracP150200[15],fracS150200[15];
2203   Float_t intPtot150200=fHistd0zITSMIoneSPDInAccP150200MC->Integral(1,fHistd0zITSMIoneSPDInAccP150200MC->GetNbinsX());
2204   for(Int_t i=0;i<15;i++) {
2205     Int_t bin1=fHistd0zITSMIoneSPDInAccP150200MC->FindBin(-d0cut[i]);
2206     Int_t bin2=fHistd0zITSMIoneSPDInAccP150200MC->FindBin(+d0cut[i]);
2207     Float_t intPcut150200=fHistd0zITSMIoneSPDInAccP150200MC->Integral(bin1,bin2);
2208     Float_t intScut150200=fHistd0zITSMIoneSPDInAccS150200MC->Integral(bin1,bin2);
2209     fracP150200[i]=intPcut150200/intPtot150200;
2210     fracS150200[i]=1.-intScut150200/(intPcut150200+intScut150200);
2211   }
2212   TGraph *gfracP150200=new TGraph(15,d0cut,fracP150200);
2213   gfracP150200->SetMarkerColor(2);
2214   gfracP150200->SetMarkerStyle(20);
2215   gfracP150200->Draw("ap");
2216   TGraph *gfracS150200=new TGraph(15,d0cut,fracS150200);
2217   gfracS150200->SetMarkerColor(4);
2218   gfracS150200->SetMarkerStyle(21);
2219   gfracS150200->Draw("p");
2220
2221   c3->cd(2);
2222   Float_t fracP500700[15],fracS500700[15];
2223   Float_t intPtot500700=fHistd0zITSMIoneSPDInAccP500700MC->Integral(1,fHistd0zITSMIoneSPDInAccP500700MC->GetNbinsX());
2224   for(Int_t i=0;i<15;i++) {
2225     Int_t bin1=fHistd0zITSMIoneSPDInAccP500700MC->FindBin(-d0cut[i]);
2226     Int_t bin2=fHistd0zITSMIoneSPDInAccP500700MC->FindBin(+d0cut[i]);
2227     Float_t intPcut500700=fHistd0zITSMIoneSPDInAccP500700MC->Integral(bin1,bin2);
2228     Float_t intScut500700=fHistd0zITSMIoneSPDInAccS500700MC->Integral(bin1,bin2);
2229     fracP500700[i]=intPcut500700/intPtot500700;
2230     fracS500700[i]=1.-intScut500700/(intPcut500700+intScut500700);
2231   }
2232   TGraph *gfracP500700=new TGraph(15,d0cut,fracP500700);
2233   gfracP500700->SetMarkerColor(2);
2234   gfracP500700->SetMarkerStyle(20);
2235   gfracP500700->Draw("ap");
2236   TGraph *gfracS500700=new TGraph(15,d0cut,fracS500700);
2237   gfracS500700->SetMarkerColor(4);
2238   gfracS500700->SetMarkerStyle(21);
2239   gfracS500700->Draw("p");
2240
2241   c3->cd(3);
2242   Float_t fracP10001500[15],fracS10001500[15];
2243   Float_t intPtot10001500=fHistd0zITSMIoneSPDInAccP10001500MC->Integral(1,fHistd0zITSMIoneSPDInAccP10001500MC->GetNbinsX());
2244   for(Int_t i=0;i<15;i++) {
2245     Int_t bin1=fHistd0zITSMIoneSPDInAccP10001500MC->FindBin(-d0cut[i]);
2246     Int_t bin2=fHistd0zITSMIoneSPDInAccP10001500MC->FindBin(+d0cut[i]);
2247     Float_t intPcut10001500=fHistd0zITSMIoneSPDInAccP10001500MC->Integral(bin1,bin2);
2248     Float_t intScut10001500=fHistd0zITSMIoneSPDInAccS10001500MC->Integral(bin1,bin2);
2249     fracP10001500[i]=intPcut10001500/intPtot10001500;
2250     fracS10001500[i]=1.-intScut10001500/(intPcut10001500+intScut10001500);
2251   }
2252   TGraph *gfracP10001500=new TGraph(15,d0cut,fracP10001500);
2253   gfracP10001500->SetMarkerColor(2);
2254   gfracP10001500->SetMarkerStyle(20);
2255   gfracP10001500->Draw("ap");
2256   TGraph *gfracS10001500=new TGraph(15,d0cut,fracS10001500);
2257   gfracS10001500->SetMarkerColor(4);
2258   gfracS10001500->SetMarkerStyle(21);
2259   gfracS10001500->Draw("p");
2260
2261   return;
2262 }
2263 //----------------------------------------------------------------------------
2264 void Corrections() {
2265
2266   TFile *f_cutits= new TFile("ITS.Performance_lhc09d10_500k_noz0cut_nodcaTPC.root");
2267
2268   TList *list=(TList*)f_cutits->Get("cOutputITS");
2269
2270   TH1F *fHistNEvents = (TH1F*)list->FindObject("fHistNEvents");
2271   Float_t nEventsSelWithVertex = fHistNEvents->GetBinContent(5);
2272
2273   TH1F *fHistPtITSTPCsel = (TH1F*)list->FindObject("fHistPtITSTPCsel");
2274   NormalizePtHist(fHistPtITSTPCsel,nEventsSelWithVertex);
2275   TH1F *fHistPtITSTPCselP = (TH1F*)list->FindObject("fHistPtITSTPCselP");
2276   NormalizePtHist(fHistPtITSTPCselP,nEventsSelWithVertex);
2277   TH1F *fHistPtITSTPCselS = (TH1F*)list->FindObject("fHistPtITSTPCselS");
2278   NormalizePtHist(fHistPtITSTPCselS,nEventsSelWithVertex);
2279   TH1F *fHistPtITSTPCselPfromStrange = (TH1F*)list->FindObject("fHistPtITSTPCselPfromStrange");
2280   NormalizePtHist(fHistPtITSTPCselPfromStrange,nEventsSelWithVertex);
2281   TH1F *fHistPtITSTPCselSfromStrange = (TH1F*)list->FindObject("fHistPtITSTPCselSfromStrange");
2282   NormalizePtHist(fHistPtITSTPCselSfromStrange,nEventsSelWithVertex);
2283   TH1F *fHistPtITSTPCselSfromMat = (TH1F*)list->FindObject("fHistPtITSTPCselSfromMat");
2284   NormalizePtHist(fHistPtITSTPCselSfromMat,nEventsSelWithVertex);
2285
2286
2287   TFile *f_cuttpc= new TFile("ITS.Performance_lhc09d10_500k_noz0cut.root");
2288
2289   TList *list=(TList*)f_cuttpc->Get("cOutputITS");
2290
2291   TH1F *fHistNEvents = (TH1F*)list->FindObject("fHistNEvents");
2292   nEventsSelWithVertex = fHistNEvents->GetBinContent(5);
2293
2294   TH1F *fHistPtTPCInAcc = (TH1F*)list->FindObject("fHistPtTPCInAcc");
2295   NormalizePtHist(fHistPtTPCInAcc,nEventsSelWithVertex);
2296   TH1F *fHistPtTPCInAccP = (TH1F*)list->FindObject("fHistPtTPCInAccP");
2297   NormalizePtHist(fHistPtTPCInAccP,nEventsSelWithVertex);
2298   TH1F *fHistPtTPCInAccS = (TH1F*)list->FindObject("fHistPtTPCInAccS");
2299   NormalizePtHist(fHistPtTPCInAccS,nEventsSelWithVertex);
2300   TH1F *fHistPtTPCInAccPfromStrange = (TH1F*)list->FindObject("fHistPtTPCInAccPfromStrange"); 
2301   NormalizePtHist(fHistPtTPCInAccPfromStrange,nEventsSelWithVertex);
2302  TH1F *fHistPtTPCInAccSfromStrange = (TH1F*)list->FindObject("fHistPtTPCInAccSfromStrange");
2303   NormalizePtHist(fHistPtTPCInAccSfromStrange,nEventsSelWithVertex);
2304   TH1F *fHistPtTPCInAccSfromMat = (TH1F*)list->FindObject("fHistPtTPCInAccSfromMat");
2305   NormalizePtHist(fHistPtTPCInAccSfromMat,nEventsSelWithVertex);
2306
2307
2308   TFile *f_nocut= new TFile("ITS.Performance_lhc09d10_500k_nod0z0cut.root");
2309
2310   TList *list=(TList*)f_nocut->Get("cOutputITS");
2311
2312   TH1F *fHistNEvents = (TH1F*)list->FindObject("fHistNEvents");
2313   nEventsSelWithVertex = fHistNEvents->GetBinContent(5);
2314
2315   TH1F *fHistPtITSTPCselnocut = (TH1F*)list->FindObject("fHistPtITSTPCsel");
2316   NormalizePtHist(fHistPtITSTPCselnocut,nEventsSelWithVertex);
2317   TH1F *fHistPtITSTPCselnocutP = (TH1F*)list->FindObject("fHistPtITSTPCselP");
2318   NormalizePtHist(fHistPtITSTPCselnocutP,nEventsSelWithVertex);
2319   TH1F *fHistPtITSTPCselnocutS = (TH1F*)list->FindObject("fHistPtITSTPCselS");
2320   NormalizePtHist(fHistPtITSTPCselnocutS,nEventsSelWithVertex);
2321   TH1F *fHistPtITSTPCselnocutPfromStrange = (TH1F*)list->FindObject("fHistPtITSTPCselPfromStrange");
2322   NormalizePtHist(fHistPtITSTPCselnocutPfromStrange,nEventsSelWithVertex);
2323   TH1F *fHistPtITSTPCselnocutSfromStrange = (TH1F*)list->FindObject("fHistPtITSTPCselSfromStrange");
2324   NormalizePtHist(fHistPtITSTPCselnocutSfromStrange,nEventsSelWithVertex);
2325   TH1F *fHistPtITSTPCselnocutSfromMat = (TH1F*)list->FindObject("fHistPtITSTPCselSfromMat");
2326   NormalizePtHist(fHistPtITSTPCselnocutSfromMat,nEventsSelWithVertex);
2327
2328   TH1F *fHistPtTPCInAccnocut = (TH1F*)list->FindObject("fHistPtTPCInAcc");
2329   NormalizePtHist(fHistPtTPCInAccnocut,nEventsSelWithVertex);
2330   TH1F *fHistPtTPCInAccnocutP = (TH1F*)list->FindObject("fHistPtTPCInAccP");
2331   NormalizePtHist(fHistPtTPCInAccnocutP,nEventsSelWithVertex);
2332   TH1F *fHistPtTPCInAccnocutS = (TH1F*)list->FindObject("fHistPtTPCInAccS");
2333   NormalizePtHist(fHistPtTPCInAccnocutS,nEventsSelWithVertex);
2334   TH1F *fHistPtTPCInAccnocutPfromStrange = (TH1F*)list->FindObject("fHistPtTPCInAccPfromStrange"); 
2335   NormalizePtHist(fHistPtTPCInAccnocutPfromStrange,nEventsSelWithVertex);
2336   TH1F *fHistPtTPCInAccnocutSfromStrange = (TH1F*)list->FindObject("fHistPtTPCInAccSfromStrange");
2337   NormalizePtHist(fHistPtTPCInAccnocutSfromStrange,nEventsSelWithVertex);
2338   TH1F *fHistPtTPCInAccnocutSfromMat = (TH1F*)list->FindObject("fHistPtTPCInAccSfromMat");
2339   NormalizePtHist(fHistPtTPCInAccnocutSfromMat,nEventsSelWithVertex);
2340
2341   // cut efficiencies
2342   
2343   TH1F *fHistPtITSTPCeffselP = (TH1F*)fHistPtITSTPCselP->Clone("fHistPtITSTPCeffselP");
2344   fHistPtITSTPCeffselP->Divide(fHistPtITSTPCselnocutP);
2345   TH1F *fHistPtITSTPCeffselS = (TH1F*)fHistPtITSTPCselS->Clone("fHistPtITSTPCeffselS");
2346   fHistPtITSTPCeffselS->Divide(fHistPtITSTPCselnocutS);
2347   TH1F *fHistPtITSTPCeffselSfromStrange = (TH1F*)fHistPtITSTPCselSfromStrange->Clone("fHistPtITSTPCeffselSfromStrange");
2348   fHistPtITSTPCeffselSfromStrange->Divide(fHistPtITSTPCselnocutSfromStrange);
2349   TH1F *fHistPtITSTPCeffselSfromMat = (TH1F*)fHistPtITSTPCselSfromMat->Clone("fHistPtITSTPCeffselSfromMat");
2350   fHistPtITSTPCeffselSfromMat->Divide(fHistPtITSTPCselnocutSfromMat);
2351
2352   TH1F *fHistPtTPCeffInAccP = (TH1F*)fHistPtTPCInAccP->Clone("fHistPtTPCeffInAccP");
2353   fHistPtTPCeffInAccP->Divide(fHistPtTPCInAccnocutP);
2354   TH1F *fHistPtTPCeffInAccS = (TH1F*)fHistPtTPCInAccS->Clone("fHistPtTPCeffInAccS");
2355   fHistPtTPCeffInAccS->Divide(fHistPtTPCInAccnocutS);
2356   TH1F *fHistPtTPCeffInAccSfromStrange = (TH1F*)fHistPtTPCInAccSfromStrange->Clone("fHistPtTPCeffInAccSfromStrange");
2357   fHistPtTPCeffInAccSfromStrange->Divide(fHistPtTPCInAccnocutSfromStrange);
2358   TH1F *fHistPtTPCeffInAccSfromMat = (TH1F*)fHistPtTPCInAccSfromMat->Clone("fHistPtTPCeffInAccSfromMat");
2359   fHistPtTPCeffInAccSfromMat->Divide(fHistPtTPCInAccnocutSfromMat);
2360
2361
2362   TLegend *l0=new TLegend(0.5,0.5,0.9,0.9);
2363   TCanvas *c0=new TCanvas("c0","c0");
2364   c0->Divide(2,1);
2365   c0->cd(1);
2366   TH1F *fHistPtITSTPCselFracS = (TH1F*)fHistPtITSTPCselS->Clone("fHistPtITSTPCselFracS");
2367   fHistPtITSTPCselFracS->Divide(fHistPtITSTPCsel);
2368   fHistPtITSTPCselFracS->SetLineColor(2);
2369   l0->AddEntry(fHistPtITSTPCselFracS,"secondaries","l");
2370   fHistPtITSTPCselFracS->Draw();
2371   TH1F *fHistPtITSTPCselFracSfromStrange = (TH1F*)fHistPtITSTPCselSfromStrange->Clone("fHistPtITSTPCselFracSfromStrange");
2372   fHistPtITSTPCselFracSfromStrange->Divide(fHistPtITSTPCsel);
2373   fHistPtITSTPCselFracSfromStrange->SetLineColor(6);
2374   l0->AddEntry(fHistPtITSTPCselFracSfromStrange,"sec. from strange","l");
2375   fHistPtITSTPCselFracSfromStrange->Draw("same");
2376   TH1F *fHistPtITSTPCselFracSfromMat = (TH1F*)fHistPtITSTPCselSfromMat->Clone("fHistPtITSTPCselFracSfromMat");
2377   fHistPtITSTPCselFracSfromMat->Divide(fHistPtITSTPCsel);
2378   fHistPtITSTPCselFracSfromMat->SetLineColor(kOrange+7);
2379   l0->AddEntry(fHistPtITSTPCselFracSfromMat,"sec. from material","l");
2380   fHistPtITSTPCselFracSfromMat->Draw("same");
2381   l0->Draw();
2382   c0->cd(2);
2383   TH1F *fHistPtTPCInAccFracS = (TH1F*)fHistPtTPCInAccS->Clone("fHistPtTPCInAccFracS");
2384   fHistPtTPCInAccFracS->Divide(fHistPtTPCInAcc);
2385   fHistPtTPCInAccFracS->SetLineColor(2);
2386   fHistPtTPCInAccFracS->Draw();
2387   TH1F *fHistPtTPCInAccFracSfromStrange = (TH1F*)fHistPtTPCInAccSfromStrange->Clone("fHistPtTPCInAccFracSfromStrange");
2388   fHistPtTPCInAccFracSfromStrange->Divide(fHistPtTPCInAcc);
2389   fHistPtTPCInAccFracSfromStrange->SetLineColor(6);
2390   fHistPtTPCInAccFracSfromStrange->Draw("same");
2391   TH1F *fHistPtTPCInAccFracSfromMat = (TH1F*)fHistPtTPCInAccSfromMat->Clone("fHistPtTPCInAccFracSfromMat");
2392   fHistPtTPCInAccFracSfromMat->Divide(fHistPtTPCInAcc);
2393   fHistPtTPCInAccFracSfromMat->SetLineColor(kOrange+7);
2394   fHistPtTPCInAccFracSfromMat->Draw("same");
2395
2396   TLegend *l1=new TLegend(0.5,0.5,0.9,0.9);
2397   TCanvas *c1=new TCanvas("c1","c1");
2398   c1->Divide(2,1);
2399   c1->cd(1);
2400   fHistPtITSTPCeffselP->SetYTitle("dca cut efficiency");
2401   fHistPtITSTPCeffselP->SetLineColor(1);
2402   l1->AddEntry(fHistPtITSTPCeffselP,"primaries","l");
2403   fHistPtITSTPCeffselP->Draw();
2404   fHistPtITSTPCeffselS->SetLineColor(2);
2405   l1->AddEntry(fHistPtITSTPCeffselS,"secondaries","l");
2406   fHistPtITSTPCeffselS->Draw("same");
2407   fHistPtITSTPCeffselSfromStrange->SetLineColor(6);
2408   l1->AddEntry(fHistPtITSTPCeffselSfromStrange,"sec. from strange","l");
2409   fHistPtITSTPCeffselSfromStrange->Draw("same");
2410   fHistPtITSTPCeffselSfromMat->SetLineColor(kOrange+7);
2411   l1->AddEntry(fHistPtITSTPCeffselSfromMat,"sec. from material","l");
2412   fHistPtITSTPCeffselSfromMat->Draw("same");
2413   l1->Draw();
2414   c1->cd(2);
2415   fHistPtTPCeffInAccP->SetYTitle("dca cut efficiency");
2416   fHistPtTPCeffInAccP->SetLineColor(1);
2417   fHistPtTPCeffInAccP->Draw();
2418   fHistPtTPCeffInAccS->SetLineColor(2);
2419   fHistPtTPCeffInAccS->Draw("same");
2420   fHistPtTPCeffInAccSfromStrange->SetLineColor(6);
2421   fHistPtTPCeffInAccSfromStrange->Draw("same");
2422   fHistPtTPCeffInAccSfromMat->SetLineColor(kOrange+7);
2423   fHistPtTPCeffInAccSfromMat->Draw("same");
2424
2425
2426
2427   Float_t weightStrange=1.;
2428   Float_t weightMat=1.;
2429
2430   TH1F *fHistPtITSTPCselCocktail = MakeCocktail(fHistPtITSTPCselP,
2431                                                 fHistPtITSTPCselPfromStrange,
2432                                                 fHistPtITSTPCselS,
2433                                                 fHistPtITSTPCselSfromStrange,
2434                                                 fHistPtITSTPCselSfromMat,
2435                                                 weightStrange,
2436                                                 weightMat,
2437                                                 "fHistPtITSTPCselCocktail");
2438
2439   TH1F *fHistPtITSTPCselPCocktail = CorrectToP(fHistPtITSTPCselCocktail,
2440                                                fHistPtITSTPCselSfromStrange,
2441                                                fHistPtITSTPCselSfromMat,
2442                                                weightStrange,
2443                                                weightMat,
2444                                                "fHistPtITSTPCselPCocktail");
2445
2446   TH1F *fHistPtITSTPCallPCocktail = CorrectToPnocut(fHistPtITSTPCselPCocktail,
2447                                                     fHistPtITSTPCeffselP,
2448                                                     "fHistPtITSTPCallPCocktail");
2449
2450
2451   TH1F *fHistPtTPCInAccCocktail = MakeCocktail(fHistPtTPCInAccP,
2452                                                 fHistPtTPCInAccPfromStrange,
2453                                                 fHistPtTPCInAccS,
2454                                                 fHistPtTPCInAccSfromStrange,
2455                                                 fHistPtTPCInAccSfromMat,
2456                                                 weightStrange,
2457                                                weightMat,
2458                                                "fHistPtTPCInAccCocktail");
2459
2460   TH1F *fHistPtTPCInAccPCocktail = CorrectToP(fHistPtTPCInAccCocktail,
2461                                               fHistPtTPCInAccSfromStrange,
2462                                               fHistPtTPCInAccSfromMat,
2463                                               weightStrange,
2464                                               weightMat,
2465                                               "fHistPtTPCInAccPCocktail");
2466
2467   TH1F *fHistPtTPCallPCocktail = CorrectToPnocut(fHistPtTPCInAccPCocktail,
2468                                                  fHistPtTPCeffInAccP,
2469                                                  "fHistPtTPCallPCocktail");
2470
2471
2472
2473   TLegend *l2=new TLegend(0.5,0.5,0.9,0.9);
2474   TCanvas *c2 = new TCanvas("c2","c2");
2475   c2->Divide(2,1);
2476   c2->cd(1);
2477   fHistPtITSTPCselCocktail->SetLineColor(4);
2478   l2->AddEntry(fHistPtITSTPCselCocktail,"all, with dca cut","l");
2479   fHistPtITSTPCselCocktail->Draw();
2480   fHistPtITSTPCselPCocktail->SetLineColor(7);
2481   l2->AddEntry(fHistPtITSTPCselPCocktail,"primaries, with dca cut","l");
2482   fHistPtITSTPCselPCocktail->Draw("same");
2483   fHistPtITSTPCallPCocktail->SetLineColor(6);
2484   l2->AddEntry(fHistPtITSTPCallPCocktail,"primaries, w/o dca cut","l");
2485   fHistPtITSTPCallPCocktail->Draw("same");
2486   l2->Draw();
2487   c2->cd(2);
2488   fHistPtTPCInAccCocktail->SetLineColor(4);
2489   fHistPtTPCInAccCocktail->Draw();
2490   fHistPtTPCInAccPCocktail->SetLineColor(7);
2491   fHistPtTPCInAccPCocktail->Draw("same");
2492   fHistPtTPCallPCocktail->SetLineColor(6);
2493   fHistPtTPCallPCocktail->Draw("same");
2494
2495
2496   // systematic from secondaries
2497   weightStrange=1.3;
2498   weightMat=1.0;
2499   TH1F *fHistPtITSTPCselPCocktail1 = CorrectToP(fHistPtITSTPCselCocktail,
2500                                                fHistPtITSTPCselSfromStrange,
2501                                                fHistPtITSTPCselSfromMat,
2502                                                weightStrange,
2503                                                weightMat,
2504                                                "fHistPtITSTPCselPCocktail1");
2505   TH1F *fHistPtITSTPCallPCocktail1 = CorrectToPnocut(fHistPtITSTPCselPCocktail1,
2506                                                     fHistPtITSTPCeffselP,
2507                                                     "fHistPtITSTPCallPCocktail1");
2508   weightStrange=0.7;
2509   weightMat=1.0;
2510   TH1F *fHistPtITSTPCselPCocktail2 = CorrectToP(fHistPtITSTPCselCocktail,
2511                                                fHistPtITSTPCselSfromStrange,
2512                                                fHistPtITSTPCselSfromMat,
2513                                                weightStrange,
2514                                                weightMat,
2515                                                "fHistPtITSTPCselPCocktail2");
2516   TH1F *fHistPtITSTPCallPCocktail2 = CorrectToPnocut(fHistPtITSTPCselPCocktail2,
2517                                                     fHistPtITSTPCeffselP,
2518                                                     "fHistPtITSTPCallPCocktail2");
2519   weightStrange=1.0;
2520   weightMat=1.1;
2521   TH1F *fHistPtITSTPCselPCocktail3 = CorrectToP(fHistPtITSTPCselCocktail,
2522                                                fHistPtITSTPCselSfromStrange,
2523                                                fHistPtITSTPCselSfromMat,
2524                                                weightStrange,
2525                                                weightMat,
2526                                                "fHistPtITSTPCselPCocktail3");
2527   TH1F *fHistPtITSTPCallPCocktail3 = CorrectToPnocut(fHistPtITSTPCselPCocktail3,
2528                                                     fHistPtITSTPCeffselP,
2529                                                     "fHistPtITSTPCallPCocktail3");
2530   weightStrange=1.0;
2531   weightMat=0.9;
2532   TH1F *fHistPtITSTPCselPCocktail4 = CorrectToP(fHistPtITSTPCselCocktail,
2533                                                fHistPtITSTPCselSfromStrange,
2534                                                fHistPtITSTPCselSfromMat,
2535                                                weightStrange,
2536                                                weightMat,
2537                                                "fHistPtITSTPCselPCocktail4");
2538   TH1F *fHistPtITSTPCallPCocktail4 = CorrectToPnocut(fHistPtITSTPCselPCocktail4,
2539                                                     fHistPtITSTPCeffselP,
2540                                                     "fHistPtITSTPCallPCocktail4");
2541   weightStrange=1.3;
2542   weightMat=1.1;
2543   TH1F *fHistPtITSTPCselPCocktail5 = CorrectToP(fHistPtITSTPCselCocktail,
2544                                                fHistPtITSTPCselSfromStrange,
2545                                                fHistPtITSTPCselSfromMat,
2546                                                weightStrange,
2547                                                weightMat,
2548                                                "fHistPtITSTPCselPCocktail5");
2549   TH1F *fHistPtITSTPCallPCocktail5 = CorrectToPnocut(fHistPtITSTPCselPCocktail5,
2550                                                     fHistPtITSTPCeffselP,
2551                                                     "fHistPtITSTPCallPCocktail5");
2552   weightStrange=0.7;
2553   weightMat=0.9;
2554   TH1F *fHistPtITSTPCselPCocktail6 = CorrectToP(fHistPtITSTPCselCocktail,
2555                                                fHistPtITSTPCselSfromStrange,
2556                                                fHistPtITSTPCselSfromMat,
2557                                                weightStrange,
2558                                                weightMat,
2559                                                "fHistPtITSTPCselPCocktail6");
2560   TH1F *fHistPtITSTPCallPCocktail6 = CorrectToPnocut(fHistPtITSTPCselPCocktail6,
2561                                                     fHistPtITSTPCeffselP,
2562                                                     "fHistPtITSTPCallPCocktail6");
2563
2564   weightStrange=1.3;
2565   weightMat=1.0;
2566   TH1F *fHistPtTPCInAccPCocktail1 = CorrectToP(fHistPtTPCInAccCocktail,
2567                                                fHistPtTPCInAccSfromStrange,
2568                                                fHistPtTPCInAccSfromMat,
2569                                                weightStrange,
2570                                                weightMat,
2571                                                "fHistPtTPCInAccPCocktail1");
2572   TH1F *fHistPtTPCallPCocktail1 = CorrectToPnocut(fHistPtTPCInAccPCocktail1,
2573                                                     fHistPtTPCeffInAccP,
2574                                                     "fHistPtTPCallPCocktail1");
2575   weightStrange=0.7;
2576   weightMat=1.0;
2577   TH1F *fHistPtTPCInAccPCocktail2 = CorrectToP(fHistPtTPCInAccCocktail,
2578                                                fHistPtTPCInAccSfromStrange,
2579                                                fHistPtTPCInAccSfromMat,
2580                                                weightStrange,
2581                                                weightMat,
2582                                                "fHistPtTPCInAccPCocktail2");
2583   TH1F *fHistPtTPCallPCocktail2 = CorrectToPnocut(fHistPtTPCInAccPCocktail2,
2584                                                     fHistPtTPCeffInAccP,
2585                                                     "fHistPtTPCallPCocktail2");
2586   weightStrange=1.0;
2587   weightMat=1.1;
2588   TH1F *fHistPtTPCInAccPCocktail3 = CorrectToP(fHistPtTPCInAccCocktail,
2589                                                fHistPtTPCInAccSfromStrange,
2590                                                fHistPtTPCInAccSfromMat,
2591                                                weightStrange,
2592                                                weightMat,
2593                                                "fHistPtTPCInAccPCocktail3");
2594   TH1F *fHistPtTPCallPCocktail3 = CorrectToPnocut(fHistPtTPCInAccPCocktail3,
2595                                                     fHistPtTPCeffInAccP,
2596                                                     "fHistPtTPCallPCocktail3");
2597   weightStrange=1.0;
2598   weightMat=0.9;
2599   TH1F *fHistPtTPCInAccPCocktail4 = CorrectToP(fHistPtTPCInAccCocktail,
2600                                                fHistPtTPCInAccSfromStrange,
2601                                                fHistPtTPCInAccSfromMat,
2602                                                weightStrange,
2603                                                weightMat,
2604                                                "fHistPtTPCInAccPCocktail4");
2605   TH1F *fHistPtTPCallPCocktail4 = CorrectToPnocut(fHistPtTPCInAccPCocktail4,
2606                                                     fHistPtTPCeffInAccP,
2607                                                     "fHistPtTPCallPCocktail4");
2608   weightStrange=1.3;
2609   weightMat=1.1;
2610   TH1F *fHistPtTPCInAccPCocktail5 = CorrectToP(fHistPtTPCInAccCocktail,
2611                                                fHistPtTPCInAccSfromStrange,
2612                                                fHistPtTPCInAccSfromMat,
2613                                                weightStrange,
2614                                                weightMat,
2615                                                "fHistPtTPCInAccPCocktail5");
2616   TH1F *fHistPtTPCallPCocktail5 = CorrectToPnocut(fHistPtTPCInAccPCocktail5,
2617                                                     fHistPtTPCeffInAccP,
2618                                                     "fHistPtTPCallPCocktail5");
2619   weightStrange=0.7;
2620   weightMat=0.9;
2621   TH1F *fHistPtTPCInAccPCocktail6 = CorrectToP(fHistPtTPCInAccCocktail,
2622                                                fHistPtTPCInAccSfromStrange,
2623                                                fHistPtTPCInAccSfromMat,
2624                                                weightStrange,
2625                                                weightMat,
2626                                                "fHistPtTPCInAccPCocktail6");
2627   TH1F *fHistPtTPCallPCocktail6 = CorrectToPnocut(fHistPtTPCInAccPCocktail6,
2628                                                     fHistPtTPCeffInAccP,
2629                                                     "fHistPtTPCallPCocktail6");
2630
2631   TLegend *l3=new TLegend(0.5,0.5,0.9,0.9);
2632   TCanvas *c3 = new TCanvas("c3","c3");
2633   c3->Divide(2,1);
2634   c3->cd(1);
2635   l3->AddEntry(fHistPtITSTPCallPCocktail,"central","l");
2636   fHistPtITSTPCallPCocktail->Draw();
2637   l3->AddEntry(fHistPtITSTPCallPCocktail1,"strange #pm 30%","l");
2638   fHistPtITSTPCallPCocktail1->SetLineColor(1);
2639   fHistPtITSTPCallPCocktail2->SetLineColor(1);
2640   fHistPtITSTPCallPCocktail1->Draw("same");
2641   fHistPtITSTPCallPCocktail2->Draw("same");
2642   l3->AddEntry(fHistPtITSTPCallPCocktail3,"material #pm 10%","l");
2643   fHistPtITSTPCallPCocktail3->SetLineColor(8);
2644   fHistPtITSTPCallPCocktail4->SetLineColor(8);
2645   fHistPtITSTPCallPCocktail3->Draw("same");
2646   fHistPtITSTPCallPCocktail4->Draw("same");
2647   l3->AddEntry(fHistPtITSTPCallPCocktail5,"strange #pm 30% & material #pm 10%","l");
2648   fHistPtITSTPCallPCocktail5->SetLineColor(4);
2649   fHistPtITSTPCallPCocktail6->SetLineColor(4);
2650   fHistPtITSTPCallPCocktail5->Draw("same");
2651   fHistPtITSTPCallPCocktail6->Draw("same");
2652   l3->Draw();
2653   c3->cd(2);
2654   fHistPtTPCallPCocktail->Draw();
2655   fHistPtTPCallPCocktail1->SetLineColor(1);
2656   fHistPtTPCallPCocktail2->SetLineColor(1);
2657   fHistPtTPCallPCocktail1->Draw("same");
2658   fHistPtTPCallPCocktail2->Draw("same");
2659   fHistPtTPCallPCocktail3->SetLineColor(8);
2660   fHistPtTPCallPCocktail4->SetLineColor(8);
2661   fHistPtTPCallPCocktail3->Draw("same");
2662   fHistPtTPCallPCocktail4->Draw("same");
2663   fHistPtTPCallPCocktail5->SetLineColor(4);
2664   fHistPtTPCallPCocktail6->SetLineColor(4);
2665   fHistPtTPCallPCocktail5->Draw("same");
2666   fHistPtTPCallPCocktail6->Draw("same");
2667
2668   /*
2669   TCanvas *c4 = new TCanvas("c4","c4");
2670   c4->Divide(2,1);
2671   c4->cd(1);
2672   fHistPtITSTPCallPCocktail2->Add(fHistPtITSTPCallPCocktail,-1);
2673   fHistPtITSTPCallPCocktail2->Divide(fHistPtITSTPCallPCocktail);
2674   fHistPtITSTPCallPCocktail2->Draw();
2675   fHistPtITSTPCallPCocktail4->Add(fHistPtITSTPCallPCocktail,-1);
2676   fHistPtITSTPCallPCocktail4->Divide(fHistPtITSTPCallPCocktail);
2677   fHistPtITSTPCallPCocktail4->Draw("same");
2678   fHistPtITSTPCallPCocktail6->Add(fHistPtITSTPCallPCocktail,-1);
2679   fHistPtITSTPCallPCocktail6->Divide(fHistPtITSTPCallPCocktail);
2680   fHistPtITSTPCallPCocktail6->Draw("same");
2681   l3->Draw();
2682   c4->cd(2);
2683   fHistPtTPCallPCocktail2->Add(fHistPtTPCallPCocktail,-1);
2684   fHistPtTPCallPCocktail2->Divide(fHistPtTPCallPCocktail);
2685   fHistPtTPCallPCocktail2->Draw();
2686   fHistPtTPCallPCocktail4->Add(fHistPtTPCallPCocktail,-1);
2687   fHistPtTPCallPCocktail4->Divide(fHistPtTPCallPCocktail);
2688   fHistPtTPCallPCocktail4->Draw("same");
2689   fHistPtTPCallPCocktail6->Add(fHistPtTPCallPCocktail,-1);
2690   fHistPtTPCallPCocktail6->Divide(fHistPtTPCallPCocktail);
2691   fHistPtTPCallPCocktail6->Draw("same");
2692   */
2693
2694   return;
2695 }
2696 //-------------------------------------------------------------
2697 void NormalizePtHist(TH1F *h,Float_t n) {
2698
2699   for(Int_t i=1; i<=h->GetNbinsX(); i++) {
2700     if(h->GetBinContent(i)) {
2701       h->SetBinContent(i,h->GetBinContent(i)/h->GetBinWidth(i));
2702       h->SetBinError(i,h->GetBinError(i)/h->GetBinWidth(i));
2703     }
2704   }
2705   h->Scale(1./n);
2706
2707   return;
2708 }
2709 //----------------------------------------------------------------------
2710 TH1F *MakeCocktail(TH1F *fHistPtselP,
2711                    TH1F *fHistPtselPfromStrange,
2712                    TH1F *fHistPtselS,
2713                    TH1F *fHistPtselSfromStrange,
2714                    TH1F *fHistPtselSfromMat,
2715                    Float_t weightStrange,
2716                    Float_t weightMat,TString name) {
2717
2718   // build histogram with yield passing cut
2719   TH1F *fHistPtselCocktail = (TH1F*)fHistPtselP->Clone(name.Data());
2720   fHistPtselCocktail->Add(fHistPtselS);
2721   fHistPtselCocktail->Add(fHistPtselPfromStrange,weightStrange-1.);
2722   fHistPtselCocktail->Add(fHistPtselSfromStrange,weightStrange-1.);
2723   fHistPtselCocktail->Add(fHistPtselSfromMat,weightMat-1.);
2724
2725
2726   return fHistPtselCocktail;
2727 }
2728 //----------------------------------------------------------------------
2729 TH1F *CorrectToP(TH1F *fHistPtselCocktail,
2730                 TH1F *fHistPtselSfromStrange,
2731                 TH1F *fHistPtselSfromMat,
2732                 Float_t weightStrange,
2733                 Float_t weightMat,TString name) {
2734
2735
2736   // build histogram with yield of primaries passing cut
2737   TH1F* fHistPtselPCocktail = (TH1F*)fHistPtselCocktail->Clone(name.Data());
2738   fHistPtselPCocktail->Add(fHistPtselSfromStrange,-weightStrange);
2739   fHistPtselPCocktail->Add(fHistPtselSfromMat,-weightMat);
2740
2741   return fHistPtselPCocktail;
2742 }
2743 //----------------------------------------------------------------------
2744 TH1F *CorrectToPnocut(TH1F *fHistPtselPCocktail,
2745                      TH1F *fHistPteffselP,TString name) {
2746
2747   // build histogram with yield of primaries without cut
2748   TH1F *fHistPtallPCocktail = (TH1F*)fHistPtselPCocktail->Clone(name.Data());
2749   //printf("%f\n",fHistPtallPCocktail->GetBinContent(6));
2750   fHistPtallPCocktail->Divide(fHistPteffselP);
2751   //printf("%f\n",fHistPtallPCocktail->GetBinContent(6));
2752
2753   return fHistPtallPCocktail;
2754 }
2755 //----------------------------------------------------------------------
2756 void CompareTPCPt() {
2757
2758   TFile *f_tpcrefit= new TFile("ITS.Performance_104892pass2_etale05.root");
2759
2760   TList *list=(TList*)f_tpcrefit->Get("cOutputITS");
2761
2762   TH1F *fHistNEvents = (TH1F*)list->FindObject("fHistNEvents");
2763   Float_t nEventsSelWithVertex = fHistNEvents->GetBinContent(5);
2764
2765   TH1F *fHistPtTPCInAcc = (TH1F*)list->FindObject("fHistPtTPCInAcc");
2766   NormalizePtHist(fHistPtTPCInAcc,nEventsSelWithVertex);
2767   TH1F *fHistPtTPCInAccNoTRDout = (TH1F*)list->FindObject("fHistPtTPCInAccNoTRDout");
2768   NormalizePtHist(fHistPtTPCInAccNoTRDout,nEventsSelWithVertex);
2769   TH1F *fHistPtTPCInAccNoTOFout = (TH1F*)list->FindObject("fHistPtTPCInAccNoTOFout");
2770   NormalizePtHist(fHistPtTPCInAccNoTOFout,nEventsSelWithVertex);
2771   TH1F *fHistPtTPCInAccWithPtTPCAtVtx = (TH1F*)list->FindObject("fHistPtTPCInAccWithPtTPCAtVtx");
2772   NormalizePtHist(fHistPtTPCInAccWithPtTPCAtVtx,nEventsSelWithVertex);
2773   TH1F *fHistPtTPCInAccWithPtTPCAtInnerWall = (TH1F*)list->FindObject("fHistPtTPCInAccWithPtTPCAtInnerWall");
2774   NormalizePtHist(fHistPtTPCInAccWithPtTPCAtInnerWall,nEventsSelWithVertex);
2775
2776
2777   TFile *f_notpcrefit= new TFile("ITS.Performance_104892pass3_etale05.root");
2778
2779   TList *list=(TList*)f_notpcrefit->Get("cOutputITS");
2780
2781   TH1F *fHistNEventsNoRefit = (TH1F*)list->FindObject("fHistNEvents");
2782   nEventsSelWithVertex = fHistNEventsNoRefit->GetBinContent(5);
2783
2784   TH1F *fHistPtTPCInAccNoRefit = (TH1F*)list->FindObject("fHistPtTPCInAcc");
2785   NormalizePtHist(fHistPtTPCInAccNoRefit,nEventsSelWithVertex);
2786   TH1F *fHistPtTPCInAccNoTRDoutNoRefit = (TH1F*)list->FindObject("fHistPtTPCInAccNoTRDout");
2787   NormalizePtHist(fHistPtTPCInAccNoTRDoutNoRefit,nEventsSelWithVertex);
2788   TH1F *fHistPtTPCInAccNoTOFoutNoRefit = (TH1F*)list->FindObject("fHistPtTPCInAccNoTOFout");
2789   NormalizePtHist(fHistPtTPCInAccNoTOFoutNoRefit,nEventsSelWithVertex);
2790   TH1F *fHistPtTPCInAccWithPtTPCAtVtxNoRefit = (TH1F*)list->FindObject("fHistPtTPCInAccWithPtTPCAtVtx");
2791   NormalizePtHist(fHistPtTPCInAccWithPtTPCAtVtxNoRefit,nEventsSelWithVertex);
2792   TH1F *fHistPtTPCInAccWithPtTPCAtInnerWallNoRefit = (TH1F*)list->FindObject("fHistPtTPCInAccWithPtTPCAtInnerWall");
2793   NormalizePtHist(fHistPtTPCInAccWithPtTPCAtInnerWallNoRefit,nEventsSelWithVertex);
2794
2795
2796
2797   TLegend *l1 = new TLegend(0.5,0.5,0.9,0.9);
2798   TCanvas *c1=new TCanvas("c1","c1",0,0,1000,600);
2799   c1->Divide(2,1);
2800   c1->cd(1);
2801   fHistPtTPCInAcc->SetMarkerStyle(20);
2802   l1->AddEntry(fHistPtTPCInAcc,"p_{t} measurement:","");
2803   l1->AddEntry(fHistPtTPCInAcc,"at vtx, from main params","p");
2804   fHistPtTPCInAcc->Draw();
2805   fHistPtTPCInAccWithPtTPCAtVtx->SetMarkerStyle(21);
2806   fHistPtTPCInAccWithPtTPCAtVtx->SetMarkerColor(2);
2807   l1->AddEntry(fHistPtTPCInAccWithPtTPCAtVtx,"at vtx, from TPC params","p");
2808   fHistPtTPCInAccWithPtTPCAtVtx->Draw("same");
2809   fHistPtTPCInAccWithPtTPCAtInnerWall->SetMarkerStyle(25);
2810   fHistPtTPCInAccWithPtTPCAtInnerWall->SetMarkerColor(2);
2811   l1->AddEntry(fHistPtTPCInAccWithPtTPCAtInnerWall,"at r=80cm, from TPC params","p");
2812   fHistPtTPCInAccWithPtTPCAtInnerWall->Draw("same");
2813   fHistPtTPCInAccNoTOFout->SetMarkerStyle(23);
2814   fHistPtTPCInAccNoTOFout->SetMarkerColor(3);
2815   fHistPtTPCInAccNoTOFout->Draw("same");
2816   fHistPtTPCInAccNoTRDout->SetMarkerStyle(24);
2817   fHistPtTPCInAccNoTRDout->SetMarkerColor(4);
2818   fHistPtTPCInAccNoTRDout->Draw("same");
2819   l1->Draw();
2820   c1->cd(2);
2821   fHistPtTPCInAccNoRefit->SetMarkerStyle(20);
2822   fHistPtTPCInAccNoRefit->Draw();
2823   fHistPtTPCInAccWithPtTPCAtVtxNoRefit->SetMarkerStyle(21);
2824   fHistPtTPCInAccWithPtTPCAtVtxNoRefit->SetMarkerColor(2);
2825   fHistPtTPCInAccWithPtTPCAtVtxNoRefit->Draw("same");
2826   fHistPtTPCInAccWithPtTPCAtInnerWallNoRefit->SetMarkerStyle(25);
2827   fHistPtTPCInAccWithPtTPCAtInnerWallNoRefit->SetMarkerColor(2);
2828   fHistPtTPCInAccWithPtTPCAtInnerWallNoRefit->Draw("same");
2829   fHistPtTPCInAccNoTOFoutNoRefit->SetMarkerStyle(23);
2830   fHistPtTPCInAccNoTOFoutNoRefit->SetMarkerColor(3);
2831   fHistPtTPCInAccNoTOFoutNoRefit->Draw("same");
2832   fHistPtTPCInAccNoTRDoutNoRefit->SetMarkerStyle(24);
2833   fHistPtTPCInAccNoTRDoutNoRefit->SetMarkerColor(4);
2834   fHistPtTPCInAccNoTRDoutNoRefit->Draw("same");
2835   //l1->Draw();
2836
2837   return;
2838 }
2839
2840 TH1F*  gHistTemplateStrange;
2841 TH1F*  gHistTemplatePandMat;
2842 Float_t gd0min=0.15;
2843 Float_t gd0max=1.5;
2844
2845
2846 Double_t FitMCTemplate(Double_t *x, Double_t *par) {
2847    Double_t xx = x[0];
2848    if(TMath::Abs(xx)<gd0min) return 0;
2849    Int_t bin = gHistTemplateStrange->GetXaxis()->FindBin(xx);
2850    Double_t pandmat = par[0]*gHistTemplatePandMat->GetBinContent(bin);
2851    Double_t strange = par[1]*gHistTemplateStrange->GetBinContent(bin);
2852    return strange + pandmat;
2853 }
2854
2855 void FitImpPar_rphi() {
2856
2857   Int_t rebin=1;
2858
2859   TFile *fMC= new TFile("ITS.Performance_lhc10a8a12_trkvtx_noTPCdca_120310.root");
2860
2861   TList *list=(TList*)fMC->Get("cOutputITS");
2862   TH1F *fHistd0rphiITSMIoneSPDInAccPMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP150200");
2863   TH1F *fHistd0rphiITSMIoneSPDInAccSMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS150200");
2864   TH1F *fHistd0rphiITSMIoneSPDInAccSfromMatMC = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS150200fromMat");
2865   fHistd0rphiITSMIoneSPDInAccPMC->Rebin(rebin);
2866   fHistd0rphiITSMIoneSPDInAccSMC->Rebin(rebin);
2867   fHistd0rphiITSMIoneSPDInAccSfromMatMC->Rebin(rebin);
2868
2869   TH1F *fHistd0rphiITSMIoneSPDInAccSfromStrangeMC=(TH1F*)fHistd0rphiITSMIoneSPDInAccSMC->Clone("fHistd0rphiITSMIoneSPDInAccSfromStrangeMC");
2870   fHistd0rphiITSMIoneSPDInAccSfromStrangeMC->Add(fHistd0rphiITSMIoneSPDInAccSfromMatMC,-1.);
2871   TH1F *fHistd0rphiITSMIoneSPDInAccMC=(TH1F*)fHistd0rphiITSMIoneSPDInAccPMC->Clone("fHistd0rphiITSMIoneSPDInAccMC");
2872   fHistd0rphiITSMIoneSPDInAccMC->Add(fHistd0rphiITSMIoneSPDInAccSMC);
2873   //fHistd0rphiITSMIoneSPDInAccMC->Scale(1./fHistd0rphiITSMIoneSPDInAccMC->GetEntries());
2874   TH1F *fHistd0rphiITSMIoneSPDInAccPandMatMC=(TH1F*)fHistd0rphiITSMIoneSPDInAccPMC->Clone("fHistd0rphiITSMIoneSPDInAccPandMatMC");
2875   fHistd0rphiITSMIoneSPDInAccPandMatMC->Add(fHistd0rphiITSMIoneSPDInAccSfromMatMC);
2876
2877   // templates
2878   gHistTemplateStrange = (TH1F*)fHistd0rphiITSMIoneSPDInAccSfromStrangeMC->Clone("gHistTemplateStrange");
2879   gHistTemplatePandMat = (TH1F*)fHistd0rphiITSMIoneSPDInAccPandMatMC->Clone("gHistTemplatePandMat");
2880
2881   
2882
2883
2884   TFile *f= new TFile("ITS.Performance_104065_104892_pass4_trkvtx_noTPCdca.root");
2885   //TFile *f= new TFile("ITS.Performance_lhc10a8_300k_trkvtx_noTPCdca.root");
2886
2887   TList *list=(TList*)f->Get("cOutputITS");
2888   TH1F *fHistd0rphiITSMIoneSPDInAccP = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccP150200");
2889   TH1F *fHistd0rphiITSMIoneSPDInAccS = (TH1F*)list->FindObject("fHistd0rphiITSMIoneSPDInAccS150200");
2890   fHistd0rphiITSMIoneSPDInAccP->Rebin(rebin);
2891   fHistd0rphiITSMIoneSPDInAccS->Rebin(rebin);
2892
2893   TH1F *fHistd0rphiITSMIoneSPDInAcc=(TH1F*)fHistd0rphiITSMIoneSPDInAccP->Clone("fHistd0rphiITSMIoneSPDInAcc");
2894   fHistd0rphiITSMIoneSPDInAcc->Add(fHistd0rphiITSMIoneSPDInAccS);
2895
2896
2897   TF1 *fitMCtemplate = new TF1("fitMCtemplate",FitMCTemplate,-gd0max,+gd0max,2);
2898
2899   TH1F* fHistd0rphiITSMIoneSPDInAccCopy = (TH1F*)fHistd0rphiITSMIoneSPDInAcc->Clone("fHistd0rphiITSMIoneSPDInAccCopy");
2900   for(Int_t ib=1;ib<=fHistd0rphiITSMIoneSPDInAccCopy->GetNbinsX();ib++) {
2901     if(TMath::Abs(fHistd0rphiITSMIoneSPDInAccCopy->GetBinCenter(ib))<gd0min) {
2902       fHistd0rphiITSMIoneSPDInAccCopy->SetBinContent(ib,0);
2903       fHistd0rphiITSMIoneSPDInAccCopy->SetBinError(ib,0);
2904     }
2905   }
2906   fHistd0rphiITSMIoneSPDInAccCopy->Fit("fitMCtemplate","RL");
2907
2908
2909   fHistd0rphiITSMIoneSPDInAccPandMatMC->Scale(fitMCtemplate->GetParameter(0));
2910   fHistd0rphiITSMIoneSPDInAccSfromStrangeMC->Scale(fitMCtemplate->GetParameter(1));
2911   TH1F *fHistd0rphiITSMIoneSPDInAccMCFit=(TH1F*)fHistd0rphiITSMIoneSPDInAccPandMatMC->Clone("fHistd0rphiITSMIoneSPDInAccMCFit");
2912   fHistd0rphiITSMIoneSPDInAccMCFit->Add(fHistd0rphiITSMIoneSPDInAccSfromStrangeMC);
2913
2914   TCanvas *c1 = new TCanvas("c1","c1",1000,1000);
2915   c1->SetLogy();
2916   fHistd0rphiITSMIoneSPDInAccCopy->SetMinimum(1);
2917   fHistd0rphiITSMIoneSPDInAccCopy->SetMaximum(2*fHistd0rphiITSMIoneSPDInAcc->GetMaximum());
2918   fHistd0rphiITSMIoneSPDInAcc->SetMinimum(1);
2919   fHistd0rphiITSMIoneSPDInAccMC->SetMinimum(1);
2920   fHistd0rphiITSMIoneSPDInAccSfromStrangeMC->SetMinimum(1);
2921   fHistd0rphiITSMIoneSPDInAccPandMatMC->SetMinimum(1);
2922   fHistd0rphiITSMIoneSPDInAccCopy->SetLineColor(4);
2923   fHistd0rphiITSMIoneSPDInAccCopy->Draw();
2924   fHistd0rphiITSMIoneSPDInAcc->SetLineColor(4);
2925   fHistd0rphiITSMIoneSPDInAcc->Draw("same");
2926   fHistd0rphiITSMIoneSPDInAccMCFit->SetLineColor(2);
2927   fHistd0rphiITSMIoneSPDInAccMCFit->Draw("same");
2928   fHistd0rphiITSMIoneSPDInAccSfromStrangeMC->SetLineColor(3);
2929   fHistd0rphiITSMIoneSPDInAccSfromStrangeMC->Draw("same");
2930   fHistd0rphiITSMIoneSPDInAccPandMatMC->SetLineColor(15);
2931   fHistd0rphiITSMIoneSPDInAccPandMatMC->Draw("same");
2932
2933
2934
2935   TCanvas *c3 = new TCanvas("c3","c3");
2936   c3->SetLogx();
2937   c3->SetGridx();
2938   c3->SetGridy();
2939   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};
2940
2941   Float_t fracSfromStrange[15],fracSfromStrangeMC[15],fracSfromMatMC[15],fracS[15],fracSMC[15],fracSRatio[15];
2942   for(Int_t i=0;i<15;i++) {
2943     Int_t bin1=fHistd0rphiITSMIoneSPDInAccPandMatMC->FindBin(-d0cut[i]);
2944     Int_t bin2=fHistd0rphiITSMIoneSPDInAccPandMatMC->FindBin(+d0cut[i]);
2945     Float_t intDatacut=fHistd0rphiITSMIoneSPDInAcc->Integral(bin1,bin2);
2946     Float_t intMCcut=fHistd0rphiITSMIoneSPDInAccMC->Integral(bin1,bin2);
2947     Float_t intSfromStrangecut=fHistd0rphiITSMIoneSPDInAccSfromStrangeMC->Integral(bin1,bin2);
2948     Float_t intSfromMatcut=fHistd0rphiITSMIoneSPDInAccSfromMatMC->Integral(bin1,bin2);
2949     fracSfromStrange[i]=intSfromStrangecut/intDatacut;
2950     fracSfromStrangeMC[i]=intSfromStrangecut/fitMCtemplate->GetParameter(1)/intMCcut;
2951     fracSfromMatMC[i]=intSfromMatcut/intMCcut;
2952
2953     fracS[i]=fracSfromStrange[i]+fracSfromMatMC[i];
2954     fracSMC[i]=fracSfromStrangeMC[i]+fracSfromMatMC[i];
2955
2956     fracSRatio[i]=fracS[i]/fracSMC[i];
2957   }
2958   TGraph *gfracSfromStrange=new TGraph(15,d0cut,fracSfromStrange);
2959   gfracSfromStrange->SetMarkerColor(2);
2960   gfracSfromStrange->SetMarkerStyle(20);
2961   gfracSfromStrange->Draw("ap");
2962
2963   TGraph *gfracSfromStrangeMC=new TGraph(15,d0cut,fracSfromStrangeMC);
2964   gfracSfromStrangeMC->SetMarkerColor(1);
2965   gfracSfromStrangeMC->SetMarkerStyle(22);
2966   gfracSfromStrangeMC->Draw("p");
2967
2968   TGraph *gfracSfromMatMC=new TGraph(15,d0cut,fracSfromMatMC);
2969   gfracSfromMatMC->SetMarkerColor(4);
2970   gfracSfromMatMC->SetMarkerStyle(21);
2971   gfracSfromMatMC->Draw("p");
2972
2973   TGraph *gfracS=new TGraph(15,d0cut,fracS);
2974   gfracS->SetMarkerColor(2);
2975   gfracS->SetMarkerStyle(24);
2976   gfracS->Draw("p");
2977
2978   TGraph *gfracSMC=new TGraph(15,d0cut,fracSMC);
2979   gfracSMC->SetMarkerColor(1);
2980   gfracSMC->SetMarkerStyle(25);
2981   gfracSMC->Draw("p");
2982
2983
2984   TCanvas *c4 = new TCanvas("c4","c4");
2985   c4->SetLogx();
2986   c4->SetGridx();
2987   c4->SetGridy();
2988
2989   TGraph *gfracSRatio=new TGraph(15,d0cut,fracSRatio);
2990   gfracSRatio->SetMarkerColor(9);
2991   gfracSRatio->SetMarkerStyle(21);
2992   gfracSRatio->Draw("ap");
2993
2994
2995   return;
2996 }
2997 //-----------------------------------------------------------------------------
2998 void PlotEffVSErrors() {
2999
3000   TFile *f1= new TFile("eff_104892_pd_testnew1.root");
3001
3002   TH1F *fHistPtITSMI6InAcctestnew1 = (TH1F*)f1->Get("fHistPtITSMI6InAcc");
3003   TH1F *fHistPtITSMIge2InAcctestnew1 = (TH1F*)f1->Get("fHistPtITSMIge2InAcc");
3004   TH1F *fHistPtITSMISPDInAcctestnew1 = (TH1F*)f1->Get("fHistPtITSMISPDInAcc");
3005   TH1F *fHistPtITSMIoneSPDInAcctestnew1 = (TH1F*)f1->Get("fHistPtITSMIoneSPDInAcc");
3006
3007   fHistPtITSMI6InAcctestnew1->SetMarkerStyle(20);
3008   fHistPtITSMIge2InAcctestnew1->SetMarkerStyle(20);
3009   fHistPtITSMISPDInAcctestnew1->SetMarkerStyle(20);
3010   fHistPtITSMIoneSPDInAcctestnew1->SetMarkerStyle(20);
3011   fHistPtITSMI6InAcctestnew1->SetMarkerColor(2);
3012   fHistPtITSMIge2InAcctestnew1->SetMarkerColor(1);
3013   fHistPtITSMISPDInAcctestnew1->SetMarkerColor(9);
3014   fHistPtITSMIoneSPDInAcctestnew1->SetMarkerColor(15);
3015
3016
3017   TFile *f2= new TFile("eff_104892_pd_testnew2.root");
3018
3019   TH1F *fHistPtITSMI6InAcctestnew2 = (TH1F*)f2->Get("fHistPtITSMI6InAcc");
3020   TH1F *fHistPtITSMIge2InAcctestnew2 = (TH1F*)f2->Get("fHistPtITSMIge2InAcc");
3021   TH1F *fHistPtITSMISPDInAcctestnew2 = (TH1F*)f2->Get("fHistPtITSMISPDInAcc");
3022   TH1F *fHistPtITSMIoneSPDInAcctestnew2 = (TH1F*)f2->Get("fHistPtITSMIoneSPDInAcc");
3023
3024   fHistPtITSMI6InAcctestnew2->SetMarkerStyle(21);
3025   fHistPtITSMIge2InAcctestnew2->SetMarkerStyle(21);
3026   fHistPtITSMISPDInAcctestnew2->SetMarkerStyle(21);
3027   fHistPtITSMIoneSPDInAcctestnew2->SetMarkerStyle(21);
3028   fHistPtITSMI6InAcctestnew2->SetMarkerColor(2);
3029   fHistPtITSMIge2InAcctestnew2->SetMarkerColor(1);
3030   fHistPtITSMISPDInAcctestnew2->SetMarkerColor(9);
3031   fHistPtITSMIoneSPDInAcctestnew2->SetMarkerColor(15);
3032
3033
3034   TFile *f3= new TFile("eff_104892_pd_testnew3.root");
3035
3036   TH1F *fHistPtITSMI6InAcctestnew3 = (TH1F*)f3->Get("fHistPtITSMI6InAcc");
3037   TH1F *fHistPtITSMIge2InAcctestnew3 = (TH1F*)f3->Get("fHistPtITSMIge2InAcc");
3038   TH1F *fHistPtITSMISPDInAcctestnew3 = (TH1F*)f3->Get("fHistPtITSMISPDInAcc");
3039   TH1F *fHistPtITSMIoneSPDInAcctestnew3 = (TH1F*)f3->Get("fHistPtITSMIoneSPDInAcc");
3040
3041   fHistPtITSMI6InAcctestnew3->SetMarkerStyle(22);
3042   fHistPtITSMIge2InAcctestnew3->SetMarkerStyle(22);
3043   fHistPtITSMISPDInAcctestnew3->SetMarkerStyle(22);
3044   fHistPtITSMIoneSPDInAcctestnew3->SetMarkerStyle(22);
3045   fHistPtITSMI6InAcctestnew3->SetMarkerColor(2);
3046   fHistPtITSMIge2InAcctestnew3->SetMarkerColor(1);
3047   fHistPtITSMISPDInAcctestnew3->SetMarkerColor(9);
3048   fHistPtITSMIoneSPDInAcctestnew3->SetMarkerColor(15);
3049
3050
3051   TFile *f5= new TFile("eff_104892_pd_testnew5.root");
3052
3053   TH1F *fHistPtITSMI6InAcctestnew5 = (TH1F*)f5->Get("fHistPtITSMI6InAcc");
3054   TH1F *fHistPtITSMIge2InAcctestnew5 = (TH1F*)f5->Get("fHistPtITSMIge2InAcc");
3055   TH1F *fHistPtITSMISPDInAcctestnew5 = (TH1F*)f5->Get("fHistPtITSMISPDInAcc");
3056   TH1F *fHistPtITSMIoneSPDInAcctestnew5 = (TH1F*)f5->Get("fHistPtITSMIoneSPDInAcc");
3057
3058   fHistPtITSMI6InAcctestnew5->SetMarkerStyle(24);
3059   fHistPtITSMIge2InAcctestnew5->SetMarkerStyle(24);
3060   fHistPtITSMISPDInAcctestnew5->SetMarkerStyle(24);
3061   fHistPtITSMIoneSPDInAcctestnew5->SetMarkerStyle(24);
3062   fHistPtITSMI6InAcctestnew5->SetMarkerColor(2);
3063   fHistPtITSMIge2InAcctestnew5->SetMarkerColor(1);
3064   fHistPtITSMISPDInAcctestnew5->SetMarkerColor(9);
3065   fHistPtITSMIoneSPDInAcctestnew5->SetMarkerColor(15);
3066
3067
3068   TFile *f6= new TFile("eff_104892_pd_testnew6.root");
3069
3070   TH1F *fHistPtITSMI6InAcctestnew6 = (TH1F*)f6->Get("fHistPtITSMI6InAcc");
3071   TH1F *fHistPtITSMIge2InAcctestnew6 = (TH1F*)f6->Get("fHistPtITSMIge2InAcc");
3072   TH1F *fHistPtITSMISPDInAcctestnew6 = (TH1F*)f6->Get("fHistPtITSMISPDInAcc");
3073   TH1F *fHistPtITSMIoneSPDInAcctestnew6 = (TH1F*)f6->Get("fHistPtITSMIoneSPDInAcc");
3074
3075   fHistPtITSMI6InAcctestnew6->SetMarkerStyle(25);
3076   fHistPtITSMIge2InAcctestnew6->SetMarkerStyle(25);
3077   fHistPtITSMISPDInAcctestnew6->SetMarkerStyle(25);
3078   fHistPtITSMIoneSPDInAcctestnew6->SetMarkerStyle(25);
3079   fHistPtITSMI6InAcctestnew6->SetMarkerColor(2);
3080   fHistPtITSMIge2InAcctestnew6->SetMarkerColor(1);
3081   fHistPtITSMISPDInAcctestnew6->SetMarkerColor(9);
3082   fHistPtITSMIoneSPDInAcctestnew6->SetMarkerColor(15);
3083
3084
3085   TFile *f7= new TFile("eff_104892_pd_testnew7.root");
3086
3087   TH1F *fHistPtITSMI6InAcctestnew7 = (TH1F*)f7->Get("fHistPtITSMI6InAcc");
3088   TH1F *fHistPtITSMIge2InAcctestnew7 = (TH1F*)f7->Get("fHistPtITSMIge2InAcc");
3089   TH1F *fHistPtITSMISPDInAcctestnew7 = (TH1F*)f7->Get("fHistPtITSMISPDInAcc");
3090   TH1F *fHistPtITSMIoneSPDInAcctestnew7 = (TH1F*)f7->Get("fHistPtITSMIoneSPDInAcc");
3091
3092   fHistPtITSMI6InAcctestnew7->SetMarkerStyle(23);
3093   fHistPtITSMIge2InAcctestnew7->SetMarkerStyle(23);
3094   fHistPtITSMISPDInAcctestnew7->SetMarkerStyle(23);
3095   fHistPtITSMIoneSPDInAcctestnew7->SetMarkerStyle(23);
3096   fHistPtITSMI6InAcctestnew7->SetMarkerColor(2);
3097   fHistPtITSMIge2InAcctestnew7->SetMarkerColor(1);
3098   fHistPtITSMISPDInAcctestnew7->SetMarkerColor(9);
3099   fHistPtITSMIoneSPDInAcctestnew7->SetMarkerColor(15);
3100
3101
3102   TFile *f8= new TFile("eff_104892_pd_testnew8.root");
3103
3104   TH1F *fHistPtITSMI6InAcctestnew8 = (TH1F*)f8->Get("fHistPtITSMI6InAcc");
3105   TH1F *fHistPtITSMIge2InAcctestnew8 = (TH1F*)f8->Get("fHistPtITSMIge2InAcc");
3106   TH1F *fHistPtITSMISPDInAcctestnew8 = (TH1F*)f8->Get("fHistPtITSMISPDInAcc");
3107   TH1F *fHistPtITSMIoneSPDInAcctestnew8 = (TH1F*)f8->Get("fHistPtITSMIoneSPDInAcc");
3108
3109   fHistPtITSMI6InAcctestnew8->SetMarkerStyle(28);
3110   fHistPtITSMIge2InAcctestnew8->SetMarkerStyle(28);
3111   fHistPtITSMISPDInAcctestnew8->SetMarkerStyle(28);
3112   fHistPtITSMIoneSPDInAcctestnew8->SetMarkerStyle(28);
3113   fHistPtITSMI6InAcctestnew8->SetMarkerColor(2);
3114   fHistPtITSMIge2InAcctestnew8->SetMarkerColor(1);
3115   fHistPtITSMISPDInAcctestnew8->SetMarkerColor(9);
3116   fHistPtITSMIoneSPDInAcctestnew8->SetMarkerColor(15);
3117
3118
3119   TCanvas *c= new TCanvas("c","c");
3120   fHistPtITSMI6InAcctestnew1->Draw();
3121   fHistPtITSMIge2InAcctestnew1->Draw("same");
3122   fHistPtITSMISPDInAcctestnew1->Draw("same");
3123   fHistPtITSMIoneSPDInAcctestnew1->Draw("same");
3124   fHistPtITSMI6InAcctestnew2->Draw("same");
3125   fHistPtITSMIge2InAcctestnew2->Draw("same");
3126   fHistPtITSMISPDInAcctestnew2->Draw("same");
3127   fHistPtITSMIoneSPDInAcctestnew2->Draw("same");
3128   fHistPtITSMI6InAcctestnew3->Draw("same");
3129   fHistPtITSMIge2InAcctestnew3->Draw("same");
3130   fHistPtITSMISPDInAcctestnew3->Draw("same");
3131   fHistPtITSMIoneSPDInAcctestnew3->Draw("same");
3132   fHistPtITSMI6InAcctestnew5->Draw("same");
3133   fHistPtITSMIge2InAcctestnew5->Draw("same");
3134   fHistPtITSMISPDInAcctestnew5->Draw("same");
3135   fHistPtITSMIoneSPDInAcctestnew5->Draw("same");
3136   fHistPtITSMI6InAcctestnew6->Draw("same");
3137   fHistPtITSMIge2InAcctestnew6->Draw("same");
3138   fHistPtITSMISPDInAcctestnew6->Draw("same");
3139   fHistPtITSMIoneSPDInAcctestnew6->Draw("same");
3140   fHistPtITSMI6InAcctestnew7->Draw("same");
3141   fHistPtITSMIge2InAcctestnew7->Draw("same");
3142   fHistPtITSMISPDInAcctestnew7->Draw("same");
3143   fHistPtITSMIoneSPDInAcctestnew7->Draw("same");
3144   fHistPtITSMI6InAcctestnew8->Draw("same");
3145   fHistPtITSMIge2InAcctestnew8->Draw("same");
3146   fHistPtITSMISPDInAcctestnew8->Draw("same");
3147   fHistPtITSMIoneSPDInAcctestnew8->Draw("same");
3148
3149
3150   return;
3151 }
3152 //--------------------------------------------------------------------------
3153 void ReweightStrange(TH1F *hPt,TH1F* hPtPfromStrange,TH1F* hPtSfromStrange) {
3154
3155   for(Int_t i=1;i<=hPt->GetNbinsX();i++) {
3156     Double_t pt=hPt->GetBinCenter(i);
3157     Double_t weight=1.;
3158     Double_t weightP=1.;
3159     if(pt<.25) {
3160       weight=1.3;//1.;
3161     } else if(pt>=0.25 && pt<0.5) {
3162       weight=1.5;//1.3;
3163     } else if(pt>=0.5 && pt<1.1) {
3164       weight=1.7;//1.44;
3165     } else if(pt>=1.1) {
3166       weight=2;//1.7;
3167     }
3168     
3169     weightP*=1.3;
3170     hPt->SetBinContent(i,hPt->GetBinContent(i)+(weight-1.)*hPtSfromStrange->GetBinContent(i));
3171     if(hPtPfromStrange) hPt->SetBinContent(i,hPt->GetBinContent(i)+(weightP-1.)*hPtPfromStrange->GetBinContent(i));
3172   }
3173
3174   return;
3175 }
3176 //--------------------------------------------------------------------------
3177 void ITSTrackingTrending(Int_t firstrun=138870,Int_t lastrun=139510,
3178                          TString pathBeforeRun="/alice/sim/2012/LHC12c4/",
3179                          TString pathAfterRun="/QAresults.root",
3180                          //TString pathBeforeRun="/alice/data/2011/LHC11d/000",
3181                          //TString pathAfterRun="/ESDs/pass1/QAresults.root",
3182                          //TString pathBeforeRun="/alice/data/2010/LHC10b/000",
3183                          //TString pathAfterRun="/ESDs/pass2/QA9/QAresults.root",
3184                          TString pathAfterRun2="") 
3185 {
3186   //
3187   // Make ITS efficiency trending plots from QAresults.root files
3188   //
3189   gStyle->SetOptStat(0);
3190
3191   TGrid::Connect("alien://");
3192
3193   Float_t ioValues[100],ioErrors[100];
3194   Int_t index;
3195   Int_t nruns=lastrun-firstrun+1;
3196
3197
3198   TH1F *hFracSPD1 = new TH1F("hFracSPD1","SPD inner; run number; Fraction of HSs",nruns,firstrun-0.5,lastrun+0.5);
3199   hFracSPD1->SetLineColor(3);
3200   hFracSPD1->SetMarkerColor(3);
3201   hFracSPD1->SetMarkerStyle(20);
3202   TH1F *hFracSPD2 = new TH1F("hFracSPD2","SPD outer; run number; Fraction of HSs",nruns,firstrun-0.5,lastrun+0.5);
3203   hFracSPD2->SetLineColor(8);
3204   hFracSPD2->SetMarkerColor(8);
3205
3206
3207   TH1F *hEffge2Pt02 = new TH1F("hEffge2Pt02","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3208   hEffge2Pt02->SetLineWidth(2);
3209   hEffge2Pt02->SetLineColor(1);
3210   hEffge2Pt02->SetMarkerColor(1);
3211   hEffge2Pt02->SetMarkerStyle(20);
3212   TH1F *hEffge2Pt1 = new TH1F("hEffge2Pt1","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3213   hEffge2Pt1->SetLineWidth(2);
3214   hEffge2Pt1->SetLineColor(1);
3215   hEffge2Pt1->SetMarkerColor(1);
3216   hEffge2Pt1->SetMarkerStyle(20);
3217   TH1F *hEffge2Pt10 = new TH1F("hEffge2Pt10","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3218   hEffge2Pt10->SetLineWidth(2);
3219   hEffge2Pt10->SetLineColor(1);
3220   hEffge2Pt10->SetMarkerColor(1);
3221   hEffge2Pt10->SetMarkerStyle(20);
3222
3223   TH1F *hEff6Pt02 = new TH1F("hEff6Pt02","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3224   hEff6Pt02->SetLineWidth(2);
3225   hEff6Pt02->SetLineColor(2);
3226   hEff6Pt02->SetMarkerColor(2);
3227   hEff6Pt02->SetMarkerStyle(20);
3228   TH1F *hEff6Pt1 = new TH1F("hEff6Pt1","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3229   hEff6Pt1->SetLineWidth(2);
3230   hEff6Pt1->SetLineColor(2);
3231   hEff6Pt1->SetMarkerColor(2);
3232   hEff6Pt1->SetMarkerStyle(20);
3233   TH1F *hEff6Pt10 = new TH1F("hEff6Pt10","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3234   hEff6Pt10->SetLineWidth(2);
3235   hEff6Pt10->SetLineColor(2);
3236   hEff6Pt10->SetMarkerColor(2);
3237   hEff6Pt10->SetMarkerStyle(20);
3238
3239   TH1F *hEffSPDPt02 = new TH1F("hEffSPDPt02","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3240   hEffSPDPt02->SetLineWidth(2);
3241   hEffSPDPt02->SetLineColor(9);
3242   hEffSPDPt02->SetMarkerColor(9);
3243   hEffSPDPt02->SetMarkerStyle(20);
3244   TH1F *hEffSPDPt1 = new TH1F("hEffSPDPt1","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3245   hEffSPDPt1->SetLineWidth(2);
3246   hEffSPDPt1->SetLineColor(9);
3247   hEffSPDPt1->SetMarkerColor(9);
3248   hEffSPDPt1->SetMarkerStyle(20);
3249   TH1F *hEffSPDPt10 = new TH1F("hEffSPDPt10","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3250   hEffSPDPt10->SetLineWidth(2);
3251   hEffSPDPt10->SetLineColor(9);
3252   hEffSPDPt10->SetMarkerColor(9);
3253   hEffSPDPt10->SetMarkerStyle(20);
3254
3255   TH1F *hEffoneSPDPt02 = new TH1F("hEffoneSPDPt02","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3256   hEffoneSPDPt02->SetLineWidth(2);
3257   hEffoneSPDPt02->SetLineColor(15);
3258   hEffoneSPDPt02->SetMarkerColor(15);
3259   hEffoneSPDPt02->SetMarkerStyle(20);
3260   TH1F *hEffoneSPDPt1 = new TH1F("hEffoneSPDPt1","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3261   hEffoneSPDPt1->SetLineWidth(2);
3262   hEffoneSPDPt1->SetLineColor(15);
3263   hEffoneSPDPt1->SetMarkerColor(15);
3264   hEffoneSPDPt1->SetMarkerStyle(20);
3265   TH1F *hEffoneSPDPt10 = new TH1F("hEffoneSPDPt10","Efficiency; run number; TPC+ITS / TPC",nruns,firstrun-0.5,lastrun+0.5);
3266   hEffoneSPDPt10->SetLineWidth(2);
3267   hEffoneSPDPt10->SetLineColor(15);
3268   hEffoneSPDPt10->SetMarkerColor(15);
3269   hEffoneSPDPt10->SetMarkerStyle(20);
3270
3271   // loop on runs
3272   for(Int_t irun=firstrun; irun<=lastrun; irun++) {
3273     if(!KeepRun(irun)) continue;
3274
3275     TString path=pathBeforeRun;
3276     path+=irun;
3277     path.Append(pathAfterRun.Data());
3278     path.Prepend("alien://");
3279
3280     printf("%s\n",path.Data());
3281
3282     if(!PlotITSTrackingHists(path.Data(),ioValues,ioErrors)) {
3283       if(pathAfterRun2.Data()=="") continue;
3284       TString path2=pathBeforeRun;
3285       path2+=irun;
3286       path2.Append(pathAfterRun2.Data());
3287       path2.Prepend("alien://");
3288       if(!PlotITSTrackingHists(path2.Data(),ioValues,ioErrors)) continue;
3289     }
3290
3291     Int_t bin=hEffge2Pt1->FindBin(irun);
3292
3293
3294     // fill histos
3295     index=0;
3296     hFracSPD1->SetBinContent(bin,ioValues[index]);
3297     hFracSPD1->SetBinError(bin,.01);
3298     index=1;
3299     hFracSPD2->SetBinContent(bin,ioValues[index]);
3300     hFracSPD2->SetBinError(bin,.01);
3301
3302     index=2;
3303     hEffge2Pt02->SetBinContent(bin,ioValues[index]);
3304     hEffge2Pt02->SetBinError(bin,ioErrors[index]);
3305     index=3;
3306     hEffge2Pt1->SetBinContent(bin,ioValues[index]);
3307     hEffge2Pt1->SetBinError(bin,ioErrors[index]);
3308     index=4;
3309     hEffge2Pt10->SetBinContent(bin,ioValues[index]);
3310     hEffge2Pt10->SetBinError(bin,ioErrors[index]);
3311
3312     index=5;
3313     hEff6Pt02->SetBinContent(bin,ioValues[index]);
3314     hEff6Pt02->SetBinError(bin,ioErrors[index]);
3315     index=6;
3316     hEff6Pt1->SetBinContent(bin,ioValues[index]);
3317     hEff6Pt1->SetBinError(bin,ioErrors[index]);
3318     index=7;
3319     hEff6Pt10->SetBinContent(bin,ioValues[index]);
3320     hEff6Pt10->SetBinError(bin,ioErrors[index]);
3321
3322     index=8;
3323     hEffSPDPt02->SetBinContent(bin,ioValues[index]);
3324     hEffSPDPt02->SetBinError(bin,ioErrors[index]);
3325     index=9;
3326     hEffSPDPt1->SetBinContent(bin,ioValues[index]);
3327     hEffSPDPt1->SetBinError(bin,ioErrors[index]);
3328     index=10;
3329     hEffSPDPt10->SetBinContent(bin,ioValues[index]);
3330     hEffSPDPt10->SetBinError(bin,ioErrors[index]);
3331
3332     index=11;
3333     hEffoneSPDPt02->SetBinContent(bin,ioValues[index]);
3334     hEffoneSPDPt02->SetBinError(bin,ioErrors[index]);
3335     index=12;
3336     hEffoneSPDPt1->SetBinContent(bin,ioValues[index]);
3337     hEffoneSPDPt1->SetBinError(bin,ioErrors[index]);
3338     index=13;
3339     hEffoneSPDPt10->SetBinContent(bin,ioValues[index]);
3340     hEffoneSPDPt10->SetBinError(bin,ioErrors[index]);
3341
3342   }
3343
3344   TCanvas *cSPD = new TCanvas("cSPD","cSPD",0,0,1000,300);
3345   cSPD->SetGridy();
3346   hFracSPD1->SetMaximum(1.2);
3347   hFracSPD1->SetMaximum(0);
3348   hFracSPD1->Draw("p");
3349   hFracSPD2->Draw("same,p");
3350   TLegend* lSPD=new TLegend(0.9,0.8,1,1);
3351   lSPD->AddEntry(hFracSPD1,"Frac. SPD1 ON","l");
3352   lSPD->AddEntry(hFracSPD2,"Frac. SPD2 ON","l");
3353   lSPD->Draw();
3354
3355   TCanvas *cPt02 = new TCanvas("cPt02","cPt02",0,0,1000,300);
3356   cPt02->SetGridy();
3357   hEffge2Pt02->SetMaximum(1.2);
3358   hEffge2Pt02->SetMaximum(0);
3359   hEffge2Pt02->Draw();
3360   hEff6Pt02->Draw("same");
3361   hEffSPDPt02->Draw("same");
3362   hEffoneSPDPt02->Draw("same");
3363   TLegend* lPt02=new TLegend(0.9,0.8,1,1);
3364   lPt02->AddEntry(hEffge2Pt02,">=2 cls","l");
3365   lPt02->AddEntry(hEffoneSPDPt02,">=1 SPD + any","l");
3366   lPt02->AddEntry(hEffSPDPt02,"2 SPD + any","l");
3367   lPt02->AddEntry(hEff6Pt02,"6 cls","l");
3368   lPt02->Draw();
3369
3370   TCanvas *cPt1 = new TCanvas("cPt1","cPt1",0,0,1000,300);
3371   cPt1->SetGridy();
3372   hEffge2Pt1->SetMaximum(1.2);
3373   hEffge2Pt1->SetMaximum(0);
3374   hEffge2Pt1->Draw();
3375   hEff6Pt1->Draw("same");
3376   hEffSPDPt1->Draw("same");
3377   hEffoneSPDPt1->Draw("same");
3378   lPt02->Draw();
3379
3380   TCanvas *cPt10 = new TCanvas("cPt10","cPt10",0,0,1000,300);
3381   cPt10->SetGridy();
3382   hEffge2Pt10->SetMaximum(1.2);
3383   hEffge2Pt10->SetMaximum(0);
3384   hEffge2Pt10->Draw("p");
3385   hEff6Pt10->Draw("same,p");
3386   hEffSPDPt10->Draw("same,p");
3387   hEffoneSPDPt10->Draw("same,p");
3388   lPt02->Draw();
3389
3390   return;
3391 }
3392 //------------------------------------------------------------------------
3393 Bool_t KeepRun(Int_t irun) {
3394
3395
3396
3397   // LHC10c good runs
3398   Int_t nruns10b=33;
3399   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};
3400
3401   // LHC10c good runs
3402   Int_t nruns10c=46;
3403   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};
3404   //
3405
3406   // LHC10d good runs
3407   Int_t nruns10d=80;
3408   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};
3409   //
3410
3411   // LHC10e good runs
3412   Int_t nruns10e=158;
3413   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};
3414
3415
3416
3417   // LHC10h good runs
3418   Int_t nruns10h=49;
3419   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};
3420
3421   /*
3422   Int_t nruns10h=91;
3423   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};
3424   */
3425
3426   // LHC11b good runs
3427   Int_t nruns11b=83;
3428   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};
3429
3430   // LHC11c good runs
3431   Int_t nruns11c=244;
3432   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};
3433
3434   // LHC11d good runs
3435   Int_t nruns11d=81;
3436   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};
3437
3438
3439   Bool_t found=kFALSE;
3440   Int_t i=0;
3441
3442   for(i=0; i<nruns10b; i++) {
3443     if(irun==goodruns10b[i]) {found=kTRUE; break;}
3444   }  
3445   if(found) return kTRUE;
3446
3447   for(i=0; i<nruns10c; i++) {
3448     if(irun==goodruns10c[i]) {found=kTRUE; break;}
3449   }  
3450   if(found) return kTRUE;
3451
3452   for(i=0; i<nruns10d; i++) {
3453     if(irun==goodruns10d[i]) {found=kTRUE; break;}
3454   }  
3455   if(found) return kTRUE;
3456
3457   for(i=0; i<nruns10e; i++) {
3458     if(irun==goodruns10e[i]) {found=kTRUE; break;}
3459   }  
3460   if(found) return kTRUE;
3461
3462   for(i=0; i<nruns10h; i++) {
3463     if(irun==goodruns10h[i]) {found=kTRUE; break;}
3464   }  
3465   if(found) return kTRUE;
3466
3467   for(i=0; i<nruns11b; i++) {
3468     if(irun==goodruns11b[i]) {found=kTRUE; break;}
3469   }  
3470   if(found) return kTRUE;
3471
3472   for(i=0; i<nruns11c; i++) {
3473     if(irun==goodruns11c[i]) {found=kTRUE; break;}
3474   }  
3475   if(found) return kTRUE;
3476
3477   for(i=0; i<nruns11d; i++) {
3478     if(irun==goodruns11d[i]) {found=kTRUE; break;}
3479   }  
3480   if(found) return kTRUE;
3481
3482
3483   return kFALSE;
3484 }
3485 //-------------------------------------------------------------------------
3486 void FakesWithChi2Cut(TString fname) {
3487
3488   gStyle->SetOptStat(0);
3489
3490   TFile *f= TFile::Open(fname.Data());
3491   if(!f) return kFALSE;
3492
3493   TList *list=(TList*)f->Get("cOutputITS");
3494   TDirectoryFile *dir=0;
3495   if(!list) {
3496     dir=(TDirectoryFile*)f->GetDirectory("ITS_Performance");
3497     if(dir) list = (TList*)dir->Get("cOutputITS");
3498   }
3499
3500   if(!list) return kFALSE;
3501
3502
3503
3504
3505   TH1F *fHistRedChi2AllPt02 = (TH1F*)list->FindObject("fHistITSRedChi2NonFakePt02");
3506   TH1F *fHistRedChi2FakesPt02 = (TH1F*)list->FindObject("fHistITSRedChi2FakePt02");
3507   TH1F *fHistRedChi2NonFakesPt02 = (TH1F*)fHistRedChi2AllPt02->Clone("fHistITSRedChi2NonFakePt02");
3508   fHistRedChi2NonFakesPt02->Add(fHistRedChi2FakesPt02,-1.);
3509
3510   TH1F *fHistFakeFracVSChi2CutPt02 = (TH1F*)fHistRedChi2AllPt02->Clone("fHistFakeFracVSChi2CutPt02");
3511   fHistFakeFracVSChi2CutPt02->SetLineColor(2);
3512   fHistFakeFracVSChi2CutPt02->SetLineWidth(2);
3513   TH1F *fHistNonFakeEffVSChi2CutPt02 = (TH1F*)fHistRedChi2AllPt02->Clone("fHistFakeEffVSChi2CutPt02");
3514   fHistNonFakeEffVSChi2CutPt02->SetLineColor(4);
3515   fHistNonFakeEffVSChi2CutPt02->SetLineWidth(2);
3516
3517   for(Int_t bin=1;bin<=fHistFakeFracVSChi2CutPt02->GetNbinsX();bin++) {
3518     Float_t fakesBelowCut=fHistRedChi2FakesPt02->Integral(1,bin);
3519     Float_t nonfakesBelowCut=fHistRedChi2NonFakesPt02->Integral(1,bin);
3520     Float_t allBelowCut=fHistRedChi2AllPt02->Integral(1,bin);
3521     Float_t nonfakesNoCut=fHistRedChi2NonFakesPt02->Integral();
3522     fHistFakeFracVSChi2CutPt02->SetBinContent(bin,fakesBelowCut/allBelowCut);
3523     fHistNonFakeEffVSChi2CutPt02->SetBinContent(bin,nonfakesBelowCut/nonfakesNoCut);
3524   }
3525
3526   TH1F *fHistRedChi2AllPt05 = (TH1F*)list->FindObject("fHistITSRedChi2NonFakePt05");
3527   TH1F *fHistRedChi2FakesPt05 = (TH1F*)list->FindObject("fHistITSRedChi2FakePt05");
3528   TH1F *fHistRedChi2NonFakesPt05 = (TH1F*)fHistRedChi2AllPt05->Clone("fHistITSRedChi2NonFakePt05");
3529   fHistRedChi2NonFakesPt05->Add(fHistRedChi2FakesPt05,-1.);
3530
3531   TH1F *fHistFakeFracVSChi2CutPt05 = (TH1F*)fHistRedChi2AllPt05->Clone("fHistFakeFracVSChi2CutPt05");
3532   fHistFakeFracVSChi2CutPt05->SetLineColor(2);
3533   fHistFakeFracVSChi2CutPt05->SetLineWidth(2);
3534   TH1F *fHistNonFakeEffVSChi2CutPt05 = (TH1F*)fHistRedChi2AllPt05->Clone("fHistFakeEffVSChi2CutPt05");
3535   fHistNonFakeEffVSChi2CutPt05->SetLineColor(4);
3536   fHistNonFakeEffVSChi2CutPt05->SetLineWidth(2);
3537
3538   for(Int_t bin=1;bin<=fHistFakeFracVSChi2CutPt05->GetNbinsX();bin++) {
3539     Float_t fakesBelowCut=fHistRedChi2FakesPt05->Integral(1,bin);
3540     Float_t nonfakesBelowCut=fHistRedChi2NonFakesPt05->Integral(1,bin);
3541     Float_t allBelowCut=fHistRedChi2AllPt05->Integral(1,bin);
3542     Float_t nonfakesNoCut=fHistRedChi2NonFakesPt05->Integral();
3543     fHistFakeFracVSChi2CutPt05->SetBinContent(bin,fakesBelowCut/allBelowCut);
3544     fHistNonFakeEffVSChi2CutPt05->SetBinContent(bin,nonfakesBelowCut/nonfakesNoCut);
3545   }
3546
3547   TH1F *fHistRedChi2AllPt1 = (TH1F*)list->FindObject("fHistITSRedChi2NonFakePt1");
3548   TH1F *fHistRedChi2FakesPt1 = (TH1F*)list->FindObject("fHistITSRedChi2FakePt1");
3549   TH1F *fHistRedChi2NonFakesPt1 = (TH1F*)fHistRedChi2AllPt1->Clone("fHistITSRedChi2NonFakePt1");
3550   fHistRedChi2NonFakesPt1->Add(fHistRedChi2FakesPt1,-1.);
3551
3552   TH1F *fHistFakeFracVSChi2CutPt1 = (TH1F*)fHistRedChi2AllPt1->Clone("fHistFakeFracVSChi2CutPt1");
3553   fHistFakeFracVSChi2CutPt1->SetLineColor(2);
3554   fHistFakeFracVSChi2CutPt1->SetLineWidth(2);
3555   TH1F *fHistNonFakeEffVSChi2CutPt1 = (TH1F*)fHistRedChi2AllPt1->Clone("fHistFakeEffVSChi2CutPt1");
3556   fHistNonFakeEffVSChi2CutPt1->SetLineColor(4);
3557   fHistNonFakeEffVSChi2CutPt1->SetLineWidth(2);
3558
3559   for(Int_t bin=1;bin<=fHistFakeFracVSChi2CutPt1->GetNbinsX();bin++) {
3560     Float_t fakesBelowCut=fHistRedChi2FakesPt1->Integral(1,bin);
3561     Float_t nonfakesBelowCut=fHistRedChi2NonFakesPt1->Integral(1,bin);
3562     Float_t allBelowCut=fHistRedChi2AllPt1->Integral(1,bin);
3563     Float_t nonfakesNoCut=fHistRedChi2NonFakesPt1->Integral();
3564     fHistFakeFracVSChi2CutPt1->SetBinContent(bin,fakesBelowCut/allBelowCut);
3565     fHistNonFakeEffVSChi2CutPt1->SetBinContent(bin,nonfakesBelowCut/nonfakesNoCut);
3566   }
3567
3568
3569   TCanvas *c=new TCanvas("c","c",0,0,1000,500);
3570   c->Divide(3,1);
3571   c->cd(1);
3572   fHistRedChi2NonFakesPt02->Scale(1./fHistRedChi2NonFakesPt02->Integral());
3573   fHistRedChi2NonFakesPt02->SetLineColor(4);
3574   fHistRedChi2NonFakesPt02->Draw();
3575   fHistRedChi2FakesPt02->Scale(1./fHistRedChi2FakesPt02->Integral());
3576   fHistRedChi2FakesPt02->SetLineColor(2);
3577   fHistRedChi2FakesPt02->Draw("same");
3578   c->cd(2);
3579   fHistRedChi2NonFakesPt05->Scale(1./fHistRedChi2NonFakesPt05->Integral());
3580   fHistRedChi2NonFakesPt05->SetLineColor(4);
3581   fHistRedChi2NonFakesPt05->Draw();
3582   fHistRedChi2FakesPt05->Scale(1./fHistRedChi2FakesPt05->Integral());
3583   fHistRedChi2FakesPt05->SetLineColor(2);
3584   fHistRedChi2FakesPt05->Draw("same");
3585   c->cd(3);
3586   fHistRedChi2NonFakesPt1->Scale(1./fHistRedChi2NonFakesPt1->Integral());
3587   fHistRedChi2NonFakesPt1->SetLineColor(4);
3588   fHistRedChi2NonFakesPt1->Draw();
3589   fHistRedChi2FakesPt1->Scale(1./fHistRedChi2FakesPt1->Integral());
3590   fHistRedChi2FakesPt1->SetLineColor(2);
3591   fHistRedChi2FakesPt1->Draw("same");
3592
3593   TCanvas *cc=new TCanvas("cc","cc",0,0,1000,500);
3594   cc->Divide(3,1);
3595   cc_1->SetLogx();
3596   cc_2->SetLogx();
3597   cc_3->SetLogx();
3598   cc->cd(1);
3599   fHistFakeFracVSChi2CutPt02->SetXTitle("maximum ITS #chi^{2}/nclusters");
3600   fHistFakeFracVSChi2CutPt02->SetMinimum(0);
3601   fHistFakeFracVSChi2CutPt02->SetMaximum(1);
3602   fHistFakeFracVSChi2CutPt02->Draw();
3603   fHistNonFakeEffVSChi2CutPt02->Draw("same");
3604   cc->cd(2);
3605   fHistFakeFracVSChi2CutPt05->SetXTitle("maximum ITS #chi^{2}/nclusters");
3606   fHistFakeFracVSChi2CutPt05->SetMinimum(0);
3607   fHistFakeFracVSChi2CutPt05->SetMaximum(1);
3608   fHistFakeFracVSChi2CutPt05->Draw();
3609   fHistNonFakeEffVSChi2CutPt05->Draw("same");
3610   cc->cd(3);
3611   fHistFakeFracVSChi2CutPt1->SetXTitle("maximum ITS #chi^{2}/nclusters");
3612   fHistFakeFracVSChi2CutPt1->SetMinimum(0);
3613   fHistFakeFracVSChi2CutPt1->SetMaximum(1);
3614   fHistFakeFracVSChi2CutPt1->Draw();
3615   fHistNonFakeEffVSChi2CutPt1->Draw("same");
3616
3617
3618
3619   return;
3620 }