fixing psi in MC from the header
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / AliRsnDaughterSelector.h
... / ...
CommitLineData
1#ifndef ALIRSNDAUGHTERSELECTOR_H
2#define ALIRSNDAUGHTERSELECTOR_H
3
4#include <TNamed.h>
5#include <TClonesArray.h>
6#include <TObjArray.h>
7
8class TEntryList;
9class TList;
10
11class AliRsnCutSet;
12class AliRsnEvent;
13class AliRsnAction;
14
15class AliRsnDaughterSelector : public TNamed {
16
17public:
18
19 AliRsnDaughterSelector(const char *name = "name", const char *title = "title");
20 AliRsnDaughterSelector(const AliRsnDaughterSelector &copy);
21 AliRsnDaughterSelector &operator=(const AliRsnDaughterSelector &copy);
22 virtual ~AliRsnDaughterSelector();
23
24 void Init();
25 void InitActions(TList *list);
26 void Reset();
27 Int_t Add(AliRsnCutSet *cuts, Bool_t charged);
28 Int_t GetID(const char *cutSetName, Bool_t charged);
29 TEntryList *GetSelected(Int_t i, Char_t charge);
30 TEntryList *GetSelected(Int_t i, Short_t charge);
31 void ScanEvent(AliRsnEvent *ev);
32 void ExecActions(AliRsnEvent *ev);
33
34 virtual void Print(Option_t *option = "") const;
35
36 TClonesArray *GetCutSetC() {return &fCutSetsC;}
37 TClonesArray *GetCutSetN() {return &fCutSetsN;}
38
39 void AddAction(AliRsnAction *action);
40 TObjArray *GetActions() { return &fActions; }
41
42 void SetLabelCheck(Bool_t useLabelCheck = kTRUE) { fUseLabelCheck = useLabelCheck;}
43
44private:
45
46 TClonesArray fCutSetsN; // cuts for neutral daughters
47 TClonesArray fCutSetsC; // cuts for charged daughters (usually, the same)
48
49 TClonesArray fEntryListsN; // entry lists for neutrals
50 TClonesArray fEntryListsP; // entry lists for charged (one per sign)
51 TClonesArray fEntryListsM; // entry lists for charged (one per sign)
52
53 Bool_t fUseLabelCheck; // flag is reapiting of label should be checked
54
55 TObjArray fActions;
56
57 ClassDef(AliRsnDaughterSelector, 3)
58};
59
60#endif