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

EMCal clusterizer component in the EMCal correction framework. More...

#include <AliEmcalCorrectionClusterizer.h>

Inheritance diagram for AliEmcalCorrectionClusterizer:

Public Types

enum  InputCellType {
  kFEEData = 0, kFEEDataMCOnly, kFEEDataExcludeMC, kPattern,
  kL0FastORs, kL0FastORsTC, kL1FastORs
}
 

Public Member Functions

 AliEmcalCorrectionClusterizer ()
 
virtual ~AliEmcalCorrectionClusterizer ()
 
Bool_t Initialize ()
 
void UserCreateOutputObjects ()
 
Bool_t Run ()
 
- Public Member Functions inherited from AliEmcalCorrectionComponent
 AliEmcalCorrectionComponent ()
 
 AliEmcalCorrectionComponent (const char *name)
 
virtual ~AliEmcalCorrectionComponent ()
 
virtual void ExecOnce ()
 
virtual Bool_t UserNotify ()
 
void GetEtaPhiDiff (const AliVTrack *t, const AliVCluster *v, Double_t &phidiff, Double_t &etadiff)
 
void UpdateCells ()
 
Bool_t RunChanged ()
 
void GetPass ()
 
void FillCellQA (TH1F *h)
 
AliClusterContainerGetClusterContainer ()
 
AliParticleContainerGetParticleContainer ()
 
AliVCaloCells * GetCaloCells ()
 
TListGetOutputList ()
 
void SetClusterContainer (AliClusterContainer *cont)
 
void SetParticleContainer (AliParticleContainer *cont)
 
void SetCaloCells (AliVCaloCells *cells)
 
void SetRecoUtils (AliEMCALRecoUtils *ru)
 
void SetEvent (AliVEvent *event)
 
void SetMCEvent (AliMCEvent *mcevent)
 
void SetEMCALGeometry (AliEMCALGeometry *geometry)
 
void SetCentralityBin (Int_t bin)
 
void SetCentrality (Double_t cent)
 
void SetNcentralityBins (Int_t n)
 
void SetIsESD (Bool_t isESD)
 
void SetUserConfiguration (YAML::Node &node)
 Make copy to ensure that the nodes do not point to each other (?) More...
 
void SetDefaultConfiguration (YAML::Node &node)
 
template<typename T >
bool GetProperty (std::string propertyName, T &property, bool requiredProperty=true, std::string correctionName="")
 Retrieve property. More...
 

Public Attributes

std::map< std::string,
AliEMCALRecParam::AliEMCALClusterizerFlag > 
clusterizerTypeMap
 

Protected Member Functions

void Clusterize ()
 
void FillDigitsArray ()
 
void Init ()
 
void RecPoints2Clusters (TClonesArray *clus)
 
void UpdateClusters ()
 
void CalibrateClusters ()
 
void RemapMCLabelForAODs (Int_t &label)
 
void SetClustersMCLabelFromOriginalClusters ()
 

Protected Attributes

TClonesArray * fDigitsArr
 !digits array More...
 
TObjArrayfClusterArr
 !recpoints array More...
 
AliEMCALRecParam * fRecParam
 reconstruction parameters container More...
 
AliEMCALClusterizer * fClusterizer
 !clusterizer More...
 
AliEMCALAfterBurnerUF * fUnfolder
 !unfolding procedure More...
 
Bool_t fJustUnfold
 just unfold, do not recluster More...
 
TString fGeomName
 name of geometry to use. More...
 
Bool_t fGeomMatrixSet
 set geometry matrices only once, for the first event. More...
 
Bool_t fLoadGeomMatrices
 matrices from configuration, not geometry.root nor ESDs/AODs More...
 
TGeoHMatrix * fGeomMatrix [AliEMCALGeoParams::fgkEMCALModules]
 geometry matrices with alignments More...
 
TString fOCDBpath
 path with OCDB location More...
 
AliEMCALCalibData * fCalibData
 EMCAL calib data. More...
 
AliCaloCalibPedestal * fPedestalData
 EMCAL pedestal. More...
 
Bool_t fLoadCalib
 access calib object from OCDB (def=off) More...
 
Bool_t fLoadPed
 access ped object from OCDB (def=off) More...
 
Bool_t fSubBackground
 subtract background if true (def=off) More...
 
Int_t fNPhi
 nPhi (for FixedWindowsClusterizer) More...
 
Int_t fNEta
 nEta (for FixedWinoswsClusterizer) More...
 
Int_t fShiftPhi
 shift in phi (for FixedWindowsClusterizer) More...
 
