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(),
50 fDoCentrSystCentrality(0)
52 AliAnalysisTaskSpectraAllChAOD(const char *name);
53 virtual ~AliAnalysisTaskSpectraAllChAOD() {
54 Printf("calling detructor of AliAnalysisTaskSpectraAllChAOD - To be implemented");
57 void SetIsMC(Bool_t isMC = kFALSE) {fIsMC = isMC; };
58 Bool_t GetIsMC() const { return fIsMC;};
60 void SetDoDoubleCounting(Bool_t doDoubleCounting = kFALSE) {fDoDoubleCounting = doDoubleCounting; };
61 Bool_t GetDoDoubleCounting() const { return fDoDoubleCounting;};
63 void SetFillOnlyEvents(Bool_t fillOnlyEvents = kFALSE) {fFillOnlyEvents = fillOnlyEvents; };
64 Bool_t GetFillOnlyEvents() const { return fFillOnlyEvents;};
66 void SetCharge(Int_t charge = 0) {fCharge = charge; };
67 Int_t GetCharge() const { return fCharge;};
69 void SetVZEROside(Int_t side = 0) {fVZEROside = side; };
70 Int_t GetVZEROside() const { return fVZEROside;};
72 virtual void UserCreateOutputObjects();
73 virtual void UserExec(Option_t *option);
74 virtual void Terminate(Option_t *);
76 AliSpectraAODTrackCuts * GetTrackCuts() { return fTrackCuts; }
77 AliSpectraAODEventCuts * GetEventCuts() { return fEventCuts; }
78 AliHelperPID * GetHelperPID() { return fHelperPID; }
79 TList * GetOutputList() { return fOutput; }
81 void SetTrackCuts(AliSpectraAODTrackCuts * tc) { fTrackCuts = tc; }
82 void SetEventCuts(AliSpectraAODEventCuts * vc) { fEventCuts = vc; }
83 void SetHelperPID(AliHelperPID* pid) { fHelperPID = pid; }
84 void SetnCentBins(Int_t val) { fnCentBins = val; }
85 void SetnQvecBins(Int_t val) { fnQvecBins = val; }
86 void SetnNchBins(Int_t val) { fnNchBins = val; }
87 void SetQvecCalibMode(Bool_t mode) { fIsQvecCalibMode = mode; }
88 void SetQvecUpperLimit(Double_t val) { fQvecUpperLim = val; }
90 void SetIsAOD160(Bool_t aod) { fIsAOD160 = aod; }
91 void SetnDCABin(Int_t val) { fnDCABins = val; }
92 void SetDCAmin(Double_t val) { fDCAmin = val; }
93 void SetDCAmax(Double_t val) { fDCAmax = val; }
94 Bool_t GetDCA(const AliAODTrack* trk, Double_t * p);
95 void SetDCAzCut(Double_t val) { fDCAzCut = val; }
97 void SetQStack(Int_t val) { fQst = val ; } // type==0 q-reco - type==1 qgen
98 void SetQTrack(Int_t val) { fQtrk = val ; } // type==0 q-reco - type==1 qgen
99 void SetQgenType(Int_t val) { fQgenType = val ; } // type==0 qgen from tracks - type==1 qgen from vzero
101 void SetDoCentrSystCentrality(Bool_t val) { fDoCentrSystCentrality = val; } //enable systematic for centrality
105 AliAODEvent * fAOD; //! AOD object
106 AliSpectraAODTrackCuts * fTrackCuts; // Track Cuts
107 AliSpectraAODEventCuts * fEventCuts; // Event Cuts
108 AliHelperPID * fHelperPID; // points to class for PID
109 Bool_t fIsMC; // true if processing MC
110 Bool_t fDoDoubleCounting; // true is double counting for Nsigma accepetd
111 Bool_t fFillOnlyEvents; // if true fill only NSparseHistEv
112 Int_t fCharge; // charge to be selected
113 Int_t fVZEROside; // 0: VZERO-A 1: VZERO-C
114 TList * fOutput; // output list
115 Int_t fnCentBins; // number of bins for the centrality axis
116 Int_t fnQvecBins; // number of bins for the q vector axis
117 Int_t fnNchBins; // number of bins for the Nch axis
118 Bool_t fIsQvecCalibMode; //calib mode for Qvector percentile
119 Double_t fQvecUpperLim; //Upper limit for Qvector
120 Bool_t fIsAOD160; // enable DCA for AOD160
121 Int_t fnDCABins; // number of bins for DCA axis
122 Double_t fDCAmin; // min DCA value
123 Double_t fDCAmax; // max DCA value
124 Double_t fDCAzCut; //cut on DCA z
126 Int_t fQst; // type==0 q-reco - type==1 qgen
127 Int_t fQtrk; // type==0 q-reco - type==1 qgen
128 Int_t fQgenType; // type==0 qgen from tracks - type==1 qgen from vzero
130 Bool_t fDoCentrSystCentrality; //systematic check on centrality estimation
132 AliAnalysisTaskSpectraAllChAOD(const AliAnalysisTaskSpectraAllChAOD&);
133 AliAnalysisTaskSpectraAllChAOD& operator=(const AliAnalysisTaskSpectraAllChAOD&);
135 ClassDef(AliAnalysisTaskSpectraAllChAOD, 12);