-//\r
-// Class AliRsnAnalysisME\r
-//\r
-// Virtual Class derivated from AliRsnVAnalysisTaskME which will be base class\r
-// for all RSN SE tasks\r
-//\r
-// authors: Martin Vala (martin.vala@cern.ch)\r
-// Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)\r
-//\r
-#ifndef AliRsnAnalysisME_H\r
-#define AliRsnAnalysisME_H\r
-\r
-#include "AliRsnVAnalysisTaskME.h"\r
-#include "AliRsnAnalysisManager.h"\r
-\r
-class AliRsnAnalysisME : public AliRsnVAnalysisTaskME\r
-{\r
-\r
- public:\r
- AliRsnAnalysisME(const char *name = "AliRsnAnalysisME");\r
- AliRsnAnalysisME(const AliRsnAnalysisME& copy);\r
-\r
- // Implement this\r
- virtual void RsnUserCreateOutputObjects();\r
- virtual void RsnUserExec(Option_t*);\r
- virtual void RsnTerminate(Option_t*);\r
-\r
- AliRsnAnalysisManager *GetAnalysisManager(TString name="");\r
- void SetAnalysisManagerName(const char*name) { fRsnAnalysisManager.SetName(name);};\r
-\r
- // Prior probs\r
- void SetPriorProbability(AliPID::EParticleType type, Double_t p);\r
- void DumpPriors();\r
- void GetPriorProbability(Double_t *out);\r
-\r
- // ESD cuts\r
- void SetESDtrackCuts(AliESDtrackCuts *cuts) {fESDCuts = cuts;}\r
-\r
- private:\r
-\r
- AliRsnAnalysisME& operator=(const AliRsnAnalysisME& /*copy*/) {return *this;}\r
-\r
- AliRsnAnalysisManager fRsnAnalysisManager; // analysis main engine\r
- AliRsnPIDIndex fPIDIndex; // utility --> PID sorter\r
- AliRsnPIDIndex fPIDIndexMix; // utility --> PID sorter (mixed event)\r
- AliRsnEvent fEvent; // utility --> event interface\r
- AliRsnEvent fEventMix; // utility --> event interface (mixed event)\r
-\r
- AliESDtrackCuts *fESDCuts; // ESD track cuts\r
- Double_t fPrior[AliPID::kSPECIES]; // prior probabilities\r
-\r
- ClassDef(AliRsnAnalysisME, 1)\r
-};\r
-\r
-#endif\r
+//
+// Class AliRsnAnalysisME
+//
+// Virtual Class derivated from AliRsnVAnalysisTaskME 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 ALIRSNANALYSISME_H
+#define ALIRSNANALYSISME_H
+
+#include "AliPID.h"
+#include "AliRsnVAnalysisTaskME.h"
+#include "AliRsnAnalysisManager.h"
+#include "AliRsnEvent.h"
+
+class AliPID;
+class AliESDtrackCuts;
+class AliRsnAnalysisME : public AliRsnVAnalysisTaskME
+{
+
+ public:
+ AliRsnAnalysisME(const char *name = "AliRsnAnalysisME");
+ AliRsnAnalysisME(const AliRsnAnalysisME& copy);
+ virtual ~AliRsnAnalysisME() { ; };
+
+ // Implement this
+ virtual void RsnUserCreateOutputObjects();
+ virtual void RsnUserExec(Option_t*);
+ virtual void RsnTerminate(Option_t*);
+
+ AliRsnAnalysisManager *GetAnalysisManager() {return &fRsnAnalysisManager;}
+ void SetAnalysisManagerName(const char *name) {fRsnAnalysisManager.SetName(name); };
+
+ // Prior probs
+ void SetPriorProbability(AliPID::EParticleType type, Double_t p);
+ void DumpPriors();
+ void GetPriorProbability(Double_t *out)const;
+
+ private:
+
+ AliRsnAnalysisME& operator=(const AliRsnAnalysisME& /*copy*/) { return *this; }
+
+ AliRsnAnalysisManager fRsnAnalysisManager; // analysis main engine
+ AliRsnEvent fEvent; // utility --> event interface
+ AliRsnEvent fEventMix; // utility --> event interface (mixed event)
+ TList *fOutList; // outputs
+
+ Double_t fPrior[AliPID::kSPECIES]; // prior probabilities
+
+ void DoMixing(AliVEvent *ev);
+ void DoAODMixing(AliAODEvent* aod1, AliAODEvent* aod2);
+ void DoESDMixing(AliESDEvent* esd1, AliESDEvent* esd2);
+
+ ClassDef(AliRsnAnalysisME, 1)
+};
+
+#endif