]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/Fluctuations/AliEbyEHigherMomentsTask.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / EBYE / Fluctuations / AliEbyEHigherMomentsTask.h
CommitLineData
8768ec6a 1#ifndef AliEbyEHigherMomentsTask_cxx
2#define AliEbyEHigherMomentsTask_cxx
3
4//=========================================================================//
5// //
6// Analysis Task for Net-Charge Higher Moment Analysis //
7// Author: Satyajit Jena || Nirbhay K. Behera //
8// sjena@cern.ch || nbehera@cern.ch //
9// V0.0 23/08/2012 //
10// //
11//=========================================================================//
12
8768ec6a 13class TH1D;
e405901b 14class TH2D;
15class TH3D;
16class THnSparse;
8768ec6a 17class TString;
18class AliAODEvent;
174de2fd 19class AliAODTrack;
8768ec6a 20class TList;
21
e405901b 22#include "TParticle.h"
8768ec6a 23#include "AliAnalysisTaskSE.h"
24
25class AliEbyEHigherMomentsTask: public AliAnalysisTaskSE {
26 public:
27 AliEbyEHigherMomentsTask( const char *name = "HigherMomentAnalysis");
28 virtual ~AliEbyEHigherMomentsTask();
e405901b 29
8768ec6a 30 virtual void UserCreateOutputObjects();
31 virtual void UserExec(Option_t *option);
e405901b 32 virtual void doAODEvent();
33 virtual void doMCAODEvent();
174de2fd 34
8768ec6a 35 virtual void Terminate(Option_t *);
e405901b 36
8768ec6a 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;}
e405901b 40 void SetAODtrackCutBit(Int_t bit){ fAODtrackCutBit = bit;}
8768ec6a 41 void SetKinematicsCutsAOD(Double_t ptl, Double_t pth, Double_t eta){
42 fPtLowerLimit = ptl;
43 fPtHigherLimit = pth;
bfa00cce 44 fEtaLowerLimit = -1.*eta;
8768ec6a 45 fEtaHigherLimit = eta;
46
47 }
174de2fd 48 void SetNumberOfPtBins(Int_t nPtBins){ fNptBins = nPtBins;}
49
e405901b 50
51
8768ec6a 52 private:
e405901b 53
174de2fd 54 Bool_t ProperVertex(AliAODEvent *fAOD) const;
55 Bool_t AcceptTrack(AliAODTrack* track) const;
56 Int_t GetPtBin(Double_t pt);
57
58
8768ec6a 59 TList *fListOfHistos;
e405901b 60 TClonesArray *fArrayMC;
8768ec6a 61 TString fAnalysisType; // "MC", "ESD", "AOD"
62 TString fCentralityEstimator; // "V0M","TRK","TKL","ZDC","FMD"
e405901b 63
64 Int_t fCentrality;
8768ec6a 65 Double_t fVxMax; //vxmax
66 Double_t fVyMax;//vymax
67 Double_t fVzMax;//vzmax
8768ec6a 68 Double_t fPtLowerLimit;
69 Double_t fPtHigherLimit;
174de2fd 70 Int_t fNptBins;
71 Int_t fBin;
8768ec6a 72 Double_t fEtaLowerLimit;
73 Double_t fEtaHigherLimit;
e405901b 74 Int_t fAODtrackCutBit;//track cut bit from track selection (only used for AODs)
8768ec6a 75 TH1D *fEventCounter;
8768ec6a 76
174de2fd 77 TH1D *fHistQA[4];
78 TH2D *fHistVxVy;
e405901b 79
80
81 THnSparse *fTHnCentNplusNminusCh;
82 THnSparse *fTHnCentNplusNminusChTruth;
174de2fd 83 THnSparse *fPtBinNplusNminusCh;
84 THnSparse *fPtBinNplusNminusChTruth;
e405901b 85
86
8768ec6a 87
88 AliEbyEHigherMomentsTask(const AliEbyEHigherMomentsTask&);
89 AliEbyEHigherMomentsTask& operator = (const AliEbyEHigherMomentsTask&);//Not implimented..
90 ClassDef(AliEbyEHigherMomentsTask, 1);
91
92};
93
94#endif
95
96