]>
Commit | Line | Data |
---|---|---|
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 | ||
12 | class AliESDEvent; | |
13 | //class AliFlowEventCuts; | |
14 | class AliFlowTrackCuts; | |
15 | class TH1F; | |
16 | class TH2F; | |
17 | class AliPIDResponse; | |
18 | class TProfile; | |
19 | class TProfile2D; | |
20 | class TFile; | |
21 | ||
22 | class 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 |