]>
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, |
11ba7ebc | 35 | kPtLeading, |
8fee9e63 | 36 | kDipAngle, |
4fbb2459 | 37 | // cut without reference values |
38 | kCharge, | |
39 | kSameLabel, | |
c680166d | 40 | kPhysPrimary, |
4fbb2459 | 41 | // last |
42 | kLastType | |
43 | }; | |
5eb970a4 | 44 | |
4fbb2459 | 45 | AliRsnCutStd(); |
2dab9030 | 46 | AliRsnCutStd(const char *name, ETarget target, EType type, Int_t val1, Int_t val2 = 0 , Bool_t useMC = kFALSE); |
47 | AliRsnCutStd(const char *name, ETarget target, EType type, Double_t val1, Double_t val2 = 0., Bool_t useMC = kFALSE); | |
4fbb2459 | 48 | virtual ~AliRsnCutStd() { } |
eb079724 | 49 | |
2dab9030 | 50 | void SetMass(Double_t mass) {fMass = mass;} |
51 | EVarType CheckType(); | |
52 | ||
53 | virtual Bool_t IsSelected(TObject *obj1, TObject *obj2 = 0x0); | |
5eb970a4 | 54 | |
4fbb2459 | 55 | protected: |
2dab9030 | 56 | |
57 | virtual Bool_t IsDaughterSelected(AliRsnDaughter *daughter); | |
58 | virtual Bool_t IsMotherSelected(AliRsnMother *mother); | |
59 | virtual Bool_t IsEventSelected(AliRsnEvent *event); | |
5eb970a4 | 60 | |
4fbb2459 | 61 | EType fType; // cut type |
62 | Bool_t fUseMC; // use or not MC values (when applicable) | |
eb079724 | 63 | Double_t fMass; // mass hypothesis (used for Y and Mt) |
5eb970a4 | 64 | |
4fbb2459 | 65 | ClassDef(AliRsnCutStd, 1) |
5eb970a4 | 66 | }; |
67 | ||
c680166d | 68 | #endif |