1 #ifndef ALIPERFORMANCEDCA_H
2 #define ALIPERFORMANCEDCA_H
4 //------------------------------------------------------------------------------
5 // Class to keep information from comparison of
6 // reconstructed and MC particle tracks (DCA - Distance of Closest Approach
9 // Author: J.Otwinowski 04/02/2008
10 //------------------------------------------------------------------------------
25 #include "THnSparse.h"
26 #include "AliPerformanceObject.h"
28 class AliPerformanceDCA : public AliPerformanceObject {
31 AliPerformanceDCA(Char_t* name, Char_t* title, Int_t analysisMode, Bool_t hptGenerator);
38 virtual void Exec(AliMCEvent* const mcEvent, AliESDEvent *const esdEvent, AliESDfriend *const esdFriend, const Bool_t bUseMC, const Bool_t bUseESDfriend);
40 // Merge output objects (needed by PROOF)
41 virtual Long64_t Merge(TCollection* const list);
43 // Analyse output histograms
44 virtual void Analyse();
46 // Get analysis folder
47 virtual TFolder* GetAnalysisFolder() const {return fAnalysisFolder;}
49 // Create folder for analysed histograms
50 TFolder *CreateFolder(TString folder = "folderDCA",TString title = "Analysed DCA histograms");
52 // Export objects to folder
53 TFolder *ExportToFolder(TObjArray * array=0);
55 void ProcessConstrained(AliStack* const stack, AliESDtrack *const esdTrack);
56 void ProcessTPC(AliStack* const stack, AliESDtrack *const esdTrack);
57 void ProcessTPCITS(AliStack* const stack, AliESDtrack *const esdTrack);
60 void SetAliRecInfoCuts(AliRecInfoCuts* const cuts=0) {fCutsRC = cuts;}
61 void SetAliMCInfoCuts(AliMCInfoCuts* const cuts=0) {fCutsMC = cuts;}
63 AliRecInfoCuts* GetAliRecInfoCuts() const {return fCutsRC;}
64 AliMCInfoCuts* GetAliMCInfoCuts() const {return fCutsMC;}
67 THnSparse* GetDCAHisto() const {return fDCAHisto;}
69 // Make stat histograms
70 TH1F* MakeStat1D(TH2 *hist, Int_t delta1, Int_t type);
71 TH2F* MakeStat2D(TH3 *hist, Int_t delta0, Int_t delta1, Int_t type);
76 THnSparseF *fDCAHisto; //-> dca_r:dca_z:eta:pt:phi
78 // Global cuts objects
79 AliRecInfoCuts* fCutsRC; // selection cuts for reconstructed tracks
80 AliMCInfoCuts* fCutsMC; // selection cuts for MC tracks
83 TFolder *fAnalysisFolder; // folder for analysed histograms
85 AliPerformanceDCA(const AliPerformanceDCA&); // not implemented
86 AliPerformanceDCA& operator=(const AliPerformanceDCA&); // not implemented
88 ClassDef(AliPerformanceDCA,1);