]>
Commit | Line | Data |
---|---|---|
10a99a07 | 1 | #ifndef ALIANALYSISTASKV2ALLCHAOD_H |
2 | #define ALIANALYSISTASKV2ALLCHAOD_H | |
3 | ||
4 | /* See cxx source for full Copyright notice */ | |
5 | ||
6 | //------------------------------------------------------------------------- | |
7 | // AliAnalysisTaskV2AllChAOD | |
8 | // | |
9 | // | |
10 | // | |
11 | // | |
12 | // Author: Leonardo Milano, CERN | |
13 | //------------------------------------------------------------------------- | |
14 | ||
15 | class AliAODEvent; | |
16 | class AliSpectraAODTrackCuts; | |
17 | class AliSpectraAODEventCuts; | |
18 | ||
19 | #include "AliAnalysisTaskSE.h" | |
20 | #include <TProfile.h> | |
21 | ||
22 | class AliAnalysisTaskV2AllChAOD : public AliAnalysisTaskSE | |
23 | { | |
24 | public: | |
25 | // constructors | |
26 | AliAnalysisTaskV2AllChAOD() : AliAnalysisTaskSE(), | |
27 | fAOD(0x0), | |
28 | fTrackCuts(0x0), | |
29 | fEventCuts(0x0), | |
30 | fIsMC(0), | |
31 | fCharge(0), | |
32 | fVZEROside(0), | |
33 | fOutput(0x0), | |
34 | fOutput_lq(0x0), | |
35 | fOutput_sq(0x0), | |
36 | fnCentBins(20), | |
37 | fnQvecBins(40), | |
38 | fIsQvecCalibMode(0), | |
39 | fQvecUpperLim(100), | |
40 | fCutLargeQperc(9.), | |
41 | fCutSmallQperc(10.), | |
42 | fEtaGapMin(-0.5), | |
d64e71aa | 43 | fEtaGapMax(0.5), |
44 | fTrkBit(272), | |
45 | fEtaCut(0.8), | |
46 | fMinPt(0), | |
47 | fMaxPt(20.0), | |
48 | fMinTPCNcls(70), | |
49 | fResSP(0), | |
bc76879c | 50 | fEta_vs_Phi_bef(0), |
51 | fEta_vs_Phi(0), | |
d64e71aa | 52 | fResSP_lq(0), |
bc76879c | 53 | fResSP_sq(0) |
10a99a07 | 54 | {} |
55 | AliAnalysisTaskV2AllChAOD(const char *name); | |
56 | virtual ~AliAnalysisTaskV2AllChAOD() { | |
57 | Printf("calling detructor of AliAnalysisTaskV2AllChAOD - To be implemented"); | |
58 | } | |
59 | ||
60 | void SetIsMC(Bool_t isMC = kFALSE) {fIsMC = isMC; }; | |
61 | Bool_t GetIsMC() const { return fIsMC;}; | |
62 | ||
63 | void SetCharge(Int_t charge = 0) {fCharge = charge; }; | |
64 | Int_t GetCharge() const { return fCharge;}; | |
65 | ||
66 | void SetVZEROside(Int_t side = 0) {fVZEROside = side; }; | |
67 | Int_t GetVZEROside() const { return fVZEROside;}; | |
68 | ||
69 | virtual void UserCreateOutputObjects(); | |
70 | virtual void UserExec(Option_t *option); | |
71 | virtual void Terminate(Option_t *); | |
72 | ||
73 | AliSpectraAODTrackCuts * GetTrackCuts() { return fTrackCuts; } | |
74 | AliSpectraAODEventCuts * GetEventCuts() { return fEventCuts; } | |
75 | TList * GetOutputList() { return fOutput; } | |
76 | ||
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; } | |
83 | ||
d64e71aa | 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;} | |
89 | ||
10a99a07 | 90 | Bool_t GetDCA(const AliAODTrack* trk, Double_t * p); |
91 | ||
92 | void SetEtaGap(Float_t etamin,Float_t etamax) { fEtaGapMin = etamin; fEtaGapMax = etamax; } | |
93 | ||
94 | private: | |
95 | ||
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 | |
109 | ||
110 | Int_t fCutLargeQperc; // cut on 10% large Q-vec events | |
111 | Int_t fCutSmallQperc; // cut on 10% small Q-vec events | |
112 | ||
113 | Double_t fEtaGapMin; | |
114 | Double_t fEtaGapMax; | |
115 | ||
d64e71aa | 116 | UInt_t fTrkBit; |
117 | Double_t fEtaCut; | |
118 | Double_t fMinPt; | |
119 | Double_t fMaxPt; | |
120 | Double_t fMinTPCNcls; | |
121 | ||
10a99a07 | 122 | //output object |
123 | TProfile* fResSP; //! resolution | |
bc76879c | 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 | |
10a99a07 | 126 | TProfile* fv2SPGap1A[9]; //! v2{2} eta gap 1 for all events |
10a99a07 | 127 | TProfile* fv2SPGap1B[9]; //! v2{2} eta gap 1 for all events |
10a99a07 | 128 | |
bc76879c | 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 | |
133 | ||
10a99a07 | 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 | |
138 | ||
139 | //large q | |
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 | |
bc76879c | 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 | |
10a99a07 | 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 | |
151 | ||
152 | //small q | |
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 | |
bc76879c | 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 | |
10a99a07 | 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 | |
164 | ||
165 | AliAnalysisTaskV2AllChAOD(const AliAnalysisTaskV2AllChAOD&); | |
166 | AliAnalysisTaskV2AllChAOD& operator=(const AliAnalysisTaskV2AllChAOD&); | |
167 | ||
bc76879c | 168 | ClassDef(AliAnalysisTaskV2AllChAOD, 3); |
10a99a07 | 169 | }; |
170 | ||
171 | #endif |