]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnVAnalysisTaskSE.h
bugfix
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnVAnalysisTaskSE.h
1 //
2 // Class AliRsnVAnalysisTaskSE
3 //
4 // Virtual Class derivated from AliAnalysisTaskSE which will be base class
5 // for all RSN SE tasks
6 //
7 // authors: Martin Vala (martin.vala@cern.ch)
8 //          Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
9 //
10 #ifndef ALIRSNVANALYSISTASKSE_H
11 #define ALIRSNVANALYSISTASKSE_H
12
13 #include <TH1.h>
14
15 #include "AliLog.h"
16
17 #include "AliAnalysisTaskSE.h"
18
19 #include "AliRsnEvent.h"
20 #include "AliRsnVATProcessInfo.h"
21
22 class AliESDEvent;
23 class AliAODEvent;
24 class AliMCEvent;
25
26 class AliRsnVAnalysisTaskSE : public AliAnalysisTaskSE
27 {
28   public:
29     enum {
30       kMaxNumberOfOutputs=10
31     };
32
33     AliRsnVAnalysisTaskSE(const char *name = "AliRsnVAnalysisTaskSE", Bool_t mcOnly = kFALSE);
34     AliRsnVAnalysisTaskSE(const AliRsnVAnalysisTaskSE& copy);
35     AliRsnVAnalysisTaskSE& operator= (const AliRsnVAnalysisTaskSE& /*copy*/) { return *this; }
36     virtual ~AliRsnVAnalysisTaskSE() {/* Does nothing*/;}
37
38     virtual void    LocalInit();
39     virtual Bool_t  Notify();
40     virtual void    ConnectInputData(Option_t *opt);
41     // Implementation of interface methods
42     virtual void    UserCreateOutputObjects();
43     virtual void    UserExec(Option_t* opt);
44     virtual void    Terminate(Option_t* opt);
45
46     // Implement this
47     virtual void    RsnUserCreateOutputObjects();
48     virtual void    RsnUserExec(Option_t*);
49     virtual void    RsnTerminate(Option_t*);
50
51     virtual void    FillInfo();
52
53     // Prior probs
54     AliRsnEvent*    GetRsnEvent() {return &fRsnEvent;}
55
56     void SetMCOnly(Bool_t mcOnly = kTRUE) {fMCOnly = mcOnly;}
57     void SetLogType(AliLog::EType_t type, TString allClasses = "");
58     void SetPrintInfoNumber(const Long64_t &num = 100) { fTaskInfo.SetPrintInfoNumber(num); }
59
60   protected:
61
62     AliLog::EType_t         fLogType;         // log type
63     TString                 fLogClassesString;// all classes string divided with ":"
64
65     AliESDEvent            *fESDEvent;        // ESD event
66     AliMCEvent             *fMCEvent;         // MC event
67     AliAODEvent            *fAODEventIn;      // AOD event from input
68     AliAODEvent            *fAODEventOut;     // AOD event from output from previous taks
69
70     Bool_t                  fMCOnly;          // use only MC information
71     AliRsnEvent             fRsnEvent;        // interface to event for RSN package
72
73     TList                  *fInfoList;        //! output list for informations
74     AliRsnVATProcessInfo    fTaskInfo;        // task info
75
76     void                    SetDebugForAllClasses();
77
78     ClassDef(AliRsnVAnalysisTaskSE, 1)
79 };
80
81 #endif