]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnAnalysisTask.h
New analysis task objects with the capability to do mixing
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnAnalysisTask.h
1 //
2 // Class AliRsnAnalysisTask
3 //
4 // Virtual Class derivated from AliRsnVAnalysisTask 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 ALIRSNANALYSISTASK_H
11 #define ALIRSNANALYSISTASK_H
12
13 #include "AliPID.h"
14 #include "AliRsnVAnalysisTask.h"
15 #include "AliRsnAnalysisManager.h"
16 #include "AliRsnEvent.h"
17 #include "AliRsnCutSet.h"
18
19 class AliRsnPIDDefESD;
20
21 class AliRsnAnalysisTask : public AliRsnVAnalysisTask
22 {
23   public:
24   
25     AliRsnAnalysisTask(const char *name = "AliRsnAnalysisTask", Bool_t useKine = kFALSE);
26     AliRsnAnalysisTask(const AliRsnAnalysisTask& copy);
27     AliRsnAnalysisTask& operator=(const AliRsnAnalysisTask& copy);
28     virtual ~AliRsnAnalysisTask() {}
29
30     virtual void            RsnUserCreateOutputObjects();
31     virtual void            RsnUserExec(Option_t*);
32     virtual void            RsnUserExecMix(Option_t* );
33     virtual void            RsnTerminate(Option_t*);
34     virtual Bool_t          EventProcess();
35
36     AliRsnCutSet*           GetEventCuts()                           {return &fEventCuts;}
37     AliRsnAnalysisManager*  GetAnalysisManager()                     {return &fRsnAnalysisManager;}
38     void                    SetAnalysisManagerName(const char *name) {fRsnAnalysisManager.SetName(name);}
39
40     Double_t                GetZeroEventPercentWarning() const            {return fZeroEventPercentWarning;}
41     void                    SetZeroEventPercentWarning(Double_t val = 50) {fZeroEventPercentWarning = val;}
42     void                    UseZeroEventWarning(Bool_t b = kTRUE)         {fUseZeroEventWarning = b;}
43
44   private:
45
46     AliRsnAnalysisManager   fRsnAnalysisManager;      // analysis main engine
47     AliRsnCutSet            fEventCuts;               // event cuts
48     TList                  *fOutList;                 // list of output events
49
50     Double_t                fZeroEventPercentWarning; // Percent Number for Zero Event Warning
51     Bool_t                  fUseZeroEventWarning;     // flag if Zero Event Warning is used (default is true)
52
53     ClassDef(AliRsnAnalysisTask, 1)
54 };
55
56 #endif