eb65f67ac8668adc092e9c9bfdade70e1dcdde00
[u/mrichter/AliRoot.git] / PWG0 / dNdPt / AlidNdPtEfficiency.h
1 #ifndef ALIDNDPTEFFICIENCY_H
2 #define ALIDNDPTEFFICIENCY_H
3
4 //------------------------------------------------------------------------------
5 // AlidNdPtEfficiency class to determine 
6 // efficiency TPC->ITS, ITS->TPC for dNdPt analysis. 
7 //
8 // Author: J.Otwinowski 18/11/2010 
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 AlidNdPtEfficiency : public AlidNdPt {
29 public :
30   AlidNdPtEfficiency(); 
31   AlidNdPtEfficiency(Char_t* name, Char_t* title);
32   ~AlidNdPtEfficiency();
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 Bool_t isMatch, const Bool_t isTPC,const Bool_t isITSTPC) const;
57
58   // Getters
59   THnSparseF *GetRecMCTrackHistTPCITS() const {return fRecMCTrackHistTPCITS;}
60   THnSparseF *GetRecMCTrackHistITSTPC() const {return fRecMCTrackHistITSTPC;}
61   
62 private:
63
64   // analysis folder 
65   TFolder *fAnalysisFolder; // folder for analysed histograms
66
67   //
68   // THnSparse event histograms
69   //
70
71   //TPC -> ITS matching efficiency
72   THnSparseF *fRecMCTrackHistTPCITS; //-> eta:phi:pt:isPrim:charge:isMatch:isTPC
73
74   //ITS -> TPC matching efficiency
75   THnSparseF *fRecMCTrackHistITSTPC; //-> eta:phi:pt:isPrim:charge:isMatch
76
77   AlidNdPtEfficiency(const AlidNdPtEfficiency&); // not implemented
78   AlidNdPtEfficiency& operator=(const AlidNdPtEfficiency&); // not implemented
79
80   ClassDef(AlidNdPtEfficiency,2);
81 };
82
83 #endif