]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/CaloCalib/AliAnalysisTaskEMCALClusterizeFast.h
option to recalib only
[u/mrichter/AliRoot.git] / PWG4 / CaloCalib / AliAnalysisTaskEMCALClusterizeFast.h
CommitLineData
2f7259cf 1#ifndef ALIANALYSISTASKEMCALCLUSTERIZEFAST_H
2#define ALIANALYSISTASKEMCALCLUSTERIZEFAST_H
3
4// $Id$
5
6class TObjArray;
7class TClonesArray;
8class AliAODEvent;
9class AliESDEvent;
10class AliEMCALCalibData;
11class AliCaloCalibPedestal;
12class AliEMCALClusterizer;
13class AliEMCALAfterBurnerUF;
14class AliEMCALRecParam;
15class AliEMCALRecoUtils;
16
17#include "AliAnalysisTaskSE.h"
18
19class 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