2 // Class AliRsnCutManager
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
9 // author: Martin Vala (martin.vala@cern.ch)
12 #ifndef ALIRSNCUTMANAGER_H
13 #define ALIRSNCUTMANAGER_H
17 #include "AliRsnCut.h"
18 #include "AliRsnDaughter.h"
19 #include "AliRsnMother.h"
20 #include "AliRsnCutSet.h"
22 class AliRsnCutManager : public TNamed
27 AliRsnCutManager(const char *name, const char* title = "");
28 AliRsnCutManager(const AliRsnCutManager &cut);
29 AliRsnCutManager& operator=(const AliRsnCutManager& cut);
32 AliRsnCutSet* GetCommonDaughterCuts() {return fDaughterCutsCommon;}
33 AliRsnCutSet* GetDaughter1Cuts() {return fDaughterCuts1;}
34 AliRsnCutSet* GetDaughter2Cuts() {return fDaughterCuts2;}
35 AliRsnCutSet* GetMotherCuts() {return fMotherCuts;}
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);
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;}
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)
55 ClassDef(AliRsnCutManager, 1) // dictionary