]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/STRANGENESS/LambdaK0PbPb/AliAnalysisTaskPerformanceStrange.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / LambdaK0PbPb / AliAnalysisTaskPerformanceStrange.h
1 #ifndef ALIANALYSISTASKPERFORMANCESTRANGE_H
2 #define ALIANALYSISTASKPERFORMANCESTRANGE_H
3
4 /*  See cxx source for full Copyright notice */
5
6 //-----------------------------------------------------------------
7 //              AliAnalysisTaskPerformanceSrange class
8 //    This task is for a performance study of V0 identification.
9 //                It works with MC info and ESD tree.
10 //                 Author: H.Ricaud, H.Ricaud@gsi.de
11 //-----------------------------------------------------------------
12
13 class TString;
14 class TList;
15 class TH1F;
16 class TH2F;
17 class TH3F;
18 class AliAnalysisCentralitySelector;
19 class AliPIDResponse;
20 #include "AliAnalysisTaskSE.h"
21
22 class AliAnalysisTaskPerformanceStrange : public AliAnalysisTaskSE {
23  public:
24   AliAnalysisTaskPerformanceStrange();
25   AliAnalysisTaskPerformanceStrange(const char *name);
26   virtual ~AliAnalysisTaskPerformanceStrange(); // Destructor implemented by Kalinak  
27   
28   virtual void   UserCreateOutputObjects();
29   virtual void   UserExec(Option_t *option);
30   virtual void   Terminate(Option_t *);
31  
32   void   SetCollidingSystems(Int_t collidingSystems = 0) {fCollidingSystems = collidingSystems;}
33   void   SetAnalysisMC(Bool_t analysisMC) {fAnalysisMC = analysisMC;}
34   void   SetAnalysisType(const char* analysisType) {fAnalysisType = analysisType;}
35   void   SetUsePID(const char* usePID) {fUsePID = usePID;}
36   void   SetAnalysisCut(const char* useCut) {fUseCut = useCut;}
37   void   SetCentralityRange(Int_t down, Int_t up) {fDown=down; fUp = up;}
38   void   SetTrackCuts(AliESDtrackCuts * myTracksCuts) { fTracksCuts = myTracksCuts;}
39   void   SetCentralitySelector(AliAnalysisCentralitySelector * centr) { fCentrSelector = centr;}
40   void   SetQASelector(Bool_t QA = 0) { fQASelector = QA;}
41   Double_t MyRapidity(Double_t rE, Double_t rPz) const;
42  
43  private:
44   Double_t fCuts[7];                            //! V0 finding cuts
45   Bool_t       fAnalysisMC;                     //  0->No MC or 1->MC analysis
46   TString      fAnalysisType;                   //  "ESD" or "AOD"
47   Bool_t       fCollidingSystems;               //  Colliding systems 0/1 for pp/PbPb  
48   TString      fUsePID;                         //  "withPID" or "noPID"
49   TString      fUseCut;                         //  "yes" or "no"
50   Int_t         fDown;                          //centrality range 
51   Int_t         fUp;                            //centrality range
52   AliESDEvent *fESD;                            //! ESD object
53   TList       *fListHist;               //! Output List
54
55
56   AliAnalysisCentralitySelector * fCentrSelector; // Centrality selector, used to 
57   AliESDtrackCuts * fTracksCuts;                // track cuts
58   AliPIDResponse *fPIDResponse;                 // PID response
59   Bool_t      fQASelector;                    // Quality Assurenc Histo switch
60
61   // MC histograms
62   TH1F        *fHistMCPrimaryVertexX;      //! Histo
63   TH1F        *fHistMCPrimaryVertexY;      //! Histo
64   TH1F        *fHistMCPrimaryVertexZ;      //! Histo
65   TH1F        *fHistPtTracks;      //! Histo
66
67   TH1F        *fHistMCMultiplicityPrimary;       //! Histo
68   TH1F        *fHistMCMultiplicityTracks;       //! Histo
69   TH1F        *fHistTPCTracks;                  //! Histo
70   
71   TH1F        *fHistMCPtAllK0s;       //! Histo
72   TH1F        *fHistMCPtAllLambda;       //! Histo
73   TH1F        *fHistMCPtAllAntiLambda;       //! Histo
74   TH1F        *fHistMCPtAllXi;       //! Histo
75   TH1F        *fHistMCPtAllAntiXi;       //! Histo
76   TH1F        *fHistMCPtAllOmega;       //! Histo
77   TH1F        *fHistMCPtAllAntiOmega;       //! Histo
78
79   TH1F        *fHistMCRapK0s;                 //! Histo
80   TH1F        *fHistMCRapLambda;              //! Histo
81   TH1F        *fHistMCRapAntiLambda;          //! Histo
82   TH1F        *fHistMCRapXi;                  //! Histo
83 //////////////////////////////////////////////////////////
84
85   TH1F        *fHistMCPtK0s;       //! Histo
86   TH1F        *fHistMCPtLambda;       //! Histo
87   TH1F        *fHistMCPtAntiLambda;       //! Histo
88 //////////////////////////////////////////////////////////
89
90   // ESD histograms
91   TH1F        *fHistNumberEvents;        //! Histo
92   TH1F        *fHistTrackPerEvent;       //! Histo
93   TH1F        *fHistTPCMult;             //! Histo
94   TH1F        *fHistTrackletPerEvent;   //! Histo
95   TH1F        *fHistSPDPrimaryVertexZ;       //! Histo
96   TH1F        *fHistPrimaryVertexX;       //! Histo
97   TH1F        *fHistPrimaryVertexY;       //! Histo
98   TH1F        *fHistPrimaryVertexZ;       //! Histo
99 //////////////////////////////////////////////////////////////////////
100
101   TH1F        *fHistV0Multiplicity;  //! Histo
102   TH1F        *fHistMassK0;       //! Histo
103   TH1F        *fHistMassLambda;       //! Histo
104   TH1F        *fHistMassAntiLambda;       //! Histo
105   TH1F        *fHistMassXi;       //! Histo
106   TH1F        *fHistMassAntiXi;       //! Histo
107   TH1F        *fHistMassOmega;       //! Histo
108   TH1F        *fHistMassAntiOmega;       //! Histo
109
110   TH2F        *fHistMassXiVsPID;       //! Histo
111 ////////////////////////////////////////////////////////////////////////////
112
113   TH2F        *fHistPtVsMassK0;       //! Histo
114   TH2F        *fHistPtVsMassLambda;       //! Histo
115   TH2F        *fHistPtVsMassAntiLambda;       //! Histo
116 /////////////////////////////////////////////
117
118   TH2F        *fHistArmenterosPodolanski;       //! Histo
119   TH2F        *fHistK0sMassVsLambdaMass;       //! Histo
120
121   //PID check
122   TH2F *fHistTPCsigPLambda;               //! Histo
123   TH2F *fHistTPCsigPAntiLambda;               //! Histo
124   TH1F *fHistNSigmaProton;               //! Histo
125
126   // Associated particles histograms
127   TH1F        *fHistAsMcRapK0;       //! Histo
128   TH1F        *fHistAsMcRapLambda;       //! Histo
129   TH1F        *fHistAsMcRapAntiLambda;       //! Histo
130
131 ////////////////////////////////////////////////////////////////////
132   TH1F        *fHistAsMcPtK0;       //! Histo
133   TH1F        *fHistAsMcPtLambda;       //! Histo
134   TH1F        *fHistAsMcPtAntiLambda;       //! Histo
135
136   TH1F        *fHistPidMcMassK0;       //! Histo
137   TH1F        *fHistPidMcMassLambda;       //! Histo
138   TH1F        *fHistPidMcMassAntiLambda;       //! Histo
139
140     //Mass 
141
142   TH1F        *fHistAsMcMassK0;       //! Histo
143   TH1F        *fHistAsMcMassLambda;       //! Histo
144   TH1F        *fHistAsMcMassAntiLambda;       //! Histo
145
146   //PtVsMass
147
148   TH2F        *fHistAsMcPtVsMassK0;       //! Histo
149   TH2F        *fHistAsMcPtVsMassLambda;       //! Histo
150   TH2F        *fHistAsMcPtVsMassAntiLambda;       //! Histo
151
152   TH1F        *fHistCompositionXi;             //! Histo
153   TH1F        *fHistCompositionAntiXi;          //! Histo
154   TH1F        *fHistCompositionOmega;           //! Histo
155   TH1F        *fHistCompositionAntiOmega;       //! Histo
156   TH1I        *fHistMCIndexes;          //! Histo
157
158
159   AliAnalysisTaskPerformanceStrange(const AliAnalysisTaskPerformanceStrange&); 
160   AliAnalysisTaskPerformanceStrange& operator=(const AliAnalysisTaskPerformanceStrange&); 
161
162   ClassDef(AliAnalysisTaskPerformanceStrange, 1); 
163 };
164
165 #endif