Int_t fShiftEta
 shift in eta (for FixedWindowsClusterizer) More...
 
Bool_t fTRUShift
 shifting inside a TRU (true) or through the whole calorimeter (false) (for FixedWindowsClusterizer) More...
 
InputCellType fInputCellType
 input cells type to make clusters More...
 
Int_t fOrgClusterCellId [fgkTotalCellNumber]
 Array ID of cluster to which the cell belongs in unmodified clusters. More...
 
Int_t fCellLabels [fgkTotalCellNumber]
 Array with MC label/map. More...
 
Int_t fSetCellMCLabelFromCluster
 Use cluster MC label as cell label: More...
 
Bool_t fSetCellMCLabelFromEdepFrac
 For MC generated with aliroot > v5-07-21, check the EDep information. More...
 
Bool_t fRemapMCLabelForAODs
 Remap AOD cells MC label. More...
 
Bool_t fRecalDistToBadChannels
 recalculate distance to bad channel More...
 
Bool_t fRecalShowerShape
 switch for recalculation of the shower shape More...
 
TClonesArray * fCaloClusters
 !calo clusters array More...
 
AliESDEventfEsd
 !esd event More...
 
AliAODEventfAod
 !aod event More...
 
- Protected Attributes inherited from AliEmcalCorrectionComponent
YAML::Node fUserConfiguration
 
YAML::Node fDefaultConfiguration
 User YAML configuration. More...
 
Bool_t fCreateHisto
 Default YAML configuration. More...
 
Int_t fRun
 ! Run number More...
 
TString fFilepass
 Input data pass number. More...
 
Bool_t fGetPassFromFileName
 Get fFilepass from file name. More...
 
AliVEvent * fEvent
 ! Pointer to event More...
 
Bool_t fEsdMode
 flag for ESD More...
 
AliMCEvent * fMCEvent
 ! MC More...
 
Double_t fCent
 ! Event centrality More...
 
Int_t fNcentBins
 How many centrality bins (this member copied from AliAnalysisTaskEmcal) More...
 
Int_t fCentBin
 ! Event centrality bin More...
 
Int_t fNbins
 No. of pt bins. More...
 
Double_t fMinBinPt
 Min pt in histograms. More...
 
Double_t fMaxBinPt
 Max pt in histograms. More...
 
Double_t fVertex [3]
 ! Event vertex More...
 
AliEMCALGeometry * fGeom
 ! Geometry object More...
 
Bool_t fIsEmbedded
 Trigger, embedded signal. More...
 
Int_t fMinMCLabel
 Minimum MC label value for the tracks/clusters being considered MC particles. More...
 
AliClusterContainerfClusCont
 Pointer to the cluster container. More...
 
AliParticleContainerfPartCont
 Pointer to the track/particle container. More...
 
AliVCaloCells * fCaloCells
 ! Pointer to CaloCells More...
 
AliEMCALRecoUtils * fRecoUtils
 Pointer to RecoUtils. More...
 
TListfOutput
 ! List of output histograms More...
 
TString fBasePath
 Base folder path to get root files. More...
 

Static Protected Attributes

static const Int_t fgkTotalCellNumber = 17664
 Maximum number of cells in EMCAL/DCAL: (48*24)*(10+4/3.+6*2/3.) More...
 

Private Member Functions

 AliEmcalCorrectionClusterizer (const AliEmcalCorrectionClusterizer &)
 
AliEmcalCorrectionClusterizeroperator= (const AliEmcalCorrectionClusterizer &)
 

Static Private Attributes

static
RegisterCorrectionComponent
< AliEmcalCorrectionClusterizer
reg
 

Additional Inherited Members

- Static Public Member Functions inherited from AliEmcalCorrectionComponent
template<typename T >
static bool GetProperty (std::string propertyName, T &property, const YAML::Node &userConfiguration, const YAML::Node &defaultConfiguration, bool requiredProperty=true, std::string correctionName="")
 Retrieve property driver function. It is static so that it can be used by other classes. More...
 
static bool IsSharedValue (std::string &value)
 
- Static Protected Member Functions inherited from AliEmcalCorrectionComponent
template<typename T >
static bool GetPropertyFromNodes (const YAML::Node &node, const YAML::Node &sharedParametersNode, std::string propertyName, T &property, const std::string correctionName, const std::string configurationType, int nodesDeep=0)
 
template<typename T >
static bool GetPropertyFromNode (const YAML::Node &node, std::string propertyName, T &property)
 
template<typename T >
static std::enable_if
<!std::is_arithmetic< T >
::value &&!std::is_same< T,
std::string >::value
&&!std::is_same< T, bool >
::value >::type 
PrintRetrievedPropertyValue (T &property, std::stringstream &tempMessage)
 
