1 #ifndef ALIDEDPTCUTANALYSIS_H
2 #define ALIDEDPTCUTANALYSIS_H
4 //------------------------------------------------------------------------------
5 // AlidNdPtCutAnalysis class.
8 // - fills generic cut histograms
9 // - generates cuts (selection criteria)
12 // - generic cut histograms
13 // - control histograms
15 // Author: J.Otwinowski 04/11/2008
16 //------------------------------------------------------------------------------
23 class AliESDtrackCuts;
24 class AliVertexerTracks;
27 class AliESDfriendTrack;
29 #include "THnSparse.h"
31 #include "AlidNdPtHelper.h"
33 class AlidNdPtCutAnalysis : public AlidNdPt {
35 AlidNdPtCutAnalysis();
36 AlidNdPtCutAnalysis(Char_t* name, Char_t* title);
37 ~AlidNdPtCutAnalysis();
43 virtual void Process(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0);
45 // Merge output objects (needed by PROOF)
46 virtual Long64_t Merge(TCollection* list);
48 // Analyse output histograms
49 virtual void Analyse();
51 // Export objects to folder
52 virtual TFolder *ExportToFolder(TObjArray * array=0);
54 // Get analysis folder
55 TFolder* GetAnalysisFolder() {return fAnalysisFolder;}
57 // Create folder for analysed histograms
58 TFolder *CreateFolder(TString folder = "folderdNdPtAnalysis",TString title = "Analysed dNdPt histograms");
61 void FillHistograms(AliESDtrack *const esdTrack, AliStack *const stack);
64 THnSparseF *GetRecEventHist() {return fRecEventHist;}
65 THnSparseF *GetMCEventHist() {return fMCEventHist;}
66 THnSparseF *GetRecMCEventHist() {return fRecMCEventHist;}
69 THnSparseF *GetRecMCTrackHist() {return fRecMCTrackHist;}
74 TFolder *fAnalysisFolder; // folder for analysed histograms
77 // THnSparse event histograms
79 THnSparseF *fRecEventHist; //-> Xv:Yv:Zv:ResZv:Mult
80 THnSparseF *fMCEventHist; //-> mcXv:mcYv:mcZv
81 THnSparseF *fRecMCEventHist; //-> Xv-mcXv:Yv-mcYv:Zv-mcZv:Mult
84 // THnSparse track histograms
86 THnSparseF *fRecMCTrackHist; //-> nClust:chi2PerClust:nClust/nFindableClust:DCAy:DCAz:eta:phi:pt:isNotKink:isPrim
88 AlidNdPtCutAnalysis(const AlidNdPtCutAnalysis&); // not implemented
89 AlidNdPtCutAnalysis& operator=(const AlidNdPtCutAnalysis&); // not implemented
91 ClassDef(AlidNdPtCutAnalysis,1);