ROOT logo
#ifndef AliHigherMomentsToyModel_cxx
#define AliHigherMomentsToyModel_cxx

//=========================================================================//
//                                                                         //
//           Toy Model for Net-Charge Higher Moment Analysis               //
//              Author: Satyajit Jena || Nirbhay K. Behera                 //
//                      sjena@cern.ch || nbehera@cern.ch                   //
//                               V0.0 23/08/2012                           //
//                                                                         //
//=========================================================================//


class TH1D;
class TH2D;
class THnSparse;
class AliPIDResponse;
class TString;
class AliAODEvent;
class AliPIDResponse;
class TList;

#include "TParticle.h"
#include "AliAnalysisTaskSE.h"

class AliHigherMomentsToyModel: public AliAnalysisTaskSE {
 public:
  AliHigherMomentsToyModel( const char *name = "HigherMomentAnalysis");
  virtual ~AliHigherMomentsToyModel();

  virtual void    UserCreateOutputObjects();
  virtual void    UserExec(Option_t *option);
  virtual void    doAODEvent();
  virtual void    doMCAODEvent();
  virtual Bool_t  ProperVertex();
  virtual void    Terminate(Option_t *);

  void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {fVxMax = vx;fVyMax = vy; fVzMax = vz;}
  void SetCentralityEstimator(const char* centralityEstimator) { fCentralityEstimator = centralityEstimator;}
  void SetAnalysisType(const char* analysisType) {fAnalysisType = analysisType;}
  void SetDCA(Double_t xy, Double_t z) { fDCAxy = xy; fDCAz = z; }
  void SetPtRange(Double_t ptl, Double_t pth){fPtLowerLimit = ptl; fPtHigherLimit = pth;}
  void SetEta(Double_t eta){fEtaLowerLimit= -1*eta; fEtaHigherLimit= eta;}
  void SetRapidityCut(Double_t rapidity){ fRapidityCut = rapidity;}
  void SetNSigmaCut(Double_t nsigma){ fNSigmaCut = nsigma;}
  void SetParticleSpecies(AliPID::EParticleType pid) {fParticleSpecies = pid;}
  void SetTPCNclus(Int_t nclus) { fTPCNClus = nclus;}
  void SetChi2PerNDF( Double_t chi2ndf ) { fChi2perNDF = chi2ndf;}
  void SetAODtrackCutBit(Int_t bit){ fAODtrackCutBit = bit;}
  void SetUsePid( Bool_t usepid ){ fUsePid = usepid;}
  void SetKinematicsCutsAOD(Double_t ptl, Double_t pth, Double_t eta){
    fPtLowerLimit = ptl;
    fPtHigherLimit = pth;
    fEtaLowerLimit = -1*eta;
    fEtaHigherLimit = eta;
    
  }
 
 
 private:

  TList *fListOfHistosQA;
  TList *fListOfHistos;
  AliAODEvent           *fAOD;
  TClonesArray          *fArrayMC;
  AliPIDResponse	*fPIDResponse;
  AliPID::EParticleType fParticleSpecies;
  
  TString          fAnalysisType;          // "MC", "ESD", "AOD"
  TString          fCentralityEstimator;   // "V0M","TRK","TKL","ZDC","FMD"

  Int_t fCentrality;
  Double_t fVxMax;               //vxmax
  Double_t fVyMax;//vymax
  Double_t fVzMax;//vzmax

  Double_t fDCAxy;
  Double_t fDCAz;
  Double_t fPtLowerLimit;
  Double_t fPtHigherLimit;
  Double_t fEtaLowerLimit;
  Double_t fEtaHigherLimit;
  Double_t fRapidityCut;
  Double_t fNSigmaCut;
  Int_t fTPCNClus;
  Double_t fChi2perNDF;
  Int_t fAODtrackCutBit;//track cut bit from track selection (only used for AODs)
  Bool_t fUsePid;
  TH1D *fEventCounter;
  
  TH1D *fHistQA[13];
  TH2D *fHistDCA;
  TH2D *fTPCSig;
  TH2D *fTPCSigA;
  
  THnSparse *fTHnCentNplusNminusCh;
  THnSparse *fTHnCentNplusNminusChTruth;
  THnSparse *fTHnCentNplusNminus;
  THnSparse *fTHnCentNplusNminusPid[5];
  THnSparse *fTHnCentNplusNminusPidTruth[5];
  
  AliHigherMomentsToyModel(const AliHigherMomentsToyModel&);
  AliHigherMomentsToyModel& operator = (const AliHigherMomentsToyModel&);//Not implimented..
  ClassDef(AliHigherMomentsToyModel, 1);
  
};