template<typename T >
static std::enable_if
< std::is_arithmetic< T >
::value||std::is_same< T,
std::string >::value||std::is_same
< T, bool >::value >::type 
PrintRetrievedPropertyValue (T &property, std::stringstream &tempMessage)
 

Detailed Description

EMCal clusterizer component in the EMCal correction framework.

Clusterizes a collection of cells into a collection of clusters.

For some datasets one needs to re-run the clusterizer from the cells. This is dataset-specific. Analyzers that are unfamiliar with a specific dataset should communicate with EMCal/DCal detector experts to determine whether the basic corrections and the bad channel map were already available and used in a specific ESD/AOD production.

The clusterizer type and the time cuts are to be chosen appropriately for each dataset. Usually the v1 clusterizer is used for pp and the v2 clusterizer is used for PbPb. Sometimes for pp reference runs with the same collision energy as PbPb the v2 clusterizer is employed, but this is analysis dependent. EMCal detector experts are to be contacted for the time cuts.

The clusterizer will use as input the cell branch specified in the YAML config, and as output will rewrite the cluster branch specified in the YAML config.

At this point the energy of the cluster will be available through cluster->E() where cluster is the pointer to the AliAODCaloCluster or AliESDCaloCluster object.

Based on code in AliAnalysisTaskEMCALClusterizeFast, in turn based on code by Deepa Thomas.

Author
Constantin Loizides, LBNL, AliAnalysisTaskEMCALClusterizeFast
Salvatore Aiola, LBNL, AliAnalysisTaskEMCALClusterizeFast
James Mulligan james.nosp@m..mul.nosp@m.ligan.nosp@m.@yal.nosp@m.e.edu, Yale University, centralize EMCal corrections using components
Raymond Ehlers raymo.nosp@m.nd.e.nosp@m.hlers.nosp@m.@yal.nosp@m.e.edu, Yale University, centralize EMCal corrections using components
Date
Jul 8, 2016

Definition at line 32 of file AliEmcalCorrectionClusterizer.h.

Member Enumeration Documentation

Enumerator
kFEEData 
kFEEDataMCOnly 
kFEEDataExcludeMC 
kPattern 
kL0FastORs 
kL0FastORsTC 
kL1FastORs 

Definition at line 34 of file AliEmcalCorrectionClusterizer.h.

Constructor & Destructor Documentation

AliEmcalCorrectionClusterizer::AliEmcalCorrectionClusterizer ( )

Definition at line 54 of file AliEmcalCorrectionClusterizer.cxx.

AliEmcalCorrectionClusterizer::~AliEmcalCorrectionClusterizer ( )
virtual

Definition at line 95 of file AliEmcalCorrectionClusterizer.cxx.

AliEmcalCorrectionClusterizer::AliEmcalCorrectionClusterizer ( const AliEmcalCorrectionClusterizer )
private

Member Function Documentation

void AliEmcalCorrectionClusterizer::CalibrateClusters ( )
protected

Definition at line 687 of file AliEmcalCorrectionClusterizer.cxx.

Referenced by Run().

void AliEmcalCorrectionClusterizer::Clusterize ( )
protected

Definition at line 249 of file AliEmcalCorrectionClusterizer.cxx.

Referenced by Run().

void AliEmcalCorrectionClusterizer::FillDigitsArray ( )
protected

Definition at line 269 of file AliEmcalCorrectionClusterizer.cxx.

Referenced by Run().

void AliEmcalCorrectionClusterizer::Init ( )
protected

Definition at line 852 of file AliEmcalCorrectionClusterizer.cxx.

Referenced by Run().

Bool_t AliEmcalCorrectionClusterizer::Initialize ( )
virtual

Initialize basic variables in the correction component from the configuration file.

Reimplemented from AliEmcalCorrectionComponent.

Definition at line 105 of file AliEmcalCorrectionClusterizer.cxx.

AliEmcalCorrectionClusterizer& AliEmcalCorrectionClusterizer::operator= ( const AliEmcalCorrectionClusterizer )
private
void AliEmcalCorrectionClusterizer::RecPoints2Clusters ( TClonesArray *  clus)
protected

Definition at line 526 of file AliEmcalCorrectionClusterizer.cxx.

Referenced by UpdateClusters().

void AliEmcalCorrectionClusterizer::RemapMCLabelForAODs ( Int_t label)
protected

Definition at line 710 of file AliEmcalCorrectionClusterizer.cxx.

Referenced by FillDigitsArray().

