]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/AliComparisonDCA.h
Preliminary files for CMake
[u/mrichter/AliRoot.git] / PWG1 / AliComparisonDCA.h
1 #ifndef ALICOMPARISONDCA_H
2 #define ALICOMPARISONDCA_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
12 class TFile;
13 class AliMCInfo;
14 class AliESDRecInfo;
15 class AliESDEvent; 
16 class AliESD;
17 class AliESDfriend;
18 class AliRecInfoCuts;
19 class AliMCInfoCuts;
20 class TH1I;
21 class TH3F;
22 class TH3;
23 class TProfile;
24 class TProfile2D;
25 class TString;
26 class AliESDVertex;
27
28 #include "TNamed.h"
29 #include "AliComparisonObject.h"
30
31 //class AliComparisonDCA : public TNamed {
32 class AliComparisonDCA : public AliComparisonObject {
33 public :
34   AliComparisonDCA(); 
35   ~AliComparisonDCA();
36
37   // Init data members
38   virtual void Init();
39
40   // Execute analysis
41   virtual void Exec(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
42
43   // Merge output objects (needed by PROOF) 
44   virtual Long64_t Merge(TCollection* list);
45
46   // Analyse output histograms
47   virtual void Analyse();
48
49   // Get analysis folder
50   virtual TFolder* GetAnalysisFolder() {return fAnalysisFolder;}
51
52   // Create folder for analysed histograms
53   TFolder *CreateFolder(TString folder = "folderDCA",TString title = "Analysed DCA histograms");
54
55   // Export objects to folder
56   TFolder *ExportToFolder(TObjArray * array=0);
57
58   // Process events
59   void  Process(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
60
61   // Selection cuts
62   void SetAliRecInfoCuts(AliRecInfoCuts* cuts=0) {fCutsRC = cuts;}
63   void SetAliMCInfoCuts(AliMCInfoCuts* cuts=0) {fCutsMC = cuts;}  
64
65   AliRecInfoCuts*  GetAliRecInfoCuts() const {return fCutsRC;}
66   AliMCInfoCuts*   GetAliMCInfoCuts()  const {return fCutsMC;}
67
68 private:
69   // DCA resolution
70   TH3F  *fD0TanSPtB1;     //-> distance to vertex y (no ITS clusters) 
71   TH3F  *fD1TanSPtB1;     //-> distance to vertex z (no ITS clusters) 
72   TH3F  *fD0TanSPtL1;     //-> distance to vertex y  
73   TH3F  *fD1TanSPtL1;     //-> distance to vertex z 
74   TH3F  *fD0TanSPtInTPC;  //-> distance to vertex y (Inner TPC track parameters) 
75   TH3F  *fD1TanSPtInTPC;  //-> distance to vertex z (Inner TPC track parameters)
76
77   AliESDVertex *fVertex;  //! 
78
79   // Global cuts objects
80   AliRecInfoCuts*  fCutsRC; // selection cuts for reconstructed tracks
81   AliMCInfoCuts*  fCutsMC;  // selection cuts for MC tracks
82
83   // analysis folder 
84   TFolder *fAnalysisFolder; // folder for analysed histograms
85
86   AliComparisonDCA(const AliComparisonDCA&); // not implemented
87   AliComparisonDCA& operator=(const AliComparisonDCA&); // not implemented
88
89   ClassDef(AliComparisonDCA,1);
90 };
91
92 #endif