ROOT logo
#ifndef ALIANALYSISDEUTERONPA_H
#define ALIANALYSISDEUTERONPA_H

//////////////////////////////////////////////////////////////////////////////
//                                                                          //
// This analysis extracts pT-spectra of charged kaons, protons, and pions.  //
// It is based on particles identifation via the dE/dx signal of the TPC.   //
//                                                                          //
//////////////////////////////////////////////////////////////////////////////

class TH1;
class TH1F;
class TH2F;
class TH3F;
class TList;
class TObjArray;
class AliESDEvent;
class AliESDtrack;
class AliESDtrackCuts;
class AliHeader;
class AliESDpid;
class AliAnalysisUtils;


#include "AliAnalysisTaskSE.h"
#include "THnSparse.h"

class AliAnalysisDeuteronpA : public AliAnalysisTaskSE {
 public:
  AliAnalysisDeuteronpA(const char *name);
  AliAnalysisDeuteronpA();
  virtual ~AliAnalysisDeuteronpA() {}
  //
  virtual void   UserCreateOutputObjects();
  virtual void   UserExec(Option_t *option);
  virtual void   Terminate(Option_t *);
  //
  void           SetESDtrackCuts(AliESDtrackCuts * trackCuts){fESDtrackCuts = trackCuts;};
  void           SetAlephParameters(const Double_t * parameters){for(Int_t j=0;j<5;j++) fAlephParameters[j] = parameters[j]; Initialize();};
  void           SetIsMCtrue(Bool_t isMCdata = kTRUE){fMCtrue = isMCdata;};
  void           SetRapCMSpA(Bool_t isRapCMSpA = kTRUE){fRapCMSpA = isRapCMSpA;};
  //
  void           Initialize();
  //
  
 private:
  //
  void  BinLogAxis(const TH1 *h);
  //
  AliESDEvent *fESD;                   //! ESD object
  TList       *fListHist;              //! list for histograms
  //
  AliESDtrackCuts * fESDtrackCuts;     // basic cut variables
  AliESDtrackCuts * fESDTrackCutsMult; // cuts for the MULTIPLICITY DETERMINATION
  AliESDpid       * fESDpid;           // basic TPC object for n-sigma cuts
  Bool_t        fMCtrue;               // flag if real data or MC is processed
  Bool_t        fRapCMSpA;             // flag if shift to CMS_NN system for pA
  Double_t      fAlephParameters[5];   // Aleph Parameters for Bethe-Bloch
  AliAnalysisUtils  *fUtils;           // For vertex cut and pileup rejection
  //
  //
  //
  THnSparseF * fHistRealTracks;        //! histogram with all necessary information for real tracks
  THnSparseF * fHistMCparticles;       //! histogram with all necessary information for MC particles
  //
  TH3F       * fHistPidQA;             //! histogram for the QA of the PID
  TH2F       * fHistTofQA;             //! histogram for the QA of the PID
  TH2F       * fHistMult;              //! control histogram for multiplicity
  TH1F       * fHistCentrality;        //! control histogram for centrality
  TH2F       * fHistMomCorr;           //! histogram for momentum and rapidity correction due to wrong propagation mass
  TH3F       * fHistEtaPtGen;          //! histogram for rapidity correction due to cuts on generation level
  TH2F       * fHistVertex;            //! histogram to monitor the vertex position and resolution
  TH1F       * fHistVertexRes;         //! histogram for difference between MC truth and rec vertex z position
  TH2F       * fHistVertexResTracks;   //! histogram to control vertex positon vs no. of primary tracks
  //
  AliAnalysisDeuteronpA(const AliAnalysisDeuteronpA&); 
  AliAnalysisDeuteronpA& operator=(const AliAnalysisDeuteronpA&); 

  ClassDef(AliAnalysisDeuteronpA, 1); 
};