Bool_t AliEmcalCorrectionClusterizer::Run ( )
virtual

Run every event, where the user implements their main analysis. Similar to Run() in AliAnalysisTaskEmcal

Reimplemented from AliEmcalCorrectionComponent.

Definition at line 192 of file AliEmcalCorrectionClusterizer.cxx.

void AliEmcalCorrectionClusterizer::SetClustersMCLabelFromOriginalClusters ( )
protected

Definition at line 744 of file AliEmcalCorrectionClusterizer.cxx.

Referenced by UpdateClusters().

void AliEmcalCorrectionClusterizer::UpdateClusters ( )
protected

Definition at line 663 of file AliEmcalCorrectionClusterizer.cxx.

Referenced by Run().

void AliEmcalCorrectionClusterizer::UserCreateOutputObjects ( )
virtual

Create output objects for the analysis. Similar to UserCreateOutputObjects() in AliAnalysisTaskSE

Reimplemented from AliEmcalCorrectionComponent.

Definition at line 184 of file AliEmcalCorrectionClusterizer.cxx.

Member Data Documentation

std::map<std::string, AliEMCALRecParam::AliEMCALClusterizerFlag> AliEmcalCorrectionClusterizer::clusterizerTypeMap
Initial value:
= {
{"kClusterizerv1", AliEMCALRecParam::kClusterizerv1 },
{"kClusterizerNxN", AliEMCALRecParam::kClusterizerNxN },
{"kClusterizerv2", AliEMCALRecParam::kClusterizerv2 },
{"kClusterizerFW", AliEMCALRecParam::kClusterizerFW }
}

Definition at line 45 of file AliEmcalCorrectionClusterizer.h.

Referenced by Initialize().

AliAODEvent* AliEmcalCorrectionClusterizer::fAod
protected

!aod event

Definition at line 115 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init(), RemapMCLabelForAODs(), and Run().

AliEMCALCalibData* AliEmcalCorrectionClusterizer::fCalibData
protected

EMCAL calib data.

Definition at line 83 of file AliEmcalCorrectionClusterizer.h.

Referenced by Clusterize(), and Init().

TClonesArray* AliEmcalCorrectionClusterizer::fCaloClusters
protected

!calo clusters array

Definition at line 113 of file AliEmcalCorrectionClusterizer.h.

Referenced by CalibrateClusters(), Run(), and UpdateClusters().

Int_t AliEmcalCorrectionClusterizer::fCellLabels[fgkTotalCellNumber]
protected

Array with MC label/map.

Definition at line 99 of file AliEmcalCorrectionClusterizer.h.

Referenced by AliEmcalCorrectionClusterizer(), FillDigitsArray(), and RecPoints2Clusters().

TObjArray* AliEmcalCorrectionClusterizer::fClusterArr
protected

!recpoints array

Definition at line 73 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init(), RecPoints2Clusters(), and SetClustersMCLabelFromOriginalClusters().

AliEMCALClusterizer* AliEmcalCorrectionClusterizer::fClusterizer
protected

!clusterizer

Definition at line 75 of file AliEmcalCorrectionClusterizer.h.

Referenced by Clusterize(), FillDigitsArray(), Init(), and ~AliEmcalCorrectionClusterizer().

TClonesArray* AliEmcalCorrectionClusterizer::fDigitsArr
protected
AliESDEvent* AliEmcalCorrectionClusterizer::fEsd
protected

!esd event

Definition at line 114 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init(), and Run().

TGeoHMatrix* AliEmcalCorrectionClusterizer::fGeomMatrix[AliEMCALGeoParams::fgkEMCALModules]
protected

geometry matrices with alignments

Definition at line 81 of file AliEmcalCorrectionClusterizer.h.

Referenced by AliEmcalCorrectionClusterizer(), and Init().

Bool_t AliEmcalCorrectionClusterizer::fGeomMatrixSet
protected

set geometry matrices only once, for the first event.

Definition at line 79 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init().

TString AliEmcalCorrectionClusterizer::fGeomName
protected

name of geometry to use.

Definition at line 78 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init().

const Int_t AliEmcalCorrectionClusterizer::fgkTotalCellNumber = 17664
staticprotected

Maximum number of cells in EMCAL/DCAL: (48*24)*(10+4/3.+6*2/3.)

Definition at line 96 of file AliEmcalCorrectionClusterizer.h.

Referenced by AliEmcalCorrectionClusterizer(), and FillDigitsArray().

InputCellType AliEmcalCorrectionClusterizer::fInputCellType
protected

input cells type to make clusters

Definition at line 93 of file AliEmcalCorrectionClusterizer.h.

