]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/CaloCalib/AliAnalysisTaskCaloFilter.h
Move some methods from EMCALcalibration task and CalorimterUtils class to AliEMCALRec...
[u/mrichter/AliRoot.git] / PWG4 / CaloCalib / AliAnalysisTaskCaloFilter.h
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
19 class TList;
20
21 #include "AliAnalysisTaskSE.h"
22 class AliEMCALRecoUtils;
23 class AliEMCALGeometry;
24
25 class AliAnalysisTaskCaloFilter : public AliAnalysisTaskSE
26 {
27  public:
28   AliAnalysisTaskCaloFilter();
29   AliAnalysisTaskCaloFilter(const char* name);
30   virtual ~AliAnalysisTaskCaloFilter() ;
31   
32 private:
33   AliAnalysisTaskCaloFilter(const AliAnalysisTaskCaloFilter&);
34   AliAnalysisTaskCaloFilter& operator=(const AliAnalysisTaskCaloFilter&);
35   
36 public:
37   virtual void   UserCreateOutputObjects();
38   //virtual void   Init();
39   //virtual void   LocalInit() ;
40   virtual void   UserExec(Option_t *option);
41   virtual void   Terminate(Option_t *option);
42   
43   enum caloFilter {kBoth = 0, kEMCAL = 1, kPHOS=2};
44   void SetCaloFilter(Int_t calo) {fCaloFilter = calo;}
45   TString GetCaloFilter() const  {return fCaloFilter;}
46
47   void SetGeometryName(TString name) { fEMCALGeoName = name ; }
48   TString GeometryName() const       { return fEMCALGeoName ; }
49   
50   void SetEMCALRecoUtils(AliEMCALRecoUtils * ru) {fEMCALRecoUtils = ru;}
51   AliEMCALRecoUtils* GetEMCALRecoUtils() const   {return fEMCALRecoUtils;}
52
53   void SwitchOnClusterCorrection()  {fCorrect = kTRUE ;}
54   void SwitchOffClusterCorrection() {fCorrect = kFALSE;}
55
56 private:
57   
58   //TList* fCuts ;      //! List with analysis cuts
59   Int_t  fCaloFilter; // Calorimeter to filter
60   Int_t  fCorrect;    // Recalibrate or recalculate different cluster parameters
61   //EMCAL specific
62   AliEMCALGeometry  * fEMCALGeo;       //! EMCAL geometry
63   TString             fEMCALGeoName;   // Name of geometry to use.
64   AliEMCALRecoUtils * fEMCALRecoUtils; // Pointer to EMCAL utilities for clusterization
65
66   ClassDef(AliAnalysisTaskCaloFilter, 2); // Analysis task for standard ESD filtering
67 };
68
69 #endif