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)
10 #ifndef ALIRSNVANALYSISTASKSE_H
11 #define ALIRSNVANALYSISTASKSE_H
17 #include "AliAnalysisTaskSE.h"
19 #include "AliRsnEvent.h"
20 #include "AliRsnPIDIndex.h"
21 #include "AliRsnVATProcessInfo.h"
27 class AliRsnVAnalysisTaskSE : public AliAnalysisTaskSE
31 kMaxNumberOfOutputs=10
34 AliRsnVAnalysisTaskSE(const char *name = "AliRsnVAnalysisTaskSE", Int_t numOfOutputs = 1, Bool_t mcOnly = kFALSE);
35 AliRsnVAnalysisTaskSE(const AliRsnVAnalysisTaskSE& copy);
36 AliRsnVAnalysisTaskSE& operator= (const AliRsnVAnalysisTaskSE& /*copy*/) { return *this; }
37 virtual ~AliRsnVAnalysisTaskSE() {/* Does nothing*/;}
39 virtual void LocalInit();
40 virtual Bool_t Notify();
41 virtual void ConnectInputData(Option_t *opt);
42 // Implementation of interface methods
43 virtual void UserCreateOutputObjects();
44 virtual void UserExec(Option_t* opt);
45 virtual void Terminate(Option_t* opt);
48 virtual void RsnUserCreateOutputObjects();
49 virtual void RsnUserExec(Option_t*);
50 virtual void RsnTerminate(Option_t*);
52 virtual void FillInfo();
55 AliRsnPIDIndex* GetPIDIndex() {return &fRsnPIDIndex;}
56 AliRsnEvent* GetRsnEvent() {return &fRsnEvent;}
57 void SetPriorProbability(AliPID::EParticleType type, Double_t p) {fRsnEvent.SetPriorProbability(type, p);}
58 void DumpPriors() {fRsnEvent.DumpPriors();}
59 void GetPriorProbability(Double_t *out) const {fRsnEvent.GetPriorProbability(out);}
61 void SetMCOnly(Bool_t mcOnly = kTRUE) {fMCOnly = mcOnly;}
62 void SetLogType(AliLog::EType_t type, TString allClasses = "");
63 void SetPrintInfoNumber(const Long64_t &num = 100) { fTaskInfo.SetPrintInfoNumber(num); }
67 AliLog::EType_t fLogType; // log type
68 TString fLogClassesString;// all classes string divided with ":"
70 AliESDEvent *fESDEvent; // ESD event
71 AliMCEvent *fMCEvent; // MC event
72 AliAODEvent *fAODEventIn; // AOD event from input
73 AliAODEvent *fAODEventOut; // AOD event from output from previous taks
75 Bool_t fMCOnly; // use only MC information
76 AliRsnEvent fRsnEvent; // interface to event for RSN package
77 AliRsnPIDIndex fRsnPIDIndex; // PID method sorter
79 Int_t fNumberOfOutputs; // number of outputs
80 TList *fOutList[kMaxNumberOfOutputs+1]; //!
81 AliRsnVATProcessInfo fTaskInfo; // task info
83 void SetDebugForAllClasses();
85 ClassDef(AliRsnVAnalysisTaskSE, 1)