]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/STRANGENESS/Hypernuclei/AliAnalysisTaskHelium3PiMC.h
Commit of Hypertriton task for Ramona
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Hypernuclei / AliAnalysisTaskHelium3PiMC.h
1 #ifndef ALIANALYSISTASKHELIUM3PIMC_H
2 #define ALIANALYSISTASKHELIUM3PIMC_H
3
4 /*  See cxx source for full Copyright notice */
5
6 //-----------------------------------------------------------------
7 //                 AliAnalysisTaskHelium3Pion 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
18 #include "TString.h"
19
20 #include "AliAnalysisTaskSE.h"
21
22 class AliAnalysisTaskHelium3PiMC : public AliAnalysisTaskSE {
23  public:
24   AliAnalysisTaskHelium3PiMC();
25   AliAnalysisTaskHelium3PiMC(const char *name);
26   virtual ~AliAnalysisTaskHelium3PiMC();
27   
28   virtual void  UserCreateOutputObjects();
29   virtual void  UserExec(Option_t *option);
30   virtual void  Terminate(Option_t *);
31   
32   void SetCollidingSystems(Short_t collidingSystems = 0)     {fCollidingSystems = collidingSystems;}
33   void SetAnalysisType    (const char* analysisType = "ESD") {fAnalysisType = analysisType;}
34   void SetDataType    (const char* dataType = "SIM") {fDataType = dataType;}
35   void SetMinNSigma(Double_t ns=3.){
36     fMinNSigma=ns;
37   }
38
39   void SetMinSPDPoints(Int_t np=1){
40     fMinSPDPts=np;
41   }
42
43   //Double_t BetheBloch(Double_t bg,Double_t Charge,Bool_t optMC);
44   Double_t BetheBloch(Double_t bg,Double_t Charge,Bool_t isPbPb);
45
46   
47  private:
48
49   TString fAnalysisType;             //! "ESD" or "AOD" analysis type   
50
51   Short_t fCollidingSystems;         //! 0 = pp collisions or 1 = AA collisions
52   TString fDataType;                 //! "REAL" or "SIM" data type      
53   TList *fListHistCascade;           //! List of Cascade histograms
54
55   TH1F *fHistEventMultiplicity;      //! event multiplicity
56   TH1F *fHistTrackMultiplicity;      //! track multiplicity  
57   TH1F *fHistMCMultiplicityTracks;
58   TH1F *fHistMCEta; 
59   TH1F *fHistMCPt; 
60   TH1F *fHistMCTheta; 
61   TH1F *fHistMCDecayPosition;
62   TH1F *fHistMCDecayRho; 
63   TH2F *fhRigidityHevsMomPiMC;
64   TH2F *fhRigidityHevsMomPiRec;
65   TH1F *fhInvMassMC;
66   TH1F *fhInvMassMum;
67   TH1F *fhInvMassRec;
68
69   TH1F *fhInvMassRec1;
70   TH1F *fhInvMassRec2;
71   TH1F *fhInvMassRec3;
72   TH1F *fhInvMassRec4;
73   TH1F *fhInvMassRec5;
74   TH1F *fhInvMassRec6;
75   TH1F *fhInvMassRec7;
76
77   TH1F *fhHeMCRigidity;
78   TH1F *fhPioneMC;
79   TH2F *hBBTPCnoCuts;
80   TH2F *fhBBTPC;
81   TH2F *fhBBTPCNegativePions;
82   TH2F *fhBBTPCPositivePions;
83   TH2F *fhBBTPCHe3;
84   TH2F *fHistProvaDCA;
85   TH2F *fHistPercentileVsTrackNumber;
86   TH1F *fhHeDCAXY; 
87   TH1F *fhHeDCAZ; 
88   TH1F *fhPiDCAXY; 
89   TH1F *fhPiDCAZ; 
90   TH1F *hITSClusterMap;
91   
92  
93   TNtuple *fNtuple1;                  //! Ntupla Pairs Pi/Proton "standard"
94   TNtuple *fNtuple2;                  //! Ntupla Pairs PiPos/Proton "background"
95
96   TTree *fhTreeESD;                  //! Tree di Tstring
97   TString nameESD ; 
98   Int_t nEv;
99
100   Int_t    fMinSPDPts;       // minimum number of SPD Points
101   Double_t fMinNSigma;       // minimum number of sigmas
102   
103
104  static const Int_t fgNrot;
105  
106
107   AliAnalysisTaskHelium3PiMC(const AliAnalysisTaskHelium3PiMC&);            // not implemented
108   AliAnalysisTaskHelium3PiMC& operator=(const AliAnalysisTaskHelium3PiMC&); // not implemented
109   
110   ClassDef(AliAnalysisTaskHelium3PiMC, 0);
111 };
112
113 #endif