]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/STRANGENESS/Hypernuclei/AliAnalysisTaskNucleiv2.h
Added three new histograms for resolution + modified thnsparse branch definition
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Hypernuclei / AliAnalysisTaskNucleiv2.h
CommitLineData
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
10class TList;
11class TH1F;
12class TH2F;
13class TH3F;
84bef463 14class TProfile;
858fc78e 15class TNtuple;
16class AliESDcascade;
84bef463 17class AliFlowTrackCuts;
18class AliFlowTrack;
19class AliFlowEvent;
20class AliFlowCandidateTrack;
21class AliFlowEventSimple;
22
858fc78e 23//class AliCascadeVertexer;
24#include <AliPIDResponse.h>
25#include "TString.h"
26#include "AliESDtrackCuts.h"
27#include "AliAnalysisTaskSE.h"
28
29class 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