1 #ifndef ALIDNDPTCUTANALYSISPBPB_H
2 #define ALIDNDPTCUTANALYSISPBPB_H
4 //------------------------------------------------------------------------------
5 // AlidNdPtCutAnalysisPbPb class to determine
6 // cuts to be used for dNdPt analysis.
8 // Author: J.Otwinowski 12/11/2010
9 //------------------------------------------------------------------------------
20 class AliESDtrackCuts;
21 class AliVertexerTracks;
24 class AliESDfriendTrack;
28 class AlidNdPtCutAnalysisPbPb : public AlidNdPt {
30 AlidNdPtCutAnalysisPbPb();
31 AlidNdPtCutAnalysisPbPb(Char_t* name, Char_t* title);
32 ~AlidNdPtCutAnalysisPbPb();
38 virtual void Process(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0);
40 // Merge output objects (needed by PROOF)
41 virtual Long64_t Merge(TCollection* const list);
43 // Analyse output histograms
44 virtual void Analyse();
46 // Export objects to folder
47 virtual TFolder *ExportToFolder(TObjArray * const array=0);
49 // Get analysis folder
50 TFolder* GetAnalysisFolder() const {return fAnalysisFolder;}
52 // Create folder for analysed histograms
53 TFolder *CreateFolder(TString folder = "folderdNdPtAnalysis",TString title = "Analysed dNdPt histograms");
56 void FillHistograms(AliESDEvent *const esdEvent, AliESDtrack *const esdTrack, AliStack *const stack, Float_t centralityF) const;
59 THnSparseF *GetEventCount() const {return fEventCount;}
60 THnSparseF *GetRecEventHist() const {return fRecEventHist;}
61 THnSparseF *GetMCEventHist() const {return fMCEventHist;}
62 THnSparseF *GetRecMCEventHist() const {return fRecMCEventHist;}
65 THnSparseF *GetRecMCTrackHist() const {return fRecMCTrackHist;}
68 TString GetCentralityEstimator() const {return fCentralityEstimator; }
69 void SetCentralityEstimator(TString centEst="V0M") { fCentralityEstimator = centEst; }
74 TFolder *fAnalysisFolder; // folder for analysed histograms
77 // THnSparse event histograms
79 THnSparseF *fEventCount; //-> trig, trig + vertex
81 THnSparseF *fRecEventHist; //-> Xv:Yv:Zv:ResZv:Mult
82 THnSparseF *fMCEventHist; //-> mcXv:mcYv:mcZv
83 THnSparseF *fRecMCEventHist; //-> Xv-mcXv:Yv-mcYv:Zv-mcZv:Mult
86 // THnSparse track histograms
88 THnSparseF *fRecMCTrackHist; //-> nCrossRows:chi2PerClust:chi2PerClustITS:nCrossRows/nFindableClust:fracSharedClust:DCAy:DCAz:eta:phi:pt:hasStrangeMother:isFromConversion:isFromMaterial:isPrim:charge:centr:chi2ToTPCc
89 TString fCentralityEstimator; // use centrality can be "VOM" (default), "FMD", "TRK", "TKL", "CL0", "CL1", "V0MvsFMD", "TKLvsV0M", "ZEMvsZDC"
91 TObjArray *fFolderObj; // pointer to AnalysisFolder
93 AlidNdPtCutAnalysisPbPb(const AlidNdPtCutAnalysisPbPb&); // not implemented
94 AlidNdPtCutAnalysisPbPb& operator=(const AlidNdPtCutAnalysisPbPb&); // not implemented
96 ClassDef(AlidNdPtCutAnalysisPbPb,4);