Referenced by FillDigitsArray(), and Initialize().

Bool_t AliEmcalCorrectionClusterizer::fJustUnfold
protected

just unfold, do not recluster

Definition at line 77 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init(), and Run().

Bool_t AliEmcalCorrectionClusterizer::fLoadCalib
protected

access calib object from OCDB (def=off)

Definition at line 85 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init().

Bool_t AliEmcalCorrectionClusterizer::fLoadGeomMatrices
protected

matrices from configuration, not geometry.root nor ESDs/AODs

Definition at line 80 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init().

Bool_t AliEmcalCorrectionClusterizer::fLoadPed
protected

access ped object from OCDB (def=off)

Definition at line 86 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init().

Int_t AliEmcalCorrectionClusterizer::fNEta
protected

nEta (for FixedWinoswsClusterizer)

Definition at line 89 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init().

Int_t AliEmcalCorrectionClusterizer::fNPhi
protected

nPhi (for FixedWindowsClusterizer)

Definition at line 88 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init().

TString AliEmcalCorrectionClusterizer::fOCDBpath
protected

path with OCDB location

Definition at line 82 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init().

Int_t AliEmcalCorrectionClusterizer::fOrgClusterCellId[fgkTotalCellNumber]
protected

Array ID of cluster to which the cell belongs in unmodified clusters.

Definition at line 98 of file AliEmcalCorrectionClusterizer.h.

Referenced by AliEmcalCorrectionClusterizer(), FillDigitsArray(), and SetClustersMCLabelFromOriginalClusters().

AliCaloCalibPedestal* AliEmcalCorrectionClusterizer::fPedestalData
protected

EMCAL pedestal.

Definition at line 84 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init().

Bool_t AliEmcalCorrectionClusterizer::fRecalDistToBadChannels
protected

recalculate distance to bad channel

Definition at line 110 of file AliEmcalCorrectionClusterizer.h.

Referenced by CalibrateClusters(), and Initialize().

Bool_t AliEmcalCorrectionClusterizer::fRecalShowerShape
protected

switch for recalculation of the shower shape

Definition at line 111 of file AliEmcalCorrectionClusterizer.h.

Referenced by CalibrateClusters(), and Initialize().

AliEMCALRecParam* AliEmcalCorrectionClusterizer::fRecParam
protected

reconstruction parameters container

Definition at line 74 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init(), Initialize(), and ~AliEmcalCorrectionClusterizer().

Bool_t AliEmcalCorrectionClusterizer::fRemapMCLabelForAODs
protected

Remap AOD cells MC label.

Definition at line 108 of file AliEmcalCorrectionClusterizer.h.

Referenced by FillDigitsArray(), and Initialize().

Int_t AliEmcalCorrectionClusterizer::fSetCellMCLabelFromCluster
protected

Use cluster MC label as cell label:

Definition at line 101 of file AliEmcalCorrectionClusterizer.h.

Referenced by FillDigitsArray(), Initialize(), and UpdateClusters().

Bool_t AliEmcalCorrectionClusterizer::fSetCellMCLabelFromEdepFrac
protected

For MC generated with aliroot > v5-07-21, check the EDep information.

Definition at line 105 of file AliEmcalCorrectionClusterizer.h.

Referenced by FillDigitsArray(), Initialize(), and RecPoints2Clusters().

Int_t AliEmcalCorrectionClusterizer::fShiftEta
protected

shift in eta (for FixedWindowsClusterizer)

Definition at line 91 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init().

Int_t AliEmcalCorrectionClusterizer::fShiftPhi
protected

shift in phi (for FixedWindowsClusterizer)

Definition at line 90 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init().

Bool_t AliEmcalCorrectionClusterizer::fSubBackground
protected

subtract background if true (def=off)

Definition at line 87 of file AliEmcalCorrectionClusterizer.h.

Referenced by Clusterize(), and FillDigitsArray().

Bool_t AliEmcalCorrectionClusterizer::fTRUShift
protected

shifting inside a TRU (true) or through the whole calorimeter (false) (for FixedWindowsClusterizer)

Definition at line 92 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init().

AliEMCALAfterBurnerUF* AliEmcalCorrectionClusterizer::fUnfolder
protected

!unfolding procedure

Definition at line 76 of file AliEmcalCorrectionClusterizer.h.

Referenced by Init(), and ~AliEmcalCorrectionClusterizer().

RegisterCorrectionComponent< AliEmcalCorrectionClusterizer > AliEmcalCorrectionClusterizer::reg
staticprivate

Definition at line 122 of file AliEmcalCorrectionClusterizer.h.


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