]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/correlationHF/AliHFDhadronCorrSystUnc.h
Fix for coverity defects
[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
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>
24class 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