]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnCutManager.h
Modified some standards, added a cut in pseudo-rapidity
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnCutManager.h
1 //
2 // Class AliRsnCutManager
3 //
4 // The cut manager: contains a complete set of cut definitions
5 // to be applied to all possible targets (one for each target),
6 // in order to ease the set-up procedure of cuts and allow to
7 // pass them at once to each object which must use them
8 //
9 // author: Martin Vala (martin.vala@cern.ch)
10 //
11
12 #ifndef ALIRSNCUTMANAGER_H
13 #define ALIRSNCUTMANAGER_H
14
15 #include <TNamed.h>
16
17 #include "AliRsnCut.h"
18 #include "AliRsnDaughter.h"
19 #include "AliRsnMother.h"
20 #include "AliRsnCutSet.h"
21
22 class AliRsnCutManager : public TNamed
23 {
24   public:
25
26     AliRsnCutManager();
27     AliRsnCutManager(const char *name, const char* title = "");
28     AliRsnCutManager(const AliRsnCutManager &cut);
29     AliRsnCutManager& operator=(const AliRsnCutManager& cut);
30     ~AliRsnCutManager();
31     
32     AliRsnCutSet*    GetCommonDaughterCuts() {return fDaughterCutsCommon;}
33     AliRsnCutSet*    GetDaughter1Cuts() {return fDaughterCuts1;}
34     AliRsnCutSet*    GetDaughter2Cuts() {return fDaughterCuts2;}
35     AliRsnCutSet*    GetMotherCuts() {return fMotherCuts;}
36
37     void    SetCommonDaughterCuts(AliRsnCutSet *cuts) {fDaughterCutsCommon = cuts;}
38     void    SetDaughter1Cuts(AliRsnCutSet *cuts) {fDaughterCuts1 = cuts;}
39     void    SetDaughter2Cuts(AliRsnCutSet *cuts) {fDaughterCuts2 = cuts;}
40     void    SetMotherCuts(AliRsnCutSet *cuts) {fMotherCuts = cuts;}
41     void    SetEvent(AliRsnEvent *event);
42     
43     Bool_t  PassCommonDaughterCuts(AliRsnDaughter *daughter) const {if (fDaughterCutsCommon) return fDaughterCutsCommon->IsSelected(daughter); return kTRUE;}
44     Bool_t  PassDaughter1Cuts(AliRsnDaughter *daughter) const {if (fDaughterCuts1) return fDaughterCuts2->IsSelected(daughter); return kTRUE;}
45     Bool_t  PassDaughter2Cuts(AliRsnDaughter *daughter) const {if (fDaughterCuts2) return fDaughterCuts2->IsSelected(daughter); return kTRUE;}
46     Bool_t  PassMotherCuts(AliRsnMother *mother) {if (fMotherCuts) return fMotherCuts->IsSelected(mother); return kTRUE;}
47
48   private:
49
50     AliRsnCutSet  *fDaughterCutsCommon; //  single-track cuts common to both daughters
51     AliRsnCutSet  *fDaughterCuts1;      //  single-track cuts for only first daughter
52     AliRsnCutSet  *fDaughterCuts2;      //  single-track cuts for only second daughter
53     AliRsnCutSet  *fMotherCuts;         //  mother cuts (on relations between daughters)
54
55     ClassDef(AliRsnCutManager, 1)  // dictionary
56 };
57
58 #endif