]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/TPC/AliPerformanceDCA.h
revert changes
[u/mrichter/AliRoot.git] / PWG1 / TPC / AliPerformanceDCA.h
CommitLineData
7cc34f08 1#ifndef ALIPERFORMANCEDCA_H
2#define ALIPERFORMANCEDCA_H
3
4//------------------------------------------------------------------------------
5// Class to keep information from comparison of
6// reconstructed and MC particle tracks (DCA - Distance of Closest Approach
7// to the vertex).
8//
9// Author: J.Otwinowski 04/02/2008
10//------------------------------------------------------------------------------
11
12class AliESDEvent;
13class AliESDfriend;
14class AliStack;
15class AliRecInfoCuts;
16class AliMCInfoCuts;
17class AliESDVertex;
18class AliESDtrack;
19class TH3;
20class TH2;
21class TH1;
22class TString;
23class TNamed;
24
25#include "THnSparse.h"
26#include "AliPerformanceObject.h"
27
28class AliPerformanceDCA : public AliPerformanceObject {
29public :
30 AliPerformanceDCA();
31 AliPerformanceDCA(Char_t* name, Char_t* title, Int_t analysisMode, Bool_t hptGenerator);
32 ~AliPerformanceDCA();
33
34 // Init data members
35 virtual void Init();
36
37 // Execute analysis
38 virtual void Exec(AliMCEvent* const mcEvent, AliESDEvent *const esdEvent, AliESDfriend *const esdFriend, const Bool_t bUseMC, const Bool_t bUseESDfriend);
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 // Get analysis folder
47 virtual TFolder* GetAnalysisFolder() const {return fAnalysisFolder;}
48
49 // Create folder for analysed histograms
50 TFolder *CreateFolder(TString folder = "folderDCA",TString title = "Analysed DCA histograms");
51
52 // Export objects to folder
53 TFolder *ExportToFolder(TObjArray * array=0);
54
55 void ProcessConstrained(AliStack* const stack, AliESDtrack *const esdTrack);
758320f7 56 void ProcessTPC(AliStack* const stack, AliESDtrack *const esdTrack, AliESDEvent* const esdEvent);
57 void ProcessTPCITS(AliStack* const stack, AliESDtrack *const esdTrack, AliESDEvent* const esdEvent);
7cc34f08 58
59 // Selection cuts
60 void SetAliRecInfoCuts(AliRecInfoCuts* const cuts=0) {fCutsRC = cuts;}
61 void SetAliMCInfoCuts(AliMCInfoCuts* const cuts=0) {fCutsMC = cuts;}
62
63 AliRecInfoCuts* GetAliRecInfoCuts() const {return fCutsRC;}
64 AliMCInfoCuts* GetAliMCInfoCuts() const {return fCutsMC;}
65
66 // getters
67 THnSparse* GetDCAHisto() const {return fDCAHisto;}
68
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);
72
73private:
74
75 // DCA histograms
886bf4d3 76 THnSparseF *fDCAHisto; //-> dca_r:dca_z:eta:pt:phi
7cc34f08 77
78 // Global cuts objects
79 AliRecInfoCuts* fCutsRC; // selection cuts for reconstructed tracks
80 AliMCInfoCuts* fCutsMC; // selection cuts for MC tracks
81
82 // analysis folder
83 TFolder *fAnalysisFolder; // folder for analysed histograms
84
85 AliPerformanceDCA(const AliPerformanceDCA&); // not implemented
86 AliPerformanceDCA& operator=(const AliPerformanceDCA&); // not implemented
87
88 ClassDef(AliPerformanceDCA,1);
89};
90
91#endif