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
5 #ifndef ALIANALYSISFLOWPIDTASK_H
6 #define ALIANALYSISFLOWPIDTASK_H
13 class AliFlowEventCuts;
14 class AliFlowTrackCuts;
15 #include "AliAnalysisTaskSE.h"
16 #include "AliESDpid.h"
18 class AliAnalysisTaskPIDflowQA : public AliAnalysisTaskSE {
20 AliAnalysisTaskPIDflowQA();
21 AliAnalysisTaskPIDflowQA(const char *name);
22 virtual ~AliAnalysisTaskPIDflowQA() {}
24 virtual void UserCreateOutputObjects();
25 virtual void UserExec(Option_t *option);
26 virtual void Terminate(Option_t *);
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);
35 Float_t Beta(Float_t m, Float_t p);
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
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
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
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
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
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
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
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
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
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
96 AliFlowTrackCuts* fCutsTOFbetaElectrons; //!
97 AliFlowTrackCuts* fCutsTOFbetaPions; //!
98 AliFlowTrackCuts* fCutsTOFbetaKaons; //!
99 AliFlowTrackCuts* fCutsTOFbetaProtons; //!
101 AliFlowTrackCuts* fCutsTOFbetaSimpleElectrons; //!
102 AliFlowTrackCuts* fCutsTOFbetaSimplePions; //!
103 AliFlowTrackCuts* fCutsTOFbetaSimpleKaons; //!
104 AliFlowTrackCuts* fCutsTOFbetaSimpleProtons; //!
106 AliFlowTrackCuts* fCutsTOFbayesianElectrons; //!
107 AliFlowTrackCuts* fCutsTOFbayesianPions; //!
108 AliFlowTrackCuts* fCutsTOFbayesianKaons; //!
109 AliFlowTrackCuts* fCutsTOFbayesianProtons; //!
111 AliFlowTrackCuts* fCutsTPCdedxElectrons; //!
112 AliFlowTrackCuts* fCutsTPCdedxPions; //!
113 AliFlowTrackCuts* fCutsTPCdedxKaons; //!
114 AliFlowTrackCuts* fCutsTPCdedxProtons; //!
116 AliFlowTrackCuts* fCutsTPCpidElectrons; //!
117 AliFlowTrackCuts* fCutsTPCpidPions; //!
118 AliFlowTrackCuts* fCutsTPCpidKaons; //!
119 AliFlowTrackCuts* fCutsTPCpidProtons; //!
121 AliFlowTrackCuts* fCutsTPCbayesianElectrons; //!
122 AliFlowTrackCuts* fCutsTPCbayesianPions; //!
123 AliFlowTrackCuts* fCutsTPCbayesianKaons; //!
124 AliFlowTrackCuts* fCutsTPCbayesianProtons; //!
126 AliFlowTrackCuts* fCutsMCelectrons; //!
127 AliFlowTrackCuts* fCutsMCpions; //!
128 AliFlowTrackCuts* fCutsMCkaons; //!
129 AliFlowTrackCuts* fCutsMCprotons; //!
130 AliFlowTrackCuts* fCutsMCprimaryelectrons; //!
131 AliFlowTrackCuts* fCutsMCprimarypions; //!
132 AliFlowTrackCuts* fCutsMCprimarykaons; //!
133 AliFlowTrackCuts* fCutsMCprimaryprotons; //!
135 TList* fOutputList;//!output list
137 AliAnalysisTaskPIDflowQA(const AliAnalysisTaskPIDflowQA&); // not implemented
138 AliAnalysisTaskPIDflowQA& operator=(const AliAnalysisTaskPIDflowQA&); // not implemented
140 void PidTPC(AliESDtrack* t, Int_t pdgcode);
141 void PidTOF(AliESDtrack* t, Int_t pdgcode);
143 ClassDef( AliAnalysisTaskPIDflowQA, 4); // example of analysis