]>
Commit | Line | Data |
---|---|---|
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 | Bool_t GetTunedOnData() const { return fIsTunedOnData; }; | |
47 | void SetTuneOnDataMask(Int_t mask){fTunedOnDataMask=mask;}; | |
48 | ||
49 | void SetUseTPCEtaCorrection(Bool_t useTPCEtaCorrection) { fUseTPCEtaCorrection = useTPCEtaCorrection; }; | |
50 | Bool_t UseTPCEtaCorrection() const { return fUseTPCEtaCorrection; }; | |
51 | ||
52 | void SetUseTPCMultiplicityCorrection(Bool_t useMultiplicityCorrection = kTRUE) { fUseTPCMultiplicityCorrection = useMultiplicityCorrection; }; | |
53 | Bool_t UseTPCMultiplicityCorrection() const { return fUseTPCMultiplicityCorrection; }; | |
54 | ||
55 | void SetSpecialDetectorResponse(const char* det) { fSpecialDetResponse=det; } | |
56 | void SetUserDataRecoPass(Int_t pass){fUserDataRecoPass=pass;}; | |
57 | ||
58 | ||
59 | private: | |
60 | Bool_t fIsMC; // If we run on MC data | |
61 | Bool_t fCachePID; // Cache PID values in transient object | |
62 | TString fOADBPath; // OADB path to use | |
63 | TString fSpecialDetResponse; // Special detector response files for debugging | |
64 | ||
65 | AliPIDResponse *fPIDResponse; //! PID response Handler | |
66 | Int_t fRun; //! current run number | |
67 | Int_t fOldRun; //! current run number | |
68 | Int_t fRecoPass; //! reconstruction pass | |
69 | ||
70 | Bool_t fIsTunedOnData; // flag to tune MC on data (dE/dx) | |
71 | Int_t fTunedOnDataMask; // mask to activate tuning on data on specific detectors | |
72 | Int_t fRecoPassTuned; // Reco pass tuned on data for MC | |
73 | ||
74 | Bool_t fUseTPCEtaCorrection; // Use TPC eta correction | |
75 | Bool_t fUseTPCMultiplicityCorrection; // Use TPC multiplicity correction | |
76 | Int_t fUserDataRecoPass; // forced DATA reco pass | |
77 | ||
78 | // | |
79 | void SetRecoInfo(); | |
80 | ||
81 | AliAnalysisTaskPIDResponse(const AliAnalysisTaskPIDResponse &other); | |
82 | AliAnalysisTaskPIDResponse& operator=(const AliAnalysisTaskPIDResponse &other); | |
83 | ||
84 | ClassDef(AliAnalysisTaskPIDResponse,7) // Task to properly set the PID response functions of all detectors | |
85 | }; | |
86 | #endif |