]>
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 | |
19 | \r | |
20 | #include "AliAnalysisTaskSE.h"\r | |
21 | \r | |
22 | class 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 |