]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/STRANGENESS/Hypernuclei/AliAnalysisTaskNucleiv2.h
.so cleanup: more gSystem->Load()
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Hypernuclei / AliAnalysisTaskNucleiv2.h
1 #ifndef ALIANALYSISTASKNUCLEIV2_H
2 #define ALIANALYSISTASKNUCLEIV2_H
3
4 /*  See cxx source for full Copyright notice */
5
6 //-----------------------------------------------------------------
7 //                 AliAnalysisTaskNucleiv2 class
8 //-----------------------------------------------------------------
9
10 class TList;
11 class TH1F;
12 class TH2F;
13 class TH3F;
14 class TNtuple;
15 class AliESDcascade;
16 //class AliCascadeVertexer; 
17 #include <AliPIDResponse.h>
18 #include "TString.h"
19 #include "AliESDtrackCuts.h"
20 #include "AliAnalysisTaskSE.h"
21
22 class AliAnalysisTaskNucleiv2 : public AliAnalysisTaskSE {
23  public:
24   //  AliAnalysisTaskNucleiv2(const char *datatype);
25   AliAnalysisTaskNucleiv2();
26   AliAnalysisTaskNucleiv2(const char *name,const char *datatype,Bool_t filltree);
27   virtual ~AliAnalysisTaskNucleiv2() {}
28   
29   virtual void  UserCreateOutputObjects();
30   virtual void  UserExec(Option_t *option);
31   virtual void  Terminate(Option_t *);
32   
33   void SetCollidingSystems(Short_t collidingSystems = 0)     {fCollidingSystems = collidingSystems;}
34   void SetAnalysisType    (const char* analysisType = "ESD") {fAnalysisType = analysisType;}
35   void SetDataType    (const char* dataType = "REAL") {fDataType = dataType;}
36   void SetFillTree    (Bool_t ifFill = kFALSE) {fFillNtuple = ifFill;}
37   //  void SetDataType    (const char* dataTypeS = datatype) {fDataType = dataTypeS;}
38   // void SetDataType    (const char* dataType) {fDataType = dataType;}
39  
40   //Double_t BetheBloch(Double_t bg,Double_t Charge,Bool_t optMC);
41   //  Double_t BetheBloch(Double_t bg,Double_t Charge,Bool_t isPbPb);
42   //  Bool_t IsTrackAccepted(AliESDtrack * const track);
43   Float_t GetPhi0Pi(Float_t phi);
44   void    Initialize();
45  private:
46   
47   TString fAnalysisType;              //! "ESD" or "AOD" analysis type  
48   
49   Short_t fCollidingSystems;          //! 0 = pp collisions or 1 = AA collisions
50   TString fDataType;                  //! "REAL" or "SIM" data type     
51   Bool_t  fFillNtuple;                //! fill or not the tree  
52  
53   TList *fListHistCascade;                 //! List of Cascade histograms
54   TH1F  *fHistEventMultiplicity;           //! event multiplicity
55   TH2F  *fHistTrackMultiplicity;           //! track multiplicity
56   TH2F  *fHistTrackMultiplicityCentral;    //! track multiplicity
57   TH2F  *fHistTrackMultiplicitySemiCentral;//! track multiplicity
58   TH2F  *fHistTrackMultiplicityMB;         //! track multiplicity
59   TH2F  *fhBB;                             //! ScatterPlot Total
60   TH2F  *fhBBDeu;                          //! ScatterPlot Total
61   TH2F  *fhPtDeu;                          //! correctet vs non correcter d pt
62   TH2F  *fhTOF;                            //! ScatterPlot Total TOF
63   TH1F  *fhMassTOF;                        //! Mass Distribution TOF
64
65   TH2F *hRPangleTPCvsCentrality;           //RESOLUTION Histrograms
66   TH2F *hPlaneResoTPCvsCentrality;
67   TH2F *hRPangleVZEROvsCentrality;
68   TH2F *hRPangleVZEROAvsCentrality;
69   TH2F *hRPangleVZEROCvsCentrality;
70   TH2F *hPlaneResoVZEROvsCentrality;
71   TH2F *hPlaneResoVZEROAvsCentrality;
72   TH2F *hPlaneResoVZEROCvsCentrality;
73   TH2F *hCosPhivsPt;                         
74   TH2F *hSinPhivsPt;                         
75   TH2F *hPhivsPt;                         
76   TH2F *hAntiCosPhivsPt;                     
77   TH2F *hAntiSinPhivsPt;                     
78   TH2F *hAntiPhivsPt;                     
79   TH2F *hCosDeltaPhivsPt075;                      
80   TH2F *hSinDeltaPhivsPt075;                      
81   TH2F *hDeltaPhivsPt075;                      
82   TH2F *hCosDeltaPhiVZEROvsPt075;                             
83   TH2F *hSinDeltaPhiVZEROvsPt075;                             
84   TH2F *hDeltaPhiVZEROvsPt075;                 
85   TH2F *hCosDeltaPhivsPt1530;                     
86   TH2F *hSinDeltaPhivsPt1530;                     
87   TH2F *hDeltaPhivsPt1530;                     
88   TH2F *hCosDeltaPhiVZEROvsPt1530;                
89   TH2F *hSinDeltaPhiVZEROvsPt1530;                
90   TH2F *hDeltaPhiVZEROvsPt1530;                
91   TH2F *hCosDeltaPhivsPt3050;                     
92   TH2F *hSinDeltaPhivsPt3050;                     
93   TH2F *hDeltaPhivsPt3050;                     
94   TH2F *hCosDeltaPhiVZEROvsPt3050;                
95   TH2F *hSinDeltaPhiVZEROvsPt3050;                
96   TH2F *hDeltaPhiVZEROvsPt3050;                
97   TH2F *hCosDeltaPhivsPt1550;                     
98   TH2F *hSinDeltaPhivsPt1550;                     
99   TH2F *hDeltaPhivsPt1550;                     
100   TH2F *hCosDeltaPhiVZEROvsPt1550;                
101   TH2F *hSinDeltaPhiVZEROvsPt1550;                
102   TH2F *hDeltaPhiVZEROvsPt1550;                
103   TH2F *hAntiCosDeltaPhivsPt075;                  
104   TH2F *hAntiSinDeltaPhivsPt075;                  
105   TH2F *hAntiDeltaPhivsPt075;                  
106   TH2F *hAntiCosDeltaPhiVZEROvsPt075;             
107   TH2F *hAntiSinDeltaPhiVZEROvsPt075;             
108   TH2F *hAntiDeltaPhiVZEROvsPt075;             
109   TH2F *hAntiCosDeltaPhivsPt1530;                 
110   TH2F *hAntiSinDeltaPhivsPt1530;                 
111   TH2F *hAntiDeltaPhivsPt1530;                 
112   TH2F *hAntiCosDeltaPhiVZEROvsPt1530;            
113   TH2F *hAntiSinDeltaPhiVZEROvsPt1530;            
114   TH2F *hAntiDeltaPhiVZEROvsPt1530;            
115   TH2F *hAntiCosDeltaPhivsPt3050;                 
116   TH2F *hAntiSinDeltaPhivsPt3050;                 
117   TH2F *hAntiDeltaPhivsPt3050;                 
118   TH2F *hAntiCosDeltaPhiVZEROvsPt3050;            
119   TH2F *hAntiSinDeltaPhiVZEROvsPt3050;            
120   TH2F *hAntiDeltaPhiVZEROvsPt3050;            
121   TH2F *hAntiCosDeltaPhivsPt1550;                 
122   TH2F *hAntiSinDeltaPhivsPt1550;                 
123   TH2F *hAntiDeltaPhivsPt1550;                 
124   TH2F *hAntiCosDeltaPhiVZEROvsPt1550;            
125   TH2F *hAntiSinDeltaPhiVZEROvsPt1550;            
126   TH2F *hAntiDeltaPhiVZEROvsPt1550;     
127
128   AliESDtrackCuts * fESDtrackCuts; 
129   AliPIDResponse *fPIDResponse;   //! pointer to PID response
130
131   //_______________________________________________________________________
132
133   TTree *fNtuple1;                //! Some Information on the tracks
134     
135   Double_t tEventNumber[7];       //ev number; run number; Bunch Cross - Orbit -  Period Number; #tracks; event type
136   Double_t tCentrality ;
137   Double_t tVertexCoord[3];
138   
139   //TRACKS
140   Double_t tPIDITS[9];            //n-signas different particle species ITS
141   Double_t tPIDTPC[9];            //n-signas different particle species TPC
142   Double_t tPIDTOF[9];            //n-signas different particle species TOF
143   Double_t tPulls[3];          //Pulls
144  
145   Double_t tMomentum[3];          //pxpypz of the tracks
146   Double_t tTPCMomentum;          //momentum at theh TPC inner wall
147   Double_t tdEdx;                 //dEdx of the tracks
148   Double_t tEta;                  //eta of the tracks
149   Double_t tDCA[2];               //dcaXY and dcaZ of the track
150   Double_t tTracksTPC[2];         //chi^2 and #TPCcluster
151   Double_t tITSclustermap;        //ITS cluster map
152   Double_t tITSsample[4];         //ITS samples 
153   Int_t    tisTOF[2];             //isTOF, isOuterTPCwall   
154   Double_t tTOFtrack[3];          //poutTPC,timeTOF,trackLenghtTOF;
155   Int_t    tCharge;               //Charge of the Track
156   Double_t tPtCorr;               //Corrected Momentum 
157   Double_t tPhi;                  //Phi 
158   Double_t trpangleTPC;           //rpangleTPC
159   Double_t trpangleVZERO[3];      //rpangleVZERO: V0M, V0A, V0C
160   
161  
162   Double_t tPDGCode;              //PDG code ptc
163   Double_t tPDGCodeMum;           //PDG code mother ptc
164   Double_t tIsPrimaryTr;
165   Double_t tIsSecondaryTr[2];     //from material ; from weak deacy 
166   
167   //_______________________________________________________________________
168   
169   TTree *fNtuple2;                  //! MC tree
170
171   Double_t tEventNumberMC[6];       //ev number; run number; Bunch Cross - Orbit -  Period Number; #tracks
172   Double_t tCentralityMC;
173   Double_t tVertexCoordMC[3];
174   Double_t tMomentumMC[3];          //pxpypz of the tracks
175
176   Double_t tPDGCodeMC      ;
177   Double_t tPDGCodeMumMC   ;
178   Double_t tIsPrimary      ;
179   Double_t tIsSecondary[2] ;      //from material ; from weak deacy 
180   Double_t tEtaMC          ;
181   Double_t tPtMC           ;
182   Double_t tYMC            ;
183
184   //_______________________________________________________________________
185  
186   AliAnalysisTaskNucleiv2(const AliAnalysisTaskNucleiv2&);            // not implemented
187   AliAnalysisTaskNucleiv2& operator=(const AliAnalysisTaskNucleiv2&); // not implemented
188   
189   ClassDef(AliAnalysisTaskNucleiv2, 0);
190 };
191
192 #endif