]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/AliHFSystErr.cxx
Adding methods for pPb rapidity measurements
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliHFSystErr.cxx
1
2 /**************************************************************************
3  * Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
4  *                                                                        *
5  * Author: The ALICE Off-line Project.                                    *
6  * Contributors are mentioned in the code where appropriate.              *
7  *                                                                        *
8  * Permission to use, copy, modify and distribute this software and its   *
9  * documentation strictly for non-commercial purposes is hereby granted   *
10  * without fee, provided that the above copyright notice appears in all   *
11  * copies and that both the copyright notice and this permission notice   *
12  * appear in the supporting documentation. The authors make no claims     *
13  * about the suitability of this software for any purpose. It is          *
14  * provided "as is" without express or implied warranty.                  *
15  **************************************************************************/
16
17 /* $Id$ */
18
19 /////////////////////////////////////////////////////////////
20 //
21 // Class to handle systematic errors for charm hadrons
22 //
23 // Usage:
24 // AliHFSystEff syst;           // DECAY = 1 for D0, 2, for D+, 3 for D* 
25 // syst.SetRunNumber(YEAR);     // YEAR = two last numbers of the year (is 10 for 2010)
26 // syst.SetCollisionType(TYPE);  // TYPE =  0 is pp, 1 is PbPb
27 // syst.SetCentrality(CENT);     // CENT is centrality, 0100 for MB, 020 (4080) for 0-20 (40-80) CC...
28 // syst.Init(DECAY);             // DECAY = 1 for D0, 2, for D+, 3 for D* 
29 // syst.DrawErrors(); // to see a plot of the error contributions
30 // syst.GetTotalSystErr(pt); // to get the total err at pt 
31 //
32 // Author: A.Dainese, andrea.dainese@pd.infn.it
33 /////////////////////////////////////////////////////////////
34
35 #include <TStyle.h>
36 #include <TGraphAsymmErrors.h>
37 #include <TMath.h>
38 #include <TCanvas.h>
39 #include <TH2F.h>
40 #include <TLegend.h>
41 #include <TColor.h>
42
43 #include "AliLog.h"
44 #include "AliHFSystErr.h"
45
46
47 ClassImp(AliHFSystErr)
48
49 //--------------------------------------------------------------------------
50 AliHFSystErr::AliHFSystErr(const Char_t* name, const Char_t* title) : 
51 TNamed(name,title),
52 fNorm(0),
53 fRawYield(0),
54 fTrackingEff(0),
55 fBR(0),
56 fCutsEff(0),
57 fPIDEff(0),
58 fMCPtShape(0),
59 fPartAntipart(0),
60 fRunNumber(10),
61 fCollisionType(0),
62 fCentralityClass("0100"),
63 fRapidityRange("0101"),
64 fIsLowEnergy(false),
65 fIsCentScan(false),
66 fIsRapidityScan(false)
67 {
68   //
69   // Default Constructor
70   //
71 }
72
73 //--------------------------------------------------------------------------
74 AliHFSystErr::~AliHFSystErr() {
75   //  
76   // Default Destructor
77   //
78   /*
79
80   if(fNorm)         { delete fNorm; fNorm=0; }
81   if(fRawYield)     { delete fRawYield; fRawYield=0; }
82   if(fTrackingEff)  { delete fTrackingEff; fTrackingEff=0; }
83   if(fBR)           { delete fBR; fBR=0; }
84   if(fCutsEff)      { delete fCutsEff; fCutsEff=0; }
85   if(fPIDEff)       { delete fPIDEff; fPIDEff=0; }
86   if(fMCPtShape)    { delete fMCPtShape; fMCPtShape=0; }
87   if(fPartAntipart) { delete fPartAntipart; fPartAntipart=0; }
88   */
89 }
90
91 //--------------------------------------------------------------------------
92 void AliHFSystErr::Init(Int_t decay){
93   //
94   // Variables/histos initialization
95   //
96
97   if ((fRunNumber>11) && fIsLowEnergy==false) { 
98     AliFatal("Only settings for 2010 and the low energy runs are implemented so far");
99   }
100
101   switch(decay) {
102   case 1: // D0->Kpi
103     if (fCollisionType==0) {
104       if (fIsLowEnergy) InitD0toKpi2010ppLowEn();
105       else InitD0toKpi2010pp();
106     } 
107     else if (fCollisionType==1) {
108       if (fRunNumber == 10){
109         if (fCentralityClass=="010") InitD0toKpi2010PbPb010CentScan();
110         else if (fCentralityClass=="1020") InitD0toKpi2010PbPb1020CentScan();
111         else if (fCentralityClass=="020")  InitD0toKpi2010PbPb020();
112         else if (fCentralityClass=="2040") InitD0toKpi2010PbPb2040CentScan();
113         else if (fCentralityClass=="4060") InitD0toKpi2010PbPb4060CentScan();
114         else if (fCentralityClass=="6080") InitD0toKpi2010PbPb6080CentScan();
115         else if (fCentralityClass=="4080") InitD0toKpi2010PbPb4080();
116         else AliFatal("Not yet implemented");
117       }
118       else if (fRunNumber == 11){
119         if (fCentralityClass=="07half") InitD0toKpi2011PbPb07half();
120         else if (fCentralityClass=="3050InPlane") InitD0toKpi2011PbPb3050InPlane();
121         else if (fCentralityClass=="3050OutOfPlane") InitD0toKpi2011PbPb3050OutOfPlane();
122         else if (fCentralityClass=="010") InitD0toKpi2011PbPb010CentScan();
123         else if (fCentralityClass=="1020") InitD0toKpi2011PbPb1020CentScan();
124         else if (fCentralityClass=="2030") InitD0toKpi2011PbPb2030CentScan();
125         else if (fCentralityClass=="3040") InitD0toKpi2011PbPb3040CentScan();
126         else if (fCentralityClass=="4050") InitD0toKpi2011PbPb4050CentScan();
127         else if (fCentralityClass=="5080") InitD0toKpi2010PbPb5080CentScan();
128         else AliFatal("Not yet implemented");
129       }
130     } 
131     else if (fCollisionType==2) { 
132       if (fCentralityClass=="0100") InitD0toKpi2013pPb0100();
133       if (fIsRapidityScan) {
134         if (fRapidityRange == "0804") InitD0toKpi2013pPb0100RapScan0804();
135         if (fRapidityRange == "0401") InitD0toKpi2013pPb0100RapScan0401();
136         if (fRapidityRange == "0101") InitD0toKpi2013pPb0100RapScan0101();
137         if (fRapidityRange == "0104") InitD0toKpi2013pPb0100RapScan0104();
138         if (fRapidityRange == "0408") InitD0toKpi2013pPb0100RapScan0408();
139       }
140     }
141     else AliFatal("Not yet implemented");
142     break;
143     
144   case 2: // D+->Kpipi
145     if (fCollisionType==0) {
146       if (fIsLowEnergy) InitDplustoKpipi2010ppLowEn();
147       else InitDplustoKpipi2010pp();
148     } 
149     else if (fCollisionType==1) {
150       if (fRunNumber == 10){
151         if (fCentralityClass=="010") InitDplustoKpipi2010PbPb010CentScan();
152         else if (fCentralityClass=="1020") InitDplustoKpipi2010PbPb1020CentScan();
153         else if (fCentralityClass=="020") InitDplustoKpipi2010PbPb020();
154         else if (fCentralityClass=="2040") InitDplustoKpipi2010PbPb2040CentScan();
155         else if (fCentralityClass=="4060") InitDplustoKpipi2010PbPb4060CentScan();
156         else if (fCentralityClass=="6080") InitDplustoKpipi2010PbPb6080CentScan();
157         else if (fCentralityClass=="4080") InitDplustoKpipi2010PbPb4080();
158         else AliFatal("Not yet implemented");
159       }
160       if(fRunNumber == 11){
161         if (fCentralityClass=="07half") InitDplustoKpipi2011PbPb07half();
162         else if (fCentralityClass=="010") InitDplustoKpipi2011PbPb010CentScan();
163         else if (fCentralityClass=="1020") InitDplustoKpipi2011PbPb1020CentScan();
164         else if (fCentralityClass=="2030") InitDplustoKpipi2011PbPb2030CentScan();
165         else if (fCentralityClass=="3040") InitDplustoKpipi2011PbPb3040CentScan();
166         else if (fCentralityClass=="4050") InitDplustoKpipi2011PbPb4050CentScan();
167         else if (fCentralityClass=="5080") InitDplustoKpipi2010PbPb5080CentScan();
168         else AliFatal("Not yet implemented");
169       }
170     } 
171     else if (fCollisionType==2) { 
172       if (fCentralityClass=="0100") InitDplustoKpipi2013pPb0100();
173       if (fIsRapidityScan) {
174         if (fRapidityRange == "0804") InitDplustoKpipi2013pPb0100RapScan0804();
175         if (fRapidityRange == "0401") InitDplustoKpipi2013pPb0100RapScan0401();
176         if (fRapidityRange == "0101") InitDplustoKpipi2013pPb0100RapScan0101();
177         if (fRapidityRange == "0104") InitDplustoKpipi2013pPb0100RapScan0104();
178         if (fRapidityRange == "0408") InitDplustoKpipi2013pPb0100RapScan0408();
179       }
180     } 
181     else AliFatal("Not yet implemented");
182     break;
183   case 3: // D*->D0pi
184     if (fCollisionType==0) {
185       if(fIsLowEnergy)  InitDstartoD0pi2010ppLowEn();
186       else InitDstartoD0pi2010pp();
187     }
188     else if (fCollisionType==1) {
189       if (fRunNumber == 10){
190         if (fCentralityClass=="010") InitDstartoD0pi2010PbPb010CentScan();
191         else if (fCentralityClass=="1020") InitDstartoD0pi2010PbPb1020CentScan();
192         else if (fCentralityClass=="020") InitDstartoD0pi2010PbPb020();
193         else if (fCentralityClass=="2040" && fIsCentScan) InitDstartoD0pi2010PbPb2040CentScan();
194         else if (fCentralityClass=="2040") InitDstartoD0pi2010PbPb2040();
195         else if (fCentralityClass=="4060") InitDstartoD0pi2010PbPb4060CentScan();
196         else if (fCentralityClass=="6080") InitDstartoD0pi2010PbPb6080CentScan();
197         else if (fCentralityClass=="4080") InitDstartoD0pi2010PbPb4080();
198         else AliFatal("Not yet implemented");
199       }
200       if (fRunNumber == 11){
201         if (fCentralityClass=="07half") InitDstartoD0pi2011PbPb07half();
202         else if (fCentralityClass=="010") InitDstartoD0pi2011PbPb010CentScan();
203         else if (fCentralityClass=="1020") InitDstartoD0pi2011PbPb1020CentScan();
204         else if (fCentralityClass=="2030") InitDstartoD0pi2011PbPb2030CentScan();
205         else if (fCentralityClass=="3040") InitDstartoD0pi2011PbPb3040CentScan();
206         else if (fCentralityClass=="4050") InitDstartoD0pi2011PbPb4050CentScan();
207         else if (fCentralityClass=="5080") InitDstartoD0pi2010PbPb5080CentScan();
208         else AliFatal("Not yet implemented");
209       }
210     }
211     else if (fCollisionType==2) { 
212       if (fCentralityClass=="0100") InitDstartoD0pi2013pPb0100();
213       if (fIsRapidityScan) {
214         if (fRapidityRange == "0804") InitDstartoD0pi2013pPb0100RapScan0804();
215         if (fRapidityRange == "0401") InitDstartoD0pi2013pPb0100RapScan0401();
216         if (fRapidityRange == "0101") InitDstartoD0pi2013pPb0100RapScan0101();
217         if (fRapidityRange == "0104") InitDstartoD0pi2013pPb0100RapScan0104();
218         if (fRapidityRange == "0408") InitDstartoD0pi2013pPb0100RapScan0408();
219       }
220     }
221     else AliFatal("Not yet implemented");
222     break;
223   case 4: // D+s->KKpi
224     if (fCollisionType==0) InitDstoKKpi2010pp();
225     else if (fCollisionType==1) {
226       if (fCentralityClass=="07half") InitDstoKKpi2011PbPb07half();
227       else AliFatal("Not yet implemented");
228     }
229     else if (fCollisionType==2) { 
230       if (fCentralityClass=="0100") InitDstoKKpi2013pPb0100();
231     }
232     else AliFatal("Not yet implemented");
233     break;
234   case 5: // Lc->pKpi
235     if (fCollisionType==0) InitLctopKpi2010pp();
236     else AliFatal("Not yet implemented");
237     break;
238     
239   default:
240     printf("Invalid decay type: %d\n",decay);
241     break;
242   }
243
244 }
245   
246 //--------------------------------------------------------------------------
247 void AliHFSystErr::InitD0toKpi2010pp() {
248   // 
249   // D0->Kpi syst errors. Responsible: A. Rossi
250   //   2010 pp sample
251   //
252
253   // Normalization
254   fNorm = new TH1F("fNorm","fNorm",24,0,24);
255   for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.035); // 4% error on sigmaV0and
256
257   // Branching ratio 
258   fBR = new TH1F("fBR","fBR",24,0,24);
259   for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.012); // 1.2% PDG2010
260
261   // Tracking efficiency
262   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);
263   for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.08); // 8% (4% per track)
264
265   // Raw yield extraction
266   fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
267   fRawYield->SetBinContent(1,1);
268   fRawYield->SetBinContent(2,0.22);
269   fRawYield->SetBinContent(3,0.1);
270   for(Int_t i=4;i<=7;i++) fRawYield->SetBinContent(i,0.04);
271   for(Int_t i=8;i<=12;i++) fRawYield->SetBinContent(i,0.07);
272   for(Int_t i=13;i<=16;i++) fRawYield->SetBinContent(i,0.10);
273   for(Int_t i=17;i<=24;i++) fRawYield->SetBinContent(i,1);
274
275   // Cuts efficiency (from cuts variation)
276   fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
277   for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
278
279   // PID efficiency (from PID/noPID)
280   fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
281   for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.03); // 3%
282   fPIDEff->SetBinContent(2,0.05); // 5%
283
284   // MC dN/dpt
285   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
286   for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0);
287   fMCPtShape->SetBinContent(1,0.03);
288   fMCPtShape->SetBinContent(2,0.03);
289
290   // particle-antiparticle
291   //  fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",24,0,24);
292   //  fPartAntipart->SetBinContent(1,1); 
293   //  for(Int_t i=2;i<=24;i++) fPartAntipart->SetBinContent(i,0.05);
294   
295   return;
296 }
297 //--------------------------------------------------------------------------
298 void AliHFSystErr::InitD0toKpi2010PbPb020() {
299   // 
300   // D0->Kpi syst errors. Responsible: A. Rossi
301   //   2010 PbPb sample, 0-20 CC
302   //
303
304   // Normalization
305   fNorm = new TH1F("fNorm","fNorm",20,0,20);
306   for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.05); // TAA and pp norm
307
308   // Branching ratio 
309   fBR = new TH1F("fBR","fBR",20,0,20);
310   for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.012); // 1.2% PDG2010
311
312   // Tracking efficiency
313   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
314   for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.10);// Jacek, 5% per track
315
316   // Raw yield extraction
317   fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
318   fRawYield->SetBinContent(1,0);
319   fRawYield->SetBinContent(2,0);
320   fRawYield->SetBinContent(3,0.08);
321   for(Int_t i=4;i<=12;i++) fRawYield->SetBinContent(i,0.06);
322   for(Int_t i=13;i<=16;i++) fRawYield->SetBinContent(i,0.10);
323
324   // Cuts efficiency (from cuts variation)
325   fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
326   fCutsEff->SetBinContent(1,0.);
327   fCutsEff->SetBinContent(2,0.);
328   fCutsEff->SetBinContent(3,0.13);
329   fCutsEff->SetBinContent(4,0.11);  
330   for(Int_t i=5;i<=16;i++) fCutsEff->SetBinContent(i,0.10);
331   for(Int_t i=17;i<=20;i++) fCutsEff->SetBinContent(i,0.);
332
333   // PID efficiency (from PID/noPID)
334   fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
335   for(Int_t i=3;i<=16;i++) fPIDEff->SetBinContent(i,0.05);
336
337   // MC dN/dpt
338   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
339   for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.01);
340   fMCPtShape->SetBinContent(3,0.04);
341   fMCPtShape->SetBinContent(4,0.02);
342   for(Int_t i=13;i<=16;i++) fMCPtShape->SetBinContent(i,0.03); 
343
344 //   // particle-antiparticle
345 //   fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
346 //   for(Int_t i=3;i<=12;i++) fPartAntipart->SetBinContent(i,0.05);
347 //   fPartAntipart->SetBinContent(3,0.10);
348 //   fPartAntipart->SetBinContent(4,0.10);
349 //   fPartAntipart->SetBinContent(7,0.10);
350 //   fPartAntipart->SetBinContent(8,0.10);
351   
352   return;
353 }
354 //--------------------------------------------------------------------------
355 //--------------------------------------------------------------------------
356 void AliHFSystErr::InitD0toKpi2011PbPb07half() {
357   // 
358   // D0->Kpi syst errors. Responsible: A. Rossi
359   //   2011 PbPb sample, 0-7.5 CC
360   //
361
362   // Normalization
363   fNorm = new TH1F("fNorm","fNorm",36,0,36);
364   for(Int_t i=1;i<36;i++) fNorm->SetBinContent(i,0.048); // TAA and pp norm
365
366   // Branching ratio 
367   fBR = new TH1F("fBR","fBR",36,0,36);
368   for(Int_t i=1;i<=36;i++) fBR->SetBinContent(i,0.012); // 1.2% PDG2010
369
370   // Tracking efficiency
371   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",36,0,36);
372   for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.10);// Jacek, 5% per track
373   for(Int_t i=25;i<=36;i++) fTrackingEff->SetBinContent(i,0.);// OUT OF MEASUREMENT RANGE
374
375   // Raw yield extraction
376   fRawYield = new TH1F("fRawYield","fRawYield",36,0,36);
377   fRawYield->SetBinContent(1,0);
378   fRawYield->SetBinContent(2,0.1);
379   fRawYield->SetBinContent(3,0.05);
380   for(Int_t i=4;i<=12;i++) fRawYield->SetBinContent(i,0.05);
381   for(Int_t i=13;i<=16;i++) fRawYield->SetBinContent(i,0.10);
382   for(Int_t i=17;i<=24;i++) fRawYield->SetBinContent(i,0.30);
383   for(Int_t i=25;i<=36;i++) fRawYield->SetBinContent(i,0.);// OUT OF MEASUREMENT RANGE
384
385   // Cuts efficiency (from cuts variation)
386   fCutsEff = new TH1F("fCutsEff","fCutsEff",36,0,36);
387   fCutsEff->SetBinContent(1,0.);
388   fCutsEff->SetBinContent(2,0.15);
389   fCutsEff->SetBinContent(3,0.13);
390   fCutsEff->SetBinContent(4,0.11);  
391   fCutsEff->SetBinContent(5,0.08); 
392   for(Int_t i=6;i<=24;i++) fCutsEff->SetBinContent(i,0.06);
393   for(Int_t i=25;i<=36;i++) fCutsEff->SetBinContent(i,0.0);// OUT OF MEASUREMENT RANGE
394
395   // PID efficiency (from PID/noPID)
396   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
397   for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.05);
398   for(Int_t i=25;i<=36;i++) fPIDEff->SetBinContent(i,0.0);// OUT OF MEASUREMENT RANGE
399
400   // MC dN/dpt
401   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",36,0,36);
402   for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.01);
403   fMCPtShape->SetBinContent(2,0.06);
404   fMCPtShape->SetBinContent(3,0.04);
405   fMCPtShape->SetBinContent(4,0.02);
406   for(Int_t i=13;i<=16;i++) fMCPtShape->SetBinContent(i,0.03); 
407   for(Int_t i=17;i<=24;i++) fMCPtShape->SetBinContent(i,0.05);
408   for(Int_t i=25;i<=36;i++) fMCPtShape->SetBinContent(i,0.0);// OUT OF MEASUREMENT RANGE
409
410 //   // particle-antiparticle
411 //   fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",36,0,36);
412 //   for(Int_t i=3;i<=12;i++) fPartAntipart->SetBinContent(i,0.05);
413 //   fPartAntipart->SetBinContent(3,0.10);
414 //   fPartAntipart->SetBinContent(4,0.10);
415 //   fPartAntipart->SetBinContent(7,0.10);
416 //   fPartAntipart->SetBinContent(8,0.10);
417   
418   return;
419 }
420
421 //--------------------------------------------------------------------------
422 void AliHFSystErr::InitD0toKpi2011PbPb3050InPlane() {
423   //
424   // D0->Kpi syst errors. Responsible: D. Caffarri
425   //   2011 PbPb sample, 30-50 CC InPlane
426   //
427   InitD0toKpi2011PbPb07half();
428   // Raw yield extraction
429   // fRawYield = new TH1F("fRawYield","fRawYield",36,0,36);
430   fRawYield->SetBinContent(1,0);
431   fRawYield->SetBinContent(2,0);
432   fRawYield->SetBinContent(3,0.05);
433   fRawYield->SetBinContent(4,0.08);
434   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.05);
435   for(Int_t i=9;i<=12;i++) fRawYield->SetBinContent(i,0.05);
436   for(Int_t i=13;i<=16;i++) fRawYield->SetBinContent(i,0.15);
437   for(Int_t i=17;i<=36;i++) fRawYield->SetBinContent(i,0.);// OUT OF MEASUREMENT RANGE
438
439   // Cuts efficiency (from cuts variation)
440   //fCutsEff = new TH1F("fCutsEff","fCutsEff",36,0,36);
441   fCutsEff->SetBinContent(1,0.);
442   fCutsEff->SetBinContent(2,0.0);
443   fCutsEff->SetBinContent(3,0.10);
444   fCutsEff->SetBinContent(4,0.10);
445   fCutsEff->SetBinContent(5,0.10);
446   fCutsEff->SetBinContent(6,0.10);
447   for(Int_t i=7;i<=8;i++) fCutsEff->SetBinContent(i,0.15);
448   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.15);
449   for(Int_t i=25;i<=36;i++) fCutsEff->SetBinContent(i,0.0);// OUT OF MEASUREMENT RANGE
450 }
451
452 //--------------------------------------------------------------------------
453 void AliHFSystErr::InitD0toKpi2011PbPb3050OutOfPlane() {
454   //
455   // D0->Kpi syst errors. Responsible: D. Caffarri
456   //   2011 PbPb sample, 30-50 CC OutOfPlane
457   //
458   InitD0toKpi2011PbPb07half();
459   // Raw yield extraction
460   //fRawYield = new TH1F("fRawYield","fRawYield",36,0,36);
461   fRawYield->SetBinContent(1,0);
462   fRawYield->SetBinContent(2,0.);
463   fRawYield->SetBinContent(3,0.05);
464   for(Int_t i=4;i<=6;i++) fRawYield->SetBinContent(i,0.07);
465   for(Int_t i=7;i<=8;i++) fRawYield->SetBinContent(i,0.05);
466   for(Int_t i=9;i<=12;i++) fRawYield->SetBinContent(i,0.10);
467   for(Int_t i=13;i<=16;i++) fRawYield->SetBinContent(i,0.15);
468   for(Int_t i=17;i<=36;i++) fRawYield->SetBinContent(i,0.);// OUT OF MEASUREMENT RANGE
469
470   // Cuts efficiency (from cuts variation)
471   // fCutsEff = new TH1F("fCutsEff","fCutsEff",36,0,36);
472   fCutsEff->SetBinContent(1,0.);
473   fCutsEff->SetBinContent(2,0.);
474   fCutsEff->SetBinContent(3,0.10);
475   fCutsEff->SetBinContent(4,0.10);
476   fCutsEff->SetBinContent(5,0.10);
477   fCutsEff->SetBinContent(6,0.10);
478   for(Int_t i=7;i<=8;i++) fCutsEff->SetBinContent(i,0.15);
479   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.15);
480   for(Int_t i=17;i<=36;i++) fCutsEff->SetBinContent(i,0.0);// OUT OF MEASUREMENT RANGE
481 }
482
483 //--------------------------------------------------------------------------
484 void AliHFSystErr::InitD0toKpi2010PbPb4080() {
485   //
486   // D0->Kpi syst errors. Responsible: A. Rossi
487   //   2010 PbPb sample, 40-80 CC
488   //
489
490   // Normalization
491   fNorm = new TH1F("fNorm","fNorm",20,0,20);
492   for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.07); // TAA and pp norm
493
494   // Branching ratio 
495   fBR = new TH1F("fBR","fBR",20,0,20);
496   for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.012); // 1.2% PDG2010
497
498   // Tracking efficiency
499   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
500   for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.10); // Jacek, 5% per track
501
502
503   // Raw yield extraction
504   fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
505   fRawYield->SetBinContent(1,0);
506   fRawYield->SetBinContent(2,0);
507   for(Int_t i=3;i<=16;i++) fRawYield->SetBinContent(i,0.05);
508   //for(Int_t i=13;i<=20;i++) fRawYield->SetBinContent(i,0);
509
510   // Cuts efficiency (from cuts variation)
511   fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
512   fCutsEff->SetBinContent(1,0.);
513   fCutsEff->SetBinContent(2,0.);
514   fCutsEff->SetBinContent(3,0.13);
515   fCutsEff->SetBinContent(4,0.11);  
516   for(Int_t i=5;i<=16;i++) fCutsEff->SetBinContent(i,0.10);
517   for(Int_t i=17;i<=20;i++) fCutsEff->SetBinContent(i,0.);
518
519   // PID efficiency (from PID/noPID)
520   fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
521 //   for(Int_t i=3;i<=6;i++) fPIDEff->SetBinContent(i,0.10);
522 //   for(Int_t i=7;i<=16;i++) fPIDEff->SetBinContent(i,0.05);
523   for(Int_t i=3;i<=16;i++) fPIDEff->SetBinContent(i,0.05);
524
525   // MC dN/dpt
526   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
527   for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.01);
528   //  fMCPtShape->SetBinContent(3,0.04); Not set for peripherals (Raa Vs pt is flat)
529   //  fMCPtShape->SetBinContent(4,0.02);
530   for(Int_t i=13;i<=16;i++) fMCPtShape->SetBinContent(i,0.03); 
531   
532   //   // particle-antiparticle
533   //   fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
534   //   for(Int_t i=3;i<=12;i++) fPartAntipart->SetBinContent(i,0.05);
535   
536   return;
537 }
538
539 //--------------------------------------------------------------------------
540 void AliHFSystErr::InitD0toKpi2010ppLowEn() {
541   // 
542   // D0->Kpi syst errors. Low energy run
543   //   2011 2.76 TeV pp sample
544   //
545   AliInfo(" Settings for D0 --> K pi, p-p collisions at 2.76 TeV"); 
546
547   // Normalization
548   fNorm = new TH1F("fNorm","fNorm",20,0,20);
549   for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.031); // 4% error on sigmaV0and
550
551   // Branching ratio 
552   fBR = new TH1F("fBR","fBR",20,0,20);
553   for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.012); // 1.2% PDG2010
554
555   // Tracking efficiency
556   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
557   for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.10); //10% (5% per track)
558
559   // Raw yield extraction
560   fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
561   fRawYield->SetBinContent(1,1);
562   for(Int_t i=1;i<=20;i++) fRawYield->SetBinContent(i,0.15);
563
564   // Cuts efficiency (from cuts variation)
565   fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
566   for(Int_t i=1;i<=20;i++) fCutsEff->SetBinContent(i,0.10); // 10% 
567   fCutsEff->SetBinContent(2,0.20);
568   for(Int_t i=7;i<=20;i++) fCutsEff->SetBinContent(i,0.15); // 10% 
569
570
571   // PID efficiency (from PID/noPID)
572   fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
573   for(Int_t i=1;i<=20;i++) fPIDEff->SetBinContent(i,0.15); // 10%
574   //  fPIDEff->SetBinContent(2,0.20);
575   for(Int_t i=7;i<=20;i++) fPIDEff->SetBinContent(i,0.05); // 10%
576
577   // MC dN/dpt
578   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
579   for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.01);
580   fMCPtShape->SetBinContent(1,0.03);
581   fMCPtShape->SetBinContent(2,0.03);
582
583 //   // particle-antiparticle
584 //   fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
585 //   fPartAntipart->SetBinContent(1,1);
586 //   fPartAntipart->SetBinContent(2,1);
587 //   for(Int_t i=3;i<=6;i++) fPartAntipart->SetBinContent(i,0.08);
588 //   for(Int_t i=1;i<=20;i++) fPartAntipart->SetBinContent(i,0.);
589   
590   return;
591 }
592 //_________________________________________________________________________
593 void AliHFSystErr::InitD0toKpi2013pPb0100(){
594   //
595   // D0->Kpi syst errors. p-Pb data sample
596   //
597   AliInfo(" Settings for D0 --> K pi, p-Pb collisions at 5.023 TeV"); 
598
599   fNorm = new TH1F("fNorm","fNorm",24,0,24);
600   for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.02); // 
601   
602   // Branching ratio 
603   fBR = new TH1F("fBR","fBR",24,0,24);
604   for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.013); // 1.2% PDG2010
605
606   // Tracking efficiency
607   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);
608   for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.06); // 3% per track
609
610   // Raw yield extraction
611   fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
612   fRawYield->SetBinContent(1,0.0);
613   fRawYield->SetBinContent(2,0.08);
614   fRawYield->SetBinContent(3,0.02);
615   fRawYield->SetBinContent(4,0.05);
616   for(Int_t i=5;i<=6;i++) fRawYield->SetBinContent(i,0.02);
617   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
618   for(Int_t i=13;i<=24;i++) fRawYield->SetBinContent(i,0.08);
619   
620   // Cuts efficiency (from cuts variation)
621   fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
622   fCutsEff->SetBinContent(1,0.0);
623   fCutsEff->SetBinContent(2,0.10);
624   for(Int_t i=3;i<=24;i++) fCutsEff->SetBinContent(i,0.05);
625
626   // PID efficiency (from PID/noPID)
627   fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
628   fPIDEff->SetBinContent(1,0.0);
629   fPIDEff->SetBinContent(2,0.05);
630   for(Int_t i=3;i<=12;i++) fPIDEff->SetBinContent(i,0.00);
631   for(Int_t i=13;i<=24;i++) fPIDEff->SetBinContent(i,0.05);
632
633   // MC dN/dpt  
634   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
635   fMCPtShape->SetBinContent(1,0.0);
636   fMCPtShape->SetBinContent(2,0.02);
637   fMCPtShape->SetBinContent(3,0.02);
638   for(Int_t i=4;i<=6;i++) fMCPtShape->SetBinContent(i,0.0);
639   for(Int_t i=7;i<=24;i++) fMCPtShape->SetBinContent(i,0.02);
640
641   // particle-antiparticle
642   /*
643   fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
644   for(Int_t i=1;i<=20;i++) fPartAntipart->SetBinContent(i,0.05);   //5 to 12%
645   */
646   return;
647
648
649 }
650
651
652 //--------------------------------------------------------------------------
653 void AliHFSystErr::InitDplustoKpipi2010pp() {
654   // 
655   // D+->Kpipi syst errors. Responsible: R. Bala
656   //  2010 pp sample
657   //
658
659
660 // Normalization
661   fNorm = new TH1F("fNorm","fNorm",24,0,24);
662   for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.035); // 4% error on sigmaV0and
663
664   // Branching ratio 
665   fBR = new TH1F("fBR","fBR",24,0,24);
666   for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.021); // 2.1% PDG2010
667
668   // Tracking efficiency
669   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);
670   for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.12); // 12% (4% per track)
671
672
673   // Raw yield extraction
674   fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
675   fRawYield->SetBinContent(1,1);
676   fRawYield->SetBinContent(2,0.25);
677   fRawYield->SetBinContent(3,0.25);
678   fRawYield->SetBinContent(4,0.20);
679   fRawYield->SetBinContent(5,0.09);
680   fRawYield->SetBinContent(6,0.09);
681   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);  
682   for(Int_t i=12;i<=24;i++) fRawYield->SetBinContent(i,0.10);  
683   
684   // Cuts efficiency (from cuts variation)
685   fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
686   for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
687
688   // PID efficiency (from PID/noPID)
689   fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
690   for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.05); // 5%
691   fPIDEff->SetBinContent(1,0.15); // 15%
692   fPIDEff->SetBinContent(2,0.15); // 15%
693   fPIDEff->SetBinContent(3,0.15); // 15%
694   fPIDEff->SetBinContent(4,0.15); // 15%
695   for(Int_t i=12;i<=16;i++) fPIDEff->SetBinContent(i,0.10); // 5%
696
697   // MC dN/dpt  
698   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
699   for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0);
700   fMCPtShape->SetBinContent(1,0.03);
701   fMCPtShape->SetBinContent(2,0.03);
702
703
704   // particle-antiparticle
705   /*
706   fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
707   fPartAntipart->SetBinContent(1,1);
708   fPartAntipart->SetBinContent(2,1);
709   fPartAntipart->SetBinContent(3,0.12);
710   for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05);   //5 to 12%
711   */
712   return;
713 }
714  
715 //--------------------------------------------------------------------------
716 void AliHFSystErr::InitDstoKKpi2010pp() {
717   // 
718   // D+s->KKpi syst errors. Responsible: G.M. Innocenti
719   //  2010 pp sample
720   //
721
722
723 // Normalization
724   fNorm = new TH1F("fNorm","fNorm",12,0,12);
725   for(Int_t i=1;i<=12;i++) fNorm->SetBinContent(i,0.035); // 3.5% error on sigmaV0and
726
727   // Branching ratio 
728   fBR = new TH1F("fBR","fBR",12,0,12);
729   for(Int_t i=1;i<=12;i++) fBR->SetBinContent(i,0.06); // 0.14/2.32 PDG2010
730
731   // Tracking efficiency
732   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",12,0,12);
733   for(Int_t i=1;i<=12;i++) fTrackingEff->SetBinContent(i,0.12); // 12% (4% per track)
734
735
736   // Raw yield extraction
737   fRawYield = new TH1F("fRawYield","fRawYield",12,0,12);
738   fRawYield->SetBinContent(1,1);
739   fRawYield->SetBinContent(2,1);
740   fRawYield->SetBinContent(3,0.20);
741   fRawYield->SetBinContent(4,0.20);
742   fRawYield->SetBinContent(5,0.15);
743   fRawYield->SetBinContent(6,0.15);
744   fRawYield->SetBinContent(7,0.15);
745   fRawYield->SetBinContent(8,0.15);
746   fRawYield->SetBinContent(9,0.20);
747   fRawYield->SetBinContent(10,0.20);
748   fRawYield->SetBinContent(11,0.20);
749   fRawYield->SetBinContent(12,0.20);
750   
751   // Cuts efficiency (from cuts variation)
752   fCutsEff = new TH1F("fCutsEff","fCutsEff",12,0,12);
753   for(Int_t i=1;i<=12;i++) fCutsEff->SetBinContent(i,0.15); // 15%
754
755   // PID efficiency (from PID/noPID)
756   fPIDEff = new TH1F("fPIDEff","fPIDEff",12,0,12);
757   for(Int_t i=1;i<=12;i++) fPIDEff->SetBinContent(i,0.07); // 7%
758
759   // MC dN/dpt 
760   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",12,0,12);
761   for(Int_t i=1; i<=2; i++) fMCPtShape->SetBinContent(i,1.);
762   for(Int_t i=3; i<=4; i++) fMCPtShape->SetBinContent(i,0.03);
763   for(Int_t i=5; i<=6; i++) fMCPtShape->SetBinContent(i,0.03);
764   for(Int_t i=7; i<=8; i++) fMCPtShape->SetBinContent(i,0.02);
765   for(Int_t i=9; i<=12; i++) fMCPtShape->SetBinContent(i,0.02);
766
767
768   // particle-antiparticle
769   /*
770   fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",12,0,12);
771   fPartAntipart->SetBinContent(1,1);
772   fPartAntipart->SetBinContent(2,1);
773   fPartAntipart->SetBinContent(3,0.12);
774   for(Int_t i=4;i<=12;i++) fPartAntipart->SetBinContent(i,0.05);   //5 to 12%
775   */
776   return;
777 }
778    
779  
780 //--------------------------------------------------------------------------
781 void AliHFSystErr::InitDplustoKpipi2011PbPb07half() {
782   // 
783   // D+->Kpipi syst errors. Responsible: E. Bruna
784   //  2011 PbPb sample, 0-7.5% CC
785   //
786
787  // Normalization
788   fNorm = new TH1F("fNorm","fNorm",36,0,36);
789   for(Int_t i=1;i<=36;i++) fNorm->SetBinContent(i,0.048); // TAA and pp norm
790
791   // Branching ratio 
792   fBR = new TH1F("fBR","fBR",36,0,36);
793   for(Int_t i=1;i<=36;i++) fBR->SetBinContent(i,0.021); // 2.1% PDG2010
794
795   // Tracking efficiency
796   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",36,0,36);
797   for(Int_t i=1;i<=36;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
798
799   // Raw yield extraction
800   fRawYield = new TH1F("fRawYield","fRawYield",36,0,36);
801   for(Int_t i=1;i<=36;i++) fRawYield->SetBinContent(i,.10);  //5 to 10%
802   fRawYield->SetBinContent(4,0.30);
803   fRawYield->SetBinContent(5,0.20);
804   fRawYield->SetBinContent(6,0.20);
805   for(Int_t i=7; i<=8; i++) fRawYield->SetBinContent(i,0.10);
806   for(Int_t i=9; i<=12; i++) fRawYield->SetBinContent(i,0.08);
807   for(Int_t i=13; i<=16; i++) fRawYield->SetBinContent(i,0.05);
808   for(Int_t i=17; i<=24; i++) fRawYield->SetBinContent(i,0.08);
809   for(Int_t i=25; i<=36; i++) fRawYield->SetBinContent(i,0.20);
810
811
812   // Cuts efficiency (from cuts variation)
813   fCutsEff = new TH1F("fCutsEff","fCutsEff",36,0,36);
814   for(Int_t i=1; i<=12; i++) fCutsEff->SetBinContent(i,0.10);
815   for(Int_t i=13; i<=36; i++) fCutsEff->SetBinContent(i,0.08);
816
817
818   // PID efficiency (from PID/noPID)
819   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
820   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.05); // 5%
821
822   // MC dN/dpt  (24/7/2012)
823   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",36,0,36);
824   for(Int_t iBin=1; iBin<=5; iBin++) fMCPtShape->SetBinContent(iBin,0.05);
825   for(Int_t iBin=6; iBin<=36; iBin++) fMCPtShape->SetBinContent(iBin,0.03);
826   //  for(Int_t iBin=13; iBin<=36; iBin++) fMCPtShape->SetBinContent(iBin,0.05);
827
828
829   // particle-antiparticle
830   /*
831   fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
832   fPartAntipart->SetBinContent(1,1);
833   fPartAntipart->SetBinContent(2,1);
834   fPartAntipart->SetBinContent(3,0.12);
835   for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05);   //5 to 12%
836   */
837
838   return;
839 }
840
841 //--------------------------------------------------------------------------
842 void AliHFSystErr::InitDstoKKpi2011PbPb07half() {
843   // 
844   // D+s->Kpipi syst errors. Responsible: G.M. Innocenti
845   //  2011 PbPb sample, 0-7.5% CC
846   //
847
848  // Normalization
849   fNorm = new TH1F("fNorm","fNorm",12,0,12);
850   for(Int_t i=1;i<=12;i++) fNorm->SetBinContent(i,0.048); // TAA and pp norm
851
852   // Branching ratio 
853   fBR = new TH1F("fBR","fBR",12,0,12);
854   for(Int_t i=1;i<=12;i++) fBR->SetBinContent(i,0.053); // 0.12/2.28 PDG2012
855
856   // Tracking efficiency
857   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",12,0,12);
858   for(Int_t i=1;i<=12;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
859
860   // Raw yield extraction
861   fRawYield = new TH1F("fRawYield","fRawYield",12,0,12);
862   for(Int_t i=1;i<=6;i++) fRawYield->SetBinContent(i,.30); 
863   for(Int_t i=7; i<=12; i++) fRawYield->SetBinContent(i,0.20);
864  
865
866
867   // Cuts efficiency (from cuts variation)
868   fCutsEff = new TH1F("fCutsEff","fCutsEff",12,0,12);
869   for(Int_t i=1;i<=12;i++) fCutsEff->SetBinContent(i,0.20); // 20%
870
871   // PID efficiency (from PID/noPID)
872   fPIDEff = new TH1F("fPIDEff","fPIDEff",12,0,12);
873   for(Int_t i=1;i<=12;i++) fPIDEff->SetBinContent(i,0.1); // 10%
874
875    // MC dN/dpt 
876   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",12,0,12);
877   for(Int_t i=1; i<=2; i++) fMCPtShape->SetBinContent(i,1.);
878   for(Int_t i=3; i<=4; i++) fMCPtShape->SetBinContent(i,0.03);
879   for(Int_t i=5; i<=6; i++) fMCPtShape->SetBinContent(i,0.03);
880   for(Int_t i=7; i<=8; i++) fMCPtShape->SetBinContent(i,0.02);
881   for(Int_t i=9; i<=12; i++) fMCPtShape->SetBinContent(i,0.02);
882
883   // particle-antiparticle
884   /*
885   fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",12,0,12);
886   fPartAntipart->SetBinContent(1,1);
887   fPartAntipart->SetBinContent(2,1);
888   fPartAntipart->SetBinContent(3,0.12);
889   for(Int_t i=4;i<=12;i++) fPartAntipart->SetBinContent(i,0.05);   //5 to 12%
890   */
891
892   return;
893 }
894
895 //_________________________________________________________________________
896 void AliHFSystErr::InitDstoKKpi2013pPb0100(){
897   //
898   // Dstar syst
899   AliInfo(" Settings for Ds --> K K pi, p-Pb collisions at 5.023 TeV"); 
900   
901   //Normalization
902   fNorm = new TH1F("fNorm","fNorm",24,0,24);
903   for(Int_t i=3;i<=12;i++) fNorm->SetBinContent(i,0.00); // 
904   
905  // Branching ratio 
906   fBR = new TH1F("fBR","fBR",12,0,12);
907   for(Int_t i=3;i<=12;i++) fBR->SetBinContent(i,0.053); // 0.12/2.28 PDG2012
908
909   // Tracking efficiency
910   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);
911   for(Int_t i=3;i<=12;i++) fTrackingEff->SetBinContent(i,0.09); // 3% per track
912
913   // Raw yield extraction
914   fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
915   for(Int_t i=3; i<=4; i++) fRawYield->SetBinContent(i,0.10);
916   for(Int_t i=5; i<=6; i++) fRawYield->SetBinContent(i,0.08);
917   for(Int_t i=7; i<=8; i++) fRawYield->SetBinContent(i,0.05);
918   for(Int_t i=9; i<=12; i++) fRawYield->SetBinContent(i,0.08);
919
920   // Cuts efficiency (from cuts variation)
921   fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
922   for(Int_t i=3;i<=12;i++) fCutsEff->SetBinContent(i,0.15); //
923
924   // PID efficiency (from PID/noPID)
925   fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
926   for(Int_t i=3;i<=4;i++) fPIDEff->SetBinContent(i,0.10); 
927   for(Int_t i=5;i<=12;i++) fPIDEff->SetBinContent(i,0.05); 
928
929   // MC dN/dpt  
930   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
931   for(Int_t i=3;i<=12;i++) fMCPtShape->SetBinContent(i,0.04);
932
933   // particle-antiparticle
934   /*
935   fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
936   fPartAntipart->SetBinContent(1,1);
937   fPartAntipart->SetBinContent(2,1);
938   fPartAntipart->SetBinContent(3,0.12);
939   for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05);   //5 to 12%
940   */
941   return;
942 }
943
944
945 //--------------------------------------------------------------------------
946 void AliHFSystErr::InitDplustoKpipi2010PbPb020() {
947   // 
948   // D+->Kpipi syst errors. Responsible: ??
949   //  2010 PbPb sample, 0-20 CC
950   //
951
952  // Normalization
953   fNorm = new TH1F("fNorm","fNorm",20,0,20);
954   for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.05); // TAA and pp norm
955
956   // Branching ratio 
957   fBR = new TH1F("fBR","fBR",20,0,20);
958   for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.021); // 2.1% PDG2010
959
960   // Tracking efficiency
961   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
962   for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
963
964   // Raw yield extraction
965   fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
966   for(Int_t i=1;i<=20;i++) fRawYield->SetBinContent(i,.10);  //5 to 10%
967   // fRawYield->SetBinContent(5,0.23);
968   //fRawYield->SetBinContent(6,0.23);
969   fRawYield->SetBinContent(7,0.20);
970   fRawYield->SetBinContent(8,0.20);
971   fRawYield->SetBinContent(9,0.15);
972   fRawYield->SetBinContent(10,0.15);
973   fRawYield->SetBinContent(11,0.15);
974   fRawYield->SetBinContent(12,0.15);
975
976   // Cuts efficiency (from cuts variation)
977   fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
978   for(Int_t i=1;i<=20;i++) fCutsEff->SetBinContent(i,0.15); // 10%
979
980   // PID efficiency (from PID/noPID)
981   fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
982   for(Int_t i=1;i<=20;i++) fPIDEff->SetBinContent(i,0.05); // 5%
983
984   // MC dN/dpt  (2/2/2012)
985   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
986   for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.);
987   for(Int_t iBin=7; iBin<=8; iBin++) fMCPtShape->SetBinContent(iBin,0.01);
988   for(Int_t iBin=9; iBin<=12; iBin++) fMCPtShape->SetBinContent(iBin,0.05);
989   for(Int_t iBin=13; iBin<=16; iBin++) fMCPtShape->SetBinContent(iBin,0.05);
990
991
992   // particle-antiparticle
993   /*
994   fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
995   fPartAntipart->SetBinContent(1,1);
996   fPartAntipart->SetBinContent(2,1);
997   fPartAntipart->SetBinContent(3,0.12);
998   for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05);   //5 to 12%
999   */
1000
1001   return;
1002 }
1003
1004 //--------------------------------------------------------------------------
1005 void AliHFSystErr::InitDplustoKpipi2010PbPb4080() {
1006   // 
1007   // D+->Kpipi syst errors. Responsible: ??
1008   //  2010 PbPb sample, 40-80 CC
1009   //
1010   
1011
1012  // Normalization
1013   fNorm = new TH1F("fNorm","fNorm",20,0,20);
1014   for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.07); // TAA and pp norm
1015
1016   // Branching ratio 
1017   fBR = new TH1F("fBR","fBR",20,0,20);
1018   for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.021); // 2.1% 
1019
1020   // Tracking efficiency
1021   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
1022   for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
1023
1024
1025   // Raw yield extraction
1026   fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
1027   fRawYield->SetBinContent(1,1);
1028   fRawYield->SetBinContent(2,1);
1029   fRawYield->SetBinContent(3,1);
1030   fRawYield->SetBinContent(4,0.15);
1031   fRawYield->SetBinContent(5,0.05);
1032   fRawYield->SetBinContent(6,0.05);
1033   fRawYield->SetBinContent(7,0.15);
1034   fRawYield->SetBinContent(8,0.15);
1035   for(Int_t i=9;i<=12;i++) fRawYield->SetBinContent(i,0.15);
1036   for(Int_t i=13;i<=20;i++) fRawYield->SetBinContent(i,1);  //5 to 10%
1037
1038   // Cuts efficiency (from cuts variation)
1039   fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
1040   for(Int_t i=1;i<=20;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1041
1042   // PID efficiency (from PID/noPID)
1043   fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
1044   for(Int_t i=1;i<=20;i++) fPIDEff->SetBinContent(i,0.05); // 5%
1045   fPIDEff->SetBinContent(3,0.13); // 13%
1046  
1047
1048   // MC dN/dpt  (2/2/2012)
1049   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
1050   for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0);
1051   for(Int_t iBin=4; iBin<=8; iBin++) fMCPtShape->SetBinContent(iBin,0.01);
1052   for(Int_t iBin=9; iBin<=12; iBin++) fMCPtShape->SetBinContent(iBin,0.03);
1053   for(Int_t iBin=13; iBin<=16; iBin++) fMCPtShape->SetBinContent(iBin,0.03);
1054
1055
1056   // particle-antiparticle
1057   /*
1058   fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
1059   fPartAntipart->SetBinContent(1,1);
1060   fPartAntipart->SetBinContent(2,1);
1061   fPartAntipart->SetBinContent(3,0.12);
1062   for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05);   //5 to 12%
1063   */
1064   return;
1065 }
1066
1067 //--------------------------------------------------------------------------
1068 void AliHFSystErr::InitDplustoKpipi2010ppLowEn() {
1069
1070   // 
1071   // D+->Kpipi syst errors. Responsible: R. Bala
1072   //  2011 2.76 TeV pp sample
1073   //
1074   AliInfo(" Settings for D+ --> K pi pi p-p collisions at 2.76 TeV"); 
1075
1076   // Normalization
1077   fNorm = new TH1F("fNorm","fNorm",20,0,20);
1078   for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.031); // 10% error on sigmaV0and
1079
1080   // Branching ratio 
1081   fBR = new TH1F("fBR","fBR",20,0,20);
1082   for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.021); // 2.1% PDG2010
1083
1084   // Tracking efficiency
1085   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
1086   for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.15); // 3% (1% per track)
1087
1088   // Raw yield extraction
1089   fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
1090   fRawYield->SetBinContent(1,1);
1091   fRawYield->SetBinContent(2,1);
1092   for(Int_t i=3;i<=6;i++) fRawYield->SetBinContent(i,0.10);  //5 to 10%
1093   fRawYield->SetBinContent(7,0.15);
1094   fRawYield->SetBinContent(8,0.15); 
1095   for(Int_t i=9;i<=20;i++) fRawYield->SetBinContent(i,0.055);  //5 to 10%
1096
1097   // Cuts efficiency (from cuts variation)
1098   fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
1099   for(Int_t i=1;i<=20;i++) fCutsEff->SetBinContent(i,0.15); // 10%
1100
1101   // PID efficiency (from PID/noPID)
1102   fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
1103   for(Int_t i=1;i<=20;i++) fPIDEff->SetBinContent(i,0.05); // 5%
1104   fPIDEff->SetBinContent(3,0.10); // 13%
1105   fPIDEff->SetBinContent(4,0.10); // 13%
1106  
1107   // MC dN/dpt  (copied from D0 : will update later)
1108   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
1109   for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.01);
1110   fMCPtShape->SetBinContent(1,0.03);
1111   fMCPtShape->SetBinContent(2,0.03);
1112
1113   return;
1114 }
1115
1116 //_________________________________________________________________________
1117 void AliHFSystErr::InitDplustoKpipi2013pPb0100(){
1118   //
1119   // Dplus syst 
1120   AliInfo(" Settings for D+ --> K pi pi, p-Pb collisions at 5.023 TeV"); 
1121
1122   fNorm = new TH1F("fNorm","fNorm",24,0,24);
1123   for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.00); // 
1124   
1125   fBR = new TH1F("fBR","fBR",20,0,24);
1126   for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.021); // 2.1% PDG2010
1127
1128   // Tracking efficiency
1129   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);
1130   for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.09); // 3% per track
1131   
1132   // Raw yield extraction
1133   fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
1134   fRawYield->SetBinContent(1,1);
1135   fRawYield->SetBinContent(2,1);
1136   fRawYield->SetBinContent(3,0.06);
1137   fRawYield->SetBinContent(4,0.12);
1138   fRawYield->SetBinContent(5,0.05);
1139   fRawYield->SetBinContent(6,0.04);
1140   fRawYield->SetBinContent(7,0.04);
1141   fRawYield->SetBinContent(8,0.04);
1142   for(Int_t i=9;i<=12;i++) fRawYield->SetBinContent(i,0.07);
1143   for(Int_t i=13;i<=16;i++) fRawYield->SetBinContent(i,0.17);
1144   for(Int_t i=17;i<=24;i++) fRawYield->SetBinContent(i,0.14);
1145
1146   // Cuts efficiency (from cuts variation)
1147   fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
1148   fCutsEff->SetBinContent(1,1);
1149   fCutsEff->SetBinContent(2,1);
1150   fCutsEff->SetBinContent(3,0.07);
1151   fCutsEff->SetBinContent(4,0.04);
1152   fCutsEff->SetBinContent(5,0.04);
1153   fCutsEff->SetBinContent(6,0.08);
1154   fCutsEff->SetBinContent(7,0.08);
1155   fCutsEff->SetBinContent(8,0.08);
1156   for(Int_t i=9;i<=12;i++) fCutsEff->SetBinContent(i,0.08);
1157   for(Int_t i=13;i<=16;i++) fCutsEff->SetBinContent(i,0.08);
1158   for(Int_t i=17;i<=24;i++) fCutsEff->SetBinContent(i,0.1); 
1159
1160   // PID efficiency (from PID/noPID)
1161   fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
1162   fPIDEff->SetBinContent(1,1);
1163   fPIDEff->SetBinContent(2,1);
1164   for(Int_t i=3;i<=12;i++) fPIDEff->SetBinContent(i,0.0); //
1165   for(Int_t i=13;i<=24;i++) fPIDEff->SetBinContent(i,0.05); // 5%
1166
1167   // MC dN/dpt
1168   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
1169   for(Int_t i=1;i<=12;i++) fMCPtShape->SetBinContent(i,0.02);
1170   for(Int_t i=13;i<=24;i++) fMCPtShape->SetBinContent(i,0.04);
1171
1172   // particle-antiparticle
1173   /*
1174   fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
1175   fPartAntipart->SetBinContent(1,1);
1176   fPartAntipart->SetBinContent(2,1);
1177   fPartAntipart->SetBinContent(3,0.12);
1178   for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05);   //5 to 12%
1179   */
1180   return;
1181
1182
1183 }
1184
1185 //--------------------------------------------------------------------------
1186 void AliHFSystErr::InitDstartoD0pi2010pp() {
1187   // 
1188   // D*+->D0pi syst errors. Responsible: A. Grelli, Y. Wang
1189   //  2010 pp sample
1190   //
1191
1192  // Normalization
1193   fNorm = new TH1F("fNorm","fNorm",24,0,24);
1194   for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.035); // 4% error on sigmaV0and
1195
1196   // Branching ratio 
1197   fBR = new TH1F("fBR","fBR",24,0,24);
1198   for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1199
1200   // Tracking efficiency
1201   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);
1202   fTrackingEff->SetBinContent(1,1.0);
1203   fTrackingEff->SetBinContent(2,0.13); // 10% (ITSsa) \oplus 8% (4% per ITSTPC track)
1204   fTrackingEff->SetBinContent(3,0.12);
1205   fTrackingEff->SetBinContent(3,0.12);
1206   for(Int_t i=4;i<=24;i++) fTrackingEff->SetBinContent(i,0.12); // 12% (4% per track)
1207
1208
1209   // Raw yield extraction
1210   fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
1211   fRawYield->SetBinContent(1,1.0);
1212   fRawYield->SetBinContent(2,0.10);
1213   fRawYield->SetBinContent(3,0.04);
1214   fRawYield->SetBinContent(4,0.03);
1215   fRawYield->SetBinContent(5,0.03);
1216   fRawYield->SetBinContent(6,0.05);
1217   fRawYield->SetBinContent(7,0.05);
1218   fRawYield->SetBinContent(8,0.05);
1219   for(Int_t i=9;i<=12;i++) fRawYield->SetBinContent(i,0.04);  //4%
1220   for(Int_t i=13;i<=16;i++) fRawYield->SetBinContent(i,0.09);  //4%
1221   for(Int_t i=17;i<=24;i++) fRawYield->SetBinContent(i,0.2);  //4%
1222
1223   // Cuts efficiency (from cuts variation)
1224   fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
1225   fCutsEff->SetBinContent(2,0.22);
1226   for(Int_t i=3;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1227
1228   // PID efficiency (from PID/noPID)
1229   fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
1230   for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.04); // 3%
1231  
1232
1233   // MC dN/dpt  (copied from D0 : will update later)
1234   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
1235   for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0);
1236   fMCPtShape->SetBinContent(1,0.03);
1237   fMCPtShape->SetBinContent(2,0.03);
1238
1239   return;
1240
1241
1242 }
1243 //--------------------------------------------------------------------------
1244 void AliHFSystErr::InitDstartoD0pi2010ppLowEn() {
1245
1246   // 
1247   // D+->Kpipi syst errors. Responsible: A. Grelli
1248   //  2011 2.76 TeV pp sample
1249   //
1250   AliInfo(" Settings for D*+ --> D0 pi p-p collisions at 2.76 TeV"); 
1251
1252 // Normalization
1253   fNorm = new TH1F("fNorm","fNorm",20,0,20);
1254   for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.031); // 10% error on sigmaV0and
1255
1256   // Branching ratio 
1257   fBR = new TH1F("fBR","fBR",20,0,20);
1258   for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1259
1260   // Tracking efficiency
1261   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
1262   for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.15); //10% (to be checked!!)
1263
1264   // Raw yield extraction
1265   fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
1266   fRawYield->SetBinContent(1,1);
1267   fRawYield->SetBinContent(2,1);
1268   fRawYield->SetBinContent(3,0.14);
1269   fRawYield->SetBinContent(4,0.14);
1270   fRawYield->SetBinContent(5,0.12);
1271   fRawYield->SetBinContent(6,0.12);
1272   fRawYield->SetBinContent(7,0.06);
1273   fRawYield->SetBinContent(8,0.06);
1274   fRawYield->SetBinContent(9,0.08);
1275   fRawYield->SetBinContent(10,0.08);
1276   fRawYield->SetBinContent(11,0.08);
1277   fRawYield->SetBinContent(12,0.08);
1278   for(Int_t i=9;i<=20;i++) fRawYield->SetBinContent(i,0.065);
1279
1280   // Cuts efficiency (from cuts variation)
1281   fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
1282   for(Int_t i=1;i<=20;i++) fCutsEff->SetBinContent(i,0.10);  
1283   fCutsEff->SetBinContent(3,0.15);
1284   fCutsEff->SetBinContent(4,0.15);
1285   fCutsEff->SetBinContent(5,0.15);
1286   fCutsEff->SetBinContent(6,0.15);
1287   fCutsEff->SetBinContent(7,0.10);
1288   fCutsEff->SetBinContent(8,0.10);
1289   fCutsEff->SetBinContent(9,0.10);
1290   fCutsEff->SetBinContent(10,0.10);
1291   fCutsEff->SetBinContent(11,0.10);
1292   fCutsEff->SetBinContent(12,0.10);
1293
1294   // PID efficiency (from PID/noPID)
1295   fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
1296   for(Int_t i=1;i<=20;i++) fPIDEff->SetBinContent(i,0.05); // 10%
1297
1298   // MC dN/dpt
1299   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
1300   for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.01);
1301   fMCPtShape->SetBinContent(1,0.03);
1302   fMCPtShape->SetBinContent(2,0.03);
1303
1304   return;
1305 }
1306
1307 //------------------------------------------------------------------------
1308 void AliHFSystErr::InitDstartoD0pi2010PbPb020() {
1309   // 
1310   // D*+->D0pi syst errors. Responsible: A. Grelli
1311   //  2010 PbPb sample, 0-20 CC
1312   //
1313
1314   AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 0-20 centrality - DUMMY"); 
1315
1316  // Normalization
1317   fNorm = new TH1F("fNorm","fNorm",24,0,24);
1318   for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.05); // TAA and pp norm
1319
1320   // Branching ratio 
1321   fBR = new TH1F("fBR","fBR",24,0,24);
1322   for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1323
1324   // Tracking efficiency
1325   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);;
1326   for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
1327
1328
1329   // Raw yield extraction
1330   fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
1331   for(Int_t i=1;i<=24;i++) fRawYield->SetBinContent(i,0.1);  //4%
1332   fRawYield->SetBinContent(3,0.2);
1333   fRawYield->SetBinContent(4,0.2);
1334   fRawYield->SetBinContent(5,0.2);
1335   fRawYield->SetBinContent(6,0.2);
1336  
1337   // Cuts efficiency (from cuts variation)
1338   fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
1339   for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1340   fCutsEff->SetBinContent(4,0.15);
1341   fCutsEff->SetBinContent(5,0.15);
1342   fCutsEff->SetBinContent(6,0.15);
1343
1344   // PID efficiency (from PID/noPID)
1345   fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
1346   for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.05); // 3%
1347  
1348
1349   // MC dN/dpt  (from study on D* pt shape)
1350   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
1351   for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.045);
1352   fMCPtShape->SetBinContent(4,0.025);
1353   fMCPtShape->SetBinContent(5,0.025);
1354   fMCPtShape->SetBinContent(6,0.025);
1355   fMCPtShape->SetBinContent(7,0.04);
1356   fMCPtShape->SetBinContent(8,0.04);
1357   fMCPtShape->SetBinContent(9,0.03);
1358   fMCPtShape->SetBinContent(10,0.03);
1359   fMCPtShape->SetBinContent(11,0.03);
1360   fMCPtShape->SetBinContent(12,0.03);
1361   
1362   return;
1363
1364 }
1365 // ----------------------------- 2011 ----------------------------------
1366 void AliHFSystErr::InitDstartoD0pi2011PbPb07half() {
1367   // 
1368   // D*+->D0pi syst errors. Responsible: A. Grelli
1369   //  2011 PbPb sample, 0-7.5 CC
1370   //
1371
1372   AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 0-7.5 centrality - DUMMY"); 
1373
1374
1375  // Normalization
1376   fNorm = new TH1F("fNorm","fNorm",36,0,36);
1377   for(Int_t i=1;i<=36;i++) fNorm->SetBinContent(i,0.048); // TAA and pp norm
1378
1379   // Branching ratio 
1380   fBR = new TH1F("fBR","fBR",36,0,36);
1381   for(Int_t i=1;i<=36;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1382
1383   // Tracking efficiency
1384   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",36,0,36);;
1385   for(Int_t i=1;i<=36;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
1386
1387
1388   // Raw yield extraction
1389   fRawYield = new TH1F("fRawYield","fRawYield",36,0,36);
1390   for(Int_t i=1;i<=36;i++) fRawYield->SetBinContent(i,0.05);  //4%
1391   fRawYield->SetBinContent(4,0.2);
1392   fRawYield->SetBinContent(5,0.10);
1393   fRawYield->SetBinContent(6,0.10);
1394   fRawYield->SetBinContent(7,0.08);
1395   for(Int_t i=25;i<=36;i++) fRawYield->SetBinContent(i,0.15);  //4%
1396
1397   // Cuts efficiency (from cuts variation)
1398   fCutsEff = new TH1F("fCutsEff","fCutsEff",36,0,36);
1399   for(Int_t i=1;i<=36;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1400
1401   // PID efficiency (from PID/noPID)
1402   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
1403   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.05); // 3%
1404   fPIDEff->SetBinContent(4,0.09);
1405
1406   // MC dN/dpt  (from study on D* pt shape)
1407   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",36,0,36);
1408   for(Int_t i=1;i<=36;i++) fMCPtShape->SetBinContent(i,0.035);
1409   fMCPtShape->SetBinContent(4,0.015);
1410   fMCPtShape->SetBinContent(5,0.015);
1411   fMCPtShape->SetBinContent(6,0.015);
1412   fMCPtShape->SetBinContent(7,0.02);
1413   fMCPtShape->SetBinContent(8,0.02);
1414   fMCPtShape->SetBinContent(9,0.03);
1415   fMCPtShape->SetBinContent(10,0.03);
1416   fMCPtShape->SetBinContent(11,0.03);
1417   fMCPtShape->SetBinContent(12,0.03);
1418   
1419   
1420
1421   return;
1422
1423 }
1424 //-------------------------------------------------------------------------
1425 void AliHFSystErr::InitDstartoD0pi2010PbPb2040() {
1426   // 
1427   // D*+->D0pi syst errors. Responsible: A. Grelli
1428   //  2010 PbPb sample, 20-40 CC
1429   //
1430
1431   AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 20-40 centrality - DUMMY"); 
1432
1433  // Normalization
1434   fNorm = new TH1F("fNorm","fNorm",24,0,24);
1435   for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.10); // 10% error on sigmaV0and
1436
1437   // Branching ratio 
1438   fBR = new TH1F("fBR","fBR",24,0,24);
1439   for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1440
1441   // Tracking efficiency
1442   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);;
1443   for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
1444
1445
1446   // Raw yield extraction
1447   fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
1448   for(Int_t i=1;i<=24;i++) fRawYield->SetBinContent(i,0.15);  //4%
1449  
1450   // Cuts efficiency (from cuts variation)
1451   fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
1452   for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1453
1454   // PID efficiency (from PID/noPID)
1455   fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
1456   for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.04); // 3%
1457  
1458
1459   // MC dN/dpt  (copied from D0 : will update later)
1460   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
1461   for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.);
1462   fMCPtShape->SetBinContent(1,0.03);
1463   fMCPtShape->SetBinContent(2,0.03);
1464
1465   return;
1466
1467 }
1468
1469 //--------------------------------------------------------------------------
1470 void AliHFSystErr::InitDstartoD0pi2010PbPb4080() {
1471   // 
1472   // D*+->D0pi syst errors. Responsible: A. Grelli
1473   //  2010 PbPb sample, 40-80 CC
1474   //
1475
1476   AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 40-80 centrality - DUMMY"); 
1477
1478  // Normalization
1479   fNorm = new TH1F("fNorm","fNorm",24,0,24);
1480   for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.07); // TAA and pp norm
1481
1482   // Branching ratio 
1483   fBR = new TH1F("fBR","fBR",24,0,24);
1484   for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1485
1486   // Tracking efficiency
1487   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);;
1488   for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
1489
1490
1491   // Raw yield extraction
1492   fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
1493   for(Int_t i=1;i<=24;i++) fRawYield->SetBinContent(i,0.2);  //4%
1494   fRawYield->SetBinContent(1,1);
1495   fRawYield->SetBinContent(2,0.15);
1496   fRawYield->SetBinContent(3,0.15);
1497   fRawYield->SetBinContent(4,0.15);
1498   fRawYield->SetBinContent(5,0.15);
1499   fRawYield->SetBinContent(6,0.10);
1500   fRawYield->SetBinContent(7,0.10);
1501   fRawYield->SetBinContent(8,0.10);
1502   fRawYield->SetBinContent(9,0.11);
1503   fRawYield->SetBinContent(10,0.11);
1504   fRawYield->SetBinContent(11,0.11);
1505   fRawYield->SetBinContent(12,0.11);
1506   fRawYield->SetBinContent(13,0.08);
1507   fRawYield->SetBinContent(14,0.08);
1508   fRawYield->SetBinContent(15,0.08);
1509   fRawYield->SetBinContent(16,0.08);
1510
1511
1512   // Cuts efficiency (from cuts variation)
1513   fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
1514   for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1515
1516   // PID efficiency (from PID/noPID)
1517   fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
1518   for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.05); // 3%
1519  
1520
1521   // MC dN/dpt  (copied from D0 : will update later)
1522   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
1523   for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.01);
1524   fMCPtShape->SetBinContent(2,0.05);
1525   fMCPtShape->SetBinContent(3,0.05);
1526   fMCPtShape->SetBinContent(4,0.05);
1527   fMCPtShape->SetBinContent(5,0.04);
1528   fMCPtShape->SetBinContent(6,0.02);
1529   fMCPtShape->SetBinContent(7,0.04);
1530   fMCPtShape->SetBinContent(8,0.04);
1531  
1532   return;
1533
1534 }
1535
1536 //_________________________________________________________________________
1537 void AliHFSystErr::InitDstartoD0pi2013pPb0100(){
1538   // Dstar syst in pPb 2013 MB
1539   //
1540   AliInfo(" Settings for D* --> D0 pi, p-Pb collisions at 5.023 TeV"); 
1541
1542   //Normalization
1543   fNorm = new TH1F("fNorm","fNorm",24,0,24);
1544   for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.00); // 
1545   
1546   // Branching ratio
1547   fBR = new TH1F("fBR","fBR",24,0,24);
1548   for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1549
1550   // Tracking efficiency
1551   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);
1552   for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.09); // 3% per track
1553
1554   // Raw yield extraction
1555   fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
1556   fRawYield->SetBinContent(1,1.0);
1557   fRawYield->SetBinContent(2,0.08);
1558   fRawYield->SetBinContent(3,0.02);
1559   fRawYield->SetBinContent(4,0.02);
1560   fRawYield->SetBinContent(5,0.05);
1561   fRawYield->SetBinContent(6,0.02);
1562   fRawYield->SetBinContent(7,0.04);
1563   fRawYield->SetBinContent(8,0.04);
1564   for(Int_t i=9;i<=12;i++) fRawYield->SetBinContent(i,0.05); 
1565   for(Int_t i=13;i<=16;i++) fRawYield->SetBinContent(i,0.06);
1566   for(Int_t i=17;i<=24;i++) fRawYield->SetBinContent(i,0.06);
1567
1568   // Cuts efficiency (from cuts variation)
1569   fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
1570   fCutsEff->SetBinContent(1,0.);
1571   fCutsEff->SetBinContent(2,0.10);
1572   for(Int_t i=3;i<=24;i++) fCutsEff->SetBinContent(i,0.05);
1573
1574   // PID efficiency (from PID/noPID)
1575   fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
1576   fPIDEff->SetBinContent(1,0.0);
1577   fPIDEff->SetBinContent(2,0.05);
1578   for(Int_t i=3;i<=12;i++) fPIDEff->SetBinContent(i,0.00);
1579   for(Int_t i=12;i<=24;i++) fPIDEff->SetBinContent(i,0.05);
1580
1581   // MC dN/dpt  
1582   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
1583   for(Int_t i=1;i<=3;i++) fMCPtShape->SetBinContent(i,0.03);
1584   for(Int_t i=4;i<=6;i++) fMCPtShape->SetBinContent(i,0.);
1585   for(Int_t i=7;i<=24;i++) fMCPtShape->SetBinContent(i,0.01);
1586
1587   // particle-antiparticle
1588   /*
1589   fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
1590   fPartAntipart->SetBinContent(1,1);
1591   fPartAntipart->SetBinContent(2,1);
1592   fPartAntipart->SetBinContent(3,0.12);
1593   for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05);   //5 to 12%
1594   */
1595   return;
1596
1597
1598 }
1599
1600 //--------------------------------------------------------------------------
1601 void AliHFSystErr::InitD0toKpi2010PbPb010CentScan(){
1602   // define errors for RAA vs. centrality
1603   InitD0toKpi2010PbPb020();
1604   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
1605   for(Int_t i=3;i<=5;i++) fMCPtShape->SetBinContent(i,0.17);      
1606   for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08); 
1607 }
1608 //--------------------------------------------------------------------------
1609 void AliHFSystErr::InitD0toKpi2010PbPb1020CentScan(){
1610   // define errors for RAA vs. centrality
1611   InitD0toKpi2010PbPb020();
1612   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
1613   for(Int_t i=3;i<=5;i++)  fMCPtShape->SetBinContent(i,0.17);    
1614   for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08); 
1615 }
1616 //--------------------------------------------------------------------------
1617 void AliHFSystErr::InitD0toKpi2010PbPb2040CentScan(){
1618   // define errors for RAA vs. centrality
1619   InitD0toKpi2010PbPb4080();
1620   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
1621   for(Int_t i=3;i<=5;i++)  fMCPtShape->SetBinContent(i,0.14);
1622   for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08); 
1623 }
1624 //--------------------------------------------------------------------------
1625 void AliHFSystErr::InitD0toKpi2010PbPb4060CentScan(){
1626    // define errors for RAA vs. centrality
1627   InitD0toKpi2010PbPb4080();
1628   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.06);
1629   for(Int_t i=3;i<=5;i++)  fMCPtShape->SetBinContent(i,0.11);  
1630   for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08); 
1631 }
1632 //--------------------------------------------------------------------------
1633 void AliHFSystErr::InitD0toKpi2010PbPb6080CentScan(){
1634    // define errors for RAA vs. centrality
1635   InitD0toKpi2010PbPb4080();
1636   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.08);
1637   for(Int_t i=3;i<=5;i++) fMCPtShape->SetBinContent(i,0.08);
1638   for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08); 
1639 }
1640 //--------------------------------------------------------------------------
1641 void AliHFSystErr::InitDplustoKpipi2010PbPb010CentScan(){
1642   // define errors for RAA vs. centrality
1643   InitDplustoKpipi2010PbPb020();
1644   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.18);
1645   for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.09);
1646
1647 }
1648 //--------------------------------------------------------------------------
1649 void AliHFSystErr::InitDplustoKpipi2010PbPb1020CentScan(){
1650   // define errors for RAA vs. centrality
1651   InitDplustoKpipi2010PbPb020();
1652   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.23);
1653   for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
1654 }
1655 //--------------------------------------------------------------------------
1656 void AliHFSystErr::InitDplustoKpipi2010PbPb2040CentScan(){
1657   // define errors for RAA vs. centrality
1658   InitDplustoKpipi2010PbPb020();
1659   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.08);
1660   for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.095);
1661 }
1662 //--------------------------------------------------------------------------
1663 void AliHFSystErr::InitDplustoKpipi2010PbPb4060CentScan(){
1664   // define errors for RAA vs. centrality
1665   InitDplustoKpipi2010PbPb4080();
1666   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.08);
1667   for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
1668 }
1669 //--------------------------------------------------------------------------
1670 void AliHFSystErr::InitDplustoKpipi2010PbPb6080CentScan(){
1671   // define errors for RAA vs. centrality
1672   InitDplustoKpipi2010PbPb4080();
1673   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.15);
1674   for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.07);
1675 }
1676
1677 //--------------------------------------------------------------------------
1678 void AliHFSystErr::InitDstartoD0pi2010PbPb010CentScan(){
1679   // define errors for RAA vs. centrality
1680   InitDstartoD0pi2010PbPb020();
1681   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.16); 
1682   for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.15);
1683 }
1684 //--------------------------------------------------------------------------
1685 void AliHFSystErr::InitDstartoD0pi2010PbPb1020CentScan(){
1686   // define errors for RAA vs. centrality
1687   InitDstartoD0pi2010PbPb020();
1688   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05); 
1689   for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.15);
1690 }
1691 //--------------------------------------------------------------------------
1692 void AliHFSystErr::InitDstartoD0pi2010PbPb2040CentScan(){
1693   // define errors for RAA vs. centrality
1694   InitDstartoD0pi2010PbPb2040();
1695   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.10); 
1696   for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
1697 }
1698 //--------------------------------------------------------------------------
1699 void AliHFSystErr::InitDstartoD0pi2010PbPb4060CentScan(){
1700   // define errors for RAA vs. centrality
1701   InitDstartoD0pi2010PbPb4080();
1702   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.10); 
1703   for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.045);
1704 }
1705 //--------------------------------------------------------------------------
1706 void AliHFSystErr::InitDstartoD0pi2010PbPb6080CentScan(){
1707   // define errors for RAA vs. centrality
1708   InitDstartoD0pi2010PbPb4080();
1709   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.10); 
1710   for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.045);
1711 }
1712
1713 //--------------------------------------------------------------------------
1714 void AliHFSystErr::InitD0toKpi2011PbPb010CentScan(){
1715   // define errors for RAA vs. centrality 2011
1716   InitD0toKpi2011PbPb07half();
1717   
1718 }
1719 //--------------------------------------------------------------------------
1720 void AliHFSystErr::InitD0toKpi2011PbPb1020CentScan(){
1721   // define errors for RAA vs. centrality 2011
1722   InitD0toKpi2011PbPb07half();
1723   
1724 }
1725 //--------------------------------------------------------------------------
1726 void AliHFSystErr::InitD0toKpi2011PbPb2030CentScan(){
1727   // define errors for RAA vs. centrality 2011
1728   InitD0toKpi2011PbPb07half();
1729   
1730 }
1731 //--------------------------------------------------------------------------
1732 void AliHFSystErr::InitD0toKpi2011PbPb3040CentScan(){
1733   // define errors for RAA vs. centrality 2011
1734   InitD0toKpi2011PbPb07half();
1735   
1736 }
1737 //--------------------------------------------------------------------------
1738 void AliHFSystErr::InitD0toKpi2011PbPb4050CentScan(){
1739   // define errors for RAA vs. centrality 2011
1740   InitD0toKpi2011PbPb07half();
1741   
1742 }
1743 //--------------------------------------------------------------------------
1744 void AliHFSystErr::InitD0toKpi2010PbPb5080CentScan(){
1745   // define errors for RAA vs. centrality 2011
1746   InitD0toKpi2011PbPb07half();
1747   
1748 }
1749
1750 //--------------------------------------------------------------------------
1751 void AliHFSystErr::InitDplustoKpipi2011PbPb010CentScan(){
1752   // define errors for RAA vs. centrality 2011
1753   InitDplustoKpipi2011PbPb07half();
1754
1755   for(Int_t i=2;i<=5;i++) fRawYield->SetBinContent(i,0.15);
1756   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.05);
1757   for(Int_t i=9;i<=17;i++) fRawYield->SetBinContent(i,0.15);
1758
1759   for(Int_t i=2;i<=5;i++) fMCPtShape->SetBinContent(i,0.10);
1760   for(Int_t i=5;i<=8;i++) fMCPtShape->SetBinContent(i,0.05);
1761   for(Int_t i=9;i<=17;i++) fMCPtShape->SetBinContent(i,0.05);
1762
1763   for(Int_t i=2;i<=5;i++) fCutsEff->SetBinContent(i,0.15);
1764   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.20);
1765   for(Int_t i=9;i<=17;i++) fCutsEff->SetBinContent(i,0.10);
1766 }
1767
1768 //--------------------------------------------------------------------------
1769 void AliHFSystErr::InitDplustoKpipi2011PbPb1020CentScan(){
1770   // define errors for RAA vs. centrality 2011
1771   InitDplustoKpipi2011PbPb07half();
1772
1773   for(Int_t i=2;i<=5;i++) fRawYield->SetBinContent(i,0.10);
1774   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.10);
1775   for(Int_t i=9;i<=17;i++)fRawYield->SetBinContent(i,0.15);
1776
1777   for(Int_t i=2;i<=5;i++) fMCPtShape->SetBinContent(i,0.10);
1778   for(Int_t i=5;i<=8;i++) fMCPtShape->SetBinContent(i,0.05);
1779   for(Int_t i=9;i<=17;i++) fMCPtShape->SetBinContent(i,0.05);
1780   
1781   for(Int_t i=2;i<=5;i++) fCutsEff->SetBinContent(i,0.15);
1782   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.20);
1783   for(Int_t i=9;i<=17;i++) fCutsEff->SetBinContent(i,0.15);
1784 }
1785
1786 //--------------------------------------------------------------------------
1787 void AliHFSystErr::InitDplustoKpipi2011PbPb2030CentScan(){
1788   // define errors for RAA vs. centrality 2011
1789   InitDplustoKpipi2011PbPb07half();
1790   
1791   for(Int_t i=2;i<=5;i++) fRawYield->SetBinContent(i,0.10);
1792   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.10);
1793   for(Int_t i=9;i<=17;i++) fRawYield->SetBinContent(i,0.08);
1794
1795   for(Int_t i=2;i<=5;i++) fMCPtShape->SetBinContent(i,0.10);
1796   for(Int_t i=5;i<=8;i++) fMCPtShape->SetBinContent(i,0.05);
1797   for(Int_t i=9;i<=17;i++) fMCPtShape->SetBinContent(i,0.05);
1798   
1799   for(Int_t i=2;i<=5;i++) fCutsEff->SetBinContent(i,0.20);
1800   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.15);
1801   for(Int_t i=9;i<=17;i++) fCutsEff->SetBinContent(i,0.20);
1802 }
1803
1804 //--------------------------------------------------------------------------
1805 void AliHFSystErr::InitDplustoKpipi2011PbPb3040CentScan(){
1806   // define errors for RAA vs. centrality 2011
1807   InitDplustoKpipi2011PbPb07half();
1808
1809   for(Int_t i=2;i<=5;i++) fRawYield->SetBinContent(i,0.20);
1810   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.10);
1811   for(Int_t i=9;i<=17;i++) fRawYield->SetBinContent(i,0.20);
1812
1813   for(Int_t i=2;i<=5;i++) fMCPtShape->SetBinContent(i,0.10);
1814   for(Int_t i=5;i<=8;i++) fMCPtShape->SetBinContent(i,0.05);
1815   for(Int_t i=9;i<=17;i++) fMCPtShape->SetBinContent(i,0.05);
1816
1817   for(Int_t i=2;i<=5;i++) fCutsEff->SetBinContent(i,0.20);
1818   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.20);
1819   for(Int_t i=9;i<=17;i++) fCutsEff->SetBinContent(i,0.20);
1820 }
1821
1822 //--------------------------------------------------------------------------
1823 void AliHFSystErr::InitDplustoKpipi2011PbPb4050CentScan(){
1824   // define errors for RAA vs. centrality 2011
1825   InitDplustoKpipi2011PbPb07half();
1826
1827   for(Int_t i=2;i<=5;i++) fRawYield->SetBinContent(i,0.10);
1828   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.10);
1829   for(Int_t i=9;i<=17;i++) fRawYield->SetBinContent(i,0.05);
1830
1831   for(Int_t i=2;i<=5;i++) fMCPtShape->SetBinContent(i,0.10);
1832   for(Int_t i=5;i<=8;i++) fMCPtShape->SetBinContent(i,0.05);
1833   for(Int_t i=9;i<=17;i++) fMCPtShape->SetBinContent(i,0.05);
1834
1835   for(Int_t i=2;i<=5;i++) fCutsEff->SetBinContent(i,0.20);
1836   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.15);
1837   for(Int_t i=9;i<=17;i++) fCutsEff->SetBinContent(i,0.20);
1838 }
1839
1840 //--------------------------------------------------------------------------
1841 void AliHFSystErr::InitDplustoKpipi2010PbPb5080CentScan(){
1842   // define errors for RAA vs. centrality 2011
1843   InitDplustoKpipi2010PbPb4080();
1844
1845   for(Int_t i=2;i<=5;i++) fRawYield->SetBinContent(i,0.05);
1846   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.05);
1847   for(Int_t i=9;i<=17;i++) fRawYield->SetBinContent(i,0.10);
1848
1849   for(Int_t i=1;i<=17;i++) fMCPtShape->SetBinContent(i,0.05);
1850   for(Int_t i=2;i<=5;i++) fCutsEff->SetBinContent(i,0.20); // 10%
1851   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1852   for(Int_t i=9;i<=17;i++) fCutsEff->SetBinContent(i,0.20); // 10%
1853 }
1854
1855 //--------------------------------------------------------------------------
1856 void AliHFSystErr::InitDstartoD0pi2011PbPb010CentScan(){
1857   // define errors for RAA vs. centrality 2011
1858   InitDstartoD0pi2011PbPb07half();
1859   
1860 }
1861 //--------------------------------------------------------------------------
1862 void AliHFSystErr::InitDstartoD0pi2011PbPb1020CentScan(){
1863   // define errors for RAA vs. centrality 2011
1864   InitDstartoD0pi2011PbPb07half();
1865   
1866 }
1867 //--------------------------------------------------------------------------
1868 void AliHFSystErr::InitDstartoD0pi2011PbPb2030CentScan(){
1869   // define errors for RAA vs. centrality 2011
1870   InitDstartoD0pi2011PbPb07half();
1871   
1872 }
1873 //--------------------------------------------------------------------------
1874 void AliHFSystErr::InitDstartoD0pi2011PbPb3040CentScan(){
1875   // define errors for RAA vs. centrality 2011
1876   InitDstartoD0pi2011PbPb07half();
1877   
1878 }
1879 //--------------------------------------------------------------------------
1880 void AliHFSystErr::InitDstartoD0pi2011PbPb4050CentScan(){
1881   // define errors for RAA vs. centrality 2011
1882   InitDstartoD0pi2011PbPb07half();
1883   
1884 }
1885 //--------------------------------------------------------------------------
1886 void AliHFSystErr::InitDstartoD0pi2010PbPb5080CentScan(){
1887   // define errors for RAA vs. centrality 2011
1888   InitDstartoD0pi2011PbPb07half();
1889   
1890 }
1891
1892 //_________________________________________________________________________
1893 void AliHFSystErr::InitD0toKpi2013pPb0100RapScan0804(){
1894   InitD0toKpi2013pPb0100();
1895   
1896   for(Int_t i=2;i<=4;i++) fRawYield->SetBinContent(i,0.04);
1897   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.06);
1898   for(Int_t i=9;i<=16;i++) fRawYield->SetBinContent(i,0.04);
1899   
1900   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
1901   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.0); // 0%
1902  
1903   for(Int_t i=2;i<=4;i++) fCutsEff->SetBinContent(i,0.13);
1904   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.07);
1905   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.06);
1906   
1907
1908 };
1909 //_________________________________________________________________________
1910 void AliHFSystErr::InitD0toKpi2013pPb0100RapScan0401(){
1911   InitD0toKpi2013pPb0100();
1912   
1913   for(Int_t i=2;i<=4;i++) fRawYield->SetBinContent(i,0.04);
1914   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.08);
1915   for(Int_t i=9;i<=16;i++) fRawYield->SetBinContent(i,0.04);
1916   
1917   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
1918   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.0); // 0%
1919
1920    for(Int_t i=2;i<=4;i++) fCutsEff->SetBinContent(i,0.20);
1921   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.05);
1922   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.08);
1923 };
1924 //_________________________________________________________________________
1925 void AliHFSystErr::InitD0toKpi2013pPb0100RapScan0101(){
1926 InitD0toKpi2013pPb0100();
1927
1928   for(Int_t i=2;i<=4;i++) fRawYield->SetBinContent(i,0.04);
1929   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.12);
1930   for(Int_t i=9;i<=16;i++) fRawYield->SetBinContent(i,0.08);
1931
1932   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
1933   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.0); // 0%
1934
1935    for(Int_t i=2;i<=4;i++) fCutsEff->SetBinContent(i,0.20);
1936   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.05);
1937   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.08);
1938
1939 };
1940 //_________________________________________________________________________
1941 void AliHFSystErr::InitD0toKpi2013pPb0100RapScan0104(){
1942   InitD0toKpi2013pPb0100();
1943
1944    for(Int_t i=2;i<=4;i++) fRawYield->SetBinContent(i,0.04);
1945   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.03);
1946   for(Int_t i=9;i<=16;i++) fRawYield->SetBinContent(i,0.08);
1947
1948    fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
1949    for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.0); // 0%
1950
1951    for(Int_t i=2;i<=4;i++) fCutsEff->SetBinContent(i,0.20);
1952   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.05);
1953   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.08);
1954
1955
1956 };
1957 //_________________________________________________________________________
1958 void AliHFSystErr::InitD0toKpi2013pPb0100RapScan0408(){
1959   InitD0toKpi2013pPb0100();
1960
1961    for(Int_t i=2;i<=4;i++) fRawYield->SetBinContent(i,0.04);
1962   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.03);
1963   for(Int_t i=9;i<=16;i++) fRawYield->SetBinContent(i,0.04);
1964
1965   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
1966   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.0); // 0%
1967   
1968   for(Int_t i=2;i<=4;i++) fCutsEff->SetBinContent(i,0.13);
1969   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.07);
1970   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.06);
1971   
1972 };
1973
1974 //_________________________________________________________________________
1975 void AliHFSystErr::InitDplustoKpipi2013pPb0100RapScan0804(){
1976   InitDplustoKpipi2013pPb0100();
1977
1978    for(Int_t i=2;i<=4;i++) fRawYield->SetBinContent(i,0.07);
1979   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.05);
1980   for(Int_t i=9;i<=16;i++) fRawYield->SetBinContent(i,0.10);
1981
1982   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
1983   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.0); // 0%
1984   
1985   for(Int_t i=2;i<=4;i++) fCutsEff->SetBinContent(i,0.22);
1986   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.16);
1987   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.06);
1988
1989 };
1990 //_________________________________________________________________________
1991 void AliHFSystErr::InitDplustoKpipi2013pPb0100RapScan0401(){
1992   InitDplustoKpipi2013pPb0100();
1993   
1994    for(Int_t i=2;i<=4;i++) fRawYield->SetBinContent(i,0.05);
1995   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.05);
1996   for(Int_t i=9;i<=16;i++) fRawYield->SetBinContent(i,0.10);
1997
1998   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
1999   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.0); // 0%
2000
2001    for(Int_t i=2;i<=4;i++) fCutsEff->SetBinContent(i,0.24);
2002   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.06);
2003   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.03);
2004
2005 };
2006 //_________________________________________________________________________
2007 void AliHFSystErr::InitDplustoKpipi2013pPb0100RapScan0101(){
2008   InitDplustoKpipi2013pPb0100();
2009
2010    for(Int_t i=2;i<=4;i++) fRawYield->SetBinContent(i,0.05);
2011   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.05);
2012   for(Int_t i=9;i<=16;i++) fRawYield->SetBinContent(i,0.05);
2013
2014   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
2015   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.0); // 0%
2016
2017    for(Int_t i=2;i<=4;i++) fCutsEff->SetBinContent(i,0.24);
2018   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.06);
2019   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.03);
2020
2021 };
2022 //_________________________________________________________________________
2023 void AliHFSystErr::InitDplustoKpipi2013pPb0100RapScan0104(){
2024   InitDplustoKpipi2013pPb0100();
2025
2026    for(Int_t i=2;i<=4;i++) fRawYield->SetBinContent(i,0.05);
2027   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.05);
2028   for(Int_t i=9;i<=16;i++) fRawYield->SetBinContent(i,0.05);
2029
2030   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
2031   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.0); // 0%
2032
2033    for(Int_t i=2;i<=4;i++) fCutsEff->SetBinContent(i,0.24);
2034   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.06);
2035   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.03);
2036   
2037 };
2038 //_________________________________________________________________________
2039 void AliHFSystErr::InitDplustoKpipi2013pPb0100RapScan0408(){
2040   InitDplustoKpipi2013pPb0100();
2041
2042    for(Int_t i=2;i<=4;i++) fRawYield->SetBinContent(i,0.07);
2043    for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.05);
2044   for(Int_t i=9;i<=16;i++) fRawYield->SetBinContent(i,0.07);
2045
2046   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
2047   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.0); // 0%
2048   
2049   for(Int_t i=2;i<=4;i++) fCutsEff->SetBinContent(i,0.22);
2050   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.16);
2051   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.06);
2052
2053 };
2054
2055
2056 //_________________________________________________________________________
2057 void AliHFSystErr::InitDstartoD0pi2013pPb0100RapScan0804(){
2058   InitDstartoD0pi2013pPb0100();
2059
2060   for(Int_t i=2;i<=4;i++) fRawYield->SetBinContent(i,0.06);
2061   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.03);
2062   for(Int_t i=9;i<=16;i++) fRawYield->SetBinContent(i,0.07);
2063   
2064   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
2065   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.0); // 0%
2066
2067   for(Int_t i=2;i<=4;i++) fCutsEff->SetBinContent(i,0.11);
2068   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.06);
2069   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.06);
2070
2071 };
2072 //_________________________________________________________________________
2073 void AliHFSystErr::InitDstartoD0pi2013pPb0100RapScan0401(){
2074   InitDstartoD0pi2013pPb0100();
2075
2076   for(Int_t i=2;i<=4;i++) fRawYield->SetBinContent(i,0.04);
2077   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.05);
2078   for(Int_t i=9;i<=16;i++) fRawYield->SetBinContent(i,0.05);
2079   
2080   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
2081   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.0); // 0%
2082
2083   for(Int_t i=2;i<=4;i++) fCutsEff->SetBinContent(i,0.15);
2084   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.10);
2085   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.07);
2086
2087 };
2088 //_________________________________________________________________________
2089 void AliHFSystErr::InitDstartoD0pi2013pPb0100RapScan0101(){
2090 InitDstartoD0pi2013pPb0100();
2091
2092   for(Int_t i=2;i<=4;i++) fRawYield->SetBinContent(i,0.05);
2093   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.03);
2094   for(Int_t i=9;i<=16;i++) fRawYield->SetBinContent(i,0.05);
2095
2096  fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
2097   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.0); // 0%
2098
2099   for(Int_t i=2;i<=4;i++) fCutsEff->SetBinContent(i,0.15);
2100   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.10);
2101   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.07);
2102   
2103 };
2104 //_________________________________________________________________________
2105 void AliHFSystErr::InitDstartoD0pi2013pPb0100RapScan0104(){
2106   InitDstartoD0pi2013pPb0100();
2107   
2108   for(Int_t i=2;i<=4;i++) fRawYield->SetBinContent(i,0.04);
2109   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.03);
2110   for(Int_t i=9;i<=16;i++) fRawYield->SetBinContent(i,0.05);
2111   
2112   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
2113   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.0); // 0%
2114   
2115   for(Int_t i=2;i<=4;i++) fCutsEff->SetBinContent(i,0.15);
2116   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.10);
2117   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.07);
2118 };
2119 //_________________________________________________________________________
2120 void AliHFSystErr::InitDstartoD0pi2013pPb0100RapScan0408(){
2121   InitDstartoD0pi2013pPb0100();
2122   
2123   for(Int_t i=2;i<=4;i++) fRawYield->SetBinContent(i,0.06);
2124   for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.07);
2125   for(Int_t i=9;i<=16;i++) fRawYield->SetBinContent(i,0.07);
2126   
2127   fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
2128   for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.0); // 0%
2129   
2130   for(Int_t i=2;i<=4;i++) fCutsEff->SetBinContent(i,0.11);
2131   for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.06);
2132   for(Int_t i=9;i<=16;i++) fCutsEff->SetBinContent(i,0.06);
2133   
2134 };
2135
2136
2137 //--------------------------------------------------------------------------
2138 void AliHFSystErr::InitLctopKpi2010pp() {
2139   //
2140   // Lc->pKpi syst errors. Responsible: R. Romita
2141   //  2010 pp sample
2142   //
2143
2144   // Normalization
2145   fNorm = new TH1F("fNorm","fNorm",4,2,6);
2146   for(Int_t i=1;i<=4;i++) fNorm->SetBinContent(i,0.035); // 4% error on sigmaV0and
2147
2148   // Tracking efficiency
2149   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",4,2,6);
2150   for(Int_t i=1;i<=4;i++) fTrackingEff->SetBinContent(i,0.12); // 12% (4% per track)
2151
2152   // Raw yield extraction
2153   fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
2154   fRawYield->SetBinContent(1,0.20);
2155   fRawYield->SetBinContent(2,0.15);
2156   fRawYield->SetBinContent(3,0.10);
2157   fRawYield->SetBinContent(4,0.15);
2158
2159   fCutsEff = new TH1F("fCutsEff","fCutsEff",4,2,6);
2160   fCutsEff->SetBinContent(1,0.50);
2161   fCutsEff->SetBinContent(2,0.07);
2162   fCutsEff->SetBinContent(3,0.30);
2163   fCutsEff->SetBinContent(4,0.40);
2164
2165   // PID efficiency (from PID/noPID)
2166   fPIDEff = new TH1F("fPIDEff","fPIDEff",4,2,4);
2167   fPIDEff->SetBinContent(1,0.13); // 15%
2168   fPIDEff->SetBinContent(2,0.30); // 15%
2169   fPIDEff->SetBinContent(3,0.5); // 15%
2170   fPIDEff->SetBinContent(4,0.30); // 15%
2171
2172   // MC dN/dpt 
2173   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",12,0,12);
2174   for(Int_t i=1; i<=2; i++) fMCPtShape->SetBinContent(i,1.);
2175   for(Int_t i=3; i<=4; i++) fMCPtShape->SetBinContent(i,0.03);
2176   for(Int_t i=5; i<=6; i++) fMCPtShape->SetBinContent(i,0.03);
2177   for(Int_t i=7; i<=8; i++) fMCPtShape->SetBinContent(i,0.02);
2178   for(Int_t i=9; i<=12; i++) fMCPtShape->SetBinContent(i,0.02);
2179 }
2180
2181 //--------------------------------------------------------------------------
2182 Double_t AliHFSystErr::GetCutsEffErr(Double_t pt) const {
2183   // 
2184   // Get error
2185   //
2186
2187   Int_t bin=fCutsEff->FindBin(pt);
2188
2189   return fCutsEff->GetBinContent(bin);
2190 }
2191 //--------------------------------------------------------------------------
2192 Double_t AliHFSystErr::GetMCPtShapeErr(Double_t pt) const {
2193   // 
2194   // Get error
2195   //
2196
2197   Int_t bin=fMCPtShape->FindBin(pt);
2198
2199   return fMCPtShape->GetBinContent(bin);
2200 }
2201 //--------------------------------------------------------------------------
2202 Double_t AliHFSystErr::GetSeleEffErr(Double_t pt) const {
2203   // 
2204   // Get error
2205   //
2206
2207   Double_t err=GetCutsEffErr(pt)*GetCutsEffErr(pt)+GetMCPtShapeErr(pt)*GetMCPtShapeErr(pt);
2208
2209   return TMath::Sqrt(err);
2210 }
2211 //--------------------------------------------------------------------------
2212 Double_t AliHFSystErr::GetPIDEffErr(Double_t pt) const {
2213   // 
2214   // Get error
2215   //
2216
2217   Int_t bin=fPIDEff->FindBin(pt);
2218
2219   return fPIDEff->GetBinContent(bin);
2220 }
2221 //--------------------------------------------------------------------------
2222 Double_t AliHFSystErr::GetTrackingEffErr(Double_t pt) const {
2223   // 
2224   // Get error
2225   //
2226
2227   Int_t bin=fTrackingEff->FindBin(pt);
2228
2229   return fTrackingEff->GetBinContent(bin);
2230 }
2231 //--------------------------------------------------------------------------
2232 Double_t AliHFSystErr::GetRawYieldErr(Double_t pt) const {
2233   // 
2234   // Get error
2235   //
2236
2237   Int_t bin=fRawYield->FindBin(pt);
2238
2239   return fRawYield->GetBinContent(bin);
2240 }
2241 //--------------------------------------------------------------------------
2242 Double_t AliHFSystErr::GetPartAntipartErr(Double_t pt) const {
2243   // 
2244   // Get error
2245   //
2246
2247   Int_t bin=fPartAntipart->FindBin(pt);
2248
2249   return fPartAntipart->GetBinContent(bin);
2250 }
2251 //--------------------------------------------------------------------------
2252 Double_t AliHFSystErr::GetTotalSystErr(Double_t pt,Double_t feeddownErr) const {
2253   // 
2254   // Get total syst error (except norm. error)
2255   //
2256
2257   Double_t err=0.;
2258
2259   if(fRawYield) err += GetRawYieldErr(pt)*GetRawYieldErr(pt);
2260   if(fTrackingEff) err += GetTrackingEffErr(pt)*GetTrackingEffErr(pt);
2261   //  if(fBR) err += GetBRErr()*GetBRErr();
2262   if(fCutsEff) err += GetCutsEffErr(pt)*GetCutsEffErr(pt);
2263   if(fPIDEff) err += GetPIDEffErr(pt)*GetPIDEffErr(pt);
2264   if(fMCPtShape) err += GetMCPtShapeErr(pt)*GetMCPtShapeErr(pt);
2265   if(fPartAntipart) err += GetPartAntipartErr(pt)*GetPartAntipartErr(pt);
2266
2267   err += feeddownErr*feeddownErr;
2268
2269   return TMath::Sqrt(err);
2270 }
2271 //---------------------------------------------------------------------------
2272 void AliHFSystErr::DrawErrors(TGraphAsymmErrors *grErrFeeddown) const {
2273   //
2274   // Draw errors
2275   //
2276   gStyle->SetOptStat(0);
2277
2278   TCanvas *cSystErr = new TCanvas("cSystErr","Systematic Errors",300,80,640,500);
2279   cSystErr->Range(0.20,-0.5,18.4,0.34);
2280   cSystErr->SetRightMargin(0.318);
2281   cSystErr->SetFillColor(0);
2282
2283   TH2F *hFrame = new TH2F("hFrame","Systematic errors; p_{t} (GeV/c); Relative Error",40,0,40,100,-1,+1);
2284   hFrame->SetAxisRange(1.,35.9,"X");
2285   hFrame->SetAxisRange(-0.5,0.5,"Y");
2286   hFrame->Draw();
2287
2288   TLegend *leg = new TLegend(0.69,0.44,0.98,0.86,NULL,"brNDC");
2289   leg->SetTextSize(0.03601695);
2290   leg->SetFillStyle(0);
2291   leg->SetBorderSize(0);
2292   
2293   TH1F *hTotErr=new TH1F("hTotErr","",36,0,36);
2294   Int_t nbins = fNorm->GetNbinsX();
2295   TGraphAsymmErrors *gTotErr = new TGraphAsymmErrors(nbins);
2296   for(Int_t i=1;i<=36;i++) {
2297     Double_t pt = hTotErr->GetBinCenter(i);
2298     Double_t ptwidth = hTotErr->GetBinWidth(i);
2299
2300     if(grErrFeeddown) {
2301       Double_t x=0., y=0., errxl=0., errxh=0., erryl=0., erryh=0.;
2302       Double_t toterryl=0., toterryh=0.;
2303       for(Int_t j=0; j<grErrFeeddown->GetN(); j++) {
2304         grErrFeeddown->GetPoint(j,x,y);
2305         errxh = grErrFeeddown->GetErrorXhigh(j);
2306         errxl = grErrFeeddown->GetErrorXlow(j);
2307         if ( ( (x-errxl) <= pt) && ( (x+errxl) >= pt) ) {
2308           erryh = grErrFeeddown->GetErrorYhigh(j);
2309           erryl = grErrFeeddown->GetErrorYlow(j);
2310         }
2311       }
2312       if (erryl>=1e-3) toterryl = GetTotalSystErr(pt,erryl);
2313       else toterryl = GetTotalSystErr(pt);
2314       if (erryh>=1e-3) toterryh = GetTotalSystErr(pt,erryh);
2315       else toterryh = GetTotalSystErr(pt);
2316
2317       hTotErr->SetBinContent(i,toterryh);
2318       gTotErr->SetPoint(i,pt,0.);
2319       gTotErr->SetPointError(i,ptwidth/2.,ptwidth/2.,toterryl,toterryh); // i, exl, exh, eyl, eyh
2320     }
2321     else {
2322       hTotErr->SetBinContent(i,GetTotalSystErr(pt));
2323       gTotErr->SetPoint(i,pt,0.);
2324       gTotErr->SetPointError(i,ptwidth/2.,ptwidth/2.,GetTotalSystErr(pt),GetTotalSystErr(pt)); // i, exl, exh, eyl, eyh
2325     }
2326
2327   }
2328   gTotErr->SetLineColor(kBlack);
2329   gTotErr->SetFillColor(kRed);
2330   gTotErr->SetFillStyle(3002);
2331   gTotErr->Draw("2");
2332   leg->AddEntry(gTotErr,"Total (excl. norm.)","f");
2333 //   hTotErr->SetLineColor(1);
2334 //   hTotErr->SetLineWidth(3);
2335 //   hTotErr->Draw("same");
2336 //   leg->AddEntry(hTotErr,"Total (excl. norm.)","l");
2337   
2338
2339   fNorm->SetFillColor(1);
2340   fNorm->SetFillStyle(3002);
2341   //fNorm->Draw("same");
2342   //TH1F *hNormRefl = ReflectHisto(fNorm);
2343   //hNormRefl->Draw("same");
2344   Double_t norm = fNorm->GetBinContent(1)*100;
2345   leg->AddEntry(fNorm,Form("Normalization (%.1f%s)",norm,"%"),"");
2346
2347   if(grErrFeeddown) {
2348     grErrFeeddown->SetFillColor(kTeal-8);
2349     grErrFeeddown->SetFillStyle(3001);
2350     grErrFeeddown->Draw("2");
2351     leg->AddEntry(grErrFeeddown,"Feed-down from B","f");
2352   }
2353   if(fTrackingEff) {
2354     fTrackingEff->SetFillColor(4);
2355     fTrackingEff->SetFillStyle(3006);
2356     fTrackingEff->Draw("same");
2357     TH1F *hTrackingEffRefl = ReflectHisto(fTrackingEff);
2358     hTrackingEffRefl->Draw("same");
2359     leg->AddEntry(fTrackingEff,"Tracking efficiency","f");
2360   }
2361   if(fBR) {
2362     fBR->SetFillColor(6);
2363     fBR->SetFillStyle(3005);
2364     //fBR->SetFillStyle(3020);
2365     fBR->Draw("same");
2366     TH1F *hBRRefl = ReflectHisto(fBR);
2367     hBRRefl->Draw("same");
2368     leg->AddEntry(fBR,"Branching ratio","f");
2369   }
2370   if(fRawYield) {
2371     Int_t ci;   // for color index setting
2372     ci = TColor::GetColor("#00cc00");
2373     fRawYield->SetLineColor(ci);
2374     //    fRawYield->SetLineColor(3);
2375     fRawYield->SetLineWidth(3);
2376     fRawYield->Draw("same");
2377     TH1F *hRawYieldRefl = ReflectHisto(fRawYield);
2378     hRawYieldRefl->Draw("same");
2379     leg->AddEntry(fRawYield,"Yield extraction","l");
2380   }
2381   if(fCutsEff) {
2382     fCutsEff->SetLineColor(4);
2383     fCutsEff->SetLineWidth(3);
2384     fCutsEff->Draw("same");
2385     TH1F *hCutsEffRefl = ReflectHisto(fCutsEff);
2386     hCutsEffRefl->Draw("same");
2387     leg->AddEntry(fCutsEff,"Cuts efficiency","l");
2388   }
2389   if(fPIDEff) {
2390     fPIDEff->SetLineColor(7);
2391     fPIDEff->SetLineWidth(3);
2392     fPIDEff->Draw("same");
2393     TH1F *hPIDEffRefl = ReflectHisto(fPIDEff);
2394     hPIDEffRefl->Draw("same");
2395     leg->AddEntry(fPIDEff,"PID efficiency","l");
2396   }
2397   if(fMCPtShape) {
2398     Int_t ci = TColor::GetColor("#9933ff");
2399     fMCPtShape->SetLineColor(ci);
2400     //    fMCPtShape->SetLineColor(8);
2401     fMCPtShape->SetLineWidth(3);
2402     fMCPtShape->Draw("same");
2403     TH1F *hMCPtShapeRefl = ReflectHisto(fMCPtShape);
2404     hMCPtShapeRefl->Draw("same");
2405     leg->AddEntry(fMCPtShape,"MC p_{t} shape","l");
2406   }
2407   if(fPartAntipart) {
2408     Int_t ci = TColor::GetColor("#ff6600");
2409     fPartAntipart->SetLineColor(ci);
2410     //    fPartAntipart->SetLineColor(9);
2411     fPartAntipart->SetLineWidth(3);
2412     fPartAntipart->Draw("same");
2413     TH1F *hPartAntipartRefl = ReflectHisto(fPartAntipart);
2414     hPartAntipartRefl->Draw("same");
2415     leg->AddEntry(fPartAntipart,"D = #bar{D}","l");
2416   }
2417
2418
2419   leg->Draw();
2420
2421   cSystErr->SaveAs("RelativeSystematics.eps");
2422
2423   return;
2424 }
2425 //-------------------------------------------------------------------------
2426 TH1F* AliHFSystErr::ReflectHisto(TH1F *hin) const {
2427   //
2428   // Clones and reflects histogram 
2429   // 
2430   TH1F *hout=(TH1F*)hin->Clone("hout");
2431   hout->Scale(-1.);
2432
2433   return hout;
2434 }
2435
2436
2437