1 #ifndef ALIANALYSISTASKCALOFILTER_H
2 #define ALIANALYSISTASKCALOFILTER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 /* $Id: AliAnalysisTaskCaloFilter.h $ */
9 //////////////////////////////////////////////////////////
10 // Filter the ESDCaloClusters and ESDCaloCells of EMCAL,
11 // PHOS or both, creating the corresponing AODCaloClusters
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 //////////////////////////////////////////////////////////
21 #include "AliAnalysisTaskSE.h"
22 class AliEMCALRecoUtils;
23 class AliEMCALGeometry;
24 class AliESDtrackCuts;
26 class AliAnalysisTaskCaloFilter : public AliAnalysisTaskSE
29 AliAnalysisTaskCaloFilter();
30 AliAnalysisTaskCaloFilter(const char* name);
31 virtual ~AliAnalysisTaskCaloFilter() ;
34 AliAnalysisTaskCaloFilter(const AliAnalysisTaskCaloFilter&);
35 AliAnalysisTaskCaloFilter& operator=(const AliAnalysisTaskCaloFilter&);
38 virtual void UserCreateOutputObjects();
39 //virtual void Init();
40 //virtual void LocalInit() ;
41 virtual void UserExec(Option_t *option);
42 virtual void Terminate(Option_t *option);
44 enum caloFilter {kBoth = 0, kEMCAL = 1, kPHOS=2};
45 void SetCaloFilter(Int_t calo) {fCaloFilter = calo;}
46 TString GetCaloFilter() const {return fCaloFilter;}
48 void SetGeometryName(TString name) { fEMCALGeoName = name ; }
49 TString GeometryName() const { return fEMCALGeoName ; }
51 void SetEMCALRecoUtils(AliEMCALRecoUtils * ru) {fEMCALRecoUtils = ru;}
52 AliEMCALRecoUtils* GetEMCALRecoUtils() const {return fEMCALRecoUtils;}
54 void SwitchOnClusterCorrection() {fCorrect = kTRUE ;}
55 void SwitchOffClusterCorrection() {fCorrect = kFALSE;}
57 AliESDtrackCuts* GetTrackCuts() const { return fESDtrackCuts ; }
58 void SetTrackCuts(AliESDtrackCuts * cuts) { fESDtrackCuts = cuts ; }
59 Float_t GetTrackMultiplicityEtaCut() const { return fTrackMultEtaCut ; }
60 void SetTrackMultiplicityEtaCut(Float_t eta) { fTrackMultEtaCut = eta ; }
67 //TList* fCuts ; //! List with analysis cuts
68 Int_t fCaloFilter; // Calorimeter to filter
69 Int_t fCorrect; // Recalibrate or recalculate different cluster parameters
71 AliEMCALGeometry * fEMCALGeo; //! EMCAL geometry
72 TString fEMCALGeoName; // Name of geometry to use.
73 AliEMCALRecoUtils * fEMCALRecoUtils; // Pointer to EMCAL utilities for clusterization
75 AliESDtrackCuts *fESDtrackCuts ; // Track cut
76 Float_t fTrackMultEtaCut ; // Track multiplicity eta cut
79 ClassDef(AliAnalysisTaskCaloFilter, 3); // Analysis task for standard ESD filtering