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