]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/RESONANCES/AliRsnVAnalysisTask.h
Added pass1 and pass2 directories
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnVAnalysisTask.h
CommitLineData
d7712d44 1#ifndef ALIRSNVANALYSISTASK_H
2#define ALIRSNVANALYSISTASK_H
3
1c7bc43c 4//
5// Class AliRsnVAnalysisTask
6//
7// Virtual Class derivated from AliAnalysisTaskSE which will be base class
8// for all RSN Multi tasks
9//
10// authors: Martin Vala (martin.vala@cern.ch)
11// Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
12//
13
1c7bc43c 14#include "AliAnalysisTaskSE.h"
d7712d44 15#include "AliMixInputEventHandler.h"
1c7bc43c 16
17#include "AliRsnEvent.h"
18#include "AliRsnVATProcessInfo.h"
1c7bc43c 19
20class AliESDEvent;
21class AliAODEvent;
22class AliMCEvent;
23
2a1c7696 24class AliRsnVAnalysisTask : public AliAnalysisTaskSE {
25public:
26
27 AliRsnVAnalysisTask(const char *name = "AliRsnVAnalysisTask", Bool_t mcOnly = kFALSE);
28 AliRsnVAnalysisTask(const AliRsnVAnalysisTask& copy);
29 AliRsnVAnalysisTask& operator= (const AliRsnVAnalysisTask& /*copy*/) { return *this; }
30 virtual ~AliRsnVAnalysisTask() {/* Does nothing*/;}
31
32 // basic interface methods
33 virtual void LocalInit();
34 virtual Bool_t UserNotify();
35 virtual void ConnectInputData(Option_t *opt);
36 virtual void UserCreateOutputObjects();
37 virtual void UserExec(Option_t* opt);
38 virtual void UserExecMix(Option_t* option = "");
39 virtual void Terminate(Option_t* opt);
40
41 // customized methods (to be implemented in derived classes)
42 virtual void RsnUserCreateOutputObjects();
43 virtual void RsnUserExec(Option_t*);
44 virtual void RsnUserExecMix(Option_t*);
45 virtual void RsnTerminate(Option_t*);
d7712d44 46 virtual Bool_t RsnEventProcess();
2a1c7696 47
48 // getters
49 AliRsnEvent* GetRsnEvent(Int_t i = 0) {return &fRsnEvent[i];}
d7712d44 50 AliRsnVATProcessInfo* GetInfo() {return &fTaskInfo;}
51 Bool_t IsMixing() {return fIsMixing;}
52 Bool_t IsUsingMixingRange() {return fUseMixingRange;}
2a1c7696 53
54 // setters
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);}
d7712d44 58 void SetMixing(Bool_t doMix = kTRUE) {fIsMixing = doMix;}
59 void UseMixingRange(Bool_t useMixRange = kTRUE) {fUseMixingRange = useMixRange;}
2a1c7696 60
61protected:
62
d7712d44 63 AliLog::EType_t fLogType; // log type
64 TString fLogClassesString; // all classes string divided with ":"
2a1c7696 65
d7712d44 66 AliESDEvent *fESDEvent[2]; // ESD event
67 AliMCEvent *fMCEvent[2]; // MC event
68 AliAODEvent *fAODEventIn[2]; // AOD event from input
69 AliAODEvent *fAODEventOut[2]; // AOD event from output from previous taks
70
71 Bool_t fIsMixing; // flag is using mixing
72 Bool_t fMCOnly; // use only MC information
73 AliRsnEvent fRsnEvent[2]; // interface to event for RSN package
2a1c7696 74
d7712d44 75 TList *fInfoList; //! output list for informations
76 AliRsnVATProcessInfo fTaskInfo; // task info
2a1c7696 77
d7712d44 78 AliMixInputEventHandler *fMixedEH; //! mixed event hadnler
79 Bool_t fUseMixingRange; // flag
2a1c7696 80
d7712d44 81 void SetupMixingEvents();
82 void SetDebugForAllClasses();
2a1c7696 83
84 ClassDef(AliRsnVAnalysisTask, 1)
1c7bc43c 85};
86
87#endif