]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/AliHFSystErr.cxx
Updated D* syst error for PbPb2011 (Alessandro)
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliHFSystErr.cxx
CommitLineData
ada850b0 1
0233abe6 2/**************************************************************************
3 * Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
4 * *
5 * Author: The ALICE Off-line Project. *
6 * Contributors are mentioned in the code where appropriate. *
7 * *
8 * Permission to use, copy, modify and distribute this software and its *
9 * documentation strictly for non-commercial purposes is hereby granted *
10 * without fee, provided that the above copyright notice appears in all *
11 * copies and that both the copyright notice and this permission notice *
12 * appear in the supporting documentation. The authors make no claims *
13 * about the suitability of this software for any purpose. It is *
14 * provided "as is" without express or implied warranty. *
15 **************************************************************************/
16
27de2dfb 17/* $Id$ */
18
0233abe6 19/////////////////////////////////////////////////////////////
20//
21// Class to handle systematic errors for charm hadrons
22//
23// Usage:
5541b811 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*
0233abe6 29// syst.DrawErrors(); // to see a plot of the error contributions
30// syst.GetTotalSystErr(pt); // to get the total err at pt
31//
32// Author: A.Dainese, andrea.dainese@pd.infn.it
33/////////////////////////////////////////////////////////////
34
35#include <TStyle.h>
36#include <TGraphAsymmErrors.h>
37#include <TMath.h>
38#include <TCanvas.h>
39#include <TH2F.h>
40#include <TLegend.h>
5ad8ad40 41#include <TColor.h>
0233abe6 42
5541b811 43#include "AliLog.h"
0233abe6 44#include "AliHFSystErr.h"
45
46
47ClassImp(AliHFSystErr)
48
49//--------------------------------------------------------------------------
50AliHFSystErr::AliHFSystErr(const Char_t* name, const Char_t* title) :
51TNamed(name,title),
52fNorm(0),
53fRawYield(0),
54fTrackingEff(0),
55fBR(0),
56fCutsEff(0),
57fPIDEff(0),
58fMCPtShape(0),
5541b811 59fPartAntipart(0),
60fRunNumber(10),
61fCollisionType(0),
a8c3295d 62fCentralityClass("0100"),
cede55f5 63fIsLowEnergy(false),
64fIsCentScan(false)
0233abe6 65{
66 //
67 // Default Constructor
68 //
69}
5541b811 70
0233abe6 71//--------------------------------------------------------------------------
5541b811 72AliHFSystErr::~AliHFSystErr() {
73 //
74 // Default Destructor
0233abe6 75 //
a8c3295d 76 /*
5541b811 77
78 if(fNorm) { delete fNorm; fNorm=0; }
79 if(fRawYield) { delete fRawYield; fRawYield=0; }
80 if(fTrackingEff) { delete fTrackingEff; fTrackingEff=0; }
81 if(fBR) { delete fBR; fBR=0; }
82 if(fCutsEff) { delete fCutsEff; fCutsEff=0; }
83 if(fPIDEff) { delete fPIDEff; fPIDEff=0; }
84 if(fMCPtShape) { delete fMCPtShape; fMCPtShape=0; }
85 if(fPartAntipart) { delete fPartAntipart; fPartAntipart=0; }
a8c3295d 86 */
5541b811 87}
88
89//--------------------------------------------------------------------------
90void AliHFSystErr::Init(Int_t decay){
91 //
92 // Variables/histos initialization
0233abe6 93 //
94
a8c3295d 95 if (fRunNumber!=10 && fIsLowEnergy==false) {
27360a0e 96 AliFatal("Only settings for 2010 and the low energy runs are implemented so far");
5541b811 97 }
98
0233abe6 99 switch(decay) {
100 case 1: // D0->Kpi
a8c3295d 101 if (fCollisionType==0) {
102 if (fIsLowEnergy) InitD0toKpi2010ppLowEn();
103 else InitD0toKpi2010pp();
104 } else if (fCollisionType==1) {
9a8b5080 105 if (fCentralityClass=="07half") InitD0toKpi2011PbPb07half();
106 else if (fCentralityClass=="010") InitD0toKpi2010PbPb010CentScan();
cede55f5 107 else if (fCentralityClass=="1020") InitD0toKpi2010PbPb1020CentScan();
108 else if (fCentralityClass=="020") InitD0toKpi2010PbPb020();
109 else if (fCentralityClass=="2040") InitD0toKpi2010PbPb2040CentScan();
110 else if (fCentralityClass=="4060") InitD0toKpi2010PbPb4060CentScan();
111 else if (fCentralityClass=="6080") InitD0toKpi2010PbPb6080CentScan();
aebba8df 112 else if (fCentralityClass=="4080") InitD0toKpi2010PbPb4080();
27360a0e 113 else AliFatal("Not yet implemented");
5541b811 114 }
a8c3295d 115 // else if (fCollisionType==2) InitD0toKpi2010ppLowEn();
0233abe6 116 break;
117 case 2: // D+->Kpipi
a8c3295d 118 if (fCollisionType==0) {
119 if (fIsLowEnergy) InitDplustoKpipi2010ppLowEn();
120 else InitDplustoKpipi2010pp();
121 } else if (fCollisionType==1) {
436b185f 122 if (fCentralityClass=="07half") InitDplustoKpipi2011PbPb07half();
123 else if (fCentralityClass=="010") InitDplustoKpipi2010PbPb010CentScan();
cede55f5 124 else if (fCentralityClass=="1020") InitDplustoKpipi2010PbPb1020CentScan();
125 else if (fCentralityClass=="020") InitDplustoKpipi2010PbPb020();
126 else if (fCentralityClass=="2040") InitDplustoKpipi2010PbPb2040CentScan();
127 else if (fCentralityClass=="4060") InitDplustoKpipi2010PbPb4060CentScan();
128 else if (fCentralityClass=="6080") InitDplustoKpipi2010PbPb6080CentScan();
aebba8df 129 else if (fCentralityClass=="4080") InitDplustoKpipi2010PbPb4080();
27360a0e 130 else AliFatal("Not yet implemented");
5541b811 131 }
0233abe6 132 break;
133 case 3: // D*->D0pi
fa2be30c 134 if (fCollisionType==0) {
135 if(fIsLowEnergy) InitDstartoD0pi2010ppLowEn();
136 else InitDstartoD0pi2010pp();
137 }else if (fCollisionType==1) {
cede55f5 138 if (fCentralityClass=="010") InitDstartoD0pi2010PbPb010CentScan();
9a8b5080 139 else if (fCentralityClass=="07half") InitDstartoD0pi2011PbPb07half();
cede55f5 140 else if (fCentralityClass=="1020") InitDstartoD0pi2010PbPb1020CentScan();
141 else if (fCentralityClass=="020") InitDstartoD0pi2010PbPb020();
142 else if (fCentralityClass=="2040" && fIsCentScan) InitDstartoD0pi2010PbPb2040CentScan();
143 else if (fCentralityClass=="2040") InitDstartoD0pi2010PbPb2040();
144 else if (fCentralityClass=="4060") InitDstartoD0pi2010PbPb4060CentScan();
145 else if (fCentralityClass=="6080") InitDstartoD0pi2010PbPb6080CentScan();
146 else if (fCentralityClass=="4080") InitDstartoD0pi2010PbPb4080();
27360a0e 147 else AliFatal("Not yet implemented");
5541b811 148 }
0233abe6 149 break;
66247513 150 case 4: // D+s->KKpi
151 if (fCollisionType==0) InitDstoKKpi2010pp();
27360a0e 152 else AliFatal("Not yet implemented");
66247513 153 break;
154
0233abe6 155 default:
156 printf("Invalid decay type: %d\n",decay);
157 break;
158 }
159
0233abe6 160}
5541b811 161
0233abe6 162//--------------------------------------------------------------------------
5541b811 163void AliHFSystErr::InitD0toKpi2010pp() {
164 //
165 // D0->Kpi syst errors. Responsible: A. Rossi
166 // 2010 pp sample
0233abe6 167 //
168
5541b811 169 // Normalization
f1d72175 170 fNorm = new TH1F("fNorm","fNorm",24,0,24);
27360a0e 171 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.035); // 4% error on sigmaV0and
5541b811 172
173 // Branching ratio
f1d72175 174 fBR = new TH1F("fBR","fBR",24,0,24);
175 for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.012); // 1.2% PDG2010
5541b811 176
177 // Tracking efficiency
f1d72175 178 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);
f8bc42d3 179 for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.08); // 8% (4% per track)
5541b811 180
181 // Raw yield extraction
f1d72175 182 fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
5541b811 183 fRawYield->SetBinContent(1,1);
d2e5959f 184 fRawYield->SetBinContent(2,0.22);
185 fRawYield->SetBinContent(3,0.1);
186 for(Int_t i=4;i<=7;i++) fRawYield->SetBinContent(i,0.04);
187 for(Int_t i=8;i<=12;i++) fRawYield->SetBinContent(i,0.07);
f1d72175 188 for(Int_t i=13;i<=16;i++) fRawYield->SetBinContent(i,0.10);
189 for(Int_t i=17;i<=24;i++) fRawYield->SetBinContent(i,1);
0233abe6 190
5541b811 191 // Cuts efficiency (from cuts variation)
f1d72175 192 fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
193 for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
5541b811 194
195 // PID efficiency (from PID/noPID)
f1d72175 196 fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
197 for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.03); // 3%
dc80fe6b 198 fPIDEff->SetBinContent(2,0.05); // 5%
5541b811 199
200 // MC dN/dpt
f1d72175 201 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
578bfbba 202 for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0);
203 fMCPtShape->SetBinContent(1,0.03);
204 fMCPtShape->SetBinContent(2,0.03);
5541b811 205
206 // particle-antiparticle
f1d72175 207 // fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",24,0,24);
208 // fPartAntipart->SetBinContent(1,1);
209 // for(Int_t i=2;i<=24;i++) fPartAntipart->SetBinContent(i,0.05);
5541b811 210
211 return;
0233abe6 212}
213//--------------------------------------------------------------------------
5541b811 214void AliHFSystErr::InitD0toKpi2010PbPb020() {
0233abe6 215 //
aebba8df 216 // D0->Kpi syst errors. Responsible: A. Rossi
5541b811 217 // 2010 PbPb sample, 0-20 CC
0233abe6 218 //
5541b811 219
220 // Normalization
221 fNorm = new TH1F("fNorm","fNorm",20,0,20);
d5e15690 222 for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.05); // TAA and pp norm
5541b811 223
224 // Branching ratio
225 fBR = new TH1F("fBR","fBR",20,0,20);
226 for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.012); // 1.2% PDG2010
227
228 // Tracking efficiency
229 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
69bcc748 230 for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.10);// Jacek, 5% per track
5541b811 231
232 // Raw yield extraction
233 fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
234 fRawYield->SetBinContent(1,0);
235 fRawYield->SetBinContent(2,0);
6c388dee 236 fRawYield->SetBinContent(3,0.08);
237 for(Int_t i=4;i<=12;i++) fRawYield->SetBinContent(i,0.06);
238 for(Int_t i=13;i<=16;i++) fRawYield->SetBinContent(i,0.10);
5541b811 239
240 // Cuts efficiency (from cuts variation)
241 fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
aebba8df 242 fCutsEff->SetBinContent(1,0.);
243 fCutsEff->SetBinContent(2,0.);
cc4bb301 244 fCutsEff->SetBinContent(3,0.13);
245 fCutsEff->SetBinContent(4,0.11);
246 for(Int_t i=5;i<=16;i++) fCutsEff->SetBinContent(i,0.10);
6c388dee 247 for(Int_t i=17;i<=20;i++) fCutsEff->SetBinContent(i,0.);
5541b811 248
249 // PID efficiency (from PID/noPID)
250 fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
6c388dee 251 for(Int_t i=3;i<=16;i++) fPIDEff->SetBinContent(i,0.05);
5541b811 252
253 // MC dN/dpt
254 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
cc4bb301 255 for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.01);
256 fMCPtShape->SetBinContent(3,0.04);
257 fMCPtShape->SetBinContent(4,0.02);
b797b51b 258 for(Int_t i=13;i<=16;i++) fMCPtShape->SetBinContent(i,0.03);
578bfbba 259
6c388dee 260// // particle-antiparticle
261// fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
262// for(Int_t i=3;i<=12;i++) fPartAntipart->SetBinContent(i,0.05);
263// fPartAntipart->SetBinContent(3,0.10);
264// fPartAntipart->SetBinContent(4,0.10);
265// fPartAntipart->SetBinContent(7,0.10);
266// fPartAntipart->SetBinContent(8,0.10);
0233abe6 267
5541b811 268 return;
269}
270//--------------------------------------------------------------------------
9a8b5080 271//--------------------------------------------------------------------------
272void AliHFSystErr::InitD0toKpi2011PbPb07half() {
273 //
274 // D0->Kpi syst errors. Responsible: A. Rossi
275 // 2011 PbPb sample, 0-7.5 CC
276 //
277
278 // Normalization
279 fNorm = new TH1F("fNorm","fNorm",36,0,36);
280 for(Int_t i=1;i<36;i++) fNorm->SetBinContent(i,0.05); // TAA and pp norm
281
282 // Branching ratio
283 fBR = new TH1F("fBR","fBR",36,0,36);
284 for(Int_t i=1;i<=36;i++) fBR->SetBinContent(i,0.012); // 1.2% PDG2010
285
286 // Tracking efficiency
287 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",36,0,36);
288 for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.10);// Jacek, 5% per track
289 for(Int_t i=25;i<=36;i++) fTrackingEff->SetBinContent(i,0.);// OUT OF MEASUREMENT RANGE
290
291 // Raw yield extraction
292 fRawYield = new TH1F("fRawYield","fRawYield",36,0,36);
293 fRawYield->SetBinContent(1,0);
294 fRawYield->SetBinContent(2,0.1);
295 fRawYield->SetBinContent(3,0.05);
fd8ae434 296 for(Int_t i=4;i<=12;i++) fRawYield->SetBinContent(i,0.05);
297 for(Int_t i=13;i<=16;i++) fRawYield->SetBinContent(i,0.10);
9a8b5080 298 for(Int_t i=17;i<=24;i++) fRawYield->SetBinContent(i,0.30);
299 for(Int_t i=25;i<=36;i++) fRawYield->SetBinContent(i,0.);// OUT OF MEASUREMENT RANGE
300
301 // Cuts efficiency (from cuts variation)
302 fCutsEff = new TH1F("fCutsEff","fCutsEff",36,0,36);
303 fCutsEff->SetBinContent(1,0.);
304 fCutsEff->SetBinContent(2,0.15);
305 fCutsEff->SetBinContent(3,0.13);
306 fCutsEff->SetBinContent(4,0.11);
307 fCutsEff->SetBinContent(5,0.08);
308 for(Int_t i=6;i<=24;i++) fCutsEff->SetBinContent(i,0.06);
309 for(Int_t i=25;i<=36;i++) fCutsEff->SetBinContent(i,0.0);// OUT OF MEASUREMENT RANGE
310
311 // PID efficiency (from PID/noPID)
312 fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
313 for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.05);
314 for(Int_t i=25;i<=36;i++) fPIDEff->SetBinContent(i,0.0);// OUT OF MEASUREMENT RANGE
315
316 // MC dN/dpt
317 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",36,0,36);
318 for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.01);
319 fMCPtShape->SetBinContent(2,0.06);
320 fMCPtShape->SetBinContent(3,0.04);
321 fMCPtShape->SetBinContent(4,0.02);
322 for(Int_t i=13;i<=16;i++) fMCPtShape->SetBinContent(i,0.03);
323 for(Int_t i=17;i<=24;i++) fMCPtShape->SetBinContent(i,0.05);
324 for(Int_t i=25;i<=36;i++) fMCPtShape->SetBinContent(i,0.0);// OUT OF MEASUREMENT RANGE
325
326// // particle-antiparticle
327// fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",36,0,36);
328// for(Int_t i=3;i<=12;i++) fPartAntipart->SetBinContent(i,0.05);
329// fPartAntipart->SetBinContent(3,0.10);
330// fPartAntipart->SetBinContent(4,0.10);
331// fPartAntipart->SetBinContent(7,0.10);
332// fPartAntipart->SetBinContent(8,0.10);
333
334 return;
335}
336//--------------------------------------------------------------------------
5541b811 337void AliHFSystErr::InitD0toKpi2010PbPb4080() {
338 //
aebba8df 339 // D0->Kpi syst errors. Responsible: A. Rossi
5541b811 340 // 2010 PbPb sample, 40-80 CC
341 //
342
0233abe6 343 // Normalization
344 fNorm = new TH1F("fNorm","fNorm",20,0,20);
d5e15690 345 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.07); // TAA and pp norm
0233abe6 346
347 // Branching ratio
348 fBR = new TH1F("fBR","fBR",20,0,20);
844405bc 349 for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.012); // 1.2% PDG2010
0233abe6 350
aebba8df 351 // Tracking efficiency
352 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
69bcc748 353 for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.10); // Jacek, 5% per track
aebba8df 354
355
0233abe6 356 // Raw yield extraction
357 fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
5541b811 358 fRawYield->SetBinContent(1,0);
359 fRawYield->SetBinContent(2,0);
6c388dee 360 for(Int_t i=3;i<=16;i++) fRawYield->SetBinContent(i,0.05);
666cf569 361 //for(Int_t i=13;i<=20;i++) fRawYield->SetBinContent(i,0);
0233abe6 362
363 // Cuts efficiency (from cuts variation)
364 fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
aebba8df 365 fCutsEff->SetBinContent(1,0.);
366 fCutsEff->SetBinContent(2,0.);
cc4bb301 367 fCutsEff->SetBinContent(3,0.13);
368 fCutsEff->SetBinContent(4,0.11);
369 for(Int_t i=5;i<=16;i++) fCutsEff->SetBinContent(i,0.10);
6c388dee 370 for(Int_t i=17;i<=20;i++) fCutsEff->SetBinContent(i,0.);
0233abe6 371
372 // PID efficiency (from PID/noPID)
373 fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
6c388dee 374// for(Int_t i=3;i<=6;i++) fPIDEff->SetBinContent(i,0.10);
375// for(Int_t i=7;i<=16;i++) fPIDEff->SetBinContent(i,0.05);
376 for(Int_t i=3;i<=16;i++) fPIDEff->SetBinContent(i,0.05);
0233abe6 377
378 // MC dN/dpt
379 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
cc4bb301 380 for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.01);
381 // fMCPtShape->SetBinContent(3,0.04); Not set for peripherals (Raa Vs pt is flat)
382 // fMCPtShape->SetBinContent(4,0.02);
383 for(Int_t i=13;i<=16;i++) fMCPtShape->SetBinContent(i,0.03);
384
385 // // particle-antiparticle
386 // fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
387 // for(Int_t i=3;i<=12;i++) fPartAntipart->SetBinContent(i,0.05);
0233abe6 388
389 return;
390}
a8c3295d 391
392//--------------------------------------------------------------------------
393void AliHFSystErr::InitD0toKpi2010ppLowEn() {
394 //
395 // D0->Kpi syst errors. Low energy run
396 // 2011 2.76 TeV pp sample
397 //
398 AliInfo(" Settings for D0 --> K pi, p-p collisions at 2.76 TeV");
399
400 // Normalization
401 fNorm = new TH1F("fNorm","fNorm",20,0,20);
f9a85c82 402 for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.031); // 4% error on sigmaV0and
a8c3295d 403
404 // Branching ratio
405 fBR = new TH1F("fBR","fBR",20,0,20);
406 for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.012); // 1.2% PDG2010
407
408 // Tracking efficiency
409 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
27360a0e 410 for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.10); //10% (5% per track)
a8c3295d 411
412 // Raw yield extraction
413 fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
414 fRawYield->SetBinContent(1,1);
f9a85c82 415 for(Int_t i=1;i<=20;i++) fRawYield->SetBinContent(i,0.15);
a8c3295d 416
417 // Cuts efficiency (from cuts variation)
418 fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
6c388dee 419 for(Int_t i=1;i<=20;i++) fCutsEff->SetBinContent(i,0.10); // 10%
f9a85c82 420 fCutsEff->SetBinContent(2,0.20);
421 for(Int_t i=7;i<=20;i++) fCutsEff->SetBinContent(i,0.15); // 10%
422
a8c3295d 423
424 // PID efficiency (from PID/noPID)
425 fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
f9a85c82 426 for(Int_t i=1;i<=20;i++) fPIDEff->SetBinContent(i,0.15); // 10%
427 // fPIDEff->SetBinContent(2,0.20);
428 for(Int_t i=7;i<=20;i++) fPIDEff->SetBinContent(i,0.05); // 10%
a8c3295d 429
430 // MC dN/dpt
431 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
27360a0e 432 for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.01);
433 fMCPtShape->SetBinContent(1,0.03);
434 fMCPtShape->SetBinContent(2,0.03);
a8c3295d 435
f9a85c82 436// // particle-antiparticle
437// fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
438// fPartAntipart->SetBinContent(1,1);
439// fPartAntipart->SetBinContent(2,1);
440// for(Int_t i=3;i<=6;i++) fPartAntipart->SetBinContent(i,0.08);
441// for(Int_t i=1;i<=20;i++) fPartAntipart->SetBinContent(i,0.);
a8c3295d 442
443 return;
444}
445
0233abe6 446//--------------------------------------------------------------------------
5541b811 447void AliHFSystErr::InitDplustoKpipi2010pp() {
0233abe6 448 //
449 // D+->Kpipi syst errors. Responsible: R. Bala
5541b811 450 // 2010 pp sample
0233abe6 451 //
452
1f91ef56 453
454// Normalization
455 fNorm = new TH1F("fNorm","fNorm",24,0,24);
27360a0e 456 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.035); // 4% error on sigmaV0and
626bcf57 457
458 // Branching ratio
1f91ef56 459 fBR = new TH1F("fBR","fBR",24,0,24);
f7c8a2f1 460 for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.021); // 2.1% PDG2010
626bcf57 461
462 // Tracking efficiency
1f91ef56 463 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);
f8bc42d3 464 for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.12); // 12% (4% per track)
626bcf57 465
466
467 // Raw yield extraction
1f91ef56 468 fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
d2e5959f 469 fRawYield->SetBinContent(1,1);
1f91ef56 470 fRawYield->SetBinContent(2,0.25);
471 fRawYield->SetBinContent(3,0.25);
d2e5959f 472 fRawYield->SetBinContent(4,0.20);
1f91ef56 473 fRawYield->SetBinContent(5,0.09);
474 fRawYield->SetBinContent(6,0.09);
d2e5959f 475 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
476 for(Int_t i=12;i<=24;i++) fRawYield->SetBinContent(i,0.10);
1f91ef56 477
626bcf57 478 // Cuts efficiency (from cuts variation)
1f91ef56 479 fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
480 for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
626bcf57 481
482 // PID efficiency (from PID/noPID)
1f91ef56 483 fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
484 for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.05); // 5%
485 fPIDEff->SetBinContent(1,0.15); // 15%
486 fPIDEff->SetBinContent(2,0.15); // 15%
487 fPIDEff->SetBinContent(3,0.15); // 15%
488 fPIDEff->SetBinContent(4,0.15); // 15%
489 for(Int_t i=12;i<=16;i++) fPIDEff->SetBinContent(i,0.10); // 5%
490
491 // MC dN/dpt
492 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
493 for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0);
578bfbba 494 fMCPtShape->SetBinContent(1,0.03);
495 fMCPtShape->SetBinContent(2,0.03);
626bcf57 496
497
498 // particle-antiparticle
499 /*
500 fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
501 fPartAntipart->SetBinContent(1,1);
502 fPartAntipart->SetBinContent(2,1);
503 fPartAntipart->SetBinContent(3,0.12);
504 for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05); //5 to 12%
505 */
0233abe6 506 return;
507}
1f91ef56 508
66247513 509//--------------------------------------------------------------------------
510void AliHFSystErr::InitDstoKKpi2010pp() {
511 //
512 // D+s->KKpi syst errors. Responsible: G.M. Innocenti
513 // 2010 pp sample
514 //
515
516
517// Normalization
518 fNorm = new TH1F("fNorm","fNorm",12,0,12);
494408cc 519 for(Int_t i=1;i<=12;i++) fNorm->SetBinContent(i,0.035); // 3.5% error on sigmaV0and
66247513 520
521 // Branching ratio
522 fBR = new TH1F("fBR","fBR",12,0,12);
494408cc 523 for(Int_t i=1;i<=12;i++) fBR->SetBinContent(i,0.06); // 0.14/2.32 PDG2010
66247513 524
525 // Tracking efficiency
526 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",12,0,12);
494408cc 527 for(Int_t i=1;i<=12;i++) fTrackingEff->SetBinContent(i,0.12); // 12% (4% per track)
66247513 528
529
530 // Raw yield extraction
531 fRawYield = new TH1F("fRawYield","fRawYield",12,0,12);
532 fRawYield->SetBinContent(1,1);
533 fRawYield->SetBinContent(2,1);
534 fRawYield->SetBinContent(3,0.20);
535 fRawYield->SetBinContent(4,0.20);
536 fRawYield->SetBinContent(5,0.15);
537 fRawYield->SetBinContent(6,0.15);
538 fRawYield->SetBinContent(7,0.15);
539 fRawYield->SetBinContent(8,0.15);
540 fRawYield->SetBinContent(9,0.20);
541 fRawYield->SetBinContent(10,0.20);
542 fRawYield->SetBinContent(11,0.20);
543 fRawYield->SetBinContent(12,0.20);
544
545 // Cuts efficiency (from cuts variation)
546 fCutsEff = new TH1F("fCutsEff","fCutsEff",12,0,12);
547 for(Int_t i=1;i<=12;i++) fCutsEff->SetBinContent(i,0.15); // 15%
548
549 // PID efficiency (from PID/noPID)
550 fPIDEff = new TH1F("fPIDEff","fPIDEff",12,0,12);
551 for(Int_t i=1;i<=12;i++) fPIDEff->SetBinContent(i,0.07); // 7%
552
494408cc 553 // MC dN/dpt
554 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",12,0,12);
555 for(Int_t i=1; i<=2; i++) fMCPtShape->SetBinContent(i,1.);
556 for(Int_t i=3; i<=4; i++) fMCPtShape->SetBinContent(i,0.03);
557 for(Int_t i=5; i<=6; i++) fMCPtShape->SetBinContent(i,0.03);
558 for(Int_t i=7; i<=8; i++) fMCPtShape->SetBinContent(i,0.02);
559 for(Int_t i=9; i<=12; i++) fMCPtShape->SetBinContent(i,0.02);
66247513 560
561
562 // particle-antiparticle
563 /*
564 fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",12,0,12);
565 fPartAntipart->SetBinContent(1,1);
566 fPartAntipart->SetBinContent(2,1);
567 fPartAntipart->SetBinContent(3,0.12);
568 for(Int_t i=4;i<=12;i++) fPartAntipart->SetBinContent(i,0.05); //5 to 12%
569 */
570 return;
571}
572
573
436b185f 574//--------------------------------------------------------------------------
575void AliHFSystErr::InitDplustoKpipi2011PbPb07half() {
576 //
577 // D+->Kpipi syst errors. Responsible: E. Bruna
578 // 2011 PbPb sample, 0-7.5% CC
579 //
580
581 // Normalization
582 fNorm = new TH1F("fNorm","fNorm",36,0,36);
583 for(Int_t i=1;i<=36;i++) fNorm->SetBinContent(i,0.05); // TAA and pp norm
584
585 // Branching ratio
586 fBR = new TH1F("fBR","fBR",36,0,36);
587 for(Int_t i=1;i<=36;i++) fBR->SetBinContent(i,0.021); // 2.1% PDG2010
588
589 // Tracking efficiency
590 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",36,0,36);
591 for(Int_t i=1;i<=36;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
592
593 // Raw yield extraction
594 fRawYield = new TH1F("fRawYield","fRawYield",36,0,36);
595 for(Int_t i=1;i<=36;i++) fRawYield->SetBinContent(i,.10); //5 to 10%
596 fRawYield->SetBinContent(4,0.20);
597 fRawYield->SetBinContent(5,0.15);
598 fRawYield->SetBinContent(6,0.15);
599 for(Int_t i=7; i<=8; i++) fRawYield->SetBinContent(i,0.12);
600 for(Int_t i=9; i<=12; i++) fRawYield->SetBinContent(i,0.10);
601 for(Int_t i=13; i<=16; i++) fRawYield->SetBinContent(i,0.05);
602 for(Int_t i=17; i<=24; i++) fRawYield->SetBinContent(i,0.07);
603 for(Int_t i=25; i<=36; i++) fRawYield->SetBinContent(i,0.20);
604
605
606 // Cuts efficiency (from cuts variation)
607 fCutsEff = new TH1F("fCutsEff","fCutsEff",36,0,36);
608 for(Int_t i=1;i<=36;i++) fCutsEff->SetBinContent(i,0.15); // 15%
609
610 // PID efficiency (from PID/noPID)
611 fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
612 for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.05); // 5%
613
614 // MC dN/dpt (2/2/2012)
615 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",36,0,36);
616 for(Int_t i=1;i<=36;i++) fMCPtShape->SetBinContent(i,0.);
617 for(Int_t iBin=7; iBin<=8; iBin++) fMCPtShape->SetBinContent(iBin,0.01);
618 for(Int_t iBin=9; iBin<=12; iBin++) fMCPtShape->SetBinContent(iBin,0.05);
619 for(Int_t iBin=13; iBin<=36; iBin++) fMCPtShape->SetBinContent(iBin,0.05);
620
621
622 // particle-antiparticle
623 /*
624 fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
625 fPartAntipart->SetBinContent(1,1);
626 fPartAntipart->SetBinContent(2,1);
627 fPartAntipart->SetBinContent(3,0.12);
628 for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05); //5 to 12%
629 */
630
631 return;
632}
633
0233abe6 634//--------------------------------------------------------------------------
5541b811 635void AliHFSystErr::InitDplustoKpipi2010PbPb020() {
636 //
637 // D+->Kpipi syst errors. Responsible: ??
638 // 2010 PbPb sample, 0-20 CC
639 //
aebba8df 640
aebba8df 641 // Normalization
642 fNorm = new TH1F("fNorm","fNorm",20,0,20);
d5e15690 643 for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.05); // TAA and pp norm
aebba8df 644
645 // Branching ratio
646 fBR = new TH1F("fBR","fBR",20,0,20);
f7c8a2f1 647 for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.021); // 2.1% PDG2010
aebba8df 648
649 // Tracking efficiency
650 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
69bcc748 651 for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
aebba8df 652
653 // Raw yield extraction
654 fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
6c388dee 655 for(Int_t i=1;i<=20;i++) fRawYield->SetBinContent(i,.10); //5 to 10%
656 // fRawYield->SetBinContent(5,0.23);
657 //fRawYield->SetBinContent(6,0.23);
cb142b90 658 fRawYield->SetBinContent(7,0.20);
659 fRawYield->SetBinContent(8,0.20);
660 fRawYield->SetBinContent(9,0.15);
661 fRawYield->SetBinContent(10,0.15);
662 fRawYield->SetBinContent(11,0.15);
663 fRawYield->SetBinContent(12,0.15);
aebba8df 664
665 // Cuts efficiency (from cuts variation)
666 fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
666cf569 667 for(Int_t i=1;i<=20;i++) fCutsEff->SetBinContent(i,0.15); // 10%
aebba8df 668
669 // PID efficiency (from PID/noPID)
670 fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
671 for(Int_t i=1;i<=20;i++) fPIDEff->SetBinContent(i,0.05); // 5%
aebba8df 672
f7c8a2f1 673 // MC dN/dpt (2/2/2012)
aebba8df 674 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
578bfbba 675 for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.);
f7c8a2f1 676 for(Int_t iBin=7; iBin<=8; iBin++) fMCPtShape->SetBinContent(iBin,0.01);
677 for(Int_t iBin=9; iBin<=12; iBin++) fMCPtShape->SetBinContent(iBin,0.05);
678 for(Int_t iBin=13; iBin<=16; iBin++) fMCPtShape->SetBinContent(iBin,0.05);
aebba8df 679
680
681 // particle-antiparticle
682 /*
683 fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
684 fPartAntipart->SetBinContent(1,1);
685 fPartAntipart->SetBinContent(2,1);
686 fPartAntipart->SetBinContent(3,0.12);
687 for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05); //5 to 12%
688 */
6c388dee 689
5541b811 690 return;
691}
692
693//--------------------------------------------------------------------------
694void AliHFSystErr::InitDplustoKpipi2010PbPb4080() {
695 //
696 // D+->Kpipi syst errors. Responsible: ??
697 // 2010 PbPb sample, 40-80 CC
698 //
699
aebba8df 700
701 // Normalization
702 fNorm = new TH1F("fNorm","fNorm",20,0,20);
d5e15690 703 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.07); // TAA and pp norm
aebba8df 704
705 // Branching ratio
706 fBR = new TH1F("fBR","fBR",20,0,20);
f7c8a2f1 707 for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.021); // 2.1%
aebba8df 708
709 // Tracking efficiency
710 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
69bcc748 711 for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
aebba8df 712
713
714 // Raw yield extraction
715 fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
716 fRawYield->SetBinContent(1,1);
717 fRawYield->SetBinContent(2,1);
718 fRawYield->SetBinContent(3,1);
6970b225 719 fRawYield->SetBinContent(4,0.15);
cb142b90 720 fRawYield->SetBinContent(5,0.05);
721 fRawYield->SetBinContent(6,0.05);
722 fRawYield->SetBinContent(7,0.15);
723 fRawYield->SetBinContent(8,0.15);
6970b225 724 for(Int_t i=9;i<=12;i++) fRawYield->SetBinContent(i,0.15);
aebba8df 725 for(Int_t i=13;i<=20;i++) fRawYield->SetBinContent(i,1); //5 to 10%
726
727 // Cuts efficiency (from cuts variation)
728 fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
729 for(Int_t i=1;i<=20;i++) fCutsEff->SetBinContent(i,0.10); // 10%
730
731 // PID efficiency (from PID/noPID)
732 fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
733 for(Int_t i=1;i<=20;i++) fPIDEff->SetBinContent(i,0.05); // 5%
734 fPIDEff->SetBinContent(3,0.13); // 13%
735
736
f7c8a2f1 737 // MC dN/dpt (2/2/2012)
aebba8df 738 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
578bfbba 739 for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0);
f7c8a2f1 740 for(Int_t iBin=4; iBin<=8; iBin++) fMCPtShape->SetBinContent(iBin,0.01);
741 for(Int_t iBin=9; iBin<=12; iBin++) fMCPtShape->SetBinContent(iBin,0.03);
742 for(Int_t iBin=13; iBin<=16; iBin++) fMCPtShape->SetBinContent(iBin,0.03);
aebba8df 743
744
745 // particle-antiparticle
746 /*
747 fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
748 fPartAntipart->SetBinContent(1,1);
749 fPartAntipart->SetBinContent(2,1);
750 fPartAntipart->SetBinContent(3,0.12);
751 for(Int_t i=4;i<=20;i++) fPartAntipart->SetBinContent(i,0.05); //5 to 12%
752 */
5541b811 753 return;
754}
755
a8c3295d 756//--------------------------------------------------------------------------
757void AliHFSystErr::InitDplustoKpipi2010ppLowEn() {
758
759 //
760 // D+->Kpipi syst errors. Responsible: R. Bala
761 // 2011 2.76 TeV pp sample
762 //
763 AliInfo(" Settings for D+ --> K pi pi p-p collisions at 2.76 TeV");
764
765 // Normalization
766 fNorm = new TH1F("fNorm","fNorm",20,0,20);
f9a85c82 767 for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.031); // 10% error on sigmaV0and
a8c3295d 768
769 // Branching ratio
770 fBR = new TH1F("fBR","fBR",20,0,20);
f7c8a2f1 771 for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.021); // 2.1% PDG2010
a8c3295d 772
773 // Tracking efficiency
774 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
27360a0e 775 for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.15); // 3% (1% per track)
a8c3295d 776
777 // Raw yield extraction
778 fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
779 fRawYield->SetBinContent(1,1);
780 fRawYield->SetBinContent(2,1);
f9a85c82 781 for(Int_t i=3;i<=6;i++) fRawYield->SetBinContent(i,0.10); //5 to 10%
782 fRawYield->SetBinContent(7,0.15);
783 fRawYield->SetBinContent(8,0.15);
784 for(Int_t i=9;i<=20;i++) fRawYield->SetBinContent(i,0.055); //5 to 10%
a8c3295d 785
786 // Cuts efficiency (from cuts variation)
787 fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
f9a85c82 788 for(Int_t i=1;i<=20;i++) fCutsEff->SetBinContent(i,0.15); // 10%
a8c3295d 789
790 // PID efficiency (from PID/noPID)
791 fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
792 for(Int_t i=1;i<=20;i++) fPIDEff->SetBinContent(i,0.05); // 5%
f9a85c82 793 fPIDEff->SetBinContent(3,0.10); // 13%
794 fPIDEff->SetBinContent(4,0.10); // 13%
a8c3295d 795
796 // MC dN/dpt (copied from D0 : will update later)
797 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
27360a0e 798 for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.01);
578bfbba 799 fMCPtShape->SetBinContent(1,0.03);
800 fMCPtShape->SetBinContent(2,0.03);
a8c3295d 801
802 return;
803}
804
5541b811 805//--------------------------------------------------------------------------
806void AliHFSystErr::InitDstartoD0pi2010pp() {
0233abe6 807 //
2cf98d0d 808 // D*+->D0pi syst errors. Responsible: A. Grelli, Y. Wang
5541b811 809 // 2010 pp sample
0233abe6 810 //
811
2cf98d0d 812 // Normalization
fa2be30c 813 fNorm = new TH1F("fNorm","fNorm",24,0,24);
27360a0e 814 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.035); // 4% error on sigmaV0and
fa2be30c 815
816 // Branching ratio
817 fBR = new TH1F("fBR","fBR",24,0,24);
818 for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
819
820 // Tracking efficiency
821 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);
822 fTrackingEff->SetBinContent(1,1.0);
f8bc42d3 823 fTrackingEff->SetBinContent(2,0.13); // 10% (ITSsa) \oplus 8% (4% per ITSTPC track)
824 fTrackingEff->SetBinContent(3,0.12);
825 fTrackingEff->SetBinContent(3,0.12);
826 for(Int_t i=4;i<=24;i++) fTrackingEff->SetBinContent(i,0.12); // 12% (4% per track)
fa2be30c 827
828
829 // Raw yield extraction
830 fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
831 fRawYield->SetBinContent(1,1.0);
d2e5959f 832 fRawYield->SetBinContent(2,0.10);
fa2be30c 833 fRawYield->SetBinContent(3,0.04);
d2e5959f 834 fRawYield->SetBinContent(4,0.03);
fa2be30c 835 fRawYield->SetBinContent(5,0.03);
d2e5959f 836 fRawYield->SetBinContent(6,0.05);
837 fRawYield->SetBinContent(7,0.05);
838 fRawYield->SetBinContent(8,0.05);
839 for(Int_t i=9;i<=12;i++) fRawYield->SetBinContent(i,0.04); //4%
840 for(Int_t i=13;i<=16;i++) fRawYield->SetBinContent(i,0.09); //4%
841 for(Int_t i=17;i<=24;i++) fRawYield->SetBinContent(i,0.2); //4%
fa2be30c 842
843 // Cuts efficiency (from cuts variation)
844 fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
845 fCutsEff->SetBinContent(2,0.22);
846 for(Int_t i=3;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
847
848 // PID efficiency (from PID/noPID)
849 fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
850 for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.04); // 3%
851
852
853 // MC dN/dpt (copied from D0 : will update later)
854 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
578bfbba 855 for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0);
856 fMCPtShape->SetBinContent(1,0.03);
857 fMCPtShape->SetBinContent(2,0.03);
fa2be30c 858
859 return;
860
861
862}
863//--------------------------------------------------------------------------
864void AliHFSystErr::InitDstartoD0pi2010ppLowEn() {
865
866 //
867 // D+->Kpipi syst errors. Responsible: A. Grelli
868 // 2011 2.76 TeV pp sample
869 //
870 AliInfo(" Settings for D*+ --> D0 pi p-p collisions at 2.76 TeV");
871
872// Normalization
2cf98d0d 873 fNorm = new TH1F("fNorm","fNorm",20,0,20);
f9a85c82 874 for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.031); // 10% error on sigmaV0and
2cf98d0d 875
876 // Branching ratio
877 fBR = new TH1F("fBR","fBR",20,0,20);
8accac87 878 for(Int_t i=1;i<=20;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
2cf98d0d 879
880 // Tracking efficiency
881 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
27360a0e 882 for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.15); //10% (to be checked!!)
2cf98d0d 883
884 // Raw yield extraction
885 fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
8accac87 886 fRawYield->SetBinContent(1,1);
fa2be30c 887 fRawYield->SetBinContent(2,1);
f9a85c82 888 fRawYield->SetBinContent(3,0.14);
889 fRawYield->SetBinContent(4,0.14);
890 fRawYield->SetBinContent(5,0.12);
891 fRawYield->SetBinContent(6,0.12);
892 fRawYield->SetBinContent(7,0.06);
893 fRawYield->SetBinContent(8,0.06);
894 fRawYield->SetBinContent(9,0.08);
895 fRawYield->SetBinContent(10,0.08);
896 fRawYield->SetBinContent(11,0.08);
897 fRawYield->SetBinContent(12,0.08);
fa2be30c 898 for(Int_t i=9;i<=20;i++) fRawYield->SetBinContent(i,0.065);
2cf98d0d 899
900 // Cuts efficiency (from cuts variation)
901 fCutsEff = new TH1F("fCutsEff","fCutsEff",20,0,20);
f9a85c82 902 for(Int_t i=1;i<=20;i++) fCutsEff->SetBinContent(i,0.10);
903 fCutsEff->SetBinContent(3,0.15);
904 fCutsEff->SetBinContent(4,0.15);
905 fCutsEff->SetBinContent(5,0.15);
906 fCutsEff->SetBinContent(6,0.15);
907 fCutsEff->SetBinContent(7,0.10);
908 fCutsEff->SetBinContent(8,0.10);
909 fCutsEff->SetBinContent(9,0.10);
910 fCutsEff->SetBinContent(10,0.10);
911 fCutsEff->SetBinContent(11,0.10);
912 fCutsEff->SetBinContent(12,0.10);
2cf98d0d 913
914 // PID efficiency (from PID/noPID)
915 fPIDEff = new TH1F("fPIDEff","fPIDEff",20,0,20);
fa2be30c 916 for(Int_t i=1;i<=20;i++) fPIDEff->SetBinContent(i,0.05); // 10%
2cf98d0d 917
fa2be30c 918 // MC dN/dpt
2cf98d0d 919 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",20,0,20);
27360a0e 920 for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.01);
578bfbba 921 fMCPtShape->SetBinContent(1,0.03);
922 fMCPtShape->SetBinContent(2,0.03);
2cf98d0d 923
0233abe6 924 return;
925}
6c388dee 926
fa2be30c 927//------------------------------------------------------------------------
5541b811 928void AliHFSystErr::InitDstartoD0pi2010PbPb020() {
929 //
fa2be30c 930 // D*+->D0pi syst errors. Responsible: A. Grelli
5541b811 931 // 2010 PbPb sample, 0-20 CC
932 //
933
fa2be30c 934 AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 0-20 centrality - DUMMY");
935
936 // Normalization
937 fNorm = new TH1F("fNorm","fNorm",24,0,24);
d5e15690 938 for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.05); // TAA and pp norm
fa2be30c 939
940 // Branching ratio
941 fBR = new TH1F("fBR","fBR",24,0,24);
942 for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
943
944 // Tracking efficiency
945 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);;
69bcc748 946 for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
fa2be30c 947
948
949 // Raw yield extraction
950 fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
6c388dee 951 for(Int_t i=1;i<=24;i++) fRawYield->SetBinContent(i,0.1); //4%
952 fRawYield->SetBinContent(3,0.2);
953 fRawYield->SetBinContent(4,0.2);
954 fRawYield->SetBinContent(5,0.2);
955 fRawYield->SetBinContent(6,0.2);
fa2be30c 956
957 // Cuts efficiency (from cuts variation)
958 fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
959 for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
6fd587a4 960 fCutsEff->SetBinContent(4,0.15);
961 fCutsEff->SetBinContent(5,0.15);
962 fCutsEff->SetBinContent(6,0.15);
fa2be30c 963
964 // PID efficiency (from PID/noPID)
965 fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
6c388dee 966 for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.05); // 3%
fa2be30c 967
968
6fd587a4 969 // MC dN/dpt (from study on D* pt shape)
fa2be30c 970 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
6fd587a4 971 for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.045);
972 fMCPtShape->SetBinContent(4,0.025);
973 fMCPtShape->SetBinContent(5,0.025);
974 fMCPtShape->SetBinContent(6,0.025);
975 fMCPtShape->SetBinContent(7,0.04);
976 fMCPtShape->SetBinContent(8,0.04);
977 fMCPtShape->SetBinContent(9,0.03);
978 fMCPtShape->SetBinContent(10,0.03);
979 fMCPtShape->SetBinContent(11,0.03);
980 fMCPtShape->SetBinContent(12,0.03);
981
9a8b5080 982 return;
983
984}
985// ----------------------------- 2011 ----------------------------------
986void AliHFSystErr::InitDstartoD0pi2011PbPb07half() {
987 //
988 // D*+->D0pi syst errors. Responsible: A. Grelli
989 // 2011 PbPb sample, 0-7.5 CC
990 //
991
992 AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 0-7.5 centrality - DUMMY");
993
994
995 // Normalization
996 fNorm = new TH1F("fNorm","fNorm",36,0,36);
997 for(Int_t i=1;i<=36;i++) fNorm->SetBinContent(i,0.05); // TAA and pp norm
998
999 // Branching ratio
1000 fBR = new TH1F("fBR","fBR",36,0,36);
1001 for(Int_t i=1;i<=36;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1002
1003 // Tracking efficiency
1004 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",36,0,36);;
1005 for(Int_t i=1;i<=36;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
1006
1007
1008 // Raw yield extraction
1009 fRawYield = new TH1F("fRawYield","fRawYield",36,0,36);
1010 for(Int_t i=1;i<=36;i++) fRawYield->SetBinContent(i,0.05); //4%
ada850b0 1011 fRawYield->SetBinContent(4,0.2);
9a8b5080 1012 fRawYield->SetBinContent(5,0.10);
ada850b0 1013 fRawYield->SetBinContent(6,0.10);
1014 fRawYield->SetBinContent(7,0.08);
9a8b5080 1015 for(Int_t i=25;i<=36;i++) fRawYield->SetBinContent(i,0.15); //4%
1016
9a8b5080 1017 // Cuts efficiency (from cuts variation)
1018 fCutsEff = new TH1F("fCutsEff","fCutsEff",36,0,36);
1019 for(Int_t i=1;i<=36;i++) fCutsEff->SetBinContent(i,0.10); // 10%
9a8b5080 1020
1021 // PID efficiency (from PID/noPID)
1022 fPIDEff = new TH1F("fPIDEff","fPIDEff",36,0,36);
1023 for(Int_t i=1;i<=36;i++) fPIDEff->SetBinContent(i,0.05); // 3%
ada850b0 1024 fPIDEff->SetBinContent(4,0.09);
9a8b5080 1025
1026 // MC dN/dpt (from study on D* pt shape)
1027 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",36,0,36);
1028 for(Int_t i=1;i<=36;i++) fMCPtShape->SetBinContent(i,0.045);
1029 fMCPtShape->SetBinContent(4,0.025);
1030 fMCPtShape->SetBinContent(5,0.025);
1031 fMCPtShape->SetBinContent(6,0.025);
1032 fMCPtShape->SetBinContent(7,0.04);
1033 fMCPtShape->SetBinContent(8,0.04);
1034 fMCPtShape->SetBinContent(9,0.03);
1035 fMCPtShape->SetBinContent(10,0.03);
1036 fMCPtShape->SetBinContent(11,0.03);
1037 fMCPtShape->SetBinContent(12,0.03);
1038
6fd587a4 1039
fa2be30c 1040
1041 return;
1042
1043}
1044//-------------------------------------------------------------------------
1045void AliHFSystErr::InitDstartoD0pi2010PbPb2040() {
1046 //
1047 // D*+->D0pi syst errors. Responsible: A. Grelli
1048 // 2010 PbPb sample, 20-40 CC
1049 //
1050
1051 AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 20-40 centrality - DUMMY");
1052
1053 // Normalization
1054 fNorm = new TH1F("fNorm","fNorm",24,0,24);
1055 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.10); // 10% error on sigmaV0and
1056
1057 // Branching ratio
1058 fBR = new TH1F("fBR","fBR",24,0,24);
1059 for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1060
1061 // Tracking efficiency
1062 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);;
69bcc748 1063 for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
fa2be30c 1064
1065
1066 // Raw yield extraction
1067 fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
1068 for(Int_t i=1;i<=24;i++) fRawYield->SetBinContent(i,0.15); //4%
1069
1070 // Cuts efficiency (from cuts variation)
1071 fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
1072 for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1073
1074 // PID efficiency (from PID/noPID)
1075 fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
1076 for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.04); // 3%
1077
1078
1079 // MC dN/dpt (copied from D0 : will update later)
1080 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
578bfbba 1081 for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.);
1082 fMCPtShape->SetBinContent(1,0.03);
1083 fMCPtShape->SetBinContent(2,0.03);
fa2be30c 1084
5541b811 1085 return;
fa2be30c 1086
5541b811 1087}
6c388dee 1088
5541b811 1089//--------------------------------------------------------------------------
1090void AliHFSystErr::InitDstartoD0pi2010PbPb4080() {
1091 //
fa2be30c 1092 // D*+->D0pi syst errors. Responsible: A. Grelli
5541b811 1093 // 2010 PbPb sample, 40-80 CC
1094 //
1095
fa2be30c 1096 AliInfo(" Settings for D*+ --> D0pi Pb-Pb collisions at 2.76 TeV - 40-80 centrality - DUMMY");
1097
1098 // Normalization
1099 fNorm = new TH1F("fNorm","fNorm",24,0,24);
d5e15690 1100 for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.07); // TAA and pp norm
fa2be30c 1101
1102 // Branching ratio
1103 fBR = new TH1F("fBR","fBR",24,0,24);
1104 for(Int_t i=1;i<=24;i++) fBR->SetBinContent(i,0.015); // 1.5% PDG2010
1105
1106 // Tracking efficiency
1107 fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);;
69bcc748 1108 for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
fa2be30c 1109
1110
1111 // Raw yield extraction
1112 fRawYield = new TH1F("fRawYield","fRawYield",24,0,24);
6c388dee 1113 for(Int_t i=1;i<=24;i++) fRawYield->SetBinContent(i,0.2); //4%
1114 fRawYield->SetBinContent(1,1);
1115 fRawYield->SetBinContent(2,0.15);
1116 fRawYield->SetBinContent(3,0.15);
1117 fRawYield->SetBinContent(4,0.15);
1118 fRawYield->SetBinContent(5,0.15);
1119 fRawYield->SetBinContent(6,0.10);
1120 fRawYield->SetBinContent(7,0.10);
1121 fRawYield->SetBinContent(8,0.10);
1122 fRawYield->SetBinContent(9,0.11);
1123 fRawYield->SetBinContent(10,0.11);
1124 fRawYield->SetBinContent(11,0.11);
1125 fRawYield->SetBinContent(12,0.11);
1126 fRawYield->SetBinContent(13,0.08);
1127 fRawYield->SetBinContent(14,0.08);
1128 fRawYield->SetBinContent(15,0.08);
1129 fRawYield->SetBinContent(16,0.08);
1130
1131
fa2be30c 1132 // Cuts efficiency (from cuts variation)
1133 fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
1134 for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
1135
1136 // PID efficiency (from PID/noPID)
1137 fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
6c388dee 1138 for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.05); // 3%
fa2be30c 1139
1140
1141 // MC dN/dpt (copied from D0 : will update later)
1142 fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
6fd587a4 1143 for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.01);
1144 fMCPtShape->SetBinContent(2,0.05);
1145 fMCPtShape->SetBinContent(3,0.05);
1146 fMCPtShape->SetBinContent(4,0.05);
1147 fMCPtShape->SetBinContent(5,0.04);
1148 fMCPtShape->SetBinContent(6,0.02);
1149 fMCPtShape->SetBinContent(7,0.04);
1150 fMCPtShape->SetBinContent(8,0.04);
1151
5541b811 1152 return;
fa2be30c 1153
5541b811 1154}
6c388dee 1155
414bc6a5 1156//--------------------------------------------------------------------------
1157void AliHFSystErr::InitD0toKpi2010PbPb010CentScan(){
1158 // define errors for RAA vs. centrality
1159 InitD0toKpi2010PbPb020();
41cfcd39 1160 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
27360a0e 1161 for(Int_t i=3;i<=5;i++) fMCPtShape->SetBinContent(i,0.17);
41cfcd39 1162 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
414bc6a5 1163}
1164//--------------------------------------------------------------------------
1165void AliHFSystErr::InitD0toKpi2010PbPb1020CentScan(){
1166 // define errors for RAA vs. centrality
1167 InitD0toKpi2010PbPb020();
41cfcd39 1168 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
27360a0e 1169 for(Int_t i=3;i<=5;i++) fMCPtShape->SetBinContent(i,0.17);
41cfcd39 1170 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
414bc6a5 1171}
1172//--------------------------------------------------------------------------
1173void AliHFSystErr::InitD0toKpi2010PbPb2040CentScan(){
1174 // define errors for RAA vs. centrality
41cfcd39 1175 InitD0toKpi2010PbPb4080();
1176 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
27360a0e 1177 for(Int_t i=3;i<=5;i++) fMCPtShape->SetBinContent(i,0.14);
41cfcd39 1178 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
414bc6a5 1179}
1180//--------------------------------------------------------------------------
1181void AliHFSystErr::InitD0toKpi2010PbPb4060CentScan(){
41cfcd39 1182 // define errors for RAA vs. centrality
414bc6a5 1183 InitD0toKpi2010PbPb4080();
41cfcd39 1184 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.06);
27360a0e 1185 for(Int_t i=3;i<=5;i++) fMCPtShape->SetBinContent(i,0.11);
41cfcd39 1186 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
414bc6a5 1187}
1188//--------------------------------------------------------------------------
1189void AliHFSystErr::InitD0toKpi2010PbPb6080CentScan(){
41cfcd39 1190 // define errors for RAA vs. centrality
414bc6a5 1191 InitD0toKpi2010PbPb4080();
41cfcd39 1192 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.08);
27360a0e 1193 for(Int_t i=3;i<=5;i++) fMCPtShape->SetBinContent(i,0.08);
41cfcd39 1194 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
414bc6a5 1195}
1196//--------------------------------------------------------------------------
1197void AliHFSystErr::InitDplustoKpipi2010PbPb010CentScan(){
1198 // define errors for RAA vs. centrality
1199 InitDplustoKpipi2010PbPb020();
7b03f1ec 1200 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.18);
eefab142 1201 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.09);
7b03f1ec 1202
414bc6a5 1203}
1204//--------------------------------------------------------------------------
1205void AliHFSystErr::InitDplustoKpipi2010PbPb1020CentScan(){
1206 // define errors for RAA vs. centrality
1207 InitDplustoKpipi2010PbPb020();
7b03f1ec 1208 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.23);
eefab142 1209 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
414bc6a5 1210}
1211//--------------------------------------------------------------------------
1212void AliHFSystErr::InitDplustoKpipi2010PbPb2040CentScan(){
1213 // define errors for RAA vs. centrality
1214 InitDplustoKpipi2010PbPb020();
7b03f1ec 1215 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.08);
eefab142 1216 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.095);
414bc6a5 1217}
1218//--------------------------------------------------------------------------
1219void AliHFSystErr::InitDplustoKpipi2010PbPb4060CentScan(){
1220 // define errors for RAA vs. centrality
1221 InitDplustoKpipi2010PbPb4080();
7b03f1ec 1222 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.08);
eefab142 1223 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
414bc6a5 1224}
1225//--------------------------------------------------------------------------
1226void AliHFSystErr::InitDplustoKpipi2010PbPb6080CentScan(){
1227 // define errors for RAA vs. centrality
1228 InitDplustoKpipi2010PbPb4080();
7b03f1ec 1229 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.15);
eefab142 1230 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.07);
414bc6a5 1231}
1232
1233//--------------------------------------------------------------------------
1234void AliHFSystErr::InitDstartoD0pi2010PbPb010CentScan(){
1235 // define errors for RAA vs. centrality
1236 InitDstartoD0pi2010PbPb020();
1237 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.16);
eefab142 1238 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.15);
414bc6a5 1239}
1240//--------------------------------------------------------------------------
1241void AliHFSystErr::InitDstartoD0pi2010PbPb1020CentScan(){
1242 // define errors for RAA vs. centrality
1243 InitDstartoD0pi2010PbPb020();
1244 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
eefab142 1245 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.15);
414bc6a5 1246}
1247//--------------------------------------------------------------------------
1248void AliHFSystErr::InitDstartoD0pi2010PbPb2040CentScan(){
1249 // define errors for RAA vs. centrality
1250 InitDstartoD0pi2010PbPb2040();
1251 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.10);
eefab142 1252 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
414bc6a5 1253}
1254//--------------------------------------------------------------------------
1255void AliHFSystErr::InitDstartoD0pi2010PbPb4060CentScan(){
1256 // define errors for RAA vs. centrality
1257 InitDstartoD0pi2010PbPb4080();
1258 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.10);
eefab142 1259 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.045);
414bc6a5 1260}
1261//--------------------------------------------------------------------------
1262void AliHFSystErr::InitDstartoD0pi2010PbPb6080CentScan(){
1263 // define errors for RAA vs. centrality
1264 InitDstartoD0pi2010PbPb4080();
1265 for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.10);
eefab142 1266 for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.045);
414bc6a5 1267}
1268
1269
5541b811 1270//--------------------------------------------------------------------------
0233abe6 1271Double_t AliHFSystErr::GetCutsEffErr(Double_t pt) const {
1272 //
1273 // Get error
1274 //
1275
1276 Int_t bin=fCutsEff->FindBin(pt);
1277
1278 return fCutsEff->GetBinContent(bin);
1279}
1280//--------------------------------------------------------------------------
1281Double_t AliHFSystErr::GetMCPtShapeErr(Double_t pt) const {
1282 //
1283 // Get error
1284 //
1285
1286 Int_t bin=fMCPtShape->FindBin(pt);
1287
1288 return fMCPtShape->GetBinContent(bin);
1289}
1290//--------------------------------------------------------------------------
1291Double_t AliHFSystErr::GetSeleEffErr(Double_t pt) const {
1292 //
1293 // Get error
1294 //
1295
1296 Double_t err=GetCutsEffErr(pt)*GetCutsEffErr(pt)+GetMCPtShapeErr(pt)*GetMCPtShapeErr(pt);
1297
1298 return TMath::Sqrt(err);
1299}
1300//--------------------------------------------------------------------------
1301Double_t AliHFSystErr::GetPIDEffErr(Double_t pt) const {
1302 //
1303 // Get error
1304 //
1305
1306 Int_t bin=fPIDEff->FindBin(pt);
1307
1308 return fPIDEff->GetBinContent(bin);
1309}
1310//--------------------------------------------------------------------------
1311Double_t AliHFSystErr::GetTrackingEffErr(Double_t pt) const {
1312 //
1313 // Get error
1314 //
1315
1316 Int_t bin=fTrackingEff->FindBin(pt);
1317
1318 return fTrackingEff->GetBinContent(bin);
1319}
1320//--------------------------------------------------------------------------
1321Double_t AliHFSystErr::GetRawYieldErr(Double_t pt) const {
1322 //
1323 // Get error
1324 //
1325
1326 Int_t bin=fRawYield->FindBin(pt);
1327
1328 return fRawYield->GetBinContent(bin);
1329}
1330//--------------------------------------------------------------------------
1331Double_t AliHFSystErr::GetPartAntipartErr(Double_t pt) const {
1332 //
1333 // Get error
1334 //
1335
1336 Int_t bin=fPartAntipart->FindBin(pt);
1337
1338 return fPartAntipart->GetBinContent(bin);
1339}
1340//--------------------------------------------------------------------------
1341Double_t AliHFSystErr::GetTotalSystErr(Double_t pt,Double_t feeddownErr) const {
1342 //
1343 // Get total syst error (except norm. error)
1344 //
1345
1346 Double_t err=0.;
1347
1348 if(fRawYield) err += GetRawYieldErr(pt)*GetRawYieldErr(pt);
1349 if(fTrackingEff) err += GetTrackingEffErr(pt)*GetTrackingEffErr(pt);
f9a85c82 1350 // if(fBR) err += GetBRErr()*GetBRErr();
0233abe6 1351 if(fCutsEff) err += GetCutsEffErr(pt)*GetCutsEffErr(pt);
1352 if(fPIDEff) err += GetPIDEffErr(pt)*GetPIDEffErr(pt);
1353 if(fMCPtShape) err += GetMCPtShapeErr(pt)*GetMCPtShapeErr(pt);
1354 if(fPartAntipart) err += GetPartAntipartErr(pt)*GetPartAntipartErr(pt);
1355
1356 err += feeddownErr*feeddownErr;
1357
1358 return TMath::Sqrt(err);
1359}
1360//---------------------------------------------------------------------------
5ad8ad40 1361void AliHFSystErr::DrawErrors(TGraphAsymmErrors *grErrFeeddown) const {
0233abe6 1362 //
1363 // Draw errors
1364 //
1365 gStyle->SetOptStat(0);
1366
a07118d0 1367 TCanvas *cSystErr = new TCanvas("cSystErr","Systematic Errors",300,80,640,500);
1368 cSystErr->Range(0.20,-0.5,18.4,0.34);
1369 cSystErr->SetRightMargin(0.318);
0233abe6 1370 cSystErr->SetFillColor(0);
1371
436b185f 1372 TH2F *hFrame = new TH2F("hFrame","Systematic errors; p_{t} (GeV/c); Relative Error",40,0,40,100,-1,+1);
1373 hFrame->SetAxisRange(1.,35.9,"X");
a07118d0 1374 hFrame->SetAxisRange(-0.5,0.5,"Y");
0233abe6 1375 hFrame->Draw();
1376
a07118d0 1377 TLegend *leg = new TLegend(0.69,0.44,0.98,0.86,NULL,"brNDC");
1378 leg->SetTextSize(0.03601695);
0233abe6 1379 leg->SetFillStyle(0);
1380 leg->SetBorderSize(0);
2ee3afe2 1381
436b185f 1382 TH1F *hTotErr=new TH1F("hTotErr","",36,0,36);
2ee3afe2 1383 Int_t nbins = fNorm->GetNbinsX();
1384 TGraphAsymmErrors *gTotErr = new TGraphAsymmErrors(nbins);
436b185f 1385 for(Int_t i=1;i<=36;i++) {
2ee3afe2 1386 Double_t pt = hTotErr->GetBinCenter(i);
1387 Double_t ptwidth = hTotErr->GetBinWidth(i);
1388
1389 if(grErrFeeddown) {
1390 Double_t x=0., y=0., errxl=0., errxh=0., erryl=0., erryh=0.;
1391 Double_t toterryl=0., toterryh=0.;
1392 for(Int_t j=0; j<grErrFeeddown->GetN(); j++) {
1393 grErrFeeddown->GetPoint(j,x,y);
1394 errxh = grErrFeeddown->GetErrorXhigh(j);
1395 errxl = grErrFeeddown->GetErrorXlow(j);
a07118d0 1396 if ( ( (x-errxl) <= pt) && ( (x+errxl) >= pt) ) {
2ee3afe2 1397 erryh = grErrFeeddown->GetErrorYhigh(j);
1398 erryl = grErrFeeddown->GetErrorYlow(j);
1399 }
1400 }
1401 if (erryl>=1e-3) toterryl = GetTotalSystErr(pt,erryl);
1402 else toterryl = GetTotalSystErr(pt);
1403 if (erryh>=1e-3) toterryh = GetTotalSystErr(pt,erryh);
1404 else toterryh = GetTotalSystErr(pt);
1405
1406 hTotErr->SetBinContent(i,toterryh);
1407 gTotErr->SetPoint(i,pt,0.);
1408 gTotErr->SetPointError(i,ptwidth/2.,ptwidth/2.,toterryl,toterryh); // i, exl, exh, eyl, eyh
1409 }
1410 else {
1411 hTotErr->SetBinContent(i,GetTotalSystErr(pt));
1412 gTotErr->SetPoint(i,pt,0.);
1413 gTotErr->SetPointError(i,ptwidth/2.,ptwidth/2.,GetTotalSystErr(pt),GetTotalSystErr(pt)); // i, exl, exh, eyl, eyh
1414 }
1415
1416 }
f968ef30 1417 gTotErr->SetLineColor(kBlack);
1418 gTotErr->SetFillColor(kRed);
1419 gTotErr->SetFillStyle(3002);
2ee3afe2 1420 gTotErr->Draw("2");
1421 leg->AddEntry(gTotErr,"Total (excl. norm.)","f");
1422// hTotErr->SetLineColor(1);
1423// hTotErr->SetLineWidth(3);
1424// hTotErr->Draw("same");
1425// leg->AddEntry(hTotErr,"Total (excl. norm.)","l");
1426
0233abe6 1427
e373b9f0 1428 fNorm->SetFillColor(1);
1429 fNorm->SetFillStyle(3002);
1430 //fNorm->Draw("same");
1431 //TH1F *hNormRefl = ReflectHisto(fNorm);
1432 //hNormRefl->Draw("same");
27360a0e 1433 Double_t norm = fNorm->GetBinContent(1)*100;
1434 leg->AddEntry(fNorm,Form("Normalization (%.1f%s)",norm,"%"),"");
e373b9f0 1435
5ad8ad40 1436 if(grErrFeeddown) {
1437 grErrFeeddown->SetFillColor(kTeal-8);
1438 grErrFeeddown->SetFillStyle(3001);
1439 grErrFeeddown->Draw("2");
1440 leg->AddEntry(grErrFeeddown,"Feed-down from B","f");
1441 }
0233abe6 1442 if(fTrackingEff) {
5ad8ad40 1443 fTrackingEff->SetFillColor(4);
1444 fTrackingEff->SetFillStyle(3006);
0233abe6 1445 fTrackingEff->Draw("same");
f968ef30 1446 TH1F *hTrackingEffRefl = ReflectHisto(fTrackingEff);
1447 hTrackingEffRefl->Draw("same");
0233abe6 1448 leg->AddEntry(fTrackingEff,"Tracking efficiency","f");
1449 }
1450 if(fBR) {
1451 fBR->SetFillColor(6);
1452 fBR->SetFillStyle(3005);
5ad8ad40 1453 //fBR->SetFillStyle(3020);
0233abe6 1454 fBR->Draw("same");
f968ef30 1455 TH1F *hBRRefl = ReflectHisto(fBR);
1456 hBRRefl->Draw("same");
0233abe6 1457 leg->AddEntry(fBR,"Branching ratio","f");
1458 }
1459 if(fRawYield) {
5ad8ad40 1460 Int_t ci; // for color index setting
1461 ci = TColor::GetColor("#00cc00");
1462 fRawYield->SetLineColor(ci);
1463 // fRawYield->SetLineColor(3);
0233abe6 1464 fRawYield->SetLineWidth(3);
1465 fRawYield->Draw("same");
f968ef30 1466 TH1F *hRawYieldRefl = ReflectHisto(fRawYield);
1467 hRawYieldRefl->Draw("same");
844405bc 1468 leg->AddEntry(fRawYield,"Yield extraction","l");
0233abe6 1469 }
1470 if(fCutsEff) {
1471 fCutsEff->SetLineColor(4);
1472 fCutsEff->SetLineWidth(3);
1473 fCutsEff->Draw("same");
f968ef30 1474 TH1F *hCutsEffRefl = ReflectHisto(fCutsEff);
1475 hCutsEffRefl->Draw("same");
0233abe6 1476 leg->AddEntry(fCutsEff,"Cuts efficiency","l");
1477 }
1478 if(fPIDEff) {
1479 fPIDEff->SetLineColor(7);
1480 fPIDEff->SetLineWidth(3);
1481 fPIDEff->Draw("same");
f968ef30 1482 TH1F *hPIDEffRefl = ReflectHisto(fPIDEff);
1483 hPIDEffRefl->Draw("same");
0233abe6 1484 leg->AddEntry(fPIDEff,"PID efficiency","l");
1485 }
1486 if(fMCPtShape) {
5ad8ad40 1487 Int_t ci = TColor::GetColor("#9933ff");
1488 fMCPtShape->SetLineColor(ci);
1489 // fMCPtShape->SetLineColor(8);
0233abe6 1490 fMCPtShape->SetLineWidth(3);
1491 fMCPtShape->Draw("same");
f968ef30 1492 TH1F *hMCPtShapeRefl = ReflectHisto(fMCPtShape);
1493 hMCPtShapeRefl->Draw("same");
0233abe6 1494 leg->AddEntry(fMCPtShape,"MC p_{t} shape","l");
1495 }
1496 if(fPartAntipart) {
5ad8ad40 1497 Int_t ci = TColor::GetColor("#ff6600");
1498 fPartAntipart->SetLineColor(ci);
1499 // fPartAntipart->SetLineColor(9);
0233abe6 1500 fPartAntipart->SetLineWidth(3);
1501 fPartAntipart->Draw("same");
f968ef30 1502 TH1F *hPartAntipartRefl = ReflectHisto(fPartAntipart);
1503 hPartAntipartRefl->Draw("same");
0233abe6 1504 leg->AddEntry(fPartAntipart,"D = #bar{D}","l");
1505 }
0233abe6 1506
0233abe6 1507
1508 leg->Draw();
1509
5ad8ad40 1510 cSystErr->SaveAs("RelativeSystematics.eps");
1511
0233abe6 1512 return;
1513}
f968ef30 1514//-------------------------------------------------------------------------
1515TH1F* AliHFSystErr::ReflectHisto(TH1F *hin) const {
1516 //
1517 // Clones and reflects histogram
1518 //
1519 TH1F *hout=(TH1F*)hin->Clone("hout");
1520 hout->Scale(-1.);
1521
1522 return hout;
1523}
9a8b5080 1524
ada850b0 1525
1526