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"
32 class AlidNdPtCutAnalysis : public AlidNdPt {
34 AlidNdPtCutAnalysis();
35 AlidNdPtCutAnalysis(Char_t* name, Char_t* title);
36 ~AlidNdPtCutAnalysis();
42 virtual void Process(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0);
44 // Merge output objects (needed by PROOF)
45 virtual Long64_t Merge(TCollection* list);
47 // Analyse output histograms
48 virtual void Analyse();
50 // Export objects to folder
51 virtual TFolder *ExportToFolder(TObjArray * array=0);
53 // Get analysis folder
54 TFolder* GetAnalysisFolder() {return fAnalysisFolder;}
56 // Create folder for analysed histograms
57 TFolder *CreateFolder(TString folder = "folderdNdPtAnalysis",TString title = "Analysed dNdPt histograms");
60 void FillHistograms(AliESDtrack *const esdTrack, AliStack *const stack);
63 THnSparseF *GetEventCount() {return fEventCount;}
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 *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; //-> nClust:chi2PerClust:nClust/nFindableClust:DCAy:DCAz:eta:phi:pt:isNotKink:isPrim:polarity
90 AlidNdPtCutAnalysis(const AlidNdPtCutAnalysis&); // not implemented
91 AlidNdPtCutAnalysis& operator=(const AlidNdPtCutAnalysis&); // not implemented
93 ClassDef(AlidNdPtCutAnalysis,1);