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.05);
591 for(Int_t i=3;i<=6;i++) fRawYield->SetBinContent(i,0.02);
592 for(Int_t i=7;i<=24;i++) fRawYield->SetBinContent(i,0.05);
594 // Cuts efficiency (from cuts variation)
595 fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
596 fCutsEff->SetBinContent(1,0.0);
597 fCutsEff->SetBinContent(2,0.10);
598 for(Int_t i=3;i<=24;i++) fCutsEff->SetBinContent(i,0.05);
600 // PID efficiency (from PID/noPID)
601 fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
602 fPIDEff->SetBinContent(1,0.0);
603 fPIDEff->SetBinContent(2,0.05);
604 for(Int_t i=3;i<=12;i++) fPIDEff->SetBinContent(i,0.00);
605 for(Int_t i=12;i<=24;i++) fPIDEff->SetBinContent(i,0.05);
608 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
609 fMCPtShape->SetBinContent(1,0.0);
610 fMCPtShape->SetBinContent(2,0.02);
611 fMCPtShape->SetBinContent(3,0.02);
612 for(Int_t i=4;i<=8;i++) fMCPtShape->SetBinContent(i,0.0);
613 for(Int_t i=9;i<=24;i++) fMCPtShape->SetBinContent(i,0.02);
615 // particle-antiparticle
617 fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
618 for(Int_t i=1;i<=20;i++) fPartAntipart->SetBinContent(i,0.05); //5 to 12%
625 //--------------------------------------------------------------------------
626 void AliHFSystErr::InitDplustoKpipi2010pp() {
628 // D+->Kpipi syst errors. Responsible: R. Bala
634 fNorm = new TH1F("fNorm","fNorm",24,0,24);
635 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.035); // 4% error on sigmaV0and
638 fBR = new TH1F("fBR","fBR",24,0,24);
639 for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.021); // 2.1% PDG2010
641 // Tracking efficiency
642 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);
643 for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.12); // 12% (4% per track)
646 // Raw yield extraction
647 fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
648 fRawYield->SetBinContent(1,1);
649 fRawYield->SetBinContent(2,0.25);
650 fRawYield->SetBinContent(3,0.25);
651 fRawYield->SetBinContent(4,0.20);
652 fRawYield->SetBinContent(5,0.09);
653 fRawYield->SetBinContent(6,0.09);
654 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
655 for(Int_t i=12;i<=24;i++) fRawYield->SetBinContent(i,0.10);
657 // Cuts efficiency (from cuts variation)
658 fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
659 for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
661 // PID efficiency (from PID/noPID)
662 fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
663 for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.05); // 5%
664 fPIDEff->SetBinContent(1,0.15); // 15%
665 fPIDEff->SetBinContent(2,0.15); // 15%
666 fPIDEff->SetBinContent(3,0.15); // 15%
667 fPIDEff->SetBinContent(4,0.15); // 15%
668 for(Int_t i=12;i<=16;i++) fPIDEff->SetBinContent(i,0.10); // 5%
671 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
672 for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0);
673 fMCPtShape->SetBinContent(1,0.03);
674 fMCPtShape->SetBinContent(2,0.03);
677 // particle-antiparticle
679 fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
680 fPartAntipart->SetBinContent(1,1);
681 fPartAntipart->SetBinContent(2,1);
682 fPartAntipart->SetBinContent(3,0.12);
683 for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05); //5 to 12%
688 //--------------------------------------------------------------------------
689 void AliHFSystErr::InitDstoKKpi2010pp() {
691 // D+s->KKpi syst errors. Responsible: G.M. Innocenti
697 fNorm = new TH1F("fNorm","fNorm",12,0,12);
698 for(Int_t i=1;i<=12;i++) fNorm->SetBinContent(i,0.035); // 3.5% error on sigmaV0and
701 fBR = new TH1F("fBR","fBR",12,0,12);
702 for(Int_t i=1;i<=12;i++) fBR->SetBinContent(i,0.06); // 0.14/2.32 PDG2010
704 // Tracking efficiency
705 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",12,0,12);
706 for(Int_t i=1;i<=12;i++) fTrackingEff->SetBinContent(i,0.12); // 12% (4% per track)
709 // Raw yield extraction
710 fRawYield = new TH1F("fRawYield","fRawYield",12,0,12);
711 fRawYield->SetBinContent(1,1);
712 fRawYield->SetBinContent(2,1);
713 fRawYield->SetBinContent(3,0.20);
714 fRawYield->SetBinContent(4,0.20);
715 fRawYield->SetBinContent(5,0.15);
716 fRawYield->SetBinContent(6,0.15);
717 fRawYield->SetBinContent(7,0.15);
718 fRawYield->SetBinContent(8,0.15);
719 fRawYield->SetBinContent(9,0.20);
720 fRawYield->SetBinContent(10,0.20);
721 fRawYield->SetBinContent(11,0.20);
722 fRawYield->SetBinContent(12,0.20);
724 // Cuts efficiency (from cuts variation)
725 fCutsEff = new TH1F("fCutsEff","fCutsEff",12,0,12);
726 for(Int_t i=1;i<=12;i++) fCutsEff->SetBinContent(i,0.15); // 15%
728 // PID efficiency (from PID/noPID)
729 fPIDEff = new TH1F("fPIDEff","fPIDEff",12,0,12);
730 for(Int_t i=1;i<=12;i++) fPIDEff->SetBinContent(i,0.07); // 7%
733 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",12,0,12);
734 for(Int_t i=1; i<=2; i++) fMCPtShape->SetBinContent(i,1.);
735 for(Int_t i=3; i<=4; i++) fMCPtShape->SetBinContent(i,0.03);
736 for(Int_t i=5; i<=6; i++) fMCPtShape->SetBinContent(i,0.03);
737 for(Int_t i=7; i<=8; i++) fMCPtShape->SetBinContent(i,0.02);
738 for(Int_t i=9; i<=12; i++) fMCPtShape->SetBinContent(i,0.02);
741 // particle-antiparticle
743 fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",12,0,12);
744 fPartAntipart->SetBinContent(1,1);
745 fPartAntipart->SetBinContent(2,1);
746 fPartAntipart->SetBinContent(3,0.12);
747 for(Int_t i=4;i<=12;i++) fPartAntipart->SetBinContent(i,0.05); //5 to 12%
753 //--------------------------------------------------------------------------
754 void AliHFSystErr::InitDplustoKpipi2011PbPb07half() {
756 // D+->Kpipi syst errors. Responsible: E. Bruna
757 // 2011 PbPb sample, 0-7.5% CC
761 fNorm = new TH1F("fNorm","fNorm",36,0,36);
762 for(Int_t i=1;i<=36;i++) fNorm->SetBinContent(i,0.048); // TAA and pp norm
765 fBR = new TH1F("fBR","fBR",36,0,36);
766 for(Int_t i=1;i<=36;i++) fBR->SetBinContent(i,0.021); // 2.1% PDG2010
768 // Tracking efficiency
769 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",36,0,36);
770 for(Int_t i=1;i<=36;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
772 // Raw yield extraction
773 fRawYield = new TH1F("fRawYield","fRawYield",36,0,36);
774 for(Int_t i=1;i<=36;i++) fRawYield->SetBinContent(i,.10); //5 to 10%
775 fRawYield->SetBinContent(4,0.30);
776 fRawYield->SetBinContent(5,0.20);
777 fRawYield->SetBinContent(6,0.20);
778 for(Int_t i=7; i<=8; i++) fRawYield->SetBinContent(i,0.10);
779 for(Int_t i=9; i<=12; i++) fRawYield->SetBinContent(i,0.08);
780 for(Int_t i=13; i<=16; i++) fRawYield->SetBinContent(i,0.05);
781 for(Int_t i=17; i<=24; i++) fRawYield->SetBinContent(i,0.08);
782 for(Int_t i=25; i<=36; i++) fRawYield->SetBinContent(i,0.20);
785 // Cuts efficiency (from cuts variation)
786 fCutsEff = new TH1F("fCutsEff","fCutsEff",36,0,36);
787 for(Int_t i=1; i<=12; i++) fCutsEff->SetBinContent(i,0.10);
788 for(Int_t i=13; i<=36; i++) fCutsEff->SetBinContent(i,0.08);
791 // PID efficiency (from PID/noPID)
792 fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
793 for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.05); // 5%
795 // MC dN/dpt (24/7/2012)
796 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",36,0,36);
797 for(Int_t iBin=1; iBin<=5; iBin++) fMCPtShape->SetBinContent(iBin,0.05);
798 for(Int_t iBin=6; iBin<=36; iBin++) fMCPtShape->SetBinContent(iBin,0.03);
799 // for(Int_t iBin=13; iBin<=36; iBin++) fMCPtShape->SetBinContent(iBin,0.05);
802 // particle-antiparticle
804 fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
805 fPartAntipart->SetBinContent(1,1);
806 fPartAntipart->SetBinContent(2,1);
807 fPartAntipart->SetBinContent(3,0.12);
808 for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05); //5 to 12%
814 //--------------------------------------------------------------------------
815 void AliHFSystErr::InitDstoKKpi2011PbPb07half() {
817 // D+s->Kpipi syst errors. Responsible: G.M. Innocenti
818 // 2011 PbPb sample, 0-7.5% CC
822 fNorm = new TH1F("fNorm","fNorm",12,0,12);
823 for(Int_t i=1;i<=12;i++) fNorm->SetBinContent(i,0.048); // TAA and pp norm
826 fBR = new TH1F("fBR","fBR",12,0,12);
827 for(Int_t i=1;i<=12;i++) fBR->SetBinContent(i,0.053); // 0.12/2.28 PDG2012
829 // Tracking efficiency
830 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",12,0,12);
831 for(Int_t i=1;i<=12;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
833 // Raw yield extraction
834 fRawYield = new TH1F("fRawYield","fRawYield",12,0,12);
835 for(Int_t i=1;i<=6;i++) fRawYield->SetBinContent(i,.30);
836 for(Int_t i=7; i<=12; i++) fRawYield->SetBinContent(i,0.20);
840 // Cuts efficiency (from cuts variation)
841 fCutsEff = new TH1F("fCutsEff","fCutsEff",12,0,12);
842 for(Int_t i=1;i<=12;i++) fCutsEff->SetBinContent(i,0.20); // 20%
844 // PID efficiency (from PID/noPID)
845 fPIDEff = new TH1F("fPIDEff","fPIDEff",12,0,12);
846 for(Int_t i=1;i<=12;i++) fPIDEff->SetBinContent(i,0.1); // 10%
849 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",12,0,12);
850 for(Int_t i=1; i<=2; i++) fMCPtShape->SetBinContent(i,1.);
851 for(Int_t i=3; i<=4; i++) fMCPtShape->SetBinContent(i,0.03);
852 for(Int_t i=5; i<=6; i++) fMCPtShape->SetBinContent(i,0.03);
853 for(Int_t i=7; i<=8; i++) fMCPtShape->SetBinContent(i,0.02);
854 for(Int_t i=9; i<=12; i++) fMCPtShape->SetBinContent(i,0.02);
856 // particle-antiparticle
858 fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",12,0,12);
859 fPartAntipart->SetBinContent(1,1);
860 fPartAntipart->SetBinContent(2,1);
861 fPartAntipart->SetBinContent(3,0.12);
862 for(Int_t i=4;i<=12;i++) fPartAntipart->SetBinContent(i,0.05); //5 to 12%
868 //_________________________________________________________________________
869 void AliHFSystErr::InitDstoKKpi2013pPb0100(){
872 AliInfo(" Settings for Ds --> K K pi, p-Pb collisions at 5.023 TeV");
875 fNorm = new TH1F("fNorm","fNorm",24,0,24);
876 for(Int_t i=3;i<=12;i++) fNorm->SetBinContent(i,0.00); //
879 fBR = new TH1F("fBR","fBR",12,0,12);
880 for(Int_t i=3;i<=12;i++) fBR->SetBinContent(i,0.053); // 0.12/2.28 PDG2012
882 // Tracking efficiency
883 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);
884 for(Int_t i=3;i<=12;i++) fTrackingEff->SetBinContent(i,0.09); // 3% per track
886 // Raw yield extraction
887 fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
888 for(Int_t i=3; i<=4; i++) fRawYield->SetBinContent(i,0.10);
889 for(Int_t i=5; i<=6; i++) fRawYield->SetBinContent(i,0.08);
890 for(Int_t i=7; i<=8; i++) fRawYield->SetBinContent(i,0.05);
891 for(Int_t i=9; i<=12; i++) fRawYield->SetBinContent(i,0.08);
893 // Cuts efficiency (from cuts variation)
894 fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
895 for(Int_t i=3;i<=12;i++) fCutsEff->SetBinContent(i,0.15); //
897 // PID efficiency (from PID/noPID)
898 fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
899 for(Int_t i=3;i<=4;i++) fPIDEff->SetBinContent(i,0.10);
900 for(Int_t i=5;i<=12;i++) fPIDEff->SetBinContent(i,0.05);
903 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
904 for(Int_t i=3;i<=12;i++) fMCPtShape->SetBinContent(i,0.04);
906 // particle-antiparticle
908 fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
909 fPartAntipart->SetBinContent(1,1);
910 fPartAntipart->SetBinContent(2,1);
911 fPartAntipart->SetBinContent(3,0.12);
912 for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05); //5 to 12%
918 //--------------------------------------------------------------------------
919 void AliHFSystErr::InitDplustoKpipi2010PbPb020() {
921 // D+->Kpipi syst errors. Responsible: ??
922 // 2010 PbPb sample, 0-20 CC
926 fNorm = new TH1F("fNorm","fNorm",20,0,20);
927 for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.05); // TAA and pp norm
930 fBR = new TH1F("fBR","fBR",20,0,20);
931 for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.021); // 2.1% PDG2010
933 // Tracking efficiency
934 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
935 for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
937 // Raw yield extraction
938 fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
939 for(Int_t i=1;i<=20;i++) fRawYield->SetBinContent(i,.10); //5 to 10%
940 // fRawYield->SetBinContent(5,0.23);
941 //fRawYield->SetBinContent(6,0.23);
942 fRawYield->SetBinContent(7,0.20);
943 fRawYield->SetBinContent(8,0.20);
944 fRawYield->SetBinContent(9,0.15);
945 fRawYield->SetBinContent(10,0.15);
946 fRawYield->SetBinContent(11,0.15);
947 fRawYield->SetBinContent(12,0.15);
949 // Cuts efficiency (from cuts variation)
950 fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
951 for(Int_t i=1;i<=20;i++) fCutsEff->SetBinContent(i,0.15); // 10%
953 // PID efficiency (from PID/noPID)
954 fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
955 for(Int_t i=1;i<=20;i++) fPIDEff->SetBinContent(i,0.05); // 5%
957 // MC dN/dpt (2/2/2012)
958 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
959 for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.);
960 for(Int_t iBin=7; iBin<=8; iBin++) fMCPtShape->SetBinContent(iBin,0.01);
961 for(Int_t iBin=9; iBin<=12; iBin++) fMCPtShape->SetBinContent(iBin,0.05);
962 for(Int_t iBin=13; iBin<=16; iBin++) fMCPtShape->SetBinContent(iBin,0.05);
965 // particle-antiparticle
967 fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
968 fPartAntipart->SetBinContent(1,1);
969 fPartAntipart->SetBinContent(2,1);
970 fPartAntipart->SetBinContent(3,0.12);
971 for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05); //5 to 12%
977 //--------------------------------------------------------------------------
978 void AliHFSystErr::InitDplustoKpipi2010PbPb4080() {
980 // D+->Kpipi syst errors. Responsible: ??
981 // 2010 PbPb sample, 40-80 CC
986 fNorm = new TH1F("fNorm","fNorm",20,0,20);
987 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.07); // TAA and pp norm
990 fBR = new TH1F("fBR","fBR",20,0,20);
991 for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.021); // 2.1%
993 // Tracking efficiency
994 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
995 for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
998 // Raw yield extraction
999 fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
1000 fRawYield->SetBinContent(1,1);
1001 fRawYield->SetBinContent(2,1);
1002 fRawYield->SetBinContent(3,1);
1003 fRawYield->SetBinContent(4,0.15);
1004 fRawYield->SetBinContent(5,0.05);
1005 fRawYield->SetBinContent(6,0.05);
1006 fRawYield->SetBinContent(7,0.15);
1007 fRawYield->SetBinContent(8,0.15);
1008 for(Int_t i=9;i<=12;i++) fRawYield->SetBinContent(i,0.15);
1009 for(Int_t i=13;i<=20;i++) fRawYield->SetBinContent(i,1); //5 to 10%
1011 // Cuts efficiency (from cuts variation)
1012 fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
1013 for(Int_t i=1;i<=20;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1015 // PID efficiency (from PID/noPID)
1016 fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
1017 for(Int_t i=1;i<=20;i++) fPIDEff->SetBinContent(i,0.05); // 5%
1018 fPIDEff->SetBinContent(3,0.13); // 13%
1021 // MC dN/dpt (2/2/2012)
1022 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
1023 for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0);
1024 for(Int_t iBin=4; iBin<=8; iBin++) fMCPtShape->SetBinContent(iBin,0.01);
1025 for(Int_t iBin=9; iBin<=12; iBin++) fMCPtShape->SetBinContent(iBin,0.03);
1026 for(Int_t iBin=13; iBin<=16; iBin++) fMCPtShape->SetBinContent(iBin,0.03);
1029 // particle-antiparticle
1031 fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
1032 fPartAntipart->SetBinContent(1,1);
1033 fPartAntipart->SetBinContent(2,1);
1034 fPartAntipart->SetBinContent(3,0.12);
1035 for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05); //5 to 12%
1040 //--------------------------------------------------------------------------
1041 void AliHFSystErr::InitDplustoKpipi2010ppLowEn() {
1044 // D+->Kpipi syst errors. Responsible: R. Bala
1045 // 2011 2.76 TeV pp sample
1047 AliInfo(" Settings for D+ --> K pi pi p-p collisions at 2.76 TeV");
1050 fNorm = new TH1F("fNorm","fNorm",20,0,20);
1051 for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.031); // 10% error on sigmaV0and
1054 fBR = new TH1F("fBR","fBR",20,0,20);
1055 for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.021); // 2.1% PDG2010
1057 // Tracking efficiency
1058 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
1059 for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.15); // 3% (1% per track)
1061 // Raw yield extraction
1062 fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
1063 fRawYield->SetBinContent(1,1);
1064 fRawYield->SetBinContent(2,1);
1065 for(Int_t i=3;i<=6;i++) fRawYield->SetBinContent(i,0.10); //5 to 10%
1066 fRawYield->SetBinContent(7,0.15);
1067 fRawYield->SetBinContent(8,0.15);
1068 for(Int_t i=9;i<=20;i++) fRawYield->SetBinContent(i,0.055); //5 to 10%
1070 // Cuts efficiency (from cuts variation)
1071 fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
1072 for(Int_t i=1;i<=20;i++) fCutsEff->SetBinContent(i,0.15); // 10%
1074 // PID efficiency (from PID/noPID)
1075 fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
1076 for(Int_t i=1;i<=20;i++) fPIDEff->SetBinContent(i,0.05); // 5%
1077 fPIDEff->SetBinContent(3,0.10); // 13%
1078 fPIDEff->SetBinContent(4,0.10); // 13%
1080 // MC dN/dpt (copied from D0 : will update later)
1081 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
1082 for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.01);
1083 fMCPtShape->SetBinContent(1,0.03);
1084 fMCPtShape->SetBinContent(2,0.03);
1089 //_________________________________________________________________________
1090 void AliHFSystErr::InitDplustoKpipi2013pPb0100(){
1093 AliInfo(" Settings for D+ --> K pi pi, p-Pb collisions at 5.023 TeV");
1095 fNorm = new TH1F("fNorm","fNorm",24,0,24);
1096 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.00); //
1098 fBR = new TH1F("fBR","fBR",20,0,20);
1099 for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.021); // 2.1% PDG2010
1101 // Tracking efficiency
1102 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);
1103 for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.09); // 3% per track
1105 // Raw yield extraction
1106 fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
1107 for(Int_t i=1;i<=24;i++) fRawYield->SetBinContent(i,0.0);
1109 // Cuts efficiency (from cuts variation)
1110 fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
1111 for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.0); //
1113 // PID efficiency (from PID/noPID)
1114 fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
1115 fPIDEff->SetBinContent(2,0.05);
1116 for(Int_t i=3;i<=12;i++) fPIDEff->SetBinContent(i,0.00);
1117 for(Int_t i=12;i<=24;i++) fPIDEff->SetBinContent(i,0.05);
1120 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
1121 for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.0);
1123 // particle-antiparticle
1125 fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
1126 fPartAntipart->SetBinContent(1,1);
1127 fPartAntipart->SetBinContent(2,1);
1128 fPartAntipart->SetBinContent(3,0.12);
1129 for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05); //5 to 12%
1136 //--------------------------------------------------------------------------
1137 void AliHFSystErr::InitDstartoD0pi2010pp() {
1139 // D*+->D0pi syst errors. Responsible: A. Grelli, Y. Wang
1144 fNorm = new TH1F("fNorm","fNorm",24,0,24);
1145 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.035); // 4% error on sigmaV0and
1148 fBR = new TH1F("fBR","fBR",24,0,24);
1149 for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1151 // Tracking efficiency
1152 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);
1153 fTrackingEff->SetBinContent(1,1.0);
1154 fTrackingEff->SetBinContent(2,0.13); // 10% (ITSsa) \oplus 8% (4% per ITSTPC track)
1155 fTrackingEff->SetBinContent(3,0.12);
1156 fTrackingEff->SetBinContent(3,0.12);
1157 for(Int_t i=4;i<=24;i++) fTrackingEff->SetBinContent(i,0.12); // 12% (4% per track)
1160 // Raw yield extraction
1161 fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
1162 fRawYield->SetBinContent(1,1.0);
1163 fRawYield->SetBinContent(2,0.10);
1164 fRawYield->SetBinContent(3,0.04);
1165 fRawYield->SetBinContent(4,0.03);
1166 fRawYield->SetBinContent(5,0.03);
1167 fRawYield->SetBinContent(6,0.05);
1168 fRawYield->SetBinContent(7,0.05);
1169 fRawYield->SetBinContent(8,0.05);
1170 for(Int_t i=9;i<=12;i++) fRawYield->SetBinContent(i,0.04); //4%
1171 for(Int_t i=13;i<=16;i++) fRawYield->SetBinContent(i,0.09); //4%
1172 for(Int_t i=17;i<=24;i++) fRawYield->SetBinContent(i,0.2); //4%
1174 // Cuts efficiency (from cuts variation)
1175 fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
1176 fCutsEff->SetBinContent(2,0.22);
1177 for(Int_t i=3;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1179 // PID efficiency (from PID/noPID)
1180 fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
1181 for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.04); // 3%
1184 // MC dN/dpt (copied from D0 : will update later)
1185 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
1186 for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0);
1187 fMCPtShape->SetBinContent(1,0.03);
1188 fMCPtShape->SetBinContent(2,0.03);
1194 //--------------------------------------------------------------------------
1195 void AliHFSystErr::InitDstartoD0pi2010ppLowEn() {
1198 // D+->Kpipi syst errors. Responsible: A. Grelli
1199 // 2011 2.76 TeV pp sample
1201 AliInfo(" Settings for D*+ --> D0 pi p-p collisions at 2.76 TeV");
1204 fNorm = new TH1F("fNorm","fNorm",20,0,20);
1205 for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.031); // 10% error on sigmaV0and
1208 fBR = new TH1F("fBR","fBR",20,0,20);
1209 for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1211 // Tracking efficiency
1212 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
1213 for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.15); //10% (to be checked!!)
1215 // Raw yield extraction
1216 fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
1217 fRawYield->SetBinContent(1,1);
1218 fRawYield->SetBinContent(2,1);
1219 fRawYield->SetBinContent(3,0.14);
1220 fRawYield->SetBinContent(4,0.14);
1221 fRawYield->SetBinContent(5,0.12);
1222 fRawYield->SetBinContent(6,0.12);
1223 fRawYield->SetBinContent(7,0.06);
1224 fRawYield->SetBinContent(8,0.06);
1225 fRawYield->SetBinContent(9,0.08);
1226 fRawYield->SetBinContent(10,0.08);
1227 fRawYield->SetBinContent(11,0.08);
1228 fRawYield->SetBinContent(12,0.08);
1229 for(Int_t i=9;i<=20;i++) fRawYield->SetBinContent(i,0.065);
1231 // Cuts efficiency (from cuts variation)
1232 fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
1233 for(Int_t i=1;i<=20;i++) fCutsEff->SetBinContent(i,0.10);
1234 fCutsEff->SetBinContent(3,0.15);
1235 fCutsEff->SetBinContent(4,0.15);
1236 fCutsEff->SetBinContent(5,0.15);
1237 fCutsEff->SetBinContent(6,0.15);
1238 fCutsEff->SetBinContent(7,0.10);
1239 fCutsEff->SetBinContent(8,0.10);
1240 fCutsEff->SetBinContent(9,0.10);
1241 fCutsEff->SetBinContent(10,0.10);
1242 fCutsEff->SetBinContent(11,0.10);
1243 fCutsEff->SetBinContent(12,0.10);
1245 // PID efficiency (from PID/noPID)
1246 fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
1247 for(Int_t i=1;i<=20;i++) fPIDEff->SetBinContent(i,0.05); // 10%
1250 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
1251 for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.01);
1252 fMCPtShape->SetBinContent(1,0.03);
1253 fMCPtShape->SetBinContent(2,0.03);
1258 //------------------------------------------------------------------------
1259 void AliHFSystErr::InitDstartoD0pi2010PbPb020() {
1261 // D*+->D0pi syst errors. Responsible: A. Grelli
1262 // 2010 PbPb sample, 0-20 CC
1265 AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 0-20 centrality - DUMMY");
1268 fNorm = new TH1F("fNorm","fNorm",24,0,24);
1269 for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.05); // TAA and pp norm
1272 fBR = new TH1F("fBR","fBR",24,0,24);
1273 for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1275 // Tracking efficiency
1276 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);;
1277 for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
1280 // Raw yield extraction
1281 fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
1282 for(Int_t i=1;i<=24;i++) fRawYield->SetBinContent(i,0.1); //4%
1283 fRawYield->SetBinContent(3,0.2);
1284 fRawYield->SetBinContent(4,0.2);
1285 fRawYield->SetBinContent(5,0.2);
1286 fRawYield->SetBinContent(6,0.2);
1288 // Cuts efficiency (from cuts variation)
1289 fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
1290 for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1291 fCutsEff->SetBinContent(4,0.15);
1292 fCutsEff->SetBinContent(5,0.15);
1293 fCutsEff->SetBinContent(6,0.15);
1295 // PID efficiency (from PID/noPID)
1296 fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
1297 for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.05); // 3%
1300 // MC dN/dpt (from study on D* pt shape)
1301 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
1302 for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.045);
1303 fMCPtShape->SetBinContent(4,0.025);
1304 fMCPtShape->SetBinContent(5,0.025);
1305 fMCPtShape->SetBinContent(6,0.025);
1306 fMCPtShape->SetBinContent(7,0.04);
1307 fMCPtShape->SetBinContent(8,0.04);
1308 fMCPtShape->SetBinContent(9,0.03);
1309 fMCPtShape->SetBinContent(10,0.03);
1310 fMCPtShape->SetBinContent(11,0.03);
1311 fMCPtShape->SetBinContent(12,0.03);
1316 // ----------------------------- 2011 ----------------------------------
1317 void AliHFSystErr::InitDstartoD0pi2011PbPb07half() {
1319 // D*+->D0pi syst errors. Responsible: A. Grelli
1320 // 2011 PbPb sample, 0-7.5 CC
1323 AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 0-7.5 centrality - DUMMY");
1327 fNorm = new TH1F("fNorm","fNorm",36,0,36);
1328 for(Int_t i=1;i<=36;i++) fNorm->SetBinContent(i,0.048); // TAA and pp norm
1331 fBR = new TH1F("fBR","fBR",36,0,36);
1332 for(Int_t i=1;i<=36;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1334 // Tracking efficiency
1335 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",36,0,36);;
1336 for(Int_t i=1;i<=36;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
1339 // Raw yield extraction
1340 fRawYield = new TH1F("fRawYield","fRawYield",36,0,36);
1341 for(Int_t i=1;i<=36;i++) fRawYield->SetBinContent(i,0.05); //4%
1342 fRawYield->SetBinContent(4,0.2);
1343 fRawYield->SetBinContent(5,0.10);
1344 fRawYield->SetBinContent(6,0.10);
1345 fRawYield->SetBinContent(7,0.08);
1346 for(Int_t i=25;i<=36;i++) fRawYield->SetBinContent(i,0.15); //4%
1348 // Cuts efficiency (from cuts variation)
1349 fCutsEff = new TH1F("fCutsEff","fCutsEff",36,0,36);
1350 for(Int_t i=1;i<=36;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1352 // PID efficiency (from PID/noPID)
1353 fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
1354 for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.05); // 3%
1355 fPIDEff->SetBinContent(4,0.09);
1357 // MC dN/dpt (from study on D* pt shape)
1358 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",36,0,36);
1359 for(Int_t i=1;i<=36;i++) fMCPtShape->SetBinContent(i,0.035);
1360 fMCPtShape->SetBinContent(4,0.015);
1361 fMCPtShape->SetBinContent(5,0.015);
1362 fMCPtShape->SetBinContent(6,0.015);
1363 fMCPtShape->SetBinContent(7,0.02);
1364 fMCPtShape->SetBinContent(8,0.02);
1365 fMCPtShape->SetBinContent(9,0.03);
1366 fMCPtShape->SetBinContent(10,0.03);
1367 fMCPtShape->SetBinContent(11,0.03);
1368 fMCPtShape->SetBinContent(12,0.03);
1375 //-------------------------------------------------------------------------
1376 void AliHFSystErr::InitDstartoD0pi2010PbPb2040() {
1378 // D*+->D0pi syst errors. Responsible: A. Grelli
1379 // 2010 PbPb sample, 20-40 CC
1382 AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 20-40 centrality - DUMMY");
1385 fNorm = new TH1F("fNorm","fNorm",24,0,24);
1386 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.10); // 10% error on sigmaV0and
1389 fBR = new TH1F("fBR","fBR",24,0,24);
1390 for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1392 // Tracking efficiency
1393 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);;
1394 for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
1397 // Raw yield extraction
1398 fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
1399 for(Int_t i=1;i<=24;i++) fRawYield->SetBinContent(i,0.15); //4%
1401 // Cuts efficiency (from cuts variation)
1402 fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
1403 for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1405 // PID efficiency (from PID/noPID)
1406 fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
1407 for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.04); // 3%
1410 // MC dN/dpt (copied from D0 : will update later)
1411 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
1412 for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.);
1413 fMCPtShape->SetBinContent(1,0.03);
1414 fMCPtShape->SetBinContent(2,0.03);
1420 //--------------------------------------------------------------------------
1421 void AliHFSystErr::InitDstartoD0pi2010PbPb4080() {
1423 // D*+->D0pi syst errors. Responsible: A. Grelli
1424 // 2010 PbPb sample, 40-80 CC
1427 AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 40-80 centrality - DUMMY");
1430 fNorm = new TH1F("fNorm","fNorm",24,0,24);
1431 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.07); // TAA and pp norm
1434 fBR = new TH1F("fBR","fBR",24,0,24);
1435 for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1437 // Tracking efficiency
1438 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);;
1439 for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
1442 // Raw yield extraction
1443 fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
1444 for(Int_t i=1;i<=24;i++) fRawYield->SetBinContent(i,0.2); //4%
1445 fRawYield->SetBinContent(1,1);
1446 fRawYield->SetBinContent(2,0.15);
1447 fRawYield->SetBinContent(3,0.15);
1448 fRawYield->SetBinContent(4,0.15);
1449 fRawYield->SetBinContent(5,0.15);
1450 fRawYield->SetBinContent(6,0.10);
1451 fRawYield->SetBinContent(7,0.10);
1452 fRawYield->SetBinContent(8,0.10);
1453 fRawYield->SetBinContent(9,0.11);
1454 fRawYield->SetBinContent(10,0.11);
1455 fRawYield->SetBinContent(11,0.11);
1456 fRawYield->SetBinContent(12,0.11);
1457 fRawYield->SetBinContent(13,0.08);
1458 fRawYield->SetBinContent(14,0.08);
1459 fRawYield->SetBinContent(15,0.08);
1460 fRawYield->SetBinContent(16,0.08);
1463 // Cuts efficiency (from cuts variation)
1464 fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
1465 for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1467 // PID efficiency (from PID/noPID)
1468 fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
1469 for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.05); // 3%
1472 // MC dN/dpt (copied from D0 : will update later)
1473 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
1474 for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.01);
1475 fMCPtShape->SetBinContent(2,0.05);
1476 fMCPtShape->SetBinContent(3,0.05);
1477 fMCPtShape->SetBinContent(4,0.05);
1478 fMCPtShape->SetBinContent(5,0.04);
1479 fMCPtShape->SetBinContent(6,0.02);
1480 fMCPtShape->SetBinContent(7,0.04);
1481 fMCPtShape->SetBinContent(8,0.04);
1487 //_________________________________________________________________________
1488 void AliHFSystErr::InitDstartoD0pi2013pPb0100(){
1489 // Dstar syst in pPb 2013 MB
1491 AliInfo(" Settings for D* --> D0 pi, p-Pb collisions at 5.023 TeV");
1494 fNorm = new TH1F("fNorm","fNorm",24,0,24);
1495 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.00); //
1498 fBR = new TH1F("fBR","fBR",24,0,24);
1499 for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1501 // Tracking efficiency
1502 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);
1503 for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.09); // 3% per track
1505 // Raw yield extraction
1506 fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
1507 fRawYield->SetBinContent(1,1.0);
1508 fRawYield->SetBinContent(2,0.10);
1509 fRawYield->SetBinContent(3,0.05);
1510 fRawYield->SetBinContent(4,0.02);
1511 fRawYield->SetBinContent(5,0.02);
1512 fRawYield->SetBinContent(6,0.04);
1513 fRawYield->SetBinContent(7,0.04);
1514 fRawYield->SetBinContent(8,0.04);
1515 for(Int_t i=9;i<=12;i++) fRawYield->SetBinContent(i,0.04);
1516 for(Int_t i=13;i<=16;i++) fRawYield->SetBinContent(i,0.06);
1517 for(Int_t i=17;i<=24;i++) fRawYield->SetBinContent(i,0.06);
1519 // Cuts efficiency (from cuts variation)
1520 fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
1521 fCutsEff->SetBinContent(1,0.);
1522 fCutsEff->SetBinContent(2,0.10);
1523 for(Int_t i=3;i<=24;i++) fCutsEff->SetBinContent(i,0.05);
1525 // PID efficiency (from PID/noPID)
1526 fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
1527 fPIDEff->SetBinContent(1,0.0);
1528 fPIDEff->SetBinContent(2,0.05);
1529 for(Int_t i=3;i<=12;i++) fPIDEff->SetBinContent(i,0.00);
1530 for(Int_t i=12;i<=24;i++) fPIDEff->SetBinContent(i,0.05);
1533 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
1534 for(Int_t i=1;i<=3;i++) fMCPtShape->SetBinContent(i,0.02);
1535 for(Int_t i=4;i<=8;i++) fMCPtShape->SetBinContent(i,0.);
1536 for(Int_t i=9;i<=24;i++) fMCPtShape->SetBinContent(i,0.01);
1538 // particle-antiparticle
1540 fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
1541 fPartAntipart->SetBinContent(1,1);
1542 fPartAntipart->SetBinContent(2,1);
1543 fPartAntipart->SetBinContent(3,0.12);
1544 for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05); //5 to 12%
1551 //--------------------------------------------------------------------------
1552 void AliHFSystErr::InitD0toKpi2010PbPb010CentScan(){
1553 // define errors for RAA vs. centrality
1554 InitD0toKpi2010PbPb020();
1555 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
1556 for(Int_t i=3;i<=5;i++) fMCPtShape->SetBinContent(i,0.17);
1557 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
1559 //--------------------------------------------------------------------------
1560 void AliHFSystErr::InitD0toKpi2010PbPb1020CentScan(){
1561 // define errors for RAA vs. centrality
1562 InitD0toKpi2010PbPb020();
1563 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
1564 for(Int_t i=3;i<=5;i++) fMCPtShape->SetBinContent(i,0.17);
1565 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
1567 //--------------------------------------------------------------------------
1568 void AliHFSystErr::InitD0toKpi2010PbPb2040CentScan(){
1569 // define errors for RAA vs. centrality
1570 InitD0toKpi2010PbPb4080();
1571 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
1572 for(Int_t i=3;i<=5;i++) fMCPtShape->SetBinContent(i,0.14);
1573 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
1575 //--------------------------------------------------------------------------
1576 void AliHFSystErr::InitD0toKpi2010PbPb4060CentScan(){
1577 // define errors for RAA vs. centrality
1578 InitD0toKpi2010PbPb4080();
1579 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.06);
1580 for(Int_t i=3;i<=5;i++) fMCPtShape->SetBinContent(i,0.11);
1581 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
1583 //--------------------------------------------------------------------------
1584 void AliHFSystErr::InitD0toKpi2010PbPb6080CentScan(){
1585 // define errors for RAA vs. centrality
1586 InitD0toKpi2010PbPb4080();
1587 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.08);
1588 for(Int_t i=3;i<=5;i++) fMCPtShape->SetBinContent(i,0.08);
1589 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
1591 //--------------------------------------------------------------------------
1592 void AliHFSystErr::InitDplustoKpipi2010PbPb010CentScan(){
1593 // define errors for RAA vs. centrality
1594 InitDplustoKpipi2010PbPb020();
1595 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.18);
1596 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.09);
1599 //--------------------------------------------------------------------------
1600 void AliHFSystErr::InitDplustoKpipi2010PbPb1020CentScan(){
1601 // define errors for RAA vs. centrality
1602 InitDplustoKpipi2010PbPb020();
1603 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.23);
1604 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
1606 //--------------------------------------------------------------------------
1607 void AliHFSystErr::InitDplustoKpipi2010PbPb2040CentScan(){
1608 // define errors for RAA vs. centrality
1609 InitDplustoKpipi2010PbPb020();
1610 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.08);
1611 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.095);
1613 //--------------------------------------------------------------------------
1614 void AliHFSystErr::InitDplustoKpipi2010PbPb4060CentScan(){
1615 // define errors for RAA vs. centrality
1616 InitDplustoKpipi2010PbPb4080();
1617 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.08);
1618 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
1620 //--------------------------------------------------------------------------
1621 void AliHFSystErr::InitDplustoKpipi2010PbPb6080CentScan(){
1622 // define errors for RAA vs. centrality
1623 InitDplustoKpipi2010PbPb4080();
1624 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.15);
1625 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.07);
1628 //--------------------------------------------------------------------------
1629 void AliHFSystErr::InitDstartoD0pi2010PbPb010CentScan(){
1630 // define errors for RAA vs. centrality
1631 InitDstartoD0pi2010PbPb020();
1632 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.16);
1633 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.15);
1635 //--------------------------------------------------------------------------
1636 void AliHFSystErr::InitDstartoD0pi2010PbPb1020CentScan(){
1637 // define errors for RAA vs. centrality
1638 InitDstartoD0pi2010PbPb020();
1639 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
1640 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.15);
1642 //--------------------------------------------------------------------------
1643 void AliHFSystErr::InitDstartoD0pi2010PbPb2040CentScan(){
1644 // define errors for RAA vs. centrality
1645 InitDstartoD0pi2010PbPb2040();
1646 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.10);
1647 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
1649 //--------------------------------------------------------------------------
1650 void AliHFSystErr::InitDstartoD0pi2010PbPb4060CentScan(){
1651 // define errors for RAA vs. centrality
1652 InitDstartoD0pi2010PbPb4080();
1653 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.10);
1654 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.045);
1656 //--------------------------------------------------------------------------
1657 void AliHFSystErr::InitDstartoD0pi2010PbPb6080CentScan(){
1658 // define errors for RAA vs. centrality
1659 InitDstartoD0pi2010PbPb4080();
1660 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.10);
1661 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.045);
1664 //--------------------------------------------------------------------------
1665 void AliHFSystErr::InitD0toKpi2011PbPb010CentScan(){
1666 // define errors for RAA vs. centrality 2011
1667 InitD0toKpi2011PbPb07half();
1670 //--------------------------------------------------------------------------
1671 void AliHFSystErr::InitD0toKpi2011PbPb1020CentScan(){
1672 // define errors for RAA vs. centrality 2011
1673 InitD0toKpi2011PbPb07half();
1676 //--------------------------------------------------------------------------
1677 void AliHFSystErr::InitD0toKpi2011PbPb2030CentScan(){
1678 // define errors for RAA vs. centrality 2011
1679 InitD0toKpi2011PbPb07half();
1682 //--------------------------------------------------------------------------
1683 void AliHFSystErr::InitD0toKpi2011PbPb3040CentScan(){
1684 // define errors for RAA vs. centrality 2011
1685 InitD0toKpi2011PbPb07half();
1688 //--------------------------------------------------------------------------
1689 void AliHFSystErr::InitD0toKpi2011PbPb4050CentScan(){
1690 // define errors for RAA vs. centrality 2011
1691 InitD0toKpi2011PbPb07half();
1694 //--------------------------------------------------------------------------
1695 void AliHFSystErr::InitD0toKpi2010PbPb5080CentScan(){
1696 // define errors for RAA vs. centrality 2011
1697 InitD0toKpi2011PbPb07half();
1701 //--------------------------------------------------------------------------
1702 void AliHFSystErr::InitDplustoKpipi2011PbPb010CentScan(){
1703 // define errors for RAA vs. centrality 2011
1704 InitDplustoKpipi2011PbPb07half();
1706 for(Int_t i=2;i<=5;i++) fRawYield->SetBinContent(i,0.15);
1707 for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.05);
1708 for(Int_t i=9;i<=17;i++) fRawYield->SetBinContent(i,0.15);
1710 for(Int_t i=2;i<=5;i++) fMCPtShape->SetBinContent(i,0.10);
1711 for(Int_t i=5;i<=8;i++) fMCPtShape->SetBinContent(i,0.05);
1712 for(Int_t i=9;i<=17;i++) fMCPtShape->SetBinContent(i,0.05);
1714 for(Int_t i=2;i<=5;i++) fCutsEff->SetBinContent(i,0.15);
1715 for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.20);
1716 for(Int_t i=9;i<=17;i++) fCutsEff->SetBinContent(i,0.10);
1719 //--------------------------------------------------------------------------
1720 void AliHFSystErr::InitDplustoKpipi2011PbPb1020CentScan(){
1721 // define errors for RAA vs. centrality 2011
1722 InitDplustoKpipi2011PbPb07half();
1724 for(Int_t i=2;i<=5;i++) fRawYield->SetBinContent(i,0.10);
1725 for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.10);
1726 for(Int_t i=9;i<=17;i++)fRawYield->SetBinContent(i,0.15);
1728 for(Int_t i=2;i<=5;i++) fMCPtShape->SetBinContent(i,0.10);
1729 for(Int_t i=5;i<=8;i++) fMCPtShape->SetBinContent(i,0.05);
1730 for(Int_t i=9;i<=17;i++) fMCPtShape->SetBinContent(i,0.05);
1732 for(Int_t i=2;i<=5;i++) fCutsEff->SetBinContent(i,0.15);
1733 for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.20);
1734 for(Int_t i=9;i<=17;i++) fCutsEff->SetBinContent(i,0.15);
1737 //--------------------------------------------------------------------------
1738 void AliHFSystErr::InitDplustoKpipi2011PbPb2030CentScan(){
1739 // define errors for RAA vs. centrality 2011
1740 InitDplustoKpipi2011PbPb07half();
1742 for(Int_t i=2;i<=5;i++) fRawYield->SetBinContent(i,0.10);
1743 for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.10);
1744 for(Int_t i=9;i<=17;i++) fRawYield->SetBinContent(i,0.08);
1746 for(Int_t i=2;i<=5;i++) fMCPtShape->SetBinContent(i,0.10);
1747 for(Int_t i=5;i<=8;i++) fMCPtShape->SetBinContent(i,0.05);
1748 for(Int_t i=9;i<=17;i++) fMCPtShape->SetBinContent(i,0.05);
1750 for(Int_t i=2;i<=5;i++) fCutsEff->SetBinContent(i,0.20);
1751 for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.15);
1752 for(Int_t i=9;i<=17;i++) fCutsEff->SetBinContent(i,0.20);
1755 //--------------------------------------------------------------------------
1756 void AliHFSystErr::InitDplustoKpipi2011PbPb3040CentScan(){
1757 // define errors for RAA vs. centrality 2011
1758 InitDplustoKpipi2011PbPb07half();
1760 for(Int_t i=2;i<=5;i++) fRawYield->SetBinContent(i,0.20);
1761 for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.10);
1762 for(Int_t i=9;i<=17;i++) fRawYield->SetBinContent(i,0.20);
1764 for(Int_t i=2;i<=5;i++) fMCPtShape->SetBinContent(i,0.10);
1765 for(Int_t i=5;i<=8;i++) fMCPtShape->SetBinContent(i,0.05);
1766 for(Int_t i=9;i<=17;i++) fMCPtShape->SetBinContent(i,0.05);
1768 for(Int_t i=2;i<=5;i++) fCutsEff->SetBinContent(i,0.20);
1769 for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.20);
1770 for(Int_t i=9;i<=17;i++) fCutsEff->SetBinContent(i,0.20);
1773 //--------------------------------------------------------------------------
1774 void AliHFSystErr::InitDplustoKpipi2011PbPb4050CentScan(){
1775 // define errors for RAA vs. centrality 2011
1776 InitDplustoKpipi2011PbPb07half();
1778 for(Int_t i=2;i<=5;i++) fRawYield->SetBinContent(i,0.10);
1779 for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.10);
1780 for(Int_t i=9;i<=17;i++) fRawYield->SetBinContent(i,0.05);
1782 for(Int_t i=2;i<=5;i++) fMCPtShape->SetBinContent(i,0.10);
1783 for(Int_t i=5;i<=8;i++) fMCPtShape->SetBinContent(i,0.05);
1784 for(Int_t i=9;i<=17;i++) fMCPtShape->SetBinContent(i,0.05);
1786 for(Int_t i=2;i<=5;i++) fCutsEff->SetBinContent(i,0.20);
1787 for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.15);
1788 for(Int_t i=9;i<=17;i++) fCutsEff->SetBinContent(i,0.20);
1791 //--------------------------------------------------------------------------
1792 void AliHFSystErr::InitDplustoKpipi2010PbPb5080CentScan(){
1793 // define errors for RAA vs. centrality 2011
1794 InitDplustoKpipi2010PbPb4080();
1796 for(Int_t i=2;i<=5;i++) fRawYield->SetBinContent(i,0.05);
1797 for(Int_t i=5;i<=8;i++) fRawYield->SetBinContent(i,0.05);
1798 for(Int_t i=9;i<=17;i++) fRawYield->SetBinContent(i,0.10);
1800 for(Int_t i=1;i<=17;i++) fMCPtShape->SetBinContent(i,0.05);
1801 for(Int_t i=2;i<=5;i++) fCutsEff->SetBinContent(i,0.20); // 10%
1802 for(Int_t i=5;i<=8;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1803 for(Int_t i=9;i<=17;i++) fCutsEff->SetBinContent(i,0.20); // 10%
1806 //--------------------------------------------------------------------------
1807 void AliHFSystErr::InitDstartoD0pi2011PbPb010CentScan(){
1808 // define errors for RAA vs. centrality 2011
1809 InitDstartoD0pi2011PbPb07half();
1812 //--------------------------------------------------------------------------
1813 void AliHFSystErr::InitDstartoD0pi2011PbPb1020CentScan(){
1814 // define errors for RAA vs. centrality 2011
1815 InitDstartoD0pi2011PbPb07half();
1818 //--------------------------------------------------------------------------
1819 void AliHFSystErr::InitDstartoD0pi2011PbPb2030CentScan(){
1820 // define errors for RAA vs. centrality 2011
1821 InitDstartoD0pi2011PbPb07half();
1824 //--------------------------------------------------------------------------
1825 void AliHFSystErr::InitDstartoD0pi2011PbPb3040CentScan(){
1826 // define errors for RAA vs. centrality 2011
1827 InitDstartoD0pi2011PbPb07half();
1830 //--------------------------------------------------------------------------
1831 void AliHFSystErr::InitDstartoD0pi2011PbPb4050CentScan(){
1832 // define errors for RAA vs. centrality 2011
1833 InitDstartoD0pi2011PbPb07half();
1836 //--------------------------------------------------------------------------
1837 void AliHFSystErr::InitDstartoD0pi2010PbPb5080CentScan(){
1838 // define errors for RAA vs. centrality 2011
1839 InitDstartoD0pi2011PbPb07half();
1845 //--------------------------------------------------------------------------
1846 void AliHFSystErr::InitLctopKpi2010pp() {
1848 // Lc->pKpi syst errors. Responsible: R. Romita
1853 fNorm = new TH1F("fNorm","fNorm",4,2,6);
1854 for(Int_t i=1;i<=4;i++) fNorm->SetBinContent(i,0.035); // 4% error on sigmaV0and
1856 // Tracking efficiency
1857 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",4,2,6);
1858 for(Int_t i=1;i<=4;i++) fTrackingEff->SetBinContent(i,0.12); // 12% (4% per track)
1860 // Raw yield extraction
1861 fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
1862 fRawYield->SetBinContent(1,0.20);
1863 fRawYield->SetBinContent(2,0.15);
1864 fRawYield->SetBinContent(3,0.10);
1865 fRawYield->SetBinContent(4,0.15);
1867 fCutsEff = new TH1F("fCutsEff","fCutsEff",4,2,6);
1868 fCutsEff->SetBinContent(1,0.50);
1869 fCutsEff->SetBinContent(2,0.07);
1870 fCutsEff->SetBinContent(3,0.30);
1871 fCutsEff->SetBinContent(4,0.40);
1873 // PID efficiency (from PID/noPID)
1874 fPIDEff = new TH1F("fPIDEff","fPIDEff",4,2,4);
1875 fPIDEff->SetBinContent(1,0.13); // 15%
1876 fPIDEff->SetBinContent(2,0.30); // 15%
1877 fPIDEff->SetBinContent(3,0.5); // 15%
1878 fPIDEff->SetBinContent(4,0.30); // 15%
1881 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",12,0,12);
1882 for(Int_t i=1; i<=2; i++) fMCPtShape->SetBinContent(i,1.);
1883 for(Int_t i=3; i<=4; i++) fMCPtShape->SetBinContent(i,0.03);
1884 for(Int_t i=5; i<=6; i++) fMCPtShape->SetBinContent(i,0.03);
1885 for(Int_t i=7; i<=8; i++) fMCPtShape->SetBinContent(i,0.02);
1886 for(Int_t i=9; i<=12; i++) fMCPtShape->SetBinContent(i,0.02);
1889 //--------------------------------------------------------------------------
1890 Double_t AliHFSystErr::GetCutsEffErr(Double_t pt) const {
1895 Int_t bin=fCutsEff->FindBin(pt);
1897 return fCutsEff->GetBinContent(bin);
1899 //--------------------------------------------------------------------------
1900 Double_t AliHFSystErr::GetMCPtShapeErr(Double_t pt) const {
1905 Int_t bin=fMCPtShape->FindBin(pt);
1907 return fMCPtShape->GetBinContent(bin);
1909 //--------------------------------------------------------------------------
1910 Double_t AliHFSystErr::GetSeleEffErr(Double_t pt) const {
1915 Double_t err=GetCutsEffErr(pt)*GetCutsEffErr(pt)+GetMCPtShapeErr(pt)*GetMCPtShapeErr(pt);
1917 return TMath::Sqrt(err);
1919 //--------------------------------------------------------------------------
1920 Double_t AliHFSystErr::GetPIDEffErr(Double_t pt) const {
1925 Int_t bin=fPIDEff->FindBin(pt);
1927 return fPIDEff->GetBinContent(bin);
1929 //--------------------------------------------------------------------------
1930 Double_t AliHFSystErr::GetTrackingEffErr(Double_t pt) const {
1935 Int_t bin=fTrackingEff->FindBin(pt);
1937 return fTrackingEff->GetBinContent(bin);
1939 //--------------------------------------------------------------------------
1940 Double_t AliHFSystErr::GetRawYieldErr(Double_t pt) const {
1945 Int_t bin=fRawYield->FindBin(pt);
1947 return fRawYield->GetBinContent(bin);
1949 //--------------------------------------------------------------------------
1950 Double_t AliHFSystErr::GetPartAntipartErr(Double_t pt) const {
1955 Int_t bin=fPartAntipart->FindBin(pt);
1957 return fPartAntipart->GetBinContent(bin);
1959 //--------------------------------------------------------------------------
1960 Double_t AliHFSystErr::GetTotalSystErr(Double_t pt,Double_t feeddownErr) const {
1962 // Get total syst error (except norm. error)
1967 if(fRawYield) err += GetRawYieldErr(pt)*GetRawYieldErr(pt);
1968 if(fTrackingEff) err += GetTrackingEffErr(pt)*GetTrackingEffErr(pt);
1969 // if(fBR) err += GetBRErr()*GetBRErr();
1970 if(fCutsEff) err += GetCutsEffErr(pt)*GetCutsEffErr(pt);
1971 if(fPIDEff) err += GetPIDEffErr(pt)*GetPIDEffErr(pt);
1972 if(fMCPtShape) err += GetMCPtShapeErr(pt)*GetMCPtShapeErr(pt);
1973 if(fPartAntipart) err += GetPartAntipartErr(pt)*GetPartAntipartErr(pt);
1975 err += feeddownErr*feeddownErr;
1977 return TMath::Sqrt(err);
1979 //---------------------------------------------------------------------------
1980 void AliHFSystErr::DrawErrors(TGraphAsymmErrors *grErrFeeddown) const {
1984 gStyle->SetOptStat(0);
1986 TCanvas *cSystErr = new TCanvas("cSystErr","Systematic Errors",300,80,640,500);
1987 cSystErr->Range(0.20,-0.5,18.4,0.34);
1988 cSystErr->SetRightMargin(0.318);
1989 cSystErr->SetFillColor(0);
1991 TH2F *hFrame = new TH2F("hFrame","Systematic errors; p_{t} (GeV/c); Relative Error",40,0,40,100,-1,+1);
1992 hFrame->SetAxisRange(1.,35.9,"X");
1993 hFrame->SetAxisRange(-0.5,0.5,"Y");
1996 TLegend *leg = new TLegend(0.69,0.44,0.98,0.86,NULL,"brNDC");
1997 leg->SetTextSize(0.03601695);
1998 leg->SetFillStyle(0);
1999 leg->SetBorderSize(0);
2001 TH1F *hTotErr=new TH1F("hTotErr","",36,0,36);
2002 Int_t nbins = fNorm->GetNbinsX();
2003 TGraphAsymmErrors *gTotErr = new TGraphAsymmErrors(nbins);
2004 for(Int_t i=1;i<=36;i++) {
2005 Double_t pt = hTotErr->GetBinCenter(i);
2006 Double_t ptwidth = hTotErr->GetBinWidth(i);
2009 Double_t x=0., y=0., errxl=0., errxh=0., erryl=0., erryh=0.;
2010 Double_t toterryl=0., toterryh=0.;
2011 for(Int_t j=0; j<grErrFeeddown->GetN(); j++) {
2012 grErrFeeddown->GetPoint(j,x,y);
2013 errxh = grErrFeeddown->GetErrorXhigh(j);
2014 errxl = grErrFeeddown->GetErrorXlow(j);
2015 if ( ( (x-errxl) <= pt) && ( (x+errxl) >= pt) ) {
2016 erryh = grErrFeeddown->GetErrorYhigh(j);
2017 erryl = grErrFeeddown->GetErrorYlow(j);
2020 if (erryl>=1e-3) toterryl = GetTotalSystErr(pt,erryl);
2021 else toterryl = GetTotalSystErr(pt);
2022 if (erryh>=1e-3) toterryh = GetTotalSystErr(pt,erryh);
2023 else toterryh = GetTotalSystErr(pt);
2025 hTotErr->SetBinContent(i,toterryh);
2026 gTotErr->SetPoint(i,pt,0.);
2027 gTotErr->SetPointError(i,ptwidth/2.,ptwidth/2.,toterryl,toterryh); // i, exl, exh, eyl, eyh
2030 hTotErr->SetBinContent(i,GetTotalSystErr(pt));
2031 gTotErr->SetPoint(i,pt,0.);
2032 gTotErr->SetPointError(i,ptwidth/2.,ptwidth/2.,GetTotalSystErr(pt),GetTotalSystErr(pt)); // i, exl, exh, eyl, eyh
2036 gTotErr->SetLineColor(kBlack);
2037 gTotErr->SetFillColor(kRed);
2038 gTotErr->SetFillStyle(3002);
2040 leg->AddEntry(gTotErr,"Total (excl. norm.)","f");
2041 // hTotErr->SetLineColor(1);
2042 // hTotErr->SetLineWidth(3);
2043 // hTotErr->Draw("same");
2044 // leg->AddEntry(hTotErr,"Total (excl. norm.)","l");
2047 fNorm->SetFillColor(1);
2048 fNorm->SetFillStyle(3002);
2049 //fNorm->Draw("same");
2050 //TH1F *hNormRefl = ReflectHisto(fNorm);
2051 //hNormRefl->Draw("same");
2052 Double_t norm = fNorm->GetBinContent(1)*100;
2053 leg->AddEntry(fNorm,Form("Normalization (%.1f%s)",norm,"%"),"");
2056 grErrFeeddown->SetFillColor(kTeal-8);
2057 grErrFeeddown->SetFillStyle(3001);
2058 grErrFeeddown->Draw("2");
2059 leg->AddEntry(grErrFeeddown,"Feed-down from B","f");
2062 fTrackingEff->SetFillColor(4);
2063 fTrackingEff->SetFillStyle(3006);
2064 fTrackingEff->Draw("same");
2065 TH1F *hTrackingEffRefl = ReflectHisto(fTrackingEff);
2066 hTrackingEffRefl->Draw("same");
2067 leg->AddEntry(fTrackingEff,"Tracking efficiency","f");
2070 fBR->SetFillColor(6);
2071 fBR->SetFillStyle(3005);
2072 //fBR->SetFillStyle(3020);
2074 TH1F *hBRRefl = ReflectHisto(fBR);
2075 hBRRefl->Draw("same");
2076 leg->AddEntry(fBR,"Branching ratio","f");
2079 Int_t ci; // for color index setting
2080 ci = TColor::GetColor("#00cc00");
2081 fRawYield->SetLineColor(ci);
2082 // fRawYield->SetLineColor(3);
2083 fRawYield->SetLineWidth(3);
2084 fRawYield->Draw("same");
2085 TH1F *hRawYieldRefl = ReflectHisto(fRawYield);
2086 hRawYieldRefl->Draw("same");
2087 leg->AddEntry(fRawYield,"Yield extraction","l");
2090 fCutsEff->SetLineColor(4);
2091 fCutsEff->SetLineWidth(3);
2092 fCutsEff->Draw("same");
2093 TH1F *hCutsEffRefl = ReflectHisto(fCutsEff);
2094 hCutsEffRefl->Draw("same");
2095 leg->AddEntry(fCutsEff,"Cuts efficiency","l");
2098 fPIDEff->SetLineColor(7);
2099 fPIDEff->SetLineWidth(3);
2100 fPIDEff->Draw("same");
2101 TH1F *hPIDEffRefl = ReflectHisto(fPIDEff);
2102 hPIDEffRefl->Draw("same");
2103 leg->AddEntry(fPIDEff,"PID efficiency","l");
2106 Int_t ci = TColor::GetColor("#9933ff");
2107 fMCPtShape->SetLineColor(ci);
2108 // fMCPtShape->SetLineColor(8);
2109 fMCPtShape->SetLineWidth(3);
2110 fMCPtShape->Draw("same");
2111 TH1F *hMCPtShapeRefl = ReflectHisto(fMCPtShape);
2112 hMCPtShapeRefl->Draw("same");
2113 leg->AddEntry(fMCPtShape,"MC p_{t} shape","l");
2116 Int_t ci = TColor::GetColor("#ff6600");
2117 fPartAntipart->SetLineColor(ci);
2118 // fPartAntipart->SetLineColor(9);
2119 fPartAntipart->SetLineWidth(3);
2120 fPartAntipart->Draw("same");
2121 TH1F *hPartAntipartRefl = ReflectHisto(fPartAntipart);
2122 hPartAntipartRefl->Draw("same");
2123 leg->AddEntry(fPartAntipart,"D = #bar{D}","l");
2129 cSystErr->SaveAs("RelativeSystematics.eps");
2133 //-------------------------------------------------------------------------
2134 TH1F* AliHFSystErr::ReflectHisto(TH1F *hin) const {
2136 // Clones and reflects histogram
2138 TH1F *hout=(TH1F*)hin->Clone("hout");