2 // *** Class AliRsnCutManager ***
4 // This class is used both in normal analysis and efficiency computation
5 // as a collection of all cuts which could be needed in a single job.
6 // It allocates an AliRsnCutSet for each possible target:
7 // - one with all cuts common to all tracks
8 // - one with all cuts for first candidate daughter (definition #1 in pairDef)
9 // - one with all cuts for second candidate daughter (definition #2 in pairDef)
10 // - one with all cuts on the pair
12 // This object is used to define a step in efficiency CORRFW container
13 // and also is contained in all AliRsnPair objects to decide if two candidates
14 // can be accepted or not.
16 // authors: Martin Vala (martin.vala@cern.ch)
17 // Alberto Pulvirenti (alberto.pulvirenti@cern.ch)
20 #ifndef ALIRSNCUTMANAGER_H
21 #define ALIRSNCUTMANAGER_H
25 #include "AliRsnDaughter.h"
26 #include "AliRsnMother.h"
27 #include "AliRsnCutSet.h"
31 class AliRsnCutManager : public TNamed
36 AliRsnCutManager(const char *name, const char* title = "");
37 AliRsnCutManager(const AliRsnCutManager &cut);
38 AliRsnCutManager& operator=(const AliRsnCutManager& cut);
41 AliRsnCutSet* GetCommonDaughterCuts() {return &fDaughterCutsCommon;}
42 AliRsnCutSet* GetDaughter1Cuts() {return &fDaughterCuts1;}
43 AliRsnCutSet* GetDaughter2Cuts() {return &fDaughterCuts2;}
44 AliRsnCutSet* GetMotherCuts() {return &fMotherCuts;}
46 Bool_t PassCommonDaughterCuts(AliRsnDaughter *daughter) {return fDaughterCutsCommon.IsSelected(daughter);}
47 Bool_t PassDaughter1Cuts(AliRsnDaughter *daughter) {return fDaughterCuts2.IsSelected(daughter);}
48 Bool_t PassDaughter2Cuts(AliRsnDaughter *daughter) {return fDaughterCuts2.IsSelected(daughter);}
49 Bool_t PassMotherCuts(AliRsnMother *mother) {return fMotherCuts.IsSelected(mother);}
50 Bool_t PassSpecificDaughterCuts(Bool_t first, AliRsnDaughter *daughter)
51 {if (first) return PassDaughter1Cuts(daughter); else return PassDaughter2Cuts(daughter);}
55 AliRsnCutSet fDaughterCutsCommon; // single-track cuts common to both daughters
56 AliRsnCutSet fDaughterCuts1; // single-track cuts for only first daughter
57 AliRsnCutSet fDaughterCuts2; // single-track cuts for only second daughter
58 AliRsnCutSet fMotherCuts; // mother cuts (on relations between daughters)
60 ClassDef(AliRsnCutManager, 2) // dictionary