Port of new Event Mixing implementation
[u/mrichter/AliRoot.git] / ANALYSIS / EventMixing / AliAnalysisTaskMixInfo.h
1 #ifndef ALIANALYSISTASKMIXINFO_H\r
2 #define ALIANALYSISTASKMIXINFO_H\r
3 \r
4 //\r
5 // Class AliAnalysisTaskMixInfo\r
6 //\r
7 // AliAnalysisTaskMixInfo is task\r
8 // for mixing info\r
9 //\r
10 // authors:\r
11 //          Martin Vala (martin.vala@cern.ch)\r
12 //\r
13 \r
14 #include "AliLog.h"\r
15 \r
16 #include "AliAnalysisTaskSE.h"\r
17 \r
18 class TList;\r
19 class AliMixInfo;\r
20 class AliAnalysisTaskMixInfo : public AliAnalysisTaskSE {\r
21 public:\r
22    AliAnalysisTaskMixInfo(const char *name = "<default name>");\r
23    virtual ~AliAnalysisTaskMixInfo();\r
24 \r
25    virtual void    UserCreateOutputObjects();\r
26    virtual void    UserExec(Option_t *option);\r
27    virtual void    Terminate(Option_t *);\r
28    virtual void    UserExecMix(Option_t *option = "");\r
29    virtual void    FinishTaskOutput();\r
30 \r
31    void            InitMixInfo();\r
32    // sets log type to list of classes\r
33    void            SetLogType(AliLog::EType_t type, TString allClasses = "");\r
34    // sets correctly debug level to AliLog for all classes listed in fLogClassesString\r
35    void            SetDebugForAllClasses();\r
36 \r
37 private:\r
38 \r
39    TList       *fOutputList;     //! output list\r
40    AliMixInfo  *fMixInfo;        //!\r
41 \r
42    Long64_t    fCurrentEntryTmp; //! temporary current entry number\r
43 \r
44    AliLog::EType_t     fLogType;           // log type\r
45    TString             fLogClassesString;  // all classes string divided with ":"\r
46 \r
47    AliAnalysisTaskMixInfo(const AliAnalysisTaskMixInfo &); // not implemented\r
48    AliAnalysisTaskMixInfo &operator=(const AliAnalysisTaskMixInfo &); // not implemented\r
49 \r
50    ClassDef(AliAnalysisTaskMixInfo, 1); // example of analysis\r
51 };\r
52 \r
53 #endif\r