1 #ifndef ALIRSNLOOPDAUGHTER_H
2 #define ALIRSNLOOPDAUGHTER_H
5 // Computator for single daughters.
6 // Implements a simple loop on tracks from one of the entry lists
7 // filled by the task AliRsnInputHandler, adding a check on their
8 // definition specified in the daughter def.
11 #include "AliRsnDaughter.h"
12 #include "AliRsnLoop.h"
14 class AliRsnDaughterDef;
16 class AliRsnLoopDaughter : public AliRsnLoop {
19 AliRsnLoopDaughter(const char *name = "default", Int_t listID = 0, AliRsnDaughterDef *def = 0);
20 AliRsnLoopDaughter(const AliRsnLoopDaughter ©);
21 AliRsnLoopDaughter &operator=(const AliRsnLoopDaughter ©);
22 ~AliRsnLoopDaughter();
24 Int_t GetListID() const {return fListID;}
25 AliRsnDaughterDef *GetDef() {return fDef;}
26 AliRsnDaughter *GetDaughter() {return &fDaughter;}
28 void SetTrueMC(Bool_t yn = kTRUE) {fTrueMC = yn;}
29 void SetOnlyTrue(Bool_t yn = kTRUE) {fOnlyTrue = yn;}
30 void SetMCRefInfo(Bool_t b = kTRUE) {fUseMCRef = b;}
31 void SetListID(Int_t i) {fListID = i;}
32 void SetDef(AliRsnDaughterDef *def) {fDef = def;}
34 virtual void Print(Option_t *opt = "") const;
35 virtual Bool_t Init(const char *prefix, TList *list);
36 virtual Int_t DoLoop(AliRsnEvent *main, AliRsnDaughterSelector *smain, AliRsnEvent *mix = 0, AliRsnDaughterSelector *smix = 0);
40 Int_t LoopTrueMC(AliRsnEvent *rsn);
42 Bool_t fTrueMC; // if this flag is TRUE, scan the MC for all true resonances from MC
43 Bool_t fOnlyTrue; // for selecting only true particles
44 Bool_t fUseMCRef; // uses MC ref instead of REC
45 Int_t fListID; // index of entry list to use
46 AliRsnDaughterDef *fDef; // definition for selection
47 AliRsnDaughter fDaughter; //! daughter temporary member
51 ClassDef(AliRsnLoopDaughter, 4)