]>
Commit | Line | Data |
---|---|---|
5eb970a4 | 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 | ||
2dab9030 | 17 | class AliRsnDaughter; |
18 | class AliRsnMother; | |
19 | class AliRsnEvent; | |
20 | ||
5eb970a4 | 21 | class AliRsnCutStd : public AliRsnCut |
22 | { | |
4fbb2459 | 23 | public: |
5eb970a4 | 24 | |
4fbb2459 | 25 | // available cut types |
26 | // some ones work both for pairs and single tracks | |
2dab9030 | 27 | enum EType |
28 | { | |
4fbb2459 | 29 | kP = 0, |
30 | kPt, | |
31 | kEta, | |
eb079724 | 32 | kY, |
4fbb2459 | 33 | kThetaDeg, |
4fbb2459 | 34 | kMult, |
4fbb2459 | 35 | // cut without reference values |
36 | kCharge, | |
37 | kSameLabel, | |
4fbb2459 | 38 | // last |
39 | kLastType | |
40 | }; | |
5eb970a4 | 41 | |
4fbb2459 | 42 | AliRsnCutStd(); |
2dab9030 | 43 | AliRsnCutStd(const char *name, ETarget target, EType type, Int_t val1, Int_t val2 = 0 , Bool_t useMC = kFALSE); |
44 | AliRsnCutStd(const char *name, ETarget target, EType type, Double_t val1, Double_t val2 = 0., Bool_t useMC = kFALSE); | |
4fbb2459 | 45 | virtual ~AliRsnCutStd() { } |
eb079724 | 46 | |
2dab9030 | 47 | void SetMass(Double_t mass) {fMass = mass;} |
48 | EVarType CheckType(); | |
49 | ||
50 | virtual Bool_t IsSelected(TObject *obj1, TObject *obj2 = 0x0); | |
5eb970a4 | 51 | |
4fbb2459 | 52 | protected: |
2dab9030 | 53 | |
54 | virtual Bool_t IsDaughterSelected(AliRsnDaughter *daughter); | |
55 | virtual Bool_t IsMotherSelected(AliRsnMother *mother); | |
56 | virtual Bool_t IsEventSelected(AliRsnEvent *event); | |
5eb970a4 | 57 | |
4fbb2459 | 58 | EType fType; // cut type |
59 | Bool_t fUseMC; // use or not MC values (when applicable) | |
eb079724 | 60 | Double_t fMass; // mass hypothesis (used for Y and Mt) |
5eb970a4 | 61 | |
4fbb2459 | 62 | ClassDef(AliRsnCutStd, 1) |
5eb970a4 | 63 | }; |
64 | ||
65 | #endif |