![]() |
AliPhysics
dc874a1 (dc874a1)
|
EMCal clusterizer component in the EMCal correction framework. More...
#include <AliEmcalCorrectionClusterizer.h>
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 () |
![]() | |
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) |
AliClusterContainer * | GetClusterContainer () |
AliParticleContainer * | GetParticleContainer () |
AliVCaloCells * | GetCaloCells () |
TList * | GetOutputList () |
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... | |
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... | |
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... | |
AliESDEvent * | fEsd |
!esd event More... | |
AliAODEvent * | fAod |
!aod event More... | |
![]() | |
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... | |
AliClusterContainer * | fClusCont |
Pointer to the cluster container. More... | |
AliParticleContainer * | fPartCont |
Pointer to the track/particle container. 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 32 of file AliEmcalCorrectionClusterizer.h.
Enumerator | |
---|---|
kFEEData | |
kFEEDataMCOnly | |
kFEEDataExcludeMC | |
kPattern | |
kL0FastORs | |
kL0FastORsTC | |
kL1FastORs |
Definition at line 34 of file AliEmcalCorrectionClusterizer.h.
AliEmcalCorrectionClusterizer::AliEmcalCorrectionClusterizer | ( | ) |
Definition at line 54 of file AliEmcalCorrectionClusterizer.cxx.
|
virtual |
Definition at line 95 of file AliEmcalCorrectionClusterizer.cxx.
|
private |
|
protected |
Definition at line 687 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by Run().
|
protected |
Definition at line 249 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by Run().
|
protected |
Definition at line 269 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by Run().
|
protected |
Definition at line 852 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by Run().
|
virtual |
Initialize basic variables in the correction component from the configuration file.
Reimplemented from AliEmcalCorrectionComponent.
Definition at line 105 of file AliEmcalCorrectionClusterizer.cxx.
|
private |
|
protected |
Definition at line 526 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by UpdateClusters().
|
protected |
Definition at line 710 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by FillDigitsArray().
|
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.
|
protected |
Definition at line 744 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by UpdateClusters().
|
protected |
Definition at line 663 of file AliEmcalCorrectionClusterizer.cxx.
Referenced by Run().
|
virtual |
Create output objects for the analysis. Similar to UserCreateOutputObjects() in AliAnalysisTaskSE
Reimplemented from AliEmcalCorrectionComponent.
Definition at line 184 of file AliEmcalCorrectionClusterizer.cxx.
std::map<std::string, AliEMCALRecParam::AliEMCALClusterizerFlag> AliEmcalCorrectionClusterizer::clusterizerTypeMap |
Definition at line 45 of file AliEmcalCorrectionClusterizer.h.
Referenced by Initialize().
|
protected |
!aod event
Definition at line 115 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init(), RemapMCLabelForAODs(), and Run().
|
protected |
EMCAL calib data.
Definition at line 83 of file AliEmcalCorrectionClusterizer.h.
Referenced by Clusterize(), and Init().
|
protected |
!calo clusters array
Definition at line 113 of file AliEmcalCorrectionClusterizer.h.
Referenced by CalibrateClusters(), Run(), and UpdateClusters().
|
protected |
Array with MC label/map.
Definition at line 99 of file AliEmcalCorrectionClusterizer.h.
Referenced by AliEmcalCorrectionClusterizer(), FillDigitsArray(), and RecPoints2Clusters().
|
protected |
!recpoints array
Definition at line 73 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init(), RecPoints2Clusters(), and SetClustersMCLabelFromOriginalClusters().
|
protected |
!clusterizer
Definition at line 75 of file AliEmcalCorrectionClusterizer.h.
Referenced by Clusterize(), FillDigitsArray(), Init(), and ~AliEmcalCorrectionClusterizer().
|
protected |
!digits array
Definition at line 72 of file AliEmcalCorrectionClusterizer.h.
Referenced by FillDigitsArray(), Init(), RecPoints2Clusters(), and SetClustersMCLabelFromOriginalClusters().
|
protected |
!esd event
Definition at line 114 of file AliEmcalCorrectionClusterizer.h.
|
protected |
geometry matrices with alignments
Definition at line 81 of file AliEmcalCorrectionClusterizer.h.
Referenced by AliEmcalCorrectionClusterizer(), and Init().
|
protected |
set geometry matrices only once, for the first event.
Definition at line 79 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
name of geometry to use.
Definition at line 78 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
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().
|
protected |
input cells type to make clusters
Definition at line 93 of file AliEmcalCorrectionClusterizer.h.
Referenced by FillDigitsArray(), and Initialize().
|
protected |
just unfold, do not recluster
Definition at line 77 of file AliEmcalCorrectionClusterizer.h.
|
protected |
access calib object from OCDB (def=off)
Definition at line 85 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
matrices from configuration, not geometry.root nor ESDs/AODs
Definition at line 80 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
access ped object from OCDB (def=off)
Definition at line 86 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
nEta (for FixedWinoswsClusterizer)
Definition at line 89 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
nPhi (for FixedWindowsClusterizer)
Definition at line 88 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
path with OCDB location
Definition at line 82 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
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().
|
protected |
EMCAL pedestal.
Definition at line 84 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
recalculate distance to bad channel
Definition at line 110 of file AliEmcalCorrectionClusterizer.h.
Referenced by CalibrateClusters(), and Initialize().
|
protected |
switch for recalculation of the shower shape
Definition at line 111 of file AliEmcalCorrectionClusterizer.h.
Referenced by CalibrateClusters(), and Initialize().
|
protected |
reconstruction parameters container
Definition at line 74 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init(), Initialize(), and ~AliEmcalCorrectionClusterizer().
|
protected |
Remap AOD cells MC label.
Definition at line 108 of file AliEmcalCorrectionClusterizer.h.
Referenced by FillDigitsArray(), and Initialize().
|
protected |
Use cluster MC label as cell label:
Definition at line 101 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 105 of file AliEmcalCorrectionClusterizer.h.
Referenced by FillDigitsArray(), Initialize(), and RecPoints2Clusters().
|
protected |
shift in eta (for FixedWindowsClusterizer)
Definition at line 91 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
shift in phi (for FixedWindowsClusterizer)
Definition at line 90 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init().
|
protected |
subtract background if true (def=off)
Definition at line 87 of file AliEmcalCorrectionClusterizer.h.
Referenced by Clusterize(), and FillDigitsArray().
|
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().
|
protected |
!unfolding procedure
Definition at line 76 of file AliEmcalCorrectionClusterizer.h.
Referenced by Init(), and ~AliEmcalCorrectionClusterizer().
|
staticprivate |
Definition at line 122 of file AliEmcalCorrectionClusterizer.h.