1 #ifndef ALIANALYSISTASKSTRANGE_H
2 #define ALIANALYSISTASKSTRANGE_H
4 /* See cxx source for full Copyright notice */
6 //-----------------------------------------------------------------
7 // AliAnalysisTaskStrange class
8 // This task is for single strange study from ESD/AOD
9 // Origin: H.Ricaud, Helene.Ricaud@IReS.in2p3.fr
10 //-----------------------------------------------------------------
17 #include "AliAnalysisTaskSE.h"
23 class AliAnalysisTaskStrange : public AliAnalysisTaskSE {
25 AliAnalysisTaskStrange();
26 AliAnalysisTaskStrange(const char *name);
27 ~AliAnalysisTaskStrange();
29 virtual void UserCreateOutputObjects();
30 virtual void UserExec(Option_t *option);
31 virtual void Terminate(Option_t *);
33 void SetCollidingSystems(Int_t collidingSystems = 0) {fCollidingSystems = collidingSystems;}
34 void SetAnalysisType(const char* analysisType) {fAnalysisType = analysisType;}
35 void SetAnalysisCut(const char* useCut) {fUseCut = useCut;}
38 TString fAnalysisType; // ESD or AOD
39 Int_t fCollidingSystems; // Colliding systems 0/1 for pp/PbPb
40 TString fUseCut; // "yes" or "no"
42 TList *fListHist; //! List of histograms
44 TH1F *fHistPrimaryVertexPosX; //! Primary vertex position in X
45 TH1F *fHistPrimaryVertexPosY; //! Primary vertex position in Y
46 TH1F *fHistPrimaryVertexPosZ; //! Primary vertex position in Z
47 TH1F *fHistTrackMultiplicity; //! Track multiplicity distribution
48 TH1F *fHistV0Multiplicity; //! V0 multiplicity distribution
50 TH2F *fHistDcaPosToPrimVertex; //! Dca of V0 positive daughter to primary vertex
51 TH2F *fHistDcaNegToPrimVertex; //! Dca of V0 negative daughter to primary vertex
52 TH2F *fHistDcaPosToPrimVertexZoom; //! Zoom
53 TH2F *fHistDcaNegToPrimVertexZoom; //! Zoom
54 TH2F *fHistRadiusV0; //! V0 radial distance distribution
55 TH2F *fHistDecayLengthV0; //! V0 decay length distribution
56 TH2F *fHistDcaV0Daughters; //! Dca between V0 daughters
57 TH2F *fHistChi2; //! V0 chi2 distribution
58 TH2F *fHistCosPointAngle; //! Cosine of V0 pointing angle
59 TH2F *fHistCosPointAngleZoom; //! Zoom
61 // V0 offline distributions
62 TH1F *fHistV0MultiplicityOff; //! V0 multiplicity distribution offline
63 TH2F *fHistPtVsYK0sOff; //! Pt vs.Y with K0s assumption
64 TH2F *fHistPtVsYLambdaOff; //! Pt vs.Y with Lambda assumption
65 TH2F *fHistPtVsYAntiLambdaOff; //! Pt vs.Y with Anti-Lambda assumption
66 TH1F *fHistMassK0sOff; //! Invariant mass of K0s
67 TH1F *fHistMassLambdaOff; //! Invariant mass of Lambda
68 TH1F *fHistMassAntiLambdaOff; //! Invariant mass of Anti-Lambda
69 TH2F *fHistMassVsRadiusK0sOff; //! Invariant mass vs. radius of K0s
70 TH2F *fHistMassVsRadiusLambdaOff; //! Invariant mass vs. radius of Lambda
71 TH2F *fHistMassVsRadiusAntiLambdaOff; //! Invariant mass vs. radius of Anti-Lambda
72 TH2F *fHistPtVsMassK0sOff; //! Pt vs. invariant mass of K0s
73 TH2F *fHistPtVsMassLambdaOff; //! Pt vs. invariant mass of Lambda
74 TH2F *fHistPtVsMassAntiLambdaOff; //! Pt vs. invariant mass of Anti-Lambda
75 TH2F *fHistArmenterosPodolanskiOff; //! Armenteros-Podolanski distribution
77 // V0 on-the-fly distributions
78 TH1F *fHistV0MultiplicityOn; //! V0 multiplicity distribution on-the-fly
79 TH2F *fHistPtVsYK0sOn; //! Pt vs.Y with K0s assumption
80 TH2F *fHistPtVsYLambdaOn; //! Pt vs.Y with Lambda assumption
81 TH2F *fHistPtVsYAntiLambdaOn; //! Pt vs.Y with Anti-Lambda assumption
82 TH1F *fHistMassK0sOn; //! Invariant mass of K0s
83 TH1F *fHistMassLambdaOn; //! Invariant mass of Lambda
84 TH1F *fHistMassAntiLambdaOn; //! Invariant mass of Anti-Lambda
85 TH2F *fHistMassVsRadiusK0sOn; //! Invariant mass vs. radius of K0s
86 TH2F *fHistMassVsRadiusLambdaOn; //! Invariant mass vs. radius of Lambda
87 TH2F *fHistMassVsRadiusAntiLambdaOn; //! Invariant mass vs. radius of Anti-Lambda
88 TH2F *fHistPtVsMassK0sOn; //! Pt vs. invariant mass of K0s
89 TH2F *fHistPtVsMassLambdaOn; //! Pt vs. invariant mass of Lambda
90 TH2F *fHistPtVsMassAntiLambdaOn; //! Pt vs. invariant mass of Anti-Lambda
91 TH2F *fHistArmenterosPodolanskiOn; //! Armenteros-Podolanski distribution
93 AliAnalysisTaskStrange(const AliAnalysisTaskStrange&); // not implemented
94 AliAnalysisTaskStrange& operator=(const AliAnalysisTaskStrange&); // not implemented
96 ClassDef(AliAnalysisTaskStrange, 1);