]>
Commit | Line | Data |
---|---|---|
1cad7456 | 1 | #ifndef ALIHFSYSTERR_H |
2 | #define ALIHFSYSTERR_H | |
3 | /* Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
27de2dfb | 6 | /* $Id$ */ |
7 | ||
1cad7456 | 8 | //*********************************************************** |
9 | // Class AliRDHFSystErr | |
10 | // to handle systematic errors for charm hadrons | |
11 | // Author: A.Dainese, andrea.dainese@pd.infn.it | |
12 | //*********************************************************** | |
13 | ||
14 | #include <TNamed.h> | |
aebba8df | 15 | #include <TString.h> |
1cad7456 | 16 | #include <TH1F.h> |
5541b811 | 17 | #include "AliLog.h" |
8998180c | 18 | #include "TGraphAsymmErrors.h" |
1cad7456 | 19 | |
20 | ||
21 | class AliHFSystErr : public TNamed | |
22 | { | |
23 | public: | |
24 | ||
25 | AliHFSystErr(const Char_t* name="HFSystErr", const Char_t* title=""); | |
1cad7456 | 26 | |
27 | virtual ~AliHFSystErr(); | |
28 | ||
8998180c | 29 | void DrawErrors(TGraphAsymmErrors *grErrFeeddown=0) const; |
1cad7456 | 30 | |
31 | Double_t GetNormErr() const {return (fNorm ? fNorm->GetBinContent(0) : 0.);} | |
32 | Double_t GetBRErr() const {return (fBR ? fBR->GetBinContent(0) : 0.);} | |
33 | Double_t GetCutsEffErr(Double_t pt) const; | |
34 | Double_t GetMCPtShapeErr(Double_t pt) const; | |
35 | Double_t GetSeleEffErr(Double_t pt) const; | |
36 | Double_t GetPartAntipartErr(Double_t pt) const; | |
37 | Double_t GetPIDEffErr(Double_t pt) const; | |
38 | Double_t GetRawYieldErr(Double_t pt) const; | |
39 | Double_t GetTrackingEffErr(Double_t pt) const; | |
40 | Double_t GetTotalSystErr(Double_t pt,Double_t feeddownErr=0) const; | |
41 | ||
5541b811 | 42 | // Setting the run number |
43 | // set the two last numbers of the year (is 10 for 2010) | |
44 | void SetRunNumber(Int_t number) { | |
45 | fRunNumber = number; | |
46 | AliInfo(Form(" Settings for run year 20%2d",fRunNumber)); | |
47 | } | |
48 | // Setting the collision type | |
49 | // 0 is pp, 1 is PbPb | |
50 | void SetCollisionType(Int_t type) { | |
51 | fCollisionType = type; | |
52 | if (fCollisionType==0) { AliInfo(" Settings for p-p collisions"); } | |
53 | else if(fCollisionType==1) { AliInfo(" Settings for Pb-Pb collisions"); } | |
54 | } | |
55 | // Setting for the centrality class | |
56 | // 0100 for MB, 020 (4080) for 0-20 (40-80) CC and so on | |
aebba8df | 57 | void SetCentrality(TString centrality) { |
5541b811 | 58 | fCentralityClass = centrality; |
aebba8df | 59 | AliInfo(Form(" Settings for centrality class %s",fCentralityClass.Data())); |
5541b811 | 60 | } |
a8c3295d | 61 | void SetIsLowEnergy(Bool_t flag) { |
62 | fIsLowEnergy = flag; | |
63 | AliInfo(" Settings for the low energy run"); | |
64 | } | |
5541b811 | 65 | |
66 | // Function to initialize the variables/histograms | |
67 | void Init(Int_t decay); | |
1cad7456 | 68 | |
69 | private: | |
70 | ||
71 | AliHFSystErr(const AliHFSystErr& source); | |
72 | AliHFSystErr& operator=(const AliHFSystErr& source); | |
73 | ||
5541b811 | 74 | void InitD0toKpi2010pp(); |
75 | void InitDplustoKpipi2010pp(); | |
76 | void InitDstartoD0pi2010pp(); | |
77 | ||
78 | void InitD0toKpi2010PbPb020(); | |
79 | void InitDplustoKpipi2010PbPb020(); | |
80 | void InitDstartoD0pi2010PbPb020(); | |
81 | ||
82 | void InitD0toKpi2010PbPb4080(); | |
83 | void InitDplustoKpipi2010PbPb4080(); | |
84 | void InitDstartoD0pi2010PbPb4080(); | |
1cad7456 | 85 | |
a8c3295d | 86 | void InitD0toKpi2010ppLowEn(); |
87 | void InitDplustoKpipi2010ppLowEn(); | |
fa2be30c | 88 | void InitDstartoD0pi2010ppLowEn(); |
a8c3295d | 89 | |
fa2be30c | 90 | void InitDstartoD0pi2010PbPb2040(); |
1cad7456 | 91 | |
f968ef30 | 92 | TH1F* ReflectHisto(TH1F *hin) const; |
93 | ||
1cad7456 | 94 | TH1F *fNorm; // normalization |
95 | TH1F *fRawYield; // raw yield | |
96 | TH1F *fTrackingEff; // tracking efficiency | |
97 | TH1F *fBR; // branching ratio | |
98 | TH1F *fCutsEff; // cuts efficiency | |
99 | TH1F *fPIDEff; // PID efficiency | |
100 | TH1F *fMCPtShape; // MC dNdpt | |
101 | TH1F *fPartAntipart; // particle=antiparticle | |
102 | ||
5541b811 | 103 | Int_t fRunNumber; // Run Number (year) |
104 | Int_t fCollisionType; // Collision type: pp=0, PbPb=1 | |
aebba8df | 105 | TString fCentralityClass; // Centrality class |
5541b811 | 106 | // MB:0100, 0-10:010, 0-20:020 ...40-80:4080... |
a8c3295d | 107 | Bool_t fIsLowEnergy; // flag for the low energy (2.76TeV) run |
5541b811 | 108 | |
a8c3295d | 109 | ClassDef(AliHFSystErr,3); // class for systematic errors of charm hadrons |
1cad7456 | 110 | }; |
111 | ||
112 | #endif | |
113 |