1 #ifndef ALIANALYSISDEUTERONPA_H
2 #define ALIANALYSISDEUTERONPA_H
4 //////////////////////////////////////////////////////////////////////////////
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. //
9 //////////////////////////////////////////////////////////////////////////////
19 class AliESDtrackCuts;
22 class AliAnalysisUtils;
25 #include "AliAnalysisTaskSE.h"
26 #include "THnSparse.h"
28 class AliAnalysisDeuteronpA : public AliAnalysisTaskSE {
30 AliAnalysisDeuteronpA(const char *name);
31 AliAnalysisDeuteronpA();
32 virtual ~AliAnalysisDeuteronpA() {}
34 virtual void UserCreateOutputObjects();
35 virtual void UserExec(Option_t *option);
36 virtual void Terminate(Option_t *);
38 void SetESDtrackCuts(AliESDtrackCuts * trackCuts){fESDtrackCuts = trackCuts;};
39 void SetAlephParameters(const Double_t * parameters){for(Int_t j=0;j<5;j++) fAlephParameters[j] = parameters[j]; Initialize();};
40 void SetIsMCtrue(Bool_t isMCdata = kTRUE){fMCtrue = isMCdata;};
41 void SetRapCMSpA(Bool_t isRapCMSpA = kTRUE){fRapCMSpA = isRapCMSpA;};
48 void BinLogAxis(const TH1 *h);
50 AliESDEvent *fESD; //! ESD object
51 TList *fListHist; //! list for histograms
53 AliESDtrackCuts * fESDtrackCuts; // basic cut variables
54 AliESDtrackCuts * fESDTrackCutsMult; // cuts for the MULTIPLICITY DETERMINATION
55 AliESDpid * fESDpid; // basic TPC object for n-sigma cuts
56 Bool_t fMCtrue; // flag if real data or MC is processed
57 Bool_t fRapCMSpA; // flag if shift to CMS_NN system for pA
58 Double_t fAlephParameters[5]; // Aleph Parameters for Bethe-Bloch
59 AliAnalysisUtils *fUtils; // For vertex cut and pileup rejection
63 THnSparseF * fHistRealTracks; //! histogram with all necessary information for real tracks
64 THnSparseF * fHistMCparticles; //! histogram with all necessary information for MC particles
66 TH3F * fHistPidQA; //! histogram for the QA of the PID
67 TH2F * fHistTofQA; //! histogram for the QA of the PID
68 TH2F * fHistMult; //! control histogram for multiplicity
69 TH1F * fHistCentrality; //! control histogram for centrality
70 TH2F * fHistMomCorr; //! histogram for momentum and rapidity correction due to wrong propagation mass
71 TH3F * fHistEtaPtGen; //! histogram for rapidity correction due to cuts on generation level
72 TH2F * fHistVertex; //! histogram to monitor the vertex position and resolution
73 TH1F * fHistVertexRes; //! histogram for difference between MC truth and rec vertex z position
74 TH2F * fHistVertexResTracks; //! histogram to control vertex positon vs no. of primary tracks
76 AliAnalysisDeuteronpA(const AliAnalysisDeuteronpA&);
77 AliAnalysisDeuteronpA& operator=(const AliAnalysisDeuteronpA&);
79 ClassDef(AliAnalysisDeuteronpA, 1);