1 #ifndef ALIPERFORMANCEOBJECT_H
\r
2 #define ALIPERFORMANCEOBJECT_H
\r
4 //------------------------------------------------------------------------------
\r
5 // Base class to keep information from comparison of
\r
6 // reconstructed and MC particle tracks.
\r
8 // Author: J.Otwinowski 04/14/2008
\r
9 //------------------------------------------------------------------------------
\r
12 #include "TFolder.h"
\r
16 class AliRecInfoCuts;
\r
17 class AliMCInfoCuts;
\r
20 class AliPerformanceObject : public TNamed {
\r
22 AliPerformanceObject();
\r
23 AliPerformanceObject(const char* name="AliPerformanceObject", const char* title="AliPerformanceObject");
\r
24 virtual ~AliPerformanceObject();
\r
26 // Init data members
\r
27 // call once before event loop
\r
28 virtual void Init() = 0;
\r
31 // call in the event loop
\r
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
34 // Merge output objects (needed by PROOF)
\r
35 virtual Long64_t Merge(TCollection* const list=0) = 0;
\r
37 // Analyse output histograms
\r
38 virtual void Analyse() = 0;
\r
40 // Get output folder for analysed histograms
\r
41 virtual TFolder* GetAnalysisFolder() const = 0;
\r
44 virtual void SetAliRecInfoCuts(AliRecInfoCuts* const cuts=0) = 0;
\r
45 virtual void SetAliMCInfoCuts(AliMCInfoCuts* const cuts=0) = 0;
\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
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
55 // draw all histograms from the folder
\r
56 void PrintHisto(Bool_t logz = kTRUE, Char_t * outFileName = "PerformanceQAHisto.ps");
\r
59 Double_t *CreateLogAxis(Int_t nbins, Double_t xmin, Double_t xmax);
\r
64 Int_t fAnalysisMode; // 0-TPC, 1-TPCITS, 2-Constrained, 3-TPC inner wall, 4-TPC outer wall
\r
67 Bool_t fHptGenerator; // hpt event generator
\r
69 ClassDef(AliPerformanceObject,1);
\r