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