AliPhysics  1168478 (1168478)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliClusterContainer Class Reference

Container structure for EMCAL clusters. More...

#include <AliClusterContainer.h>

Inheritance diagram for AliClusterContainer:

Public Types

typedef enum
AliVCluster::VCluUserDefEnergy_t 
VCluUserDefEnergy_t
 

Public Member Functions

 AliClusterContainer ()
 
 AliClusterContainer (const char *name)
 
virtual ~AliClusterContainer ()
 
virtual TObjectoperator[] (int index) const
 
virtual Bool_t AcceptObject (Int_t i, UInt_t &rejectionReason) const
 
virtual Bool_t AcceptObject (const TObject *obj, UInt_t &rejectionReason) const
 
virtual Bool_t AcceptCluster (Int_t i, UInt_t &rejectionReason) const
 
virtual Bool_t AcceptCluster (const AliVCluster *vp, UInt_t &rejectionReason) const
 
virtual Bool_t ApplyClusterCuts (const AliVCluster *clus, UInt_t &rejectionReason) const
 
AliVCluster * GetAcceptCluster (Int_t i) const
 
AliVCluster * GetAcceptClusterWithLabel (Int_t lab) const
 
void SetClusECut (Double_t cut)
 
void SetClusPtCut (Double_t cut)
 
Double_t GetClusPtCut () const
 
AliVCluster * GetCluster (Int_t i) const
 
AliVCluster * GetClusterWithLabel (Int_t lab) const
 
AliVCluster * GetLeadingCluster (const char *opt="")
 
Bool_t GetMomentum (TLorentzVector &mom, const AliVCluster *vc, Double_t mass) const
 
Bool_t GetMomentum (TLorentzVector &mom, const AliVCluster *clus) const
 
Bool_t GetMomentum (TLorentzVector &mom, Int_t i) const
 
Bool_t GetAcceptMomentum (TLorentzVector &mom, Int_t i) const
 
Bool_t GetNextMomentum (TLorentzVector &mom)
 
Bool_t GetNextAcceptMomentum (TLorentzVector &mom)
 
AliVCluster * GetNextAcceptCluster ()
 
AliVCluster * GetNextCluster ()
 
Int_t GetNClusters () const
 
Int_t GetNAcceptedClusters () const
 
void SetClusTimeCut (Double_t min, Double_t max)
 
void SetMinMCLabel (Int_t s)
 
void SetMaxMCLabel (Int_t s)
 
void SetMCLabelRange (Int_t min, Int_t max)
 
void SetExoticCut (Bool_t e)
 
void SetIncludePHOS (Bool_t b)
 
void SetPhosMinNcells (Int_t n)
 
void SetPhosMinM02 (Double_t m)
 
void SetArray (const AliVEvent *event)
 
void SetClusUserDefEnergyCut (Int_t t, Double_t cut)
 
Double_t GetClusUserDefEnergyCut (Int_t t) const
 
void SetClusNonLinCorrEnergyCut (Double_t cut)
 
void SetClusHadCorrEnergyCut (Double_t cut)
 
void SetDefaultClusterEnergy (Int_t d)
 
Int_t GetDefaultClusterEnergy () const
 
const char * GetTitle () const
 
const AliClusterIterableContainer all () const
 
const AliClusterIterableContainer accepted () const
 
const
AliClusterIterableMomentumContainer 
all_momentum () const
 
const
AliClusterIterableMomentumContainer 
accepted_momentum () const
 

Static Public Member Functions

static const
AliEmcalContainerIndexMap
< TClonesArray, AliVCluster > & 
GetEmcalContainerIndexMap ()
 Get the EMCal container utils associated with particle containers. More...
 

Protected Member Functions

virtual TString GetDefaultArrayName (const AliVEvent *const ev) const
 

Protected Attributes

Double_t fClusTimeCutLow
 low time cut for clusters More...
 
Double_t fClusTimeCutUp
 up time cut for clusters More...
 
Bool_t fExoticCut
 reject clusters marked as "exotic" More...
 
Double_t fUserDefEnergyCut [AliVCluster::kLastUserDefEnergy+1]
 cut on the energy of the cluster after higher level corrections (see AliVCluster.h) More...
 
