]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/RESONANCES/AliRsnCutManager.h
Added a utiliy class for TOF correction, extrapolated from all places where it is...
[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
2dab9030 31class AliRsnCutManager : public TNamed
32{
33 public:
34
35 AliRsnCutManager();
36 AliRsnCutManager(const char *name, const char* title = "");
37 AliRsnCutManager(const AliRsnCutManager &cut);
38 AliRsnCutManager& operator=(const AliRsnCutManager& cut);
39 ~AliRsnCutManager();
40
32992791 41 AliRsnCutSet* GetCommonDaughterCuts() {return &fDaughterCutsCommon;}
42 AliRsnCutSet* GetDaughter1Cuts() {return &fDaughterCuts1;}
43 AliRsnCutSet* GetDaughter2Cuts() {return &fDaughterCuts2;}
44 AliRsnCutSet* GetMotherCuts() {return &fMotherCuts;}
2dab9030 45
32992791 46 Bool_t PassCommonDaughterCuts(AliRsnDaughter *daughter) {return fDaughterCutsCommon.IsSelected(daughter);}
35e49ca5 47 Bool_t PassDaughter1Cuts(AliRsnDaughter *daughter) {return fDaughterCuts1.IsSelected(daughter);}
32992791 48 Bool_t PassDaughter2Cuts(AliRsnDaughter *daughter) {return fDaughterCuts2.IsSelected(daughter);}
49 Bool_t PassMotherCuts(AliRsnMother *mother) {return fMotherCuts.IsSelected(mother);}
5faf5a07 50 Bool_t PassSpecificDaughterCuts(Bool_t first, AliRsnDaughter *daughter)
51 {if (first) return PassDaughter1Cuts(daughter); else return PassDaughter2Cuts(daughter);}
2dab9030 52
53 private:
54
32992791 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)
2dab9030 59
32992791 60 ClassDef(AliRsnCutManager, 2) // dictionary
2dab9030 61};
62
63#endif