]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/PiKaPr/TOF/PbPb276/task/AliAnalysisTaskTOFSpectraPbPb.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TOF / PbPb276 / task / AliAnalysisTaskTOFSpectraPbPb.h
1 #ifndef ALIANALYSISTASKTOFSPECTRAPBPB_H
2 #define ALIANALYSISTASKTOFSPECTRAPBPB_H
3
4 #include "AliAnalysisTaskSE.h"
5 #include "AliPID.h"
6
7 class AliESDEvent;
8 class AliMCEvent;
9 class AliStack;
10 class AliPhysicsSelection;
11 class AliESDtrackCuts;
12 class AliESDpid;
13 class AliESDtrack;
14 class AliTOFcalib;
15 class AliTOFT0maker;
16 class TList;
17 class TH1F;
18 class TH2F;
19 class TObjArray;
20 class AliAnalysisEvent;
21 class AliAnalysisTrack;
22 class AliAnalysisParticle;
23 class TClonesArray;
24 class AliCentrality;
25
26 class AliAnalysisTaskTOFSpectraPbPb :
27 public AliAnalysisTaskSE
28 {
29
30  public:
31
32   AliAnalysisTaskTOFSpectraPbPb(); // default constructor
33   virtual ~AliAnalysisTaskTOFSpectraPbPb(); // default destructor
34
35   virtual void UserCreateOutputObjects(); // user create output objects
36   virtual void UserExec(Option_t *option); // user exec
37
38   /* getters */
39   AliESDtrackCuts *GetTrackCuts() const {return fTrackCuts;}; // getter
40   AliESDpid *GetESDpid() const {return fESDpid;}; // get ESD PID
41   AliTOFcalib *GetTOFcalib() const {return fTOFcalib;}; // getter
42   AliTOFT0maker *GetTOFT0maker() const {return fTOFT0maker;}; // getter
43   
44   /* setters */
45   void SetMCFlag(Bool_t value = kTRUE) {fMCFlag = value;}; // setter
46   void SetMCTuneFlag(Bool_t value = kTRUE) {fMCTuneFlag = value;}; // setter
47   void SetPbPbFlag(Bool_t value = kTRUE) {fPbPbFlag = value;}; // setter
48   void SetVertexSelectionFlag(Bool_t value = kTRUE) {fVertexSelectionFlag = value;}; // setter
49   void SetVertexCut(Double_t value) {fVertexCut = value;}; // setter
50   void SetRapidityCut(Double_t value) {fRapidityCut = value;}; // setter
51   void SetTimeResolution(Double_t value) {fTimeResolution = value;}; // setter
52   void SetTrackCuts(AliESDtrackCuts *value) {fTrackCuts = value;}; // setter
53
54  protected:
55
56   AliAnalysisTaskTOFSpectraPbPb(const AliAnalysisTaskTOFSpectraPbPb &); // copy constructor
57   AliAnalysisTaskTOFSpectraPbPb &operator=(const AliAnalysisTaskTOFSpectraPbPb &); // operator=
58
59   /* methods */
60   Bool_t InitRun(); // init run
61   Bool_t InitEvent(); // init event
62   Bool_t HasPrimaryDCA(AliESDtrack *track); // has primary DCA
63   Bool_t MakeTPCPID(AliESDtrack *track, Double_t *nsigma, Double_t *signal); // make TPC PID
64   Bool_t MakeTOFPID(AliESDtrack *track, Double_t *nsigma, Double_t *signal); // make TOF PID
65
66   /* flags */
67   Bool_t fInitFlag; // init flag
68   Bool_t fMCFlag; // MC flag
69   Bool_t fMCTuneFlag; // MC tune flag
70   Bool_t fPbPbFlag; // PbPb flag
71   Bool_t fVertexSelectionFlag; // vertex selection flag
72   Bool_t fPrimaryDCASelectionFlag; // primary DCA selection flag
73
74   /* ESD analysis */
75   Int_t fRunNumber; // run number
76   UInt_t fStartTime; // start time
77   UInt_t fEndTime; // end time
78   AliESDEvent *fESDEvent; // ESD event
79   AliMCEvent *fMCEvent; // MC event
80   AliStack *fMCStack; // MC stack
81   AliESDtrackCuts *fTrackCuts; // track cuts
82   AliESDpid *fESDpid; // ESD PID
83   Bool_t fIsCollisionCandidate; // is collision candidate
84   Bool_t fHasVertex; // has vertex
85   Float_t fVertexZ; // vertex z
86   Float_t fMCTimeZero; // MC time-zero
87   AliCentrality *fCentrality; // centrality
88
89   AliAnalysisEvent *fAnalysisEvent; // analysis event
90   TClonesArray *fAnalysisTrackArray; // analysis track array
91   AliAnalysisTrack *fAnalysisTrack; // analysis track
92   TClonesArray *fAnalysisParticleArray; // analysis particle array
93   AliAnalysisParticle *fAnalysisParticle; // analysis particle
94
95   /* TOF related */
96   AliTOFcalib *fTOFcalib; // TOF calib
97   AliTOFT0maker *fTOFT0maker; // TOF-T0 maker
98   Float_t fTimeResolution; // time resolution
99
100   /*** CUTS ***/
101
102   /* vertex cut */
103   Double_t fVertexCut; // vertex cut
104   Double_t fRapidityCut; // rapidity cut
105
106   /*** HISTOGRAMS ***/
107
108   /* histo lists */
109   TList *fHistoList; // histo list
110   TList *fMCHistoList; // MC histo list
111
112   
113   ClassDef(AliAnalysisTaskTOFSpectraPbPb, 1);
114 };
115
116 #endif /* ALIANALYSISTASKTOFSPECTRAPBPB_H */