]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/PiKaPr/TOF/pPb502/task/AliAnalysisTaskTOFSpectraPbPb.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TOF / pPb502 / 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   UInt_t fIsEventSelected; // is event selected
85   Bool_t fIsPileupFromSPD; // is pile-up from SPD
86   Bool_t fHasVertex; // has vertex
87   Float_t fVertexZ; // vertex z
88   Float_t fMCTimeZero; // MC time-zero
89   AliCentrality *fCentrality; // centrality
90
91   AliAnalysisEvent *fAnalysisEvent; // analysis event
92   TClonesArray *fAnalysisTrackArray; // analysis track array
93   AliAnalysisTrack *fAnalysisTrack; // analysis track
94   TClonesArray *fAnalysisParticleArray; // analysis particle array
95   AliAnalysisParticle *fAnalysisParticle; // analysis particle
96
97   /* TOF related */
98   AliTOFcalib *fTOFcalib; // TOF calib
99   AliTOFT0maker *fTOFT0maker; // TOF-T0 maker
100   Float_t fTimeResolution; // time resolution
101
102   /*** CUTS ***/
103
104   /* vertex cut */
105   Double_t fVertexCut; // vertex cut
106   Double_t fRapidityCut; // rapidity cut
107
108   /*** HISTOGRAMS ***/
109
110   /* histo lists */
111   TList *fHistoList; // histo list
112   TList *fMCHistoList; // MC histo list
113
114   
115   ClassDef(AliAnalysisTaskTOFSpectraPbPb, 1);
116 };
117
118 #endif /* ALIANALYSISTASKTOFSPECTRAPBPB_H */