1 #ifndef AliEbyEHigherMomentsTask_cxx
2 #define AliEbyEHigherMomentsTask_cxx
4 //=========================================================================//
6 // Analysis Task for Net-Charge Higher Moment Analysis //
7 // Author: Satyajit Jena || Nirbhay K. Behera //
8 // sjena@cern.ch || nbehera@cern.ch //
11 //=========================================================================//
22 #include "TParticle.h"
23 #include "AliAnalysisTaskSE.h"
25 class AliEbyEHigherMomentsTask: public AliAnalysisTaskSE {
27 AliEbyEHigherMomentsTask( const char *name = "HigherMomentAnalysis");
28 virtual ~AliEbyEHigherMomentsTask();
30 virtual void UserCreateOutputObjects();
31 virtual void UserExec(Option_t *option);
32 virtual void doAODEvent();
33 virtual void doMCAODEvent();
34 virtual Bool_t ProperVertex();
35 virtual void Terminate(Option_t *);
37 void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {fVxMax = vx;fVyMax = vy; fVzMax = vz;}
38 void SetCentralityEstimator(const char* centralityEstimator) { fCentralityEstimator = centralityEstimator;}
39 void SetAnalysisType(const char* analysisType) {fAnalysisType = analysisType;}
40 void SetDCA(Double_t xy, Double_t z) { fDCAxy = xy; fDCAz = z; }
41 void SetPtRange(Double_t ptl, Double_t pth){fPtLowerLimit = ptl; fPtHigherLimit = pth;}
42 void SetEta(Double_t eta){fEtaLowerLimit= -1.*eta; fEtaHigherLimit=eta;}
43 void SetRapidityCut(Double_t rapidity){ fRapidityCut = rapidity;}
44 void SetNSigmaCut(Double_t nsigma){ fNSigmaCut = nsigma;}
45 void SetParticleSpecies(AliPID::EParticleType pid) {fParticleSpecies = pid;}
46 void SetTPCNclus(Int_t nclus) { fTPCNClus = nclus;}
47 void SetChi2PerNDF( Double_t chi2ndf ) { fChi2perNDF = chi2ndf;}
48 void SetAODtrackCutBit(Int_t bit){ fAODtrackCutBit = bit;}
49 void SetUsePid( Bool_t usepid ){ fUsePid = usepid;}
50 void SetKinematicsCutsAOD(Double_t ptl, Double_t pth, Double_t eta){
54 fEtaLowerLimit = -1.*eta;
55 fEtaHigherLimit = eta;
64 TClonesArray *fArrayMC;
65 AliPIDResponse *fPIDResponse;
66 AliPID::EParticleType fParticleSpecies;
68 TString fAnalysisType; // "MC", "ESD", "AOD"
69 TString fCentralityEstimator; // "V0M","TRK","TKL","ZDC","FMD"
72 Double_t fVxMax; //vxmax
73 Double_t fVyMax;//vymax
74 Double_t fVzMax;//vzmax
78 Double_t fPtLowerLimit;
79 Double_t fPtHigherLimit;
80 Double_t fEtaLowerLimit;
81 Double_t fEtaHigherLimit;
82 Double_t fRapidityCut;
86 Int_t fAODtrackCutBit;//track cut bit from track selection (only used for AODs)
96 THnSparse *fTHnCentNplusNminusCh;
97 THnSparse *fTHnCentNplusNminusChTruth;
98 THnSparse *fTHnCentNplusNminus;
99 THnSparse *fTHnCentNplusNminusPid[5];
100 THnSparse *fTHnCentNplusNminusPidTruth[5];
104 AliEbyEHigherMomentsTask(const AliEbyEHigherMomentsTask&);
105 AliEbyEHigherMomentsTask& operator = (const AliEbyEHigherMomentsTask&);//Not implimented..
106 ClassDef(AliEbyEHigherMomentsTask, 1);