]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/FLOW/Tasks/AliAnalysisTaskPIDflowQA.h
coverity fix (Ruben)
[u/mrichter/AliRoot.git] / PWG / FLOW / Tasks / AliAnalysisTaskPIDflowQA.h
1 //Class to extract data to do ITS+TPC global Spectra
2 //Autor Marek Chojnacki, Marek.Chojnacki@cern.ch
3 //modified Mikolaj Krzewicki, Mikolaj.Krzewicki@cern.ch
4
5 #ifndef ALIANALYSISFLOWPIDTASK_H
6 #define  ALIANALYSISFLOWPIDTASK_H
7 class TH2F;
8 class TH1F;
9 class TProfile;
10 class AliESDEvent;
11 class AliESDtrack;
12 class AliESDpid;
13 class AliFlowEventCuts;
14 class AliFlowTrackCuts;
15 #include "AliAnalysisTaskSE.h"
16 #include "AliESDpid.h"
17
18 class  AliAnalysisTaskPIDflowQA : public AliAnalysisTaskSE {
19 public:
20   AliAnalysisTaskPIDflowQA();
21   AliAnalysisTaskPIDflowQA(const char *name);
22   virtual ~AliAnalysisTaskPIDflowQA() {}
23   
24   virtual void UserCreateOutputObjects();
25   virtual void UserExec(Option_t *option);
26   virtual void Terminate(Option_t *); 
27
28   AliFlowTrackCuts* GetAliESDtrackCuts() const {return fCuts;}
29   void SetTrackCuts(AliFlowTrackCuts* cuts ){fCuts=cuts;}
30   void SetEventCuts(AliFlowEventCuts* c) {fEventCuts=c;}
31   AliESDpid* GetESDpid() const {return fESDpid;}
32   void SetUseDebugFile(Bool_t b=kTRUE) {fUseDebugFile=b;}
33   Bool_t TPCTOFagree(const AliESDtrack *track);  
34
35   Float_t Beta(Float_t m, Float_t p);
36
37 private:
38   AliESDEvent *fESD;            //!ESD object    
39   AliFlowTrackCuts *fCuts;       //cuts 
40   AliFlowEventCuts *fEventCuts; //event cuts
41   AliESDpid *fESDpid;           //pid object
42   Bool_t fUseDebugFile; //write debug file
43   FILE* fFile; //debug output file
44
45   TH2F* fTPCsignal; //!TPC signal as function of p
46   TH2F* fTPCsignalPi;//!TPC PID signal as function of p for pi+
47   TH2F* fTPCsignalK;//!TPC PID signal as function of p for K+
48   TH2F* fTPCsignalP;//!TPC PID signal as function of p for p
49
50   TH2F* fTPCsignalPimc;//!TPC PID signal as function of p for pi+
51   TH2F* fTPCsignalKmc;//!TPC PID signal as function of p for K+
52   TH2F* fTPCsignalPmc;//!TPC PID signal as function of p for p
53
54   TH2F* fTOFtime;//!vs time
55   TH2F* fTOFtimeE;//!vs time
56   TH2F* fTOFtimePi;//!vs time
57   TH2F* fTOFtimeK;//!vs time
58   TH2F* fTOFtimeP;//!vs time
59
60   TH2F* fTOFbeta;//!vs beta
61   TH2F* fTOFbetaE;//!vs beta
62   TH2F* fTOFbetaPi;//!vs beta
63   TH2F* fTOFbetaK;//!vs beta
64   TH2F* fTOFbetaP;//!vs beta
65
66   TH2F* fTOFinvbeta;//!vs beta
67   TH2F* fTOFinvbetaE;//!vs beta
68   TH2F* fTOFinvbetaPi;//!vs beta
69   TH2F* fTOFinvbetaK;//!vs beta
70   TH2F* fTOFinvbetaP;//!vs beta
71
72   TH2F* fTOFrawtime;//!vs time
73   TH2F* fTOFrawtimeE;//!vs time
74   TH2F* fTOFrawtimePi;//!vs time
75   TH2F* fTOFrawtimeK;//!vs time
76   TH2F* fTOFrawtimeP;//!vs time
77
78   TH2F* fTOFrawbeta;//!vs beta
79   TH2F* fTOFrawbetaE;//!vs beta
80   TH2F* fTOFrawbetaPi;//!vs beta
81   TH2F* fTOFrawbetaK;//!vs beta
82   TH2F* fTOFrawbetaP;//!vs beta
83
84   TH2F* fTOFrawinvbeta;//!vs beta
85   TH2F* fTOFrawinvbetaE;//!vs beta
86   TH2F* fTOFrawinvbetaPi;//!vs beta
87   TH2F* fTOFrawinvbetaK;//!vs beta
88   TH2F* fTOFrawinvbetaP;//!vs beta
89
90   TH2F* fPvsPt; //!P vs Pt yield
91   TProfile* fMeanPvsP; //!mean p per bin
92   TH2F* fTPCvsGlobalMult; //! correlation tpc only tracks vs global tracks
93   AliFlowTrackCuts* fStandardGlobalCuts; //! cuts
94   AliFlowTrackCuts* fStandardTPCCuts; //! cuts
95
96   AliFlowTrackCuts* fCutsTOFbetaElectrons; //!
97   AliFlowTrackCuts* fCutsTOFbetaPions; //!
98   AliFlowTrackCuts* fCutsTOFbetaKaons; //!
99   AliFlowTrackCuts* fCutsTOFbetaProtons; //!
100
101   AliFlowTrackCuts* fCutsTOFbetaSimpleElectrons; //!
102   AliFlowTrackCuts* fCutsTOFbetaSimplePions; //!
103   AliFlowTrackCuts* fCutsTOFbetaSimpleKaons; //!
104   AliFlowTrackCuts* fCutsTOFbetaSimpleProtons; //!
105
106   AliFlowTrackCuts* fCutsTOFbayesianElectrons; //!
107   AliFlowTrackCuts* fCutsTOFbayesianPions; //!
108   AliFlowTrackCuts* fCutsTOFbayesianKaons; //!
109   AliFlowTrackCuts* fCutsTOFbayesianProtons; //!
110
111   AliFlowTrackCuts* fCutsTPCdedxElectrons; //!
112   AliFlowTrackCuts* fCutsTPCdedxPions; //!
113   AliFlowTrackCuts* fCutsTPCdedxKaons; //!
114   AliFlowTrackCuts* fCutsTPCdedxProtons; //!
115
116   AliFlowTrackCuts* fCutsTPCpidElectrons; //!
117   AliFlowTrackCuts* fCutsTPCpidPions; //!
118   AliFlowTrackCuts* fCutsTPCpidKaons; //!
119   AliFlowTrackCuts* fCutsTPCpidProtons; //!
120
121   AliFlowTrackCuts* fCutsTPCbayesianElectrons; //!
122   AliFlowTrackCuts* fCutsTPCbayesianPions; //!
123   AliFlowTrackCuts* fCutsTPCbayesianKaons; //!
124   AliFlowTrackCuts* fCutsTPCbayesianProtons; //!
125
126   AliFlowTrackCuts* fCutsMCelectrons; //!
127   AliFlowTrackCuts* fCutsMCpions;  //!
128   AliFlowTrackCuts* fCutsMCkaons;  //!
129   AliFlowTrackCuts* fCutsMCprotons; //!
130   AliFlowTrackCuts* fCutsMCprimaryelectrons; //!
131   AliFlowTrackCuts* fCutsMCprimarypions; //!
132   AliFlowTrackCuts* fCutsMCprimarykaons; //!
133   AliFlowTrackCuts* fCutsMCprimaryprotons; //!
134
135   TList* fOutputList;//!output list
136         
137   AliAnalysisTaskPIDflowQA(const  AliAnalysisTaskPIDflowQA&); // not implemented
138   AliAnalysisTaskPIDflowQA& operator=(const  AliAnalysisTaskPIDflowQA&); // not implemented
139  
140   void PidTPC(AliESDtrack* t, Int_t pdgcode);
141   void PidTOF(AliESDtrack* t, Int_t pdgcode);
142     
143   ClassDef( AliAnalysisTaskPIDflowQA, 4); // example of analysis
144 };
145
146 #endif