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 //------------------------------------------------------------------------------
24 #include "THnSparse.h"
25 #include "AliPerformanceObject.h"
27 class AliPerformanceDCA : public AliPerformanceObject {
30 AliPerformanceDCA(Char_t* name, Char_t* title, Int_t analysisMode, Bool_t hptGenerator);
37 virtual void Exec(AliMCEvent* const mcEvent, AliESDEvent *const esdEvent, const Bool_t bUseMC);
39 // Merge output objects (needed by PROOF)
40 virtual Long64_t Merge(TCollection* const list);
42 // Analyse output histograms
43 virtual void Analyse();
45 // Get analysis folder
46 virtual TFolder* GetAnalysisFolder() const {return fAnalysisFolder;}
48 // Create folder for analysed histograms
49 TFolder *CreateFolder(TString folder = "folderDCA",TString title = "Analysed DCA histograms");
51 // Export objects to folder
52 TFolder *ExportToFolder(TObjArray * array=0);
54 void ProcessConstrained(AliStack* const stack, AliESDtrack *const esdTrack);
55 void ProcessTPC(AliStack* const stack, AliESDtrack *const esdTrack);
56 void ProcessTPCITS(AliStack* const stack, AliESDtrack *const esdTrack);
59 void SetAliRecInfoCuts(AliRecInfoCuts* const cuts=0) {fCutsRC = cuts;}
60 void SetAliMCInfoCuts(AliMCInfoCuts* const cuts=0) {fCutsMC = cuts;}
62 AliRecInfoCuts* GetAliRecInfoCuts() const {return fCutsRC;}
63 AliMCInfoCuts* GetAliMCInfoCuts() const {return fCutsMC;}
66 THnSparse* GetDCAHisto() const {return fDCAHisto;}
68 // Make stat histograms
69 TH1F* MakeStat1D(TH2 *hist, Int_t delta1, Int_t type);
70 TH2F* MakeStat2D(TH3 *hist, Int_t delta0, Int_t delta1, Int_t type);
75 THnSparseF *fDCAHisto; //-> dca_r:dca_z:eta:pt
77 // Global cuts objects
78 AliRecInfoCuts* fCutsRC; // selection cuts for reconstructed tracks
79 AliMCInfoCuts* fCutsMC; // selection cuts for MC tracks
82 TFolder *fAnalysisFolder; // folder for analysed histograms
84 AliPerformanceDCA(const AliPerformanceDCA&); // not implemented
85 AliPerformanceDCA& operator=(const AliPerformanceDCA&); // not implemented
87 ClassDef(AliPerformanceDCA,1);