]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/Fluctuations/AliHigherMomentsToyModel.h
new analysis task: multiplicity fluctuations (Maitreyee Mukherjee <maitreyee.mukherje...
[u/mrichter/AliRoot.git] / PWGCF / EBYE / Fluctuations / AliHigherMomentsToyModel.h
CommitLineData
fd257899 1#ifndef AliHigherMomentsToyModel_cxx
2#define AliHigherMomentsToyModel_cxx
3
4//=========================================================================//
5// //
6// Toy Model 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
14class TH1D;
15class TH2D;
16class THnSparse;
17class AliPIDResponse;
18class TString;
19class AliAODEvent;
20class AliPIDResponse;
21class TList;
22
23#include "TParticle.h"
24#include "AliAnalysisTaskSE.h"
25
26class AliHigherMomentsToyModel: public AliAnalysisTaskSE {
27 public:
28 AliHigherMomentsToyModel( const char *name = "HigherMomentAnalysis");
29 virtual ~AliHigherMomentsToyModel();
30
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 Terminate(Option_t *);
37
38 void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {fVxMax = vx;fVyMax = vy; fVzMax = vz;}
39 void SetCentralityEstimator(const char* centralityEstimator) { fCentralityEstimator = centralityEstimator;}
40 void SetAnalysisType(const char* analysisType) {fAnalysisType = analysisType;}
41 void SetDCA(Double_t xy, Double_t z) { fDCAxy = xy; fDCAz = z; }
42 void SetPtRange(Double_t ptl, Double_t pth){fPtLowerLimit = ptl; fPtHigherLimit = pth;}
43 void SetEta(Double_t eta){fEtaLowerLimit= -1*eta; fEtaHigherLimit= eta;}
44 void SetRapidityCut(Double_t rapidity){ fRapidityCut = rapidity;}
45 void SetNSigmaCut(Double_t nsigma){ fNSigmaCut = nsigma;}
46 void SetParticleSpecies(AliPID::EParticleType pid) {fParticleSpecies = pid;}
47 void SetTPCNclus(Int_t nclus) { fTPCNClus = nclus;}
48 void SetChi2PerNDF( Double_t chi2ndf ) { fChi2perNDF = chi2ndf;}
49 void SetAODtrackCutBit(Int_t bit){ fAODtrackCutBit = bit;}
50 void SetUsePid( Bool_t usepid ){ fUsePid = usepid;}
51 void SetKinematicsCutsAOD(Double_t ptl, Double_t pth, Double_t eta){
52 fPtLowerLimit = ptl;
53 fPtHigherLimit = pth;
54 fEtaLowerLimit = -1*eta;
55 fEtaHigherLimit = eta;
56
57 }
58
59
60 private:
61
62 TList *fListOfHistosQA;
63 TList *fListOfHistos;
64 AliAODEvent *fAOD;
65 TClonesArray *fArrayMC;
66 AliPIDResponse *fPIDResponse;
67 AliPID::EParticleType fParticleSpecies;
68
69 TString fAnalysisType; // "MC", "ESD", "AOD"
70 TString fCentralityEstimator; // "V0M","TRK","TKL","ZDC","FMD"
71
72 Int_t fCentrality;
73 Double_t fVxMax; //vxmax
74 Double_t fVyMax;//vymax
75 Double_t fVzMax;//vzmax
76
77 Double_t fDCAxy;
78 Double_t fDCAz;
79 Double_t fPtLowerLimit;
80 Double_t fPtHigherLimit;
81 Double_t fEtaLowerLimit;
82 Double_t fEtaHigherLimit;
83 Double_t fRapidityCut;
84 Double_t fNSigmaCut;
85 Int_t fTPCNClus;
86 Double_t fChi2perNDF;
87 Int_t fAODtrackCutBit;//track cut bit from track selection (only used for AODs)
88 Bool_t fUsePid;
89 TH1D *fEventCounter;
90
91 TH1D *fHistQA[13];
92 TH2D *fHistDCA;
93 TH2D *fTPCSig;
94 TH2D *fTPCSigA;
95
96 THnSparse *fTHnCentNplusNminusCh;
97 THnSparse *fTHnCentNplusNminusChTruth;
98 THnSparse *fTHnCentNplusNminus;
99 THnSparse *fTHnCentNplusNminusPid[5];
100 THnSparse *fTHnCentNplusNminusPidTruth[5];
101
102 AliHigherMomentsToyModel(const AliHigherMomentsToyModel&);
103 AliHigherMomentsToyModel& operator = (const AliHigherMomentsToyModel&);//Not implimented..
104 ClassDef(AliHigherMomentsToyModel, 1);
105
106};
107
108#endif