3 /* Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //***********************************************************
9 // Class AliRDHFSystErr
10 // to handle systematic errors for charm hadrons
11 // Author: A.Dainese, andrea.dainese@pd.infn.it
12 //***********************************************************
17 #include "TGraphAsymmErrors.h"
20 class AliHFSystErr : public TNamed
24 AliHFSystErr(const Char_t* name="HFSystErr", const Char_t* title="");
26 virtual ~AliHFSystErr();
28 void DrawErrors(TGraphAsymmErrors *grErrFeeddown=0) const;
30 Double_t GetNormErr() const {return (fNorm ? fNorm->GetBinContent(0) : 0.);}
31 Double_t GetBRErr() const {return (fBR ? fBR->GetBinContent(0) : 0.);}
32 Double_t GetCutsEffErr(Double_t pt) const;
33 Double_t GetMCPtShapeErr(Double_t pt) const;
34 Double_t GetSeleEffErr(Double_t pt) const;
35 Double_t GetPartAntipartErr(Double_t pt) const;
36 Double_t GetPIDEffErr(Double_t pt) const;
37 Double_t GetRawYieldErr(Double_t pt) const;
38 Double_t GetTrackingEffErr(Double_t pt) const;
39 Double_t GetTotalSystErr(Double_t pt,Double_t feeddownErr=0) const;
41 // Setting the run number
42 // set the two last numbers of the year (is 10 for 2010)
43 void SetRunNumber(Int_t number) {
45 AliInfo(Form(" Settings for run year 20%2d",fRunNumber));
47 // Setting the collision type
49 void SetCollisionType(Int_t type) {
50 fCollisionType = type;
51 if (fCollisionType==0) { AliInfo(" Settings for p-p collisions"); }
52 else if(fCollisionType==1) { AliInfo(" Settings for Pb-Pb collisions"); }
54 // Setting for the centrality class
55 // 0100 for MB, 020 (4080) for 0-20 (40-80) CC and so on
56 void SetCentrality(Int_t centrality) {
57 fCentralityClass = centrality;
58 AliInfo(Form(" Settings for centrality class %d",fCentralityClass));
61 // Function to initialize the variables/histograms
62 void Init(Int_t decay);
66 AliHFSystErr(const AliHFSystErr& source);
67 AliHFSystErr& operator=(const AliHFSystErr& source);
69 void InitD0toKpi2010pp();
70 void InitDplustoKpipi2010pp();
71 void InitDstartoD0pi2010pp();
73 void InitD0toKpi2010PbPb020();
74 void InitDplustoKpipi2010PbPb020();
75 void InitDstartoD0pi2010PbPb020();
77 void InitD0toKpi2010PbPb4080();
78 void InitDplustoKpipi2010PbPb4080();
79 void InitDstartoD0pi2010PbPb4080();
82 TH1F* ReflectHisto(TH1F *hin) const;
84 TH1F *fNorm; // normalization
85 TH1F *fRawYield; // raw yield
86 TH1F *fTrackingEff; // tracking efficiency
87 TH1F *fBR; // branching ratio
88 TH1F *fCutsEff; // cuts efficiency
89 TH1F *fPIDEff; // PID efficiency
90 TH1F *fMCPtShape; // MC dNdpt
91 TH1F *fPartAntipart; // particle=antiparticle
93 Int_t fRunNumber; // Run Number (year)
94 Int_t fCollisionType; // Collision type: pp=0, PbPb=1
95 Int_t fCentralityClass; // Centrality class
96 // MB:0100, 0-10:010, 0-20:020 ...40-80:4080...
98 ClassDef(AliHFSystErr,1); // class for systematic errors of charm hadrons