]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG0/dNdPt/AlidNdPtCutAnalysis.h
53bc7d18bddf3e929684c4429580cbbda1f12ba1
[u/mrichter/AliRoot.git] / PWG0 / dNdPt / AlidNdPtCutAnalysis.h
1 #ifndef ALIDEDPTCUTANALYSIS_H
2 #define ALIDEDPTCUTANALYSIS_H
3
4 //------------------------------------------------------------------------------
5 // AlidNdPtCutAnalysis class to determine 
6 // cuts to be used for dNdPt analysis. 
7 //
8 // Author: J.Otwinowski 04/11/2008 
9 //------------------------------------------------------------------------------
10
11 class iostream;
12 class TFile;
13 class TCint;
14 class TProfile;
15 class TFolder;
16 class TObjArray;
17 class TString;
18 class THnSparse;
19
20 class AliESDtrackCuts;
21 class AliVertexerTracks;
22 class AliESD;
23 class AliESDfriend;
24 class AliESDfriendTrack;
25
26 #include "AlidNdPt.h"
27
28 class AlidNdPtCutAnalysis : public AlidNdPt {
29 public :
30   AlidNdPtCutAnalysis(); 
31   AlidNdPtCutAnalysis(Char_t* name, Char_t* title);
32   ~AlidNdPtCutAnalysis();
33
34   // Init data members
35   virtual void Init();
36
37   // Process events
38   virtual void Process(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0);
39
40   // Merge output objects (needed by PROOF) 
41   virtual Long64_t Merge(TCollection* const list);
42
43   // Analyse output histograms 
44   virtual void Analyse();
45
46   // Export objects to folder
47   virtual TFolder *ExportToFolder(TObjArray * const array=0);
48
49   // Get analysis folder
50   TFolder* GetAnalysisFolder() const {return fAnalysisFolder;}
51
52   // Create folder for analysed histograms
53   TFolder *CreateFolder(TString folder = "folderdNdPtAnalysis",TString title = "Analysed dNdPt histograms");
54
55   // Fill histograms
56   void FillHistograms(AliESDtrack *const esdTrack, AliStack *const stack) const;
57
58   // Getters
59   THnSparseF *GetEventCount()   const {return fEventCount;}
60   THnSparseF *GetRecEventHist() const   {return fRecEventHist;}
61   THnSparseF *GetMCEventHist()  const   {return fMCEventHist;}
62   THnSparseF *GetRecMCEventHist() const {return fRecMCEventHist;}
63
64   //
65   THnSparseF *GetRecMCTrackHist() const {return fRecMCTrackHist;}
66   
67 private:
68
69   // analysis folder 
70   TFolder *fAnalysisFolder; // folder for analysed histograms
71
72   //
73   // THnSparse event histograms
74   //
75   THnSparseF *fEventCount; //-> trig, trig + vertex
76
77   THnSparseF *fRecEventHist;   //-> Xv:Yv:Zv:ResZv:Mult
78   THnSparseF *fMCEventHist;    //-> mcXv:mcYv:mcZv
79   THnSparseF *fRecMCEventHist; //-> Xv-mcXv:Yv-mcYv:Zv-mcZv:Mult
80
81   //
82   // THnSparse track histograms
83   //
84   THnSparseF *fRecMCTrackHist; //-> nClust:chi2PerClust:nClust/nFindableClust:DCAy:DCAz:eta:phi:pt:isNotKink:isPrim:polarity
85
86   AlidNdPtCutAnalysis(const AlidNdPtCutAnalysis&); // not implemented
87   AlidNdPtCutAnalysis& operator=(const AlidNdPtCutAnalysis&); // not implemented
88
89   ClassDef(AlidNdPtCutAnalysis,1);
90 };
91
92 #endif