]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/correlationHF/AliHFDhadronCorrSystUnc.h
Classes for:
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliHFDhadronCorrSystUnc.h
CommitLineData
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>
18class 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