#endif
 AliAnalysisDeuteronpA.h:1
 AliAnalysisDeuteronpA.h:2
 AliAnalysisDeuteronpA.h:3
 AliAnalysisDeuteronpA.h:4
 AliAnalysisDeuteronpA.h:5
 AliAnalysisDeuteronpA.h:6
 AliAnalysisDeuteronpA.h:7
 AliAnalysisDeuteronpA.h:8
 AliAnalysisDeuteronpA.h:9
 AliAnalysisDeuteronpA.h:10
 AliAnalysisDeuteronpA.h:11
 AliAnalysisDeuteronpA.h:12
 AliAnalysisDeuteronpA.h:13
 AliAnalysisDeuteronpA.h:14
 AliAnalysisDeuteronpA.h:15
 AliAnalysisDeuteronpA.h:16
 AliAnalysisDeuteronpA.h:17
 AliAnalysisDeuteronpA.h:18
 AliAnalysisDeuteronpA.h:19
 AliAnalysisDeuteronpA.h:20
 AliAnalysisDeuteronpA.h:21
 AliAnalysisDeuteronpA.h:22
 AliAnalysisDeuteronpA.h:23
 AliAnalysisDeuteronpA.h:24
 AliAnalysisDeuteronpA.h:25
 AliAnalysisDeuteronpA.h:26
 AliAnalysisDeuteronpA.h:27
 AliAnalysisDeuteronpA.h:28
 AliAnalysisDeuteronpA.h:29
 AliAnalysisDeuteronpA.h:30
 AliAnalysisDeuteronpA.h:31
 AliAnalysisDeuteronpA.h:32
 AliAnalysisDeuteronpA.h:33
 AliAnalysisDeuteronpA.h:34
 AliAnalysisDeuteronpA.h:35
 AliAnalysisDeuteronpA.h:36
 AliAnalysisDeuteronpA.h:37
 AliAnalysisDeuteronpA.h:38
 AliAnalysisDeuteronpA.h:39
 AliAnalysisDeuteronpA.h:40
 AliAnalysisDeuteronpA.h:41
 AliAnalysisDeuteronpA.h:42
 AliAnalysisDeuteronpA.h:43
 AliAnalysisDeuteronpA.h:44
 AliAnalysisDeuteronpA.h:45
 AliAnalysisDeuteronpA.h:46
 AliAnalysisDeuteronpA.h:47
 AliAnalysisDeuteronpA.h:48
 AliAnalysisDeuteronpA.h:49
 AliAnalysisDeuteronpA.h:50
 AliAnalysisDeuteronpA.h:51
 AliAnalysisDeuteronpA.h:52
 AliAnalysisDeuteronpA.h:53
 AliAnalysisDeuteronpA.h:54
 AliAnalysisDeuteronpA.h:55
 AliAnalysisDeuteronpA.h:56
 AliAnalysisDeuteronpA.h:57
 AliAnalysisDeuteronpA.h:58
 AliAnalysisDeuteronpA.h:59
 AliAnalysisDeuteronpA.h:60
 AliAnalysisDeuteronpA.h:61
 AliAnalysisDeuteronpA.h:62
 AliAnalysisDeuteronpA.h:63
 AliAnalysisDeuteronpA.h:64
 AliAnalysisDeuteronpA.h:65
 AliAnalysisDeuteronpA.h:66
 AliAnalysisDeuteronpA.h:67
 AliAnalysisDeuteronpA.h:68
 AliAnalysisDeuteronpA.h:69
 AliAnalysisDeuteronpA.h:70
 AliAnalysisDeuteronpA.h:71
 AliAnalysisDeuteronpA.h:72
 AliAnalysisDeuteronpA.h:73
 AliAnalysisDeuteronpA.h:74
 AliAnalysisDeuteronpA.h:75
 AliAnalysisDeuteronpA.h:76
 AliAnalysisDeuteronpA.h:77
 AliAnalysisDeuteronpA.h:78
 AliAnalysisDeuteronpA.h:79
 AliAnalysisDeuteronpA.h:80
 AliAnalysisDeuteronpA.h:81
 AliAnalysisDeuteronpA.h:82