Update PR task: drathee
[u/mrichter/AliRoot.git] / PWGCF / EBYE / PIDFluctuation / task / AliEbyEPidTTask.h
1 #ifndef AliEbyEPidTTask_cxx
2 #define AliEbyEPidTTask_cxx
3
4 //=========================================================================//
5 //                                                                         //
6 //             AliEbyE Analysis for Particle Ratio Fluctuation             //
7 //              Author:   Deepika Rathee  || Satyajit Jena                 //
8 //                        drathee@cern.ch || sjena@cern.ch                 //
9 //                                                                         //
10 //=========================================================================//
11
12 class TH1D;
13 class TH2F;
14 class TH3F;
15 class TString;
16 class AliAODEvent;
17 class AliAODTrack;
18 class AliAODMCParticle;
19 class TList;
20 class TTree;
21 class AliESDtrackCuts;
22 class AliHelperPID;
23
24 #include "AliAnalysisTaskSE.h"
25 #include "AliPID.h"
26 #include "THnSparse.h"
27
28 class AliEbyEPidTTask: public AliAnalysisTaskSE {
29  public:
30   AliEbyEPidTTask( const char *name = "HigherMomentAnalysis");
31   virtual ~AliEbyEPidTTask();
32
33   virtual void   UserCreateOutputObjects();
34   virtual void   UserExec(Option_t *option);
35   virtual void   Terminate(Option_t *);
36
37   void SetAODtrackCutBit(Int_t bit) {fAODtrackCutBit = bit; }
38   void SetCentralityEstimator(const char* cent) { fCentralityEstimator = cent;}
39   void SetAnalysisType(Bool_t ismc) {isMC = ismc;}
40   void RunQA() {isQA = kTRUE;}
41   void Debug() {fDebug = kTRUE;}
42   void SetHelperPID(AliHelperPID* pid){fHelperPID = pid;}
43
44   static const Int_t kTrack = 8000;
45
46  private:
47
48  
49   Bool_t       AcceptTrack(AliAODTrack *track) const; //! accept track
50   Bool_t       AcceptMCTrack(AliAODMCParticle *track) const; //! accept track
51   TList        *fThnList;
52   Bool_t       isMC;          //! "AOD = 0", "AODMC = 1"
53   TString      fCentralityEstimator;   //! "V0M","TRK","TKL","ZDC","FMD"  
54   Int_t        fAODtrackCutBit;
55   AliHelperPID *fHelperPID;
56   TH1D         *fEventCounter;
57   TTree        *fEventTree;
58   
59   Bool_t  isQA;
60   Bool_t  fDebug;   
61   
62   Int_t   fRunNumber;
63   Int_t   fNumberOfTracks;
64   Int_t   fNumberOfTracksM;
65   Int_t   fFilterBit;
66   Float_t fCentPercentile;
67   Float_t fVertexX;
68   Float_t fVertexY;
69   Float_t fVertexZ;
70   
71   Float_t fTrackPt[kTrack];
72   Float_t fTrackEta[kTrack];
73   Float_t fTrackPhi[kTrack];
74
75   Float_t fTrackPtM[kTrack];
76   Float_t fTrackEtaM[kTrack];
77   Float_t fTrackPhiM[kTrack];
78
79   Int_t   fTrackCharge[kTrack];
80   Int_t   fTrackPid[kTrack];
81
82   Int_t   fTrackChargeM[kTrack];
83   Int_t   fTrackPidM[kTrack];
84  
85
86   //________________________________
87   AliEbyEPidTTask(const AliEbyEPidTTask&);
88   AliEbyEPidTTask& operator = (const AliEbyEPidTTask&);
89   ClassDef(AliEbyEPidTTask, 1);
90
91 };
92
93 #endif
94
95