ROOT logo
#ifndef ALIANALYSISTASKME_H
#define ALIANALYSISTASKME_H
 
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

#include "AliAnalysisTask.h"
#include "AliVEvent.h"
class AliAODEvent;
class AliInputEventHandler;
class TTree;
class AliMultiEventInputHandler;



class AliAnalysisTaskME : public AliAnalysisTask
{
 public:
    AliAnalysisTaskME();
    AliAnalysisTaskME(const char* name);
    AliAnalysisTaskME(const AliAnalysisTaskME& obj);
    AliAnalysisTaskME& operator=(const AliAnalysisTaskME& other);
    virtual ~AliAnalysisTaskME() {;}
    // Implementation of interface methods
    virtual void ConnectInputData(Option_t *option = "");
    virtual void CreateOutputObjects();
    virtual void Exec(Option_t* option);
    virtual void SetDebugLevel(Int_t level) {fDebug = level;}
    virtual void Init() {;}
    virtual void RequireFreshBuffer() {fFreshBufferOnly = kTRUE;}
    // To be implemented by user
    virtual void UserCreateOutputObjects()  {;}
    virtual void UserExec(Option_t* /*option*/) {;}
    // Helpers for adding branches to the AOD
    virtual void   AddAODBranch(const char* cname, void* addobj, const char *fname="");
    virtual void   SelectCollisionCandidates(UInt_t offlineTriggerMask = AliVEvent::kMB) {fOfflineTriggerMask = offlineTriggerMask;}
    // Getters
    virtual Int_t          DebugLevel()              {return fDebug;     }
    virtual AliVEvent*     GetEvent(Int_t iev);
    virtual AliAODEvent*   AODEvent()                {return fOutputAOD; }
    virtual TTree*         OutputTree()              {return fTreeA;     }
    virtual Long64_t       Entry()                   {return fEntry;     }
    virtual const char*    CurrentFileName();
    
  protected:
    Int_t                      fDebug;           //  Debug flag
    Int_t                      fEntry;           //  Current entry in the chain
    Bool_t                     fFreshBufferOnly; //  Flag for Exec call for fresh buffer only
    AliMultiEventInputHandler* fInputHandler;    //! Input Handler
    AliAODEvent*               fOutputAOD;       //! AOD out 
    TTree*                     fTreeA;           //  AOD output Tree
    // Event Selection
    UInt_t fOfflineTriggerMask;   //  Task processes collision candidates only

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