#endif
 AliHigherMomentsToyModel.h:1
 AliHigherMomentsToyModel.h:2
 AliHigherMomentsToyModel.h:3
 AliHigherMomentsToyModel.h:4
 AliHigherMomentsToyModel.h:5
 AliHigherMomentsToyModel.h:6
 AliHigherMomentsToyModel.h:7
 AliHigherMomentsToyModel.h:8
 AliHigherMomentsToyModel.h:9
 AliHigherMomentsToyModel.h:10
 AliHigherMomentsToyModel.h:11
 AliHigherMomentsToyModel.h:12
 AliHigherMomentsToyModel.h:13
 AliHigherMomentsToyModel.h:14
 AliHigherMomentsToyModel.h:15
 AliHigherMomentsToyModel.h:16
 AliHigherMomentsToyModel.h:17
 AliHigherMomentsToyModel.h:18
 AliHigherMomentsToyModel.h:19
 AliHigherMomentsToyModel.h:20
 AliHigherMomentsToyModel.h:21
 AliHigherMomentsToyModel.h:22
 AliHigherMomentsToyModel.h:23
 AliHigherMomentsToyModel.h:24
 AliHigherMomentsToyModel.h:25
 AliHigherMomentsToyModel.h:26
 AliHigherMomentsToyModel.h:27
 AliHigherMomentsToyModel.h:28
 AliHigherMomentsToyModel.h:29
 AliHigherMomentsToyModel.h:30
 AliHigherMomentsToyModel.h:31
 AliHigherMomentsToyModel.h:32
 AliHigherMomentsToyModel.h:33
 AliHigherMomentsToyModel.h:34
 AliHigherMomentsToyModel.h:35
 AliHigherMomentsToyModel.h:36
 AliHigherMomentsToyModel.h:37
 AliHigherMomentsToyModel.h:38
 AliHigherMomentsToyModel.h:39
 AliHigherMomentsToyModel.h:40
 AliHigherMomentsToyModel.h:41
 AliHigherMomentsToyModel.h:42
 AliHigherMomentsToyModel.h:43
 AliHigherMomentsToyModel.h:44
 AliHigherMomentsToyModel.h:45
 AliHigherMomentsToyModel.h:46
 AliHigherMomentsToyModel.h:47
 AliHigherMomentsToyModel.h:48
 AliHigherMomentsToyModel.h:49
 AliHigherMomentsToyModel.h:50
 AliHigherMomentsToyModel.h:51
 AliHigherMomentsToyModel.h:52
 AliHigherMomentsToyModel.h:53
 AliHigherMomentsToyModel.h:54
 AliHigherMomentsToyModel.h:55
 AliHigherMomentsToyModel.h:56
 AliHigherMomentsToyModel.h:57
 AliHigherMomentsToyModel.h:58
 AliHigherMomentsToyModel.h:59
 AliHigherMomentsToyModel.h:60
 AliHigherMomentsToyModel.h:61
 AliHigherMomentsToyModel.h:62
 AliHigherMomentsToyModel.h:63
 AliHigherMomentsToyModel.h:64
 AliHigherMomentsToyModel.h:65
 AliHigherMomentsToyModel.h:66
 AliHigherMomentsToyModel.h:67
 AliHigherMomentsToyModel.h:68
 AliHigherMomentsToyModel.h:69
 AliHigherMomentsToyModel.h:70
 AliHigherMomentsToyModel.h:71
 AliHigherMomentsToyModel.h:72
 AliHigherMomentsToyModel.h:73
 AliHigherMomentsToyModel.h:74
 AliHigherMomentsToyModel.h:75
 AliHigherMomentsToyModel.h:76
 AliHigherMomentsToyModel.h:77
 AliHigherMomentsToyModel.h:78
 AliHigherMomentsToyModel.h:79
 AliHigherMomentsToyModel.h:80
 AliHigherMomentsToyModel.h:81
 AliHigherMomentsToyModel.h:82
 AliHigherMomentsToyModel.h:83
 AliHigherMomentsToyModel.h:84
 AliHigherMomentsToyModel.h:85
 AliHigherMomentsToyModel.h:86
 AliHigherMomentsToyModel.h:87
 AliHigherMomentsToyModel.h:88
 AliHigherMomentsToyModel.h:89
 AliHigherMomentsToyModel.h:90
 AliHigherMomentsToyModel.h:91
 AliHigherMomentsToyModel.h:92
 AliHigherMomentsToyModel.h:93
 AliHigherMomentsToyModel.h:94
 AliHigherMomentsToyModel.h:95
 AliHigherMomentsToyModel.h:96
 AliHigherMomentsToyModel.h:97
 AliHigherMomentsToyModel.h:98
 AliHigherMomentsToyModel.h:99
 AliHigherMomentsToyModel.h:100
 AliHigherMomentsToyModel.h:101
 AliHigherMomentsToyModel.h:102
 AliHigherMomentsToyModel.h:103
 AliHigherMomentsToyModel.h:104
 AliHigherMomentsToyModel.h:105
 AliHigherMomentsToyModel.h:106
 AliHigherMomentsToyModel.h:107
 AliHigherMomentsToyModel.h:108