]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/CaloCalib/AliAnalysisTaskEMCALClusterize.h
hooks for PMD flow analysis
[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
29 \r
30 private:\r
31 AliAnalysisTaskEMCALClusterize(const AliAnalysisTaskEMCALClusterize&); // not implemented\r
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
bd9e8ebd 37 Bool_t AccessOCDB();\r
330617b9 38\r
39 void SetOCDBPath(const char *path) { fOCDBpath = path ; }\r
40 \r
41 //Geometry methods\r
42 void SetGeometryName(TString &name) { fGeomName = name ; }\r
385b7abf 43 TString GeometryName() const { return fGeomName ; } \r
330617b9 44 void SwitchOnLoadOwnGeometryMatrices() { fLoadGeomMatrices = kTRUE ; }\r
542e1379 45 void SwitchOffLoadOwnGeometryMatrices() { fLoadGeomMatrices = kFALSE ; } \r
330617b9 46 void SetGeometryMatrixInSM(TGeoHMatrix* m, Int_t i) { fGeomMatrix[i] = m ; }\r
47\r
48 //AOD methods\r
49 void SetAODBranchName(TString &name) { fOutputAODBranchName = name ; }\r
50 void FillAODFile(Bool_t yesno) { fFillAODFile = yesno ; }\r
51 \r
52 //Algorithms settings\r
53 void JustUnfold(Bool_t yesno) { fJustUnfold = yesno ; }\r
385b7abf 54 AliEMCALRecParam * GetRecParam() const { return fRecParam ; }\r
330617b9 55 void InitClusterization();\r
56 \r
385b7abf 57 void SetEMCALRecoUtils(AliEMCALRecoUtils * ru) { fRecoUtils = ru ; }\r
58 AliEMCALRecoUtils* GetRecoUtils() const { return fRecoUtils ; }\r
59 \r
330617b9 60 private:\r
61 \r
62 virtual void RecPoints2Clusters(TClonesArray *fdigitsArr, TObjArray *fRecPoints, TObjArray *clusArray);\r
63 \r
64 //Geometry \r
542e1379 65 AliEMCALGeometry *fGeom; // EMCAL geometry\r
330617b9 66 TString fGeomName; // Name of geometry to use.\r
542e1379 67 TGeoHMatrix *fGeomMatrix[10]; // Geometry matrices with alignments\r
330617b9 68 Bool_t fGeomMatrixSet; // Set geometry matrices only once, for the first event. \r
69 Bool_t fLoadGeomMatrices; // Matrices set from configuration, not get from geometry.root or from ESDs/AODs\r
70\r
71 //OCDB\r
542e1379 72 AliEMCALCalibData *fCalibData; // EMCAL calib data\r
73 AliCaloCalibPedestal *fPedestalData; // EMCAL pedestal\r
330617b9 74 TString fOCDBpath; // Path with OCDB location\r
75\r
76 //Temporal arrays\r
542e1379 77 TClonesArray *fDigitsArr; //-> Digits array\r
78 TObjArray *fClusterArr; //-> Recpoints array\r
79 TObjArray *fCaloClusterArr; //-> CaloClusters array\r
330617b9 80\r
81 //Clusterizers \r
542e1379 82 AliEMCALRecParam *fRecParam; // Reconstruction parameters container\r
83 AliEMCALClusterizer *fClusterizer; //! EMCAL clusterizer\r
84 AliEMCALAfterBurnerUF *fUnfolder; //! Unfolding procedure\r
330617b9 85 Bool_t fJustUnfold; // Just unfold, do not recluster\r
86 \r
87 //AOD\r
542e1379 88 TClonesArray *fOutputAODBranch; //! AOD Branch with output clusters \r
330617b9 89 TString fOutputAODBranchName; // New of output AOD branch\r
90 Bool_t fFillAODFile; // Fill the output AOD file with the new clusters, \r
91 // if not they will be only available for the event they were generated\r
385b7abf 92 Int_t fRun; //!run number\r
93 \r
94 AliEMCALRecoUtils* fRecoUtils; // Access to factorized reconstruction algorithms\r
95 \r
96 \r
97 ClassDef(AliAnalysisTaskEMCALClusterize, 2);\r
330617b9 98};\r
99\r
100#endif //ALIANALYSISTASKEMCALCLUSTERIZE_H\r