]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/STRANGENESS/Hypernuclei/AliAnalysisTaskNucleiv2.h
Add a task for some studies on nuclei
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Hypernuclei / AliAnalysisTaskNucleiv2.h
1 #ifndef ALIANALYSISTASKOVERPROTON_H
2 #define ALIANALYSISTASKOVERPROTON_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);
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 SetDataType    (const char* dataTypeS = datatype) {fDataType = dataTypeS;}
37   // void SetDataType    (const char* dataType) {fDataType = dataType;}
38  
39   //Double_t BetheBloch(Double_t bg,Double_t Charge,Bool_t optMC);
40   //  Double_t BetheBloch(Double_t bg,Double_t Charge,Bool_t isPbPb);
41   //  Bool_t IsTrackAccepted(AliESDtrack * const track);
42   Float_t GetPhi0Pi(Float_t phi);
43   void    Initialize();
44  private:
45   
46   TString fAnalysisType;              //! "ESD" or "AOD" analysis type  
47   
48   Short_t fCollidingSystems;          //! 0 = pp collisions or 1 = AA collisions
49   TString fDataType;                  //! "REAL" or "SIM" data type     
50  
51   TList *fListHistCascade;                 //! List of Cascade histograms
52   TH1F  *fHistEventMultiplicity;           //! event multiplicity
53   TH2F  *fHistTrackMultiplicity;           //! track multiplicity
54   TH2F  *fHistTrackMultiplicityCentral;    //! track multiplicity
55   TH2F  *fHistTrackMultiplicitySemiCentral;//! track multiplicity
56   TH2F  *fHistTrackMultiplicityMB;         //! track multiplicity
57   TH2F  *fhBB;                             //! ScatterPlot Total
58   TH2F  *fhBBDeu;                          //! ScatterPlot Total
59   TH2F  *fhPtDeu;                          //! correctet vs non correcter d pt
60   TH2F  *fhTOF;                            //! ScatterPlot Total TOF
61   TH1F  *fhMassTOF;                        //! Mass Distribution TOF
62
63   TH2F *hRPangleTPCvsCentrality;           //RESOLUTION Histrograms
64   TH2F *hPlaneResoTPCvsCentrality;
65   TH2F *hRPangleVZEROvsCentrality;
66   TH2F *hPlaneResoVZEROvsCentrality;
67
68   AliESDtrackCuts * fESDtrackCuts; 
69   AliPIDResponse *fPIDResponse;   //! pointer to PID response
70
71   //_______________________________________________________________________
72
73   TTree *fNtuple1;                //! Some Information on the tracks
74     
75   Double_t tEventNumber[7];       //ev number; run number; Bunch Cross - Orbit -  Period Number; #tracks; event type
76   Double_t tCentrality ;
77   Double_t tVertexCoord[3];
78   
79   //TRACKS
80   Double_t tPIDITS[9];            //n-signas different particle species ITS
81   Double_t tPIDTPC[9];            //n-signas different particle species TPC
82   Double_t tPIDTOF[9];            //n-signas different particle species TOF
83   Double_t tPulls[3];          //Pulls
84  
85   Double_t tMomentum[3];          //pxpypz of the tracks
86   Double_t tTPCMomentum;          //momentum at theh TPC inner wall
87   Double_t tdEdx;                 //dEdx of the tracks
88   Double_t tEta;                  //eta of the tracks
89   Double_t tDCA[2];               //dcaXY and dcaZ of the track
90   Double_t tTracksTPC[2];         //chi^2 and #TPCcluster
91   Double_t tITSclustermap;        //ITS cluster map
92   Double_t tITSsample[4];         //ITS samples 
93   Int_t    tisTOF[2];             //isTOF, isOuterTPCwall   
94   Double_t tTOFtrack[3];          //poutTPC,timeTOF,trackLenghtTOF;
95   Int_t    tCharge;               //Charge of the Track
96   Double_t tPtCorr;               //Corrected Momentum 
97   Double_t tPhi;                  //Phi 
98   Double_t trpangleTPC;           //rpangleTPC
99   Double_t trpangleVZERO[3];      //rpangleVZERO: V0M, V0A, V0C
100   
101  
102   Double_t tPDGCode;              //PDG code ptc
103   Double_t tPDGCodeMum;           //PDG code mother ptc
104   Double_t tIsPrimaryTr;
105   Double_t tIsSecondaryTr[2];     //from material ; from weak deacy 
106   
107   //_______________________________________________________________________
108   
109   TTree *fNtuple2;                  //! MC tree
110
111   Double_t tEventNumberMC[6];       //ev number; run number; Bunch Cross - Orbit -  Period Number; #tracks
112   Double_t tCentralityMC;
113   Double_t tVertexCoordMC[3];
114   Double_t tMomentumMC[3];          //pxpypz of the tracks
115
116   Double_t tPDGCodeMC      ;
117   Double_t tPDGCodeMumMC   ;
118   Double_t tIsPrimary      ;
119   Double_t tIsSecondary[2] ;      //from material ; from weak deacy 
120   Double_t tEtaMC          ;
121   Double_t tPtMC           ;
122   Double_t tYMC            ;
123
124   //_______________________________________________________________________
125  
126   AliAnalysisTaskNucleiv2(const AliAnalysisTaskNucleiv2&);            // not implemented
127   AliAnalysisTaskNucleiv2& operator=(const AliAnalysisTaskNucleiv2&); // not implemented
128   
129   ClassDef(AliAnalysisTaskNucleiv2, 0);
130 };
131
132 #endif