]>
Commit | Line | Data |
---|---|---|
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 | 13 | class TH1D; |
e405901b | 14 | class TH2D; |
15 | class TH3D; | |
16 | class THnSparse; | |
8768ec6a | 17 | class TString; |
18 | class AliAODEvent; | |
174de2fd | 19 | class AliAODTrack; |
8768ec6a | 20 | class TList; |
21 | ||
e405901b | 22 | #include "TParticle.h" |
8768ec6a | 23 | #include "AliAnalysisTaskSE.h" |
24 | ||
25 | class 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 |