AliPhysics  32b88a8 (32b88a8)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliEmcalCorrectionClusterizer.h
Go to the documentation of this file.
1 #ifndef ALIEMCALCORRECTIONCLUSTERIZER_H
2 #define ALIEMCALCORRECTIONCLUSTERIZER_H
3 
4 //_________________________________________________________________________
15 //_________________________________________________________________________
16 
18 
19 #include <map>
20 #include "AliEMCALRecParam.h"
21 
23  public:
25  kFEEData = 0,
32  };
33 
34 #if !(defined(__CINT__) || defined(__MAKECINT__))
35  std::map <std::string, AliEMCALRecParam::AliEMCALClusterizerFlag> clusterizerTypeMap = {
36  {"kClusterizerv1", AliEMCALRecParam::kClusterizerv1 },
37  {"kClusterizerNxN", AliEMCALRecParam::kClusterizerNxN },
38  {"kClusterizerv2", AliEMCALRecParam::kClusterizerv2 },
39  {"kClusterizerFW", AliEMCALRecParam::kClusterizerFW }
40  };
41 #endif
42 
45 
46  // Sets up and runs the task
48  Bool_t Run();
49 
50 protected:
51  void Clusterize();
52  void FillDigitsArray();
53  void Init();
54  void RecPoints2Clusters(TClonesArray *clus);
55  void UpdateClusters();
56  void CalibrateClusters();
57 
58  TClonesArray *fDigitsArr;
60  AliEMCALRecParam *fRecParam; // reconstruction parameters container
61  AliEMCALClusterizer *fClusterizer;
62  AliEMCALAfterBurnerUF *fUnfolder;
63  Bool_t fJustUnfold; // just unfold, do not recluster
64  TString fGeomName; // name of geometry to use.
65  Bool_t fGeomMatrixSet; // set geometry matrices only once, for the first event.
66  Bool_t fLoadGeomMatrices; // matrices from configuration, not geometry.root nor ESDs/AODs
67  TGeoHMatrix *fGeomMatrix[AliEMCALGeoParams::fgkEMCALModules]; // geometry matrices with alignments
68  TString fOCDBpath; // path with OCDB location
69  AliEMCALCalibData *fCalibData; // EMCAL calib data
70  AliCaloCalibPedestal *fPedestalData; // EMCAL pedestal
71  Bool_t fLoadCalib; // access calib object from OCDB (def=off)
72  Bool_t fLoadPed; // access ped object from OCDB (def=off)
73  Bool_t fSubBackground; // subtract background if true (def=off)
74  Int_t fNPhi; // nPhi (for FixedWindowsClusterizer)
75  Int_t fNEta; // nEta (for FixedWinoswsClusterizer)
76  Int_t fShiftPhi; // shift in phi (for FixedWindowsClusterizer)
77  Int_t fShiftEta; // shift in eta (for FixedWindowsClusterizer)
78  Bool_t fTRUShift; // shifting inside a TRU (true) or through the whole calorimeter (false) (for FixedWindowsClusterizer)
79  InputCellType fInputCellType; // input cells type to make clusters
80 
81  // MC labels
82  static const Int_t fgkTotalCellNumber = 17664 ; // Maximum number of cells in EMCAL/DCAL: (48*24)*(10+4/3.+6*2/3.)
83 
84  Int_t fOrgClusterCellId[fgkTotalCellNumber]; // Array ID of cluster to which the cell belongs in unmodified clusters.
85  Int_t fCellLabels [fgkTotalCellNumber]; // Array with MC label/map
86 
87  Int_t fSetCellMCLabelFromCluster; // Use cluster MC label as cell label:
88  // 0 - get the MC label stored in cells (not available for productions done with aliroot < v5-02-Rev09)
89  // 1 - assign to the cell the MC label of the cluster
90 
91  Bool_t fSetCellMCLabelFromEdepFrac; // For MC generated with aliroot > v5-07-21, check the EDep information
92  // stored in ESDs/AODs to set the cell MC labels
93 
94  Bool_t fRecalDistToBadChannels; // recalculate distance to bad channel
95  Bool_t fRecalShowerShape; // switch for recalculation of the shower shape
96 
97  TClonesArray *fCaloClusters;
100 
101  private:
104 
105  // Allows the registration of the class so that it is availble to be used by the correction task.
107 
108  ClassDef(AliEmcalCorrectionClusterizer, 1) // EMCal correction clusterizer component
109 };
110 
111 #endif /* ALIEMCALCORRECTIONCLUSTERIZER_H */
AliEMCALRecParam * fRecParam
recpoints array
std::map< std::string, AliEMCALRecParam::AliEMCALClusterizerFlag > clusterizerTypeMap
AliEMCALAfterBurnerUF * fUnfolder
clusterizer
TGeoHMatrix * fGeomMatrix[AliEMCALGeoParams::fgkEMCALModules]
AliESDEvent * fEsd
calo clusters array
int Int_t
Definition: External.C:63
AliEmcalCorrectionClusterizer & operator=(const AliEmcalCorrectionClusterizer &)
static RegisterCorrectionComponent< AliEmcalCorrectionClusterizer > reg
Int_t fOrgClusterCellId[fgkTotalCellNumber]
bool Bool_t
Definition: External.C:53