]>
Commit | Line | Data |
---|---|---|
62f6d8bf | 1 | #ifndef ALIHFDHADRONCORRSYSTUNC_H |
2 | #define ALIHFDHADRONCORRSYSTUNC_H | |
3 | /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id: $ */ | |
7 | ||
8 | ///////////////////////////////////////////////////////////// | |
9 | // class for systematic uncertainties on D meson -hadron correlation distribution | |
10 | // | |
11 | // Author: A. Rossi, andrea.rossi@cern.ch | |
12 | ///////////////////////////////////////////////////////////// | |
13 | #include <TH1D.h> | |
14 | #include <TH2D.h> | |
15 | #include <TCanvas.h> | |
16 | #include <TGraphAsymmErrors.h> | |
17 | #include <TString.h> | |
18 | class AliHFDhadronCorrSystUnc : public TNamed{ | |
19 | ||
20 | public: | |
21 | AliHFDhadronCorrSystUnc(); | |
22 | AliHFDhadronCorrSystUnc(const char* name); | |
23 | ~AliHFDhadronCorrSystUnc(); | |
24 | void InitEmptyHistosFromTemplate(); | |
25 | void InitStandardUncertaintiesPP2010(Int_t meson,Double_t ptD,Double_t minptAss); | |
76948b1d | 26 | void InitStandardUncertaintiesPPb2013(Int_t meson,Double_t ptD,Double_t minptAss); |
62f6d8bf | 27 | // Method with uncertainties for pp 2010, Dzero and D*+ and pt assoc> 0.3 GeV/c, with values used for HP2013 |
28 | void InitStandardUncertaintiesPP2010DzeroLowPtAss03HP(); | |
29 | void InitStandardUncertaintiesPP2010DzeroMidPtAss03HP(); | |
30 | void InitStandardUncertaintiesPP2010DzeroHighPtAss03HP(); | |
31 | ||
32 | void InitStandardUncertaintiesPP2010DstarLowPtAss03HP(); | |
33 | void InitStandardUncertaintiesPP2010DstarMidPtAss03HP(); | |
34 | void InitStandardUncertaintiesPP2010DstarHighPtAss03HP(); | |
35 | ||
36 | ||
37 | // Method with uncertainties for pp 2010, all kinematic cases but those approved for HP2013 | |
38 | void InitStandardUncertaintiesPP2010DplusLowPtAss03(); | |
39 | void InitStandardUncertaintiesPP2010DplusMidPtAss03(); | |
40 | void InitStandardUncertaintiesPP2010DplusHighPtAss03(); | |
41 | ||
42 | void InitStandardUncertaintiesPP2010DzeroLowPtAss05(); | |
43 | void InitStandardUncertaintiesPP2010DzeroMidPtAss05(); | |
44 | void InitStandardUncertaintiesPP2010DzeroHighPtAss05(); | |
45 | ||
46 | void InitStandardUncertaintiesPP2010DstarLowPtAss05(); | |
47 | void InitStandardUncertaintiesPP2010DstarMidPtAss05(); | |
48 | void InitStandardUncertaintiesPP2010DstarHighPtAss05(); | |
49 | ||
50 | void InitStandardUncertaintiesPP2010DplusLowPtAss05(); | |
51 | void InitStandardUncertaintiesPP2010DplusMidPtAss05(); | |
52 | void InitStandardUncertaintiesPP2010DplusHighPtAss05(); | |
53 | ||
54 | ||
55 | void InitStandardUncertaintiesPP2010DzeroLowPtAss1(); | |
56 | void InitStandardUncertaintiesPP2010DzeroMidPtAss1(); | |
57 | void InitStandardUncertaintiesPP2010DzeroHighPtAss1(); | |
58 | ||
59 | void InitStandardUncertaintiesPP2010DstarLowPtAss1(); | |
60 | void InitStandardUncertaintiesPP2010DstarMidPtAss1(); | |
61 | void InitStandardUncertaintiesPP2010DstarHighPtAss1(); | |
62 | ||
63 | void InitStandardUncertaintiesPP2010DplusLowPtAss1(); | |
64 | void InitStandardUncertaintiesPP2010DplusMidPtAss1(); | |
65 | void InitStandardUncertaintiesPP2010DplusHighPtAss1(); | |
66 | ||
67 | ||
68 | // Method with uncertainties for pPb 2013 | |
69 | void InitStandardUncertaintiesPPb2013DzeroLowPtAss03(); | |
70 | void InitStandardUncertaintiesPPb2013DzeroMidPtAss03(); | |
71 | void InitStandardUncertaintiesPPb2013DzeroHighPtAss03(); | |
72 | ||
73 | void InitStandardUncertaintiesPPb2013DstarLowPtAss03(); | |
74 | void InitStandardUncertaintiesPPb2013DstarMidPtAss03(); | |
75 | void InitStandardUncertaintiesPPb2013DstarHighPtAss03(); | |
76 | ||
77 | void InitStandardUncertaintiesPPb2013DplusLowPtAss03(); | |
78 | void InitStandardUncertaintiesPPb2013DplusMidPtAss03(); | |
79 | void InitStandardUncertaintiesPPb2013DplusHighPtAss03(); | |
80 | ||
81 | void InitStandardUncertaintiesPPb2013DzeroLowPtAss05(); | |
82 | void InitStandardUncertaintiesPPb2013DzeroMidPtAss05(); | |
83 | void InitStandardUncertaintiesPPb2013DzeroHighPtAss05(); | |
84 | ||
85 | void InitStandardUncertaintiesPPb2013DstarLowPtAss05(); | |
86 | void InitStandardUncertaintiesPPb2013DstarMidPtAss05(); | |
87 | void InitStandardUncertaintiesPPb2013DstarHighPtAss05(); | |
88 | ||
89 | void InitStandardUncertaintiesPPb2013DplusLowPtAss05(); | |
90 | void InitStandardUncertaintiesPPb2013DplusMidPtAss05(); | |
91 | void InitStandardUncertaintiesPPb2013DplusHighPtAss05(); | |
92 | ||
93 | ||
94 | void InitStandardUncertaintiesPPb2013DzeroLowPtAss1(); | |
95 | void InitStandardUncertaintiesPPb2013DzeroMidPtAss1(); | |
96 | void InitStandardUncertaintiesPPb2013DzeroHighPtAss1(); | |
97 | ||
98 | void InitStandardUncertaintiesPPb2013DstarLowPtAss1(); | |
99 | void InitStandardUncertaintiesPPb2013DstarMidPtAss1(); | |
100 | void InitStandardUncertaintiesPPb2013DstarHighPtAss1(); | |
101 | ||
102 | void InitStandardUncertaintiesPPb2013DplusLowPtAss1(); | |
103 | void InitStandardUncertaintiesPPb2013DplusMidPtAss1(); | |
104 | void InitStandardUncertaintiesPPb2013DplusHighPtAss1(); | |
105 | ||
106 | ||
107 | ///////////// | |
108 | ||
109 | TGraphAsymmErrors* GetUncGraphFromHistos(TH1D *hRef,TH1D *hMin,TH1D *hMax); | |
110 | void BuildGraphsRelUnc(); | |
111 | void BuildGraphsUnc(TH1D *hRef); | |
112 | TCanvas* BuildSystUncertaintyPlotVsDeltaPhi(TH1D *hCorrPlot,Int_t doInit); | |
113 | void BuildTotalNonFDUncHisto(); | |
114 | void BuildTotalUncHisto(); | |
115 | void BuildTotalNonFlatUncHisto(); | |
116 | TH1D *GetVariedHisto(const TH1D *hIn,const TGraphAsymmErrors *gr,Int_t minmax); | |
117 | TH1D *GetHistoTotFlatMin(){return fhtotFlatMin;} | |
118 | TH1D *GetHistoTotFlatMax(){return fhtotFlatMax;} | |
119 | ||
120 | TH1D *GetHistoYieldUnc(){ | |
121 | return fhYieldExtraction; | |
122 | } | |
123 | ||
124 | TH1D *GetHistoBackSubUncMin(){ | |
125 | return fhBackSubtractionMin; | |
126 | } | |
127 | ||
128 | TH1D *GetHistoBackSubUncMax(){ | |
129 | return fhBackSubtractionMax; | |
130 | } | |
131 | ||
132 | TH1D *GetHistoTemplate(){ | |
133 | return fhDeltaPhiTemplate; | |
134 | } | |
135 | ||
136 | TH1D *GetHistoMCclosureTestMin(){ | |
137 | return fhMCclosureTestMin; | |
138 | } | |
139 | TH1D *GetHistoMCclosureTestMax(){ | |
140 | return fhMCclosureTestMax; | |
141 | } | |
142 | ||
143 | TH1D *GetHistoMCcorrectionsMin(){ | |
144 | return fhMCcorrectionsMin; | |
145 | } | |
146 | TH1D *GetHistoMCcorrectionsMax(){ | |
147 | return fhMCcorrectionsMax; | |
148 | } | |
149 | ||
150 | TH1D *GetHistoMCDefficiencyMin(){ | |
151 | return fhMCDefficiencyMin; | |
152 | } | |
153 | TH1D *GetHistoMCDefficiencyMax(){ | |
154 | return fhMCDefficiencyMax; | |
155 | } | |
156 | ||
157 | TH1D *GetHistoSecContaminationMin(){ | |
158 | return fhSecContaminationMin; | |
159 | } | |
160 | TH1D *GetHistoSecContaminationMax(){ | |
161 | return fhSecContaminationMax; | |
162 | } | |
163 | ||
164 | TH1D *GetHistoFDmin(){ | |
165 | return fhBeautyFDmin; | |
166 | } | |
167 | ||
168 | TH1D *GetHistoFDmax(){ | |
169 | return fhBeautyFDmax; | |
170 | } | |
171 | ||
172 | void SetHistoTemplate(TH1D *h,TString strname="",Bool_t clone=kTRUE); | |
173 | void SetHistoMCclosureTestMin(TH1D *h,TString strname="",Bool_t clone=kTRUE); | |
174 | void SetHistoMCclosureTestMax(TH1D *h,TString strname="",Bool_t clone=kTRUE); | |
175 | void SetHistoMCcorrectionsMin(TH1D *h,TString strname="",Bool_t clone=kTRUE); | |
176 | void SetHistoMCcorrectionsMax(TH1D *h,TString strname="",Bool_t clone=kTRUE); | |
177 | void SetHistoMCDefficiencyMin(TH1D *h,TString strname="",Bool_t clone=kTRUE); | |
178 | void SetHistoMCDefficiencyMax(TH1D *h,TString strname="",Bool_t clone=kTRUE); | |
179 | void SetHistoSecContaminationMin(TH1D *h,TString strname="",Bool_t clone=kTRUE); | |
180 | void SetHistoSecContaminationMax(TH1D *h,TString strname="",Bool_t clone=kTRUE); | |
181 | void SetHistoBeautyFDmin(TH1D *h,TString strname="",Bool_t clone=kTRUE); | |
182 | void SetHistoBeautyFDmax(TH1D *h,TString strname="",Bool_t clone=kTRUE); | |
183 | void SetHistoYieldExtraction(TH1D *h,TString strname="",Bool_t clone=kTRUE); | |
184 | void SetHistoBackSubtraction(TH1D *hMax,TString strname="",Bool_t clone=kTRUE,TH1D *hMin=0x0); | |
185 | ||
186 | ||
187 | TGraphAsymmErrors* GetTotUncGraph(){return fgrTotal;} | |
188 | TGraphAsymmErrors* GetTotNonFlatUncGraph(){return fgrTotalNonFlatDPhi;} | |
189 | TGraphAsymmErrors* GetTotFlatUncGraph(){return fgrTotalFlatDPhi;} | |
190 | ||
191 | private: | |
192 | Int_t fmeson; // 0=D0, 1=D*, 2=D+ | |
193 | TString fstrmeson; // meson name | |
194 | TString fstrptAss; // string with pt range associated tracks | |
195 | TString fstrptD; // string with pt range D meson | |
196 | TH1D *fhDeltaPhiTemplate; // histo do define the binning in DeltaPhi | |
197 | TH1D *fhYieldExtraction; // yield extr unc | |
198 | TH1D *fhBackSubtractionMin; // uncertainty from variation of SB range, etc. | |
199 | TH1D *fhBackSubtractionMax; // uncertainty from variation of SB range, etc. | |
200 | TH1D *fhBeautyFDmin; // feed down uncertainty | |
201 | TH1D *fhBeautyFDmax; // feed down uncertainty | |
202 | TH1D *fhMCclosureTestMin; // mc closure | |
203 | TH1D *fhMCclosureTestMax; // mc closure | |
204 | TH1D *fhMCcorrectionsMin; // mc corrections ( associated track selection variation) | |
205 | TH1D *fhMCcorrectionsMax; // mc corrections ( associated track selection variation) | |
206 | TH1D *fhMCDefficiencyMin; // mc corrections (D cut variation ) | |
207 | TH1D *fhMCDefficiencyMax; // mc corrections (D cut variation ) | |
208 | TH1D *fhSecContaminationMin; // contamination from secondaries | |
209 | TH1D *fhSecContaminationMax; // contamination from secondaries | |
210 | TH1D *fhTotalMin; // | |
211 | TH1D *fhTotalMax; // | |
212 | TH1D *fhTotalNonFDMin; // | |
213 | TH1D *fhTotalNonFDMax; // | |
214 | TH1D *fhTotalNonFlatDPhiMin; // | |
215 | TH1D *fhTotalNonFlatDPhiMax; // | |
216 | TH1D *fhtotFlatMin; // | |
217 | TH1D *fhtotFlatMax; // | |
218 | TGraphAsymmErrors *fgrYieldUnc; // | |
219 | TGraphAsymmErrors *fgrBackSubUnc; // | |
220 | TGraphAsymmErrors *fgrMCcorrections; // | |
221 | TGraphAsymmErrors *fgrMCDefficiency; // | |
222 | TGraphAsymmErrors *fgrSecContamination; // | |
223 | TGraphAsymmErrors *fgrMCclosureTest; // | |
224 | TGraphAsymmErrors *fgrBeautyFD; // | |
225 | TGraphAsymmErrors *fgrYieldUncRel; // | |
226 | TGraphAsymmErrors *fgrBackSubUncRel; // | |
227 | TGraphAsymmErrors *fgrMCcorrectionsRel; // | |
228 | TGraphAsymmErrors *fgrMCDefficiencyRel; // | |
229 | TGraphAsymmErrors *fgrSecContaminationRel; // | |
230 | TGraphAsymmErrors *fgrMCclosureTestRel; // | |
231 | TGraphAsymmErrors *fgrBeautyFDRel; // | |
232 | TGraphAsymmErrors *fgrTotal; // | |
233 | TGraphAsymmErrors *fgrTotalRel; // | |
234 | TGraphAsymmErrors *fgrTotalNonFD; // | |
235 | TGraphAsymmErrors *fgrTotalNonFlatDPhi; // | |
236 | TGraphAsymmErrors *fgrTotalNonFlatDPhiRel; // | |
237 | TGraphAsymmErrors *fgrTotalFlatDPhi; // | |
238 | TGraphAsymmErrors *fgrTotalFlatDPhiRel; // | |
239 | ||
240 | ||
241 | ClassDef(AliHFDhadronCorrSystUnc,1); | |
242 | }; | |
243 | ||
244 | ||
245 | ||
246 | #endif |