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