1 #ifndef AliEbyEHigherMomentsEffContTask_cxx
2 #define AliEbyEHigherMomentsEffContTask_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 //=========================================================================//
23 #include "TParticle.h"
24 #include "AliAnalysisTaskSE.h"
26 class AliEbyEHigherMomentsEffContTask: public AliAnalysisTaskSE {
28 AliEbyEHigherMomentsEffContTask( const char *name = "HigherMomentAnalysis");
29 virtual ~AliEbyEHigherMomentsEffContTask();
31 virtual void UserCreateOutputObjects();
32 virtual void UserExec(Option_t *option);
33 virtual void doAODEvent();
34 virtual void doMCAODEvent();
35 virtual Bool_t ProperVertex();
36 virtual void CheckContTrackAOD(Int_t label, Float_t sign, Int_t idxTrack);
37 virtual void FillEffSparse();
38 virtual void Terminate(Option_t *);
40 void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {fVxMax = vx;fVyMax = vy; fVzMax = vz;}
41 void SetCentralityEstimator(const char* centralityEstimator) { fCentralityEstimator = centralityEstimator;}
42 void SetAnalysisType(const char* analysisType) {fAnalysisType = analysisType;}
43 void SetDCA(Double_t xy, Double_t z) { fDCAxy = xy; fDCAz = z; }
44 void SetPtRange(Double_t ptl, Double_t pth){fPtLowerLimit = ptl; fPtHigherLimit = pth;}
45 void SetEta(Double_t eta){fEtaLowerLimit= -1*eta; fEtaHigherLimit= eta;}
46 void SetRapidityCut(Double_t rapidity){ fRapidityCut = rapidity;}
47 void SetNSigmaCut(Double_t nsigma){ fNSigmaCut = nsigma;}
48 void SetParticleSpecies(AliPID::EParticleType pid) {fParticleSpecies = pid;}
49 void SetTPCNclus(Int_t nclus) { fTPCNClus = nclus;}
50 void SetChi2PerNDF( Double_t chi2ndf ) { fChi2perNDF = chi2ndf;}
51 void SetAODtrackCutBit(Int_t bit){ fAODtrackCutBit = bit;}
52 void SetUsePid( Bool_t usepid ){ fUsePid = usepid;}
53 void SetContaMinationCheck( Bool_t checkCont ){ fCheckCont = checkCont;}
54 void SetEfficencyJob( Bool_t efficiency ){ fEff = efficiency;}
55 void SetKinematicsCutsAOD(Double_t ptl, Double_t pth, Double_t eta){
58 fEtaLowerLimit = -1*eta;
59 fEtaHigherLimit = eta;
66 TList *fListOfHistosQA;
69 TClonesArray *fArrayMC;
70 AliPIDResponse *fPIDResponse;
71 AliPID::EParticleType fParticleSpecies;
73 TString fAnalysisType; // "MC", "ESD", "AOD"
74 TString fCentralityEstimator; // "V0M","TRK","TKL","ZDC","FMD"
77 Double_t fVxMax; //vxmax
78 Double_t fVyMax;//vymax
79 Double_t fVzMax;//vzmax
83 Double_t fPtLowerLimit;
84 Double_t fPtHigherLimit;
85 Double_t fEtaLowerLimit;
86 Double_t fEtaHigherLimit;
87 Double_t fRapidityCut;
91 Int_t fAODtrackCutBit;//track cut bit from track selection (only used for AODs)
103 THnSparse *fTHnCentNplusNminusCh;
104 THnSparse *fTHnCentNplusNminus;
105 THnSparse *fTHnCentNplusNminusPid[5];
109 AliEbyEHigherMomentsEffContTask(const AliEbyEHigherMomentsEffContTask&);
110 AliEbyEHigherMomentsEffContTask& operator = (const AliEbyEHigherMomentsEffContTask&);//Not implimented..
111 ClassDef(AliEbyEHigherMomentsEffContTask, 1);