]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/RESONANCES/AliRsnCutManager.h
Restored call to CreateDigitizer (F.Prino)
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnCutManager.h
CommitLineData
2dab9030 1//
32992791 2// *** Class AliRsnCutManager ***
2dab9030 3//
32992791 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
11// -----
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.
2dab9030 15//
32992791 16// authors: Martin Vala (martin.vala@cern.ch)
17// Alberto Pulvirenti (alberto.pulvirenti@cern.ch)
2dab9030 18//
19
20#ifndef ALIRSNCUTMANAGER_H
21#define ALIRSNCUTMANAGER_H
22
23#include <TNamed.h>
24
2dab9030 25#include "AliRsnDaughter.h"
26#include "AliRsnMother.h"
27#include "AliRsnCutSet.h"
28
32992791 29class AliRsnCut;
30
2a1c7696 31class AliRsnCutManager : public TNamed {
32public:
33
34 AliRsnCutManager();
35 AliRsnCutManager(const char *name, const char* title = "");
36 AliRsnCutManager(const AliRsnCutManager &cut);
37 AliRsnCutManager& operator=(const AliRsnCutManager& cut);
38 ~AliRsnCutManager();
39
40 AliRsnCutSet* GetCommonDaughterCuts() {return &fDaughterCutsCommon;}
41 AliRsnCutSet* GetDaughter1Cuts() {return &fDaughterCuts1;}
42 AliRsnCutSet* GetDaughter2Cuts() {return &fDaughterCuts2;}
43 AliRsnCutSet* GetMotherCuts() {return &fMotherCuts;}
44
45 Bool_t PassCommonDaughterCuts(AliRsnDaughter *daughter) {return fDaughterCutsCommon.IsSelected(daughter);}
46 Bool_t PassDaughter1Cuts(AliRsnDaughter *daughter) {return fDaughterCuts1.IsSelected(daughter);}
47 Bool_t PassDaughter2Cuts(AliRsnDaughter *daughter) {return fDaughterCuts2.IsSelected(daughter);}
48 Bool_t PassMotherCuts(AliRsnMother *mother) {return fMotherCuts.IsSelected(mother);}
49 Bool_t PassSpecificDaughterCuts(Bool_t first, AliRsnDaughter *daughter)
50 {if (first) return PassDaughter1Cuts(daughter); else return PassDaughter2Cuts(daughter);}
51
52private:
53
54 AliRsnCutSet fDaughterCutsCommon; // single-track cuts common to both daughters
55 AliRsnCutSet fDaughterCuts1; // single-track cuts for only first daughter
56 AliRsnCutSet fDaughterCuts2; // single-track cuts for only second daughter
57 AliRsnCutSet fMotherCuts; // mother cuts (on relations between daughters)
58
59 ClassDef(AliRsnCutManager, 2) // dictionary
2dab9030 60};
61
62#endif