]>
Commit | Line | Data |
---|---|---|
2f7259cf | 1 | #ifndef ALIANALYSISTASKEMCALCLUSTERIZEFAST_H |
2 | #define ALIANALYSISTASKEMCALCLUSTERIZEFAST_H | |
3 | ||
4 | // $Id$ | |
5 | ||
6 | class TObjArray; | |
7 | class TClonesArray; | |
8 | class AliAODEvent; | |
9 | class AliESDEvent; | |
10 | class AliEMCALCalibData; | |
11 | class AliCaloCalibPedestal; | |
12 | class AliEMCALClusterizer; | |
13 | class AliEMCALAfterBurnerUF; | |
14 | class AliEMCALRecParam; | |
15 | class AliEMCALRecoUtils; | |
16 | ||
17 | #include "AliAnalysisTaskSE.h" | |
18 | ||
19 | class AliAnalysisTaskEMCALClusterizeFast : public AliAnalysisTaskSE { | |
20 | public: | |
2431b20f | 21 | AliAnalysisTaskEMCALClusterizeFast(); |
22 | AliAnalysisTaskEMCALClusterizeFast(const char *name); | |
2f7259cf | 23 | virtual ~AliAnalysisTaskEMCALClusterizeFast(); |
24 | ||
25 | public: | |
26 | virtual void UserCreateOutputObjects(); | |
27 | virtual void UserExec(Option_t *option); | |
28 | ||
dc503ae1 | 29 | Bool_t GetAttachClusters() const { return fAttachClusters ; } |
b0e354fe | 30 | Bool_t GetRecalibrateOnly() const { return fRecalibOnly ; } |
95f69c66 | 31 | Bool_t GetSubBackground() const { return fSubBackground ; } |
2f7259cf | 32 | const TObjArray *GetClusters() const { return fClusterArr ; } |
33 | const TString &GeometryName() const { return fGeomName ; } | |
34 | AliEMCALRecParam *GetRecParam() const { return fRecParam ; } | |
35 | AliEMCALRecoUtils *GetRecoUtils() const { return fRecoUtils ; } | |
dc503ae1 | 36 | AliEMCALCalibData *GetCalibData() const { return fCalibData ; } |
37 | AliCaloCalibPedestal *GetPedData() const { return fPedestalData ; } | |
94019119 | 38 | TGeoHMatrix *GetGeometryMatrix(Int_t i) const { return fGeomMatrix[i] ; } |
2f7259cf | 39 | void JustUnfold(Bool_t yesno) { fJustUnfold = yesno ; } |
40 | void LoadOwnGeometryMatrices(Bool_t b) { fLoadGeomMatrices = b ; } | |
41 | void SetAODBranchName(const char *name) { fOutputAODBrName = name ; } | |
4cf9204b | 42 | void SetAttachClusters(Bool_t b) { fAttachClusters = b ; } |
2f7259cf | 43 | void SetCalibData(AliEMCALCalibData *d) { fCalibData = d ; } |
44 | void SetEMCALRecoUtils(AliEMCALRecoUtils *ru) { fRecoUtils = ru ; } | |
45 | void SetGeometryMatrix(TGeoHMatrix* m, Int_t i) { fGeomMatrix[i] = m ; } | |
46 | void SetGeometryName(const char *name) { fGeomName = name ; } | |
10d33986 | 47 | void SetLoadCalib(Bool_t b) { fLoadCalib = b ; } |
48 | void SetLoadPed(Bool_t b) { fLoadPed = b ; } | |
4cf9204b | 49 | void SetOCDBPath(const char *path) { fOCDBpath = path ; } |
50 | void SetPedestalData(AliCaloCalibPedestal *d) { fPedestalData = d ; } | |
b0e354fe | 51 | void SetRecalibrateCellsOnly(Bool_t b) { fRecalibOnly = b ; } |
95f69c66 | 52 | void SetSubBackground(Bool_t b) { fSubBackground = b ; } |
2f7259cf | 53 | |
5c5b84d6 | 54 | protected: |
fa2d8807 | 55 | virtual void Clusterize(); |
56 | virtual void FillDigitsArray(); | |
57 | virtual void Init(); | |
58 | virtual void RecPoints2Clusters(TClonesArray *clus); | |
fa2d8807 | 59 | virtual void UpdateCells(); |
60 | virtual void UpdateClusters(); | |
2f7259cf | 61 | |
62 | Int_t fRun; //!run number | |
63 | TClonesArray *fDigitsArr; //!digits array | |
64 | TObjArray *fClusterArr; //!recpoints array | |
65 | AliEMCALRecParam *fRecParam; // reconstruction parameters container | |
66 | AliEMCALClusterizer *fClusterizer; //!clusterizer | |
67 | AliEMCALAfterBurnerUF *fUnfolder; //!unfolding procedure | |
68 | Bool_t fJustUnfold; // just unfold, do not recluster | |
69 | TString fGeomName; // name of geometry to use. | |
70 | Bool_t fGeomMatrixSet; // set geometry matrices only once, for the first event. | |
71 | Bool_t fLoadGeomMatrices; // matrices from configuration, not geometry.root nor ESDs/AODs | |
94019119 | 72 | TGeoHMatrix *fGeomMatrix[12]; // geometry matrices with alignments |
2f7259cf | 73 | TString fOCDBpath; // path with OCDB location |
74 | AliEMCALCalibData *fCalibData; // EMCAL calib data | |
75 | AliCaloCalibPedestal *fPedestalData; // EMCAL pedestal | |
76 | TClonesArray *fOutputAODBranch; //!AOD Branch with output clusters | |
77 | TString fOutputAODBrName; // output AOD branch name (none by default) | |
78 | AliEMCALRecoUtils *fRecoUtils; // access to factorized reconstruction algorithms | |
10d33986 | 79 | Bool_t fLoadCalib; // access calib object from OCDB (def=off) |
80 | Bool_t fLoadPed; // access ped object from OCDB (def=off) | |
4cf9204b | 81 | Bool_t fAttachClusters; // attach clusters to input event (AOD or ESD) |
b0e354fe | 82 | Bool_t fRecalibOnly; // only recalibrate cells if true (def=off) |
95f69c66 | 83 | Bool_t fSubBackground; // subtract background if true (def=off) |
10d33986 | 84 | |
5c5b84d6 | 85 | private: |
86 | AliAnalysisTaskEMCALClusterizeFast(const AliAnalysisTaskEMCALClusterizeFast&); // not implemented | |
87 | AliAnalysisTaskEMCALClusterizeFast &operator=(const AliAnalysisTaskEMCALClusterizeFast&); // not implemented | |
88 | ||
95f69c66 | 89 | ClassDef(AliAnalysisTaskEMCALClusterizeFast, 5); |
2f7259cf | 90 | }; |
91 | #endif //ALIANALYSISTASKEMCALCLUSTERIZEFAST_H |