]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/RESONANCES/AliRsnDaughterSelector.h
Migration of PWG2/RESONANCES -> PWGLF/RESONANCES
[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
7 class TEntryList;
8
9 class AliRsnCutSet;
10 class AliRsnEvent;
11
12 class AliRsnDaughterSelector : public TNamed {
13
14 public:
15
16    AliRsnDaughterSelector(const char *name = "name", const char *title = "title");
17    AliRsnDaughterSelector(const AliRsnDaughterSelector &copy);
18    AliRsnDaughterSelector &operator=(const AliRsnDaughterSelector &copy);
19    virtual ~AliRsnDaughterSelector();
20
21    void          Init();
22    void          Reset();
23    Int_t         Add(AliRsnCutSet *cuts, Bool_t charged);
24    Int_t         GetID(const char *cutSetName, Bool_t charged);
25    TEntryList   *GetSelected(Int_t i, Char_t charge);
26    TEntryList   *GetSelected(Int_t i, Short_t charge);
27    void          ScanEvent(AliRsnEvent *ev);
28
29    virtual void  Print(Option_t *option = "") const;
30
31    TClonesArray *GetCutSetC() {return &fCutSetsC;}
32    TClonesArray *GetCutSetN() {return &fCutSetsN;}
33
34 private:
35
36    TClonesArray fCutSetsN;        // cuts for neutral daughters
37    TClonesArray fCutSetsC;        // cuts for charged daughters (usually, the same)
38
39    TClonesArray fEntryListsN;     // entry lists for neutrals
40    TClonesArray fEntryListsP;     // entry lists for charged (one per sign)
41    TClonesArray fEntryListsM;     // entry lists for charged (one per sign)
42
43    ClassDef(AliRsnDaughterSelector, 1)
44 };
45
46 #endif