]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/FLOW/Tasks/AliAnalysisTaskFlowEPCascade.h
Carlos Perez: fix typo
[u/mrichter/AliRoot.git] / PWG / FLOW / Tasks / AliAnalysisTaskFlowEPCascade.h
1 //********************************************************************\r
2 //********************************************************************\r
3 // Author : Zhongbao Yin\r
4 //********************************************************************\r
5 //********************************************************************\r
6 #ifndef AliAnalysisTaskFlowEPCascade_cxx\r
7 #define AliAnalysisTaskFlowEPCascade_cxx\r
8 \r
9 #include "AliAnalysisTaskSE.h"\r
10 #include "AliEventplane.h"\r
11 \r
12 class AliESDEvent;\r
13 //class AliFlowEventCuts;\r
14 class AliFlowTrackCuts;\r
15 class TH1F;\r
16 class TH2F;\r
17 class AliPIDResponse;\r
18 class TProfile;\r
19 class TProfile2D;\r
20 class TFile;\r
21 \r
22 class AliAnalysisTaskFlowEPCascade : public AliAnalysisTaskSE {\r
23  public:\r
24 \r
25   AliAnalysisTaskFlowEPCascade();\r
26     \r
27   AliAnalysisTaskFlowEPCascade(const char *name, Double_t centMin, \r
28                                Double_t centMax, \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
35   \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
40 \r
41  private:\r
42   // AliFlowEventCuts*     fFlowEventCuts       ;\r
43   //AliFlowTrackCuts*     fFlowTrackCuts       ;\r
44   AliFlowTrackCuts *fCutsDau; // cuts for daughters\r
45   AliPIDResponse * fPIDResponse;\r
46 \r
47   Double_t fXiBands[3][2]; //\r
48   Double_t fOmegaBands[3][2]; //\r
49 \r
50   Double_t fMinCent, fMaxCent;\r
51   Double_t fVtxCut;\r
52   // Double_t fEtaCut;\r
53   //Double_t fMinPt;\r
54   //Int_t fNTPCcls;\r
55 \r
56   TFile * fOADB; //\r
57   Int_t fRun; //! current run checked to load VZERO calibration\r
58   Int_t fICent; //! centrality bin number\r
59 \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
65   \r
66   TList* fHistList; //!\r
67   TH1I * fhEvent;  //!\r
68   TH1F * fhEPangleVZero; //!\r
69   TH1F * fhEPangleV0A; //!\r
70   TH1F * fhEPangleV0C; //!\r
71   TH1F * fhEPangleTPC; //!\r
72 \r
73   TH1F *fh1Chi2Xi; //!\r
74   TH1F *fh1DCAXiDaughters; //!\r
75   TH1F *fh1DCABachToPrimVertex; //!\r
76   TH1F *fh1XiCosOfPointingAngle; //!\r
77   TH1F *fh1XiRadius; //!\r
78   \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
87   \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
92 \r
93   TH1F *fh1MassXi;    //!\r
94   TH1F *fh1MassOmega; //!\r
95 \r
96   TH1F *fh1XiPt; //! transverse momentum\r
97   TH1F *fh1XiP; //! total momentum\r
98   TH1F *fh1XiBachPt; //!  \r
99   TH1F *fh1XiBachP; //!\r
100 \r
101   TH1F *fh1ChargeXi;//!\r
102   TH1F *fh1V0toXiCosOfPointingAngle; //! cos of pointing angle btw the V0 mom and the Xi-V0 vtx line\r
103 \r
104   TH1F *fh1PhiXi; //!\r
105   \r
106   TH2F *fh2Armenteros; //! alpha vs ptArm for casc. candidate\r
107   \r
108   TH2F *fh2MassLambdaVsMassXiMinus; //! Xi- effective mass vs V0 eff. mass\r
109   TH2F *fh2MassXiVsMassOmegaMinus; //!\r
110   TH2F *fh2MassLambdaVsMassXiPlus; //!\r
111   TH2F *fh2MassXiVsMassOmegaPlus; //!\r
112 \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
117 \r
118   TH2F *fh2TPCdEdxOfCascDghters; //! dEdx with the cascade daughters\r
119   \r
120   TH2F *fh2MassVsPtXiMinus; //!\r
121   TH2F *fh2MassVsPtXiPlus; //!\r
122   TH2F *fh2MassVsPtXiAll; //!\r
123   \r
124   TH2F *fh2MassVsPtOmegaMinus; //!\r
125   TH2F *fh2MassVsPtOmegaPlus; //!\r
126   TH2F *fh2MassVsPtOmegaAll; //!\r
127 \r
128   TH1F * fhXiRapidity; //! \r
129   TH1F * fhOmegaRapidity; //!\r
130   \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
135   \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
140 \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
145 \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
152 \r
153   TProfile * fProfResolution;  //!\r
154 \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
163   \r
164   //  void ReadFromESDv0(AliESDEvent *fESD);\r
165   void ReadFromAODv0(AliAODEvent *fAOD);\r
166 \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
170 \r
171   void OpenInfoCalbration(Int_t run );//9 bins: 0-5,5-10,10-20\r
172 \r
173   AliAnalysisTaskFlowEPCascade(const AliAnalysisTaskFlowEPCascade&); // not implemented\r
174   AliAnalysisTaskFlowEPCascade& operator=(const AliAnalysisTaskFlowEPCascade&); // not implemented\r
175   \r
176   ClassDef(AliAnalysisTaskFlowEPCascade, 1); // example of analysis\r
177 };\r
178 #endif\r