]>
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 ; } |
2f7259cf | 31 | const TObjArray *GetClusters() const { return fClusterArr ; } |
32 | const TString &GeometryName() const { return fGeomName ; } | |
33 | AliEMCALRecParam *GetRecParam() const { return fRecParam ; } | |
34 | AliEMCALRecoUtils *GetRecoUtils() const { return fRecoUtils ; } | |
dc503ae1 | 35 | AliEMCALCalibData *GetCalibData() const { return fCalibData ; } |
36 | AliCaloCalibPedestal *GetPedData() const { return fPedestalData ; } | |
2f7259cf | 37 | void JustUnfold(Bool_t yesno) { fJustUnfold = yesno ; } |
38 | void LoadOwnGeometryMatrices(Bool_t b) { fLoadGeomMatrices = b ; } | |
39 | void SetAODBranchName(const char *name) { fOutputAODBrName = name ; } | |
4cf9204b | 40 | void SetAttachClusters(Bool_t b) { fAttachClusters = b ; } |
2f7259cf | 41 | void SetCalibData(AliEMCALCalibData *d) { fCalibData = d ; } |
42 | void SetEMCALRecoUtils(AliEMCALRecoUtils *ru) { fRecoUtils = ru ; } | |
43 | void SetGeometryMatrix(TGeoHMatrix* m, Int_t i) { fGeomMatrix[i] = m ; } | |
44 | void SetGeometryName(const char *name) { fGeomName = name ; } | |
10d33986 | 45 | void SetLoadCalib(Bool_t b) { fLoadCalib = b ; } |
46 | void SetLoadPed(Bool_t b) { fLoadPed = b ; } | |
4cf9204b | 47 | void SetOCDBPath(const char *path) { fOCDBpath = path ; } |
48 | void SetPedestalData(AliCaloCalibPedestal *d) { fPedestalData = d ; } | |
b0e354fe | 49 | void SetRecalibrateCellsOnly(Bool_t b) { fRecalibOnly = b ; } |
2f7259cf | 50 | |
51 | private: | |
52 | AliAnalysisTaskEMCALClusterizeFast(const AliAnalysisTaskEMCALClusterizeFast&); // not implemented | |
53 | AliAnalysisTaskEMCALClusterizeFast &operator=(const AliAnalysisTaskEMCALClusterizeFast&); // not implemented | |
54 | ||
55 | void Init(); | |
56 | void FillDigitsArray(AliAODEvent *event); | |
57 | void FillDigitsArray(AliESDEvent *event); | |
2431b20f | 58 | void UpdateCells(AliAODEvent *event); |
59 | void UpdateCells(AliESDEvent *event); | |
4cf9204b | 60 | void UpdateClusters(AliAODEvent *event); |
61 | void UpdateClusters(AliESDEvent *event); | |
62 | void RecPoints2AODClusters(TClonesArray *clus); | |
63 | void RecPoints2ESDClusters(TClonesArray *clus); | |
2f7259cf | 64 | |
65 | Int_t fRun; //!run number | |
66 | TClonesArray *fDigitsArr; //!digits array | |
67 | TObjArray *fClusterArr; //!recpoints array | |
68 | AliEMCALRecParam *fRecParam; // reconstruction parameters container | |
69 | AliEMCALClusterizer *fClusterizer; //!clusterizer | |
70 | AliEMCALAfterBurnerUF *fUnfolder; //!unfolding procedure | |
71 | Bool_t fJustUnfold; // just unfold, do not recluster | |
72 | TString fGeomName; // name of geometry to use. | |
73 | Bool_t fGeomMatrixSet; // set geometry matrices only once, for the first event. | |
74 | Bool_t fLoadGeomMatrices; // matrices from configuration, not geometry.root nor ESDs/AODs | |
75 | TGeoHMatrix *fGeomMatrix[10]; // geometry matrices with alignments | |
76 | TString fOCDBpath; // path with OCDB location | |
77 | AliEMCALCalibData *fCalibData; // EMCAL calib data | |
78 | AliCaloCalibPedestal *fPedestalData; // EMCAL pedestal | |
79 | TClonesArray *fOutputAODBranch; //!AOD Branch with output clusters | |
80 | TString fOutputAODBrName; // output AOD branch name (none by default) | |
81 | AliEMCALRecoUtils *fRecoUtils; // access to factorized reconstruction algorithms | |
10d33986 | 82 | Bool_t fLoadCalib; // access calib object from OCDB (def=off) |
83 | Bool_t fLoadPed; // access ped object from OCDB (def=off) | |
4cf9204b | 84 | Bool_t fAttachClusters; // attach clusters to input event (AOD or ESD) |
b0e354fe | 85 | Bool_t fRecalibOnly; // only recalibrate cells if true (def=off) |
10d33986 | 86 | |
b0e354fe | 87 | ClassDef(AliAnalysisTaskEMCALClusterizeFast, 4); |
2f7259cf | 88 | }; |
89 | #endif //ALIANALYSISTASKEMCALCLUSTERIZEFAST_H |