First version of macros for lego_train
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnDaughterSelector.h
CommitLineData
c865cb1d 1#ifndef ALIRSNDAUGHTERSELECTOR_H
2#define ALIRSNDAUGHTERSELECTOR_H
3
4#include <TNamed.h>
5#include <TClonesArray.h>
6
7class TEntryList;
8
9class AliRsnCutSet;
10class AliRsnEvent;
11
12class AliRsnDaughterSelector : public TNamed {
13
14public:
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
31private:
32
33 TClonesArray fCutSetsN; // cuts for neutral daughters
34 TClonesArray fCutSetsC; // cuts for charged daughters (usually, the same)
35
36 TClonesArray fEntryListsN; // entry lists for neutrals
37 TClonesArray fEntryListsP; // entry lists for charged (one per sign)
38 TClonesArray fEntryListsM; // entry lists for charged (one per sign)
39
40 ClassDef(AliRsnDaughterSelector, 1)
41};
42
43#endif