]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/Fluctuations/AliEbyEHigherMomentsTaskPID.h
Enlarging window for DCS DPs retrieval for short runs for GRP + Keeping connection...
[u/mrichter/AliRoot.git] / PWGCF / EBYE / Fluctuations / AliEbyEHigherMomentsTaskPID.h
CommitLineData
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
13class TH1D;
14class TH2D;
15class TH3D;
16class THnSparse;
17class TString;
18class AliAODEvent;
19class AliAODTrack;
20class AliPIDResponse;
21class AliHelperPID;
22class TList;
23
24#include "TParticle.h"
25#include "AliAnalysisTaskSE.h"
26
27class 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