Splitted the PID cuts into three classes for ITS, TPC and TOF, and added the possibil...
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnAnalysisME.h
1 //
2 // Class AliRsnAnalysisME
3 //
4 // Virtual Class derivated from AliRsnVAnalysisTaskME 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
11 #ifndef ALIRSNANALYSISME_H
12 #define ALIRSNANALYSISME_H
13
14 #include "AliPID.h"
15 #include "AliRsnVAnalysisTaskME.h"
16 #include "AliRsnAnalysisManager.h"
17 #include "AliRsnEvent.h"
18
19 class AliPID;
20 class AliESDtrackCuts;
21 class AliRsnAnalysisME : public AliRsnVAnalysisTaskME
22 {
23
24   public:
25     AliRsnAnalysisME(const char *name = "AliRsnAnalysisME");
26     AliRsnAnalysisME(const AliRsnAnalysisME& copy);
27     virtual ~AliRsnAnalysisME() { ; };
28
29     // Implement this
30     virtual void    RsnUserCreateOutputObjects();
31     virtual void    RsnUserExec(Option_t*);
32     virtual void    RsnTerminate(Option_t*);
33
34     AliRsnAnalysisManager *GetAnalysisManager() {return &fRsnAnalysisManager;}
35     void SetAnalysisManagerName(const char *name) {fRsnAnalysisManager.SetName(name); };
36
37     // Prior probs
38     void            SetPriorProbability(AliPID::EParticleType type, Double_t p);
39     void            DumpPriors();
40     void            GetPriorProbability(Double_t *out)const;
41
42   private:
43
44     AliRsnAnalysisME& operator=(const AliRsnAnalysisME& /*copy*/) { return *this; }
45
46     AliRsnAnalysisManager fRsnAnalysisManager;      // analysis main engine
47     AliRsnEvent           fEvent;                   // utility --> event interface
48     AliRsnEvent           fEventMix;                // utility --> event interface (mixed event)
49     TList                *fOutList;                 // outputs
50
51     Double_t              fPrior[AliPID::kSPECIES]; // prior probabilities
52
53     void                  DoMixing(AliVEvent *ev);
54     void                  DoAODMixing(AliAODEvent* aod1, AliAODEvent* aod2);
55     void                  DoESDMixing(AliESDEvent* esd1, AliESDEvent* esd2);
56
57     ClassDef(AliRsnAnalysisME, 1)
58 };
59
60 #endif