]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/CaloCalib/AliAnalysisTaskEMCALClusterize.h
Coverity Fix.
[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
19\r
20#include "AliAnalysisTaskSE.h"\r
21\r
22class AliAnalysisTaskEMCALClusterize : public AliAnalysisTaskSE {\r
23 public:\r
24 AliAnalysisTaskEMCALClusterize();\r
25 AliAnalysisTaskEMCALClusterize(const char *name);\r
26 virtual ~AliAnalysisTaskEMCALClusterize();\r
27 \r
28 private:\r
29 AliAnalysisTaskEMCALClusterize(const AliAnalysisTaskEMCALClusterize&); // not implemented\r
30 AliAnalysisTaskEMCALClusterize& operator=(const AliAnalysisTaskEMCALClusterize&); // not implemented\r
31 \r
32 public:\r
33 virtual void UserCreateOutputObjects();\r
34 virtual void UserExec(Option_t *option);\r
35 virtual Bool_t UserNotify();\r
36\r
37 void SetOCDBPath(const char *path) { fOCDBpath = path ; }\r
38 \r
39 //Geometry methods\r
40 void SetGeometryName(TString &name) { fGeomName = name ; }\r
41 TString GeometryName() const { return fGeomName ; } \r
42 void SwitchOnLoadOwnGeometryMatrices() { fLoadGeomMatrices = kTRUE ; }\r
43 void SwitchOffLoadOwnGeometryMatrices() { fLoadGeomMatrices = kFALSE ; }\r
44 void SetGeometryMatrixInSM(TGeoHMatrix* m, Int_t i) { fGeomMatrix[i] = m ; }\r
45\r
46 //AOD methods\r
47 void SetAODBranchName(TString &name) { fOutputAODBranchName = name ; }\r
48 void FillAODFile(Bool_t yesno) { fFillAODFile = yesno ; }\r
49 \r
50 //Algorithms settings\r
51 void JustUnfold(Bool_t yesno) { fJustUnfold = yesno ; }\r
52 AliEMCALRecParam * GetRecParam() const { return fRecParam ; }\r
53 void InitClusterization();\r
54 \r
55 private:\r
56 \r
57 virtual void RecPoints2Clusters(TClonesArray *fdigitsArr, TObjArray *fRecPoints, TObjArray *clusArray);\r
58 \r
59 //Geometry \r
60 AliEMCALGeometry *fGeom; //! emcal geometry\r
61 TString fGeomName; // Name of geometry to use.\r
62 TGeoHMatrix *fGeomMatrix[10]; //! Geometry matrices with alignments\r
63 Bool_t fGeomMatrixSet; // Set geometry matrices only once, for the first event. \r
64 Bool_t fLoadGeomMatrices; // Matrices set from configuration, not get from geometry.root or from ESDs/AODs\r
65\r
66 //OCDB\r
67 AliEMCALCalibData *fCalibData; //! emcal calib data\r
68 AliCaloCalibPedestal *fPedestalData; //! emcal pedestal\r
69 TString fOCDBpath; // Path with OCDB location\r
70\r
71 //Temporal arrays\r
72 TClonesArray *fDigitsArr; //-> digits array\r
73 TObjArray *fClusterArr; //! recpoints array\r
74 TObjArray *fCaloClusterArr; //! CaloClusters array\r
75\r
76 //Clusterizers \r
77 AliEMCALRecParam *fRecParam; //! reconstruction parameters container\r
78 AliEMCALClusterizer *fClusterizer; //! emcal clusterizer\r
79 AliEMCALAfterBurnerUF *fUnfolder; //! unfolding procedure\r
80 Bool_t fJustUnfold; // Just unfold, do not recluster\r
81 \r
82 //AOD\r
83 TClonesArray *fOutputAODBranch; //-> AOD Branch with output clusters \r
84 TString fOutputAODBranchName; // New of output AOD branch\r
85 Bool_t fFillAODFile; // Fill the output AOD file with the new clusters, \r
86 // if not they will be only available for the event they were generated\r
87\r
88 ClassDef(AliAnalysisTaskEMCALClusterize, 1);\r
89};\r
90\r
91#endif //ALIANALYSISTASKEMCALCLUSTERIZE_H\r