]>
Commit | Line | Data |
---|---|---|
399bcfee | 1 | #ifndef ALIANALYSISTASKNUCLEIV2_H |
2 | #define ALIANALYSISTASKNUCLEIV2_H | |
858fc78e | 3 | |
4 | /* See cxx source for full Copyright notice */ | |
5 | ||
6 | //----------------------------------------------------------------- | |
7 | // AliAnalysisTaskNucleiv2 class | |
8 | //----------------------------------------------------------------- | |
9 | ||
10 | class TList; | |
11 | class TH1F; | |
12 | class TH2F; | |
13 | class TH3F; | |
84bef463 | 14 | class TProfile; |
858fc78e | 15 | class TNtuple; |
16 | class AliESDcascade; | |
84bef463 | 17 | class AliFlowTrackCuts; |
18 | class AliFlowTrack; | |
19 | class AliFlowEvent; | |
20 | class AliFlowCandidateTrack; | |
21 | class AliFlowEventSimple; | |
22 | ||
858fc78e | 23 | //class AliCascadeVertexer; |
24 | #include <AliPIDResponse.h> | |
25 | #include "TString.h" | |
26 | #include "AliESDtrackCuts.h" | |
27 | #include "AliAnalysisTaskSE.h" | |
28 | ||
29 | class AliAnalysisTaskNucleiv2 : public AliAnalysisTaskSE { | |
30 | public: | |
31 | // AliAnalysisTaskNucleiv2(const char *datatype); | |
32 | AliAnalysisTaskNucleiv2(); | |
84bef463 | 33 | AliAnalysisTaskNucleiv2(const char *name); |
858fc78e | 34 | virtual ~AliAnalysisTaskNucleiv2() {} |
35 | ||
36 | virtual void UserCreateOutputObjects(); | |
37 | virtual void UserExec(Option_t *option); | |
38 | virtual void Terminate(Option_t *); | |
39 | ||
84bef463 | 40 | void SetCollidingSystems(Short_t collidingSystems = 0) {fCollidingSystems = collidingSystems;} |
41 | void SetAnalysisType(const char* analysisType) {fAnalysisType = analysisType;} | |
42 | void SetDataType(const char* dataType) {fDataType = dataType;} | |
43 | void SetFillTree(Bool_t ifFill) {fFillNtuple = ifFill;} | |
44 | void SetCentralityParameters(Double_t CentralityMin, Double_t CentralityMax); //select centrality | |
45 | Float_t GetEventPlaneForCandidate(AliESDtrack* track0, const TVector2* q,AliEventplane *pl, const TVector2* qsub1, const TVector2* qsub2); | |
46 | template <typename T> void SetNullCuts(T* aod); | |
47 | void PrepareFlowEvent(Int_t iMulti, AliFlowEvent *FlowEv) const; | |
858fc78e | 48 | Float_t GetPhi0Pi(Float_t phi); |
49 | void Initialize(); | |
50 | private: | |
51 | ||
84bef463 | 52 | TString fAnalysisType; //! "ESD" or "AOD" analysis type |
53 | ||
54 | Short_t fCollidingSystems; //! 0 = pp collisions or 1 = AA collisions | |
55 | TString fDataType; //! "REAL" or "SIM" data type | |
56 | Bool_t fFillNtuple; //! fill or not the tree | |
858fc78e | 57 | |
84bef463 | 58 | Double_t fCentralityMin; // lower bound of cenrality bin |
59 | Double_t fCentralityMax; // upper bound of centrality bin | |
60 | ||
61 | AliFlowTrackCuts *fCutsRP; // track cuts for reference particles | |
62 | AliFlowTrackCuts *fNullCuts; // dummy cuts for flow event tracks | |
63 | AliFlowEvent *fFlowEvent; //! flow events | |
64 | TList *fListHist; //! List of histograms | |
858fc78e | 65 | |
858fc78e | 66 | TH1F *fHistEventMultiplicity; //! event multiplicity |
67 | TH2F *fHistTrackMultiplicity; //! track multiplicity | |
68 | TH2F *fHistTrackMultiplicityCentral; //! track multiplicity | |
69 | TH2F *fHistTrackMultiplicitySemiCentral;//! track multiplicity | |
70 | TH2F *fHistTrackMultiplicityMB; //! track multiplicity | |
84bef463 | 71 | |
858fc78e | 72 | TH2F *fhBB; //! ScatterPlot Total |
73 | TH2F *fhBBDeu; //! ScatterPlot Total | |
74 | TH2F *fhPtDeu; //! correctet vs non correcter d pt | |
75 | TH2F *fhTOF; //! ScatterPlot Total TOF | |
76 | TH1F *fhMassTOF; //! Mass Distribution TOF | |
84bef463 | 77 | |
78 | //From Flow Analysis | |
79 | TH2D *EPVzAvsCentrality ; | |
80 | TH2D *EPVzCvsCentrality ; | |
81 | TH2D *EPTPCvsCentrality ; | |
82 | TH2D *EPVzvsCentrality ; | |
83 | TH2D *EPTPCpvsCentrality ; | |
84 | TH2D *EPTPCnvsCentrality ; | |
85 | ||
86 | //------------------------------ | |
87 | ||
88 | TProfile *fSubEventDPhiv205; | |
89 | TProfile *fSubEventDPhiv2new05; | |
90 | ||
91 | TProfile *fSubEventDPhiv22040; | |
92 | TProfile *fSubEventDPhiv2new2040; | |
93 | ||
94 | TProfile *fSubEventDPhiv24060; | |
95 | TProfile *fSubEventDPhiv2new4060; | |
96 | ||
97 | TH2F *hCos2DeltaPhiVzAvsCentrality; | |
98 | TH2F *hCos2DeltaPhiVzCvsCentrality; | |
99 | TH2F *hCos2DeltaPhiVzMvsCentrality; | |
100 | TH2F *hCos2DeltaPhiTPCfvsCentrality; | |
101 | TH2F *hCos2DeltaPhiTPCpvsCentrality; | |
102 | TH2F *hCos2DeltaPhiTPCnvsCentrality; | |
103 | ||
104 | //--------------------------------------------------------------------------- | |
105 | TH2F *hEvPlaneTPCvsEvPVz05; | |
106 | TH2F *hEvPlaneTPCvsEvPVz075; | |
107 | TH2F *hEvPlaneTPCvsEvPVz1530; | |
108 | TH2F *hEvPlaneTPCvsEvPVz3050; | |
109 | TH2F *hEvPlaneTPCvsEvPVz2040; | |
110 | TH2F *hEvPlaneTPCvsEvPVz4060; | |
111 | ||
112 | ||
113 | // From D meson analysis | |
858fc78e | 114 | |
84bef463 | 115 | TH2F *hCos2DeltaPhivsPt075; |
116 | TH2F *hCos2DeltaPhiVZEROvsPt075; | |
117 | TH2F *hCos2DeltaPhivsPt1530; | |
118 | TH2F *hCos2DeltaPhiVZEROvsPt1530; | |
119 | TH2F *hCos2DeltaPhivsPt3050; | |
120 | TH2F *hCos2DeltaPhiVZEROvsPt3050; | |
121 | ||
122 | TH2F *hCos2DeltaPhivsPt05; | |
123 | TH2F *hCos2DeltaPhiVZEROvsPt05; | |
124 | TH2F *hCos2DeltaPhivsPt2040; | |
125 | TH2F *hCos2DeltaPhiVZEROvsPt2040; | |
126 | TH2F *hCos2DeltaPhivsPt4060; | |
127 | TH2F *hCos2DeltaPhiVZEROvsPt4060; | |
128 | ||
129 | ||
858fc78e | 130 | AliESDtrackCuts * fESDtrackCuts; |
84bef463 | 131 | AliESDtrackCuts * fESDtrackCutsEP; |
858fc78e | 132 | AliPIDResponse *fPIDResponse; //! pointer to PID response |
133 | ||
134 | //_______________________________________________________________________ | |
135 | ||
136 | TTree *fNtuple1; //! Some Information on the tracks | |
137 | ||
84bef463 | 138 | Double_t tCentrality[2] ; // Centrality + event type |
139 | Double_t tPulls[3]; // Pulls | |
858fc78e | 140 | |
84bef463 | 141 | Double_t tMomentum[4]; //pxpypz of the tracks + corrected pt for d |
858fc78e | 142 | Double_t tDCA[2]; //dcaXY and dcaZ of the track |
858fc78e | 143 | Int_t tisTOF[2]; //isTOF, isOuterTPCwall |
144 | Double_t tTOFtrack[3]; //poutTPC,timeTOF,trackLenghtTOF; | |
84bef463 | 145 | Int_t tCharge; //Charge of the Track (Pos or Neg) |
858fc78e | 146 | Double_t tPhi; //Phi |
147 | Double_t trpangleTPC; //rpangleTPC | |
148 | Double_t trpangleVZERO[3]; //rpangleVZERO: V0M, V0A, V0C | |
149 | ||
84bef463 | 150 | // MC releted quantities |
151 | ||
858fc78e | 152 | Double_t tPDGCode; //PDG code ptc |
153 | Double_t tPDGCodeMum; //PDG code mother ptc | |
154 | Double_t tIsPrimaryTr; | |
155 | Double_t tIsSecondaryTr[2]; //from material ; from weak deacy | |
156 | ||
157 | //_______________________________________________________________________ | |
158 | ||
159 | TTree *fNtuple2; //! MC tree | |
160 | ||
858fc78e | 161 | Double_t tCentralityMC; |
162 | Double_t tVertexCoordMC[3]; | |
163 | Double_t tMomentumMC[3]; //pxpypz of the tracks | |
164 | ||
165 | Double_t tPDGCodeMC ; | |
166 | Double_t tPDGCodeMumMC ; | |
167 | Double_t tIsPrimary ; | |
168 | Double_t tIsSecondary[2] ; //from material ; from weak deacy | |
169 | Double_t tEtaMC ; | |
170 | Double_t tPtMC ; | |
171 | Double_t tYMC ; | |
172 | ||
173 | //_______________________________________________________________________ | |
174 | ||
175 | AliAnalysisTaskNucleiv2(const AliAnalysisTaskNucleiv2&); // not implemented | |
176 | AliAnalysisTaskNucleiv2& operator=(const AliAnalysisTaskNucleiv2&); // not implemented | |
177 | ||
178 | ClassDef(AliAnalysisTaskNucleiv2, 0); | |
179 | }; | |
180 | ||
181 | #endif |