1 #ifndef ALIANALYSISTASKME_H
2 #define ALIANALYSISTASKME_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"
10 #include "AliVEvent.h"
12 class AliInputEventHandler;
14 class AliMultiEventInputHandler;
18 class AliAnalysisTaskME : public AliAnalysisTask
22 AliAnalysisTaskME(const char* name);
23 AliAnalysisTaskME(const AliAnalysisTaskME& obj);
24 AliAnalysisTaskME& operator=(const AliAnalysisTaskME& other);
25 virtual ~AliAnalysisTaskME() {;}
26 // Implementation of interface methods
27 virtual void ConnectInputData(Option_t *option = "");
28 virtual void CreateOutputObjects();
29 virtual void Exec(Option_t* option);
30 virtual void SetDebugLevel(Int_t level) {fDebug = level;}
31 virtual void Init() {;}
32 virtual void RequireFreshBuffer() {fFreshBufferOnly = kTRUE;}
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, const char *fname="");
38 virtual void SelectCollisionCandidates(UInt_t offlineTriggerMask = AliVEvent::kMB) {fOfflineTriggerMask = offlineTriggerMask;}
40 virtual Int_t DebugLevel() {return fDebug; }
41 virtual AliVEvent* GetEvent(Int_t iev);
42 virtual AliAODEvent* AODEvent() {return fOutputAOD; }
43 virtual TTree* OutputTree() {return fTreeA; }
44 virtual Long64_t Entry() {return fEntry; }
45 virtual const char* CurrentFileName();
48 Int_t fDebug; // Debug flag
49 Int_t fEntry; // Current entry in the chain
50 Bool_t fFreshBufferOnly; // Flag for Exec call for fresh buffer only
51 AliMultiEventInputHandler* fInputHandler; //! Input Handler
52 AliAODEvent* fOutputAOD; //! AOD out
53 TTree* fTreeA; // AOD output Tree
55 UInt_t fOfflineTriggerMask; // Task processes collision candidates only
57 ClassDef(AliAnalysisTaskME, 1); // Analysis task for standard jet analysis