]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/SPECTRA/AliAnalysisTaskStrange.h
Request by Martin: added flag for big output
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / AliAnalysisTaskStrange.h
1 #ifndef ALIANALYSISTASKSTRANGE_H
2 #define ALIANALYSISTASKSTRANGE_H
3
4 /*  See cxx source for full Copyright notice */
5
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 //-----------------------------------------------------------------
11
12 class TString;
13 class TList;
14 class TH1F;
15 class TH2F;
16
17 #include "AliAnalysisTaskSE.h"
18
19 class AliESDEvent;
20 class AliESDVertex;
21 class AliAODEvent;
22
23 class AliAnalysisTaskStrange : public AliAnalysisTaskSE {
24  public:
25   AliAnalysisTaskStrange();
26   AliAnalysisTaskStrange(const char *name);
27  ~AliAnalysisTaskStrange();
28   
29   virtual void   UserCreateOutputObjects();
30   virtual void   UserExec(Option_t *option);
31   virtual void   Terminate(Option_t *);
32
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;}
36    
37  private:
38   TString      fAnalysisType;                   //  ESD or AOD
39   Int_t        fCollidingSystems;               //  Colliding systems 0/1 for pp/PbPb  
40   TString      fUseCut;                         //  "yes" or "no"
41
42   TList       *fListHist;                       //! List of histograms
43
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
49
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
60
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       
76
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
92    
93   AliAnalysisTaskStrange(const AliAnalysisTaskStrange&);            // not implemented 
94   AliAnalysisTaskStrange& operator=(const AliAnalysisTaskStrange&); // not implemented 
95
96   ClassDef(AliAnalysisTaskStrange, 1); 
97 };
98
99 #endif