]>
Commit | Line | Data |
---|---|---|
84bb3fcb | 1 | #ifndef AliEbyEHigherMomentsTaskPID_cxx |
2 | #define AliEbyEHigherMomentsTaskPID_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 | ||
13 | class TH1D; | |
14 | class TH2D; | |
15 | class TH3D; | |
16 | class THnSparse; | |
17 | class TString; | |
18 | class AliAODEvent; | |
19 | class AliAODTrack; | |
20 | class AliPIDResponse; | |
21 | class AliHelperPID; | |
22 | class TList; | |
23 | ||
24 | #include "TParticle.h" | |
25 | #include "AliAnalysisTaskSE.h" | |
26 | ||
27 | class AliEbyEHigherMomentsTaskPID: public AliAnalysisTaskSE { | |
28 | public: | |
29 | AliEbyEHigherMomentsTaskPID( const char *name = "HigherMomentAnalysis"); | |
30 | virtual ~AliEbyEHigherMomentsTaskPID(); | |
31 | ||
32 | virtual void UserCreateOutputObjects(); | |
33 | virtual void UserExec(Option_t *option); | |
34 | virtual void doAODEvent(); | |
35 | virtual void doMCAODEvent(); | |
36 | ||
37 | virtual void Terminate(Option_t *); | |
38 | ||
39 | void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {fVxMax = vx;fVyMax = vy; fVzMax = vz;} | |
40 | void SetCentralityEstimator(const char* centralityEstimator) { fCentralityEstimator = centralityEstimator;} | |
41 | void SetAnalysisType(const char* analysisType) {fAnalysisType = analysisType;} | |
42 | void SetRapidityCut(Double_t rapidity){ fRapidityCut = rapidity;} | |
43 | void SetNSigmaCut(Double_t nsigma){ fNSigmaCut = nsigma;} | |
44 | void SetParticleSpecies(AliPID::EParticleType pid) {fParticleSpecies = pid;} | |
45 | void SetAODtrackCutBit(Int_t bit){ fAODtrackCutBit = bit;} | |
46 | void SetHelperPID(AliHelperPID* pid){fHelperPID = pid;} | |
47 | void SetKinematicsCutsAOD(Double_t ptl, Double_t pth, Double_t eta){ | |
48 | fPtLowerLimit = ptl; | |
49 | fPtHigherLimit = pth; | |
50 | fEtaLowerLimit = -1.*eta; | |
51 | fEtaHigherLimit = eta; | |
52 | ||
53 | } | |
54 | void SetNumberOfPtBins(Int_t nPtBins){ fNptBins = nPtBins;} | |
55 | ||
56 | ||
57 | ||
58 | private: | |
59 | ||
60 | Bool_t ProperVertex(AliAODEvent *fAOD) const; | |
61 | Bool_t AcceptTrack(AliAODTrack* track) const; | |
62 | Int_t GetPtBin(Double_t pt); | |
63 | ||
64 | ||
65 | TList *fListOfHistos; | |
66 | TClonesArray *fArrayMC; | |
67 | AliPIDResponse *fPIDResponse; | |
68 | AliPID::EParticleType fParticleSpecies; | |
69 | ||
70 | TString fAnalysisType; // "MC", "ESD", "AOD" | |
71 | TString fCentralityEstimator; // "V0M","TRK","TKL","ZDC","FMD" | |
72 | ||
73 | Int_t fCentrality; | |
74 | Double_t fVxMax; //vxmax | |
75 | Double_t fVyMax;//vymax | |
76 | Double_t fVzMax;//vzmax | |
77 | Double_t fPtLowerLimit; | |
78 | Double_t fPtHigherLimit; | |
79 | Int_t fNptBins; | |
80 | Int_t fBin; | |
81 | Double_t fEtaLowerLimit; | |
82 | Double_t fEtaHigherLimit; | |
83 | Double_t fRapidityCut; | |
84 | Double_t fNSigmaCut; | |
85 | Int_t fAODtrackCutBit;//track cut bit from track selection (only used for AODs) | |
86 | AliHelperPID *fHelperPID; | |
87 | TH1D *fEventCounter; | |
88 | ||
89 | TH1D *fHistQA[4]; | |
90 | TH2D *fHistVxVy; | |
91 | ||
92 | THnSparse *fTHnCentNplusNminusPid; | |
93 | THnSparse *fTHnCentNplusNminusPidTruth; | |
94 | THnSparse *fPtBinNplusNminusPid; | |
95 | THnSparse *fPtBinNplusNminusPidTruth; | |
96 | ||
97 | AliEbyEHigherMomentsTaskPID(const AliEbyEHigherMomentsTaskPID&); | |
98 | AliEbyEHigherMomentsTaskPID& operator = (const AliEbyEHigherMomentsTaskPID&);//Not implimented.. | |
99 | ClassDef(AliEbyEHigherMomentsTaskPID, 1); | |
100 | ||
101 | }; | |
102 | ||
103 | #endif | |
104 | ||
105 |