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 SetListID(Int_t i) {fListID = i;}
31 void SetDef(AliRsnDaughterDef *def) {fDef = def;}
33 virtual void Print(Option_t *opt = "") const;
34 virtual Bool_t Init(const char *prefix, TList *list);
35 virtual Int_t DoLoop(AliRsnEvent *main, AliRsnDaughterSelector *smain, AliRsnEvent *mix = 0, AliRsnDaughterSelector *smix = 0);
39 Int_t LoopTrueMC(AliRsnEvent *rsn);
41 Bool_t fTrueMC; // if this flag is TRUE, scan the MC for all true resonances from MC
42 Bool_t fOnlyTrue; // for selecting only true particles
43 Int_t fListID; // index of entry list to use
44 AliRsnDaughterDef *fDef; // definition for selection
45 AliRsnDaughter fDaughter; //! daughter temporary member
49 ClassDef(AliRsnLoopDaughter, 3)