Adding Analisys tasks for performance study
[u/mrichter/AliRoot.git] / PWG1 / AliComparisonRes.h
1 #ifndef ALICOMPARISONRES_H
2 #define ALICOMPARISONRES_H
3
4 //------------------------------------------------------------------------------
5 // Class to keep information from comparison of 
6 // reconstructed and MC particle tracks (TPC resolution).   
7 // 
8 // Author: J.Otwinowski 04/02/2008 
9 //------------------------------------------------------------------------------
10
11 class TFile;
12 class AliMCInfo;
13 class AliESDRecInfo;
14 class AliESDEvent; 
15 class AliESD;
16 class AliESDfriend;
17 class AliMCInfoCuts;
18 class AliRecInfoCuts;
19 class TH1I;
20 class TH3F;
21 class TH3;
22 class TProfile;
23 class TProfile2D;
24
25 #include "TNamed.h"
26
27 class AliComparisonRes : public TNamed {
28 public :
29   AliComparisonRes(); 
30   virtual ~AliComparisonRes();
31   void      InitHisto();
32   void      InitCuts();
33   void      Exec(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
34   void      ProcessConstrained(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
35   void      Process(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
36
37   // Selection cuts
38   void SetAliRecInfoCuts(AliRecInfoCuts* cuts=0) {fCutsRC = cuts;}   
39   void SetAliMCInfoCuts(AliMCInfoCuts* cuts=0) {fCutsMC = cuts;}  
40    
41   AliRecInfoCuts*  GetAliRecInfoCuts() const {return fCutsRC;}  
42   AliMCInfoCuts*   GetAliMCInfoCuts()  const {return fCutsMC;}  
43
44   // Merge output objects (needed by PROOF) 
45   virtual Long64_t Merge(TCollection* list);
46
47   // Analyse output histograms
48   void Analyse();
49   static TH1F*       MakeResol(TH2F * his, Int_t integ, Bool_t type); 
50
51
52 private:
53   //
54   // Control histograms
55   //
56   TH2F* fPtResolLPT;        //-> pt resolution - low pt
57   TH2F* fPtResolHPT;        //-> pt resolution - high pt 
58   TH2F* fPtPullLPT;         //-> pt resolution - low pt
59   TH2F* fPtPullHPT;         //-> pt resolution - high pt 
60   //
61   // Resolution constrained param
62   //
63   TH2F   *fCPhiResolTan;   //-> angular resolution -  constrained
64   TH2F   *fCTanResolTan;   //-> angular resolution -  constrained
65   TH2F   *fCPtResolTan;    //-> pt resolution      -  constrained
66   TH2F   *fCPhiPullTan;    //-> angular resolution -  constrained
67   TH2F   *fCTanPullTan;    //-> angular resolution -  constrained
68   TH2F   *fCPtPullTan;     //-> pt resolution      -  constrained
69
70   // Global cuts objects
71   AliRecInfoCuts*  fCutsRC;      // selection cuts for reconstructed tracks
72   AliMCInfoCuts*  fCutsMC;       // selection cuts for MC tracks
73
74   AliComparisonRes(const AliComparisonRes&); // not implemented
75   AliComparisonRes& operator=(const AliComparisonRes&); // not implemented
76
77   ClassDef(AliComparisonRes,1);
78 };
79
80 #endif