ROOT logo
#ifndef ALICOMPARISONOBJECT_H
#define ALICOMPARISONOBJECT_H

//------------------------------------------------------------------------------
// Abstract class to keep information from comparison of 
// reconstructed and MC particle tracks.   
// 
// Author: J.Otwinowski 04/14/2008 
//------------------------------------------------------------------------------

#include "TNamed.h"
#include "TFolder.h"

class AliMCInfo;
class AliESDRecInfo;

class AliComparisonObject : public TNamed {
public :
  AliComparisonObject(); 
  AliComparisonObject(const char* name="AliComparisonObject", const char* title="AliComparisonObject"); 
  virtual ~AliComparisonObject();

  // Init data members
  // call once before event loop
  virtual void Init() = 0;

  // Execute analysis
  // call in the event loop 
  virtual void Exec(AliMCInfo* const infoMC=0, AliESDRecInfo* const infoRC=0) = 0;

  // Merge output objects (needed by PROOF) 
  virtual Long64_t Merge(TCollection* const list=0) = 0;

  // Analyse output histograms
  virtual void Analyse() = 0;

  // Get output folder for analysed histograms
  virtual TFolder* GetAnalysisFolder() const = 0;

  // set and get analysisMode
  void SetAnalysisMode(Int_t analysisMode=0) {fAnalysisMode = analysisMode;} 
  Int_t GetAnalysisMode() {return fAnalysisMode;}

  // set and get hpt generator 
  void SetHptGenerator(Bool_t hptGenerator=kFALSE) {fHptGenerator = hptGenerator;}
  Bool_t IsHptGenerator() {return fHptGenerator;}

protected: 

 // analysis mode
 Int_t fAnalysisMode;  // 0-TPC, 1-TPCITS, 2-Constrained

 // hpt generator
 Bool_t fHptGenerator; // hpt event generator

  ClassDef(AliComparisonObject,1);
};

#endif
 AliComparisonObject.h:1
 AliComparisonObject.h:2
 AliComparisonObject.h:3
 AliComparisonObject.h:4
 AliComparisonObject.h:5
 AliComparisonObject.h:6
 AliComparisonObject.h:7
 AliComparisonObject.h:8
 AliComparisonObject.h:9
 AliComparisonObject.h:10
 AliComparisonObject.h:11
 AliComparisonObject.h:12
 AliComparisonObject.h:13
 AliComparisonObject.h:14
 AliComparisonObject.h:15
 AliComparisonObject.h:16
 AliComparisonObject.h:17
 AliComparisonObject.h:18
 AliComparisonObject.h:19
 AliComparisonObject.h:20
 AliComparisonObject.h:21
 AliComparisonObject.h:22
 AliComparisonObject.h:23
 AliComparisonObject.h:24
 AliComparisonObject.h:25
 AliComparisonObject.h:26
 AliComparisonObject.h:27
 AliComparisonObject.h:28
 AliComparisonObject.h:29
 AliComparisonObject.h:30
 AliComparisonObject.h:31
 AliComparisonObject.h:32
 AliComparisonObject.h:33
 AliComparisonObject.h:34
 AliComparisonObject.h:35
 AliComparisonObject.h:36
 AliComparisonObject.h:37
 AliComparisonObject.h:38
 AliComparisonObject.h:39
 AliComparisonObject.h:40
 AliComparisonObject.h:41
 AliComparisonObject.h:42
 AliComparisonObject.h:43
 AliComparisonObject.h:44
 AliComparisonObject.h:45
 AliComparisonObject.h:46
 AliComparisonObject.h:47
 AliComparisonObject.h:48
 AliComparisonObject.h:49
 AliComparisonObject.h:50
 AliComparisonObject.h:51
 AliComparisonObject.h:52
 AliComparisonObject.h:53
 AliComparisonObject.h:54
 AliComparisonObject.h:55
 AliComparisonObject.h:56
 AliComparisonObject.h:57
 AliComparisonObject.h:58
 AliComparisonObject.h:59