1 #ifndef ALIANALYSISTASKSPECTRAALLCHAOD_H
2 #define ALIANALYSISTASKSPECTRAALLCHAOD_H
4 /* See cxx source for full Copyright notice */
6 //-------------------------------------------------------------------------
7 // AliAnalysisTaskSpectraAllChAOD
12 // Author: Leonardo Milano, CERN
13 //-------------------------------------------------------------------------
16 class AliSpectraAODTrackCuts;
17 class AliSpectraAODEventCuts;
20 #include "AliAnalysisTaskSE.h"
22 class AliAnalysisTaskSpectraAllChAOD : public AliAnalysisTaskSE
26 AliAnalysisTaskSpectraAllChAOD() : AliAnalysisTaskSE(),
49 AliAnalysisTaskSpectraAllChAOD(const char *name);
50 virtual ~AliAnalysisTaskSpectraAllChAOD() {
51 Printf("calling detructor of AliAnalysisTaskSpectraAllChAOD - To be implemented");
54 void SetIsMC(Bool_t isMC = kFALSE) {fIsMC = isMC; };
55 Bool_t GetIsMC() const { return fIsMC;};
57 void SetDoDoubleCounting(Bool_t doDoubleCounting = kFALSE) {fDoDoubleCounting = doDoubleCounting; };
58 Bool_t GetDoDoubleCounting() const { return fDoDoubleCounting;};
60 void SetFillOnlyEvents(Bool_t fillOnlyEvents = kFALSE) {fFillOnlyEvents = fillOnlyEvents; };
61 Bool_t GetFillOnlyEvents() const { return fFillOnlyEvents;};
63 void SetCharge(Int_t charge = 0) {fCharge = charge; };
64 Int_t GetCharge() const { return fCharge;};
66 void SetVZEROside(Int_t side = 0) {fVZEROside = side; };
67 Int_t GetVZEROside() const { return fVZEROside;};
69 virtual void UserCreateOutputObjects();
70 virtual void UserExec(Option_t *option);
71 virtual void Terminate(Option_t *);
73 AliSpectraAODTrackCuts * GetTrackCuts() { return fTrackCuts; }
74 AliSpectraAODEventCuts * GetEventCuts() { return fEventCuts; }
75 AliHelperPID * GetHelperPID() { return fHelperPID; }
76 TList * GetOutputList() { return fOutput; }
78 void SetTrackCuts(AliSpectraAODTrackCuts * tc) { fTrackCuts = tc; }
79 void SetEventCuts(AliSpectraAODEventCuts * vc) { fEventCuts = vc; }
80 void SetHelperPID(AliHelperPID* pid) { fHelperPID = pid; }
81 void SetnCentBins(Int_t val) { fnCentBins = val; }
82 void SetnQvecBins(Int_t val) { fnQvecBins = val; }
83 void SetnNchBins(Int_t val) { fnNchBins = val; }
84 void SetQvecCalibMode(Bool_t mode) { fIsQvecCalibMode = mode; }
85 void SetQvecUpperLimit(Double_t val) { fQvecUpperLim = val; }
87 void SetIsAOD160(Bool_t aod) { fIsAOD160 = aod; }
88 void SetnDCABin(Int_t val) { fnDCABins = val; }
89 void SetDCAmin(Double_t val) { fDCAmin = val; }
90 void SetDCAmax(Double_t val) { fDCAmax = val; }
91 Bool_t GetDCA(const AliAODTrack* trk, Double_t * p);
92 void SetDCAzCut(Double_t val) { fDCAzCut = val; }
94 void GetQvecGen(Bool_t val) { fQvecGen = val; } //enable Qvec from generated
98 AliAODEvent * fAOD; //! AOD object
99 AliSpectraAODTrackCuts * fTrackCuts; // Track Cuts
100 AliSpectraAODEventCuts * fEventCuts; // Event Cuts
101 AliHelperPID * fHelperPID; // points to class for PID
102 Bool_t fIsMC; // true if processing MC
103 Bool_t fDoDoubleCounting; // true is double counting for Nsigma accepetd
104 Bool_t fFillOnlyEvents; // if true fill only NSparseHistEv
105 Int_t fCharge; // charge to be selected
106 Int_t fVZEROside; // 0: VZERO-A 1: VZERO-C
107 TList * fOutput; // output list
108 Int_t fnCentBins; // number of bins for the centrality axis
109 Int_t fnQvecBins; // number of bins for the q vector axis
110 Int_t fnNchBins; // number of bins for the Nch axis
111 Bool_t fIsQvecCalibMode; //calib mode for Qvector percentile
112 Double_t fQvecUpperLim; //Upper limit for Qvector
113 Bool_t fIsAOD160; // enable DCA for AOD160
114 Int_t fnDCABins; // number of bins for DCA axis
115 Double_t fDCAmin; // min DCA value
116 Double_t fDCAmax; // max DCA value
117 Double_t fDCAzCut; //cut on DCA z
119 Bool_t fQvecGen; //enable Qvec from generated
121 AliAnalysisTaskSpectraAllChAOD(const AliAnalysisTaskSpectraAllChAOD&);
122 AliAnalysisTaskSpectraAllChAOD& operator=(const AliAnalysisTaskSpectraAllChAOD&);
124 ClassDef(AliAnalysisTaskSpectraAllChAOD, 10);