2 // Class AliRsnVAnalysisTaskSE
4 // Virtual Class derivated from AliAnalysisTaskSE which will be base class
5 // for all RSN SE tasks
7 // authors: Martin Vala (martin.vala@cern.ch)
8 // Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
11 #ifndef ALIRSNVANALYSISTASKSE_H
12 #define ALIRSNVANALYSISTASKSE_H
16 #include "AliAnalysisTaskSE.h"
18 #include "AliRsnEvent.h"
19 #include "AliRsnVATProcessInfo.h"
25 class AliRsnVAnalysisTaskSE : public AliAnalysisTaskSE
29 AliRsnVAnalysisTaskSE(const char *name = "AliRsnVAnalysisTaskSE", Bool_t mcOnly = kFALSE);
30 AliRsnVAnalysisTaskSE(const AliRsnVAnalysisTaskSE& copy);
31 AliRsnVAnalysisTaskSE& operator= (const AliRsnVAnalysisTaskSE& /*copy*/) { return *this; }
32 virtual ~AliRsnVAnalysisTaskSE() {/* Does nothing*/;}
34 // basic interface methods
35 virtual void LocalInit();
36 virtual Bool_t UserNotify();
37 virtual void ConnectInputData(Option_t *opt);
38 virtual void UserCreateOutputObjects();
39 virtual void UserExec(Option_t* opt);
40 virtual void Terminate(Option_t* opt);
42 // customized methods (to be implemented in derived classes)
43 virtual void RsnUserCreateOutputObjects();
44 virtual void RsnUserExec(Option_t*);
45 virtual void RsnTerminate(Option_t*);
47 // event pre-processing functions
48 virtual Bool_t EventProcess();
51 AliRsnEvent* GetRsnEvent() {return &fRsnEvent;}
52 AliRsnVATProcessInfo* GetInfo() {return &fTaskInfo;}
55 void SetMCOnly(Bool_t mcOnly = kTRUE) {fMCOnly = mcOnly;}
56 void SetLogType(AliLog::EType_t type, const char *classes = "") {fLogType = type; fLogClassesString = classes;}
57 void SetPrintInfoNumber(const Long64_t &num = 100) {fTaskInfo.SetPrintInfoNumber(num);}
61 AliLog::EType_t fLogType; // log type
62 TString fLogClassesString; // all classes string divided with ":"
64 AliESDEvent *fESDEvent; // ESD event
65 AliMCEvent *fMCEvent; // MC event
66 AliAODEvent *fAODEventIn; // AOD event from input
67 AliAODEvent *fAODEventOut; // AOD event from output from previous taks
69 Bool_t fMCOnly; // use only MC information
70 AliRsnEvent fRsnEvent; // interface to event for RSN package
72 TList *fInfoList; //! output list for informations
73 AliRsnVATProcessInfo fTaskInfo; // task info
75 void SetDebugForAllClasses();
77 ClassDef(AliRsnVAnalysisTaskSE, 1)