]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG2/RESONANCES/AliRsnAnalysisTask.h
Implementation of all needed changes in the package in order to speed-up the executio...
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnAnalysisTask.h
index 9cc8c60f5265cc92d4b1bfccf21118ee399f4812..ad06a9a26956d395465be0e74eff51853a959151 100644 (file)
@@ -1,54 +1,45 @@
-//
-// 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
+