Int_t fDefaultClusterEnergy
 default cluster energy: -1 for clus->E(); otherwise clus->GetUserDefEnergy(fDefaultClusterEnergy) More...
 
Bool_t fIncludePHOS
 whether or not to include PHOS clusters in addition to EMCal clusters More...
 
Int_t fPhosMinNcells
 min number of phos cells per cluster More...
 
Double_t fPhosMinM02
 min value of M02 for phos clusters More...
 

Static Protected Attributes

static
AliEmcalContainerIndexMap
< TClonesArray, AliVCluster > 
fgEmcalContainerIndexMap
 ! Mapping from containers to indices More...
 

Private Member Functions

 AliClusterContainer (const AliClusterContainer &obj)
 
AliClusterContaineroperator= (const AliClusterContainer &other)
 

Detailed Description

Container structure for EMCAL clusters.

Author
Martha Verweij
Salvatore Aiola salva.nosp@m.tore.nosp@m..aiol.nosp@m.a@ce.nosp@m.rn.ch, Yale University

Container with name, TClonesArray and cuts for calo clusters

Definition at line 32 of file AliClusterContainer.h.

Member Typedef Documentation

typedef enum AliVCluster::VCluUserDefEnergy_t AliClusterContainer::VCluUserDefEnergy_t

Definition at line 34 of file AliClusterContainer.h.

Constructor & Destructor Documentation

AliClusterContainer::AliClusterContainer ( )

Default constructor.

Definition at line 38 of file AliClusterContainer.cxx.

AliClusterContainer::AliClusterContainer ( const char *  name)

Standard constructor.

Parameters
nameName of the array connected to this container

Definition at line 60 of file AliClusterContainer.cxx.

virtual AliClusterContainer::~AliClusterContainer ( )
inlinevirtual

Definition at line 38 of file AliClusterContainer.h.

AliClusterContainer::AliClusterContainer ( const AliClusterContainer obj)
private

Member Function Documentation

Bool_t AliClusterContainer::AcceptCluster ( const AliVCluster *  vp,
UInt_t rejectionReason 
) const
virtual

Definition at line 307 of file AliClusterContainer.cxx.

const AliClusterIterableMomentumContainer AliClusterContainer::accepted_momentum ( ) const

Create an iterable container interface over accepted objects in the EMCAL container.

Returns
iterable container over accepted objects in the EMCAL container

Definition at line 477 of file AliClusterContainer.cxx.

Referenced by AliAnalysisTaskEmcalDijetImbalance::ComputeBackground(), AliEmcalJetTask::FindJets(), AliEmcalCorrectionClusterTrackMatcher::GenerateEmcalParticles(), GetLeadingCluster(), and AliEmcalCorrectionClusterHadronicCorrection::Run().

virtual Bool_t AliClusterContainer::AcceptObject ( Int_t  i,
UInt_t rejectionReason 
) const
inlinevirtual

Definition at line 42 of file AliClusterContainer.h.

virtual Bool_t AliClusterContainer::AcceptObject ( const TObject obj,
UInt_t rejectionReason 
) const
inlinevirtual

Definition at line 43 of file AliClusterContainer.h.

const AliClusterIterableMomentumContainer AliClusterContainer::all_momentum ( ) const

Create an iterable container interface over all objects in the EMCAL container.

Returns
iterable container over all objects in the EMCAL container

Definition at line 468 of file AliClusterContainer.cxx.

Referenced by AliAnalysisTaskEmcalRun2QA::DoClusterLoop(), AliAnalysisTaskEmcalJetQA::DoClusterLoop(), AliAnalysisTaskEmcalDijetImbalance::FillCaloHistograms(), AliAnalysisTaskPWGJEQA::FillClusterHistograms(), AliEmcalCorrectionClusterExotics::Run(), and AliEmcalCorrectionClusterNonLinearity::Run().

Bool_t AliClusterContainer::ApplyClusterCuts ( const AliVCluster *  clus,
UInt_t rejectionReason 
) const
virtual

Return true if cluster is accepted.

Parameters
clus
Returns

Definition at line 323 of file AliClusterContainer.cxx.

Referenced by AcceptCluster().

AliVCluster * AliClusterContainer::GetAcceptClusterWithLabel ( Int_t  lab) const

Get particle with label lab in array

Parameters
lab
Returns

