18 #include <TClonesArray.h>
21 #include "AliAnalysisManager.h"
22 #include "AliCentrality.h"
23 #include "AliEMCALGeometry.h"
24 #include "AliESDEvent.h"
29 #include "AliVCluster.h"
30 #include "AliVEventHandler.h"
31 #include "AliVParticle.h"
93 if (!sname.IsNull()) {
94 rho =
dynamic_cast<AliRhoParameter*
>(InputEvent()->FindListObject(sname));
96 AliWarning(Form(
"%s: Could not retrieve rho with name %s!", GetName(), name));
114 if (!sname.IsNull()) {
117 AliWarning(Form(
"%s: Could not retrieve local rho with name %s!", GetName(), name));
143 AliError(Form(
"%s: Could not retrieve rho %s!", GetName(),
fRhoName.Data()));
152 AliError(Form(
"%s: Could not retrieve local rho %s!", GetName(),
fLocalRhoName.Data()));
160 AliWarning(
"There are no jet collections");
174 if (!cont->GetArrayName().IsNull()) {
175 fJets = cont->GetArray();
177 AliError(Form(
"%s: Could not retrieve first jet branch!", GetName()));
200 if (sorted && ijetclus > iclus)
202 if (ijetclus == iclus)
218 Int_t ijettrack = jet->
TrackAt(i);
219 if (sorted && ijettrack > itrack)
221 if (ijettrack == itrack)
239 AliEmcalContainer* cont = 0;
242 while ((cont = static_cast<AliEmcalContainer*>(nextJetColl()))) cont->NextEvent();
263 return AddJetContainer(jetType, jetAlgo, recoScheme, radius, accType, partCont, clusCont, tag);
297 if (TString(n).IsNull())
return 0;
319 if(TString(n).IsNull())
return 0;
323 defaultCutType.ToUpper();
325 if (defaultCutType.IsNull() || defaultCutType.EqualTo(
"USER")) {
328 else if(defaultCutType.EqualTo(
"TPC")) {
331 else if(defaultCutType.EqualTo(
"TPCFID")) {
334 else if(defaultCutType.EqualTo(
"EMCAL")) {
337 else if(defaultCutType.EqualTo(
"EMCALFID")) {
340 else if(defaultCutType.EqualTo(
"DCAL")) {
343 else if(defaultCutType.EqualTo(
"DCALFID")) {
347 AliWarning(Form(
"%s: default cut type %s not recognized. Not setting cuts.",GetName(),defaultCutType.Data()));
383 AliError(Form(
"%s in SetJetAcceptanceType(...): container %d not found!",GetName(),c));
391 AliError(Form(
"%s in SetJetAcceptanceType(...): container %d not found",GetName(),c));
397 if(!cutType.IsNull() && !cutType.EqualTo(
"USER")) {
398 if(cutType.EqualTo(
"TPC"))
400 else if(cutType.EqualTo(
"EMCAL"))
403 AliWarning(Form(
"%s: default cut type %s not recognized. Not setting cuts.",GetName(),cutType.Data()));
413 else AliError(Form(
"%s in SetRhoName(...): container %d not found",GetName(),c));
424 else AliError(Form(
"%s in SetJetEtaLimits(...): container %d not found",GetName(),c));
431 else AliError(Form(
"%s in SetJetPhiLimits(...): container %d not found",GetName(),c));
438 else AliError(Form(
"%s in SetJetAreaCut(...): container %d not found",GetName(),c));
445 else AliError(Form(
"%s in SetPercAreaCut(...): container %d not found",GetName(),c));
452 else AliError(Form(
"%s in SetZLeadingCut(...): container %d not found",GetName(),c));
459 else AliError(Form(
"%s in SetNEFCut(...): container %d not found",GetName(),c));
466 else AliError(Form(
"%s in SetAreaEmcCut(...): container %d not found",GetName(),c));
473 else AliError(Form(
"%s in SetJetPtCut(...): container %d not found",GetName(),c));
480 else AliError(Form(
"%s in SetJetRadius(...): container %d not found",GetName(),c));
487 else AliError(Form(
"%s in SetMaxClusterPt(...): container %d not found",GetName(),c));
494 else AliError(Form(
"%s in SetMaxTrackPt(...): container %d not found",GetName(),c));
501 else AliError(Form(
"%s in SetPtBiasJetClus(...): container %d not found",GetName(),c));
508 else AliError(Form(
"%s in SetPtBiasJetTrack(...): container %d not found",GetName(),c));
515 else AliError(Form(
"%s in SetLeadingHadronType(...): container %d not found",GetName(),c));
522 else AliError(Form(
"%s in SetNLeadingJets(...): container %d not found",GetName(),c));
528 if (cont) cont->SetBitMap(m);
529 else AliError(Form(
"%s in SetJetBitMap(...): container %d not found",GetName(),c));
535 if (cont) cont->SetIsParticleLevel(b);
536 else AliError(Form(
"%s in SetIsParticleLevel(...): container %d not found",GetName(),c));
544 else { AliError(Form(
"%s in GetRhoName(...): container %d not found. Returning fRhoName...",GetName(),c));
return fRhoName; }
555 AliError(Form(
"%s:Container %d not found",GetName(),i));
558 return cont->GetArray();
565 AliError(Form(
"%s:Container %d not found",GetName(),i));
576 AliError(Form(
"%s:Container %d not found",GetName(),c));
588 AliError(Form(
"%s:Container %d not found",GetName(),c));
600 AliError(Form(
"%s:Container %d not found",GetName(),i));
611 AliError(Form(
"%s:Container %d not found",GetName(),i));
621 AliError(Form(
"%s:Container %d not found",GetName(),c));
635 AliError(Form(
"%s:Container %d not found",GetName(),c));
639 UInt_t rejectionReason = 0;
640 return cont->
AcceptJet(jet, rejectionReason);
void SetAreaEmcCut(Double_t a=0.99)
void SetPercAreaCut(Float_t p, Int_t c=0)
AliAnalysisTaskEmcalJet()
void SetMaxClusterPt(Float_t b, Int_t c=0)
Double_t GetRhoVal() const
AliEmcalJet * GetJetFromArray(Int_t j, Int_t c=0) const
const TString & GetRhoName() const
void LoadRho(const AliVEvent *event)
AliJetContainer * GetJetContainer(Int_t i=0) const
const TString & GetRhoName(Int_t c=0) const
void SetJetBitMap(UInt_t m, Int_t c=0)
Base task in the EMCAL framework.
void SetLeadingHadronType(Int_t t)
Int_t GetNJets(Int_t i=0) const
void SetAreaEmcCut(Double_t a=0.99, Int_t c=0)
void SetPtBiasJetTrack(Float_t b)
Double_t GetLeadingHadronPt(AliEmcalJet *jet, Int_t c=0)
virtual Bool_t AcceptJet(Int_t i, UInt_t &rejectionReason) const
AliJetContainer * AddJetContainer(const char *n, TString defaultCutType, Float_t jetRadius=0.4)
AliLocalRhoParameter * GetLocalRhoFromEvent(const char *name)
Bool_t RetrieveEventObjects()
void SetPercAreaCut(Float_t p)
void SetPtBiasJetClus(Float_t b, Int_t c=0)
TClonesArray * GetJetArray(Int_t i=0) const
void SetPtBiasJetClus(Float_t b)
Container for particles within the EMCAL framework.
Double_t GetJetRadius(Int_t i=0) const
UShort_t GetNumberOfTracks() const
Bool_t IsJetTrack(AliEmcalJet *jet, Int_t itrack, Bool_t sorted=kFALSE) const
AliParticleContainer * GetParticleContainer(Int_t i=0) const
TString fLocalRhoName
name for local rho
void SetRhoName(const char *n)
void SetLeadingHadronType(Int_t t, Int_t c=0)
Bool_t IsJetCluster(AliEmcalJet *jet, Int_t iclus, Bool_t sorted=kFALSE) const
AliRhoParameter * GetRhoFromEvent(const char *name)
Short_t ClusterAt(Int_t idx) const
UShort_t GetNumberOfClusters() const
void SetJetRadius(Float_t r)
void SetJetPtCut(Float_t cut)
Double_t GetLeadingHadronPt(const AliEmcalJet *jet) const
void SetPtBiasJetTrack(Float_t b, Int_t c=0)
void SetNLeadingJets(Int_t t)
void SetJetRadius(Float_t r, Int_t c=0)
void SetJetEtaLimits(Float_t min, Float_t max, Int_t c=0)
void SetJetPhiLimits(Float_t min, Float_t max)
AliRhoParameter * fRho
! event rho
void SetJetAcceptanceType(UInt_t t, Int_t c=0)
AliClusterContainer * GetClusterContainer(Int_t i=0) const
AliLocalRhoParameter * fLocalRho
! local event rho
void SetZLeadingCut(Float_t zemc, Float_t zch, Int_t c=0)
AliEmcalJet * GetAcceptJetFromArray(Int_t j, Int_t c=0) const
virtual void SetRhoName(const char *n, Int_t c=0)
void SetJetAcceptanceType(JetAcceptanceType type)
virtual Bool_t RetrieveEventObjects()
TObjArray fJetCollArray
jet collection array
TClonesArray * fJets
! jets
AliRhoParameter * GetRhoParameter()
void SetJetPhiLimits(Float_t min, Float_t max, Int_t c=0)
Double_t GetRhoVal(Int_t i=0) const
void SetJetAreaCut(Float_t cut, Int_t c=0)
virtual ~AliAnalysisTaskEmcalJet()
Float_t GetJetRadius() const
void SetNLeadingJets(Int_t t, Int_t c=0)
Short_t TrackAt(Int_t idx) const
ClassImp(AliAnalysisTaskCRC) AliAnalysisTaskCRC
void SetIsParticleLevel(Bool_t b, Int_t c=0)
void SetArray(const AliVEvent *event)
AliEmcalJet * GetAcceptJet(Int_t i) const
void SetRunNumber(Int_t r)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Int_t GetRunNumber(TString)
void SetMaxClusterPt(Float_t b)
virtual Bool_t AcceptJet(AliEmcalJet *jet, Int_t c=0)
Bool_t fInitialized
whether or not the task has been already initialized
void SetNEFCut(Float_t min, Float_t max, Int_t c=0)
void SetJetPtCut(Float_t cut, Int_t c=0)
void SetMaxTrackPt(Float_t b, Int_t c=0)
void SetMaxTrackPt(Float_t b)
void SetJetEtaLimits(Float_t min, Float_t max)
Double_t fRhoVal
! event rho value, same for local rho
Container structure for EMCAL clusters.
void SetZLeadingCut(Float_t zemc, Float_t zch)
Container for jet within the EMCAL jet framework.
void SetJetAreaCut(Float_t cut)
void SetNEFCut(Float_t min=0., Float_t max=1.)
AliEmcalJet * GetJet(Int_t i) const