]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG2/RESONANCES/AliRsnReader.h
Package upgrade.
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnReader.h
index 1a4ba2f53698a178ad1b9478c0713f77871a3599..ab7d233615b7e70240722c6a5f9e21caea7ec734 100644 (file)
 #ifndef ALIRSNREADER_H
 #define ALIRSNREADER_H
 
+class AliVEvent;
 class AliESDEvent;
 class AliAODEvent;
 class AliMCEvent;
 class AliRsnEvent;
+class AliRsnPIDWeightsMgr;
 
 class AliRsnReader : public TObject
 {
 public:
+
+    enum ESource {
+        kESD = 0,
+        kESDTPC,
+        kAOD,
+        kMC,
+        kSources
+    };
+
+    AliRsnReader(ESource source = kESD, AliRsnPIDWeightsMgr *mgr = 0x0);
+    AliRsnReader(const AliRsnReader& copy);
+    AliRsnReader& operator=(const AliRsnReader& copy);
+    virtual ~AliRsnReader() {}
     
-       AliRsnReader(Bool_t checkSplit = kTRUE, Bool_t rejectFakes = kFALSE);
-       AliRsnReader(const AliRsnReader& copy);
-       AliRsnReader& operator=(const AliRsnReader& copy);
-       virtual ~AliRsnReader() {}
-       
-       void    SetCheckSplit(Bool_t doit = kTRUE) {fCheckSplit = doit;}
-       void    SetRejectFakes(Bool_t doit = kTRUE) {fRejectFakes = doit;}
-       Bool_t  FillFromESD(AliRsnEvent *rsn, AliESDEvent *event, AliMCEvent *refMC = 0);
-    Bool_t  FillFromAOD(AliRsnEvent *rsn, AliAODEvent *event, AliMCEvent *refMC = 0);
-    Bool_t  FillFromMC(AliRsnEvent *rsn, AliMCEvent *mc);
+    void    SetWeightsMgr(AliRsnPIDWeightsMgr *mgr) {fWeightsMgr = mgr;}
+    void    SetCheckSplit(Bool_t doit = kTRUE) {fCheckSplit = doit;}
+    void    SetRejectFakes(Bool_t doit = kTRUE) {fRejectFakes = doit;}
+    
+    Bool_t  Fill(AliRsnEvent *rsn, AliVEvent *event, AliMCEvent *refMC = 0);
     
 protected:
 
-    Bool_t  fCheckSplit;  // flag to check and remove split tracks
-    Bool_t  fRejectFakes; // flag to reject fake tracks (negative label)
+    Bool_t  FillFromESD(AliRsnEvent *rsn, AliESDEvent *event, AliMCEvent *refMC = 0, Bool_t useTPCOnly = kFALSE);
+    Bool_t  FillFromAOD(AliRsnEvent *rsn, AliAODEvent *event, AliMCEvent *refMC = 0);
+    Bool_t  FillFromMC(AliRsnEvent *rsn, AliMCEvent *mc);
+
+    ESource              fSource;        // flag to choose what kind of data to be read
+    Bool_t               fCheckSplit;    // flag to check and remove split tracks
+    Bool_t               fRejectFakes;   // flag to reject fake tracks (negative label)
+    AliRsnPIDWeightsMgr *fWeightsMgr;    // manager for alternative PID weights
 
 private:
     
-       ClassDef(AliRsnReader, 1);
+    ClassDef(AliRsnReader, 1);
 };
 
 #endif