Definition at line 156 of file AliClusterContainer.cxx.

Bool_t AliClusterContainer::GetAcceptMomentum ( TLorentzVector &  mom,
Int_t  i 
) const

Get momentum of the i^th particle in array

Parameters
mom
i
Returns

Definition at line 279 of file AliClusterContainer.cxx.

Double_t AliClusterContainer::GetClusPtCut ( ) const
inline

Definition at line 51 of file AliClusterContainer.h.

AliVCluster * AliClusterContainer::GetClusterWithLabel ( Int_t  lab) const

Get particle with label lab in array

Parameters
lab
Returns

Definition at line 145 of file AliClusterContainer.cxx.

Double_t AliClusterContainer::GetClusUserDefEnergyCut ( Int_t  t) const

Get the energy cut of the applied on cluster energy of type t

Parameters
tCluster energy type (base energy, non-linearity corrected energy, hadronically corrected energy)
Returns
Cluster energy cut

Definition at line 404 of file AliClusterContainer.cxx.

Referenced by GetTitle().

TString AliClusterContainer::GetDefaultArrayName ( const AliVEvent *const  ev) const
protectedvirtual

Create default array name for the cluster container. The default array name will be

  • caloClusters in case of AOD event
  • CaloClusters in case of ESD event
    Parameters
    [in]evInput event, used for data type selection
    Returns
    Appropriate default array name

Definition at line 500 of file AliClusterContainer.cxx.

Int_t AliClusterContainer::GetDefaultClusterEnergy ( ) const
inline
static const AliEmcalContainerIndexMap<TClonesArray, AliVCluster>& AliClusterContainer::GetEmcalContainerIndexMap ( )
inlinestatic
AliVCluster * AliClusterContainer::GetLeadingCluster ( const char *  opt = "")

Get the leading cluster; use e if "e" is contained in opt (otherwise et)

Parameters
opt
Returns

Definition at line 83 of file AliClusterContainer.cxx.

Referenced by AliAnalysisTaskEmcalSample::DoClusterLoop(), AliAnalysisTaskEmcalTriggerPatchClusterMatch::ExtractMainPatch(), and AliAnalysisTaskEmcalTriggerPatchJetMatch::ExtractMainPatch().

Bool_t AliClusterContainer::GetMomentum ( TLorentzVector &  mom,
const AliVCluster *  clus 
) const

Definition at line 231 of file AliClusterContainer.cxx.

Bool_t AliClusterContainer::GetMomentum ( TLorentzVector &  mom,
Int_t  i 
) const

Get momentum of the i^th particle in array

Parameters
mom
i
Returns

Definition at line 256 of file AliClusterContainer.cxx.

Bool_t AliClusterContainer::GetNextAcceptMomentum ( TLorentzVector &  mom)

Get momentum of the next accepted particle in array

Parameters
mom
Returns

Definition at line 290 of file AliClusterContainer.cxx.

AliVCluster * AliClusterContainer::GetNextCluster ( )

Get next cluster

Returns

Definition at line 183 of file AliClusterContainer.cxx.

Referenced by GetNextMomentum(), and AliEmcalClusterMaker::Run().

Bool_t AliClusterContainer::GetNextMomentum ( TLorentzVector &  mom)

Get momentum of the next particle in array

Parameters
mom
Returns

Definition at line 267 of file AliClusterContainer.cxx.

const char * AliClusterContainer::GetTitle ( ) const

Definition at line 481 of file AliClusterContainer.cxx.

Referenced by AliJetContainer::GenerateJetName().

AliClusterContainer& AliClusterContainer::operator= ( const AliClusterContainer other)
private
virtual TObject* AliClusterContainer::operator[] ( int  index) const
inlinevirtual

Definition at line 40 of file AliClusterContainer.h.

void AliClusterContainer::SetArray ( const AliVEvent *  event)

Connect the container to the array with content stored inside the virtual event. The object name in the event must match the name given in the constructor.

Additionally register the array into the index map.

Parameters
eventInput event containing the array with content.

Definition at line 437 of file AliClusterContainer.cxx.

Referenced by AliEmcalCorrectionTask::ExecOnce(), and AliAnalysisTaskEmcal::ExecOnce().

