example macros to run on proof
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnLoopDaughter.h
CommitLineData
c865cb1d 1#ifndef ALIRSNLOOPDAUGHTER_H
2#define ALIRSNLOOPDAUGHTER_H
3
4//
b63357a0 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.
c865cb1d 9//
10
11#include "AliRsnDaughter.h"
12#include "AliRsnLoop.h"
13
14class AliRsnDaughterDef;
15
16class AliRsnLoopDaughter : public AliRsnLoop {
17public:
18
19 AliRsnLoopDaughter(const char *name = "default", Int_t listID = 0, AliRsnDaughterDef *def = 0);
20 AliRsnLoopDaughter(const AliRsnLoopDaughter &copy);
b63357a0 21 AliRsnLoopDaughter& operator=(const AliRsnLoopDaughter &copy);
c865cb1d 22 ~AliRsnLoopDaughter();
23
b63357a0 24 Int_t GetListID() const {return fListID;}
c865cb1d 25 AliRsnDaughterDef* GetDef() {return fDef;}
26 AliRsnDaughter* GetDaughter() {return &fDaughter;}
b63357a0 27
28 void SetTrueMC(Bool_t yn = kTRUE) {fTrueMC = yn;}
f34f960b 29 void SetOnlyTrue(Bool_t yn = kTRUE) {fOnlyTrue = yn;}
c865cb1d 30 void SetListID(Int_t i) {fListID = i;}
31 void SetDef(AliRsnDaughterDef *def) {fDef = def;}
32
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);
36
37protected:
38
b63357a0 39 Int_t LoopTrueMC(AliRsnEvent *rsn);
40
41 Bool_t fTrueMC; // if this flag is TRUE, scan the MC for all true resonances from MC
f34f960b 42 Bool_t fOnlyTrue; // for selecting only true particles
c865cb1d 43 Int_t fListID; // index of entry list to use
44 AliRsnDaughterDef *fDef; // definition for selection
45 AliRsnDaughter fDaughter; //! daughter temporary member
46
47private:
48
49 ClassDef(AliRsnLoopDaughter, 3)
50};
51
52#endif
53