]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/FLOW/Tasks/AliAnalysisTaskFlowEPCascade.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / FLOW / Tasks / AliAnalysisTaskFlowEPCascade.h
CommitLineData
24373b38 1//********************************************************************
2//********************************************************************
3// Author : Zhongbao Yin
4//********************************************************************
5//********************************************************************
6#ifndef AliAnalysisTaskFlowEPCascade_cxx
7#define AliAnalysisTaskFlowEPCascade_cxx
8
9#include "AliAnalysisTaskSE.h"
10#include "AliEventplane.h"
11
12class AliESDEvent;
13//class AliFlowEventCuts;
14class AliFlowTrackCuts;
15class TH1F;
16class TH2F;
17class AliPIDResponse;
18class TProfile;
19class TProfile2D;
20class TFile;
21
22class AliAnalysisTaskFlowEPCascade : public AliAnalysisTaskSE {
23 public:
24
25 AliAnalysisTaskFlowEPCascade();
26
27 AliAnalysisTaskFlowEPCascade(const char *name, Double_t centMin,
28 Double_t centMax,
29 Double_t xis[3][2],
30 Double_t omegas[3][2] );
31 virtual ~AliAnalysisTaskFlowEPCascade();
32 virtual void UserCreateOutputObjects();
33 virtual void UserExec(Option_t *option);
34 virtual void Terminate(Option_t *);
35
36 // void SetFlowEventCuts(AliFlowEventCuts* cuts){fFlowEventCuts = cuts;}
37 // void SetFlowTrackCuts(AliFlowTrackCuts* cuts){fFlowTrackCuts = cuts;}
38 void SetFlowDauTrackCuts(AliFlowTrackCuts* cuts){fCutsDau = cuts;}
39 void SetVertexCut(Double_t vtxCut = 10.){fVtxCut = vtxCut;}
40
41 private:
42 // AliFlowEventCuts* fFlowEventCuts ;
43 //AliFlowTrackCuts* fFlowTrackCuts ;
44 AliFlowTrackCuts *fCutsDau; // cuts for daughters
45 AliPIDResponse * fPIDResponse;
46
47 Double_t fXiBands[3][2]; //
48 Double_t fOmegaBands[3][2]; //
49
50 Double_t fMinCent, fMaxCent;
51 Double_t fVtxCut;
52 // Double_t fEtaCut;
53 //Double_t fMinPt;
54 //Int_t fNTPCcls;
55
56 TFile * fOADB; //
57 Int_t fRun; //! current run checked to load VZERO calibration
58 Int_t fICent; //! centrality bin number
59
60 TProfile *fMultV0; //! object containing VZERO calibration info
61 Float_t fV0Cpol; //! loaded by OADB
62 Float_t fV0Apol; //! loaded by OADB
63 Float_t fMeanQ[9][2][2];//! and recentering
64 Float_t fWidthQ[9][2][2]; //! ...
65
66 TList* fHistList; //!
67 TH1I * fhEvent; //!
68 TH1F * fhEPangleVZero; //!
69 TH1F * fhEPangleV0A; //!
70 TH1F * fhEPangleV0C; //!
71 TH1F * fhEPangleTPC; //!
72
73 TH1F *fh1Chi2Xi; //!
74 TH1F *fh1DCAXiDaughters; //!
75 TH1F *fh1DCABachToPrimVertex; //!
76 TH1F *fh1XiCosOfPointingAngle; //!
77 TH1F *fh1XiRadius; //!
78
79 TH1F *fh1MassLambda; //! mass of lambda as the cascade daughter
80 TH1F *fh1V0Chi2; //! for V0 associated to a cascade
81 TH1F *fh1V0CosOfPointingAngle; //!
82 TH1F *fh1V0Radius; //!
83 TH1F *fh1DcaV0DaughtersXi; //!
84 TH1F *fh1DcaV0ToPrimVertex; //! DCA of V0 to prim. vtx
85 TH1F *fh1DCAPosToPrimVertex; //! V0 positive daughter to prim. vertex
86 TH1F *fh1DCANegToPrimVertex; //! V0 neg. daughter to prim. vertex
87
88 TH1F *fh1MassXiMinus; //! effective mass under Xi- hyp.
89 TH1F *fh1MassXiPlus; //!
90 TH1F *fh1MassOmegaMinus; //! effective mass under Omega- hyp.
91 TH1F *fh1MassOmegaPlus; //!
92
93 TH1F *fh1MassXi; //!
94 TH1F *fh1MassOmega; //!
95
96 TH1F *fh1XiPt; //! transverse momentum
97 TH1F *fh1XiP; //! total momentum
98 TH1F *fh1XiBachPt; //!
99 TH1F *fh1XiBachP; //!
100
101 TH1F *fh1ChargeXi;//!
102 TH1F *fh1V0toXiCosOfPointingAngle; //! cos of pointing angle btw the V0 mom and the Xi-V0 vtx line
103
104 TH1F *fh1PhiXi; //!
105
106 TH2F *fh2Armenteros; //! alpha vs ptArm for casc. candidate
107
108 TH2F *fh2MassLambdaVsMassXiMinus; //! Xi- effective mass vs V0 eff. mass
109 TH2F *fh2MassXiVsMassOmegaMinus; //!
110 TH2F *fh2MassLambdaVsMassXiPlus; //!
111 TH2F *fh2MassXiVsMassOmegaPlus; //!
112
113 TH2F *fh2XiRadiusVsMassXiMinus; //! decay radius under Xi- hyp.
114 TH2F *fh2XiRadiusVsMassXiPlus; //!
115 TH2F *fh2XiRadiusVsMassOmegaMinus; //! decay radius under Omega- hyp.
116 TH2F *fh2XiRadiusVsMassOmegaPlus; //!
117
118 TH2F *fh2TPCdEdxOfCascDghters; //! dEdx with the cascade daughters
119
120 TH2F *fh2MassVsPtXiMinus; //!
121 TH2F *fh2MassVsPtXiPlus; //!
122 TH2F *fh2MassVsPtXiAll; //!
123
124 TH2F *fh2MassVsPtOmegaMinus; //!
125 TH2F *fh2MassVsPtOmegaPlus; //!
126 TH2F *fh2MassVsPtOmegaAll; //!
127
128 TH1F * fhXiRapidity; //!
129 TH1F * fhOmegaRapidity; //!
130
131 TProfile *fProfXiV2PtV0A[3]; //! three mass bands V0A
132 TProfile *fProfOmegaV2PtV0A[3];//!
133 TProfile *fProfXiSinePtV0A[3];//!
134 TProfile *fProfOmegaSinePtV0A[3];//!
135
136 TProfile *fProfXiV2PtV0C[3]; //! three mass bands V0C
137 TProfile *fProfOmegaV2PtV0C[3];//!
138 TProfile *fProfXiSinePtV0C[3];//!
139 TProfile *fProfOmegaSinePtV0C[3];//!
140
141 TProfile *fProfXiV2Pt[3]; //! three mass bands V0A&V0C
142 TProfile *fProfOmegaV2Pt[3]; //!
143 TProfile *fProfXiSinePt[3]; //!
144 TProfile *fProfOmegaSinePt[3]; //!
145
146 TProfile2D *fProf2dXiV2PtV0A[3]; //! three mass bands V0A
147 TProfile2D *fProf2dOmegaV2PtV0A[3];//!
148 TProfile2D *fProf2dXiV2PtV0C[3]; //! three mass bands V0C
149 TProfile2D *fProf2dOmegaV2PtV0C[3];//!
150 TProfile2D *fProf2dXiV2Pt[3]; //! three mass bands V0A&V0C
151 TProfile2D *fProf2dOmegaV2Pt[3]; //!
152
153 TProfile * fProfResolution; //!
154
155 TH1F *fh1DistToVtxZAfter; //! After propagation to vertex
156 TH1F *fh1DistToVtxXYAfter; //!
157 TH2F *fh2DistToVtxZBeforeVsAfter; //!
158 TH2F *fh2DistToVtxXYBeforeVsAfter; //!
159 TH2F *fh2PxBeforeVsAfter; //!
160 TH2F *fh2PyBeforeVsAfter; //!
161 TH2F *fh2PhiPosBeforeVsAfter; //!
162 TH2F *fh2PhiNegBeforeVsAfter; //!
163
164 // void ReadFromESDv0(AliESDEvent *fESD);
165 void ReadFromAODv0(AliAODEvent *fAOD);
166
167 //Progate to the primary vertex
168 void Propagate(Double_t vv[3], Double_t x[3], Double_t p[3],
169 Double_t bz, Short_t sign);
170
171 void OpenInfoCalbration(Int_t run );//9 bins: 0-5,5-10,10-20
172
173 AliAnalysisTaskFlowEPCascade(const AliAnalysisTaskFlowEPCascade&); // not implemented
174 AliAnalysisTaskFlowEPCascade& operator=(const AliAnalysisTaskFlowEPCascade&); // not implemented
175
176 ClassDef(AliAnalysisTaskFlowEPCascade, 1); // example of analysis
177};
178#endif