void AliClusterContainer::SetClusNonLinCorrEnergyCut ( Double_t  cut)
inline
void AliClusterContainer::SetClusTimeCut ( Double_t  min,
Double_t  max 
)
inline

Definition at line 65 of file AliClusterContainer.h.

Referenced by AliAnalysisTaskEmcal::SetClusTimeCut().

void AliClusterContainer::SetClusUserDefEnergyCut ( Int_t  t,
Double_t  cut 
)

Set the energy cut of the applied on cluster energy of type t

Parameters
tCluster energy type (base energy, non-linearity corrected energy, hadronically corrected energy)
cutCluster energy cut

Definition at line 419 of file AliClusterContainer.cxx.

Referenced by SetClusHadCorrEnergyCut(), and SetClusNonLinCorrEnergyCut().

void AliClusterContainer::SetExoticCut ( Bool_t  e)
inline
void AliClusterContainer::SetIncludePHOS ( Bool_t  b)
inline

Definition at line 70 of file AliClusterContainer.h.

Referenced by AliEmcalCorrectionTask::SetupContainer().

void AliClusterContainer::SetMaxMCLabel ( Int_t  s)
inline

Definition at line 67 of file AliClusterContainer.h.

Referenced by SetMCLabelRange().

void AliClusterContainer::SetMCLabelRange ( Int_t  min,
Int_t  max 
)
inline

Definition at line 68 of file AliClusterContainer.h.

void AliClusterContainer::SetMinMCLabel ( Int_t  s)
inline

Definition at line 66 of file AliClusterContainer.h.

Referenced by SetMCLabelRange().

void AliClusterContainer::SetPhosMinM02 ( Double_t  m)
inline

Definition at line 72 of file AliClusterContainer.h.

void AliClusterContainer::SetPhosMinNcells ( Int_t  n)
inline

Definition at line 71 of file AliClusterContainer.h.

Member Data Documentation

Double_t AliClusterContainer::fClusTimeCutLow
protected

low time cut for clusters

Definition at line 112 of file AliClusterContainer.h.

Referenced by ApplyClusterCuts(), and SetClusTimeCut().

Double_t AliClusterContainer::fClusTimeCutUp
protected

up time cut for clusters

Definition at line 113 of file AliClusterContainer.h.

Referenced by ApplyClusterCuts(), and SetClusTimeCut().

Int_t AliClusterContainer::fDefaultClusterEnergy
protected

default cluster energy: -1 for clus->E(); otherwise clus->GetUserDefEnergy(fDefaultClusterEnergy)

Definition at line 116 of file AliClusterContainer.h.

Referenced by GetDefaultClusterEnergy(), GetMomentum(), and SetDefaultClusterEnergy().

Bool_t AliClusterContainer::fExoticCut
protected

reject clusters marked as "exotic"

Definition at line 114 of file AliClusterContainer.h.

Referenced by ApplyClusterCuts(), and SetExoticCut().

AliEmcalContainerIndexMap< TClonesArray, AliVCluster > AliClusterContainer::fgEmcalContainerIndexMap
staticprotected

! Mapping from containers to indices

Definition at line 109 of file AliClusterContainer.h.

Referenced by SetArray().

Bool_t AliClusterContainer::fIncludePHOS
protected

whether or not to include PHOS clusters in addition to EMCal clusters

Definition at line 117 of file AliClusterContainer.h.

Referenced by ApplyClusterCuts(), and SetIncludePHOS().

Double_t AliClusterContainer::fPhosMinM02
protected

min value of M02 for phos clusters

Definition at line 119 of file AliClusterContainer.h.

Referenced by ApplyClusterCuts(), and SetPhosMinM02().

Int_t AliClusterContainer::fPhosMinNcells
protected

min number of phos cells per cluster

Definition at line 118 of file AliClusterContainer.h.

Referenced by ApplyClusterCuts(), and SetPhosMinNcells().

Double_t AliClusterContainer::fUserDefEnergyCut[AliVCluster::kLastUserDefEnergy+1]
protected

cut on the energy of the cluster after higher level corrections (see AliVCluster.h)

Definition at line 115 of file AliClusterContainer.h.

Referenced by AliClusterContainer(), ApplyClusterCuts(), GetClusUserDefEnergyCut(), and SetClusUserDefEnergyCut().


The documentation for this class was generated from the following files: