]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/STRANGENESS/Hypernuclei/AliAnalysisTaskNucleiv2SP.h
Added the possibility to store the results in a ttree
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Hypernuclei / AliAnalysisTaskNucleiv2SP.h
1 #ifndef ALIANALYSISTASKNUCLEIV2SP_H
2 #define ALIANALYSISTASKNUCLEIV2SP_H
3
4 /*  See cxx source for full Copyright notice */
5
6 //-----------------------------------------------------------------
7 //                 AliAnalysisTaskNucleiv2SP class
8 //-----------------------------------------------------------------
9
10 class TList;
11 class TH1F;
12 class TH2F;
13
14
15 #include <AliPIDResponse.h>
16 #include "TString.h"
17 #include "AliESDtrackCuts.h"
18 #include "AliAnalysisTaskSE.h"
19 #include "THnSparse.h"
20
21 class AliAnalysisTaskNucleiv2SP : public AliAnalysisTaskSE {
22  public:
23  
24   AliAnalysisTaskNucleiv2SP();
25   AliAnalysisTaskNucleiv2SP(const char *name); //select ptc 1 = d; 2 = t ; 3 = 3He
26   virtual ~AliAnalysisTaskNucleiv2SP() {}
27   
28   virtual void  UserCreateOutputObjects();
29   virtual void  Initialize();
30   virtual void  UserExec(Option_t *option);
31   virtual void  Terminate(Option_t *);
32    
33   Float_t GetEventPlaneForCandidate(AliESDtrack* track0, const TVector2* q,AliEventplane *pl);
34   Float_t GetPhi0Pi(Float_t phi);
35
36   void SetIsPrimCut        (Bool_t  isPrimCut           = kFALSE) { fisPrimCut       = isPrimCut;         } 
37   void SetParticle         (Float_t ptc                 = 1.    ) { fptc             = ptc;               }
38   void SetMaxPull          (Float_t pull                = 3.    ) { fmaxpull         = pull;               }
39   void SetMaxVz            (Float_t maxVz               = 10.   ) { fmaxVz           = maxVz;               }
40
41  private:
42
43   Bool_t         fisPrimCut;                     // Boolean : kTRUE = isprimarycut 
44   Float_t        fptc;                           // Selected ptc 1 = d; 2 = t; 3 =3He 
45   Float_t        fmaxpull;                       // Selected ptc 1 = d; 2 = t; 3 =3He 
46   Float_t        fmaxVz;                       // Selected ptc 1 = d; 2 = t; 3 =3He 
47
48   TList *fListHist;                //! List of  histograms
49  
50   TH1F  *fHistEventMultiplicity;           //! event multiplicity
51   TH2F  *fHistTrackMultiplicity;           //! track multiplicity
52   TH2F  *fHistTrackMultiplicityCentral;    //! track multiplicity
53   TH2F  *fHistTrackMultiplicitySemiCentral;//! track multiplicity
54   TH2F  *fHistTrackMultiplicityMB;         //! track multiplicity
55
56   TH2F  *fhBB;                             //! ScatterPlot Total
57   TH2F  *fhBBDeu;                          //! ScatterPlot Total
58   TH2F  *fhPtDeu;                          //! correctet vs non correcter d pt
59   TH2F  *fhTOF;                            //! ScatterPlot Total TOF
60   TH1F  *fhMassTOF;                        //! Mass Distribution TOF
61   
62   // Event Plane vs Centrality
63
64   TH2D *EPVzAvsCentrality  ; 
65   TH2D *EPVzCvsCentrality  ; 
66   TH2D *EPTPCvsCentrality  ; 
67   TH2D *EPVzvsCentrality   ; 
68   TH2D *EPTPCpvsCentrality ; 
69   TH2D *EPTPCnvsCentrality ; 
70   
71   // EP TPC vs EP VZ for different centralities 
72
73   TH2F *hEvPlaneTPCvsEvPVz05;                      
74   TH2F *hEvPlaneTPCvsEvPVz075; 
75   TH2F *hEvPlaneTPCvsEvPVz1530;
76   TH2F *hEvPlaneTPCvsEvPVz3050;                      
77   TH2F *hEvPlaneTPCvsEvPVz2040;                      
78   TH2F *hEvPlaneTPCvsEvPVz4060;                      
79
80   // For EP Resolution
81
82   TH2F *hCos2DeltaTPCVzAvsCentrality;
83   TH2F *hCos2DeltaTPCVzCvsCentrality;
84   TH2F *hCos2DeltaVzAVzCvsCentrality;
85   TH2F *hCos2DeltaVzMVzAvsCentrality;
86   TH2F *hCos2DeltaVzMVzCvsCentrality;
87   TH2F *hCos2DeltaVzATPCvsCentrality;
88   TH2F *hCos2DeltaVzCTPCvsCentrality;
89   TH2F *hCos2DeltaVzCVzAvsCentrality;
90   TH2F *hCos2DeltaVzMTPCpvsCentrality;
91   TH2F *hCos2DeltaVzMTPCnvsCentrality;
92   TH2F *hCos2DeltaTPCpTPCnvsCentrality;
93
94   // For SP resolution
95
96   TH2F *hQVzAQVzCvsCentrality;
97  
98   // TTree
99   TTree *ftree;                //! Some Information on the tracks
100   Double_t tCentrality      ;
101   Double_t tpT              ;
102   Double_t tMassTOF         ;
103   Double_t tuqV0A           ;
104   Double_t tuqV0C           ;
105   Double_t tCharge          ;
106   Double_t tCosdeltaphiTPC  ;
107   Double_t tCosdeltaphiV0M  ;
108   Double_t tCosdeltaphiV0A  ;
109   Double_t tCosdeltaphiV0C  ;
110   Double_t timpactXY        ;
111
112   //---------------------------------------------------------------------------
113   AliESDtrackCuts *fESDtrackCuts; 
114   AliESDtrackCuts *fESDtrackCutsEP;
115   AliPIDResponse  *fPIDResponse;   //! pointer to PID response
116   //_______________________________________________________________________
117  
118   AliAnalysisTaskNucleiv2SP(const AliAnalysisTaskNucleiv2SP&);            // not implemented
119   AliAnalysisTaskNucleiv2SP& operator=(const AliAnalysisTaskNucleiv2SP&); // not implemented
120   
121   ClassDef(AliAnalysisTaskNucleiv2SP, 0);
122 };
123
124 #endif