]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/Nuclei/PtSpectra/AliAnalysisAntiNuclei.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / Nuclei / PtSpectra / AliAnalysisAntiNuclei.h
1 #ifndef ALIANALYSISANTINUCLEI_H
2 #define ALIANALYSISANTINUCLEI_H
3
4 //////////////////////////////////////////////////////////////////////////////
5 //                                                                          //
6 // This analysis extracts pT-spectra of charged kaons, protons, and pions.  //
7 // It is based on particles identifation via the dE/dx signal of the TPC.   //
8 //                                                                          //
9 //////////////////////////////////////////////////////////////////////////////
10
11 class TH1;
12 class TH1F;
13 class TH2F;
14 class TH3F;
15 class TList;
16 class TObjArray;
17 class AliESDEvent;
18 class AliESDtrack;
19 class AliESDtrackCuts;
20 class AliHeader;
21 class AliESDpid;
22
23
24 #include "AliAnalysisTaskSE.h"
25 #include "THnSparse.h"
26
27 class AliAnalysisAntiNuclei : public AliAnalysisTaskSE {
28  public:
29   AliAnalysisAntiNuclei(const char *name);
30   AliAnalysisAntiNuclei();
31   virtual ~AliAnalysisAntiNuclei() {}
32   //
33   virtual void   UserCreateOutputObjects();
34   virtual void   UserExec(Option_t *option);
35   virtual void   Terminate(Option_t *);
36   //
37   void           SetESDtrackCuts(AliESDtrackCuts * trackCuts){fESDtrackCuts = trackCuts;};
38   void           SetAlephParameters(const Double_t * parameters){for(Int_t j=0;j<5;j++) fAlephParameters[j] = parameters[j]; Initialize();};
39   void           SetIsMCtrue(Bool_t isMCdata = kTRUE){fMCtrue = isMCdata;};
40   //
41   void           Initialize();
42   //
43   
44  private:
45   //
46   void  BinLogAxis(const TH1 *h);
47   //
48   AliESDEvent *fESD;                   //! ESD object
49   TList       *fListHist;              //! list for histograms
50   //
51   AliESDtrackCuts * fESDtrackCuts;     // basic cut variables
52   AliESDtrackCuts * fESDTrackCutsMult; // cuts for the MULTIPLICITY DETERMINATION
53   AliESDpid       * fESDpid;           // basic TPC object for n-sigma cuts
54   Bool_t        fMCtrue;               // flag if real data or MC is processed
55   Double_t      fAlephParameters[5];   // Aleph Parameters for Bethe-Bloch
56   //
57   //
58   //
59   THnSparseF * fHistRealTracks;        //! histogram with all necessary information for real tracks
60   THnSparseF * fHistMCparticles;       //! histogram with all necessary information for MC particles
61   //
62   TH3F       * fHistPidQA;             //! histogram for the QA of the PID
63   TH2F       * fHistTofQA;             //! histogram for the QA of the PID
64   TH2F       * fHistMult;              //! control histogram for multiplicity
65   TH1F       * fHistCentrality;        //! control histogram for centrality
66   TH2F       * fHistMomCorr;           //! histogram for momentum and rapidity correction due to wrong propagation mass
67   TH3F       * fHistEtaPtGen;          //! histogram for rapidity correction due to cuts on generation level
68   //
69   AliAnalysisAntiNuclei(const AliAnalysisAntiNuclei&); 
70   AliAnalysisAntiNuclei& operator=(const AliAnalysisAntiNuclei&); 
71
72   ClassDef(AliAnalysisAntiNuclei, 1); 
73 };
74
75 #endif