setter to assume pion mass for clusters
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliAnalysisTaskRhoBase.cxx
CommitLineData
3074a323 1// $Id$
2//
f09b22c5 3// Base class for rho calculation.
4// Calculates parameterized rho for given centrality independent of input.
3074a323 5//
1b3d7f8f 6// Author: S.Aiola
3074a323 7
8#include <TF1.h>
a487deae 9#include <TH1F.h>
10#include <TH2F.h>
11#include <TClonesArray.h>
3074a323 12
1b3d7f8f 13#include "AliLog.h"
14#include "AliRhoParameter.h"
a487deae 15#include "AliEmcalJet.h"
fa6f0ccc 16#include "AliParticleContainer.h"
17#include "AliClusterContainer.h"
3074a323 18
19#include "AliAnalysisTaskRhoBase.h"
20
21ClassImp(AliAnalysisTaskRhoBase)
22
23//________________________________________________________________________
24AliAnalysisTaskRhoBase::AliAnalysisTaskRhoBase() :
9239b066 25 AliAnalysisTaskEmcalJet("AliAnalysisTaskRhoBase", kFALSE),
7cd832c7 26 fOutRhoName(),
27 fOutRhoScaledName(),
a487deae 28 fCompareRhoName(),
29 fCompareRhoScaledName(),
30 fRhoFunction(0),
31 fScaleFunction(0),
624bef5b 32 fInEventSigmaRho(35.83),
6f18d73a 33 fAttachToEvent(kTRUE),
7cd832c7 34 fOutRho(0),
35 fOutRhoScaled(0),
a487deae 36 fCompareRho(0),
37 fCompareRhoScaled(0),
38 fHistJetPtvsCent(0),
39 fHistJetAreavsCent(0),
1f9c287f 40 fHistJetRhovsCent(0),
a487deae 41 fHistNjetvsCent(0),
42 fHistJetPtvsNtrack(0),
43 fHistJetAreavsNtrack(0),
44 fHistNjetvsNtrack(0),
45 fHistRhovsCent(0),
46 fHistRhoScaledvsCent(0),
47 fHistDeltaRhovsCent(0),
48 fHistDeltaRhoScalevsCent(0),
49 fHistRhovsNtrack(0),
50 fHistRhoScaledvsNtrack(0),
51 fHistDeltaRhovsNtrack(0),
52 fHistDeltaRhoScalevsNtrack(0),
53 fHistRhovsNcluster(0),
54 fHistRhoScaledvsNcluster(0)
3074a323 55{
56 // Constructor.
624bef5b 57
73e2fd59 58 for (Int_t i = 0; i < 4; i++) {
624bef5b 59 fHistJetNconstVsPt[i] = 0;
e8df4140 60 fHistJetRhovsEta[i] = 0;
624bef5b 61 }
62 for (Int_t i = 0; i < 12; i++) {
73e2fd59 63 fHistNjUEoverNjVsNj[i] = 0;
64 }
3074a323 65}
66
67//________________________________________________________________________
a487deae 68AliAnalysisTaskRhoBase::AliAnalysisTaskRhoBase(const char *name, Bool_t histo) :
9239b066 69 AliAnalysisTaskEmcalJet(name, histo),
7cd832c7 70 fOutRhoName(),
71 fOutRhoScaledName(),
a487deae 72 fCompareRhoName(),
73 fCompareRhoScaledName(),
74 fRhoFunction(0),
75 fScaleFunction(0),
624bef5b 76 fInEventSigmaRho(35.83),
6f18d73a 77 fAttachToEvent(kTRUE),
7cd832c7 78 fOutRho(0),
79 fOutRhoScaled(0),
a487deae 80 fCompareRho(0),
81 fCompareRhoScaled(0),
82 fHistJetPtvsCent(0),
83 fHistJetAreavsCent(0),
1f9c287f 84 fHistJetRhovsCent(0),
a487deae 85 fHistNjetvsCent(0),
86 fHistJetPtvsNtrack(0),
87 fHistJetAreavsNtrack(0),
88 fHistNjetvsNtrack(0),
89 fHistRhovsCent(0),
90 fHistRhoScaledvsCent(0),
91 fHistDeltaRhovsCent(0),
92 fHistDeltaRhoScalevsCent(0),
93 fHistRhovsNtrack(0),
94 fHistRhoScaledvsNtrack(0),
95 fHistDeltaRhovsNtrack(0),
96 fHistDeltaRhoScalevsNtrack(0),
97 fHistRhovsNcluster(0),
98 fHistRhoScaledvsNcluster(0)
3074a323 99{
100 // Constructor.
a487deae 101
73e2fd59 102 for (Int_t i = 0; i < 4; i++) {
624bef5b 103 fHistJetNconstVsPt[i] = 0;
e8df4140 104 fHistJetRhovsEta[i] = 0;
624bef5b 105 }
106 for (Int_t i = 0; i < 12; i++) {
73e2fd59 107 fHistNjUEoverNjVsNj[i] = 0;
108 }
a487deae 109 SetMakeGeneralHistograms(histo);
3074a323 110}
111
112//________________________________________________________________________
113void AliAnalysisTaskRhoBase::UserCreateOutputObjects()
114{
a487deae 115 // User create output objects, called at the beginning of the analysis.
3074a323 116
a487deae 117 if (!fCreateHisto)
3074a323 118 return;
a487deae 119
9239b066 120 AliAnalysisTaskEmcalJet::UserCreateOutputObjects();
a487deae 121
ed0243d8 122 fHistRhovsCent = new TH2F("fHistRhovsCent", "fHistRhovsCent", 101, -1, 100, fNbins, fMinBinPt, fMaxBinPt*2);
123 fHistRhovsCent->GetXaxis()->SetTitle("Centrality (%)");
124 fHistRhovsCent->GetYaxis()->SetTitle("#rho (GeV/c * rad^{-1})");
a487deae 125 fOutput->Add(fHistRhovsCent);
126
7cd832c7 127 if (fParticleCollArray.GetEntriesFast()>0) {
ed0243d8 128 fHistRhovsNtrack = new TH2F("fHistRhovsNtrack", "fHistRhovsNtrack", 150, 0, 6000, fNbins, fMinBinPt, fMaxBinPt*2);
129 fHistRhovsNtrack->GetXaxis()->SetTitle("No. of tracks");
130 fHistRhovsNtrack->GetYaxis()->SetTitle("#rho (GeV/c * rad^{-1})");
a487deae 131 fOutput->Add(fHistRhovsNtrack);
3074a323 132 }
133
7cd832c7 134 if (fClusterCollArray.GetEntriesFast()>0) {
ed0243d8 135 fHistRhovsNcluster = new TH2F("fHistRhovsNcluster", "fHistRhovsNcluster", 50, 0, 1500, fNbins, fMinBinPt, fMaxBinPt*2);
136 fHistRhovsNcluster->GetXaxis()->SetTitle("No. of tracks");
137 fHistRhovsNcluster->GetYaxis()->SetTitle("#rho (GeV/c * rad^{-1})");
a487deae 138 fOutput->Add(fHistRhovsNcluster);
139 }
3074a323 140
7cd832c7 141 if (fJetCollArray.GetEntriesFast()>0) {
ed0243d8 142 fHistJetPtvsCent = new TH2F("fHistJetPtvsCent", "fHistJetPtvsCent", 101, -1, 100, fNbins, fMinBinPt, fMaxBinPt);
143 fHistJetPtvsCent->GetXaxis()->SetTitle("Centrality (%)");
144 fHistJetPtvsCent->GetYaxis()->SetTitle("#it{p}_{T,jet} (GeV/c)");
a487deae 145 fOutput->Add(fHistJetPtvsCent);
ed0243d8 146
7cd832c7 147 fHistJetAreavsCent = new TH2F("fHistJetAreavsCent", "fHistJetAreavsCent", 101, -1, 100, 100, 0, 1);
ed0243d8 148 fHistJetAreavsCent->GetXaxis()->SetTitle("Centrality (%)");
149 fHistJetAreavsCent->GetYaxis()->SetTitle("Jet area");
a487deae 150 fOutput->Add(fHistJetAreavsCent);
ed0243d8 151
152 fHistJetRhovsCent = new TH2F("fHistJetRhovsCent", "fHistJetRhovsCent", 101, -1, 100, fNbins, fMinBinPt, fMaxBinPt*2);
153 fHistJetRhovsCent->GetXaxis()->SetTitle("Centrality (%)");
154 fHistJetRhovsCent->GetYaxis()->SetTitle("Jet #rho (GeV/c)");
155 fOutput->Add(fHistJetRhovsCent);
156
157 fHistNjetvsCent = new TH2F("fHistNjetvsCent", "fHistNjetvsCent", 101, -1, 100, 150, -0.5, 149.5);
158 fHistNjetvsCent->GetXaxis()->SetTitle("Centrality (%)");
159 fHistNjetvsCent->GetYaxis()->SetTitle("No. of jets");
a487deae 160 fOutput->Add(fHistNjetvsCent);
161
3074a323 162
7cd832c7 163 if (fParticleCollArray.GetEntriesFast()>0) {
ed0243d8 164 fHistJetPtvsNtrack = new TH2F("fHistJetPtvsNtrack", "fHistJetPtvsNtrack", 150, 0, 6000, fNbins, fMinBinPt, fMaxBinPt);
165 fHistJetPtvsNtrack->GetXaxis()->SetTitle("No. of tracks");
166 fHistJetPtvsNtrack->GetYaxis()->SetTitle("#it{p}_{T,jet} (GeV/c)");
a487deae 167 fOutput->Add(fHistJetPtvsNtrack);
ed0243d8 168
7cd832c7 169 fHistJetAreavsNtrack = new TH2F("fHistJetAreavsNtrack", "fHistJetAreavsNtrack", 150, 0, 6000, 100, 0, 1);
ed0243d8 170 fHistJetAreavsNtrack->GetXaxis()->SetTitle("No. of tracks");
171 fHistJetAreavsNtrack->GetYaxis()->SetTitle("Jet area");
a487deae 172 fOutput->Add(fHistJetAreavsNtrack);
ed0243d8 173
174 fHistNjetvsNtrack = new TH2F("fHistNjetvsNtrack", "fHistNjetvsNtrack", 150, 0, 6000, 150, -0.5, 149.5);
4d3b366f 175 fHistNjetvsNtrack->GetXaxis()->SetTitle("No. of jets");
176 fHistNjetvsNtrack->GetYaxis()->SetTitle("No. of tracks");
a487deae 177 fOutput->Add(fHistNjetvsNtrack);
178 }
73e2fd59 179
624bef5b 180
181 TString name;
73e2fd59 182 for (Int_t i = 0; i < 4; i++) {
624bef5b 183 name = Form("fHistJetNconstVsPt_%d",i);
184 fHistJetNconstVsPt[i] = new TH2F(name, name, 150, -0.5, 149.5, fNbins, fMinBinPt, fMaxBinPt);
ed0243d8 185 fHistJetNconstVsPt[i]->GetXaxis()->SetTitle("No. of constituents");
624bef5b 186 fHistJetNconstVsPt[i]->GetYaxis()->SetTitle("p_{T,jet} (GeV/c)");
187 fOutput->Add(fHistJetNconstVsPt[i]);
188
ed0243d8 189 name = Form("fHistJetRhovsEta_%d",i);
e8df4140 190 fHistJetRhovsEta[i] = new TH2F(name, name, fNbins, fMinBinPt, fMaxBinPt*2, 16, -0.8, 0.8);
ed0243d8 191 fHistJetRhovsEta[i]->GetXaxis()->SetTitle("#rho (GeV/c * rad^{-1})");
192 fHistJetRhovsEta[i]->GetYaxis()->SetTitle("#eta");
e8df4140 193 fOutput->Add(fHistJetRhovsEta[i]);
194
624bef5b 195 for (Int_t j = 0; j < 3; j++) {
196 name = Form("NjUEoverNjVsNj_%d_%d",i,j+1);
197 fHistNjUEoverNjVsNj[i*3+j] = new TH2F(name, name, 150, -0.5, 149.5, 120, 0.01, 1.21);
198 fHistNjUEoverNjVsNj[i*3+j]->GetXaxis()->SetTitle("N_{jet}");
199 fHistNjUEoverNjVsNj[i*3+j]->GetYaxis()->SetTitle("N_{jet_{UE}} / N_{jet}");
200 fOutput->Add(fHistNjUEoverNjVsNj[i*3+j]);
201 }
73e2fd59 202 }
a487deae 203 }
204
205 if (!fCompareRhoName.IsNull()) {
ed0243d8 206 fHistDeltaRhovsCent = new TH2F("fHistDeltaRhovsCent", "fHistDeltaRhovsCent", 101, -1, 100, fNbins, -fMaxBinPt, fMaxBinPt);
207 fHistDeltaRhovsCent->GetXaxis()->SetTitle("Centrality (%)");
208 fHistDeltaRhovsCent->GetYaxis()->SetTitle("#Delta#rho (GeV/c * rad^{-1})");
a487deae 209 fOutput->Add(fHistDeltaRhovsCent);
ed0243d8 210
7cd832c7 211 if (fParticleCollArray.GetEntriesFast()>0) {
ed0243d8 212 fHistDeltaRhovsNtrack = new TH2F("fHistDeltaRhovsNtrack", "fHistDeltaRhovsNtrack", 150, 0, 6000, fNbins, -fMaxBinPt, fMaxBinPt);
213 fHistDeltaRhovsNtrack->GetXaxis()->SetTitle("No. of tracks");
214 fHistDeltaRhovsNtrack->GetYaxis()->SetTitle("#Delta#rho (GeV/c * rad^{-1})");
a487deae 215 fOutput->Add(fHistDeltaRhovsNtrack);
216 }
f09b22c5 217 }
218
a487deae 219 if (fScaleFunction) {
ed0243d8 220 fHistRhoScaledvsCent = new TH2F("fHistRhoScaledvsCent", "fHistRhoScaledvsCent", 101, -1, 100, fNbins, fMinBinPt , fMaxBinPt*2);
221 fHistRhoScaledvsCent->GetXaxis()->SetTitle("Centrality (%)");
222 fHistRhoScaledvsCent->GetYaxis()->SetTitle("#rho_{scaled} (GeV/c * rad^{-1})");
a487deae 223 fOutput->Add(fHistRhoScaledvsCent);
224
7cd832c7 225 if (fParticleCollArray.GetEntriesFast()>0) {
ed0243d8 226 fHistRhoScaledvsNtrack = new TH2F("fHistRhoScaledvsNtrack", "fHistRhoScaledvsNtrack", 150, 0, 6000, fNbins, fMinBinPt, fMaxBinPt*2);
227 fHistRhoScaledvsNtrack->GetXaxis()->SetTitle("No. of tracks");
228 fHistRhoScaledvsNtrack->GetYaxis()->SetTitle("#rho_{scaled} (GeV/c * rad^{-1})");
a487deae 229 fOutput->Add(fHistRhoScaledvsNtrack);
230 }
231
7cd832c7 232 if (fClusterCollArray.GetEntriesFast()>0) {
ed0243d8 233 fHistRhoScaledvsNcluster = new TH2F("fHistRhoScaledvsNcluster", "fHistRhoScaledvsNcluster", 50, 0, 1500, fNbins, fMinBinPt, fMaxBinPt*2);
234 fHistRhoScaledvsNcluster->GetXaxis()->SetTitle("No. of clusters");
235 fHistRhoScaledvsNcluster->GetYaxis()->SetTitle("#rho_{scaled} (GeV/c * rad^{-1})");
a487deae 236 fOutput->Add(fHistRhoScaledvsNcluster);
237 }
238
239 if (!fCompareRhoScaledName.IsNull()) {
ed0243d8 240 fHistDeltaRhoScalevsCent = new TH2F("fHistDeltaRhoScalevsCent", "fHistDeltaRhoScalevsCent", 101, -1, 100, fNbins, -fMaxBinPt, fMaxBinPt);
241 fHistDeltaRhoScalevsCent->GetXaxis()->SetTitle("Centrality (%)");
242 fHistDeltaRhoScalevsCent->GetYaxis()->SetTitle("#Delta#rho_{scaled} (GeV/c * rad^{-1})");
a487deae 243 fOutput->Add(fHistDeltaRhoScalevsCent);
244
7cd832c7 245 if (fParticleCollArray.GetEntriesFast()>0) {
ed0243d8 246 fHistDeltaRhoScalevsNtrack = new TH2F("fHistDeltaRhoScalevsNtrack", "fHistDeltaRhoScalevsNtrack", 150, 0, 6000, fNbins, -fMaxBinPt, fMaxBinPt);
247 fHistDeltaRhoScalevsNtrack->GetXaxis()->SetTitle("No. of tracks");
248 fHistDeltaRhoScalevsNtrack->GetYaxis()->SetTitle("#Delta#rho_{scaled} (GeV/c * rad^{-1})");
a487deae 249 fOutput->Add(fHistDeltaRhoScalevsNtrack);
250 }
251 }
252 }
253}
254
255//________________________________________________________________________
256Bool_t AliAnalysisTaskRhoBase::Run()
257{
258 // Run the analysis.
f09b22c5 259
260 Double_t rho = GetRhoFactor(fCent);
7cd832c7 261 fOutRho->SetVal(rho);
a487deae 262
263 if (fScaleFunction) {
264 Double_t rhoScaled = rho * GetScaleFactor(fCent);
7cd832c7 265 fOutRhoScaled->SetVal(rhoScaled);
a487deae 266 }
267
268 return kTRUE;
269}
f09b22c5 270
271//________________________________________________________________________
a487deae 272Bool_t AliAnalysisTaskRhoBase::FillHistograms()
f09b22c5 273{
a487deae 274 // Fill histograms.
f09b22c5 275
a487deae 276 Int_t Ntracks = 0;
277 Int_t Nclusters = 0;
278
fa6f0ccc 279 if (GetParticleContainer(0))
280 Ntracks = GetParticleContainer(0)->GetNAcceptedParticles();
281 if (GetClusterContainer(0))
282 Nclusters = GetClusterContainer(0)->GetNAcceptedClusters();
a487deae 283
a487deae 284 if (fJets) {
624bef5b 285 Int_t Njets = fJets->GetEntries();
286 Int_t NjetAcc = 0;
287 Int_t NjetUE1Sigma = 0;
288 Int_t NjetUE2Sigma = 0;
289 Int_t NjetUE3Sigma = 0;
7cd832c7 290 Double_t rhoPlus1Sigma = fOutRho->GetVal() + fInEventSigmaRho;
291 Double_t rhoPlus2Sigma = fOutRho->GetVal() + 2*fInEventSigmaRho;
292 Double_t rhoPlus3Sigma = fOutRho->GetVal() + 3*fInEventSigmaRho;
a487deae 293
294 for (Int_t i = 0; i < Njets; ++i) {
295
296 AliEmcalJet *jet = static_cast<AliEmcalJet*>(fJets->At(i));
297 if (!jet) {
298 AliError(Form("%s: Could not receive jet %d", GetName(), i));
299 continue;
300 }
301
302 if (!AcceptJet(jet))
303 continue;
304
305 fHistJetPtvsCent->Fill(fCent, jet->Pt());
306 fHistJetAreavsCent->Fill(fCent, jet->Area());
1f9c287f 307 fHistJetRhovsCent->Fill(fCent, jet->Pt() / jet->Area());
e8df4140 308 fHistJetRhovsEta[fCentBin]->Fill(jet->Pt() / jet->Area(), jet->Eta());
309
a487deae 310 if (fTracks) {
311 fHistJetPtvsNtrack->Fill(Ntracks, jet->Pt());
312 fHistJetAreavsNtrack->Fill(Ntracks, jet->Area());
313 }
73e2fd59 314
624bef5b 315 fHistJetNconstVsPt[fCentBin]->Fill(jet->GetNumberOfConstituents(), jet->Pt());
316
317 if (jet->Pt() < rhoPlus1Sigma * jet->Area())
318 NjetUE1Sigma++;
319
320 if (jet->Pt() < rhoPlus2Sigma * jet->Area())
321 NjetUE2Sigma++;
322
323 if (jet->Pt() < rhoPlus3Sigma * jet->Area())
324 NjetUE3Sigma++;
a487deae 325
326 NjetAcc++;
327 }
f09b22c5 328
624bef5b 329 if (NjetAcc>0) {
330 fHistNjUEoverNjVsNj[fCentBin*3 ]->Fill(NjetAcc,1.*NjetUE1Sigma/NjetAcc);
331 fHistNjUEoverNjVsNj[fCentBin*3+1]->Fill(NjetAcc,1.*NjetUE2Sigma/NjetAcc);
332 fHistNjUEoverNjVsNj[fCentBin*3+2]->Fill(NjetAcc,1.*NjetUE3Sigma/NjetAcc);
333 }
73e2fd59 334
a487deae 335 fHistNjetvsCent->Fill(fCent, NjetAcc);
336 if (fTracks)
337 fHistNjetvsNtrack->Fill(Ntracks, NjetAcc);
338 }
339
7cd832c7 340 fHistRhovsCent->Fill(fCent, fOutRho->GetVal());
a487deae 341
342 if (fTracks)
7cd832c7 343 fHistRhovsNtrack->Fill(Ntracks, fOutRho->GetVal());
a487deae 344 if (fCaloClusters)
7cd832c7 345 fHistRhovsNcluster->Fill(Nclusters, fOutRho->GetVal());
a487deae 346 if (fCompareRho) {
7cd832c7 347 fHistDeltaRhovsCent->Fill(fCent, fOutRho->GetVal() - fCompareRho->GetVal());
a487deae 348 if (fTracks)
7cd832c7 349 fHistDeltaRhovsNtrack->Fill(Ntracks, fOutRho->GetVal() - fCompareRho->GetVal());
a487deae 350 }
351
7cd832c7 352 if (fOutRhoScaled) {
353 fHistRhoScaledvsCent->Fill(fCent, fOutRhoScaled->GetVal());
a487deae 354 if (fTracks)
7cd832c7 355 fHistRhoScaledvsNtrack->Fill(Ntracks, fOutRhoScaled->GetVal());
a487deae 356 if (fCaloClusters)
7cd832c7 357 fHistRhoScaledvsNcluster->Fill(Nclusters, fOutRhoScaled->GetVal());
a487deae 358 if (fCompareRhoScaled) {
7cd832c7 359 fHistDeltaRhoScalevsCent->Fill(fCent, fOutRhoScaled->GetVal() - fCompareRhoScaled->GetVal());
a487deae 360 if (fTracks)
7cd832c7 361 fHistDeltaRhoScalevsNtrack->Fill(Ntracks, fOutRhoScaled->GetVal() - fCompareRhoScaled->GetVal());
f09b22c5 362 }
363 }
a487deae 364
365 return kTRUE;
366}
367
f09b22c5 368
369//________________________________________________________________________
370void AliAnalysisTaskRhoBase::ExecOnce()
371{
a487deae 372 // Init the analysis.
f09b22c5 373
7cd832c7 374 if (!fOutRho) {
375 fOutRho = new AliRhoParameter(fOutRhoName, 0);
a487deae 376
6f18d73a 377 if (fAttachToEvent) {
7cd832c7 378 if (!(InputEvent()->FindListObject(fOutRhoName))) {
379 InputEvent()->AddObject(fOutRho);
6f18d73a 380 } else {
7cd832c7 381 AliFatal(Form("%s: Container with same name %s already present. Aborting", GetName(), fOutRhoName.Data()));
6f18d73a 382 return;
383 }
384 }
7cd832c7 385 }
386
387 if (fScaleFunction && !fOutRhoScaled) {
388 fOutRhoScaled = new AliRhoParameter(fOutRhoScaledName, 0);
389
390 if (fAttachToEvent) {
391 if (!(InputEvent()->FindListObject(fOutRhoScaledName))) {
392 InputEvent()->AddObject(fOutRhoScaled);
393 } else {
394 AliFatal(Form("%s: Container with same name %s already present. Aborting", GetName(), fOutRhoScaledName.Data()));
395 return;
6f18d73a 396 }
a487deae 397 }
0627844d 398 }
399
a487deae 400 if (!fCompareRhoName.IsNull() && !fCompareRho) {
401 fCompareRho = dynamic_cast<AliRhoParameter*>(InputEvent()->FindListObject(fCompareRhoName));
402 if (!fCompareRho) {
403 AliWarning(Form("%s: Could not retrieve rho %s!", GetName(), fCompareRhoName.Data()));
404 }
405 }
0627844d 406
a487deae 407 if (!fCompareRhoScaledName.IsNull() && !fCompareRhoScaled) {
408 fCompareRhoScaled = dynamic_cast<AliRhoParameter*>(InputEvent()->FindListObject(fCompareRhoScaledName));
409 if (!fCompareRhoScaled) {
410 AliWarning(Form("%s: Could not retrieve rho %s!", GetName(), fCompareRhoScaledName.Data()));
0627844d 411 }
412 }
413
9239b066 414 AliAnalysisTaskEmcalJet::ExecOnce();
0627844d 415}
416
3074a323 417//________________________________________________________________________
f09b22c5 418Double_t AliAnalysisTaskRhoBase::GetRhoFactor(Double_t cent)
3074a323 419{
f09b22c5 420 // Return rho per centrality.
3074a323 421
a487deae 422 Double_t rho = 0;
f09b22c5 423 if (fRhoFunction)
424 rho = fRhoFunction->Eval(cent);
425 return rho;
3074a323 426}
a487deae 427
428//________________________________________________________________________
429Double_t AliAnalysisTaskRhoBase::GetScaleFactor(Double_t cent)
430{
431 // Get scale factor.
432
433 Double_t scale = 1;
434 if (fScaleFunction)
435 scale = fScaleFunction->Eval(cent);
436 return scale;
437}