]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/AliAnalysisTaskSE.h
Simple implementation of the VEventPool which allows to loop several times over the...
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskSE.h
1 #ifndef ALIANALYSISTASKSE_H
2 #define ALIANALYSISTASKSE_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 #include "AliAnalysisTask.h"
10 class AliVEvent;
11 class AliAODEvent;
12 class AliAODHeader;
13 class AliMCEvent;
14 class AliInputEventHandler;
15 class TTree;
16
17
18
19 class AliAnalysisTaskSE : public AliAnalysisTask
20 {
21  public:
22     AliAnalysisTaskSE();
23     AliAnalysisTaskSE(const char* name);
24     AliAnalysisTaskSE(const AliAnalysisTaskSE& obj);
25     AliAnalysisTaskSE& operator=(const AliAnalysisTaskSE& other);
26     virtual ~AliAnalysisTaskSE() {;}
27     // Implementation of interface methods
28     virtual void ConnectInputData(Option_t *option = "");
29     virtual void CreateOutputObjects();
30     virtual void Exec(Option_t* option);
31     virtual void SetDebugLevel(Int_t level) {fDebug = level;}
32     virtual void Init() {;}
33     // To be implemented by user
34     virtual void UserCreateOutputObjects()  {;}
35     virtual void UserExec(Option_t* /*option*/) {;}
36     // Helpers for adding branches to the AOD
37    virtual void AddAODBranch(const char* cname, void* addobj);
38 // Getters
39     virtual Int_t        DebugLevel()  {return fDebug;     }
40     virtual AliVEvent*   InputEvent()  {return fInputEvent;}
41     virtual AliAODEvent* AODEvent()    {return fOutputAOD; }
42     virtual TTree*       OutputTree()  {return fTreeA;     }
43     virtual AliMCEvent*  MCEvent()     {return fMCEvent;   }
44     virtual Long64_t     Entry()       {return fEntry;     }
45     virtual const char*  CurrentFileName();
46   protected:
47     Int_t                 fDebug;           //  Debug flag
48     Int_t                 fEntry;           //  Current entry in the chain
49     AliVEvent*            fInputEvent;      //! VEvent Input
50     AliInputEventHandler* fInputHandler;    //! Input Handler
51     AliAODEvent*          fOutputAOD;       //! AOD out 
52     AliMCEvent*           fMCEvent;         //! MC
53     TTree*                fTreeA;           //  AOD output Tree
54     static Bool_t         fgHeaderCopied;   //  Flag to signal replicated AOD header
55     static AliAODHeader*  fgAODHeader;      //! Header for replication
56     ClassDef(AliAnalysisTaskSE, 1); // Analysis task for standard jet analysis
57 };
58  
59 #endif