]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/CaloCalib/AliAnalysisTaskEMCALClusterize.h
Implemented interface to NxM clusterizer
[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
bd9e8ebd 35 Bool_t AccessOCDB();\r
330617b9 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
542e1379 43 void SwitchOffLoadOwnGeometryMatrices() { fLoadGeomMatrices = kFALSE ; } \r
330617b9 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
542e1379 60 AliEMCALGeometry *fGeom; // EMCAL geometry\r
330617b9 61 TString fGeomName; // Name of geometry to use.\r
542e1379 62 TGeoHMatrix *fGeomMatrix[10]; // Geometry matrices with alignments\r
330617b9 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
542e1379 67 AliEMCALCalibData *fCalibData; // EMCAL calib data\r
68 AliCaloCalibPedestal *fPedestalData; // EMCAL pedestal\r
330617b9 69 TString fOCDBpath; // Path with OCDB location\r
70\r
71 //Temporal arrays\r
542e1379 72 TClonesArray *fDigitsArr; //-> Digits array\r
73 TObjArray *fClusterArr; //-> Recpoints array\r
74 TObjArray *fCaloClusterArr; //-> CaloClusters array\r
330617b9 75\r
76 //Clusterizers \r
542e1379 77 AliEMCALRecParam *fRecParam; // Reconstruction parameters container\r
78 AliEMCALClusterizer *fClusterizer; //! EMCAL clusterizer\r
79 AliEMCALAfterBurnerUF *fUnfolder; //! Unfolding procedure\r
330617b9 80 Bool_t fJustUnfold; // Just unfold, do not recluster\r
81 \r
82 //AOD\r
542e1379 83 TClonesArray *fOutputAODBranch; //! AOD Branch with output clusters \r
330617b9 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
bd9e8ebd 87 Int_t fRun; //!run number\r
330617b9 88 ClassDef(AliAnalysisTaskEMCALClusterize, 1);\r
89};\r
90\r
91#endif //ALIANALYSISTASKEMCALCLUSTERIZE_H\r