]>
Commit | Line | Data |
---|---|---|
635c8b48 | 1 | #ifndef ALIANALYSISTASKCHARGEDHADRONSPECTRA_H |
2 | #define ALIANALYSISTASKCHARGEDHADRONSPECTRA_H | |
3 | ||
4 | ////////////////////////////////////////////////////////////////////////////// | |
5 | // // | |
6 | // This analysis extracts pT-spectra of charged kaons, protons, and pions. // | |
7 | // It is based on particles identifation via the dE/dx signal of the TPC. // | |
8 | // // | |
9 | ////////////////////////////////////////////////////////////////////////////// | |
10 | ||
11 | class TH1; | |
12 | class TH1F; | |
13 | class TH2F; | |
14 | class TH3F; | |
15 | class TList; | |
16 | class TObjArray; | |
17 | class AliESDEvent; | |
18 | class AliESDtrack; | |
19 | class AliESDtrackCuts; | |
20 | class AliHeader; | |
10d100d4 | 21 | class AliESDpid; |
635c8b48 | 22 | |
23 | ||
24 | #include "AliAnalysisTaskSE.h" | |
25 | ||
26 | class AliAnalysisTaskChargedHadronSpectra : public AliAnalysisTaskSE { | |
27 | public: | |
28 | AliAnalysisTaskChargedHadronSpectra(const char *name); | |
29 | AliAnalysisTaskChargedHadronSpectra(); | |
30 | virtual ~AliAnalysisTaskChargedHadronSpectra() {} | |
31 | // | |
c77fc043 | 32 | virtual void UserCreateOutputObjects(); |
33 | virtual void UserExec(Option_t *option); | |
635c8b48 | 34 | virtual void Terminate(Option_t *); |
35 | // | |
36 | void SetESDtrackCuts(AliESDtrackCuts * trackCuts){fESDtrackCuts = trackCuts;}; | |
37 | void SetAlephParameters(const Double_t * parameters){for(Int_t j=0;j<5;j++) fAlephParameters[j] = parameters[j];}; | |
38 | void SetIsMCtrue(Bool_t isMCdata = kTRUE){fMCtrue = isMCdata;}; | |
39 | // | |
40 | static TH1D * AnalyseClassicProton(const TH3F * input, Int_t EtaBin, const Double_t * AlephParams); | |
41 | static TH1D * AnalyseClassicPion(const TH3F * input, Int_t EtaBin, const Double_t * AlephParams); | |
42 | static TH1D * AnalyseClassicKaon(const TH3F * input, Int_t EtaBin, const Double_t * AlephParams); | |
43 | // | |
44 | static void Postprocess(const TList * ListOfHistogramsMC,const TList * ListOfHistogramsData, const Char_t *filename); | |
45 | ||
46 | private: | |
47 | // | |
48 | void BinLogX(const TH1 *h); | |
49 | Int_t GetPythiaEventProcessType(const AliHeader* aHeader, const Bool_t adebug = kFALSE) const; | |
50 | // | |
51 | AliESDEvent *fESD; //! ESD object | |
c77fc043 | 52 | TList *fListHist; //! list for histograms |
635c8b48 | 53 | // |
10d100d4 | 54 | AliESDtrackCuts * fESDtrackCuts; // basic cut variables |
55 | AliESDpid * fESDpid; // basic TPC object for n-sigma cuts | |
635c8b48 | 56 | Bool_t fMCtrue; // flag if real data or MC is processed |
57 | Double_t fAlephParameters[5]; // Aleph Parameters for Bethe-Bloch | |
58 | // | |
59 | // MC histogram | |
60 | // | |
c77fc043 | 61 | TH3F *fHistPtMCKaon; //! (mult,eta,pT) for Kaons MC truth; neg. x-axis for neg. particles, pos. x-axis for pos. particles |
62 | TH3F *fHistPtMCProton; //! (mult,eta,pT) for Protons MC truth; neg. x-axis for neg. particles, pos. x-axis for pos. particles | |
63 | TH3F *fHistPtMCPion; //! (mult,eta,pT) for Pions MC truth; neg. x-axis for neg. particles, pos. x-axis for pos. particles | |
64 | TH3F *fHistPtMCElectron; //! (mult,eta,pT) for Electrons MC truth; neg. x-axis for neg. particles, pos. x-axis for pos. particles | |
65 | TH3F *fHistPtMCMuon; //! (mult,eta,pT) for Muons MC truth; neg. x-axis for neg. particles, pos. x-axis for pos. particles | |
635c8b48 | 66 | |
67 | // reconstructed particle histograms | |
c77fc043 | 68 | TH3F *fHistPtEtaKaon; //! (mult,eta,pT) for Kaons; neg. x-axis for neg. particles, pos. x-axis for pos. particles |
69 | TH3F *fHistPtEtaKaonNoKink; //! (mult,eta,pT) for Kaons withou accepting the Kink mother; neg. x-axis for neg. particles, pos. x-axis for pos. particles | |
70 | TH3F *fHistPtEtaProton; //! (mult,eta,pT) for Protons; neg. x-axis for neg. particles, pos. x-axis for pos. particles | |
71 | TH3F *fHistPtEtaProtonDCA; //! (DCA,eta,pT) for Protons; neg. x-axis for neg. particles, pos. x-axis for pos. particles; special histogram for protons | |
72 | TH3F *fHistPtEtaPion; //! (mult,eta,pT) for Pions; neg. x-axis for neg. particles, pos. x-axis for pos. particles | |
73 | TH3F *fHistPtEtaElectron; //! (mult,eta,pT) for Electrons; neg. x-axis for neg. particles, pos. x-axis for pos. particles | |
635c8b48 | 74 | // |
c77fc043 | 75 | TH3F *fHistClassicKaon; //! (Pt,eta,delta dEdx) for Kaons for different eta; neg. x-axis for neg. particles, pos. x-axis for pos. particles |
76 | TH3F *fHistClassicProton; //! (Pt,eta,delta dEdx) for Protons for different eta; neg. x-axis for neg. particles, pos. x-axis for pos. particles | |
77 | TH3F *fHistClassicPion; //! (Pt,eta,delta dEdx) for Pions for different eta; neg. x-axis for neg. particles, pos. x-axis for pos. particles | |
78 | TH3F *fHistClassicElectron; //! (Pt,eta,delta dEdx) for Electrons for different eta; neg. x-axis for neg. particles, pos. x-axis for pos. particles | |
635c8b48 | 79 | |
80 | // histograms of general interest | |
c77fc043 | 81 | TH2F *fDeDx; //! dEdx spectrum |
82 | TH1F *fHistTrackPerEvent; //! tracks per event for multiplicity studies | |
83 | TH2F *fHistTrackPerEventMC; //! (code, TrackPerEvent) MC tracks per event, codes represent different event types (non-diffractive,..) | |
84 | TH2F *fSecProtons; //! control histogram for secondary interactions | |
85 | TH1F *fVertexZ; //! control histogram for the z-position of the vertex | |
635c8b48 | 86 | // |
c77fc043 | 87 | TH2F *fHistEtaNcls; //! 2d histogram (eta, nTPCclusters) which will define our acceptance |
88 | TH2F *fHistEtaPhi; //! 2d histogram (eta, phi) which will show dead regions | |
635c8b48 | 89 | |
90 | // histograms for efficiency studies | |
c77fc043 | 91 | TH3F *fHistEffProton; //! (code,eta,pT) special hist. for eff. studies; code 0: true primary p, 1: true sec. p, 2: misidentified, 3: weak decay sec. |
92 | TH3F *fHistEffProtonDCA; //! (code,dca,pT) special hist. for eff. studies; code 0: true primary p, 1: true sec. p, 2: misidentified, 3: weak decay sec. | |
93 | TH3F *fHistEffPion; //! (code,eta,pT) special hist. for eff. studies; code 0: true primary pi, 1: true sec. pi, 2: misidentified, 3: weak decay sec., 4: muons | |
94 | TH3F *fHistEffKaon; //! (code,eta,pT) special hist. for eff. studies; code 0: true primary K, 1: true sec. K, 2: misidentified, 3: weak decay sec. | |
635c8b48 | 95 | |
96 | // two more histograms for the electron background in the dN/dpT paper | |
c77fc043 | 97 | TH1F *fHighPtElectrons; //! histogram for the electrons at high pT for background estimation in Jacek's paper |
98 | TH1F *fHighPtHadrons; //! histogram for the hardrons at high pT for background estimation in Jacek's paper | |
635c8b48 | 99 | |
100 | ||
101 | AliAnalysisTaskChargedHadronSpectra(const AliAnalysisTaskChargedHadronSpectra&); | |
102 | AliAnalysisTaskChargedHadronSpectra& operator=(const AliAnalysisTaskChargedHadronSpectra&); | |
103 | ||
10d100d4 | 104 | ClassDef(AliAnalysisTaskChargedHadronSpectra, 2); |
635c8b48 | 105 | }; |
106 | ||
107 | #endif |