ROOT logo
#ifndef ALIRSNLOOPDAUGHTER_H
#define ALIRSNLOOPDAUGHTER_H

//
// Computator for single daughters.
// Implements a simple loop on tracks from one of the entry lists
// filled by the task AliRsnInputHandler, adding a check on their
// definition specified in the daughter def.
//

#include "AliRsnDaughter.h"
#include "AliRsnLoop.h"

class AliRsnDaughterDef;

class AliRsnLoopDaughter : public AliRsnLoop {
public:

   AliRsnLoopDaughter(const char *name = "default", Int_t listID = 0, AliRsnDaughterDef *def = 0);
   AliRsnLoopDaughter(const AliRsnLoopDaughter &copy);
   AliRsnLoopDaughter &operator=(const AliRsnLoopDaughter &copy);
   ~AliRsnLoopDaughter();

   Int_t              GetListID() const              {return  fListID;}
   AliRsnDaughterDef *GetDef()                       {return  fDef;}
   AliRsnDaughter    *GetDaughter()                  {return &fDaughter;}

   void               SetTrueMC(Bool_t yn = kTRUE)   {fTrueMC = yn;}
   void               SetOnlyTrue(Bool_t yn = kTRUE) {fOnlyTrue = yn;}
   void               SetMCRefInfo(Bool_t b = kTRUE) {fUseMCRef = b;}
   void               SetListID(Int_t i)             {fListID = i;}
   void               SetDef(AliRsnDaughterDef *def) {fDef = def;}

   virtual void       Print(Option_t *opt = "") const;
   virtual Bool_t     Init(const char *prefix, TList *list);
   virtual Int_t      DoLoop(AliRsnEvent *main, AliRsnDaughterSelector *smain, AliRsnEvent *mix = 0, AliRsnDaughterSelector *smix = 0);

protected:

   Int_t LoopTrueMC(AliRsnEvent *rsn);

   Bool_t             fTrueMC;     //  if this flag is TRUE, scan the MC for all true resonances from MC
   Bool_t             fOnlyTrue;   //  for selecting only true particles
   Bool_t             fUseMCRef;   //  uses MC ref instead of REC
   Int_t              fListID;     //  index of entry list to use
   AliRsnDaughterDef *fDef;        //  definition for selection
   AliRsnDaughter     fDaughter;   //! daughter temporary member

private:

   ClassDef(AliRsnLoopDaughter, 4)
};

#endif

 AliRsnLoopDaughter.h:1
 AliRsnLoopDaughter.h:2
 AliRsnLoopDaughter.h:3
 AliRsnLoopDaughter.h:4
 AliRsnLoopDaughter.h:5
 AliRsnLoopDaughter.h:6
 AliRsnLoopDaughter.h:7
 AliRsnLoopDaughter.h:8
 AliRsnLoopDaughter.h:9
 AliRsnLoopDaughter.h:10
 AliRsnLoopDaughter.h:11
 AliRsnLoopDaughter.h:12
 AliRsnLoopDaughter.h:13
 AliRsnLoopDaughter.h:14
 AliRsnLoopDaughter.h:15
 AliRsnLoopDaughter.h:16
 AliRsnLoopDaughter.h:17
 AliRsnLoopDaughter.h:18
 AliRsnLoopDaughter.h:19
 AliRsnLoopDaughter.h:20
 AliRsnLoopDaughter.h:21
 AliRsnLoopDaughter.h:22
 AliRsnLoopDaughter.h:23
 AliRsnLoopDaughter.h:24
 AliRsnLoopDaughter.h:25
 AliRsnLoopDaughter.h:26
 AliRsnLoopDaughter.h:27
 AliRsnLoopDaughter.h:28
 AliRsnLoopDaughter.h:29
 AliRsnLoopDaughter.h:30
 AliRsnLoopDaughter.h:31
 AliRsnLoopDaughter.h:32
 AliRsnLoopDaughter.h:33
 AliRsnLoopDaughter.h:34
 AliRsnLoopDaughter.h:35
 AliRsnLoopDaughter.h:36
 AliRsnLoopDaughter.h:37
 AliRsnLoopDaughter.h:38
 AliRsnLoopDaughter.h:39
 AliRsnLoopDaughter.h:40
 AliRsnLoopDaughter.h:41
 AliRsnLoopDaughter.h:42
 AliRsnLoopDaughter.h:43
 AliRsnLoopDaughter.h:44
 AliRsnLoopDaughter.h:45
 AliRsnLoopDaughter.h:46
 AliRsnLoopDaughter.h:47
 AliRsnLoopDaughter.h:48
 AliRsnLoopDaughter.h:49
 AliRsnLoopDaughter.h:50
 AliRsnLoopDaughter.h:51
 AliRsnLoopDaughter.h:52
 AliRsnLoopDaughter.h:53
 AliRsnLoopDaughter.h:54
 AliRsnLoopDaughter.h:55