fixing psi in MC from the header
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / AliRsnDaughterSelector.h
1 #ifndef ALIRSNDAUGHTERSELECTOR_H
2 #define ALIRSNDAUGHTERSELECTOR_H
3
4 #include <TNamed.h>
5 #include <TClonesArray.h>
6 #include <TObjArray.h>
7
8 class TEntryList;
9 class TList;
10
11 class AliRsnCutSet;
12 class AliRsnEvent;
13 class AliRsnAction;
14
15 class AliRsnDaughterSelector : public TNamed {
16
17 public:
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
44 private:
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