]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/CaloCalib/AliAnalysisTaskEMCALClusterize.h
In case geometry matrices are set via SetMatrixAlign, force their use instead the...
[u/mrichter/AliRoot.git] / PWG4 / CaloCalib / AliAnalysisTaskEMCALClusterize.h
CommitLineData
330617b9 1#ifndef ALIANALYSISTASKEMCALCLUSTERIZE_H\r
2#define ALIANALYSISTASKEMCALCLUSTERIZE_H\r
3\r
4// This analysis provides a new list of clusters to be used in other analysis\r
5// Author: Gustavo Conesa Balbastre,\r
6// Adapted from analysis class from Deepa Thomas\r
7\r
8//Root\r
9class TTree;\r
10class TClonesArray;\r
11\r
12//EMCAL\r
13class AliEMCALGeometry;\r
14class AliEMCALCalibData;\r
15class AliCaloCalibPedestal;\r
16class AliEMCALClusterizer;\r
17class AliEMCALAfterBurnerUF;\r
18class AliEMCALRecParam;\r
385b7abf 19class AliEMCALRecoUtils;\r
20\r
330617b9 21\r
22#include "AliAnalysisTaskSE.h"\r
23\r
24class AliAnalysisTaskEMCALClusterize : public AliAnalysisTaskSE {\r
25 public:\r
26 AliAnalysisTaskEMCALClusterize();\r
27 AliAnalysisTaskEMCALClusterize(const char *name);\r
28 virtual ~AliAnalysisTaskEMCALClusterize();\r
5994e71f 29\r
30 private: \r
31 AliAnalysisTaskEMCALClusterize(const AliAnalysisTaskEMCALClusterize&); \r
330617b9 32 AliAnalysisTaskEMCALClusterize& operator=(const AliAnalysisTaskEMCALClusterize&); // not implemented\r
33 \r
34 public:\r
35 virtual void UserCreateOutputObjects();\r
36 virtual void UserExec(Option_t *option);\r
5994e71f 37 virtual void Init();\r
38 virtual void LocalInit() { Init() ; }\r
bd9e8ebd 39 Bool_t AccessOCDB();\r
330617b9 40\r
41 void SetOCDBPath(const char *path) { fOCDBpath = path ; }\r
42 \r
43 //Geometry methods\r
44 void SetGeometryName(TString &name) { fGeomName = name ; }\r
385b7abf 45 TString GeometryName() const { return fGeomName ; } \r
330617b9 46 void SwitchOnLoadOwnGeometryMatrices() { fLoadGeomMatrices = kTRUE ; }\r
542e1379 47 void SwitchOffLoadOwnGeometryMatrices() { fLoadGeomMatrices = kFALSE ; } \r
330617b9 48 void SetGeometryMatrixInSM(TGeoHMatrix* m, Int_t i) { fGeomMatrix[i] = m ; }\r
49\r
50 //AOD methods\r
51 void SetAODBranchName(TString &name) { fOutputAODBranchName = name ; }\r
52 void FillAODFile(Bool_t yesno) { fFillAODFile = yesno ; }\r
53 \r
54 //Algorithms settings\r
55 void JustUnfold(Bool_t yesno) { fJustUnfold = yesno ; }\r
385b7abf 56 AliEMCALRecParam * GetRecParam() const { return fRecParam ; }\r
330617b9 57 void InitClusterization();\r
58 \r
385b7abf 59 void SetEMCALRecoUtils(AliEMCALRecoUtils * ru) { fRecoUtils = ru ; }\r
60 AliEMCALRecoUtils* GetRecoUtils() const { return fRecoUtils ; }\r
61 \r
5994e71f 62 void SetConfigFileName(TString name) { fConfigName = name ; }\r
63 \r
330617b9 64 private:\r
65 \r
66 virtual void RecPoints2Clusters(TClonesArray *fdigitsArr, TObjArray *fRecPoints, TObjArray *clusArray);\r
67 \r
68 //Geometry \r
542e1379 69 AliEMCALGeometry *fGeom; // EMCAL geometry\r
330617b9 70 TString fGeomName; // Name of geometry to use.\r
542e1379 71 TGeoHMatrix *fGeomMatrix[10]; // Geometry matrices with alignments\r
330617b9 72 Bool_t fGeomMatrixSet; // Set geometry matrices only once, for the first event. \r
73 Bool_t fLoadGeomMatrices; // Matrices set from configuration, not get from geometry.root or from ESDs/AODs\r
74\r
75 //OCDB\r
542e1379 76 AliEMCALCalibData *fCalibData; // EMCAL calib data\r
77 AliCaloCalibPedestal *fPedestalData; // EMCAL pedestal\r
330617b9 78 TString fOCDBpath; // Path with OCDB location\r
79\r
80 //Temporal arrays\r
542e1379 81 TClonesArray *fDigitsArr; //-> Digits array\r
82 TObjArray *fClusterArr; //-> Recpoints array\r
83 TObjArray *fCaloClusterArr; //-> CaloClusters array\r
330617b9 84\r
85 //Clusterizers \r
542e1379 86 AliEMCALRecParam *fRecParam; // Reconstruction parameters container\r
87 AliEMCALClusterizer *fClusterizer; //! EMCAL clusterizer\r
88 AliEMCALAfterBurnerUF *fUnfolder; //! Unfolding procedure\r
330617b9 89 Bool_t fJustUnfold; // Just unfold, do not recluster\r
90 \r
91 //AOD\r
542e1379 92 TClonesArray *fOutputAODBranch; //! AOD Branch with output clusters \r
330617b9 93 TString fOutputAODBranchName; // New of output AOD branch\r
94 Bool_t fFillAODFile; // Fill the output AOD file with the new clusters, \r
95 // if not they will be only available for the event they were generated\r
385b7abf 96 Int_t fRun; //!run number\r
97 \r
98 AliEMCALRecoUtils* fRecoUtils; // Access to factorized reconstruction algorithms\r
5994e71f 99 TString fConfigName; // Name of analysis configuration file\r
385b7abf 100 \r
6060ed91 101 Int_t fCellLabels[12672];// Array with MC label to be passed to digit. \r
102 \r
103 ClassDef(AliAnalysisTaskEMCALClusterize, 4);\r
330617b9 104};\r
105\r
106#endif //ALIANALYSISTASKEMCALCLUSTERIZE_H\r