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)
219 if (sorted && ijettrack > itrack)
221 if (ijettrack == itrack)
239 AliEmcalContainer* cont = 0;
242 while ((cont = static_cast<AliEmcalContainer*>(nextJetColl()))) cont->NextEvent();
264 return AddJetContainer(jetType, jetAlgo, recoScheme, radius, accType, partCont, clusCont, tag);
300 if (
TString(n).IsNull())
return 0;
322 if(
TString(n).IsNull())
return 0;
326 defaultCutType.ToUpper();
328 if (defaultCutType.IsNull() || defaultCutType.EqualTo(
"USER")) {
331 else if(defaultCutType.EqualTo(
"TPC")) {
334 else if(defaultCutType.EqualTo(
"TPCFID")) {
337 else if(defaultCutType.EqualTo(
"EMCAL")) {
340 else if(defaultCutType.EqualTo(
"EMCALFID")) {
343 else if(defaultCutType.EqualTo(
"DCAL")) {
346 else if(defaultCutType.EqualTo(
"DCALFID")) {
350 AliWarning(Form(
"%s: default cut type %s not recognized. Not setting cuts.",GetName(),defaultCutType.Data()));
386 AliError(Form(
"%s in SetJetAcceptanceType(...): container %d not found!",GetName(),c));
394 AliError(Form(
"%s in SetJetAcceptanceType(...): container %d not found",GetName(),c));
400 if(!cutType.IsNull() && !cutType.EqualTo(
"USER")) {
401 if(cutType.EqualTo(
"TPC"))
403 else if(cutType.EqualTo(
"EMCAL"))
406 AliWarning(Form(
"%s: default cut type %s not recognized. Not setting cuts.",GetName(),cutType.Data()));
416 else AliError(Form(
"%s in SetRhoName(...): container %d not found",GetName(),c));
427 else AliError(Form(
"%s in SetJetEtaLimits(...): container %d not found",GetName(),c));
434 else AliError(Form(
"%s in SetJetPhiLimits(...): container %d not found",GetName(),c));
441 else AliError(Form(
"%s in SetJetAreaCut(...): container %d not found",GetName(),c));
448 else AliError(Form(
"%s in SetPercAreaCut(...): container %d not found",GetName(),c));
455 else AliError(Form(
"%s in SetZLeadingCut(...): container %d not found",GetName(),c));
462 else AliError(Form(
"%s in SetNEFCut(...): container %d not found",GetName(),c));
469 else AliError(Form(
"%s in SetAreaEmcCut(...): container %d not found",GetName(),c));
476 else AliError(Form(
"%s in SetJetPtCut(...): container %d not found",GetName(),c));
483 else AliError(Form(
"%s in SetJetRadius(...): container %d not found",GetName(),c));
490 else AliError(Form(
"%s in SetMaxClusterPt(...): container %d not found",GetName(),c));
497 else AliError(Form(
"%s in SetMaxTrackPt(...): container %d not found",GetName(),c));
504 else AliError(Form(
"%s in SetPtBiasJetClus(...): container %d not found",GetName(),c));
511 else AliError(Form(
"%s in SetPtBiasJetTrack(...): container %d not found",GetName(),c));
518 else AliError(Form(
"%s in SetLeadingHadronType(...): container %d not found",GetName(),c));
525 else AliError(Form(
"%s in SetNLeadingJets(...): container %d not found",GetName(),c));
531 if (cont) cont->SetBitMap(m);
532 else AliError(Form(
"%s in SetJetBitMap(...): container %d not found",GetName(),c));
538 if (cont) cont->SetIsParticleLevel(b);
539 else AliError(Form(
"%s in SetIsParticleLevel(...): container %d not found",GetName(),c));
547 else { AliError(Form(
"%s in GetRhoName(...): container %d not found. Returning fRhoName...",GetName(),c));
return fRhoName; }
558 AliError(Form(
"%s:Container %d not found",GetName(),i));
561 return cont->GetArray();
568 AliError(Form(
"%s:Container %d not found",GetName(),i));
579 AliError(Form(
"%s:Container %d not found",GetName(),c));
591 AliError(Form(
"%s:Container %d not found",GetName(),c));
603 AliError(Form(
"%s:Container %d not found",GetName(),i));
614 AliError(Form(
"%s:Container %d not found",GetName(),i));
624 AliError(Form(
"%s:Container %d not found",GetName(),c));
638 AliError(Form(
"%s:Container %d not found",GetName(),c));
642 UInt_t rejectionReason = 0;
643 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)
Bool_t fLocalInitialized
whether or not the task has been already initialized
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
Full acceptance, i.e. no acceptance cut applied – left to user.
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)
TPC fiducial acceptance (each eta edge narrowed by jet R)
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)
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)
void SetJetAcceptanceType(UInt_t type)
virtual Bool_t AcceptJet(AliEmcalJet *jet, Int_t c=0)
DCal fiducial acceptance (each eta, phi edge narrowed by jet R)
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)
EMCal fiducial acceptance (each eta, phi edge narrowed by jet R)
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