]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnCutStd.h
Modifications in the balance function code + addition of the very first version of...
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnCutStd.h
1 //
2 // Class AliRsnCutRange
3 //
4 // General implementation of cuts which check a value inside a range.
5 // This range can be defined by two integers or two doubles.
6 // A user-friendly enumeration allows to define what is checked.
7 //
8 // authors: Martin Vala (martin.vala@cern.ch)
9 //          Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
10 //
11
12 #ifndef ALIRSNCUTSTD_H
13 #define ALIRSNCUTSTD_H
14
15 #include "AliRsnCut.h"
16
17 class AliRsnCutStd : public AliRsnCut
18 {
19  public:
20
21   // available cut types
22   // some ones work both for pairs and single tracks
23   enum EType {
24     kP = 0,
25     kPt,
26     kEta,
27     kThetaDeg,
28     kDr,
29     kDz,
30     kTPCsignal,
31     kMult,
32     kMultDiff,
33     kMultDiffRel,
34     kVzDiff,
35     // value cuts
36     kStatus,
37     kKink,
38     kKinkMother,
39     kAssignedPID,
40     kTruePID,
41     kRequiredPID,
42     kRealisticPID,
43     // cut without reference values
44     kCharge,
45     kSameLabel,
46     kTruePair,
47     // last
48     kLastType
49   };
50
51   AliRsnCutStd();
52   AliRsnCutStd(const char *name, EType type, Int_t val1, Int_t val2 = 0, Bool_t useMC = kFALSE);
53   AliRsnCutStd(const char *name, EType type, ULong_t val1, ULong_t val2 = 0, Bool_t useMC = kFALSE);
54   AliRsnCutStd(const char *name, EType type, Double_t val1, Double_t val2 = 0.0, Bool_t useMC = kFALSE);
55   virtual ~AliRsnCutStd() { }
56
57   virtual Bool_t IsSelected(ETarget tgt, AliRsnDaughter *daughter);
58   virtual Bool_t IsSelected(ETarget tgt, AliRsnPairParticle *pair);
59   virtual Bool_t IsSelected(ETarget tgt, AliRsnEvent *event);
60   virtual Bool_t IsSelected(ETarget tgt, AliRsnEvent *ev1, AliRsnEvent *ev2);
61
62 protected:
63
64   EType     fType;       // cut type
65   Bool_t    fUseMC;      // use or not MC values (when applicable)
66
67   ClassDef(AliRsnCutStd, 1)
68 };
69
70 #endif