11b0a3d5618f6af167e8728b8086ca2c6f624f0e
[u/mrichter/AliRoot.git] / PWG1 / AliComparisonTask.h
1 #ifndef ALICOMPARISONRESTASK_H
2 #define ALICOMPARISONRESTASK_H
3
4 //------------------------------------------------------------------------------
5 // Class to compare properties of reconstructed and MC particle tracks. 
6 // 
7 // Author: J.Otwinowski 04/02/2008 
8 //------------------------------------------------------------------------------
9
10 class AliComparisonObject;
11 class AliMagFMaps;
12 class TList;
13
14 #include "AliAnalysisTask.h"
15
16 class AliComparisonTask : public AliAnalysisTask {
17  public:
18   AliComparisonTask(const char *name = "AliComparisonTask");
19   virtual ~AliComparisonTask();
20   
21   virtual void   ConnectInputData(Option_t *);
22   virtual void   CreateOutputObjects();
23   virtual void   Exec(Option_t *option);
24   virtual void   Terminate(Option_t *);
25
26   // Read TTree entry (event by event)
27   Bool_t  ReadEntry(Int_t evt);
28
29   // Set comparison objects
30   Bool_t AddComparisonObject(AliComparisonObject* comp);
31
32  private:
33   TTree* fTree;                   //! input tree
34   AliMCInfo *fInfoMC;             //! AliMCInfo object
35   AliESDRecInfo *fInfoRC;         //! AliESDRecInfo object
36
37   TList* fOutput;                 //! list send on output slot 0
38   static Int_t fEvtNumber;        //! event number
39   TIterator *fPitList;            //! iterator over the output objetcs  
40   TList *fCompList;               // list of comparison objects
41
42   AliComparisonTask(const AliComparisonTask&); // not implemented
43   AliComparisonTask& operator=(const AliComparisonTask&); // not implemented
44   
45   ClassDef(AliComparisonTask, 1); // example of analysis
46 };
47
48 #endif