]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG2/RESONANCES/AliRsnAnalysisME.h
bugfix in AliRsnValue and some macros for running multiplicity-dependent analysis
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnAnalysisME.h
index 9561cd3d18244681982d56a96f3666574fb5ea1b..70072b720ce7c3f3e79690d969d2517f9cecc89e 100644 (file)
@@ -1,53 +1,60 @@
-//\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
-    AliRsnAnalysisManager fRsnAnalysisManager;      // analysis main engine\r
-    AliRsnPIDIndex        fPIDIndex;                // utility --> PID sorter\r
-    AliRsnEvent           fEvent;                   // utility --> event interface\r
-    AliRsnPIDIndex        fPIDIndexMix;             // utility --> PID sorter (mixed event)\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