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