]>
Commit | Line | Data |
---|---|---|
777a0ba6 | 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 | |
3ccf3245 | 55 | void PrintHisto(Bool_t logz = kTRUE, Char_t * outFileName = "PerformanceQAHisto.ps"); \r |
777a0ba6 | 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 | |
3ccf3245 | 63 | Int_t fAnalysisMode; // 0-TPC, 1-TPCITS, 2-Constrained, 3 - TPC inner wall\r |
777a0ba6 | 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 |