Line data Source code
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 0 : void SetIsMC(Bool_t isMC=kTRUE) { fIsMC=isMC; }
36 0 : void SetCachePID(Bool_t cachePID) { fCachePID=cachePID; }
37 0 : Bool_t GetCachePID() const { return fCachePID; }
38 :
39 : virtual void UserCreateOutputObjects();
40 :
41 : virtual void UserExec(Option_t */*option*/);
42 :
43 0 : void SetOADBPath(const char* path) {fOADBPath=path;}
44 0 : const char* GetOADBPath() const { return fOADBPath.Data(); }
45 0 : void SetTuneOnData(Bool_t flag,Int_t recopass){fIsTunedOnData=flag;fRecoPassTuned=recopass;};
46 0 : Bool_t GetTunedOnData() const { return fIsTunedOnData; };
47 0 : void SetTuneOnDataMask(Int_t mask){fTunedOnDataMask=mask;};
48 :
49 0 : void SetUseTPCEtaCorrection(Bool_t useTPCEtaCorrection) { fUseTPCEtaCorrection = useTPCEtaCorrection; };
50 0 : Bool_t UseTPCEtaCorrection() const { return fUseTPCEtaCorrection; };
51 :
52 0 : void SetUseTPCMultiplicityCorrection(Bool_t useMultiplicityCorrection = kTRUE) { fUseTPCMultiplicityCorrection = useMultiplicityCorrection; };
53 0 : Bool_t UseTPCMultiplicityCorrection() const { return fUseTPCMultiplicityCorrection; };
54 :
55 :
56 0 : void SetUseTRDEtaCorrection(Bool_t useTRDEtaCorrection) { fUseTRDEtaCorrection = useTRDEtaCorrection; };
57 0 : Bool_t UseTRDEtaCorrection() const { return fUseTRDEtaCorrection; };
58 :
59 :
60 0 : void SetSpecialDetectorResponse(const char* det) { fSpecialDetResponse=det; }
61 0 : void SetUserDataRecoPass(Int_t pass){fUserDataRecoPass=pass;};
62 :
63 :
64 : private:
65 : Bool_t fIsMC; // If we run on MC data
66 : Bool_t fCachePID; // Cache PID values in transient object
67 : TString fOADBPath; // OADB path to use
68 : TString fSpecialDetResponse; // Special detector response files for debugging
69 :
70 : AliPIDResponse *fPIDResponse; //! PID response Handler
71 : Int_t fRun; //! current run number
72 : Int_t fOldRun; //! current run number
73 : Int_t fRecoPass; //! reconstruction pass
74 :
75 : Bool_t fIsTunedOnData; // flag to tune MC on data (dE/dx)
76 : Int_t fTunedOnDataMask; // mask to activate tuning on data on specific detectors
77 : Int_t fRecoPassTuned; // Reco pass tuned on data for MC
78 :
79 : Bool_t fUseTPCEtaCorrection; // Use TPC eta correction
80 : Bool_t fUseTPCMultiplicityCorrection; // Use TPC multiplicity correction
81 : Bool_t fUseTRDEtaCorrection; // Use TRD eta correction
82 :
83 : Int_t fUserDataRecoPass; // forced DATA reco pass
84 :
85 : //
86 : void SetRecoInfo();
87 :
88 : AliAnalysisTaskPIDResponse(const AliAnalysisTaskPIDResponse &other);
89 : AliAnalysisTaskPIDResponse& operator=(const AliAnalysisTaskPIDResponse &other);
90 :
91 170 : ClassDef(AliAnalysisTaskPIDResponse,8) // Task to properly set the PID response functions of all detectors
92 : };
93 : #endif
|