1 #ifndef ALIANALYSISTASKV2ALLCHAOD_H
2 #define ALIANALYSISTASKV2ALLCHAOD_H
4 /* See cxx source for full Copyright notice */
6 //-------------------------------------------------------------------------
7 // AliAnalysisTaskV2AllChAOD
12 // Author: Leonardo Milano, CERN
13 //-------------------------------------------------------------------------
16 class AliSpectraAODTrackCuts;
17 class AliSpectraAODEventCuts;
19 #include "AliAnalysisTaskSE.h"
22 class AliAnalysisTaskV2AllChAOD : public AliAnalysisTaskSE
26 AliAnalysisTaskV2AllChAOD() : AliAnalysisTaskSE(),
55 AliAnalysisTaskV2AllChAOD(const char *name);
56 virtual ~AliAnalysisTaskV2AllChAOD() {
57 Printf("calling detructor of AliAnalysisTaskV2AllChAOD - To be implemented");
60 void SetIsMC(Bool_t isMC = kFALSE) {fIsMC = isMC; };
61 Bool_t GetIsMC() const { return fIsMC;};
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 TList * GetOutputList() { return fOutput; }
77 void SetTrackCuts(AliSpectraAODTrackCuts * tc) { fTrackCuts = tc; }
78 void SetEventCuts(AliSpectraAODEventCuts * vc) { fEventCuts = vc; }
79 void SetnCentBins(Int_t val) { fnCentBins = val; }
80 void SetnQvecBins(Int_t val) { fnQvecBins = val; }
81 void SetQvecCalibMode(Bool_t mode) { fIsQvecCalibMode = mode; }
82 void SetQvecUpperLimit(Double_t val) { fQvecUpperLim = val; }
84 void SetTrackBits(UInt_t TrackBits) {fTrkBit=TrackBits;}
85 void SetEtaCut(Double_t val) {fEtaCut=val;}
86 void SetMinPt(Double_t val) {fMinPt=val;}
87 void SetMaxPt(Double_t val) {fMaxPt=val;}
88 void SetMinTPCNcls(Double_t val) {fMinTPCNcls=val;}
90 Bool_t GetDCA(const AliAODTrack* trk, Double_t * p);
92 void SetEtaGap(Float_t etamin,Float_t etamax) { fEtaGapMin = etamin; fEtaGapMax = etamax; }
96 AliAODEvent * fAOD; //! AOD object
97 AliSpectraAODTrackCuts * fTrackCuts; // Track Cuts
98 AliSpectraAODEventCuts * fEventCuts; // Event Cuts
99 Bool_t fIsMC; // true if processing MC
100 Int_t fCharge; // charge to be selected
101 Int_t fVZEROside; // 0: VZERO-A 1: VZERO-C
102 TList * fOutput; // output list
103 TList * fOutput_lq; // output list large Q
104 TList * fOutput_sq; // output list small Q
105 Int_t fnCentBins; // number of bins for the centrality axis
106 Int_t fnQvecBins; // number of bins for the q vector axis
107 Bool_t fIsQvecCalibMode; //calib mode for Qvector percentile
108 Double_t fQvecUpperLim; //Upper limit for Qvector
110 Int_t fCutLargeQperc; // cut on 10% large Q-vec events
111 Int_t fCutSmallQperc; // cut on 10% small Q-vec events
120 Double_t fMinTPCNcls;
123 TProfile* fResSP; //! resolution
124 TH2F* fEta_vs_Phi_bef; //! eta vs phi distribution before sub events cut
125 TH2F* fEta_vs_Phi; //! eta vs phi distribution after sub events cut
126 TProfile* fv2SPGap1A[9]; //! v2{2} eta gap 1 for all events
127 TProfile* fv2SPGap1B[9]; //! v2{2} eta gap 1 for all events
129 TProfile* fSinGap1Aq[9]; //! <sin> vs pT gap 1
130 TProfile* fCosGap1Aq[9]; //! <cos> vs pT gap 1
131 TProfile* fSinGap1Bq[9]; //! <sin> vs pT gap 1
132 TProfile* fCosGap1Bq[9]; //! <cos> vs pT gap 1
134 TProfile* fSinGap1A[9]; //! <sin> vs pT gap 1
135 TProfile* fCosGap1A[9]; //! <cos> vs pT gap 1
136 TProfile* fSinGap1B[9]; //! <sin> vs pT gap 1
137 TProfile* fCosGap1B[9]; //! <cos> vs pT gap 1
140 TProfile* fResSP_lq; //! resolution
141 TProfile* fv2SPGap1A_lq[9]; //! v2{2} eta gap 1 for all events
142 TProfile* fv2SPGap1B_lq[9]; //! v2{2} eta gap 1 for all events
143 TProfile* fSinGap1Aq_lq[9]; //! <sin> vs pT gap 1
144 TProfile* fCosGap1Aq_lq[9]; //! <cos> vs pT gap 1
145 TProfile* fSinGap1Bq_lq[9]; //! <sin> vs pT gap 1
146 TProfile* fCosGap1Bq_lq[9]; //! <cos> vs pT gap 1
147 TProfile* fSinGap1A_lq[9]; //! <sin> vs pT gap 1
148 TProfile* fCosGap1A_lq[9]; //! <cos> vs pT gap 1
149 TProfile* fSinGap1B_lq[9]; //! <sin> vs pT gap 1
150 TProfile* fCosGap1B_lq[9]; //! <cos> vs pT gap 1
153 TProfile* fResSP_sq; //! resolution
154 TProfile* fv2SPGap1A_sq[9]; //! v2{2} eta gap 1 for all events
155 TProfile* fv2SPGap1B_sq[9]; //! v2{2} eta gap 1 for all events
156 TProfile* fSinGap1Aq_sq[9]; //! <sin> vs pT gap 1
157 TProfile* fCosGap1Aq_sq[9]; //! <cos> vs pT gap 1
158 TProfile* fSinGap1Bq_sq[9]; //! <sin> vs pT gap 1
159 TProfile* fCosGap1Bq_sq[9]; //! <cos> vs pT gap 1
160 TProfile* fSinGap1A_sq[9]; //! <sin> vs pT gap 1
161 TProfile* fCosGap1A_sq[9]; //! <cos> vs pT gap 1
162 TProfile* fSinGap1B_sq[9]; //! <sin> vs pT gap 1
163 TProfile* fCosGap1B_sq[9]; //! <cos> vs pT gap 1
165 AliAnalysisTaskV2AllChAOD(const AliAnalysisTaskV2AllChAOD&);
166 AliAnalysisTaskV2AllChAOD& operator=(const AliAnalysisTaskV2AllChAOD&);
168 ClassDef(AliAnalysisTaskV2AllChAOD, 3);