![]() |
AliPhysics
095eea3 (095eea3)
|
EMCal clusterizer component in the EMCal correction framework. More...
#include <AliEmcalCorrectionClusterizer.h>
Public Types | |
enum | EmbeddedCellEnergyType { kNonEmbedded = 0, kEmbeddedDataMCOnly, kEmbeddedDataExcludeMC } |
Select which part of the embedded cell energy to use. More... | |
Static Public Attributes | |
static const std::map < std::string, AliEmcalCorrectionClusterizer::EmbeddedCellEnergyType > | fgkEmbeddedCellEnergyTypeMap |
Relates string to the embedded cell energy type enumeration for YAML configuration. More... | |
static const std::map < std::string, AliEMCALRecParam::AliEMCALClusterizerFlag > | fgkClusterizerTypeMap |
Relates string to the clusterizer type enumeration for YAML configuration. More... | |
Protected Member Functions | |
void | Clusterize () |
void | FillDigitsArray () |
void | Init () |
void | RecPoints2Clusters (TClonesArray *clus) |
void | UpdateClusters () |
void | CalibrateClusters () |
void | RemapMCLabelForAODs (Int_t &label) |
void | SetClustersMCLabelFromOriginalClusters () |
void | ClearEMCalClusters () |
Protected Attributes | |
TH1F * | fHistCPUTime |
! CPU time for the Run() function (event loop) More... | |
TH1F * | fHistRealTime |
! Real time for the Run() function (event loop) More... | |
TStopwatch * | fTimer |
! Timer for the Run() function (event loop) More... | |
TClonesArray * | fDigitsArr |
!digits array More... | |
TObjArray * | fClusterArr |
!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... | |
EmbeddedCellEnergyType | fEmbeddedCellEnergyType |
Which selection of energy to use when embedding cells. More... | |
Bool_t | fTestPatternInput |
Use test pattern as input instead of cells. 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... | |
AliESDEvent * | fEsd |
!esd event More... | |
AliAODEvent * | fAod |
!aod event More... | |
![]() | |
YAML::Node | fUserConfiguration |
! User YAML configuration More... | |
YAML::Node | fDefaultConfiguration |
! Default YAML configuration More... | |
Bool_t | fCreateHisto |
Flag to make some basic histograms. 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... | |
TObjArray | fClusterCollArray |
Cluster collection array. More... | |
TObjArray | fParticleCollArray |
Particle/track collection array. More... | |
AliVCaloCells * | fCaloCells |
! Pointer to CaloCells More... | |
AliEMCALRecoUtils * | fRecoUtils |
Pointer to RecoUtils. More... | |
TList * | fOutput |
! 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 &) | |
AliEmcalCorrectionClusterizer & | operator= (const AliEmcalCorrectionClusterizer &) |
Static Private Attributes | |
static RegisterCorrectionComponent < AliEmcalCorrectionClusterizer > | reg |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
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) |
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.
Definition at line 34 of file AliEmcalCorrectionClusterizer.h.
Select which part of the embedded cell energy to use.
EmbeddedCellEnergyType
Definition at line 40 of file AliEmcalCorrectionClusterizer.h.
AliEmcalCorrectionClusterizer::AliEmcalCorrectionClusterizer | ( | ) |
Default constructor
Definition at line 70 of file AliEmcalCorrectionClusterizer.cxx.
|
virtual |
Destructor
Definition at line 111 of file AliEmcalCorrectionClusterizer.cxx.
|
private |
|
protected |
Go through clusters one by one and process separate correction.
Definition at line 652 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by Run().
|
virtual |
This function is called if the run changes (it inherits from the base component), to load a new time calibration and fill relevant variables.
Reimplemented from AliEmcalCorrectionComponent.
Definition at line 941 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by Init().
|
protected |
Clear the EMCal clusters from the cluster TClonesArray.
Definition at line 964 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by Run(), and UpdateClusters().
|
protected |
Clusterize digits into clusters.
Definition at line 309 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by Run().
|
protected |
Fill digits array from input cell collection.
Definition at line 329 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by Run().
|
protected |
Initialize the clusterizer.
Definition at line 818 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by Run().
|
virtual |
Initialize and configure the component.
Reimplemented from AliEmcalCorrectionComponent.
Definition at line 121 of file AliEmcalCorrectionClusterizer.cxx.
|
private |
|
protected |
Convert AliEMCALRecoPoints to AliESDCaloClusters/AliAODCaloClusters. Cluster energy, global position, cells and their amplitude fractions are restored.
Definition at line 499 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by UpdateClusters().
|
protected |
MC label for Cells not remapped after ESD filtering – do it here.
Definition at line 676 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by FillDigitsArray().
|
virtual |
Called for each event to process the event data.
Reimplemented from AliEmcalCorrectionComponent.
Definition at line 228 of file AliEmcalCorrectionClusterizer.cxx.
|
protected |
Get the original clusters that contribute to the new rec point cluster, assign the labels of such clusters to the new rec point cluster. Only approximatedly valid when output are V1 clusters, or input/output clusterizer are the same handle with care Copy from same method in AliAnalysisTaskEMCALClusterize, but here modify the recpoint and not the output calocluster
Definition at line 715 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by UpdateClusters().
|
protected |
Clear the old clusters and fill the new clusters.
Definition at line 635 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by Run().
|
virtual |
Create run-independent objects for output. Called before running over events.
Reimplemented from AliEmcalCorrectionComponent.
Definition at line 210 of file AliEmcalCorrectionClusterizer.cxx.
|
protected |
!aod event
Definition at line 121 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init(), RemapMCLabelForAODs(), and Run().
|
protected |
EMCAL calib data.
Definition at line 88 of file AliEmcalCorrectionClusterizer.h.
Referenced by Clusterize(), and Init().
|
protected |
!calo clusters array
Definition at line 119 of file AliEmcalCorrectionClusterizer.h.
Referenced by CalibrateClusters(), ClearEMCalClusters(), Run(), and UpdateClusters().
|
protected |
Array with MC label/map.
Definition at line 105 of file AliEmcalCorrectionClusterizer.h.
Referenced by AliEmcalCorrectionClusterizer(), FillDigitsArray(), and RecPoints2Clusters().
|
protected |
!recpoints array
Definition at line 78 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init(), RecPoints2Clusters(), and SetClustersMCLabelFromOriginalClusters().
|
protected |
!clusterizer
Definition at line 80 of file AliEmcalCorrectionClusterizer.h.
Referenced by Clusterize(), FillDigitsArray(), Init(), and ~AliEmcalCorrectionClusterizer().
|
protected |
!digits array
Definition at line 77 of file AliEmcalCorrectionClusterizer.h.
Referenced by FillDigitsArray(), Init(), RecPoints2Clusters(), and SetClustersMCLabelFromOriginalClusters().
|
protected |
Which selection of energy to use when embedding cells.
Definition at line 98 of file AliEmcalCorrectionClusterizer.h.
Referenced by FillDigitsArray(), and Initialize().
|
protected |
!esd event
Definition at line 120 of file AliEmcalCorrectionClusterizer.h.
|
protected |
geometry matrices with alignments
Definition at line 86 of file AliEmcalCorrectionClusterizer.h.
Referenced by AliEmcalCorrectionClusterizer(), and Init().
|
protected |
set geometry matrices only once, for the first event.
Definition at line 84 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
name of geometry to use.
Definition at line 83 of file AliEmcalCorrectionClusterizer.h.
|
static |
Relates string to the clusterizer type enumeration for YAML configuration.
!
Definition at line 50 of file AliEmcalCorrectionClusterizer.h.
Referenced by Initialize().
|
static |
Relates string to the embedded cell energy type enumeration for YAML configuration.
!
Definition at line 47 of file AliEmcalCorrectionClusterizer.h.
Referenced by Initialize().
|
staticprotected |
Maximum number of cells in EMCAL/DCAL: (48*24)*(10+4/3.+6*2/3.)
Definition at line 102 of file AliEmcalCorrectionClusterizer.h.
Referenced by AliEmcalCorrectionClusterizer(), and FillDigitsArray().
|
protected |
! CPU time for the Run() function (event loop)
Definition at line 73 of file AliEmcalCorrectionClusterizer.h.
Referenced by Run(), and UserCreateOutputObjects().
|
protected |
! Real time for the Run() function (event loop)
Definition at line 74 of file AliEmcalCorrectionClusterizer.h.
Referenced by Run(), and UserCreateOutputObjects().
|
protected |
just unfold, do not recluster
Definition at line 82 of file AliEmcalCorrectionClusterizer.h.
|
protected |
access calib object from OCDB (def=off)
Definition at line 90 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
matrices from configuration, not geometry.root nor ESDs/AODs
Definition at line 85 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
access ped object from OCDB (def=off)
Definition at line 91 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
nEta (for FixedWinoswsClusterizer)
Definition at line 94 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
nPhi (for FixedWindowsClusterizer)
Definition at line 93 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
path with OCDB location
Definition at line 87 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
Array ID of cluster to which the cell belongs in unmodified clusters.
Definition at line 104 of file AliEmcalCorrectionClusterizer.h.
Referenced by AliEmcalCorrectionClusterizer(), FillDigitsArray(), and SetClustersMCLabelFromOriginalClusters().
|
protected |
EMCAL pedestal.
Definition at line 89 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
recalculate distance to bad channel
Definition at line 116 of file AliEmcalCorrectionClusterizer.h.
Referenced by CalibrateClusters(), CheckIfRunChanged(), Init(), and Initialize().
|
protected |
switch for recalculation of the shower shape
Definition at line 117 of file AliEmcalCorrectionClusterizer.h.
Referenced by CalibrateClusters(), and Initialize().
|
protected |
reconstruction parameters container
Definition at line 79 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init(), Initialize(), and ~AliEmcalCorrectionClusterizer().
|
protected |
Remap AOD cells MC label.
Definition at line 114 of file AliEmcalCorrectionClusterizer.h.
Referenced by FillDigitsArray(), and Initialize().
|
protected |
Use cluster MC label as cell label:
Definition at line 107 of file AliEmcalCorrectionClusterizer.h.
Referenced by FillDigitsArray(), Initialize(), and UpdateClusters().
|
protected |
For MC generated with aliroot > v5-07-21, check the EDep information.
Definition at line 111 of file AliEmcalCorrectionClusterizer.h.
Referenced by FillDigitsArray(), Initialize(), and RecPoints2Clusters().
|
protected |
shift in eta (for FixedWindowsClusterizer)
Definition at line 96 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
shift in phi (for FixedWindowsClusterizer)
Definition at line 95 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
subtract background if true (def=off)
Definition at line 92 of file AliEmcalCorrectionClusterizer.h.
Referenced by Clusterize(), and FillDigitsArray().
|
protected |
Use test pattern as input instead of cells.
Definition at line 99 of file AliEmcalCorrectionClusterizer.h.
Referenced by FillDigitsArray(), and Initialize().
|
protected |
! Timer for the Run() function (event loop)
Definition at line 75 of file AliEmcalCorrectionClusterizer.h.
Referenced by Run(), and UserCreateOutputObjects().
|
protected |
shifting inside a TRU (true) or through the whole calorimeter (false) (for FixedWindowsClusterizer)
Definition at line 97 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
!unfolding procedure
Definition at line 81 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init(), and ~AliEmcalCorrectionClusterizer().
|
staticprivate |
Definition at line 128 of file AliEmcalCorrectionClusterizer.h.