2 /**************************************************************************
3 * Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
5 * Author: The ALICE Off-line Project. *
6 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
19 /////////////////////////////////////////////////////////////
21 // Class to handle systematic errors for charm hadrons
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
32 // Author: A.Dainese, andrea.dainese@pd.infn.it
33 /////////////////////////////////////////////////////////////
36 #include <TGraphAsymmErrors.h>
44 #include "AliHFSystErr.h"
47 ClassImp(AliHFSystErr)
49 //--------------------------------------------------------------------------
50 AliHFSystErr::AliHFSystErr(const Char_t* name, const Char_t* title) :
62 fCentralityClass("0100"),
67 // Default Constructor
71 //--------------------------------------------------------------------------
72 AliHFSystErr::~AliHFSystErr() {
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; }
89 //--------------------------------------------------------------------------
90 void AliHFSystErr::Init(Int_t decay){
92 // Variables/histos initialization
95 if ((fRunNumber>11) && fIsLowEnergy==false) {
96 AliFatal("Only settings for 2010 and the low energy runs are implemented so far");
101 if (fCollisionType==0) {
102 if (fIsLowEnergy) InitD0toKpi2010ppLowEn();
103 else InitD0toKpi2010pp();
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");
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");
129 else if (fCollisionType==2) {
130 if (fCentralityClass=="0100") InitD0toKpi2013pPb0100();
132 else AliFatal("Not yet implemented");
136 if (fCollisionType==0) {
137 if (fIsLowEnergy) InitDplustoKpipi2010ppLowEn();
138 else InitDplustoKpipi2010pp();
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");
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");
162 else if (fCollisionType==2) {
163 if (fCentralityClass=="0100") InitDplustoKpipi2013pPb0100();
165 else AliFatal("Not yet implemented");
168 if (fCollisionType==0) {
169 if(fIsLowEnergy) InitDstartoD0pi2010ppLowEn();
170 else InitDstartoD0pi2010pp();
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");
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");
195 else if (fCollisionType==2) {
196 if (fCentralityClass=="0100") InitDstartoD0pi2013pPb0100();
198 else AliFatal("Not yet implemented");
201 if (fCollisionType==0) InitDstoKKpi2010pp();
202 else if (fCollisionType==1) {
203 if (fCentralityClass=="07half") InitDstoKKpi2011PbPb07half();
204 else AliFatal("Not yet implemented");
206 else if (fCollisionType==2) {
207 if (fCentralityClass=="0100") InitDstoKKpi2013pPb0100();
209 else AliFatal("Not yet implemented");
212 if (fCollisionType==0) InitLctopKpi2010pp();
213 else AliFatal("Not yet implemented");
217 printf("Invalid decay type: %d\n",decay);
223 //--------------------------------------------------------------------------
224 void AliHFSystErr::InitD0toKpi2010pp() {
226 // D0->Kpi syst errors. Responsible: A. Rossi
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
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
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)
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);
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%
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%
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);
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);
274 //--------------------------------------------------------------------------
275 void AliHFSystErr::InitD0toKpi2010PbPb020() {
277 // D0->Kpi syst errors. Responsible: A. Rossi
278 // 2010 PbPb sample, 0-20 CC
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
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
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
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);
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.);
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);
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);
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);
331 //--------------------------------------------------------------------------
332 //--------------------------------------------------------------------------
333 void AliHFSystErr::InitD0toKpi2011PbPb07half() {
335 // D0->Kpi syst errors. Responsible: A. Rossi
336 // 2011 PbPb sample, 0-7.5 CC
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
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
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
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
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
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
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
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);
398 //--------------------------------------------------------------------------
399 void AliHFSystErr::InitD0toKpi2011PbPb3050InPlane() {
401 // D0->Kpi syst errors. Responsible: D. Caffarri
402 // 2011 PbPb sample, 30-50 CC InPlane
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
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
429 //--------------------------------------------------------------------------
430 void AliHFSystErr::InitD0toKpi2011PbPb3050OutOfPlane() {
432 // D0->Kpi syst errors. Responsible: D. Caffarri
433 // 2011 PbPb sample, 30-50 CC OutOfPlane
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
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
460 //--------------------------------------------------------------------------
461 void AliHFSystErr::InitD0toKpi2010PbPb4080() {
463 // D0->Kpi syst errors. Responsible: A. Rossi
464 // 2010 PbPb sample, 40-80 CC
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
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
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
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);
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.);
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);
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);
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);
516 //--------------------------------------------------------------------------
517 void AliHFSystErr::InitD0toKpi2010ppLowEn() {
519 // D0->Kpi syst errors. Low energy run
520 // 2011 2.76 TeV pp sample
522 AliInfo(" Settings for D0 --> K pi, p-p collisions at 2.76 TeV");
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
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
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)
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);
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%
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%
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);
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.);
569 //_________________________________________________________________________
570 void AliHFSystErr::InitD0toKpi2013pPb0100(){
572 // D0->Kpi syst errors. p-Pb data sample
574 AliInfo(" Settings for D0 --> K pi, p-Pb collisions at 5.023 TeV");
576 fNorm = new TH1F("fNorm","fNorm",24,0,24);
577 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.02); //
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
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
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);
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);
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);
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);
618 // particle-antiparticle
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%
628 //--------------------------------------------------------------------------
629 void AliHFSystErr::InitDplustoKpipi2010pp() {
631 // D+->Kpipi syst errors. Responsible: R. Bala
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
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
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)
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);
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%
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%
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);
680 // particle-antiparticle
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%
691 //--------------------------------------------------------------------------
692 void AliHFSystErr::InitDstoKKpi2010pp() {
694 // D+s->KKpi syst errors. Responsible: G.M. Innocenti
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
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
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)
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);
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%
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%
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);
744 // particle-antiparticle
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%
756 //--------------------------------------------------------------------------
757 void AliHFSystErr::InitDplustoKpipi2011PbPb07half() {
759 // D+->Kpipi syst errors. Responsible: E. Bruna
760 // 2011 PbPb sample, 0-7.5% CC
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
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
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
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);
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);
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%
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);
805 // particle-antiparticle
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%
817 //--------------------------------------------------------------------------
818 void AliHFSystErr::InitDstoKKpi2011PbPb07half() {
820 // D+s->Kpipi syst errors. Responsible: G.M. Innocenti
821 // 2011 PbPb sample, 0-7.5% CC
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
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
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
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);
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%
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%
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);
859 // particle-antiparticle
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%
871 //_________________________________________________________________________
872 void AliHFSystErr::InitDstoKKpi2013pPb0100(){
875 AliInfo(" Settings for Ds --> K K pi, p-Pb collisions at 5.023 TeV");
878 fNorm = new TH1F("fNorm","fNorm",24,0,24);
879 for(Int_t i=3;i<=12;i++) fNorm->SetBinContent(i,0.00); //
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
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
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);
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); //
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);
906 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
907 for(Int_t i=3;i<=12;i++) fMCPtShape->SetBinContent(i,0.04);
909 // particle-antiparticle
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%
921 //--------------------------------------------------------------------------
922 void AliHFSystErr::InitDplustoKpipi2010PbPb020() {
924 // D+->Kpipi syst errors. Responsible: ??
925 // 2010 PbPb sample, 0-20 CC
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
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
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
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);
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%
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%
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);
968 // particle-antiparticle
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%
980 //--------------------------------------------------------------------------
981 void AliHFSystErr::InitDplustoKpipi2010PbPb4080() {
983 // D+->Kpipi syst errors. Responsible: ??
984 // 2010 PbPb sample, 40-80 CC
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
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%
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
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%
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%
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%
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);
1032 // particle-antiparticle
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%
1043 //--------------------------------------------------------------------------
1044 void AliHFSystErr::InitDplustoKpipi2010ppLowEn() {
1047 // D+->Kpipi syst errors. Responsible: R. Bala
1048 // 2011 2.76 TeV pp sample
1050 AliInfo(" Settings for D+ --> K pi pi p-p collisions at 2.76 TeV");
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
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
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)
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%
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%
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%
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);
1092 //_________________________________________________________________________
1093 void AliHFSystErr::InitDplustoKpipi2013pPb0100(){
1096 AliInfo(" Settings for D+ --> K pi pi, p-Pb collisions at 5.023 TeV");
1098 fNorm = new TH1F("fNorm","fNorm",24,0,24);
1099 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.00); //
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
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
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);
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);
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%
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);
1148 // particle-antiparticle
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%
1161 //--------------------------------------------------------------------------
1162 void AliHFSystErr::InitDstartoD0pi2010pp() {
1164 // D*+->D0pi syst errors. Responsible: A. Grelli, Y. Wang
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
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
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)
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%
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%
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%
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);
1219 //--------------------------------------------------------------------------
1220 void AliHFSystErr::InitDstartoD0pi2010ppLowEn() {
1223 // D+->Kpipi syst errors. Responsible: A. Grelli
1224 // 2011 2.76 TeV pp sample
1226 AliInfo(" Settings for D*+ --> D0 pi p-p collisions at 2.76 TeV");
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
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
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!!)
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);
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);
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%
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);
1283 //------------------------------------------------------------------------
1284 void AliHFSystErr::InitDstartoD0pi2010PbPb020() {
1286 // D*+->D0pi syst errors. Responsible: A. Grelli
1287 // 2010 PbPb sample, 0-20 CC
1290 AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 0-20 centrality - DUMMY");
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
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
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
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);
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);
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%
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);
1341 // ----------------------------- 2011 ----------------------------------
1342 void AliHFSystErr::InitDstartoD0pi2011PbPb07half() {
1344 // D*+->D0pi syst errors. Responsible: A. Grelli
1345 // 2011 PbPb sample, 0-7.5 CC
1348 AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 0-7.5 centrality - DUMMY");
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
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
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
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%
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%
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);
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);
1400 //-------------------------------------------------------------------------
1401 void AliHFSystErr::InitDstartoD0pi2010PbPb2040() {
1403 // D*+->D0pi syst errors. Responsible: A. Grelli
1404 // 2010 PbPb sample, 20-40 CC
1407 AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 20-40 centrality - DUMMY");
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
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
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
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%
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%
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%
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);
1445 //--------------------------------------------------------------------------
1446 void AliHFSystErr::InitDstartoD0pi2010PbPb4080() {
1448 // D*+->D0pi syst errors. Responsible: A. Grelli
1449 // 2010 PbPb sample, 40-80 CC
1452 AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 40-80 centrality - DUMMY");
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
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
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
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);
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%
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%
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);
1512 //_________________________________________________________________________
1513 void AliHFSystErr::InitDstartoD0pi2013pPb0100(){
1514 // Dstar syst in pPb 2013 MB
1516 AliInfo(" Settings for D* --> D0 pi, p-Pb collisions at 5.023 TeV");
1519 fNorm = new TH1F("fNorm","fNorm",24,0,24);
1520 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.00); //
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
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
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);
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);
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);
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);
1563 // particle-antiparticle
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%
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
1689 //--------------------------------------------------------------------------
1690 void AliHFSystErr::InitD0toKpi2011PbPb010CentScan(){
1691 // define errors for RAA vs. centrality 2011
1692 InitD0toKpi2011PbPb07half();
1695 //--------------------------------------------------------------------------
1696 void AliHFSystErr::InitD0toKpi2011PbPb1020CentScan(){
1697 // define errors for RAA vs. centrality 2011
1698 InitD0toKpi2011PbPb07half();
1701 //--------------------------------------------------------------------------
1702 void AliHFSystErr::InitD0toKpi2011PbPb2030CentScan(){
1703 // define errors for RAA vs. centrality 2011
1704 InitD0toKpi2011PbPb07half();
1707 //--------------------------------------------------------------------------
1708 void AliHFSystErr::InitD0toKpi2011PbPb3040CentScan(){
1709 // define errors for RAA vs. centrality 2011
1710 InitD0toKpi2011PbPb07half();
1713 //--------------------------------------------------------------------------
1714 void AliHFSystErr::InitD0toKpi2011PbPb4050CentScan(){
1715 // define errors for RAA vs. centrality 2011
1716 InitD0toKpi2011PbPb07half();
1719 //--------------------------------------------------------------------------
1720 void AliHFSystErr::InitD0toKpi2010PbPb5080CentScan(){
1721 // define errors for RAA vs. centrality 2011
1722 InitD0toKpi2011PbPb07half();
1726 //--------------------------------------------------------------------------
1727 void AliHFSystErr::InitDplustoKpipi2011PbPb010CentScan(){
1728 // define errors for RAA vs. centrality 2011
1729 InitDplustoKpipi2011PbPb07half();
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);
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);
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);
1744 //--------------------------------------------------------------------------
1745 void AliHFSystErr::InitDplustoKpipi2011PbPb1020CentScan(){
1746 // define errors for RAA vs. centrality 2011
1747 InitDplustoKpipi2011PbPb07half();
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);
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);
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);
1762 //--------------------------------------------------------------------------
1763 void AliHFSystErr::InitDplustoKpipi2011PbPb2030CentScan(){
1764 // define errors for RAA vs. centrality 2011
1765 InitDplustoKpipi2011PbPb07half();
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);
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);
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);
1780 //--------------------------------------------------------------------------
1781 void AliHFSystErr::InitDplustoKpipi2011PbPb3040CentScan(){
1782 // define errors for RAA vs. centrality 2011
1783 InitDplustoKpipi2011PbPb07half();
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);
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);
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);
1798 //--------------------------------------------------------------------------
1799 void AliHFSystErr::InitDplustoKpipi2011PbPb4050CentScan(){
1800 // define errors for RAA vs. centrality 2011
1801 InitDplustoKpipi2011PbPb07half();
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);
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);
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);
1816 //--------------------------------------------------------------------------
1817 void AliHFSystErr::InitDplustoKpipi2010PbPb5080CentScan(){
1818 // define errors for RAA vs. centrality 2011
1819 InitDplustoKpipi2010PbPb4080();
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);
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%
1831 //--------------------------------------------------------------------------
1832 void AliHFSystErr::InitDstartoD0pi2011PbPb010CentScan(){
1833 // define errors for RAA vs. centrality 2011
1834 InitDstartoD0pi2011PbPb07half();
1837 //--------------------------------------------------------------------------
1838 void AliHFSystErr::InitDstartoD0pi2011PbPb1020CentScan(){
1839 // define errors for RAA vs. centrality 2011
1840 InitDstartoD0pi2011PbPb07half();
1843 //--------------------------------------------------------------------------
1844 void AliHFSystErr::InitDstartoD0pi2011PbPb2030CentScan(){
1845 // define errors for RAA vs. centrality 2011
1846 InitDstartoD0pi2011PbPb07half();
1849 //--------------------------------------------------------------------------
1850 void AliHFSystErr::InitDstartoD0pi2011PbPb3040CentScan(){
1851 // define errors for RAA vs. centrality 2011
1852 InitDstartoD0pi2011PbPb07half();
1855 //--------------------------------------------------------------------------
1856 void AliHFSystErr::InitDstartoD0pi2011PbPb4050CentScan(){
1857 // define errors for RAA vs. centrality 2011
1858 InitDstartoD0pi2011PbPb07half();
1861 //--------------------------------------------------------------------------
1862 void AliHFSystErr::InitDstartoD0pi2010PbPb5080CentScan(){
1863 // define errors for RAA vs. centrality 2011
1864 InitDstartoD0pi2011PbPb07half();
1870 //--------------------------------------------------------------------------
1871 void AliHFSystErr::InitLctopKpi2010pp() {
1873 // Lc->pKpi syst errors. Responsible: R. Romita
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
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)
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);
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);
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%
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);
1914 //--------------------------------------------------------------------------
1915 Double_t AliHFSystErr::GetCutsEffErr(Double_t pt) const {
1920 Int_t bin=fCutsEff->FindBin(pt);
1922 return fCutsEff->GetBinContent(bin);
1924 //--------------------------------------------------------------------------
1925 Double_t AliHFSystErr::GetMCPtShapeErr(Double_t pt) const {
1930 Int_t bin=fMCPtShape->FindBin(pt);
1932 return fMCPtShape->GetBinContent(bin);
1934 //--------------------------------------------------------------------------
1935 Double_t AliHFSystErr::GetSeleEffErr(Double_t pt) const {
1940 Double_t err=GetCutsEffErr(pt)*GetCutsEffErr(pt)+GetMCPtShapeErr(pt)*GetMCPtShapeErr(pt);
1942 return TMath::Sqrt(err);
1944 //--------------------------------------------------------------------------
1945 Double_t AliHFSystErr::GetPIDEffErr(Double_t pt) const {
1950 Int_t bin=fPIDEff->FindBin(pt);
1952 return fPIDEff->GetBinContent(bin);
1954 //--------------------------------------------------------------------------
1955 Double_t AliHFSystErr::GetTrackingEffErr(Double_t pt) const {
1960 Int_t bin=fTrackingEff->FindBin(pt);
1962 return fTrackingEff->GetBinContent(bin);
1964 //--------------------------------------------------------------------------
1965 Double_t AliHFSystErr::GetRawYieldErr(Double_t pt) const {
1970 Int_t bin=fRawYield->FindBin(pt);
1972 return fRawYield->GetBinContent(bin);
1974 //--------------------------------------------------------------------------
1975 Double_t AliHFSystErr::GetPartAntipartErr(Double_t pt) const {
1980 Int_t bin=fPartAntipart->FindBin(pt);
1982 return fPartAntipart->GetBinContent(bin);
1984 //--------------------------------------------------------------------------
1985 Double_t AliHFSystErr::GetTotalSystErr(Double_t pt,Double_t feeddownErr) const {
1987 // Get total syst error (except norm. error)
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);
2000 err += feeddownErr*feeddownErr;
2002 return TMath::Sqrt(err);
2004 //---------------------------------------------------------------------------
2005 void AliHFSystErr::DrawErrors(TGraphAsymmErrors *grErrFeeddown) const {
2009 gStyle->SetOptStat(0);
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);
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");
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);
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);
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);
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);
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
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
2061 gTotErr->SetLineColor(kBlack);
2062 gTotErr->SetFillColor(kRed);
2063 gTotErr->SetFillStyle(3002);
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");
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,"%"),"");
2081 grErrFeeddown->SetFillColor(kTeal-8);
2082 grErrFeeddown->SetFillStyle(3001);
2083 grErrFeeddown->Draw("2");
2084 leg->AddEntry(grErrFeeddown,"Feed-down from B","f");
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");
2095 fBR->SetFillColor(6);
2096 fBR->SetFillStyle(3005);
2097 //fBR->SetFillStyle(3020);
2099 TH1F *hBRRefl = ReflectHisto(fBR);
2100 hBRRefl->Draw("same");
2101 leg->AddEntry(fBR,"Branching ratio","f");
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");
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");
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");
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");
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");
2154 cSystErr->SaveAs("RelativeSystematics.eps");
2158 //-------------------------------------------------------------------------
2159 TH1F* AliHFSystErr::ReflectHisto(TH1F *hin) const {
2161 // Clones and reflects histogram
2163 TH1F *hout=(TH1F*)hin->Clone("hout");