]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/PiKaPr/TPCTOF/AliAnalysisCombinedHadronSpectra.h
Slight changes to TPCTOF task and added it to be compiled with AliROOT
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TPCTOF / AliAnalysisCombinedHadronSpectra.h
CommitLineData
aa2bbd47 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
11class TH1;
12class TH1F;
13class TH2D;
d93f62b9 14class TH3D;
aa2bbd47 15class TList;
16class TObjArray;
17class AliESDEvent;
18class AliESDtrack;
19class AliESDtrackCuts;
20class AliHeader;
21class AliESDpid;
22
23
24#include "AliAnalysisTaskSE.h"
25#include "THnSparse.h"
26
27class AliAnalysisCombinedHadronSpectra : public AliAnalysisTaskSE {
28 public:
29 AliAnalysisCombinedHadronSpectra(const char *name);
30 AliAnalysisCombinedHadronSpectra();
31 virtual ~AliAnalysisCombinedHadronSpectra() {}
32 //
33 virtual void UserCreateOutputObjects();
34 virtual void UserExec(Option_t *option);
35 virtual void Terminate(Option_t *);
36 //
37 Bool_t SelectOnImpPar(AliESDtrack* t);
38 //
39 void SetESDtrackCuts(AliESDtrackCuts * trackCuts){fESDtrackCuts = trackCuts;};
40 void SetAlephParameters(const Double_t * parameters){for(Int_t j=0;j<5;j++) fAlephParameters[j] = parameters[j]; Initialize();};
41 void SetIsMCtrue(Bool_t isMCdata = kTRUE){fMCtrue = isMCdata;};
42 void SetUseHBTmultiplicity(Bool_t useHBTmultiplicity = kTRUE){fUseHBTmultiplicity = useHBTmultiplicity;};
c1466b2c 43 void SetUseTPConlyTracks(Bool_t useTPConlyTracks = kTRUE){fUseTPConlyTracks = useTPConlyTracks;};
aa2bbd47 44 void Initialize();
45 //
46
47 private:
48 //
d93f62b9 49 void BinLogAxis(const TH1 *h);
aa2bbd47 50 Int_t GetPythiaEventProcessType(const AliHeader* aHeader, const Bool_t adebug = kFALSE) const;
51 //
52 AliESDEvent *fESD; //! ESD object
53 TList *fListHist; //! list for histograms
54 //
55 AliESDtrackCuts * fESDtrackCuts; // basic cut variables
56 AliESDtrackCuts * fESDTrackCutsMult; // cuts for the MULTIPLICITY DETERMINATION
57 AliESDpid * fESDpid; // basic TPC object for n-sigma cuts
58 Bool_t fMCtrue; // flag if real data or MC is processed
59 Bool_t fOnlyQA; // flag if only QA histograms should be filled
60 Bool_t fUseHBTmultiplicity; // flag if multiplicity determination should be done as in the HBT paper
84626434 61 Bool_t fUseTPConlyTracks; // flag if TPConly-track should be used
aa2bbd47 62 Double_t fAlephParameters[5]; // Aleph Parameters for Bethe-Bloch
63 //
64 //
65 //
d93f62b9 66 THnSparseF * fHistRealTracks; //! histogram with all necessary information for real tracks
67 THnSparseF * fHistMCparticles; //! histogram with all necessary information for MC particles
aa2bbd47 68 //
d93f62b9 69 TH3D * fHistPidQA; //! histogram for the QA of the PID
aa2bbd47 70 TH2D * fHistMult; //! control histogram for multiplicity
71 TH1D * fHistCentrality; //! control histogram for centrality
72 //
73 AliAnalysisCombinedHadronSpectra(const AliAnalysisCombinedHadronSpectra&);
74 AliAnalysisCombinedHadronSpectra& operator=(const AliAnalysisCombinedHadronSpectra&);
75
76 ClassDef(AliAnalysisCombinedHadronSpectra, 1);
77};
78
79#endif