]>
Commit | Line | Data |
---|---|---|
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 | |
9 | class TTree;\r | |
10 | class TClonesArray;\r | |
11 | \r | |
12 | //EMCAL\r | |
13 | class AliEMCALGeometry;\r | |
14 | class AliEMCALCalibData;\r | |
15 | class AliCaloCalibPedestal;\r | |
16 | class AliEMCALClusterizer;\r | |
17 | class AliEMCALAfterBurnerUF;\r | |
18 | class AliEMCALRecParam;\r | |
385b7abf | 19 | class AliEMCALRecoUtils;\r |
20 | \r | |
330617b9 | 21 | \r |
22 | #include "AliAnalysisTaskSE.h"\r | |
23 | \r | |
24 | class 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 |