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