1 #ifndef ALIANALYSISTASKSE_H
2 #define ALIANALYSISTASKSE_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 #include "AliAnalysisTask.h"
14 class AliInputEventHandler;
19 class AliAnalysisTaskSE : public AliAnalysisTask
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);
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();
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