1 #ifndef THNSPARSEDEFINITIONS_H
2 #define THNSPARSEDEFINITIONS_H
13 enum axesTHnSparseEta {
22 enum axesTHnSparseEta {
28 kMultiplicity,//kDelta,
34 enum axesTHnSparsePID {
46 /*OLD with TOF, p_TPC_Inner and p_vertex
47 enum axesTHnSparsePID {
58 enum axesTHnSparsePIDgen {
70 enum axesTHnSparsePIDgenYield {
71 kPidGenYieldMCpid = 0,
73 kPidGenYieldCentrality = 2,
74 kPidGenYieldJetPt = 3,
77 kPidGenYieldNumAxes = 6
94 kV0idPlusTOFaccepted = 4,
95 kV0idPlusTOFrejected = 5
109 kStepGenWithGenCuts = 0,
110 kStepRecWithGenCuts = 1,
111 kStepRecWithGenCutsMeasuredObs = 2,
112 kStepRecWithRecCutsMeasuredObs = 3,
113 kStepRecWithRecCutsMeasuredObsPrimaries = 4,
114 kStepRecWithRecCutsMeasuredObsStrangenessScaled = 5,
124 const TString partShortName[9] = { "El", "Ka", "Mu", "Pi", "Pr", "V0plusTOFel", "V0el", "V0pi", "V0pr" };
127 //coarser binning at high pT and in general coarser binning to get reasonable weighting for regularisation
128 const Int_t nPtBins = 52;
129 const Double_t binsPt[nPtBins+1] = {0., 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
130 0.5, 0.55, 0.6, 0.65, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4,
131 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4,
132 3.6, 3.8, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 8.0,
133 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 22.0,
138 //coarser binning at high pT and, in addition, coarser binning around crossings for PbPb 2.76 ATeV FINAL version
139 const Int_t nPtBins = 50;
140 const Double_t binsPt[nPtBins+1] = {0. , 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
141 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.95, 1.1,
142 1.3, 1.4, 1.8, 2.2, 2.6, 3.0, 3.2, 3.4, 3.6, 3.8,
143 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 8.0, 9.0, 10.0,
144 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 22.0, 27.0, 35.0,
151 //coarser binning at high pT and, in addition, coarser binning around crossings for pPb 5.023 ATeV FINAL version
152 const Int_t nPtBins = 52;
153 const Double_t binsPt[nPtBins+1] = {0. , 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
154 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
155 1.0, 1.1, 1.2, 1.3, 1.4, 1.8, 2.2, 2.6, 3.0, 3.2,
156 3.4, 3.6, 3.8, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0,
157 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0,
162 // Coarser binning at high pT and, in addition, coarser binning around crossings for pp 7 TeV FINAL version
163 const Int_t nPtBins = 47;
164 const Double_t binsPt[nPtBins+1] = {0. , 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
165 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 1.2, 1.4, 1.6,
166 1.8, 2.0, 2.6, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.5,
167 5.0, 5.5, 6.0, 6.5, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0,
168 13.0, 14.0, 15.0, 16.0, 18.0, 22.0, 26.0, 50.0 };
171 // Coarser binning at high pT and, in addition, coarser binning around crossings for pp 7 TeV VERY NEW version
172 const Int_t nPtBins = 46;
173 const Double_t binsPt[nPtBins+1] = {0. , 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
174 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 1.2, 1.6,
175 2.0, 2.5, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.5, 5.0,
176 5.5, 6.0, 6.5, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
177 14.0, 15.0, 16.0, 18.0, 22.0, 27.0, 35.0, 50.0 };
180 // Coarser binning at high pT and, in addition, coarser binning around crossings for pp 7 TeV NEW version
181 const Int_t nPtBins = 47;
182 const Double_t binsPt[nPtBins+1] = {0. , 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
183 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.9, 1.2, 1.4, 1.6,
184 2.0, 2.5, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.5, 5.0,
185 5.5, 6.0, 6.5, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
186 14.0, 15.0, 16.0, 18.0, 22.0, 27.0, 35.0, 50.0 };
188 // Coarser binning at high pT and, in addition, coarser binning around crossings for pp 7 TeV
190 const Int_t nPtBins = 50;
191 const Double_t binsPt[nPtBins+1] = {0. , 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
192 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.9, 1.1, 1.2, 1.3,
193 1.4, 1.6, 1.8, 2.0, 2.9, 3.0, 3.2, 3.4, 3.6, 3.8,
194 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 8.0, 9.0, 10.0,
195 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 22.0, 27.0, 35.0,
199 // Coarser binning at high pT and, in addition, coarser binning around crossings for pp 2.76 TeV FINAL version
200 const Int_t nPtBins = 45;
201 const Double_t binsPt[nPtBins+1] = {0., 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
202 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 1.05,
203 1.2, 1.3, 1.4, 1.8, 2.9, 3.4, 3.6, 3.8, 4.0, 4.5,
204 5.0, 5.5, 6.0, 6.5, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0,
205 13.0, 14.0, 15.0, 16.0, 20.0, 50.0 };
208 // Coarser binning at high pT and, in addition, coarser binning around crossings for pp 2.76 TeV NEW version
209 const Int_t nPtBins = 49;
210 const Double_t binsPt[nPtBins+1] = {0. , 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
211 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9,
212 1.05, 1.2, 1.3 , 1.4, 1.7, 2.4, 3.2 , 3.4 , 3.6, 3.8 ,
213 4.0, 4.5 , 5.0, 5.5 , 6.0, 6.5 , 7.0, 8.0 , 9.0, 10.0,
214 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 22.0, 27.0, 35.0,
218 // Coarser binning at high pT and, in addition, coarser binning around crossings for pp 2.76 TeV
219 const Int_t nPtBins = 50;
220 const Double_t binsPt[nPtBins+1] = {0. , 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
221 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
222 1.0, 1.1 , 1.2, 1.3 , 1.4, 1.8, 2.4, 3.2, 3.6, 3.8 ,
223 4.0, 4.5 , 5.0, 5.5 , 6.0, 6.5 , 7.0, 8.0 , 9.0, 10.0,
224 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 22.0, 27.0, 35.0,
229 //coarser binning at high pT
230 const Int_t nPtBins = 60;
231 const Double_t binsPt[nPtBins+1] = {0. , 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
232 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
233 1.0, 1.1 , 1.2, 1.3 , 1.4, 1.5 , 1.6, 1.7 , 1.8, 1.9 ,
234 2.0, 2.2 , 2.4, 2.6 , 2.8, 3.0 , 3.2, 3.4 , 3.6, 3.8 ,
235 4.0, 4.5 , 5.0, 5.5 , 6.0, 6.5 , 7.0, 8.0 , 9.0, 10.0,
236 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 22.0, 27.0, 35.0,
240 /* OLD default as used in PID-Task to create THnSparses
241 const Int_t nPtBins = 68;
242 const Double_t binsPt[nPtBins+1] = {0. , 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
243 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
244 1.0, 1.1 , 1.2, 1.3 , 1.4, 1.5 , 1.6, 1.7 , 1.8, 1.9 ,
245 2.0, 2.2 , 2.4, 2.6 , 2.8, 3.0 , 3.2, 3.4 , 3.6, 3.8 ,
246 4.0, 4.5 , 5.0, 5.5 , 6.0, 6.5 , 7.0, 8.0 , 9.0, 10.0,
247 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 20.0, 22.0, 24.0,
248 26.0, 28.0, 30.0, 32.0, 34.0, 36.0, 40.0, 45.0, 50.0 };
251 const Int_t nDeDxBins = 19;
252 const Double_t binsDeDx[nDeDxBins+1] = {50., 52., 54., 56., 58., 60., 65., 70., 75., 80.,
253 85., 90., 100., 120., 160., 200., 250., 300., 400., 600. };
255 const Int_t nDeDxBins = 35;
256 const Double_t binsDeDx[nDeDxBins+1] = {50., 51., 52., 53., 54., 55., 56., 57., 58., 59.,
257 60., 62., 64., 66., 68., 70., 72., 74., 76., 78.,
258 80., 85., 90., 95., 100., 120., 140., 160., 180., 200.,
259 250., 300., 350., 400., 500, 650.};*/
261 //____________________________________________________________________________________________________________________
262 Int_t getLineColor(Int_t ID) {
290 //____________________________________________________________________________________________________________________
291 Int_t getLineColorAliPID(Int_t ID) {
293 case AliPID::kElectron:
305 case AliPID::kProton:
316 //____________________________________________________________________________________________________________________
317 void ClearTitleFromHistoInCanvas(TCanvas* c, Int_t padNum = -1)
319 // Remove the title from a histogram plotted in the canvase without
320 // removing the title from the histogram itself.
321 // If padNum is >= 0, this method will be applied to the corresponding
324 c->Update(); // Update in order to have access to the title in the following
326 TPaveText* paveTextTitle = (padNum >= 0) ? (TPaveText*)c->GetPad(padNum)->FindObject("title") : (TPaveText*)c->FindObject("title");
328 paveTextTitle->Clear();
332 //____________________________________________________________________________________________________________________
333 Int_t GetAxisByTitle(const THnSparse* h, TString title)
338 for (Int_t iDim = 0; iDim < h->GetNdimensions(); iDim++) {
339 if (!title.CompareTo(h->GetAxis(iDim)->GetTitle()))