-#ifndef ALIANALYSISTASKEMCALCLUSTERIZE_H\r
-#define ALIANALYSISTASKEMCALCLUSTERIZE_H\r
-\r
-// This analysis provides a new list of clusters to be used in other analysis\r
-// Author: Gustavo Conesa Balbastre,\r
-// Adapted from analysis class from Deepa Thomas\r
-\r
-//Root\r
-class TTree;\r
-class TClonesArray;\r
-\r
-//EMCAL\r
-class AliEMCALGeometry;\r
-class AliEMCALCalibData;\r
-class AliCaloCalibPedestal;\r
-class AliEMCALClusterizer;\r
-class AliEMCALAfterBurnerUF;\r
-class AliEMCALRecParam;\r
-class AliEMCALRecoUtils;\r
-\r
-\r
-#include "AliAnalysisTaskSE.h"\r
-\r
-class AliAnalysisTaskEMCALClusterize : public AliAnalysisTaskSE {\r
- public:\r
- AliAnalysisTaskEMCALClusterize();\r
- AliAnalysisTaskEMCALClusterize(const char *name);\r
- virtual ~AliAnalysisTaskEMCALClusterize();\r
-\r
- private: \r
- AliAnalysisTaskEMCALClusterize(const AliAnalysisTaskEMCALClusterize&); \r
- AliAnalysisTaskEMCALClusterize& operator=(const AliAnalysisTaskEMCALClusterize&); // not implemented\r
- \r
- public:\r
- virtual void UserCreateOutputObjects();\r
- virtual void UserExec(Option_t *option);\r
- virtual void Init();\r
- virtual void LocalInit() { Init() ; }\r
- Bool_t AccessOCDB();\r
-\r
- void SetOCDBPath(const char *path) { fOCDBpath = path ; }\r
- \r
- //Geometry methods\r
- void SetGeometryName(TString &name) { fGeomName = name ; }\r
- TString GeometryName() const { return fGeomName ; } \r
- void SwitchOnLoadOwnGeometryMatrices() { fLoadGeomMatrices = kTRUE ; }\r
- void SwitchOffLoadOwnGeometryMatrices() { fLoadGeomMatrices = kFALSE ; } \r
- void SetGeometryMatrixInSM(TGeoHMatrix* m, Int_t i) { fGeomMatrix[i] = m ; }\r
-\r
- //AOD methods\r
- void SetAODBranchName(TString &name) { fOutputAODBranchName = name ; }\r
- void FillAODFile(Bool_t yesno) { fFillAODFile = yesno ; }\r
- \r
- //Algorithms settings\r
- void JustUnfold(Bool_t yesno) { fJustUnfold = yesno ; }\r
- AliEMCALRecParam * GetRecParam() const { return fRecParam ; }\r
- void InitClusterization();\r
- \r
- void SetEMCALRecoUtils(AliEMCALRecoUtils * ru) { fRecoUtils = ru ; }\r
- AliEMCALRecoUtils* GetRecoUtils() const { return fRecoUtils ; }\r
- \r
- void SetConfigFileName(TString name) { fConfigName = name ; }\r
- \r
- private:\r
- \r
- virtual void RecPoints2Clusters(TClonesArray *fdigitsArr, TObjArray *fRecPoints, TObjArray *clusArray);\r
- \r
- //Geometry \r
- AliEMCALGeometry *fGeom; // EMCAL geometry\r
- TString fGeomName; // Name of geometry to use.\r
- TGeoHMatrix *fGeomMatrix[10]; // Geometry matrices with alignments\r
- Bool_t fGeomMatrixSet; // Set geometry matrices only once, for the first event. \r
- Bool_t fLoadGeomMatrices; // Matrices set from configuration, not get from geometry.root or from ESDs/AODs\r
-\r
- //OCDB\r
- AliEMCALCalibData *fCalibData; // EMCAL calib data\r
- AliCaloCalibPedestal *fPedestalData; // EMCAL pedestal\r
- TString fOCDBpath; // Path with OCDB location\r
-\r
- //Temporal arrays\r
- TClonesArray *fDigitsArr; //-> Digits array\r
- TObjArray *fClusterArr; //-> Recpoints array\r
- TObjArray *fCaloClusterArr; //-> CaloClusters array\r
-\r
- //Clusterizers \r
- AliEMCALRecParam *fRecParam; // Reconstruction parameters container\r
- AliEMCALClusterizer *fClusterizer; //! EMCAL clusterizer\r
- AliEMCALAfterBurnerUF *fUnfolder; //! Unfolding procedure\r
- Bool_t fJustUnfold; // Just unfold, do not recluster\r
- \r
- //AOD\r
- TClonesArray *fOutputAODBranch; //! AOD Branch with output clusters \r
- TString fOutputAODBranchName; // New of output AOD branch\r
- Bool_t fFillAODFile; // Fill the output AOD file with the new clusters, \r
- // if not they will be only available for the event they were generated\r
- Int_t fRun; //!run number\r
- \r
- AliEMCALRecoUtils* fRecoUtils; // Access to factorized reconstruction algorithms\r
- TString fConfigName; // Name of analysis configuration file\r
- \r
- Int_t fCellLabels[12672];// Array with MC label to be passed to digit. \r
- \r
- ClassDef(AliAnalysisTaskEMCALClusterize, 4);\r
-};\r
-\r
-#endif //ALIANALYSISTASKEMCALCLUSTERIZE_H\r
+#ifndef ALIANALYSISTASKEMCALCLUSTERIZE_H
+#define ALIANALYSISTASKEMCALCLUSTERIZE_H
+
+// This analysis provides a new list of clusters to be used in other analysis
+// Author: Gustavo Conesa Balbastre,
+// Adapted from analysis class from Deepa Thomas
+
+//Root
+class TTree;
+class TClonesArray;
+
+//EMCAL
+class AliEMCALGeometry;
+class AliEMCALCalibData;
+class AliCaloCalibPedestal;
+class AliEMCALClusterizer;
+class AliEMCALAfterBurnerUF;
+class AliEMCALRecParam;
+class AliEMCALRecoUtils;
+
+
+#include "AliAnalysisTaskSE.h"
+
+class AliAnalysisTaskEMCALClusterize : public AliAnalysisTaskSE {
+ public:
+ AliAnalysisTaskEMCALClusterize();
+ AliAnalysisTaskEMCALClusterize(const char *name);
+ virtual ~AliAnalysisTaskEMCALClusterize();
+
+ private:
+ AliAnalysisTaskEMCALClusterize(const AliAnalysisTaskEMCALClusterize&);
+ AliAnalysisTaskEMCALClusterize& operator=(const AliAnalysisTaskEMCALClusterize&); // not implemented
+
+ public:
+ virtual void UserCreateOutputObjects();
+ virtual void UserExec(Option_t *option);
+ virtual void Init();
+ virtual void LocalInit() { Init() ; }
+ Bool_t AccessOCDB();
+
+ void SetOCDBPath(const char *path) { fOCDBpath = path ; }
+
+ //Geometry methods
+ void SetGeometryName(TString &name) { fGeomName = name ; }
+ TString GeometryName() const { return fGeomName ; }
+ void SwitchOnLoadOwnGeometryMatrices() { fLoadGeomMatrices = kTRUE ; }
+ void SwitchOffLoadOwnGeometryMatrices() { fLoadGeomMatrices = kFALSE ; }
+ void SetGeometryMatrixInSM(TGeoHMatrix* m, Int_t i) { fGeomMatrix[i] = m ; }
+
+ //AOD methods
+ void SetAODBranchName(TString &name) { fOutputAODBranchName = name ; }
+ void FillAODFile(Bool_t yesno) { fFillAODFile = yesno ; }
+
+ //Algorithms settings
+ void JustUnfold(Bool_t yesno) { fJustUnfold = yesno ; }
+ AliEMCALRecParam * GetRecParam() const { return fRecParam ; }
+ void InitClusterization();
+
+ void SetEMCALRecoUtils(AliEMCALRecoUtils * ru) { fRecoUtils = ru ; }
+ AliEMCALRecoUtils* GetRecoUtils() const { return fRecoUtils ; }
+
+ void SetConfigFileName(TString name) { fConfigName = name ; }
+
+ private:
+
+ virtual void RecPoints2Clusters(TClonesArray *fdigitsArr, TObjArray *fRecPoints, TObjArray *clusArray);
+
+ //Geometry
+ AliEMCALGeometry *fGeom; // EMCAL geometry
+ TString fGeomName; // Name of geometry to use.
+ TGeoHMatrix *fGeomMatrix[10]; // Geometry matrices with alignments
+ Bool_t fGeomMatrixSet; // Set geometry matrices only once, for the first event.
+ Bool_t fLoadGeomMatrices; // Matrices set from configuration, not get from geometry.root or from ESDs/AODs
+
+ //OCDB
+ AliEMCALCalibData *fCalibData; // EMCAL calib data
+ AliCaloCalibPedestal *fPedestalData; // EMCAL pedestal
+ TString fOCDBpath; // Path with OCDB location
+
+ //Temporal arrays
+ TClonesArray *fDigitsArr; //-> Digits array
+ TObjArray *fClusterArr; //-> Recpoints array
+ TObjArray *fCaloClusterArr; //-> CaloClusters array
+
+ //Clusterizers
+ AliEMCALRecParam *fRecParam; // Reconstruction parameters container
+ AliEMCALClusterizer *fClusterizer; //! EMCAL clusterizer
+ AliEMCALAfterBurnerUF *fUnfolder; //! Unfolding procedure
+ Bool_t fJustUnfold; // Just unfold, do not recluster
+
+ //AOD
+ TClonesArray *fOutputAODBranch; //! AOD Branch with output clusters
+ TString fOutputAODBranchName; // New of output AOD branch
+ Bool_t fFillAODFile; // Fill the output AOD file with the new clusters,
+ // if not they will be only available for the event they were generated
+ Int_t fRun; //!run number
+
+ AliEMCALRecoUtils* fRecoUtils; // Access to factorized reconstruction algorithms
+ TString fConfigName; // Name of analysis configuration file
+
+ Int_t fCellLabels[12672]; // Array with MC label to be passed to digit.
+ Int_t fCellSecondLabels[12672]; // Array with Second MC label to be passed to digit.
+
+ ClassDef(AliAnalysisTaskEMCALClusterize, 5);
+};
+
+#endif //ALIANALYSISTASKEMCALCLUSTERIZE_H