AliPhysics  59e0e03 (59e0e03)
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 SetIncludePHOSonly (Bool_t b)
 
void SetPhosMinNcells (Int_t n)
 
void SetPhosMinM02 (Double_t m)
 
void SetEmcalM02Range (Double_t min, Double_t max)
 
void SetEmcalMaxM02Energy (Double_t max)
 
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...
 

Static Public Attributes

static const std::map< std::string, VCluUserDefEnergy_tfgkClusterEnergyTypeMap
 Relates string to the cluster energy enumeration for YAML configuration. 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
 flag to accept PHOS clusters in addition to EMCal clusters More...
 
Bool_t fIncludePHOSonly
 flag to accept only PHOS clusters (and reject 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...
 
Double_t fEmcalMinM02
 min value of M02 for EMCAL clusters More...
 
Double_t fEmcalMaxM02
 max value of M02 for EMCAL clusters More...
 
Double_t fEmcalMaxM02CutEnergy
 max EMCal cluster energy for which to apply M02 cut 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 33 of file AliClusterContainer.h.

Member Typedef Documentation

typedef enum AliVCluster::VCluUserDefEnergy_t AliClusterContainer::VCluUserDefEnergy_t

Definition at line 35 of file AliClusterContainer.h.

Constructor & Destructor Documentation

AliClusterContainer::AliClusterContainer ( )

Default constructor.

Definition at line 47 of file AliClusterContainer.cxx.

AliClusterContainer::AliClusterContainer ( const char *  name)

Standard constructor.

Parameters
nameName of the array connected to this container

Definition at line 73 of file AliClusterContainer.cxx.

virtual AliClusterContainer::~AliClusterContainer ( )
inlinevirtual

Definition at line 42 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 324 of file AliClusterContainer.cxx.

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

Definition at line 46 of file AliClusterContainer.h.

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

Definition at line 47 of file AliClusterContainer.h.

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

Return true if cluster is accepted.

Parameters
clusThe cluster to which the cuts will be applied
rejectionReasonContains the bit specifying the rejection reason
Returns
True if the cluster is accepted.

Definition at line 341 of file AliClusterContainer.cxx.

Referenced by AcceptCluster(), and AcceptObject().

AliVCluster * AliClusterContainer::GetAcceptClusterWithLabel ( Int_t  lab) const

Get particle with label lab in array

Parameters
lab
Returns

Definition at line 173 of file AliClusterContainer.cxx.

Referenced by AcceptObject().

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 296 of file AliClusterContainer.cxx.

Referenced by GetClusPtCut().

Double_t AliClusterContainer::GetClusPtCut ( ) const
inline

Definition at line 55 of file AliClusterContainer.h.

AliVCluster * AliClusterContainer::GetClusterWithLabel ( Int_t  lab) const

Get particle with label lab in array

Parameters
lab
Returns

Definition at line 162 of file AliClusterContainer.cxx.

Referenced by GetClusPtCut().

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 438 of file AliClusterContainer.cxx.

Referenced by GetTitle(), and SetEmcalMaxM02Energy().

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 534 of file AliClusterContainer.cxx.

Referenced by GetDefaultClusterEnergy().

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 100 of file AliClusterContainer.cxx.

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

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

Definition at line 248 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 273 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 307 of file AliClusterContainer.cxx.

Referenced by GetClusPtCut().

AliVCluster * AliClusterContainer::GetNextCluster ( )

Get next cluster

Returns

Definition at line 200 of file AliClusterContainer.cxx.

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

Bool_t AliClusterContainer::GetNextMomentum ( TLorentzVector &  mom)

Get momentum of the next particle in array

Parameters
mom
Returns

Definition at line 284 of file AliClusterContainer.cxx.

Referenced by GetClusPtCut().

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

Definition at line 44 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 471 of file AliClusterContainer.cxx.

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

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

Definition at line 69 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 453 of file AliClusterContainer.cxx.

Referenced by SetClusHadCorrEnergyCut(), SetClusNonLinCorrEnergyCut(), and SetEmcalMaxM02Energy().

void AliClusterContainer::SetEmcalM02Range ( Double_t  min,
Double_t  max 
)
inline

Definition at line 78 of file AliClusterContainer.h.

void AliClusterContainer::SetEmcalMaxM02Energy ( Double_t  max)
inline

Definition at line 79 of file AliClusterContainer.h.

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

Definition at line 75 of file AliClusterContainer.h.

void AliClusterContainer::SetMaxMCLabel ( Int_t  s)
inline

Definition at line 71 of file AliClusterContainer.h.

Referenced by SetMCLabelRange().

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

Definition at line 72 of file AliClusterContainer.h.

void AliClusterContainer::SetMinMCLabel ( Int_t  s)
inline

Definition at line 70 of file AliClusterContainer.h.

Referenced by SetMCLabelRange().

void AliClusterContainer::SetPhosMinM02 ( Double_t  m)
inline
void AliClusterContainer::SetPhosMinNcells ( Int_t  n)
inline

Member Data Documentation

Double_t AliClusterContainer::fClusTimeCutLow
protected

low time cut for clusters

Definition at line 119 of file AliClusterContainer.h.

Referenced by ApplyClusterCuts(), and SetClusTimeCut().

Double_t AliClusterContainer::fClusTimeCutUp
protected

up time cut for clusters

Definition at line 120 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 123 of file AliClusterContainer.h.

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

Double_t AliClusterContainer::fEmcalMaxM02
protected

max value of M02 for EMCAL clusters

Definition at line 129 of file AliClusterContainer.h.

Referenced by ApplyClusterCuts(), and SetEmcalM02Range().

Double_t AliClusterContainer::fEmcalMaxM02CutEnergy
protected

max EMCal cluster energy for which to apply M02 cut

Definition at line 130 of file AliClusterContainer.h.

Referenced by ApplyClusterCuts(), and SetEmcalMaxM02Energy().

Double_t AliClusterContainer::fEmcalMinM02
protected

min value of M02 for EMCAL clusters

Definition at line 128 of file AliClusterContainer.h.

Referenced by ApplyClusterCuts(), and SetEmcalM02Range().

Bool_t AliClusterContainer::fExoticCut
protected

reject clusters marked as "exotic"

Definition at line 121 of file AliClusterContainer.h.

Referenced by ApplyClusterCuts(), and SetExoticCut().

AliEmcalContainerIndexMap< TClonesArray, AliVCluster > AliClusterContainer::fgEmcalContainerIndexMap
staticprotected

! Mapping from containers to indices

Definition at line 116 of file AliClusterContainer.h.

Referenced by GetDefaultClusterEnergy(), and SetArray().

const std::map< std::string, AliVCluster::VCluUserDefEnergy_t > AliClusterContainer::fgkClusterEnergyTypeMap
static
Initial value:
= {
{"kNonLinCorr", AliVCluster::kNonLinCorr },
{"kHadCorr", AliVCluster::kHadCorr },
{"kUserDefEnergy1", AliVCluster::kUserDefEnergy1 },
{"kUserDefEnergy2", AliVCluster::kUserDefEnergy2 }
}

Relates string to the cluster energy enumeration for YAML configuration.

!

Definition at line 38 of file AliClusterContainer.h.

Bool_t AliClusterContainer::fIncludePHOS
protected

flag to accept PHOS clusters in addition to EMCal clusters

Definition at line 124 of file AliClusterContainer.h.

Referenced by ApplyClusterCuts(), and SetIncludePHOS().

Bool_t AliClusterContainer::fIncludePHOSonly
protected

flag to accept only PHOS clusters (and reject EMCal clusters)

Definition at line 125 of file AliClusterContainer.h.

Referenced by ApplyClusterCuts(), and SetIncludePHOSonly().

Double_t AliClusterContainer::fPhosMinM02
protected

min value of M02 for phos clusters

Definition at line 127 of file AliClusterContainer.h.

Referenced by ApplyClusterCuts(), and SetPhosMinM02().

Int_t AliClusterContainer::fPhosMinNcells
protected

min number of phos cells per cluster

Definition at line 126 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 122 of file AliClusterContainer.h.

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


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