]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/AliAnalysisTaskPIDResponse.h
Translation of the class AliESDv0KineCuts to the AOD case
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskPIDResponse.h
1 #ifndef ALIANALYSISTASKPIDRESPONSE_H
2 #define ALIANALYSISTASKPIDRESPONSE_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: AliAnalysisTaskPIDResponse.h 43642 2010-09-17 15:50:04Z wiechula $ */
8 // Author: Jens Wiechula, 24/02/2011
9
10 //==============================================================================
11 //
12 //
13 //
14 //
15 //==============================================================================
16
17 #include <TVectorDfwd.h>
18 #include <TString.h>
19
20 #ifndef ALIANALYSISTASKSE_H
21 #include "AliAnalysisTaskSE.h"
22 #endif
23
24 class AliPIDResponse;
25 class AliVEvent;
26
27 class AliAnalysisTaskPIDResponse : public AliAnalysisTaskSE {
28   
29   
30 public:
31   AliAnalysisTaskPIDResponse();
32   AliAnalysisTaskPIDResponse(const char *name);
33   virtual ~AliAnalysisTaskPIDResponse();
34
35   void SetIsMC(Bool_t isMC=kTRUE)   { fIsMC=isMC; }
36   void SetCachePID(Bool_t cachePID) { fCachePID=cachePID; }
37   Bool_t GetCachePID() const { return fCachePID; }
38   
39   virtual void UserCreateOutputObjects();
40   
41   virtual void UserExec(Option_t */*option*/);
42
43   void SetOADBPath(const char* path) {fOADBPath=path;}
44   const char* GetOADBPath() const { return fOADBPath.Data(); }
45   void SetTuneOnData(Bool_t flag,Int_t recopass){fIsTunedOnData=flag;fRecoPassTuned=recopass;};
46   void SetTuneOnDataMask(Int_t mask){fTunedOnDataMask=mask;};
47   
48   void SetUseTPCEtaCorrection(Bool_t useTPCEtaCorrection) { fUseTPCEtaCorrection = useTPCEtaCorrection; };
49   Bool_t UseTPCEtaCorrection() const { return fUseTPCEtaCorrection; };
50   
51   void SetUseTPCMultiplicityCorrection(Bool_t useMultiplicityCorrection = kTRUE) { fUseTPCMultiplicityCorrection = useMultiplicityCorrection; };
52   Bool_t UseTPCMultiplicityCorrection() const { return fUseTPCMultiplicityCorrection; };
53
54   void SetSpecialDetectorResponse(const char* det) { fSpecialDetResponse=det; }
55   void SetUserDataRecoPass(Int_t pass){fUserDataRecoPass=pass;};
56
57
58 private:
59   Bool_t fIsMC;                        // If we run on MC data
60   Bool_t fCachePID;                    // Cache PID values in transient object
61   TString fOADBPath;                   // OADB path to use
62   TString fSpecialDetResponse;         // Special detector response files for debugging
63   
64   AliPIDResponse *fPIDResponse;        //! PID response Handler
65   Int_t   fRun;                        //! current run number
66   Int_t   fOldRun;                     //! current run number
67   Int_t   fRecoPass;                   //! reconstruction pass
68
69   Bool_t  fIsTunedOnData;              // flag to tune MC on data (dE/dx)
70   Int_t   fTunedOnDataMask;            // mask to activate tuning on data on specific detectors
71   Int_t   fRecoPassTuned;              // Reco pass tuned on data for MC
72   
73   Bool_t fUseTPCEtaCorrection;          // Use TPC eta correction
74   Bool_t fUseTPCMultiplicityCorrection; // Use TPC multiplicity correction
75   Int_t  fUserDataRecoPass;            //! forced DATA reco pass
76   
77   //
78   void SetRecoInfo();
79     
80   AliAnalysisTaskPIDResponse(const AliAnalysisTaskPIDResponse &other);
81   AliAnalysisTaskPIDResponse& operator=(const AliAnalysisTaskPIDResponse &other);
82   
83   ClassDef(AliAnalysisTaskPIDResponse,7)  // Task to properly set the PID response functions of all detectors
84 };
85 #endif