]>
Commit | Line | Data |
---|---|---|
7a4cf423 | 1 | #ifndef ALIANALYSISTASKCALOFILTER_H |
2 | #define ALIANALYSISTASKCALOFILTER_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id: AliAnalysisTaskCaloFilter.h $ */ | |
8 | ||
9 | ////////////////////////////////////////////////////////// | |
10 | // Filter the ESDCaloClusters and ESDCaloCells of EMCAL, | |
11 | // PHOS or both, creating the corresponing AODCaloClusters | |
12 | // and AODCaloCells. | |
13 | // Keep also the AODHeader information and the vertex. | |
14 | // Needed for calorimeter calibration. | |
15 | // Copy of AliAnalysisTaskESDfilter. | |
16 | // Author: Gustavo Conesa Balbastre (INFN - Frascati) | |
17 | ////////////////////////////////////////////////////////// | |
18 | ||
247abff4 | 19 | class TList; |
20 | ||
7a4cf423 | 21 | #include "AliAnalysisTaskSE.h" |
247abff4 | 22 | class AliEMCALRecoUtils; |
23 | class AliEMCALGeometry; | |
3a58eee6 | 24 | class AliESDtrackCuts; |
7a4cf423 | 25 | |
26 | class AliAnalysisTaskCaloFilter : public AliAnalysisTaskSE | |
27 | { | |
28 | public: | |
29 | AliAnalysisTaskCaloFilter(); | |
30 | AliAnalysisTaskCaloFilter(const char* name); | |
247abff4 | 31 | virtual ~AliAnalysisTaskCaloFilter() ; |
7a4cf423 | 32 | |
247abff4 | 33 | private: |
34 | AliAnalysisTaskCaloFilter(const AliAnalysisTaskCaloFilter&); | |
35 | AliAnalysisTaskCaloFilter& operator=(const AliAnalysisTaskCaloFilter&); | |
36 | ||
37 | public: | |
7a4cf423 | 38 | virtual void UserCreateOutputObjects(); |
247abff4 | 39 | //virtual void Init(); |
40 | //virtual void LocalInit() ; | |
7a4cf423 | 41 | virtual void UserExec(Option_t *option); |
42 | virtual void Terminate(Option_t *option); | |
43 | ||
247abff4 | 44 | enum caloFilter {kBoth = 0, kEMCAL = 1, kPHOS=2}; |
45 | void SetCaloFilter(Int_t calo) {fCaloFilter = calo;} | |
46 | TString GetCaloFilter() const {return fCaloFilter;} | |
7a4cf423 | 47 | |
3b13c34c | 48 | void SetEMCALGeometryName(TString name) { fEMCALGeoName = name ; } |
49 | TString EMCALGeometryName() const { return fEMCALGeoName ; } | |
50 | ||
51 | void SwitchOnLoadOwnEMCALGeometryMatrices() { fLoadEMCALMatrices = kTRUE ; } | |
52 | void SwitchOffLoadOwnEMCALGeometryMatrices() { fLoadEMCALMatrices = kFALSE ; } | |
53 | void SetEMCALGeometryMatrixInSM(TGeoHMatrix* m, Int_t i) { fEMCALMatrix[i] = m ; } | |
54 | ||
55 | //void SwitchOnLoadOwnPHOSGeometryMatrices() { fLoadPHOSMatrices = kTRUE ; } | |
56 | //void SwitchOffLoadOwnPHOSGeometryMatrices() { fLoadPHOSMatrices = kFALSE ; } | |
57 | //void SetPHOSGeometryMatrixInSM(TGeoHMatrix* m, Int_t i) { fPHOSMatrix[i] = m ; } | |
7a4cf423 | 58 | |
247abff4 | 59 | void SetEMCALRecoUtils(AliEMCALRecoUtils * ru) {fEMCALRecoUtils = ru;} |
60 | AliEMCALRecoUtils* GetEMCALRecoUtils() const {return fEMCALRecoUtils;} | |
61 | ||
62 | void SwitchOnClusterCorrection() {fCorrect = kTRUE ;} | |
63 | void SwitchOffClusterCorrection() {fCorrect = kFALSE;} | |
64 | ||
3a58eee6 | 65 | AliESDtrackCuts* GetTrackCuts() const { return fESDtrackCuts ; } |
66 | void SetTrackCuts(AliESDtrackCuts * cuts) { fESDtrackCuts = cuts ; } | |
67 | Float_t GetTrackMultiplicityEtaCut() const { return fTrackMultEtaCut ; } | |
68 | void SetTrackMultiplicityEtaCut(Float_t eta) { fTrackMultEtaCut = eta ; } | |
69 | ||
5ef94e1b | 70 | void PrintInfo(); |
71 | ||
247abff4 | 72 | private: |
7a4cf423 | 73 | |
247abff4 | 74 | //TList* fCuts ; //! List with analysis cuts |
75 | Int_t fCaloFilter; // Calorimeter to filter | |
76 | Int_t fCorrect; // Recalibrate or recalculate different cluster parameters | |
77 | //EMCAL specific | |
78 | AliEMCALGeometry * fEMCALGeo; //! EMCAL geometry | |
79 | TString fEMCALGeoName; // Name of geometry to use. | |
80 | AliEMCALRecoUtils * fEMCALRecoUtils; // Pointer to EMCAL utilities for clusterization | |
81 | ||
3a58eee6 | 82 | AliESDtrackCuts *fESDtrackCuts ; // Track cut |
83 | Float_t fTrackMultEtaCut ; // Track multiplicity eta cut | |
84 | ||
3b13c34c | 85 | Bool_t fLoadEMCALMatrices; // Matrices set from configuration, not get from geometry.root or from ESDs/AODs |
86 | TGeoHMatrix * fEMCALMatrix[10]; // Geometry matrices with alignments | |
87 | //Bool_t fLoadPHOSMatrices; // Matrices set from configuration, not get from geometry.root or from ESDs/AODs | |
88 | //TGeoHMatrix * fPHOSMatrix[5]; // Geometry matrices with alignments | |
89 | Bool_t fGeoMatrixSet; // Set geometry matrices only once, for the first event. | |
3a58eee6 | 90 | |
3b13c34c | 91 | ClassDef(AliAnalysisTaskCaloFilter, 4); // Analysis task for standard ESD filtering |
7a4cf423 | 92 | }; |
93 | ||
94 | #endif |