]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/FLOW/Tasks/AliAnalysisTaskFlowEPCascade.h
Changes to the DEtaDPhi corr fun (making 0 in the center of the bin in the histogram...
[u/mrichter/AliRoot.git] / PWG / FLOW / Tasks / AliAnalysisTaskFlowEPCascade.h
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