]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/AliPerformanceObject.h
67c71c7bf56d226419bcb3aa256f65f04407bb89
[u/mrichter/AliRoot.git] / PWG1 / AliPerformanceObject.h
1 #ifndef ALIPERFORMANCEOBJECT_H\r
2 #define ALIPERFORMANCEOBJECT_H\r
3 \r
4 //------------------------------------------------------------------------------\r
5 // Base class to keep information from comparison of \r
6 // reconstructed and MC particle tracks.   \r
7 // \r
8 // Author: J.Otwinowski 04/14/2008 \r
9 //------------------------------------------------------------------------------\r
10 \r
11 #include "TNamed.h"\r
12 #include "TFolder.h"\r
13 \r
14 class AliMCEvent;\r
15 class AliESDEvent;\r
16 class AliRecInfoCuts;\r
17 class AliMCInfoCuts;\r
18 \r
19 class AliPerformanceObject : public TNamed {\r
20 public :\r
21   AliPerformanceObject(); \r
22   AliPerformanceObject(const char* name="AliPerformanceObject", const char* title="AliPerformanceObject"); \r
23   virtual ~AliPerformanceObject();\r
24 \r
25   // Init data members\r
26   // call once before event loop\r
27   virtual void Init() = 0;\r
28 \r
29   // Execute analysis\r
30   // call in the event loop \r
31   virtual void Exec(AliMCEvent* const infoMC=0, AliESDEvent* const infoRC=0, const Bool_t bUseMC=kFALSE) = 0;\r
32 \r
33   // Merge output objects (needed by PROOF) \r
34   virtual Long64_t Merge(TCollection* const list=0) = 0;\r
35 \r
36   // Analyse output histograms\r
37   virtual void Analyse() = 0;\r
38 \r
39   // Get output folder for analysed histograms\r
40   virtual TFolder* GetAnalysisFolder() const = 0;\r
41 \r
42   // \r
43   virtual void SetAliRecInfoCuts(AliRecInfoCuts* const cuts=0) = 0;\r
44   virtual void SetAliMCInfoCuts(AliMCInfoCuts* const cuts=0) = 0; \r
45 \r
46   // set and get analysisMode\r
47   void SetAnalysisMode(const Int_t analysisMode=0) {fAnalysisMode = analysisMode;} \r
48   Int_t GetAnalysisMode() const {return fAnalysisMode;}\r
49 \r
50   // set and get hpt generator \r
51   void SetHptGenerator(const Bool_t hptGenerator=kFALSE) {fHptGenerator = hptGenerator;}\r
52   Bool_t IsHptGenerator() const {return fHptGenerator;}\r
53 \r
54   // draw all histograms from the folder\r
55   void DrawHisto(Bool_t logz = kTRUE); \r
56 \r
57   // create log axis \r
58   Double_t *CreateLogAxis(Int_t nbins, Double_t xmin, Double_t xmax); \r
59 \r
60 protected: \r
61 \r
62  // analysis mode\r
63  Int_t fAnalysisMode;  // 0-TPC, 1-TPCITS, 2-Constrained\r
64 \r
65  // hpt generator\r
66  Bool_t fHptGenerator; // hpt event generator\r
67 \r
68   ClassDef(AliPerformanceObject,1);\r
69 };\r
70 \r
71 #endif\r