]>
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 | |
3e7f92dd | 18 | class AliESDfriend;\r |
777a0ba6 | 19 | \r |
20 | class AliPerformanceObject : public TNamed {\r | |
21 | public :\r | |
22 | AliPerformanceObject(); \r | |
23 | AliPerformanceObject(const char* name="AliPerformanceObject", const char* title="AliPerformanceObject"); \r | |
24 | virtual ~AliPerformanceObject();\r | |
25 | \r | |
26 | // Init data members\r | |
27 | // call once before event loop\r | |
28 | virtual void Init() = 0;\r | |
29 | \r | |
30 | // Execute analysis\r | |
31 | // call in the event loop \r | |
3e7f92dd | 32 | virtual void Exec(AliMCEvent* const infoMC=0, AliESDEvent* const infoRC=0, AliESDfriend* const infoFriend=0, const Bool_t bUseMC=kFALSE, const Bool_t bUseESDfriend=kFALSE) = 0;\r |
777a0ba6 | 33 | \r |
34 | // Merge output objects (needed by PROOF) \r | |
35 | virtual Long64_t Merge(TCollection* const list=0) = 0;\r | |
36 | \r | |
37 | // Analyse output histograms\r | |
38 | virtual void Analyse() = 0;\r | |
39 | \r | |
40 | // Get output folder for analysed histograms\r | |
41 | virtual TFolder* GetAnalysisFolder() const = 0;\r | |
42 | \r | |
43 | // \r | |
44 | virtual void SetAliRecInfoCuts(AliRecInfoCuts* const cuts=0) = 0;\r | |
45 | virtual void SetAliMCInfoCuts(AliMCInfoCuts* const cuts=0) = 0; \r | |
46 | \r | |
47 | // set and get analysisMode\r | |
48 | void SetAnalysisMode(const Int_t analysisMode=0) {fAnalysisMode = analysisMode;} \r | |
49 | Int_t GetAnalysisMode() const {return fAnalysisMode;}\r | |
50 | \r | |
51 | // set and get hpt generator \r | |
52 | void SetHptGenerator(const Bool_t hptGenerator=kFALSE) {fHptGenerator = hptGenerator;}\r | |
53 | Bool_t IsHptGenerator() const {return fHptGenerator;}\r | |
54 | \r | |
55 | // draw all histograms from the folder\r | |
3ccf3245 | 56 | void PrintHisto(Bool_t logz = kTRUE, Char_t * outFileName = "PerformanceQAHisto.ps"); \r |
777a0ba6 | 57 | \r |
58 | // create log axis \r | |
59 | Double_t *CreateLogAxis(Int_t nbins, Double_t xmin, Double_t xmax); \r | |
60 | \r | |
61 | protected: \r | |
62 | \r | |
63 | // analysis mode\r | |
3e7f92dd | 64 | Int_t fAnalysisMode; // 0-TPC, 1-TPCITS, 2-Constrained, 3-TPC inner wall, 4-TPC outer wall\r |
777a0ba6 | 65 | \r |
66 | // hpt generator\r | |
67 | Bool_t fHptGenerator; // hpt event generator\r | |
68 | \r | |
69 | ClassDef(AliPerformanceObject,1);\r | |
70 | };\r | |
71 | \r | |
72 | #endif\r |