]>
Commit | Line | Data |
---|---|---|
8628b70c | 1 | // $Id$ |
a546db49 | 2 | // |
3 | // Emcal jet analysis base task. | |
4 | // | |
9239b066 | 5 | // Author: S.Aiola, M. Verweij |
a546db49 | 6 | |
7 | #include "AliAnalysisTaskEmcalJet.h" | |
8 | ||
a546db49 | 9 | #include <TClonesArray.h> |
10 | #include <TList.h> | |
11 | ||
a546db49 | 12 | #include "AliAnalysisManager.h" |
13 | #include "AliCentrality.h" | |
8f3e275e | 14 | #include "AliEMCALGeometry.h" |
15 | #include "AliESDEvent.h" | |
a546db49 | 16 | #include "AliEmcalJet.h" |
a546db49 | 17 | #include "AliLog.h" |
e2c9f708 | 18 | #include "AliRhoParameter.h" |
7dd1eeea | 19 | #include "AliLocalRhoParameter.h" |
8f3e275e | 20 | #include "AliVCluster.h" |
21 | #include "AliVEventHandler.h" | |
22 | #include "AliVParticle.h" | |
9239b066 | 23 | #include "AliJetContainer.h" |
a546db49 | 24 | |
25 | ClassImp(AliAnalysisTaskEmcalJet) | |
26 | ||
27 | //________________________________________________________________________ | |
28 | AliAnalysisTaskEmcalJet::AliAnalysisTaskEmcalJet() : | |
29 | AliAnalysisTaskEmcal("AliAnalysisTaskEmcalJet"), | |
a487deae | 30 | fRhoName(), |
7dd1eeea | 31 | fLocalRhoName(), |
9239b066 | 32 | fJetCollArray(), |
a487deae | 33 | fJets(0), |
34 | fRho(0), | |
7dd1eeea | 35 | fLocalRho(0), |
a487deae | 36 | fRhoVal(0) |
a546db49 | 37 | { |
38 | // Default constructor. | |
9239b066 | 39 | |
40 | fJetCollArray.SetOwner(kTRUE); | |
a546db49 | 41 | } |
42 | ||
a546db49 | 43 | //________________________________________________________________________ |
44 | AliAnalysisTaskEmcalJet::AliAnalysisTaskEmcalJet(const char *name, Bool_t histo) : | |
45 | AliAnalysisTaskEmcal(name, histo), | |
a487deae | 46 | fRhoName(), |
7dd1eeea | 47 | fLocalRhoName(), |
9239b066 | 48 | fJetCollArray(), |
a487deae | 49 | fJets(0), |
50 | fRho(0), | |
7dd1eeea | 51 | fLocalRho(0), |
a487deae | 52 | fRhoVal(0) |
a546db49 | 53 | { |
54 | // Standard constructor. | |
9239b066 | 55 | |
56 | fJetCollArray.SetOwner(kTRUE); | |
a546db49 | 57 | } |
58 | ||
59 | //________________________________________________________________________ | |
60 | AliAnalysisTaskEmcalJet::~AliAnalysisTaskEmcalJet() | |
61 | { | |
62 | // Destructor | |
63 | } | |
64 | ||
2bddb6ae | 65 | //________________________________________________________________________ |
9239b066 | 66 | Bool_t AliAnalysisTaskEmcalJet::AcceptBiasJet(AliEmcalJet *jet, Int_t c) |
2bddb6ae | 67 | { |
76bc10fe | 68 | // Accept jet with a bias. |
69 | ||
9239b066 | 70 | AliJetContainer *cont = GetJetContainer(c); |
71 | if(!cont) { | |
72 | AliError(Form("%s:Container %d not found",GetName(),c)); | |
73 | return 0; | |
83888eef | 74 | } |
75 | ||
9239b066 | 76 | return cont->AcceptBiasJet(jet); |
83888eef | 77 | } |
78 | ||
83888eef | 79 | //________________________________________________________________________ |
9239b066 | 80 | Double_t AliAnalysisTaskEmcalJet::GetLeadingHadronPt(AliEmcalJet *jet, Int_t c) |
83888eef | 81 | { |
9239b066 | 82 | |
83 | AliJetContainer *cont = GetJetContainer(c); | |
84 | if(!cont) { | |
85 | AliError(Form("%s:Container %d not found",GetName(),c)); | |
86 | return 0; | |
87 | } | |
88 | ||
89 | return cont->GetLeadingHadronPt(jet); | |
2bddb6ae | 90 | } |
91 | ||
a546db49 | 92 | //________________________________________________________________________ |
9239b066 | 93 | Bool_t AliAnalysisTaskEmcalJet::AcceptJet(AliEmcalJet *jet, Int_t c) |
a546db49 | 94 | { |
95 | // Return true if jet is accepted. | |
2103dc6a | 96 | if (!jet) |
97 | return kFALSE; | |
98 | ||
9239b066 | 99 | AliJetContainer *cont = GetJetContainer(c); |
100 | if(!cont) { | |
101 | AliError(Form("%s:Container %d not found",GetName(),c)); | |
102 | return 0; | |
103 | } | |
85d48773 | 104 | |
9239b066 | 105 | return cont->AcceptJet(jet); |
1f6fff78 | 106 | } |
107 | ||
e2c9f708 | 108 | //________________________________________________________________________ |
109 | AliRhoParameter *AliAnalysisTaskEmcalJet::GetRhoFromEvent(const char *name) | |
110 | { | |
111 | // Get rho from event. | |
112 | ||
113 | AliRhoParameter *rho = 0; | |
114 | TString sname(name); | |
115 | if (!sname.IsNull()) { | |
116 | rho = dynamic_cast<AliRhoParameter*>(InputEvent()->FindListObject(sname)); | |
117 | if (!rho) { | |
118 | AliWarning(Form("%s: Could not retrieve rho with name %s!", GetName(), name)); | |
119 | return 0; | |
120 | } | |
121 | } | |
122 | return rho; | |
123 | } | |
9239b066 | 124 | |
7dd1eeea | 125 | //________________________________________________________________________ |
126 | AliLocalRhoParameter *AliAnalysisTaskEmcalJet::GetLocalRhoFromEvent(const char *name) | |
127 | { | |
128 | // Get local rho from event. | |
129 | AliLocalRhoParameter *rho = 0; | |
130 | TString sname(name); | |
131 | if (!sname.IsNull()) { | |
132 | rho = dynamic_cast<AliLocalRhoParameter*>(InputEvent()->FindListObject(sname)); | |
133 | if (!rho) { | |
9239b066 | 134 | AliWarning(Form("%s: Could not retrieve local rho with name %s!", GetName(), name)); |
7dd1eeea | 135 | return 0; |
136 | } | |
137 | } | |
138 | return rho; | |
139 | } | |
9239b066 | 140 | |
141 | ||
1f6fff78 | 142 | //________________________________________________________________________ |
abc24170 | 143 | void AliAnalysisTaskEmcalJet::ExecOnce() |
1f6fff78 | 144 | { |
145 | // Init the analysis. | |
146 | ||
a487deae | 147 | AliAnalysisTaskEmcal::ExecOnce(); |
148 | ||
9239b066 | 149 | if (!fRhoName.IsNull() && !fRho) { // get rho from the event |
a487deae | 150 | fRho = dynamic_cast<AliRhoParameter*>(InputEvent()->FindListObject(fRhoName)); |
151 | if (!fRho) { | |
152 | AliError(Form("%s: Could not retrieve rho %s!", GetName(), fRhoName.Data())); | |
153 | fInitialized = kFALSE; | |
154 | return; | |
155 | } | |
156 | } | |
157 | ||
7dd1eeea | 158 | if (!fLocalRhoName.IsNull() && !fLocalRho) { |
159 | fLocalRho = dynamic_cast<AliLocalRhoParameter*>(InputEvent()->FindListObject(fLocalRhoName)); | |
160 | if (!fLocalRho) { | |
161 | AliError(Form("%s: Could not retrieve local rho %s!", GetName(), fLocalRhoName.Data())); | |
162 | fInitialized = kFALSE; | |
163 | return; | |
164 | } | |
165 | } | |
166 | ||
9239b066 | 167 | //Load all requested jet branches - each container knows name already |
168 | if(fJetCollArray.GetEntriesFast()==0) { | |
169 | AliWarning("There are no jet collections"); | |
170 | return; | |
1f6fff78 | 171 | } |
a487deae | 172 | |
9239b066 | 173 | for(Int_t i =0; i<fJetCollArray.GetEntriesFast(); i++) { |
174 | AliJetContainer *cont = static_cast<AliJetContainer*>(fJetCollArray.At(i)); | |
175 | cont->SetRunNumber(InputEvent()->GetRunNumber()); | |
176 | cont->SetEMCALGeometry(); | |
177 | cont->SetArray(InputEvent()); | |
178 | cont->LoadRho(InputEvent()); | |
a487deae | 179 | } |
180 | ||
9239b066 | 181 | //Get Jets, cuts and rho for first jet container |
182 | AliJetContainer *cont = GetJetContainer(0); | |
183 | ||
184 | if (!cont->GetArrayName().IsNull()) { | |
185 | fJets = cont->GetArray(); | |
186 | if(!fJets && fJetCollArray.GetEntriesFast()>0) { | |
187 | AliError(Form("%s: Could not retrieve first jet branch!", GetName())); | |
188 | fInitialized = kFALSE; | |
189 | return; | |
a487deae | 190 | } |
191 | } | |
192 | ||
9239b066 | 193 | if (!fRho) { // if rho name is not provided, tries to use the rho object of the first jet branch |
194 | fRhoName = cont->GetRhoName(); | |
195 | fRho = cont->GetRhoParameter(); | |
a487deae | 196 | } |
1f6fff78 | 197 | } |
198 | ||
199 | //________________________________________________________________________ | |
76bc10fe | 200 | Bool_t AliAnalysisTaskEmcalJet::IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted) const |
201 | { | |
202 | // Return true if cluster is in jet. | |
203 | ||
204 | for (Int_t i = 0; i < jet->GetNumberOfClusters(); ++i) { | |
205 | Int_t ijetclus = jet->ClusterAt(i); | |
206 | if (sorted && ijetclus > iclus) | |
207 | return kFALSE; | |
208 | if (ijetclus == iclus) | |
209 | return kTRUE; | |
210 | } | |
211 | return kFALSE; | |
212 | } | |
213 | ||
214 | //________________________________________________________________________ | |
215 | Bool_t AliAnalysisTaskEmcalJet::IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted) const | |
216 | { | |
217 | // Return true if track is in jet. | |
218 | ||
219 | for (Int_t i = 0; i < jet->GetNumberOfTracks(); ++i) { | |
220 | Int_t ijettrack = jet->TrackAt(i); | |
221 | if (sorted && ijettrack > itrack) | |
222 | return kFALSE; | |
223 | if (ijettrack == itrack) | |
224 | return kTRUE; | |
225 | } | |
226 | return kFALSE; | |
227 | } | |
228 | ||
229 | //________________________________________________________________________ | |
230 | Bool_t AliAnalysisTaskEmcalJet::RetrieveEventObjects() | |
1f6fff78 | 231 | { |
76bc10fe | 232 | // Retrieve objects from event. |
1f6fff78 | 233 | |
76bc10fe | 234 | if (!AliAnalysisTaskEmcal::RetrieveEventObjects()) |
235 | return kFALSE; | |
236 | ||
a487deae | 237 | if (fRho) |
238 | fRhoVal = fRho->GetVal(); | |
76bc10fe | 239 | |
240 | return kTRUE; | |
a546db49 | 241 | } |
9239b066 | 242 | |
243 | //________________________________________________________________________ | |
244 | AliJetContainer* AliAnalysisTaskEmcalJet::AddJetContainer(const char *n, TString defaultCutType, Float_t jetRadius) { | |
245 | ||
246 | // Add particle container | |
247 | // will be called in AddTask macro | |
248 | ||
249 | TString tmp = TString(n); | |
250 | if(tmp.IsNull()) return 0; | |
251 | ||
252 | AliJetContainer *cont = 0x0; | |
253 | cont = new AliJetContainer(); | |
254 | cont->SetArrayName(n); | |
255 | cont->SetJetRadius(jetRadius); | |
256 | ||
257 | defaultCutType.ToUpper(); | |
258 | ||
259 | if(!defaultCutType.IsNull() && !defaultCutType.EqualTo("USER")) { | |
260 | if(defaultCutType.EqualTo("TPC")) | |
261 | cont->SetJetAcceptanceType(AliJetContainer::kTPC); | |
262 | else if(defaultCutType.EqualTo("EMCAL")) | |
263 | cont->SetJetAcceptanceType(AliJetContainer::kEMCAL); | |
264 | else | |
265 | AliWarning(Form("%s: default cut type %s not recognized. Not setting cuts.",GetName(),defaultCutType.Data())); | |
266 | } else | |
267 | cont->SetJetAcceptanceType(AliJetContainer::kUser); | |
268 | ||
269 | fJetCollArray.Add(cont); | |
270 | ||
271 | return cont; | |
272 | } | |
273 | ||
274 | //________________________________________________________________________ | |
275 | AliJetContainer* AliAnalysisTaskEmcalJet::GetJetContainer(Int_t i) const{ | |
276 | // Get i^th jet container | |
277 | ||
278 | if(i<0 || i>=fJetCollArray.GetEntriesFast()) return 0; | |
279 | AliJetContainer *cont = static_cast<AliJetContainer*>(fJetCollArray.At(i)); | |
280 | return cont; | |
281 | } | |
282 | ||
283 | //________________________________________________________________________ | |
284 | AliJetContainer* AliAnalysisTaskEmcalJet::GetJetContainer(const char* name) const{ | |
285 | // Get the jet container with name | |
286 | ||
287 | AliJetContainer *cont = static_cast<AliJetContainer*>(fJetCollArray.FindObject(name)); | |
288 | return cont; | |
289 | } | |
290 | ||
291 | //________________________________________________________________________ | |
292 | void AliAnalysisTaskEmcalJet::SetJetAcceptanceType(UInt_t t, Int_t c) | |
293 | { | |
294 | // Set acceptance cuts | |
295 | AliJetContainer *cont = GetJetContainer(c); | |
296 | if (cont) { | |
297 | cont->SetJetAcceptanceType((AliJetContainer::JetAcceptanceType)t); | |
298 | } | |
299 | else { | |
300 | AliError(Form("%s in SetJetAcceptanceType(...): container %d not found!",GetName(),c)); | |
301 | } | |
302 | } | |
303 | ||
304 | //________________________________________________________________________ | |
305 | void AliAnalysisTaskEmcalJet::SetJetAcceptanceType(TString cutType, Int_t c) { | |
306 | //set acceptance cuts | |
307 | ||
308 | AliJetContainer *cont = GetJetContainer(c); | |
309 | if (!cont) { | |
310 | AliError(Form("%s in SetJetAcceptanceType(...): container %d not found",GetName(),c)); | |
311 | return; | |
312 | } | |
313 | ||
314 | cutType.ToUpper(); | |
315 | ||
316 | if(!cutType.IsNull() && !cutType.EqualTo("USER")) { | |
317 | if(cutType.EqualTo("TPC")) | |
318 | cont->SetJetAcceptanceType(AliJetContainer::kTPC); | |
319 | else if(cutType.EqualTo("EMCAL")) | |
320 | cont->SetJetAcceptanceType(AliJetContainer::kEMCAL); | |
321 | else | |
322 | AliWarning(Form("%s: default cut type %s not recognized. Not setting cuts.",GetName(),cutType.Data())); | |
323 | } else | |
324 | cont->SetJetAcceptanceType(AliJetContainer::kUser); | |
325 | } | |
326 | ||
327 | //________________________________________________________________________ | |
328 | void AliAnalysisTaskEmcalJet::SetRhoName(const char *n, Int_t c) | |
329 | { | |
330 | if (c >= 0) { | |
331 | AliJetContainer *cont = GetJetContainer(c); | |
332 | if (cont) cont->SetRhoName(n); | |
333 | else AliError(Form("%s in SetRhoName(...): container %d not found",GetName(),c)); | |
334 | } | |
335 | else { | |
336 | fRhoName = n; | |
337 | } | |
338 | } | |
339 | ||
340 | //________________________________________________________________________ | |
341 | void AliAnalysisTaskEmcalJet::SetJetEtaLimits(Float_t min, Float_t max, Int_t c) | |
342 | { | |
343 | AliJetContainer *cont = GetJetContainer(c); | |
344 | if (cont) cont->SetJetEtaLimits(min,max); | |
345 | else AliError(Form("%s in SetJetEtaLimits(...): container %d not found",GetName(),c)); | |
346 | } | |
347 | ||
348 | //________________________________________________________________________ | |
349 | void AliAnalysisTaskEmcalJet::SetJetPhiLimits(Float_t min, Float_t max, Int_t c) | |
350 | { | |
351 | AliJetContainer *cont = GetJetContainer(c); | |
352 | if (cont) cont->SetJetPhiLimits(min,max); | |
353 | else AliError(Form("%s in SetJetPhiLimits(...): container %d not found",GetName(),c)); | |
354 | } | |
355 | ||
356 | //________________________________________________________________________ | |
357 | void AliAnalysisTaskEmcalJet::SetJetAreaCut(Float_t cut, Int_t c) | |
358 | { | |
359 | AliJetContainer *cont = GetJetContainer(c); | |
360 | if (cont) cont->SetJetAreaCut(cut); | |
361 | else AliError(Form("%s in SetJetAreaCut(...): container %d not found",GetName(),c)); | |
362 | } | |
363 | ||
364 | //________________________________________________________________________ | |
365 | void AliAnalysisTaskEmcalJet::SetPercAreaCut(Float_t p, Int_t c) | |
366 | { | |
367 | AliJetContainer *cont = GetJetContainer(c); | |
368 | if (cont) cont->SetPercAreaCut(p); | |
369 | else AliError(Form("%s in SetPercAreaCut(...): container %d not found",GetName(),c)); | |
370 | } | |
371 | ||
372 | //________________________________________________________________________ | |
373 | void AliAnalysisTaskEmcalJet::SetZLeadingCut(Float_t zemc, Float_t zch, Int_t c) | |
374 | { | |
375 | AliJetContainer *cont = GetJetContainer(c); | |
376 | if (cont) cont->SetZLeadingCut(zemc,zch); | |
377 | else AliError(Form("%s in SetZLeadingCut(...): container %d not found",GetName(),c)); | |
378 | } | |
379 | ||
380 | //________________________________________________________________________ | |
381 | void AliAnalysisTaskEmcalJet::SetNEFCut(Float_t min, Float_t max, Int_t c) | |
382 | { | |
383 | AliJetContainer *cont = GetJetContainer(c); | |
384 | if (cont) cont->SetNEFCut(min,max); | |
385 | else AliError(Form("%s in SetNEFCut(...): container %d not found",GetName(),c)); | |
386 | } | |
387 | ||
388 | //________________________________________________________________________ | |
389 | void AliAnalysisTaskEmcalJet::SetAreaEmcCut(Double_t a, Int_t c) | |
390 | { | |
391 | AliJetContainer *cont = GetJetContainer(c); | |
392 | if (cont) cont->SetAreaEmcCut(a); | |
393 | else AliError(Form("%s in SetAreaEmcCut(...): container %d not found",GetName(),c)); | |
394 | } | |
395 | ||
396 | //________________________________________________________________________ | |
397 | void AliAnalysisTaskEmcalJet::SetJetPtCut(Float_t cut, Int_t c) | |
398 | { | |
399 | AliJetContainer *cont = GetJetContainer(c); | |
400 | if (cont) cont->SetJetPtCut(cut); | |
401 | else AliError(Form("%s in SetJetPtCut(...): container %d not found",GetName(),c)); | |
402 | } | |
403 | ||
404 | //________________________________________________________________________ | |
405 | void AliAnalysisTaskEmcalJet::SetJetRadius(Float_t r, Int_t c) | |
406 | { | |
407 | AliJetContainer *cont = GetJetContainer(c); | |
408 | if (cont) cont->SetJetRadius(r); | |
409 | else AliError(Form("%s in SetJetRadius(...): container %d not found",GetName(),c)); | |
410 | } | |
411 | ||
412 | //________________________________________________________________________ | |
413 | void AliAnalysisTaskEmcalJet::SetMaxClusterPt(Float_t cut, Int_t c) | |
414 | { | |
415 | AliJetContainer *cont = GetJetContainer(c); | |
416 | if (cont) cont->SetMaxClusterPt(cut); | |
417 | else AliError(Form("%s in SetMaxClusterPt(...): container %d not found",GetName(),c)); | |
418 | } | |
419 | ||
420 | //________________________________________________________________________ | |
421 | void AliAnalysisTaskEmcalJet::SetMaxTrackPt(Float_t cut, Int_t c) | |
422 | { | |
423 | AliJetContainer *cont = GetJetContainer(c); | |
424 | if (cont) cont->SetMaxTrackPt(cut); | |
425 | else AliError(Form("%s in SetMaxTrackPt(...): container %d not found",GetName(),c)); | |
426 | } | |
427 | ||
428 | //________________________________________________________________________ | |
429 | void AliAnalysisTaskEmcalJet::SetPtBiasJetClus(Float_t cut, Int_t c) | |
430 | { | |
431 | AliJetContainer *cont = GetJetContainer(c); | |
432 | if (cont) cont->SetPtBiasJetClus(cut); | |
433 | else AliError(Form("%s in SetPtBiasJetClus(...): container %d not found",GetName(),c)); | |
434 | } | |
435 | ||
436 | //________________________________________________________________________ | |
437 | void AliAnalysisTaskEmcalJet::SetPtBiasJetTrack(Float_t cut, Int_t c) | |
438 | { | |
439 | AliJetContainer *cont = GetJetContainer(c); | |
440 | if (cont) cont->SetPtBiasJetTrack(cut); | |
441 | else AliError(Form("%s in SetPtBiasJetTrack(...): container %d not found",GetName(),c)); | |
442 | } | |
443 | ||
444 | //________________________________________________________________________ | |
445 | void AliAnalysisTaskEmcalJet::SetLeadingHadronType(Int_t t, Int_t c) | |
446 | { | |
447 | AliJetContainer *cont = GetJetContainer(c); | |
448 | if (cont) cont->SetLeadingHadronType(t); | |
449 | else AliError(Form("%s in SetLeadingHadronType(...): container %d not found",GetName(),c)); | |
450 | } | |
451 | ||
452 | //________________________________________________________________________ | |
453 | void AliAnalysisTaskEmcalJet::SetNLeadingJets(Int_t t, Int_t c) | |
454 | { | |
455 | AliJetContainer *cont = GetJetContainer(c); | |
456 | if (cont) cont->SetNLeadingJets(t); | |
457 | else AliError(Form("%s in SetNLeadingJets(...): container %d not found",GetName(),c)); | |
458 | } | |
459 | ||
460 | //________________________________________________________________________ | |
461 | void AliAnalysisTaskEmcalJet::SetJetBitMap(UInt_t m, Int_t c) | |
462 | { | |
463 | AliJetContainer *cont = GetJetContainer(c); | |
464 | if (cont) cont->SetJetBitMap(m); | |
465 | else AliError(Form("%s in SetJetBitMap(...): container %d not found",GetName(),c)); | |
466 | } | |
467 | ||
468 | //________________________________________________________________________ | |
469 | void AliAnalysisTaskEmcalJet::SetIsParticleLevel(Bool_t b, Int_t c) | |
470 | { | |
471 | AliJetContainer *cont = GetJetContainer(c); | |
472 | if (cont) cont->SetIsParticleLevel(b); | |
473 | else AliError(Form("%s in SetIsParticleLevel(...): container %d not found",GetName(),c)); | |
474 | } | |
475 | ||
476 | //________________________________________________________________________ | |
477 | const TString& AliAnalysisTaskEmcalJet::GetRhoName(Int_t c) const | |
478 | { | |
479 | if (c >= 0) { | |
480 | AliJetContainer *cont = GetJetContainer(c); | |
481 | if (cont) return cont->GetRhoName(); | |
482 | else { AliError(Form("%s in GetRhoName(...): container %d not found. Returning fRhoName...",GetName(),c)); return fRhoName; } | |
483 | } | |
484 | else { | |
485 | return fRhoName; | |
486 | } | |
487 | } | |
488 | ||
489 | //________________________________________________________________________ | |
490 | TClonesArray* AliAnalysisTaskEmcalJet::GetJetArray(Int_t i) const { | |
491 | // Get i^th TClonesArray with AliEmcalJet | |
492 | ||
493 | AliJetContainer *cont = GetJetContainer(i); | |
494 | if(!cont) { | |
495 | AliError(Form("%s:Container %d not found",GetName(),i)); | |
496 | return 0; | |
497 | } | |
498 | return cont->GetArray(); | |
499 | } | |
500 | ||
501 | //________________________________________________________________________ | |
502 | Double_t AliAnalysisTaskEmcalJet::GetJetRadius(Int_t i) const { | |
503 | // Get jet radius from jet container i | |
504 | ||
505 | AliJetContainer *cont = GetJetContainer(i); | |
506 | if(!cont) { | |
507 | AliError(Form("%s:Container %d not found",GetName(),i)); | |
508 | return 0; | |
509 | } | |
510 | ||
511 | return cont->GetJetRadius(); | |
512 | } | |
513 | ||
514 | //________________________________________________________________________ | |
515 | AliEmcalJet* AliAnalysisTaskEmcalJet::GetJetFromArray(Int_t j, Int_t c) const { | |
516 | // Get jet j if accepted from container c | |
517 | // If jet not accepted return 0 | |
518 | ||
519 | AliJetContainer *cont = GetJetContainer(c); | |
520 | if(!cont) { | |
521 | AliError(Form("%s:Container %d not found",GetName(),c)); | |
522 | return 0; | |
523 | } | |
524 | AliEmcalJet *jet = cont->GetJet(j); | |
525 | ||
526 | return jet; | |
527 | } | |
528 | ||
529 | //________________________________________________________________________ | |
530 | AliEmcalJet* AliAnalysisTaskEmcalJet::GetAcceptJetFromArray(Int_t j, Int_t c) const { | |
531 | // Get jet j if accepted from container c | |
532 | // If jet not accepted return 0 | |
533 | ||
534 | AliJetContainer *cont = GetJetContainer(c); | |
535 | if(!cont) { | |
536 | AliError(Form("%s:Container %d not found",GetName(),c)); | |
537 | return 0; | |
538 | } | |
539 | AliEmcalJet *jet = cont->GetAcceptJet(j); | |
540 | ||
541 | return jet; | |
542 | } | |
543 | ||
544 | //________________________________________________________________________ | |
545 | Int_t AliAnalysisTaskEmcalJet::GetNJets(Int_t i) const { | |
546 | // Get number of entries in jet array i | |
547 | ||
548 | AliJetContainer *cont = GetJetContainer(i); | |
549 | if(!cont) { | |
550 | AliError(Form("%s:Container %d not found",GetName(),i)); | |
551 | return 0; | |
552 | } | |
553 | return cont->GetNJets(); | |
554 | ||
555 | } | |
556 | ||
557 | //________________________________________________________________________ | |
558 | Double_t AliAnalysisTaskEmcalJet::GetRhoVal(Int_t i) const { | |
559 | // Get rho corresponding to jet array i | |
560 | ||
561 | AliJetContainer *cont = GetJetContainer(i); | |
562 | if(!cont) { | |
563 | AliError(Form("%s:Container %d not found",GetName(),i)); | |
564 | return 0; | |
565 | } | |
566 | return cont->GetRhoVal(); | |
567 | } |