-//
-// Class AliRsnAnalysisTask
-//
-// Virtual Class derivated from AliRsnVAnalysisTask which will be base class
-// for all RSN SE tasks
-//
-// authors: Martin Vala (martin.vala@cern.ch)
-// Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
-//
#ifndef ALIRSNANALYSISTASK_H
#define ALIRSNANALYSISTASK_H
-#include "AliRsnVAnalysisTask.h"
-#include "AliRsnAnalysisManager.h"
-
-#include "AliRsnCutSet.h"
-
-class AliRsnPIDDefESD;
-
-class AliRsnAnalysisTask : public AliRsnVAnalysisTask {
-public:
+#ifndef ALIANALYSISTASKSE_H
+#include "AliAnalysisTaskSE.h"
+#endif
- AliRsnAnalysisTask(const char *name = "AliRsnAnalysisTask", Bool_t useKine = kFALSE);
- AliRsnAnalysisTask(const AliRsnAnalysisTask& copy);
- AliRsnAnalysisTask& operator=(const AliRsnAnalysisTask& copy);
- virtual ~AliRsnAnalysisTask() {}
+#include <TObjArray.h>
- virtual void RsnUserCreateOutputObjects();
- virtual void RsnUserExec(Option_t*);
- virtual void RsnUserExecMix(Option_t*);
- virtual void RsnTerminate(Option_t*);
- virtual Bool_t RsnEventProcess();
+class TList;
+class AliMixInputEventHandler;
+class AliMultiInputEventHandler;
+class AliRsnLoop;
- AliRsnCutSet* GetEventCuts() {return &fEventCuts;}
- AliRsnAnalysisManager* GetAnalysisManager() {return &fRsnAnalysisManager;}
- void SetAnalysisManagerName(const char *name) {fRsnAnalysisManager.SetName(name);}
+class AliRsnAnalysisTask : public AliAnalysisTaskSE {
- Double_t GetZeroEventPercentWarning() const {return fZeroEventPercentWarning;}
- void SetZeroEventPercentWarning(Double_t val = 50) {fZeroEventPercentWarning = val;}
- void UseZeroEventWarning(Bool_t b = kTRUE) {fUseZeroEventWarning = b;}
+public:
+ AliRsnAnalysisTask();
+ AliRsnAnalysisTask(const char *name);
+ AliRsnAnalysisTask(const AliRsnAnalysisTask&);
+ AliRsnAnalysisTask& operator=(const AliRsnAnalysisTask&);
+ virtual ~AliRsnAnalysisTask();
+
+ virtual void UserCreateOutputObjects();
+ virtual void UserExec(Option_t *option);
+ virtual void UserExecMix(Option_t*);
+ virtual void Terminate(Option_t *);
+
+ virtual void Add(AliRsnLoop *object);
+ void InitInputHandlers();
+
private:
- AliRsnAnalysisManager fRsnAnalysisManager; // analysis main engine
- AliRsnCutSet fEventCuts; // event cuts
- TList *fOutList; // list of output events
+ TList *fOutput; // output list
+ TObjArray fRsnObjects; // list of computation objects
- Double_t fZeroEventPercentWarning; // Percent Number for Zero Event Warning
- Bool_t fUseZeroEventWarning; // flag if Zero Event Warning is used (default is true)
+ AliMultiInputEventHandler *fInputEHMain; //! input multi handler
+ AliMixInputEventHandler *fInputEHMix; //! mix input handler
- ClassDef(AliRsnAnalysisTask, 1)
+ ClassDef(AliRsnAnalysisTask, 1); // AliRsnAnalysisTask
};
#endif
+