]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/AliPerformanceObject.h
Updates (Jacek)
[u/mrichter/AliRoot.git] / PWG1 / AliPerformanceObject.h
CommitLineData
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
14class AliMCEvent;\r
15class AliESDEvent;\r
16class AliRecInfoCuts;\r
17class AliMCInfoCuts;\r
18\r
19class AliPerformanceObject : public TNamed {\r
20public :\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
60protected: \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