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